diff --git a/.babelrc b/.babelrc index 88beabc3..42e6e01e 100644 --- a/.babelrc +++ b/.babelrc @@ -1,8 +1,15 @@ { - "presets": ["es2015"], + "presets": [ + [ + "@babel/env", + { + "useBuiltIns": "usage" + } + ] + ], "plugins": [ - "transform-runtime", - "transform-object-rest-spread", - "transform-async-to-generator" + "@babel/transform-runtime", + "@babel/syntax-object-rest-spread", + "@babel/transform-async-to-generator" ] } diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 00000000..737d9924 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1 @@ +node 0 \ No newline at end of file diff --git a/.eslintrc b/.eslintrc index 7aa78280..5d3cf527 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,15 +1,16 @@ { "parser": "babel-eslint", - "extends": [ "airbnb-base" ], - "rules": { - "max-len": ["error", { - "code": 120, - "ignoreUrls": true - }], + "max-len": [ + "error", + { + "code": 150, + "ignoreUrls": true + } + ], "no-restricted-syntax": "off", "no-console": "off" } diff --git a/.jsbeautifyrc.defaults.json b/.jsbeautifyrc.defaults.json index 0b233f99..aa190d83 100644 --- a/.jsbeautifyrc.defaults.json +++ b/.jsbeautifyrc.defaults.json @@ -9,7 +9,7 @@ "all": { - // These rules apply to all HTML, CSS, JS and JSON files to be prettified + // These rules apply to any supported code that is going to be be prettified, // and have the lowest level of precedence (meaning any of the settings in // the 'html', 'css', 'js', 'json' and 'custom' categories override these). @@ -45,8 +45,9 @@ "html": { - // Rules added here apply only to HTML files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to HTML-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -65,8 +66,9 @@ "css": { - // Rules added here apply only to CSS files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to CSS-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -82,8 +84,9 @@ "js": { - // Rules added here apply only to JS files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to JS-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -97,7 +100,7 @@ "comma_first": false, // Pass E4X xml literals through untouched - "e4x": false, + "e4x": true, // If true, then jslint-stricter mode is enforced "jslint_happy": false, @@ -129,8 +132,9 @@ "json": { - // Rules added here apply only to JSON files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to JSON-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -146,12 +150,15 @@ "custom": { - // Rules added here apply only to some files matching specific glob strings. + // Rules added here apply only to files matching specific glob strings, + // but respecting any whitelists or blacklists as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over any of the settings in the categories above. + // For the following entries, keys are globs and values are objects which - // can contain any kind of .jsbeautifyrc setting. They take precedence over - // all of the above settings. + // can contain any kind of .jsbeautifyrc setting. - "package?(-lock).json": + "@(package?(-lock)|yarn-lock).json": { "indent_size": 2, "brace_style": "collapse" @@ -163,4 +170,4 @@ "brace_style": "expand" } } -} \ No newline at end of file +} diff --git a/HTMLPrettify.sublime-settings b/HTMLPrettify.sublime-settings index 524c44a5..8869a009 100644 --- a/HTMLPrettify.sublime-settings +++ b/HTMLPrettify.sublime-settings @@ -31,35 +31,35 @@ "save_to_temp_file_before_prettifying": true, // Settings determining which files are allowed to be prettified. - // All the keys below need to be included in your user settings for them to work. + // !!! All the keys below need to be included in your user settings for them to work. !!! "global_file_rules": { - // Be sure to include the `html` key in your user settings to be able - // to prettify html files. + // Be sure to include all of the `html`, `css`, `js` and `json` keys in your user settings + // if you want to be able to prettify the default files as well. "html": { - "allowed_file_extensions": ["htm", "html", "xhtml", "shtml", "xml", "svg"], - "allowed_file_syntaxes": ["html", "xml"], + "allowed_file_extensions": ["htm", "html", "xhtml", "shtml", "xml", "svg", "vue"], + "allowed_file_syntaxes": ["html", "xml", "vue"], "disallowed_file_patterns": [] }, - // Be sure to include the `css` key in your user settings to be able - // to prettify css files. + // Be sure to include all of the `html`, `css`, `js` and `json` keys in your user settings + // if you want to be able to prettify the default files as well. "css": { "allowed_file_extensions": ["css", "scss", "sass", "less"], "allowed_file_syntaxes": ["css", "sass", "less"], "disallowed_file_patterns": [] }, - // Be sure to include the `js` key in your user settings to be able - // to prettify js files. + // Be sure to include all of the `html`, `css`, `js` and `json` keys in your user settings + // if you want to be able to prettify the default files as well. "js": { - "allowed_file_extensions": ["js"], - "allowed_file_syntaxes": ["javascript", "ecma"], + "allowed_file_extensions": ["js", "jsx"], + "allowed_file_syntaxes": ["javascript", "ecma", "react", "babel"], "disallowed_file_patterns": [] }, - // Be sure to include the `json` key in your user settings to be able - // to prettify json files. + // Be sure to include all of the `html`, `css`, `js` and `json` keys in your user settings + // if you want to be able to prettify the default files as well. "json": { "allowed_file_extensions": [ diff --git a/README.md b/README.md index 4a30fe8d..1073d683 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# HTML, CSS, JavaScript and JSON code formatter for Sublime Text 2 and 3 via node.js +# HTML, CSS, JavaScript, JSON, React and Vue code formatter for Sublime Text 2 and 3 via node.js #### [Sublime Text 3](http://www.sublimetext.com/3) #### [JS-beautify](https://github.com/einars/js-beautify) #### [Node.js download](http://nodejs.org/#download) ## About -This is a Sublime Text 2 and 3 plugin allowing you to format your HTML, CSS, JavaScript and JSON code. It uses a set of nice beautifier scripts made by Einar Lielmanis. The formatters are written in JavaScript, so you'll need something (node.js) to interpret JavaScript code outside the browser. +This is a Sublime Text 2 and 3 plugin allowing you to format your HTML, CSS, JavaScript, JSON, React and Vue code. It uses a set of nice beautifier scripts made by Einar Lielmanis. The formatters are written in JavaScript, so you'll need something (node.js) to interpret JavaScript code outside the browser. -This will work with either HTML, CSS, JavaScript and JSON files. +This will work with either HTML, CSS, JavaScript, JSON, React and Vue files. ## Installation First of all, be sure you have [node.js](http://nodejs.org/#download) installed in order to run the beautifier. After you've installed node.js, you will need to setup this plugin. @@ -47,7 +47,7 @@ Right click in the current buffer and select `HTML/CSS/JS Prettify` -> `Prettify -- or -- -Open a HTML, CSS or JavaScript file, pop out the console in Sublime Text from View -> Show Console, and type `view.run_command("htmlprettify")`. +Open a HTML, CSS, JavaScript, JSON, React or Vue file, pop out the console in Sublime Text from View -> Show Console, and type `view.run_command("htmlprettify")`. Writing commands in the console is ugly. Set up your own key combo for this, by going to Preferences -> Key Bindings - User, and adding a command in that array: `{ "keys": ["super+shift+h"], "command": "htmlprettify" }`. You can use any other command you want, thought most of them are already taken. @@ -66,6 +66,12 @@ On Windows, the absolute path to node.exe *must* use forward slashes. Must inclu ### Be very careful on Linux! Depending on your distribution and default package sources, `apt-get install node` (for example) *will not* install node.js, contrary to all human common sense and popular belief. You want `nodejs` instead. Best thing is to make it yourself from http://nodejs.org/#download. +## Beautify Vue +To properly beautify Vue files, make sure the file syntax is recongnized by Sublime as either HTML, XML or Vue. + +## Beautify JSX +To properly beautify JSX files, make sure the file syntax is recongnized by Sublime as JavaScript and that `e4x` is `true` in your `.jsbeautifyrc`. + ## Beautify on Save To beautify your code when saving the document, set the `format_on_save` setting to `true` in `HTMLPrettify.sublime-settings`: @@ -196,7 +202,7 @@ When one is found, it stops searching, and it uses those options along with the "all": { - // These rules apply to all HTML, CSS, JS and JSON files to be prettified + // These rules apply to any supported code that is going to be be prettified, // and have the lowest level of precedence (meaning any of the settings in // the 'html', 'css', 'js', 'json' and 'custom' categories override these). @@ -232,8 +238,9 @@ When one is found, it stops searching, and it uses those options along with the "html": { - // Rules added here apply only to HTML files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to HTML-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -252,8 +259,9 @@ When one is found, it stops searching, and it uses those options along with the "css": { - // Rules added here apply only to CSS files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to CSS-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -269,8 +277,9 @@ When one is found, it stops searching, and it uses those options along with the "js": { - // Rules added here apply only to JS files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to JS-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -316,8 +325,9 @@ When one is found, it stops searching, and it uses those options along with the "json": { - // Rules added here apply only to JSON files. They take precedence over all - // of the settings in the 'all' category above. + // Rules added here apply only to JSON-like files, as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over all of the settings in the 'all' category above. // You can add other .jsbeautifyrc rules in this section too. @@ -333,10 +343,13 @@ When one is found, it stops searching, and it uses those options along with the "custom": { - // Rules added here apply only to some files matching specific glob strings. + // Rules added here apply only to files matching specific glob strings, + // but respecting any whitelists or blacklists as determined by the + // rules specified for `global_file_rules` in the plugin settings. They + // take precedence over any of the settings in the categories above. + // For the following entries, keys are globs and values are objects which - // can contain any kind of .jsbeautifyrc setting. They take precedence over - // all of the above settings. + // can contain any kind of .jsbeautifyrc setting. "package?(-lock).json": { diff --git a/build/js-transpiled/main.js b/build/js-transpiled/main.js index 82d5dc6b..b8e17021 100644 --- a/build/js-transpiled/main.js +++ b/build/js-transpiled/main.js @@ -1,106 +1,125 @@ -'use strict'; +"use strict"; -var _regenerator = require('babel-runtime/regenerator'); +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); -var _regenerator2 = _interopRequireDefault(_regenerator); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); -var _stringify = require('babel-runtime/core-js/json/stringify'); +var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); -var _stringify2 = _interopRequireDefault(_stringify); +require("regenerator-runtime/runtime"); -var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); +var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); -var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +var _fsExtra = _interopRequireDefault(require("fs-extra")); -var main = function () { - var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { - var pathsToLook, baseConfig, extendedConfig, extendedConfig2, finalConfig, bufferContents; - return _regenerator2.default.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - stdio.beginDiagnostics(); - - // Dump some diagnostics messages, parsed out by the plugin. - stdio.info('Using editor text temp file: ' + constants.USING_EDITOR_TEXT_TEMP_FILE); +var beautify = _interopRequireWildcard(require("js-beautify")); - stdio.info('Global file rules: ' + constants.GLOBAL_FILE_RULES_JSON); - stdio.info('Respecting .editorconfig files: ' + constants.RESPECT_EDITORCONFIG_FILES); +var constants = _interopRequireWildcard(require("./utils/constants")); - stdio.info('Editor file syntax: ' + constants.EDITOR_FILE_SYNTAX); - stdio.info('Editor indent size: ' + constants.EDITOR_INDENT_SIZE); - stdio.info('Editor indent with tabs: ' + constants.EDITOR_INDENT_WITH_TABS); +var stdio = _interopRequireWildcard(require("./utils/stdioUtils")); - stdio.info('Editor text file path: ' + constants.EDITOR_TEXT_TEMP_FILE_PATH); - stdio.info('Editor text file contents: ' + constants.EDITOR_TEXT_TEMP_FILE_CONTENTS); +var cutils = _interopRequireWildcard(require("./utils/configUtils")); - stdio.info('Original file path: ' + constants.ORIGINAL_FILE_PATH); - stdio.info('Config extra lookup paths: ' + constants.CONFIG_EXTRA_LOOKUP_PATHS); +var putils = _interopRequireWildcard(require("./utils/pathUtils")); - pathsToLook = putils.getPotentialConfigDirs(); +var futils = _interopRequireWildcard(require("./utils/fileUtils")); +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +process.on('uncaughtException', function (err) { + stdio.err('Uncaught exception', err); +}); +process.on('unhandledRejection', function (err) { + stdio.err('Unhandled promise rejection', err); +}); - stdio.info('Computed extra lookup paths for .jsbeautifyrc: ' + (0, _stringify2.default)(pathsToLook)); +function main() { + return _main.apply(this, arguments); +} - _context.next = 15; +function _main() { + _main = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee() { + var pathsToLook, baseConfig, extendedConfig, extendedConfig2, finalConfig, bufferContents; + return _regenerator.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + stdio.beginDiagnostics(); // Dump some diagnostics messages, parsed out by the plugin. + + stdio.info("Using process versions: ".concat(JSON.stringify(process.versions))); + stdio.info("Using editor text temp file: ".concat(constants.USING_EDITOR_TEXT_TEMP_FILE)); + stdio.info("Global file rules: ".concat(constants.GLOBAL_FILE_RULES_JSON)); + stdio.info("Respecting .editorconfig files: ".concat(constants.RESPECT_EDITORCONFIG_FILES)); + stdio.info("Editor file syntax: ".concat(constants.EDITOR_FILE_SYNTAX)); + stdio.info("Editor indent size: ".concat(constants.EDITOR_INDENT_SIZE)); + stdio.info("Editor indent with tabs: ".concat(constants.EDITOR_INDENT_WITH_TABS)); + stdio.info("Editor text file path: ".concat(constants.EDITOR_TEXT_TEMP_FILE_PATH)); + stdio.info("Editor text file contents: ".concat(constants.EDITOR_TEXT_TEMP_FILE_CONTENTS)); + stdio.info("Original file path: ".concat(constants.ORIGINAL_FILE_PATH)); + stdio.info("Config extra lookup paths: ".concat(constants.CONFIG_EXTRA_LOOKUP_PATHS)); + pathsToLook = putils.getPotentialConfigDirs(); + stdio.info("Computed extra lookup paths for .jsbeautifyrc: ".concat(JSON.stringify(pathsToLook))); + _context.next = 16; return cutils.parseDefaultJsbeautifyConfig(); - case 15: + case 16: baseConfig = _context.sent; - _context.next = 18; + _context.next = 19; return cutils.extendJsbeautifyConfigFromFolders(pathsToLook, baseConfig); - case 18: + case 19: extendedConfig = _context.sent; - _context.next = 21; + _context.next = 22; return cutils.extendJsbeautifyConfigFromEditorConfigInFolders(pathsToLook, extendedConfig); - case 21: + case 22: extendedConfig2 = _context.sent; finalConfig = cutils.finalizeJsbeautifyConfig(extendedConfig2); - - - stdio.info('Computed prettify options: ' + (0, _stringify2.default)(finalConfig)); + stdio.info("Computed prettify options: ".concat(JSON.stringify(finalConfig))); if (!(constants.USING_EDITOR_TEXT_TEMP_FILE === 'True')) { - _context.next = 30; + _context.next = 31; break; } - _context.next = 27; - return _fsExtra2.default.readFile(constants.EDITOR_TEXT_TEMP_FILE_PATH, { encoding: 'utf8' }); + _context.next = 28; + return _fsExtra.default.readFile(constants.EDITOR_TEXT_TEMP_FILE_PATH, { + encoding: 'utf8' + }); - case 27: + case 28: _context.t0 = _context.sent; - _context.next = 31; + _context.next = 32; break; - case 30: + case 31: _context.t0 = constants.EDITOR_TEXT_TEMP_FILE_CONTENTS; - case 31: + case 32: bufferContents = _context.t0; - - if ((0, _fileUtils.isCSS)()) { + if (futils.isCSS()) { stdio.info('Attempting to prettify what seems to be a CSS file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); stdio.out(beautify.css(bufferContents, finalConfig.css)); stdio.endPrettifiedCode(); - } else if ((0, _fileUtils.isHTML)(bufferContents)) { + } else if (futils.isHTML(bufferContents)) { stdio.info('Attempting to prettify what seems to be a HTML file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); stdio.out(beautify.html(bufferContents, finalConfig.html)); stdio.endPrettifiedCode(); - } else if ((0, _fileUtils.isJSON)(bufferContents)) { + } else if (futils.isJSON(bufferContents)) { stdio.info('Attempting to prettify what seems to be a JSON file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); stdio.out(beautify.js(bufferContents, finalConfig.json)); stdio.endPrettifiedCode(); - } else if ((0, _fileUtils.isJS)(bufferContents)) { + } else if (futils.isJS(bufferContents)) { stdio.info('Attempting to prettify what seems to be a JS file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); @@ -114,58 +133,15 @@ var main = function () { stdio.endPrettifiedCode(); } - case 33: - case 'end': + case 34: + case "end": return _context.stop(); } } }, _callee, this); })); - - return function main() { - return _ref.apply(this, arguments); - }; -}(); - -var _fsExtra = require('fs-extra'); - -var _fsExtra2 = _interopRequireDefault(_fsExtra); - -var _jsBeautify = require('js-beautify'); - -var beautify = _interopRequireWildcard(_jsBeautify); - -var _constants = require('./utils/constants'); - -var constants = _interopRequireWildcard(_constants); - -var _stdioUtils = require('./utils/stdioUtils'); - -var stdio = _interopRequireWildcard(_stdioUtils); - -var _configUtils = require('./utils/configUtils'); - -var cutils = _interopRequireWildcard(_configUtils); - -var _pathUtils = require('./utils/pathUtils'); - -var putils = _interopRequireWildcard(_pathUtils); - -var _fileUtils = require('./utils/fileUtils'); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -process.on('uncaughtException', function (err) { - stdio.err('Uncaught exception', err); -}); /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -process.on('unhandledRejection', function (err) { - stdio.err('Unhandled promise rejection', err); -}); + return _main.apply(this, arguments); +} main(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiXSwibmFtZXMiOlsic3RkaW8iLCJiZWdpbkRpYWdub3N0aWNzIiwiaW5mbyIsImNvbnN0YW50cyIsIlVTSU5HX0VESVRPUl9URVhUX1RFTVBfRklMRSIsIkdMT0JBTF9GSUxFX1JVTEVTX0pTT04iLCJSRVNQRUNUX0VESVRPUkNPTkZJR19GSUxFUyIsIkVESVRPUl9GSUxFX1NZTlRBWCIsIkVESVRPUl9JTkRFTlRfU0laRSIsIkVESVRPUl9JTkRFTlRfV0lUSF9UQUJTIiwiRURJVE9SX1RFWFRfVEVNUF9GSUxFX1BBVEgiLCJFRElUT1JfVEVYVF9URU1QX0ZJTEVfQ09OVEVOVFMiLCJPUklHSU5BTF9GSUxFX1BBVEgiLCJDT05GSUdfRVhUUkFfTE9PS1VQX1BBVEhTIiwicGF0aHNUb0xvb2siLCJwdXRpbHMiLCJnZXRQb3RlbnRpYWxDb25maWdEaXJzIiwiY3V0aWxzIiwicGFyc2VEZWZhdWx0SnNiZWF1dGlmeUNvbmZpZyIsImJhc2VDb25maWciLCJleHRlbmRKc2JlYXV0aWZ5Q29uZmlnRnJvbUZvbGRlcnMiLCJleHRlbmRlZENvbmZpZyIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnSW5Gb2xkZXJzIiwiZXh0ZW5kZWRDb25maWcyIiwiZmluYWxDb25maWciLCJmaW5hbGl6ZUpzYmVhdXRpZnlDb25maWciLCJyZWFkRmlsZSIsImVuY29kaW5nIiwiYnVmZmVyQ29udGVudHMiLCJlbmREaWFnbm9zdGljcyIsImJlZ2luUHJldHRpZmllZENvZGUiLCJvdXQiLCJiZWF1dGlmeSIsImNzcyIsImVuZFByZXR0aWZpZWRDb2RlIiwiaHRtbCIsImpzIiwianNvbiIsIm1haW4iLCJwcm9jZXNzIiwib24iLCJlcnIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozt3RUFxQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0VBLGtCQUFNQyxnQkFBTjs7QUFFQTtBQUNBRCxrQkFBTUUsSUFBTixtQ0FBMkNDLFVBQVVD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a0MsaUJBQU47QUFDRCxhQU5NLE1BTUE7QUFDTGxDLG9CQUFNRSxJQUFOLENBQVcsdUJBQVg7QUFDQUYsb0JBQU02QixjQUFOO0FBQ0E3QixvQkFBTThCLG1CQUFOO0FBQ0E5QixvQkFBTStCLEdBQU4sQ0FBVUgsY0FBVjtBQUNBNUIsb0JBQU1rQyxpQkFBTjtBQUNEOztBQWhFSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOztrQkFBZUksSTs7Ozs7QUFqQmY7Ozs7QUFDQTs7SUFBWU4sUTs7QUFFWjs7SUFBWTdCLFM7O0FBQ1o7O0lBQVlILEs7O0FBQ1o7O0lBQVlpQixNOztBQUNaOztJQUFZRixNOztBQUNaOzs7Ozs7QUFFQXdCLFFBQVFDLEVBQVIsQ0FBVyxtQkFBWCxFQUFnQyxVQUFDQyxHQUFELEVBQVM7QUFDdkN6QyxRQUFNeUMsR0FBTixDQUFVLG9CQUFWLEVBQWdDQSxHQUFoQztBQUNELENBRkQsRSxDQWJBOzs7O0FBaUJBRixRQUFRQyxFQUFSLENBQVcsb0JBQVgsRUFBaUMsVUFBQ0MsR0FBRCxFQUFTO0FBQ3hDekMsUUFBTXlDLEdBQU4sQ0FBVSw2QkFBVixFQUF5Q0EsR0FBekM7QUFDRCxDQUZEOztBQXVFQUgiLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAqIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uICovXG5cbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBiZWF1dGlmeSBmcm9tICdqcy1iZWF1dGlmeSc7XG5cbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuL3V0aWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBzdGRpbyBmcm9tICcuL3V0aWxzL3N0ZGlvVXRpbHMnO1xuaW1wb3J0ICogYXMgY3V0aWxzIGZyb20gJy4vdXRpbHMvY29uZmlnVXRpbHMnO1xuaW1wb3J0ICogYXMgcHV0aWxzIGZyb20gJy4vdXRpbHMvcGF0aFV0aWxzJztcbmltcG9ydCB7IGlzQ1NTLCBpc0hUTUwsIGlzSlNPTiwgaXNKUyB9IGZyb20gJy4vdXRpbHMvZmlsZVV0aWxzJztcblxucHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7XG4gIHN0ZGlvLmVycignVW5jYXVnaHQgZXhjZXB0aW9uJywgZXJyKTtcbn0pO1xuXG5wcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCAoZXJyKSA9PiB7XG4gIHN0ZGlvLmVycignVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uJywgZXJyKTtcbn0pO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBzdGRpby5iZWdpbkRpYWdub3N0aWNzKCk7XG5cbiAgLy8gRHVtcCBzb21lIGRpYWdub3N0aWNzIG1lc3NhZ2VzLCBwYXJzZWQgb3V0IGJ5IHRoZSBwbHVnaW4uXG4gIHN0ZGlvLmluZm8oYFVzaW5nIGVkaXRvciB0ZXh0IHRlbXAgZmlsZTogJHtjb25zdGFudHMuVVNJTkdfRURJVE9SX1RFWFRfVEVNUF9GSUxFfWApO1xuXG4gIHN0ZGlvLmluZm8oYEdsb2JhbCBmaWxlIHJ1bGVzOiAke2NvbnN0YW50cy5HTE9CQUxfRklMRV9SVUxFU19KU09OfWApO1xuICBzdGRpby5pbmZvKGBSZXNwZWN0aW5nIC5lZGl0b3Jjb25maWcgZmlsZXM6ICR7Y29uc3RhbnRzLlJFU1BFQ1RfRURJVE9SQ09ORklHX0ZJTEVTfWApO1xuXG4gIHN0ZGlvLmluZm8oYEVkaXRvciBmaWxlIHN5bnRheDogJHtjb25zdGFudHMuRURJVE9SX0ZJTEVfU1lOVEFYfWApO1xuICBzdGRpby5pbmZvKGBFZGl0b3IgaW5kZW50IHNpemU6ICR7Y29uc3RhbnRzLkVESVRPUl9JTkRFTlRfU0laRX1gKTtcbiAgc3RkaW8uaW5mbyhgRWRpdG9yIGluZGVudCB3aXRoIHRhYnM6ICR7Y29uc3RhbnRzLkVESVRPUl9JTkRFTlRfV0lUSF9UQUJTfWApO1xuXG4gIHN0ZGlvLmluZm8oYEVkaXRvciB0ZXh0IGZpbGUgcGF0aDogJHtjb25zdGFudHMuRURJVE9SX1RFWFRfVEVNUF9GSUxFX1BBVEh9YCk7XG4gIHN0ZGlvLmluZm8oYEVkaXRvciB0ZXh0IGZpbGUgY29udGVudHM6ICR7Y29uc3RhbnRzLkVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UU31gKTtcblxuICBzdGRpby5pbmZvKGBPcmlnaW5hbCBmaWxlIHBhdGg6ICR7Y29uc3RhbnRzLk9SSUdJTkFMX0ZJTEVfUEFUSH1gKTtcbiAgc3RkaW8uaW5mbyhgQ29uZmlnIGV4dHJhIGxvb2t1cCBwYXRoczogJHtjb25zdGFudHMuQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIU31gKTtcblxuICBjb25zdCBwYXRoc1RvTG9vayA9IHB1dGlscy5nZXRQb3RlbnRpYWxDb25maWdEaXJzKCk7XG5cbiAgc3RkaW8uaW5mbyhgQ29tcHV0ZWQgZXh0cmEgbG9va3VwIHBhdGhzIGZvciAuanNiZWF1dGlmeXJjOiAke0pTT04uc3RyaW5naWZ5KHBhdGhzVG9Mb29rKX1gKTtcblxuICBjb25zdCBiYXNlQ29uZmlnID0gYXdhaXQgY3V0aWxzLnBhcnNlRGVmYXVsdEpzYmVhdXRpZnlDb25maWcoKTtcbiAgY29uc3QgZXh0ZW5kZWRDb25maWcgPSBhd2FpdCBjdXRpbHMuZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21Gb2xkZXJzKHBhdGhzVG9Mb29rLCBiYXNlQ29uZmlnKTtcbiAgY29uc3QgZXh0ZW5kZWRDb25maWcyID0gYXdhaXQgY3V0aWxzLmV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnSW5Gb2xkZXJzKHBhdGhzVG9Mb29rLCBleHRlbmRlZENvbmZpZyk7XG4gIGNvbnN0IGZpbmFsQ29uZmlnID0gY3V0aWxzLmZpbmFsaXplSnNiZWF1dGlmeUNvbmZpZyhleHRlbmRlZENvbmZpZzIpO1xuXG4gIHN0ZGlvLmluZm8oYENvbXB1dGVkIHByZXR0aWZ5IG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkoZmluYWxDb25maWcpfWApO1xuXG4gIGNvbnN0IGJ1ZmZlckNvbnRlbnRzID0gY29uc3RhbnRzLlVTSU5HX0VESVRPUl9URVhUX1RFTVBfRklMRSA9PT0gJ1RydWUnXG4gICAgPyBhd2FpdCBmcy5yZWFkRmlsZShjb25zdGFudHMuRURJVE9SX1RFWFRfVEVNUF9GSUxFX1BBVEgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KVxuICAgIDogY29uc3RhbnRzLkVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UUztcblxuICBpZiAoaXNDU1MoKSkge1xuICAgIHN0ZGlvLmluZm8oJ0F0dGVtcHRpbmcgdG8gcHJldHRpZnkgd2hhdCBzZWVtcyB0byBiZSBhIENTUyBmaWxlLicpO1xuICAgIHN0ZGlvLmVuZERpYWdub3N0aWNzKCk7XG4gICAgc3RkaW8uYmVnaW5QcmV0dGlmaWVkQ29kZSgpO1xuICAgIHN0ZGlvLm91dChiZWF1dGlmeS5jc3MoYnVmZmVyQ29udGVudHMsIGZpbmFsQ29uZmlnLmNzcykpO1xuICAgIHN0ZGlvLmVuZFByZXR0aWZpZWRDb2RlKCk7XG4gIH0gZWxzZSBpZiAoaXNIVE1MKGJ1ZmZlckNvbnRlbnRzKSkge1xuICAgIHN0ZGlvLmluZm8oJ0F0dGVtcHRpbmcgdG8gcHJldHRpZnkgd2hhdCBzZWVtcyB0byBiZSBhIEhUTUwgZmlsZS4nKTtcbiAgICBzdGRpby5lbmREaWFnbm9zdGljcygpO1xuICAgIHN0ZGlvLmJlZ2luUHJldHRpZmllZENvZGUoKTtcbiAgICBzdGRpby5vdXQoYmVhdXRpZnkuaHRtbChidWZmZXJDb250ZW50cywgZmluYWxDb25maWcuaHRtbCkpO1xuICAgIHN0ZGlvLmVuZFByZXR0aWZpZWRDb2RlKCk7XG4gIH0gZWxzZSBpZiAoaXNKU09OKGJ1ZmZlckNvbnRlbnRzKSkge1xuICAgIHN0ZGlvLmluZm8oJ0F0dGVtcHRpbmcgdG8gcHJldHRpZnkgd2hhdCBzZWVtcyB0byBiZSBhIEpTT04gZmlsZS4nKTtcbiAgICBzdGRpby5lbmREaWFnbm9zdGljcygpO1xuICAgIHN0ZGlvLmJlZ2luUHJldHRpZmllZENvZGUoKTtcbiAgICBzdGRpby5vdXQoYmVhdXRpZnkuanMoYnVmZmVyQ29udGVudHMsIGZpbmFsQ29uZmlnLmpzb24pKTtcbiAgICBzdGRpby5lbmRQcmV0dGlmaWVkQ29kZSgpO1xuICB9IGVsc2UgaWYgKGlzSlMoYnVmZmVyQ29udGVudHMpKSB7XG4gICAgc3RkaW8uaW5mbygnQXR0ZW1wdGluZyB0byBwcmV0dGlmeSB3aGF0IHNlZW1zIHRvIGJlIGEgSlMgZmlsZS4nKTtcbiAgICBzdGRpby5lbmREaWFnbm9zdGljcygpO1xuICAgIHN0ZGlvLmJlZ2luUHJldHRpZmllZENvZGUoKTtcbiAgICBzdGRpby5vdXQoYmVhdXRpZnkuanMoYnVmZmVyQ29udGVudHMsIGZpbmFsQ29uZmlnLmpzKSk7XG4gICAgc3RkaW8uZW5kUHJldHRpZmllZENvZGUoKTtcbiAgfSBlbHNlIHtcbiAgICBzdGRpby5pbmZvKCdVbnN1cHBvcnRlZCBmaWxlIHR5cGUnKTtcbiAgICBzdGRpby5lbmREaWFnbm9zdGljcygpO1xuICAgIHN0ZGlvLmJlZ2luUHJldHRpZmllZENvZGUoKTtcbiAgICBzdGRpby5vdXQoYnVmZmVyQ29udGVudHMpO1xuICAgIHN0ZGlvLmVuZFByZXR0aWZpZWRDb2RlKCk7XG4gIH1cbn1cblxubWFpbigpO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiXSwibmFtZXMiOlsicHJvY2VzcyIsIm9uIiwiZXJyIiwic3RkaW8iLCJtYWluIiwiYmVnaW5EaWFnbm9zdGljcyIsImluZm8iLCJKU09OIiwic3RyaW5naWZ5IiwidmVyc2lvbnMiLCJjb25zdGFudHMiLCJVU0lOR19FRElUT1JfVEVYVF9URU1QX0ZJTEUiLCJHTE9CQUxfRklMRV9SVUxFU19KU09OIiwiUkVTUEVDVF9FRElUT1JDT05GSUdfRklMRVMiLCJFRElUT1JfRklMRV9TWU5UQVgiLCJFRElUT1JfSU5ERU5UX1NJWkUiLCJFRElUT1JfSU5ERU5UX1dJVEhfVEFCUyIsIkVESVRPUl9URVhUX1RFTVBfRklMRV9QQVRIIiwiRURJVE9SX1RFWFRfVEVNUF9GSUxFX0NPTlRFTlRTIiwiT1JJR0lOQUxfRklMRV9QQVRIIiwiQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIUyIsInBhdGhzVG9Mb29rIiwicHV0aWxzIiwiZ2V0UG90ZW50aWFsQ29uZmlnRGlycyIsImN1dGlscyIsInBhcnNlRGVmYXVsdEpzYmVhdXRpZnlDb25maWciLCJiYXNlQ29uZmlnIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21Gb2xkZXJzIiwiZXh0ZW5kZWRDb25maWciLCJleHRlbmRKc2JlYXV0aWZ5Q29uZmlnRnJvbUVkaXRvckNvbmZpZ0luRm9sZGVycyIsImV4dGVuZGVkQ29uZmlnMiIsImZpbmFsQ29uZmlnIiwiZmluYWxpemVKc2JlYXV0aWZ5Q29uZmlnIiwiZnMiLCJyZWFkRmlsZSIsImVuY29kaW5nIiwiYnVmZmVyQ29udGVudHMiLCJmdXRpbHMiLCJpc0NTUyIsImVuZERpYWdub3N0aWNzIiwiYmVnaW5QcmV0dGlmaWVkQ29kZSIsIm91dCIsImJlYXV0aWZ5IiwiY3NzIiwiZW5kUHJldHRpZmllZENvZGUiLCJpc0hUTUwiLCJodG1sIiwiaXNKU09OIiwianMiLCJqc29uIiwiaXNKUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUE7O0FBQ0E7O0FB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Y0FBTjtBQUNBcEMsY0FBQUEsS0FBSyxDQUFDcUMsbUJBQU47QUFDQXJDLGNBQUFBLEtBQUssQ0FBQ3NDLEdBQU4sQ0FBVUMsUUFBUSxDQUFDTSxFQUFULENBQVlaLGNBQVosRUFBNEJMLFdBQVcsQ0FBQ2lCLEVBQXhDLENBQVY7QUFDQTdDLGNBQUFBLEtBQUssQ0FBQ3lDLGlCQUFOO0FBQ0QsYUFOTSxNQU1BO0FBQ0x6QyxjQUFBQSxLQUFLLENBQUNHLElBQU4sQ0FBVyx1QkFBWDtBQUNBSCxjQUFBQSxLQUFLLENBQUNvQyxjQUFOO0FBQ0FwQyxjQUFBQSxLQUFLLENBQUNxQyxtQkFBTjtBQUNBckMsY0FBQUEsS0FBSyxDQUFDc0MsR0FBTixDQUFVTCxjQUFWO0FBQ0FqQyxjQUFBQSxLQUFLLENBQUN5QyxpQkFBTjtBQUNEOztBQWxFSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBcUVBeEMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAqIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uICovXG5cbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBiZWF1dGlmeSBmcm9tICdqcy1iZWF1dGlmeSc7XG5cbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuL3V0aWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBzdGRpbyBmcm9tICcuL3V0aWxzL3N0ZGlvVXRpbHMnO1xuaW1wb3J0ICogYXMgY3V0aWxzIGZyb20gJy4vdXRpbHMvY29uZmlnVXRpbHMnO1xuaW1wb3J0ICogYXMgcHV0aWxzIGZyb20gJy4vdXRpbHMvcGF0aFV0aWxzJztcbmltcG9ydCAqIGFzIGZ1dGlscyBmcm9tICcuL3V0aWxzL2ZpbGVVdGlscyc7XG5cbnByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uJywgKGVycikgPT4ge1xuICBzdGRpby5lcnIoJ1VuY2F1Z2h0IGV4Y2VwdGlvbicsIGVycik7XG59KTtcblxucHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4ge1xuICBzdGRpby5lcnIoJ1VuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbicsIGVycik7XG59KTtcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgc3RkaW8uYmVnaW5EaWFnbm9zdGljcygpO1xuXG4gIC8vIER1bXAgc29tZSBkaWFnbm9zdGljcyBtZXNzYWdlcywgcGFyc2VkIG91dCBieSB0aGUgcGx1Z2luLlxuICBzdGRpby5pbmZvKGBVc2luZyBwcm9jZXNzIHZlcnNpb25zOiAke0pTT04uc3RyaW5naWZ5KHByb2Nlc3MudmVyc2lvbnMpfWApO1xuXG4gIHN0ZGlvLmluZm8oYFVzaW5nIGVkaXRvciB0ZXh0IHRlbXAgZmlsZTogJHtjb25zdGFudHMuVVNJTkdfRURJVE9SX1RFWFRfVEVNUF9GSUxFfWApO1xuXG4gIHN0ZGlvLmluZm8oYEdsb2JhbCBmaWxlIHJ1bGVzOiAke2NvbnN0YW50cy5HTE9CQUxfRklMRV9SVUxFU19KU09OfWApO1xuICBzdGRpby5pbmZvKGBSZXNwZWN0aW5nIC5lZGl0b3Jjb25maWcgZmlsZXM6ICR7Y29uc3RhbnRzLlJFU1BFQ1RfRURJVE9SQ09ORklHX0ZJTEVTfWApO1xuXG4gIHN0ZGlvLmluZm8oYEVkaXRvciBmaWxlIHN5bnRheDogJHtjb25zdGFudHMuRURJVE9SX0ZJTEVfU1lOVEFYfWApO1xuICBzdGRpby5pbmZvKGBFZGl0b3IgaW5kZW50IHNpemU6ICR7Y29uc3RhbnRzLkVESVRPUl9JTkRFTlRfU0laRX1gKTtcbiAgc3RkaW8uaW5mbyhgRWRpdG9yIGluZGVudCB3aXRoIHRhYnM6ICR7Y29uc3RhbnRzLkVESVRPUl9JTkRFTlRfV0lUSF9UQUJTfWApO1xuXG4gIHN0ZGlvLmluZm8oYEVkaXRvciB0ZXh0IGZpbGUgcGF0aDogJHtjb25zdGFudHMuRURJVE9SX1RFWFRfVEVNUF9GSUxFX1BBVEh9YCk7XG4gIHN0ZGlvLmluZm8oYEVkaXRvciB0ZXh0IGZpbGUgY29udGVudHM6ICR7Y29uc3RhbnRzLkVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UU31gKTtcblxuICBzdGRpby5pbmZvKGBPcmlnaW5hbCBmaWxlIHBhdGg6ICR7Y29uc3RhbnRzLk9SSUdJTkFMX0ZJTEVfUEFUSH1gKTtcbiAgc3RkaW8uaW5mbyhgQ29uZmlnIGV4dHJhIGxvb2t1cCBwYXRoczogJHtjb25zdGFudHMuQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIU31gKTtcblxuICBjb25zdCBwYXRoc1RvTG9vayA9IHB1dGlscy5nZXRQb3RlbnRpYWxDb25maWdEaXJzKCk7XG5cbiAgc3RkaW8uaW5mbyhgQ29tcHV0ZWQgZXh0cmEgbG9va3VwIHBhdGhzIGZvciAuanNiZWF1dGlmeXJjOiAke0pTT04uc3RyaW5naWZ5KHBhdGhzVG9Mb29rKX1gKTtcblxuICBjb25zdCBiYXNlQ29uZmlnID0gYXdhaXQgY3V0aWxzLnBhcnNlRGVmYXVsdEpzYmVhdXRpZnlDb25maWcoKTtcbiAgY29uc3QgZXh0ZW5kZWRDb25maWcgPSBhd2FpdCBjdXRpbHMuZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21Gb2xkZXJzKHBhdGhzVG9Mb29rLCBiYXNlQ29uZmlnKTtcbiAgY29uc3QgZXh0ZW5kZWRDb25maWcyID0gYXdhaXQgY3V0aWxzLmV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnSW5Gb2xkZXJzKHBhdGhzVG9Mb29rLCBleHRlbmRlZENvbmZpZyk7XG4gIGNvbnN0IGZpbmFsQ29uZmlnID0gY3V0aWxzLmZpbmFsaXplSnNiZWF1dGlmeUNvbmZpZyhleHRlbmRlZENvbmZpZzIpO1xuXG4gIHN0ZGlvLmluZm8oYENvbXB1dGVkIHByZXR0aWZ5IG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkoZmluYWxDb25maWcpfWApO1xuXG4gIGNvbnN0IGJ1ZmZlckNvbnRlbnRzID0gY29uc3RhbnRzLlVTSU5HX0VESVRPUl9URVhUX1RFTVBfRklMRSA9PT0gJ1RydWUnXG4gICAgPyBhd2FpdCBmcy5yZWFkRmlsZShjb25zdGFudHMuRURJVE9SX1RFWFRfVEVNUF9GSUxFX1BBVEgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KVxuICAgIDogY29uc3RhbnRzLkVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UUztcblxuICBpZiAoZnV0aWxzLmlzQ1NTKCkpIHtcbiAgICBzdGRpby5pbmZvKCdBdHRlbXB0aW5nIHRvIHByZXR0aWZ5IHdoYXQgc2VlbXMgdG8gYmUgYSBDU1MgZmlsZS4nKTtcbiAgICBzdGRpby5lbmREaWFnbm9zdGljcygpO1xuICAgIHN0ZGlvLmJlZ2luUHJldHRpZmllZENvZGUoKTtcbiAgICBzdGRpby5vdXQoYmVhdXRpZnkuY3NzKGJ1ZmZlckNvbnRlbnRzLCBmaW5hbENvbmZpZy5jc3MpKTtcbiAgICBzdGRpby5lbmRQcmV0dGlmaWVkQ29kZSgpO1xuICB9IGVsc2UgaWYgKGZ1dGlscy5pc0hUTUwoYnVmZmVyQ29udGVudHMpKSB7XG4gICAgc3RkaW8uaW5mbygnQXR0ZW1wdGluZyB0byBwcmV0dGlmeSB3aGF0IHNlZW1zIHRvIGJlIGEgSFRNTCBmaWxlLicpO1xuICAgIHN0ZGlvLmVuZERpYWdub3N0aWNzKCk7XG4gICAgc3RkaW8uYmVnaW5QcmV0dGlmaWVkQ29kZSgpO1xuICAgIHN0ZGlvLm91dChiZWF1dGlmeS5odG1sKGJ1ZmZlckNvbnRlbnRzLCBmaW5hbENvbmZpZy5odG1sKSk7XG4gICAgc3RkaW8uZW5kUHJldHRpZmllZENvZGUoKTtcbiAgfSBlbHNlIGlmIChmdXRpbHMuaXNKU09OKGJ1ZmZlckNvbnRlbnRzKSkge1xuICAgIHN0ZGlvLmluZm8oJ0F0dGVtcHRpbmcgdG8gcHJldHRpZnkgd2hhdCBzZWVtcyB0byBiZSBhIEpTT04gZmlsZS4nKTtcbiAgICBzdGRpby5lbmREaWFnbm9zdGljcygpO1xuICAgIHN0ZGlvLmJlZ2luUHJldHRpZmllZENvZGUoKTtcbiAgICBzdGRpby5vdXQoYmVhdXRpZnkuanMoYnVmZmVyQ29udGVudHMsIGZpbmFsQ29uZmlnLmpzb24pKTtcbiAgICBzdGRpby5lbmRQcmV0dGlmaWVkQ29kZSgpO1xuICB9IGVsc2UgaWYgKGZ1dGlscy5pc0pTKGJ1ZmZlckNvbnRlbnRzKSkge1xuICAgIHN0ZGlvLmluZm8oJ0F0dGVtcHRpbmcgdG8gcHJldHRpZnkgd2hhdCBzZWVtcyB0byBiZSBhIEpTIGZpbGUuJyk7XG4gICAgc3RkaW8uZW5kRGlhZ25vc3RpY3MoKTtcbiAgICBzdGRpby5iZWdpblByZXR0aWZpZWRDb2RlKCk7XG4gICAgc3RkaW8ub3V0KGJlYXV0aWZ5LmpzKGJ1ZmZlckNvbnRlbnRzLCBmaW5hbENvbmZpZy5qcykpO1xuICAgIHN0ZGlvLmVuZFByZXR0aWZpZWRDb2RlKCk7XG4gIH0gZWxzZSB7XG4gICAgc3RkaW8uaW5mbygnVW5zdXBwb3J0ZWQgZmlsZSB0eXBlJyk7XG4gICAgc3RkaW8uZW5kRGlhZ25vc3RpY3MoKTtcbiAgICBzdGRpby5iZWdpblByZXR0aWZpZWRDb2RlKCk7XG4gICAgc3RkaW8ub3V0KGJ1ZmZlckNvbnRlbnRzKTtcbiAgICBzdGRpby5lbmRQcmV0dGlmaWVkQ29kZSgpO1xuICB9XG59XG5cbm1haW4oKTtcbiJdLCJmaWxlIjoibWFpbi5qcyJ9 diff --git a/build/js-transpiled/node_modules/.bin/semver b/build/js-transpiled/node_modules/.bin/semver new file mode 120000 index 00000000..317eb293 --- /dev/null +++ b/build/js-transpiled/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/LICENSE b/build/js-transpiled/node_modules/@babel/runtime/LICENSE new file mode 100644 index 00000000..a06ec0e7 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-2018 Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build/js-transpiled/node_modules/@babel/runtime/README.md b/build/js-transpiled/node_modules/@babel/runtime/README.md new file mode 100644 index 00000000..75087e35 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/README.md @@ -0,0 +1,19 @@ +# @babel/runtime + +> babel's modular runtime helpers + +See our website [@babel/runtime](https://babeljs.io/docs/en/next/babel-runtime.html) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/runtime +``` + +or using yarn: + +```sh +yarn add @babel/runtime --dev +``` diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/AsyncGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/AsyncGenerator.js new file mode 100644 index 00000000..4962efcd --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/AsyncGenerator.js @@ -0,0 +1,100 @@ +var AwaitValue = require("./AwaitValue"); + +function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new Promise(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg); + var value = result.value; + var wrappedAwait = value instanceof AwaitValue; + Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { + if (wrappedAwait) { + resume("next", arg); + return; + } + + settle(result.done ? "return" : "normal", arg); + }, function (err) { + resume("throw", err); + }); + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ + value: value, + done: true + }); + break; + + case "throw": + front.reject(value); + break; + + default: + front.resolve({ + value: value, + done: false + }); + break; + } + + front = front.next; + + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + if (typeof gen.return !== "function") { + this.return = undefined; + } +} + +if (typeof Symbol === "function" && Symbol.asyncIterator) { + AsyncGenerator.prototype[Symbol.asyncIterator] = function () { + return this; + }; +} + +AsyncGenerator.prototype.next = function (arg) { + return this._invoke("next", arg); +}; + +AsyncGenerator.prototype.throw = function (arg) { + return this._invoke("throw", arg); +}; + +AsyncGenerator.prototype.return = function (arg) { + return this._invoke("return", arg); +}; + +module.exports = AsyncGenerator; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/AwaitValue.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/AwaitValue.js new file mode 100644 index 00000000..f9f41841 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/AwaitValue.js @@ -0,0 +1,5 @@ +function _AwaitValue(value) { + this.wrapped = value; +} + +module.exports = _AwaitValue; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js new file mode 100644 index 00000000..6f5cb091 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js @@ -0,0 +1,30 @@ +function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { + var desc = {}; + Object['ke' + 'ys'](descriptor).forEach(function (key) { + desc[key] = descriptor[key]; + }); + desc.enumerable = !!desc.enumerable; + desc.configurable = !!desc.configurable; + + if ('value' in desc || desc.initializer) { + desc.writable = true; + } + + desc = decorators.slice().reverse().reduce(function (desc, decorator) { + return decorator(target, property, desc) || desc; + }, desc); + + if (context && desc.initializer !== void 0) { + desc.value = desc.initializer ? desc.initializer.call(context) : void 0; + desc.initializer = undefined; + } + + if (desc.initializer === void 0) { + Object['define' + 'Property'](target, property, desc); + desc = null; + } + + return desc; +} + +module.exports = _applyDecoratedDescriptor; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/arrayWithHoles.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/arrayWithHoles.js new file mode 100644 index 00000000..5a62a8ce --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/arrayWithHoles.js @@ -0,0 +1,5 @@ +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +module.exports = _arrayWithHoles; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js new file mode 100644 index 00000000..3234017e --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js @@ -0,0 +1,11 @@ +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } +} + +module.exports = _arrayWithoutHoles; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/assertThisInitialized.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/assertThisInitialized.js new file mode 100644 index 00000000..98d29498 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/assertThisInitialized.js @@ -0,0 +1,9 @@ +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +module.exports = _assertThisInitialized; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js similarity index 52% rename from build/js-transpiled/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js rename to build/js-transpiled/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js index 5fcc123e..3211e9da 100644 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js @@ -1,28 +1,10 @@ -"use strict"; - -exports.__esModule = true; - -var _iterator = require("../core-js/symbol/iterator"); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _symbol = require("../core-js/symbol"); - -var _symbol2 = _interopRequireDefault(_symbol); - -var _promise = require("../core-js/promise"); - -var _promise2 = _interopRequireDefault(_promise); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (inner, awaitWrap) { +function _asyncGeneratorDelegate(inner, awaitWrap) { var iter = {}, waiting = false; function pump(key, value) { waiting = true; - value = new _promise2.default(function (resolve) { + value = new Promise(function (resolve) { resolve(inner[key](value)); }); return { @@ -33,8 +15,8 @@ exports.default = function (inner, awaitWrap) { ; - if (typeof _symbol2.default === "function" && _iterator2.default) { - iter[_iterator2.default] = function () { + if (typeof Symbol === "function" && Symbol.iterator) { + iter[Symbol.iterator] = function () { return this; }; } @@ -66,4 +48,6 @@ exports.default = function (inner, awaitWrap) { } return iter; -}; \ No newline at end of file +} + +module.exports = _asyncGeneratorDelegate; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncIterator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncIterator.js new file mode 100644 index 00000000..c1a1b313 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncIterator.js @@ -0,0 +1,19 @@ +function _asyncIterator(iterable) { + var method; + + if (typeof Symbol === "function") { + if (Symbol.asyncIterator) { + method = iterable[Symbol.asyncIterator]; + if (method != null) return method.call(iterable); + } + + if (Symbol.iterator) { + method = iterable[Symbol.iterator]; + if (method != null) return method.call(iterable); + } + } + + throw new TypeError("Object is not async iterable"); +} + +module.exports = _asyncIterator; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncToGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncToGenerator.js new file mode 100644 index 00000000..f5db93df --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/asyncToGenerator.js @@ -0,0 +1,37 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} + +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} + +module.exports = _asyncToGenerator; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js new file mode 100644 index 00000000..59f797af --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js @@ -0,0 +1,7 @@ +var AwaitValue = require("./AwaitValue"); + +function _awaitAsyncGenerator(value) { + return new AwaitValue(value); +} + +module.exports = _awaitAsyncGenerator; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/classCallCheck.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classCallCheck.js similarity index 53% rename from build/js-transpiled/node_modules/babel-runtime/helpers/classCallCheck.js rename to build/js-transpiled/node_modules/@babel/runtime/helpers/classCallCheck.js index 63d6d8f3..f389f2e8 100644 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/classCallCheck.js +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classCallCheck.js @@ -1,9 +1,7 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (instance, Constructor) { +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } -}; \ No newline at end of file +} + +module.exports = _classCallCheck; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classNameTDZError.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classNameTDZError.js new file mode 100644 index 00000000..8c1bdf55 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classNameTDZError.js @@ -0,0 +1,5 @@ +function _classNameTDZError(name) { + throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys."); +} + +module.exports = _classNameTDZError; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js new file mode 100644 index 00000000..17beaa51 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js @@ -0,0 +1,9 @@ +function _classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + + return privateMap.get(receiver).value; +} + +module.exports = _classPrivateFieldGet; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js new file mode 100644 index 00000000..64ed79df --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js @@ -0,0 +1,9 @@ +function _classPrivateFieldBase(receiver, privateKey) { + if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { + throw new TypeError("attempted to use private field on non-instance"); + } + + return receiver; +} + +module.exports = _classPrivateFieldBase; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js new file mode 100644 index 00000000..a1a6417a --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js @@ -0,0 +1,7 @@ +var id = 0; + +function _classPrivateFieldKey(name) { + return "__private_" + id++ + "_" + name; +} + +module.exports = _classPrivateFieldKey; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js new file mode 100644 index 00000000..f80fb9bf --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js @@ -0,0 +1,16 @@ +function _classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + + var descriptor = privateMap.get(receiver); + + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + return value; +} + +module.exports = _classPrivateFieldSet; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js new file mode 100644 index 00000000..cb751096 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js @@ -0,0 +1,9 @@ +function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + return descriptor.value; +} + +module.exports = _classStaticPrivateFieldSpecGet; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js new file mode 100644 index 00000000..d758fcfa --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js @@ -0,0 +1,14 @@ +function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + return value; +} + +module.exports = _classStaticPrivateFieldSpecSet; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/construct.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/construct.js new file mode 100644 index 00000000..723a7eaa --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/construct.js @@ -0,0 +1,33 @@ +var setPrototypeOf = require("./setPrototypeOf"); + +function isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +function _construct(Parent, args, Class) { + if (isNativeReflectConstruct()) { + module.exports = _construct = Reflect.construct; + } else { + module.exports = _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); +} + +module.exports = _construct; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/createClass.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/createClass.js new file mode 100644 index 00000000..f9d48410 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/createClass.js @@ -0,0 +1,17 @@ +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); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +module.exports = _createClass; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/decorate.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/decorate.js new file mode 100644 index 00000000..d80fd341 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/decorate.js @@ -0,0 +1,422 @@ +var _typeof = require("../helpers/typeof"); + +var toArray = require("./toArray"); + +function _decorate(decorators, factory, superClass) { + var r = factory(function initialize(O) { + _initializeInstanceElements(O, decorated.elements); + }, superClass); + + var decorated = _decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators); + + _initializeClassElements(r.F, decorated.elements); + + return _runClassFinishers(r.F, decorated.finishers); +} + +function _createElementDescriptor(def) { + var descriptor; + + if (def.kind === "method") { + descriptor = { + value: def.value, + writable: true, + configurable: true, + enumerable: false + }; + } else if (def.kind === "get") { + descriptor = { + get: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "set") { + descriptor = { + set: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "field") { + descriptor = { + configurable: true, + writable: true, + enumerable: true + }; + } + + var element = { + kind: def.kind === "field" ? "field" : "method", + key: def.key, + placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype", + descriptor: descriptor + }; + if (def.decorators) element.decorators = def.decorators; + if (def.kind === "field") element.initializer = def.value; + return element; +} + +function _coalesceGetterSetter(element, other) { + if (element.descriptor.get !== undefined) { + other.descriptor.get = element.descriptor.get; + } else { + other.descriptor.set = element.descriptor.set; + } +} + +function _coalesceClassElements(elements) { + var newElements = []; + + var isSameElement = function isSameElement(other) { + return other.kind === "method" && other.key === element.key && other.placement === element.placement; + }; + + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + var other; + + if (element.kind === "method" && (other = newElements.find(isSameElement))) { + if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) { + if (_hasDecorators(element) || _hasDecorators(other)) { + throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated."); + } + + other.descriptor = element.descriptor; + } else { + if (_hasDecorators(element)) { + if (_hasDecorators(other)) { + throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ")."); + } + + other.decorators = element.decorators; + } + + _coalesceGetterSetter(element, other); + } + } else { + newElements.push(element); + } + } + + return newElements; +} + +function _hasDecorators(element) { + return element.decorators && element.decorators.length; +} + +function _isDataDescriptor(desc) { + return desc !== undefined && !(desc.value === undefined && desc.writable === undefined); +} + +function _initializeClassElements(F, elements) { + var proto = F.prototype; + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + var placement = element.placement; + + if (element.kind === kind && (placement === "static" || placement === "prototype")) { + var receiver = placement === "static" ? F : proto; + + _defineClassElement(receiver, element); + } + }); + }); +} + +function _initializeInstanceElements(O, elements) { + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + if (element.kind === kind && element.placement === "own") { + _defineClassElement(O, element); + } + }); + }); +} + +function _defineClassElement(receiver, element) { + var descriptor = element.descriptor; + + if (element.kind === "field") { + var initializer = element.initializer; + descriptor = { + enumerable: descriptor.enumerable, + writable: descriptor.writable, + configurable: descriptor.configurable, + value: initializer === void 0 ? void 0 : initializer.call(receiver) + }; + } + + Object.defineProperty(receiver, element.key, descriptor); +} + +function _decorateClass(elements, decorators) { + var newElements = []; + var finishers = []; + var placements = { + static: [], + prototype: [], + own: [] + }; + elements.forEach(function (element) { + _addElementPlacement(element, placements); + }); + elements.forEach(function (element) { + if (!_hasDecorators(element)) return newElements.push(element); + + var elementFinishersExtras = _decorateElement(element, placements); + + newElements.push(elementFinishersExtras.element); + newElements.push.apply(newElements, elementFinishersExtras.extras); + finishers.push.apply(finishers, elementFinishersExtras.finishers); + }); + + if (!decorators) { + return { + elements: newElements, + finishers: finishers + }; + } + + var result = _decorateConstructor(newElements, decorators); + + finishers.push.apply(finishers, result.finishers); + result.finishers = finishers; + return result; +} + +function _addElementPlacement(element, placements, silent) { + var keys = placements[element.placement]; + + if (!silent && keys.indexOf(element.key) !== -1) { + throw new TypeError("Duplicated element (" + element.key + ")"); + } + + keys.push(element.key); +} + +function _decorateElement(element, placements) { + var extras = []; + var finishers = []; + + for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) { + var keys = placements[element.placement]; + keys.splice(keys.indexOf(element.key), 1); + + var elementObject = _fromElementDescriptor(element); + + var elementFinisherExtras = _toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject); + + element = elementFinisherExtras.element; + + _addElementPlacement(element, placements); + + if (elementFinisherExtras.finisher) { + finishers.push(elementFinisherExtras.finisher); + } + + var newExtras = elementFinisherExtras.extras; + + if (newExtras) { + for (var j = 0; j < newExtras.length; j++) { + _addElementPlacement(newExtras[j], placements); + } + + extras.push.apply(extras, newExtras); + } + } + + return { + element: element, + finishers: finishers, + extras: extras + }; +} + +function _decorateConstructor(elements, decorators) { + var finishers = []; + + for (var i = decorators.length - 1; i >= 0; i--) { + var obj = _fromClassDescriptor(elements); + + var elementsAndFinisher = _toClassDescriptor((0, decorators[i])(obj) || obj); + + if (elementsAndFinisher.finisher !== undefined) { + finishers.push(elementsAndFinisher.finisher); + } + + if (elementsAndFinisher.elements !== undefined) { + elements = elementsAndFinisher.elements; + + for (var j = 0; j < elements.length - 1; j++) { + for (var k = j + 1; k < elements.length; k++) { + if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) { + throw new TypeError("Duplicated element (" + elements[j].key + ")"); + } + } + } + } + } + + return { + elements: elements, + finishers: finishers + }; +} + +function _fromElementDescriptor(element) { + var obj = { + kind: element.kind, + key: element.key, + placement: element.placement, + descriptor: element.descriptor + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + if (element.kind === "field") obj.initializer = element.initializer; + return obj; +} + +function _toElementDescriptors(elementObjects) { + if (elementObjects === undefined) return; + return toArray(elementObjects).map(function (elementObject) { + var element = _toElementDescriptor(elementObject); + + _disallowProperty(elementObject, "finisher", "An element descriptor"); + + _disallowProperty(elementObject, "extras", "An element descriptor"); + + return element; + }); +} + +function _toElementDescriptor(elementObject) { + var kind = String(elementObject.kind); + + if (kind !== "method" && kind !== "field") { + throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"'); + } + + var key = elementObject.key; + if (typeof key !== "string" && _typeof(key) !== "symbol") key = String(key); + var placement = String(elementObject.placement); + + if (placement !== "static" && placement !== "prototype" && placement !== "own") { + throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"'); + } + + var descriptor = elementObject.descriptor; + + _disallowProperty(elementObject, "elements", "An element descriptor"); + + var element = { + kind: kind, + key: key, + placement: placement, + descriptor: Object.assign({}, descriptor) + }; + + if (kind !== "field") { + _disallowProperty(elementObject, "initializer", "A method descriptor"); + } else { + _disallowProperty(descriptor, "get", "The property descriptor of a field descriptor"); + + _disallowProperty(descriptor, "set", "The property descriptor of a field descriptor"); + + _disallowProperty(descriptor, "value", "The property descriptor of a field descriptor"); + + element.initializer = elementObject.initializer; + } + + return element; +} + +function _toElementFinisherExtras(elementObject) { + var element = _toElementDescriptor(elementObject); + + var finisher = _optionalCallableProperty(elementObject, "finisher"); + + var extras = _toElementDescriptors(elementObject.extras); + + return { + element: element, + finisher: finisher, + extras: extras + }; +} + +function _fromClassDescriptor(elements) { + var obj = { + kind: "class", + elements: elements.map(_fromElementDescriptor) + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + return obj; +} + +function _toClassDescriptor(obj) { + var kind = String(obj.kind); + + if (kind !== "class") { + throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"'); + } + + _disallowProperty(obj, "key", "A class descriptor"); + + _disallowProperty(obj, "placement", "A class descriptor"); + + _disallowProperty(obj, "descriptor", "A class descriptor"); + + _disallowProperty(obj, "initializer", "A class descriptor"); + + _disallowProperty(obj, "extras", "A class descriptor"); + + var finisher = _optionalCallableProperty(obj, "finisher"); + + var elements = _toElementDescriptors(obj.elements); + + return { + elements: elements, + finisher: finisher + }; +} + +function _disallowProperty(obj, name, objectType) { + if (obj[name] !== undefined) { + throw new TypeError(objectType + " can't have a ." + name + " property."); + } +} + +function _optionalCallableProperty(obj, name) { + var value = obj[name]; + + if (value !== undefined && typeof value !== "function") { + throw new TypeError("Expected '" + name + "' to be a function"); + } + + return value; +} + +function _runClassFinishers(constructor, finishers) { + for (var i = 0; i < finishers.length; i++) { + var newConstructor = (0, finishers[i])(constructor); + + if (newConstructor !== undefined) { + if (typeof newConstructor !== "function") { + throw new TypeError("Finishers must return a constructor."); + } + + constructor = newConstructor; + } + } + + return constructor; +} + +module.exports = _decorate; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/defaults.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/defaults.js new file mode 100644 index 00000000..55ba1feb --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/defaults.js @@ -0,0 +1,16 @@ +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + + return obj; +} + +module.exports = _defaults; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js new file mode 100644 index 00000000..5d80ea1e --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js @@ -0,0 +1,24 @@ +function _defineEnumerableProperties(obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, key, desc); + } + + if (Object.getOwnPropertySymbols) { + var objectSymbols = Object.getOwnPropertySymbols(descs); + + for (var i = 0; i < objectSymbols.length; i++) { + var sym = objectSymbols[i]; + var desc = descs[sym]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, sym, desc); + } + } + + return obj; +} + +module.exports = _defineEnumerableProperties; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/defineProperty.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/defineProperty.js new file mode 100644 index 00000000..32a8d73f --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/defineProperty.js @@ -0,0 +1,16 @@ +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +module.exports = _defineProperty; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js new file mode 100644 index 00000000..9b774680 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js @@ -0,0 +1,97 @@ +import AwaitValue from "./AwaitValue"; +export default function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new Promise(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg); + var value = result.value; + var wrappedAwait = value instanceof AwaitValue; + Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { + if (wrappedAwait) { + resume("next", arg); + return; + } + + settle(result.done ? "return" : "normal", arg); + }, function (err) { + resume("throw", err); + }); + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ + value: value, + done: true + }); + break; + + case "throw": + front.reject(value); + break; + + default: + front.resolve({ + value: value, + done: false + }); + break; + } + + front = front.next; + + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + if (typeof gen.return !== "function") { + this.return = undefined; + } +} + +if (typeof Symbol === "function" && Symbol.asyncIterator) { + AsyncGenerator.prototype[Symbol.asyncIterator] = function () { + return this; + }; +} + +AsyncGenerator.prototype.next = function (arg) { + return this._invoke("next", arg); +}; + +AsyncGenerator.prototype.throw = function (arg) { + return this._invoke("throw", arg); +}; + +AsyncGenerator.prototype.return = function (arg) { + return this._invoke("return", arg); +}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/AwaitValue.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/AwaitValue.js new file mode 100644 index 00000000..5237e18f --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/AwaitValue.js @@ -0,0 +1,3 @@ +export default function _AwaitValue(value) { + this.wrapped = value; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js new file mode 100644 index 00000000..74923717 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js @@ -0,0 +1,28 @@ +export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { + var desc = {}; + Object['ke' + 'ys'](descriptor).forEach(function (key) { + desc[key] = descriptor[key]; + }); + desc.enumerable = !!desc.enumerable; + desc.configurable = !!desc.configurable; + + if ('value' in desc || desc.initializer) { + desc.writable = true; + } + + desc = decorators.slice().reverse().reduce(function (desc, decorator) { + return decorator(target, property, desc) || desc; + }, desc); + + if (context && desc.initializer !== void 0) { + desc.value = desc.initializer ? desc.initializer.call(context) : void 0; + desc.initializer = undefined; + } + + if (desc.initializer === void 0) { + Object['define' + 'Property'](target, property, desc); + desc = null; + } + + return desc; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js new file mode 100644 index 00000000..be734fc3 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js @@ -0,0 +1,3 @@ +export default function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js new file mode 100644 index 00000000..cbcffa15 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js @@ -0,0 +1,9 @@ +export default function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js new file mode 100644 index 00000000..bbf849ca --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js @@ -0,0 +1,7 @@ +export default function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js new file mode 100644 index 00000000..8cde993b --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js @@ -0,0 +1,51 @@ +export default function _asyncGeneratorDelegate(inner, awaitWrap) { + var iter = {}, + waiting = false; + + function pump(key, value) { + waiting = true; + value = new Promise(function (resolve) { + resolve(inner[key](value)); + }); + return { + done: false, + value: awaitWrap(value) + }; + } + + ; + + if (typeof Symbol === "function" && Symbol.iterator) { + iter[Symbol.iterator] = function () { + return this; + }; + } + + iter.next = function (value) { + if (waiting) { + waiting = false; + return value; + } + + return pump("next", value); + }; + + if (typeof inner.throw === "function") { + iter.throw = function (value) { + if (waiting) { + waiting = false; + throw value; + } + + return pump("throw", value); + }; + } + + if (typeof inner.return === "function") { + iter.return = function (value) { + return pump("return", value); + }; + } + + return iter; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncIterator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncIterator.js new file mode 100644 index 00000000..c43366eb --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncIterator.js @@ -0,0 +1,17 @@ +export default function _asyncIterator(iterable) { + var method; + + if (typeof Symbol === "function") { + if (Symbol.asyncIterator) { + method = iterable[Symbol.asyncIterator]; + if (method != null) return method.call(iterable); + } + + if (Symbol.iterator) { + method = iterable[Symbol.iterator]; + if (method != null) return method.call(iterable); + } + } + + throw new TypeError("Object is not async iterable"); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js new file mode 100644 index 00000000..2a25f543 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js @@ -0,0 +1,35 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} + +export default function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js new file mode 100644 index 00000000..462f99cd --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js @@ -0,0 +1,4 @@ +import AwaitValue from "./AwaitValue"; +export default function _awaitAsyncGenerator(value) { + return new AwaitValue(value); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classCallCheck.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classCallCheck.js new file mode 100644 index 00000000..2f1738a3 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classCallCheck.js @@ -0,0 +1,5 @@ +export default function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js new file mode 100644 index 00000000..f7b6dd57 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js @@ -0,0 +1,3 @@ +export default function _classNameTDZError(name) { + throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys."); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js new file mode 100644 index 00000000..54405a34 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js @@ -0,0 +1,7 @@ +export default function _classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + + return privateMap.get(receiver).value; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js new file mode 100644 index 00000000..5b10916f --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js @@ -0,0 +1,7 @@ +export default function _classPrivateFieldBase(receiver, privateKey) { + if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { + throw new TypeError("attempted to use private field on non-instance"); + } + + return receiver; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js new file mode 100644 index 00000000..5b7e5ac0 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js @@ -0,0 +1,4 @@ +var id = 0; +export default function _classPrivateFieldKey(name) { + return "__private_" + id++ + "_" + name; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js new file mode 100644 index 00000000..2937dc5e --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js @@ -0,0 +1,14 @@ +export default function _classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + + var descriptor = privateMap.get(receiver); + + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + return value; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js new file mode 100644 index 00000000..29ae49bb --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js @@ -0,0 +1,7 @@ +export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + return descriptor.value; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js new file mode 100644 index 00000000..15013f5f --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js @@ -0,0 +1,12 @@ +export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + return value; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/construct.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/construct.js new file mode 100644 index 00000000..82f20fae --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/construct.js @@ -0,0 +1,31 @@ +import setPrototypeOf from "./setPrototypeOf"; + +function isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +export default function _construct(Parent, args, Class) { + if (isNativeReflectConstruct()) { + _construct = Reflect.construct; + } else { + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/createClass.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/createClass.js new file mode 100644 index 00000000..d6cf4122 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/createClass.js @@ -0,0 +1,15 @@ +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); + } +} + +export default function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/decorate.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/decorate.js new file mode 100644 index 00000000..02ab12ce --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/decorate.js @@ -0,0 +1,418 @@ +import _typeof from "../../helpers/esm/typeof"; +import toArray from "./toArray"; +export default function _decorate(decorators, factory, superClass) { + var r = factory(function initialize(O) { + _initializeInstanceElements(O, decorated.elements); + }, superClass); + + var decorated = _decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators); + + _initializeClassElements(r.F, decorated.elements); + + return _runClassFinishers(r.F, decorated.finishers); +} + +function _createElementDescriptor(def) { + var descriptor; + + if (def.kind === "method") { + descriptor = { + value: def.value, + writable: true, + configurable: true, + enumerable: false + }; + } else if (def.kind === "get") { + descriptor = { + get: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "set") { + descriptor = { + set: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "field") { + descriptor = { + configurable: true, + writable: true, + enumerable: true + }; + } + + var element = { + kind: def.kind === "field" ? "field" : "method", + key: def.key, + placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype", + descriptor: descriptor + }; + if (def.decorators) element.decorators = def.decorators; + if (def.kind === "field") element.initializer = def.value; + return element; +} + +function _coalesceGetterSetter(element, other) { + if (element.descriptor.get !== undefined) { + other.descriptor.get = element.descriptor.get; + } else { + other.descriptor.set = element.descriptor.set; + } +} + +function _coalesceClassElements(elements) { + var newElements = []; + + var isSameElement = function isSameElement(other) { + return other.kind === "method" && other.key === element.key && other.placement === element.placement; + }; + + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + var other; + + if (element.kind === "method" && (other = newElements.find(isSameElement))) { + if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) { + if (_hasDecorators(element) || _hasDecorators(other)) { + throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated."); + } + + other.descriptor = element.descriptor; + } else { + if (_hasDecorators(element)) { + if (_hasDecorators(other)) { + throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ")."); + } + + other.decorators = element.decorators; + } + + _coalesceGetterSetter(element, other); + } + } else { + newElements.push(element); + } + } + + return newElements; +} + +function _hasDecorators(element) { + return element.decorators && element.decorators.length; +} + +function _isDataDescriptor(desc) { + return desc !== undefined && !(desc.value === undefined && desc.writable === undefined); +} + +function _initializeClassElements(F, elements) { + var proto = F.prototype; + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + var placement = element.placement; + + if (element.kind === kind && (placement === "static" || placement === "prototype")) { + var receiver = placement === "static" ? F : proto; + + _defineClassElement(receiver, element); + } + }); + }); +} + +function _initializeInstanceElements(O, elements) { + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + if (element.kind === kind && element.placement === "own") { + _defineClassElement(O, element); + } + }); + }); +} + +function _defineClassElement(receiver, element) { + var descriptor = element.descriptor; + + if (element.kind === "field") { + var initializer = element.initializer; + descriptor = { + enumerable: descriptor.enumerable, + writable: descriptor.writable, + configurable: descriptor.configurable, + value: initializer === void 0 ? void 0 : initializer.call(receiver) + }; + } + + Object.defineProperty(receiver, element.key, descriptor); +} + +function _decorateClass(elements, decorators) { + var newElements = []; + var finishers = []; + var placements = { + static: [], + prototype: [], + own: [] + }; + elements.forEach(function (element) { + _addElementPlacement(element, placements); + }); + elements.forEach(function (element) { + if (!_hasDecorators(element)) return newElements.push(element); + + var elementFinishersExtras = _decorateElement(element, placements); + + newElements.push(elementFinishersExtras.element); + newElements.push.apply(newElements, elementFinishersExtras.extras); + finishers.push.apply(finishers, elementFinishersExtras.finishers); + }); + + if (!decorators) { + return { + elements: newElements, + finishers: finishers + }; + } + + var result = _decorateConstructor(newElements, decorators); + + finishers.push.apply(finishers, result.finishers); + result.finishers = finishers; + return result; +} + +function _addElementPlacement(element, placements, silent) { + var keys = placements[element.placement]; + + if (!silent && keys.indexOf(element.key) !== -1) { + throw new TypeError("Duplicated element (" + element.key + ")"); + } + + keys.push(element.key); +} + +function _decorateElement(element, placements) { + var extras = []; + var finishers = []; + + for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) { + var keys = placements[element.placement]; + keys.splice(keys.indexOf(element.key), 1); + + var elementObject = _fromElementDescriptor(element); + + var elementFinisherExtras = _toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject); + + element = elementFinisherExtras.element; + + _addElementPlacement(element, placements); + + if (elementFinisherExtras.finisher) { + finishers.push(elementFinisherExtras.finisher); + } + + var newExtras = elementFinisherExtras.extras; + + if (newExtras) { + for (var j = 0; j < newExtras.length; j++) { + _addElementPlacement(newExtras[j], placements); + } + + extras.push.apply(extras, newExtras); + } + } + + return { + element: element, + finishers: finishers, + extras: extras + }; +} + +function _decorateConstructor(elements, decorators) { + var finishers = []; + + for (var i = decorators.length - 1; i >= 0; i--) { + var obj = _fromClassDescriptor(elements); + + var elementsAndFinisher = _toClassDescriptor((0, decorators[i])(obj) || obj); + + if (elementsAndFinisher.finisher !== undefined) { + finishers.push(elementsAndFinisher.finisher); + } + + if (elementsAndFinisher.elements !== undefined) { + elements = elementsAndFinisher.elements; + + for (var j = 0; j < elements.length - 1; j++) { + for (var k = j + 1; k < elements.length; k++) { + if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) { + throw new TypeError("Duplicated element (" + elements[j].key + ")"); + } + } + } + } + } + + return { + elements: elements, + finishers: finishers + }; +} + +function _fromElementDescriptor(element) { + var obj = { + kind: element.kind, + key: element.key, + placement: element.placement, + descriptor: element.descriptor + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + if (element.kind === "field") obj.initializer = element.initializer; + return obj; +} + +function _toElementDescriptors(elementObjects) { + if (elementObjects === undefined) return; + return toArray(elementObjects).map(function (elementObject) { + var element = _toElementDescriptor(elementObject); + + _disallowProperty(elementObject, "finisher", "An element descriptor"); + + _disallowProperty(elementObject, "extras", "An element descriptor"); + + return element; + }); +} + +function _toElementDescriptor(elementObject) { + var kind = String(elementObject.kind); + + if (kind !== "method" && kind !== "field") { + throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"'); + } + + var key = elementObject.key; + if (typeof key !== "string" && _typeof(key) !== "symbol") key = String(key); + var placement = String(elementObject.placement); + + if (placement !== "static" && placement !== "prototype" && placement !== "own") { + throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"'); + } + + var descriptor = elementObject.descriptor; + + _disallowProperty(elementObject, "elements", "An element descriptor"); + + var element = { + kind: kind, + key: key, + placement: placement, + descriptor: Object.assign({}, descriptor) + }; + + if (kind !== "field") { + _disallowProperty(elementObject, "initializer", "A method descriptor"); + } else { + _disallowProperty(descriptor, "get", "The property descriptor of a field descriptor"); + + _disallowProperty(descriptor, "set", "The property descriptor of a field descriptor"); + + _disallowProperty(descriptor, "value", "The property descriptor of a field descriptor"); + + element.initializer = elementObject.initializer; + } + + return element; +} + +function _toElementFinisherExtras(elementObject) { + var element = _toElementDescriptor(elementObject); + + var finisher = _optionalCallableProperty(elementObject, "finisher"); + + var extras = _toElementDescriptors(elementObject.extras); + + return { + element: element, + finisher: finisher, + extras: extras + }; +} + +function _fromClassDescriptor(elements) { + var obj = { + kind: "class", + elements: elements.map(_fromElementDescriptor) + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + return obj; +} + +function _toClassDescriptor(obj) { + var kind = String(obj.kind); + + if (kind !== "class") { + throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"'); + } + + _disallowProperty(obj, "key", "A class descriptor"); + + _disallowProperty(obj, "placement", "A class descriptor"); + + _disallowProperty(obj, "descriptor", "A class descriptor"); + + _disallowProperty(obj, "initializer", "A class descriptor"); + + _disallowProperty(obj, "extras", "A class descriptor"); + + var finisher = _optionalCallableProperty(obj, "finisher"); + + var elements = _toElementDescriptors(obj.elements); + + return { + elements: elements, + finisher: finisher + }; +} + +function _disallowProperty(obj, name, objectType) { + if (obj[name] !== undefined) { + throw new TypeError(objectType + " can't have a ." + name + " property."); + } +} + +function _optionalCallableProperty(obj, name) { + var value = obj[name]; + + if (value !== undefined && typeof value !== "function") { + throw new TypeError("Expected '" + name + "' to be a function"); + } + + return value; +} + +function _runClassFinishers(constructor, finishers) { + for (var i = 0; i < finishers.length; i++) { + var newConstructor = (0, finishers[i])(constructor); + + if (newConstructor !== undefined) { + if (typeof newConstructor !== "function") { + throw new TypeError("Finishers must return a constructor."); + } + + constructor = newConstructor; + } + } + + return constructor; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defaults.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defaults.js new file mode 100644 index 00000000..3de1d8ec --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defaults.js @@ -0,0 +1,14 @@ +export default function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + + return obj; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js new file mode 100644 index 00000000..7981acd4 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js @@ -0,0 +1,22 @@ +export default function _defineEnumerableProperties(obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, key, desc); + } + + if (Object.getOwnPropertySymbols) { + var objectSymbols = Object.getOwnPropertySymbols(descs); + + for (var i = 0; i < objectSymbols.length; i++) { + var sym = objectSymbols[i]; + var desc = descs[sym]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, sym, desc); + } + } + + return obj; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defineProperty.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defineProperty.js new file mode 100644 index 00000000..7cf6e59f --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/defineProperty.js @@ -0,0 +1,14 @@ +export default function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/extends.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/extends.js new file mode 100644 index 00000000..b9b138d8 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/extends.js @@ -0,0 +1,17 @@ +export default function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/get.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/get.js new file mode 100644 index 00000000..c0b7bce6 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/get.js @@ -0,0 +1,21 @@ +import getPrototypeOf from "./getPrototypeOf"; +import superPropBase from "./superPropBase"; +export default function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = superPropBase(target, property); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js new file mode 100644 index 00000000..5abafe38 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js @@ -0,0 +1,6 @@ +export default function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/inherits.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/inherits.js new file mode 100644 index 00000000..035648d0 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/inherits.js @@ -0,0 +1,15 @@ +import setPrototypeOf from "./setPrototypeOf"; +export default function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) setPrototypeOf(subClass, superClass); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js new file mode 100644 index 00000000..32017e66 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js @@ -0,0 +1,5 @@ +export default function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js new file mode 100644 index 00000000..26fdea08 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js @@ -0,0 +1,9 @@ +export default function _initializerDefineProperty(target, property, descriptor, context) { + if (!descriptor) return; + Object.defineProperty(target, property, { + enumerable: descriptor.enumerable, + configurable: descriptor.configurable, + writable: descriptor.writable, + value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 + }); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js new file mode 100644 index 00000000..d40ca01c --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js @@ -0,0 +1,3 @@ +export default function _initializerWarningHelper(descriptor, context) { + throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/instanceof.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/instanceof.js new file mode 100644 index 00000000..51f1e67d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/instanceof.js @@ -0,0 +1,7 @@ +export default function _instanceof(left, right) { + if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { + return right[Symbol.hasInstance](left); + } else { + return left instanceof right; + } +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js new file mode 100644 index 00000000..dd5e7815 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js @@ -0,0 +1,5 @@ +export default function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js new file mode 100644 index 00000000..c5065149 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js @@ -0,0 +1,24 @@ +export default function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; + + if (desc.get || desc.set) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + return newObj; + } +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js new file mode 100644 index 00000000..7b1bc821 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js @@ -0,0 +1,3 @@ +export default function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArray.js new file mode 100644 index 00000000..671e400d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArray.js @@ -0,0 +1,3 @@ +export default function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js new file mode 100644 index 00000000..7234d8e6 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js @@ -0,0 +1,25 @@ +export default function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js new file mode 100644 index 00000000..4261e294 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js @@ -0,0 +1,11 @@ +export default function _iterableToArrayLimitLoose(arr, i) { + var _arr = []; + + for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { + _arr.push(_step.value); + + if (i && _arr.length === i) break; + } + + return _arr; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/jsx.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/jsx.js new file mode 100644 index 00000000..e6f1bcb5 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/jsx.js @@ -0,0 +1,46 @@ +var REACT_ELEMENT_TYPE; +export default function _createRawReactElement(type, props, key, children) { + if (!REACT_ELEMENT_TYPE) { + REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol.for && Symbol.for("react.element") || 0xeac7; + } + + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = { + children: void 0 + }; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = new Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : '' + key, + ref: null, + props: props, + _owner: null + }; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js new file mode 100644 index 00000000..d6cd8643 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js @@ -0,0 +1,5 @@ +export default function _newArrowCheck(innerThis, boundThis) { + if (innerThis !== boundThis) { + throw new TypeError("Cannot instantiate an arrow function"); + } +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js new file mode 100644 index 00000000..f94186da --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js @@ -0,0 +1,3 @@ +export default function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js new file mode 100644 index 00000000..d6bc738a --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js @@ -0,0 +1,3 @@ +export default function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js new file mode 100644 index 00000000..82b67d2c --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js @@ -0,0 +1,3 @@ +export default function _objectDestructuringEmpty(obj) { + if (obj == null) throw new TypeError("Cannot destructure undefined"); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectSpread.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectSpread.js new file mode 100644 index 00000000..918bc8e9 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectSpread.js @@ -0,0 +1,19 @@ +import defineProperty from "./defineProperty"; +export default function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } + + return target; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js new file mode 100644 index 00000000..2af6091d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js @@ -0,0 +1,19 @@ +import objectWithoutPropertiesLoose from "./objectWithoutPropertiesLoose"; +export default function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = objectWithoutPropertiesLoose(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js new file mode 100644 index 00000000..c36815ce --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js @@ -0,0 +1,14 @@ +export default function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js new file mode 100644 index 00000000..be7b7a44 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js @@ -0,0 +1,9 @@ +import _typeof from "../../helpers/esm/typeof"; +import assertThisInitialized from "./assertThisInitialized"; +export default function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + + return assertThisInitialized(self); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/readOnlyError.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/readOnlyError.js new file mode 100644 index 00000000..45d01d72 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/readOnlyError.js @@ -0,0 +1,3 @@ +export default function _readOnlyError(name) { + throw new Error("\"" + name + "\" is read-only"); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/set.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/set.js new file mode 100644 index 00000000..b6a4c340 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/set.js @@ -0,0 +1,52 @@ +import getPrototypeOf from "./getPrototypeOf"; +import superPropBase from "./superPropBase"; +import defineProperty from "./defineProperty"; + +function set(target, property, value, receiver) { + if (typeof Reflect !== "undefined" && Reflect.set) { + set = Reflect.set; + } else { + set = function set(target, property, value, receiver) { + var base = superPropBase(target, property); + var desc; + + if (base) { + desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.set) { + desc.set.call(receiver, value); + return true; + } else if (!desc.writable) { + return false; + } + } + + desc = Object.getOwnPropertyDescriptor(receiver, property); + + if (desc) { + if (!desc.writable) { + return false; + } + + desc.value = value; + Object.defineProperty(receiver, property, desc); + } else { + defineProperty(receiver, property, value); + } + + return true; + }; + } + + return set(target, property, value, receiver); +} + +export default function _set(target, property, value, receiver, isStrict) { + var s = set(target, property, value, receiver || target); + + if (!s && isStrict) { + throw new Error('failed to set property'); + } + + return value; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js new file mode 100644 index 00000000..e6ef03e5 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js @@ -0,0 +1,8 @@ +export default function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js new file mode 100644 index 00000000..cadd9bb5 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js @@ -0,0 +1,7 @@ +export default function _skipFirstGeneratorNext(fn) { + return function () { + var it = fn.apply(this, arguments); + it.next(); + return it; + }; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/slicedToArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/slicedToArray.js new file mode 100644 index 00000000..f6f10816 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/slicedToArray.js @@ -0,0 +1,6 @@ +import arrayWithHoles from "./arrayWithHoles"; +import iterableToArrayLimit from "./iterableToArrayLimit"; +import nonIterableRest from "./nonIterableRest"; +export default function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js new file mode 100644 index 00000000..e6757890 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js @@ -0,0 +1,6 @@ +import arrayWithHoles from "./arrayWithHoles"; +import iterableToArrayLimitLoose from "./iterableToArrayLimitLoose"; +import nonIterableRest from "./nonIterableRest"; +export default function _slicedToArrayLoose(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest(); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/superPropBase.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/superPropBase.js new file mode 100644 index 00000000..eace947c --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/superPropBase.js @@ -0,0 +1,9 @@ +import getPrototypeOf from "./getPrototypeOf"; +export default function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = getPrototypeOf(object); + if (object === null) break; + } + + return object; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js new file mode 100644 index 00000000..421f18ab --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js @@ -0,0 +1,11 @@ +export default function _taggedTemplateLiteral(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + return Object.freeze(Object.defineProperties(strings, { + raw: { + value: Object.freeze(raw) + } + })); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js new file mode 100644 index 00000000..c8f081e9 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js @@ -0,0 +1,8 @@ +export default function _taggedTemplateLiteralLoose(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + strings.raw = raw; + return strings; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/temporalRef.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/temporalRef.js similarity index 58% rename from build/js-transpiled/node_modules/babel-runtime/helpers/temporalRef.js rename to build/js-transpiled/node_modules/@babel/runtime/helpers/esm/temporalRef.js index 49b8b247..4b0679c6 100644 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/temporalRef.js +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/temporalRef.js @@ -1,11 +1,8 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (val, name, undef) { +import undef from "./temporalUndefined"; +export default function _temporalRef(val, name) { if (val === undef) { throw new ReferenceError(name + " is not defined - temporal dead zone"); } else { return val; } -}; \ No newline at end of file +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js new file mode 100644 index 00000000..7c645e42 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js @@ -0,0 +1 @@ +export default {}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toArray.js new file mode 100644 index 00000000..5acb22b3 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toArray.js @@ -0,0 +1,6 @@ +import arrayWithHoles from "./arrayWithHoles"; +import iterableToArray from "./iterableToArray"; +import nonIterableRest from "./nonIterableRest"; +export default function _toArray(arr) { + return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest(); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js new file mode 100644 index 00000000..7e480b9d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js @@ -0,0 +1,6 @@ +import arrayWithoutHoles from "./arrayWithoutHoles"; +import iterableToArray from "./iterableToArray"; +import nonIterableSpread from "./nonIterableSpread"; +export default function _toConsumableArray(arr) { + return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js new file mode 100644 index 00000000..66ce5c36 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js @@ -0,0 +1,8 @@ +import _typeof from "../../helpers/esm/typeof"; +export default function _toPropertyKey(key) { + if (_typeof(key) === "symbol") { + return key; + } else { + return String(key); + } +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/typeof.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/typeof.js new file mode 100644 index 00000000..7825537f --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/typeof.js @@ -0,0 +1,15 @@ +function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } + +export default function _typeof(obj) { + if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { + _typeof = function _typeof(obj) { + return _typeof2(obj); + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); + }; + } + + return _typeof(obj); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js new file mode 100644 index 00000000..6d6d9811 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js @@ -0,0 +1,6 @@ +import AsyncGenerator from "./AsyncGenerator"; +export default function _wrapAsyncGenerator(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js new file mode 100644 index 00000000..5c55d058 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js @@ -0,0 +1,37 @@ +import getPrototypeOf from "./getPrototypeOf"; +import setPrototypeOf from "./setPrototypeOf"; +import isNativeFunction from "./isNativeFunction"; +import construct from "./construct"; +export default function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return construct(Class, arguments, getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); +} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/extends.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/extends.js new file mode 100644 index 00000000..1816877e --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/extends.js @@ -0,0 +1,19 @@ +function _extends() { + module.exports = _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +module.exports = _extends; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/get.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/get.js new file mode 100644 index 00000000..2cd0bb43 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/get.js @@ -0,0 +1,25 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +var superPropBase = require("./superPropBase"); + +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + module.exports = _get = Reflect.get; + } else { + module.exports = _get = function _get(target, property, receiver) { + var base = superPropBase(target, property); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); +} + +module.exports = _get; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/getPrototypeOf.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/getPrototypeOf.js new file mode 100644 index 00000000..5fc9a169 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/getPrototypeOf.js @@ -0,0 +1,8 @@ +function _getPrototypeOf(o) { + module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +module.exports = _getPrototypeOf; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/inherits.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/inherits.js new file mode 100644 index 00000000..6b4f286d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/inherits.js @@ -0,0 +1,18 @@ +var setPrototypeOf = require("./setPrototypeOf"); + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) setPrototypeOf(subClass, superClass); +} + +module.exports = _inherits; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/inheritsLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/inheritsLoose.js new file mode 100644 index 00000000..c3f7cdb4 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/inheritsLoose.js @@ -0,0 +1,7 @@ +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +module.exports = _inheritsLoose; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/initializerDefineProperty.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/initializerDefineProperty.js new file mode 100644 index 00000000..4caa5ca6 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/initializerDefineProperty.js @@ -0,0 +1,11 @@ +function _initializerDefineProperty(target, property, descriptor, context) { + if (!descriptor) return; + Object.defineProperty(target, property, { + enumerable: descriptor.enumerable, + configurable: descriptor.configurable, + writable: descriptor.writable, + value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 + }); +} + +module.exports = _initializerDefineProperty; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/initializerWarningHelper.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/initializerWarningHelper.js new file mode 100644 index 00000000..56e0c173 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/initializerWarningHelper.js @@ -0,0 +1,5 @@ +function _initializerWarningHelper(descriptor, context) { + throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); +} + +module.exports = _initializerWarningHelper; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/instanceof.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/instanceof.js new file mode 100644 index 00000000..d3cd18a5 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/instanceof.js @@ -0,0 +1,9 @@ +function _instanceof(left, right) { + if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { + return right[Symbol.hasInstance](left); + } else { + return left instanceof right; + } +} + +module.exports = _instanceof; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/interopRequireDefault.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/interopRequireDefault.js new file mode 100644 index 00000000..0e65e2b8 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/interopRequireDefault.js @@ -0,0 +1,7 @@ +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +module.exports = _interopRequireDefault; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/interopRequireWildcard.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/interopRequireWildcard.js new file mode 100644 index 00000000..baf08e2b --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/interopRequireWildcard.js @@ -0,0 +1,26 @@ +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; + + if (desc.get || desc.set) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + return newObj; + } +} + +module.exports = _interopRequireWildcard; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/isNativeFunction.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/isNativeFunction.js new file mode 100644 index 00000000..e2dc3ed7 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/isNativeFunction.js @@ -0,0 +1,5 @@ +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} + +module.exports = _isNativeFunction; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArray.js new file mode 100644 index 00000000..e917e579 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArray.js @@ -0,0 +1,5 @@ +function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} + +module.exports = _iterableToArray; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js new file mode 100644 index 00000000..14c1daa6 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js @@ -0,0 +1,27 @@ +function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +module.exports = _iterableToArrayLimit; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js new file mode 100644 index 00000000..c7dfeb30 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js @@ -0,0 +1,13 @@ +function _iterableToArrayLimitLoose(arr, i) { + var _arr = []; + + for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { + _arr.push(_step.value); + + if (i && _arr.length === i) break; + } + + return _arr; +} + +module.exports = _iterableToArrayLimitLoose; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/jsx.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/jsx.js new file mode 100644 index 00000000..db6ffd76 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/jsx.js @@ -0,0 +1,49 @@ +var REACT_ELEMENT_TYPE; + +function _createRawReactElement(type, props, key, children) { + if (!REACT_ELEMENT_TYPE) { + REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol.for && Symbol.for("react.element") || 0xeac7; + } + + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = { + children: void 0 + }; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = new Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : '' + key, + ref: null, + props: props, + _owner: null + }; +} + +module.exports = _createRawReactElement; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/newArrowCheck.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/newArrowCheck.js similarity index 51% rename from build/js-transpiled/node_modules/babel-runtime/helpers/newArrowCheck.js rename to build/js-transpiled/node_modules/@babel/runtime/helpers/newArrowCheck.js index c15ee5c3..9b59f58c 100644 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/newArrowCheck.js +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/newArrowCheck.js @@ -1,9 +1,7 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (innerThis, boundThis) { +function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } -}; \ No newline at end of file +} + +module.exports = _newArrowCheck; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/nonIterableRest.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/nonIterableRest.js new file mode 100644 index 00000000..eb447dd7 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/nonIterableRest.js @@ -0,0 +1,5 @@ +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +module.exports = _nonIterableRest; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/nonIterableSpread.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/nonIterableSpread.js new file mode 100644 index 00000000..7d7ca436 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/nonIterableSpread.js @@ -0,0 +1,5 @@ +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} + +module.exports = _nonIterableSpread; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js new file mode 100644 index 00000000..1d5c04a7 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js @@ -0,0 +1,5 @@ +function _objectDestructuringEmpty(obj) { + if (obj == null) throw new TypeError("Cannot destructure undefined"); +} + +module.exports = _objectDestructuringEmpty; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/objectSpread.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectSpread.js new file mode 100644 index 00000000..b9234007 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectSpread.js @@ -0,0 +1,22 @@ +var defineProperty = require("./defineProperty"); + +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } + + return target; +} + +module.exports = _objectSpread; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/objectWithoutProperties.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectWithoutProperties.js new file mode 100644 index 00000000..253d33c9 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectWithoutProperties.js @@ -0,0 +1,22 @@ +var objectWithoutPropertiesLoose = require("./objectWithoutPropertiesLoose"); + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = objectWithoutPropertiesLoose(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +module.exports = _objectWithoutProperties; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js new file mode 100644 index 00000000..a58c56b0 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js @@ -0,0 +1,16 @@ +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +module.exports = _objectWithoutPropertiesLoose; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js new file mode 100644 index 00000000..84f7bf63 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js @@ -0,0 +1,13 @@ +var _typeof = require("../helpers/typeof"); + +var assertThisInitialized = require("./assertThisInitialized"); + +function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + + return assertThisInitialized(self); +} + +module.exports = _possibleConstructorReturn; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/readOnlyError.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/readOnlyError.js new file mode 100644 index 00000000..4e61e3fd --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/readOnlyError.js @@ -0,0 +1,5 @@ +function _readOnlyError(name) { + throw new Error("\"" + name + "\" is read-only"); +} + +module.exports = _readOnlyError; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/set.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/set.js new file mode 100644 index 00000000..aad38c22 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/set.js @@ -0,0 +1,56 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +var superPropBase = require("./superPropBase"); + +var defineProperty = require("./defineProperty"); + +function set(target, property, value, receiver) { + if (typeof Reflect !== "undefined" && Reflect.set) { + set = Reflect.set; + } else { + set = function set(target, property, value, receiver) { + var base = superPropBase(target, property); + var desc; + + if (base) { + desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.set) { + desc.set.call(receiver, value); + return true; + } else if (!desc.writable) { + return false; + } + } + + desc = Object.getOwnPropertyDescriptor(receiver, property); + + if (desc) { + if (!desc.writable) { + return false; + } + + desc.value = value; + Object.defineProperty(receiver, property, desc); + } else { + defineProperty(receiver, property, value); + } + + return true; + }; + } + + return set(target, property, value, receiver); +} + +function _set(target, property, value, receiver, isStrict) { + var s = set(target, property, value, receiver || target); + + if (!s && isStrict) { + throw new Error('failed to set property'); + } + + return value; +} + +module.exports = _set; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/setPrototypeOf.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/setPrototypeOf.js new file mode 100644 index 00000000..d86e2fc3 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/setPrototypeOf.js @@ -0,0 +1,10 @@ +function _setPrototypeOf(o, p) { + module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +module.exports = _setPrototypeOf; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js new file mode 100644 index 00000000..e1d6c86b --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js @@ -0,0 +1,9 @@ +function _skipFirstGeneratorNext(fn) { + return function () { + var it = fn.apply(this, arguments); + it.next(); + return it; + }; +} + +module.exports = _skipFirstGeneratorNext; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/slicedToArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/slicedToArray.js new file mode 100644 index 00000000..243ea9e2 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/slicedToArray.js @@ -0,0 +1,11 @@ +var arrayWithHoles = require("./arrayWithHoles"); + +var iterableToArrayLimit = require("./iterableToArrayLimit"); + +var nonIterableRest = require("./nonIterableRest"); + +function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArray; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js new file mode 100644 index 00000000..c7e4313b --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js @@ -0,0 +1,11 @@ +var arrayWithHoles = require("./arrayWithHoles"); + +var iterableToArrayLimitLoose = require("./iterableToArrayLimitLoose"); + +var nonIterableRest = require("./nonIterableRest"); + +function _slicedToArrayLoose(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArrayLoose; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/superPropBase.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/superPropBase.js new file mode 100644 index 00000000..bbb34a2d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/superPropBase.js @@ -0,0 +1,12 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = getPrototypeOf(object); + if (object === null) break; + } + + return object; +} + +module.exports = _superPropBase; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js new file mode 100644 index 00000000..bdcc1e9d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js @@ -0,0 +1,13 @@ +function _taggedTemplateLiteral(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + return Object.freeze(Object.defineProperties(strings, { + raw: { + value: Object.freeze(raw) + } + })); +} + +module.exports = _taggedTemplateLiteral; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js new file mode 100644 index 00000000..beced541 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js @@ -0,0 +1,10 @@ +function _taggedTemplateLiteralLoose(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + strings.raw = raw; + return strings; +} + +module.exports = _taggedTemplateLiteralLoose; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/temporalRef.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/temporalRef.js new file mode 100644 index 00000000..20b2652a --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/temporalRef.js @@ -0,0 +1,11 @@ +var temporalUndefined = require("./temporalUndefined"); + +function _temporalRef(val, name) { + if (val === temporalUndefined) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } else { + return val; + } +} + +module.exports = _temporalRef; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/temporalUndefined.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/temporalUndefined.js new file mode 100644 index 00000000..a0995453 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/temporalUndefined.js @@ -0,0 +1 @@ +module.exports = {}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/toArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/toArray.js new file mode 100644 index 00000000..c28fd9e4 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/toArray.js @@ -0,0 +1,11 @@ +var arrayWithHoles = require("./arrayWithHoles"); + +var iterableToArray = require("./iterableToArray"); + +var nonIterableRest = require("./nonIterableRest"); + +function _toArray(arr) { + return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest(); +} + +module.exports = _toArray; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/toConsumableArray.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/toConsumableArray.js new file mode 100644 index 00000000..4cd54a33 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/toConsumableArray.js @@ -0,0 +1,11 @@ +var arrayWithoutHoles = require("./arrayWithoutHoles"); + +var iterableToArray = require("./iterableToArray"); + +var nonIterableSpread = require("./nonIterableSpread"); + +function _toConsumableArray(arr) { + return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); +} + +module.exports = _toConsumableArray; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/toPropertyKey.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/toPropertyKey.js new file mode 100644 index 00000000..d4014dd7 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/toPropertyKey.js @@ -0,0 +1,11 @@ +var _typeof = require("../helpers/typeof"); + +function _toPropertyKey(key) { + if (_typeof(key) === "symbol") { + return key; + } else { + return String(key); + } +} + +module.exports = _toPropertyKey; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/typeof.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/typeof.js new file mode 100644 index 00000000..fd7d3edf --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/typeof.js @@ -0,0 +1,17 @@ +function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } + +function _typeof(obj) { + if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { + module.exports = _typeof = function _typeof(obj) { + return _typeof2(obj); + }; + } else { + module.exports = _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); + }; + } + + return _typeof(obj); +} + +module.exports = _typeof; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js new file mode 100644 index 00000000..11554f3d --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js @@ -0,0 +1,9 @@ +var AsyncGenerator = require("./AsyncGenerator"); + +function _wrapAsyncGenerator(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; +} + +module.exports = _wrapAsyncGenerator; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/helpers/wrapNativeSuper.js b/build/js-transpiled/node_modules/@babel/runtime/helpers/wrapNativeSuper.js new file mode 100644 index 00000000..3d4bd7a0 --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/helpers/wrapNativeSuper.js @@ -0,0 +1,43 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +var setPrototypeOf = require("./setPrototypeOf"); + +var isNativeFunction = require("./isNativeFunction"); + +var construct = require("./construct"); + +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return construct(Class, arguments, getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); +} + +module.exports = _wrapNativeSuper; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/@babel/runtime/package.json b/build/js-transpiled/node_modules/@babel/runtime/package.json new file mode 100644 index 00000000..e896088c --- /dev/null +++ b/build/js-transpiled/node_modules/@babel/runtime/package.json @@ -0,0 +1,46 @@ +{ + "_from": "@babel/runtime@7.1.2", + "_id": "@babel/runtime@7.1.2", + "_inBundle": false, + "_integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", + "_location": "/@babel/runtime", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@babel/runtime@7.1.2", + "name": "@babel/runtime", + "escapedName": "@babel%2fruntime", + "scope": "@babel", + "rawSpec": "7.1.2", + "saveSpec": null, + "fetchSpec": "7.1.2" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", + "_shasum": "81c89935f4647706fc54541145e6b4ecfef4b8e3", + "_spec": "@babel/runtime@7.1.2", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "bundleDependencies": false, + "dependencies": { + "regenerator-runtime": "^0.12.0" + }, + "deprecated": false, + "description": "babel's modular runtime helpers", + "license": "MIT", + "name": "@babel/runtime", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-runtime" + }, + "version": "7.1.2" +} diff --git a/build/js-transpiled/node_modules/babel-runtime/regenerator/index.js b/build/js-transpiled/node_modules/@babel/runtime/regenerator/index.js similarity index 100% rename from build/js-transpiled/node_modules/babel-runtime/regenerator/index.js rename to build/js-transpiled/node_modules/@babel/runtime/regenerator/index.js diff --git a/build/js-transpiled/node_modules/@types/node/LICENSE b/build/js-transpiled/node_modules/@types/node/LICENSE new file mode 100644 index 00000000..4b1ad51b --- /dev/null +++ b/build/js-transpiled/node_modules/@types/node/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/build/js-transpiled/node_modules/@types/node/README.md b/build/js-transpiled/node_modules/@types/node/README.md new file mode 100644 index 00000000..6ce854fd --- /dev/null +++ b/build/js-transpiled/node_modules/@types/node/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/node` + +# Summary +This package contains type definitions for Node.js (http://nodejs.org/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node + +Additional Details + * Last updated: Mon, 15 Oct 2018 23:08:10 GMT + * Dependencies: none + * Global values: Buffer, NodeJS, SlowBuffer, Symbol, __dirname, __filename, clearImmediate, clearInterval, clearTimeout, console, exports, global, module, process, require, setImmediate, setInterval, setTimeout + +# Credits +These definitions were written by Microsoft TypeScript , DefinitelyTyped , Alberto Schiabel , Alexander T. , Alvis HT Tang , Andrew Makarov , Bruno Scheufler , Chigozirim C. , Christian Vaagland Tellnes , Deividas Bakanas , Eugene Y. Q. Shen , Flarna , Hannes Magnusson , Hoàng Văn Khải , Huw , Kelvin Jin , Klaus Meinhardt , Lishude , Mariusz Wiktorczyk , Matthieu Sieben , Mohsen Azimi , Nicolas Even , Nicolas Voigt , Parambir Singh , Sebastian Silbermann , Simon Schick , Thomas den Hollander , Wilco Bakker , wwwy3y3 , Zane Hannan AU . diff --git a/build/js-transpiled/node_modules/@types/node/index.d.ts b/build/js-transpiled/node_modules/@types/node/index.d.ts new file mode 100644 index 00000000..48d83405 --- /dev/null +++ b/build/js-transpiled/node_modules/@types/node/index.d.ts @@ -0,0 +1,8603 @@ +// Type definitions for Node.js 10.12 +// Project: http://nodejs.org/ +// Definitions by: Microsoft TypeScript +// DefinitelyTyped +// Alberto Schiabel +// Alexander T. +// Alvis HT Tang +// Andrew Makarov +// Bruno Scheufler +// Chigozirim C. +// Christian Vaagland Tellnes +// Deividas Bakanas +// Eugene Y. Q. Shen +// Flarna +// Hannes Magnusson +// Hoàng Văn Khải +// Huw +// Kelvin Jin +// Klaus Meinhardt +// Lishude +// Mariusz Wiktorczyk +// Matthieu Sieben +// Mohsen Azimi +// Nicolas Even +// Nicolas Voigt +// Parambir Singh +// Sebastian Silbermann +// Simon Schick +// Thomas den Hollander +// Wilco Bakker +// wwwy3y3 +// Zane Hannan AU +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/** inspector module types */ +/// + +// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build +interface Console { + Console: NodeJS.ConsoleConstructor; + /** + * A simple assertion test that verifies whether `value` is truthy. + * If it is not, an `AssertionError` is thrown. + * If provided, the error `message` is formatted using `util.format()` and used as the error message. + */ + assert(value: any, message?: string, ...optionalParams: any[]): void; + /** + * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. + * When `stdout` is not a TTY, this method does nothing. + */ + clear(): void; + /** + * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`. + */ + count(label?: string): void; + /** + * Resets the internal counter specific to `label`. + */ + countReset(label?: string): void; + /** + * The `console.debug()` function is an alias for {@link console.log()}. + */ + debug(message?: any, ...optionalParams: any[]): void; + /** + * Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`. + * This function bypasses any custom `inspect()` function defined on `obj`. + */ + dir(obj: any, options?: NodeJS.InspectOptions): void; + /** + * This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting + */ + dirxml(...data: any[]): void; + /** + * Prints to `stderr` with newline. + */ + error(message?: any, ...optionalParams: any[]): void; + /** + * Increases indentation of subsequent lines by two spaces. + * If one or more `label`s are provided, those are printed first without the additional indentation. + */ + group(...label: any[]): void; + /** + * The `console.groupCollapsed()` function is an alias for {@link console.group()}. + */ + groupCollapsed(): void; + /** + * Decreases indentation of subsequent lines by two spaces. + */ + groupEnd(): void; + /** + * The {@link console.info()} function is an alias for {@link console.log()}. + */ + info(message?: any, ...optionalParams: any[]): void; + /** + * Prints to `stdout` with newline. + */ + log(message?: any, ...optionalParams: any[]): void; + /** + * This method does not display anything unless used in the inspector. + * Prints to `stdout` the array `array` formatted as a table. + */ + table(tabularData: any, properties?: string[]): void; + /** + * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. + */ + time(label?: string): void; + /** + * Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`. + */ + timeEnd(label?: string): void; + /** + * For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`. + */ + timeLog(label: string, ...data: any[]): void; + /** + * Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code. + */ + trace(message?: any, ...optionalParams: any[]): void; + /** + * The {@link console.warn()} function is an alias for {@link console.error()}. + */ + warn(message?: any, ...optionalParams: any[]): void; + + // --- Inspector mode only --- + /** + * This method does not display anything unless used in the inspector. + * Starts a JavaScript CPU profile with an optional label. + */ + profile(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector. + */ + profileEnd(): void; + /** + * This method does not display anything unless used in the inspector. + * Adds an event with the label `label` to the Timeline panel of the inspector. + */ + timeStamp(label?: string): void; +} + +interface Error { + stack?: string; +} + +// Declare "static" methods in Error +interface ErrorConstructor { + /** Create .stack property on a target object */ + captureStackTrace(targetObject: Object, constructorOpt?: Function): void; + + /** + * Optional override for formatting stack traces + * + * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces + */ + prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any; + + stackTraceLimit: number; +} + +// compat for TypeScript 1.8 and default es5 target +// if you use with --target es3 or --target es5 and use below definitions, +// use the lib.es6.d.ts that is bundled with TypeScript 1.8. +interface MapConstructor { } +interface WeakMapConstructor { } +interface SetConstructor { } +interface WeakSetConstructor { } + +interface Set {} +interface ReadonlySet {} + +// Forward-declare needed types from lib.es2015.d.ts (in case users are using `--lib es5`) +interface Iterable { } +interface Iterator { + next(value?: any): IteratorResult; +} +interface IteratorResult { } +interface AsyncIterableIterator {} +interface SymbolConstructor { + readonly observable: symbol; + readonly iterator: symbol; + readonly asyncIterator: symbol; +} +declare var Symbol: SymbolConstructor; +interface SharedArrayBuffer { + readonly byteLength: number; + slice(begin?: number, end?: number): SharedArrayBuffer; +} + +// Node.js ESNEXT support +interface String { + /** Removes whitespace from the left end of a string. */ + trimLeft(): string; + /** Removes whitespace from the right end of a string. */ + trimRight(): string; +} + +/*-----------------------------------------------* + * * + * GLOBAL * + * * + ------------------------------------------------*/ +declare var process: NodeJS.Process; +declare var global: NodeJS.Global; +declare var console: Console; + +declare var __filename: string; +declare var __dirname: string; + +declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; +} +declare function clearTimeout(timeoutId: NodeJS.Timeout): void; +declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare function clearInterval(intervalId: NodeJS.Timeout): void; +declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; +declare namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; +} +declare function clearImmediate(immediateId: NodeJS.Immediate): void; + +// TODO: change to `type NodeRequireFunction = (id: string) => any;` in next mayor version. +interface NodeRequireFunction { + /* tslint:disable-next-line:callable-types */ + (id: string): any; +} + +interface NodeRequire extends NodeRequireFunction { + resolve: RequireResolve; + cache: any; + extensions: NodeExtensions; + main: NodeModule | undefined; +} + +interface RequireResolve { + (id: string, options?: { paths?: string[]; }): string; + paths(request: string): string[] | null; +} + +interface NodeExtensions { + '.js': (m: NodeModule, filename: string) => any; + '.json': (m: NodeModule, filename: string) => any; + '.node': (m: NodeModule, filename: string) => any; + [ext: string]: (m: NodeModule, filename: string) => any; +} + +declare var require: NodeRequire; + +interface NodeModule { + exports: any; + require: NodeRequireFunction; + id: string; + filename: string; + loaded: boolean; + parent: NodeModule | null; + children: NodeModule[]; + paths: string[]; +} + +declare var module: NodeModule; + +// Same as module.exports +declare var exports: any; +declare const SlowBuffer: { + new(str: string, encoding?: string): Buffer; + new(size: number): Buffer; + new(size: Uint8Array): Buffer; + new(array: any[]): Buffer; + prototype: Buffer; + isBuffer(obj: any): boolean; + byteLength(string: string, encoding?: string): number; + concat(list: Buffer[], totalLength?: number): Buffer; +}; + +// Buffer class +type BufferEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "base64" | "latin1" | "binary" | "hex"; +interface Buffer extends Uint8Array { + constructor: typeof Buffer; + write(string: string, offset?: number, length?: number, encoding?: string): number; + toString(encoding?: string, start?: number, end?: number): string; + toJSON(): { type: 'Buffer', data: any[] }; + equals(otherBuffer: Uint8Array): boolean; + compare(otherBuffer: Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number; + copy(targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + slice(start?: number, end?: number): Buffer; + writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readUInt8(offset: number, noAssert?: boolean): number; + readUInt16LE(offset: number, noAssert?: boolean): number; + readUInt16BE(offset: number, noAssert?: boolean): number; + readUInt32LE(offset: number, noAssert?: boolean): number; + readUInt32BE(offset: number, noAssert?: boolean): number; + readInt8(offset: number, noAssert?: boolean): number; + readInt16LE(offset: number, noAssert?: boolean): number; + readInt16BE(offset: number, noAssert?: boolean): number; + readInt32LE(offset: number, noAssert?: boolean): number; + readInt32BE(offset: number, noAssert?: boolean): number; + readFloatLE(offset: number, noAssert?: boolean): number; + readFloatBE(offset: number, noAssert?: boolean): number; + readDoubleLE(offset: number, noAssert?: boolean): number; + readDoubleBE(offset: number, noAssert?: boolean): number; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset: number, noAssert?: boolean): number; + writeUInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeInt8(value: number, offset: number, noAssert?: boolean): number; + writeInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeFloatLE(value: number, offset: number, noAssert?: boolean): number; + writeFloatBE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleLE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleBE(value: number, offset: number, noAssert?: boolean): number; + fill(value: any, offset?: number, end?: number): this; + indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: string): number; + lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: string): number; + entries(): IterableIterator<[number, number]>; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean; + keys(): IterableIterator; + values(): IterableIterator; +} + +/** + * Raw data is stored in instances of the Buffer class. + * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. + * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + */ +declare const Buffer: { + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. + */ + new(str: string, encoding?: string): Buffer; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). + */ + new(size: number): Buffer; + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + new(array: Uint8Array): Buffer; + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}/{SharedArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. + */ + new(arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer; + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + new(array: any[]): Buffer; + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. + */ + new(buffer: Buffer): Buffer; + prototype: Buffer; + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of any TypedArray or a new ArrayBuffer() + */ + from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param data data to create a new Buffer + */ + from(data: any[]): Buffer; + from(data: Uint8Array): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + */ + from(str: string, encoding?: string): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param values to create a new Buffer + */ + of(...items: number[]): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + isEncoding(encoding: string): boolean | undefined; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + byteLength(string: string | NodeJS.TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: string): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + concat(list: Uint8Array[], totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + compare(buf1: Uint8Array, buf2: Uint8Array): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + allocUnsafeSlow(size: number): Buffer; + /** + * This is the number of bytes used to determine the size of pre-allocated, internal Buffer instances used for pooling. This value may be modified. + */ + poolSize: number; +}; + +/*----------------------------------------------* +* * +* GLOBAL INTERFACES * +* * +*-----------------------------------------------*/ +declare namespace NodeJS { + interface InspectOptions { + showHidden?: boolean; + depth?: number | null; + colors?: boolean; + customInspect?: boolean; + showProxy?: boolean; + maxArrayLength?: number | null; + breakLength?: number; + compact?: boolean; + sorted?: boolean | ((a: string, b: string) => number); + } + + interface ConsoleConstructor { + prototype: Console; + new(stdout: WritableStream, stderr?: WritableStream): Console; + } + + interface CallSite { + /** + * Value of "this" + */ + getThis(): any; + + /** + * Type of "this" as a string. + * This is the name of the function stored in the constructor field of + * "this", if available. Otherwise the object's [[Class]] internal + * property. + */ + getTypeName(): string | null; + + /** + * Current function + */ + getFunction(): Function | undefined; + + /** + * Name of the current function, typically its name property. + * If a name property is not available an attempt will be made to try + * to infer a name from the function's context. + */ + getFunctionName(): string | null; + + /** + * Name of the property [of "this" or one of its prototypes] that holds + * the current function + */ + getMethodName(): string | null; + + /** + * Name of the script [if this function was defined in a script] + */ + getFileName(): string | null; + + /** + * Current line number [if this function was defined in a script] + */ + getLineNumber(): number | null; + + /** + * Current column number [if this function was defined in a script] + */ + getColumnNumber(): number | null; + + /** + * A call site object representing the location where eval was called + * [if this function was created using a call to eval] + */ + getEvalOrigin(): string | undefined; + + /** + * Is this a toplevel invocation, that is, is "this" the global object? + */ + isToplevel(): boolean; + + /** + * Does this call take place in code defined by a call to eval? + */ + isEval(): boolean; + + /** + * Is this call in native V8 code? + */ + isNative(): boolean; + + /** + * Is this a constructor call? + */ + isConstructor(): boolean; + } + + interface ErrnoException extends Error { + errno?: number; + code?: string; + path?: string; + syscall?: string; + stack?: string; + } + + class EventEmitter { + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + listenerCount(type: string | symbol): number; + // Added in Node 6... + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + eventNames(): Array; + } + + interface ReadableStream extends EventEmitter { + readable: boolean; + read(size?: number): string | Buffer; + setEncoding(encoding: string): this; + pause(): this; + resume(): this; + isPaused(): boolean; + pipe(destination: T, options?: { end?: boolean; }): T; + unpipe(destination?: WritableStream): this; + unshift(chunk: string): void; + unshift(chunk: Buffer): void; + wrap(oldStream: ReadableStream): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableStream extends EventEmitter { + writable: boolean; + write(buffer: Buffer | string, cb?: Function): boolean; + write(str: string, encoding?: string, cb?: Function): boolean; + end(cb?: Function): void; + end(buffer: Buffer, cb?: Function): void; + end(str: string, cb?: Function): void; + end(str: string, encoding?: string, cb?: Function): void; + } + + interface ReadWriteStream extends ReadableStream, WritableStream { } + + interface Events extends EventEmitter { } + + interface Domain extends Events { + run(fn: Function): void; + add(emitter: Events): void; + remove(emitter: Events): void; + bind(cb: (err: Error, data: any) => any): any; + intercept(cb: (data: any) => any): any; + + addListener(event: string, listener: (...args: any[]) => void): this; + on(event: string, listener: (...args: any[]) => void): this; + once(event: string, listener: (...args: any[]) => void): this; + removeListener(event: string, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string): this; + } + + interface MemoryUsage { + rss: number; + heapTotal: number; + heapUsed: number; + external: number; + } + + interface CpuUsage { + user: number; + system: number; + } + + interface ProcessRelease { + name: string; + sourceUrl?: string; + headersUrl?: string; + libUrl?: string; + lts?: string; + } + + interface ProcessVersions { + http_parser: string; + node: string; + v8: string; + ares: string; + uv: string; + zlib: string; + modules: string; + openssl: string; + } + + type Platform = 'aix' + | 'android' + | 'darwin' + | 'freebsd' + | 'linux' + | 'openbsd' + | 'sunos' + | 'win32' + | 'cygwin'; + + type Signals = + "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | + "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | + "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | + "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; + + type MultipleResolveType = 'resolve' | 'reject'; + + type BeforeExitListener = (code: number) => void; + type DisconnectListener = () => void; + type ExitListener = (code: number) => void; + type RejectionHandledListener = (promise: Promise) => void; + type UncaughtExceptionListener = (error: Error) => void; + type UnhandledRejectionListener = (reason: any, promise: Promise) => void; + type WarningListener = (warning: Error) => void; + type MessageListener = (message: any, sendHandle: any) => void; + type SignalsListener = (signal: Signals) => void; + type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type MultipleResolveListener = (type: MultipleResolveType, promise: Promise, value: any) => void; + + interface Socket extends ReadWriteStream { + isTTY?: true; + } + + interface ProcessEnv { + [key: string]: string | undefined; + } + + interface WriteStream extends Socket { + readonly writableHighWaterMark: number; + readonly writableLength: number; + columns?: number; + rows?: number; + _write(chunk: any, encoding: string, callback: Function): void; + _destroy(err: Error | null, callback: Function): void; + _final(callback: Function): void; + setDefaultEncoding(encoding: string): this; + cork(): void; + uncork(): void; + destroy(error?: Error): void; + } + interface ReadStream extends Socket { + readonly readableHighWaterMark: number; + readonly readableLength: number; + isRaw?: boolean; + setRawMode?(mode: boolean): void; + _read(size: number): void; + _destroy(err: Error | null, callback: Function): void; + push(chunk: any, encoding?: string): boolean; + destroy(error?: Error): void; + } + + interface Process extends EventEmitter { + stdout: WriteStream; + stderr: WriteStream; + stdin: ReadStream; + openStdin(): Socket; + argv: string[]; + argv0: string; + execArgv: string[]; + execPath: string; + abort(): void; + chdir(directory: string): void; + cwd(): string; + debugPort: number; + emitWarning(warning: string | Error, name?: string, ctor?: Function): void; + env: ProcessEnv; + exit(code?: number): never; + exitCode: number; + getgid(): number; + setgid(id: number | string): void; + getuid(): number; + setuid(id: number | string): void; + geteuid(): number; + seteuid(id: number | string): void; + getegid(): number; + setegid(id: number | string): void; + getgroups(): number[]; + setgroups(groups: Array): void; + setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; + hasUncaughtExceptionCaptureCallback(): boolean; + version: string; + versions: ProcessVersions; + config: { + target_defaults: { + cflags: any[]; + default_configuration: string; + defines: string[]; + include_dirs: string[]; + libraries: string[]; + }; + variables: { + clang: number; + host_arch: string; + node_install_npm: boolean; + node_install_waf: boolean; + node_prefix: string; + node_shared_openssl: boolean; + node_shared_v8: boolean; + node_shared_zlib: boolean; + node_use_dtrace: boolean; + node_use_etw: boolean; + node_use_openssl: boolean; + target_arch: string; + v8_no_strict_aliasing: number; + v8_use_snapshot: boolean; + visibility: string; + }; + }; + kill(pid: number, signal?: string | number): void; + pid: number; + ppid: number; + title: string; + arch: string; + platform: Platform; + mainModule?: NodeModule; + memoryUsage(): MemoryUsage; + cpuUsage(previousValue?: CpuUsage): CpuUsage; + nextTick(callback: Function, ...args: any[]): void; + release: ProcessRelease; + umask(mask?: number): number; + uptime(): number; + hrtime(time?: [number, number]): [number, number]; + domain: Domain; + + // Worker + send?(message: any, sendHandle?: any): void; + disconnect(): void; + connected: boolean; + + /** + * The `process.allowedNodeEnvironmentFlags` property is a special, + * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][] + * environment variable. + */ + allowedNodeEnvironmentFlags: ReadonlySet; + + /** + * EventEmitter + * 1. beforeExit + * 2. disconnect + * 3. exit + * 4. message + * 5. rejectionHandled + * 6. uncaughtException + * 7. unhandledRejection + * 8. warning + * 9. message + * 10. + * 11. newListener/removeListener inherited from EventEmitter + */ + addListener(event: "beforeExit", listener: BeforeExitListener): this; + addListener(event: "disconnect", listener: DisconnectListener): this; + addListener(event: "exit", listener: ExitListener): this; + addListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + addListener(event: "warning", listener: WarningListener): this; + addListener(event: "message", listener: MessageListener): this; + addListener(event: Signals, listener: SignalsListener): this; + addListener(event: "newListener", listener: NewListenerListener): this; + addListener(event: "removeListener", listener: RemoveListenerListener): this; + addListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + emit(event: "beforeExit", code: number): boolean; + emit(event: "disconnect"): boolean; + emit(event: "exit", code: number): boolean; + emit(event: "rejectionHandled", promise: Promise): boolean; + emit(event: "uncaughtException", error: Error): boolean; + emit(event: "unhandledRejection", reason: any, promise: Promise): boolean; + emit(event: "warning", warning: Error): boolean; + emit(event: "message", message: any, sendHandle: any): this; + emit(event: Signals, signal: Signals): boolean; + emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this; + emit(event: "multipleResolves", listener: MultipleResolveListener): this; + + on(event: "beforeExit", listener: BeforeExitListener): this; + on(event: "disconnect", listener: DisconnectListener): this; + on(event: "exit", listener: ExitListener): this; + on(event: "rejectionHandled", listener: RejectionHandledListener): this; + on(event: "uncaughtException", listener: UncaughtExceptionListener): this; + on(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + on(event: "warning", listener: WarningListener): this; + on(event: "message", listener: MessageListener): this; + on(event: Signals, listener: SignalsListener): this; + on(event: "newListener", listener: NewListenerListener): this; + on(event: "removeListener", listener: RemoveListenerListener): this; + on(event: "multipleResolves", listener: MultipleResolveListener): this; + + once(event: "beforeExit", listener: BeforeExitListener): this; + once(event: "disconnect", listener: DisconnectListener): this; + once(event: "exit", listener: ExitListener): this; + once(event: "rejectionHandled", listener: RejectionHandledListener): this; + once(event: "uncaughtException", listener: UncaughtExceptionListener): this; + once(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + once(event: "warning", listener: WarningListener): this; + once(event: "message", listener: MessageListener): this; + once(event: Signals, listener: SignalsListener): this; + once(event: "newListener", listener: NewListenerListener): this; + once(event: "removeListener", listener: RemoveListenerListener): this; + once(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependListener(event: "beforeExit", listener: BeforeExitListener): this; + prependListener(event: "disconnect", listener: DisconnectListener): this; + prependListener(event: "exit", listener: ExitListener): this; + prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependListener(event: "warning", listener: WarningListener): this; + prependListener(event: "message", listener: MessageListener): this; + prependListener(event: Signals, listener: SignalsListener): this; + prependListener(event: "newListener", listener: NewListenerListener): this; + prependListener(event: "removeListener", listener: RemoveListenerListener): this; + prependListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this; + prependOnceListener(event: "disconnect", listener: DisconnectListener): this; + prependOnceListener(event: "exit", listener: ExitListener): this; + prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependOnceListener(event: "warning", listener: WarningListener): this; + prependOnceListener(event: "message", listener: MessageListener): this; + prependOnceListener(event: Signals, listener: SignalsListener): this; + prependOnceListener(event: "newListener", listener: NewListenerListener): this; + prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this; + prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + listeners(event: "beforeExit"): BeforeExitListener[]; + listeners(event: "disconnect"): DisconnectListener[]; + listeners(event: "exit"): ExitListener[]; + listeners(event: "rejectionHandled"): RejectionHandledListener[]; + listeners(event: "uncaughtException"): UncaughtExceptionListener[]; + listeners(event: "unhandledRejection"): UnhandledRejectionListener[]; + listeners(event: "warning"): WarningListener[]; + listeners(event: "message"): MessageListener[]; + listeners(event: Signals): SignalsListener[]; + listeners(event: "newListener"): NewListenerListener[]; + listeners(event: "removeListener"): RemoveListenerListener[]; + listeners(event: "multipleResolves"): MultipleResolveListener[]; + } + + interface Global { + Array: typeof Array; + ArrayBuffer: typeof ArrayBuffer; + Boolean: typeof Boolean; + Buffer: typeof Buffer; + DataView: typeof DataView; + Date: typeof Date; + Error: typeof Error; + EvalError: typeof EvalError; + Float32Array: typeof Float32Array; + Float64Array: typeof Float64Array; + Function: typeof Function; + GLOBAL: Global; + Infinity: typeof Infinity; + Int16Array: typeof Int16Array; + Int32Array: typeof Int32Array; + Int8Array: typeof Int8Array; + Intl: typeof Intl; + JSON: typeof JSON; + Map: MapConstructor; + Math: typeof Math; + NaN: typeof NaN; + Number: typeof Number; + Object: typeof Object; + Promise: Function; + RangeError: typeof RangeError; + ReferenceError: typeof ReferenceError; + RegExp: typeof RegExp; + Set: SetConstructor; + String: typeof String; + Symbol: Function; + SyntaxError: typeof SyntaxError; + TypeError: typeof TypeError; + URIError: typeof URIError; + Uint16Array: typeof Uint16Array; + Uint32Array: typeof Uint32Array; + Uint8Array: typeof Uint8Array; + Uint8ClampedArray: Function; + WeakMap: WeakMapConstructor; + WeakSet: WeakSetConstructor; + clearImmediate: (immediateId: Immediate) => void; + clearInterval: (intervalId: Timeout) => void; + clearTimeout: (timeoutId: Timeout) => void; + console: typeof console; + decodeURI: typeof decodeURI; + decodeURIComponent: typeof decodeURIComponent; + encodeURI: typeof encodeURI; + encodeURIComponent: typeof encodeURIComponent; + escape: (str: string) => string; + eval: typeof eval; + global: Global; + isFinite: typeof isFinite; + isNaN: typeof isNaN; + parseFloat: typeof parseFloat; + parseInt: typeof parseInt; + process: Process; + root: Global; + setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate; + setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + undefined: typeof undefined; + unescape: (str: string) => string; + gc: () => void; + v8debug?: any; + } + + interface Timer { + ref(): void; + refresh(): void; + unref(): void; + } + + class Immediate { + ref(): void; + unref(): void; + _onImmediate: Function; // to distinguish it from the Timeout class + } + + class Timeout implements Timer { + ref(): void; + refresh(): void; + unref(): void; + } + + class Module { + static runMain(): void; + static wrap(code: string): string; + static createRequireFromPath(path: string): (path: string) => any; + static builtinModules: string[]; + + static Module: typeof Module; + + exports: any; + require: NodeRequireFunction; + id: string; + filename: string; + loaded: boolean; + parent: Module | null; + children: Module[]; + paths: string[]; + + constructor(id: string, parent?: Module); + } + + type TypedArray = Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | Float32Array | Float64Array; +} + +interface IterableIterator { } + +/*----------------------------------------------* +* * +* MODULES * +* * +*-----------------------------------------------*/ +declare module "buffer" { + export const INSPECT_MAX_BYTES: number; + const BuffType: typeof Buffer; + const SlowBuffType: typeof SlowBuffer; + export { BuffType as Buffer, SlowBuffType as SlowBuffer }; +} + +declare module "querystring" { + interface StringifyOptions { + encodeURIComponent?: Function; + } + + interface ParseOptions { + maxKeys?: number; + decodeURIComponent?: Function; + } + + interface ParsedUrlQuery { [key: string]: string | string[]; } + + function stringify(obj?: {}, sep?: string, eq?: string, options?: StringifyOptions): string; + function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery; + function escape(str: string): string; + function unescape(str: string): string; +} + +declare module "events" { + class internal extends NodeJS.EventEmitter { } + + namespace internal { + class EventEmitter extends internal { + /** @deprecated since v4.0.0 */ + static listenerCount(emitter: EventEmitter, event: string | symbol): number; + static defaultMaxListeners: number; + + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + eventNames(): Array; + listenerCount(type: string | symbol): number; + } + } + + export = internal; +} + +declare module "http" { + import * as events from "events"; + import * as net from "net"; + import * as stream from "stream"; + import { URL } from "url"; + + // incoming headers will never contain number + interface IncomingHttpHeaders { + 'accept'?: string; + 'access-control-allow-origin'?: string; + 'access-control-allow-credentials'?: string; + 'access-control-expose-headers'?: string; + 'access-control-max-age'?: string; + 'access-control-allow-methods'?: string; + 'access-control-allow-headers'?: string; + 'accept-patch'?: string; + 'accept-ranges'?: string; + 'authorization'?: string; + 'age'?: string; + 'allow'?: string; + 'alt-svc'?: string; + 'cache-control'?: string; + 'connection'?: string; + 'content-disposition'?: string; + 'content-encoding'?: string; + 'content-language'?: string; + 'content-length'?: string; + 'content-location'?: string; + 'content-range'?: string; + 'content-type'?: string; + 'date'?: string; + 'expires'?: string; + 'host'?: string; + 'last-modified'?: string; + 'location'?: string; + 'pragma'?: string; + 'proxy-authenticate'?: string; + 'public-key-pins'?: string; + 'referer'?: string; + 'retry-after'?: string; + 'set-cookie'?: string[]; + 'strict-transport-security'?: string; + 'trailer'?: string; + 'transfer-encoding'?: string; + 'tk'?: string; + 'upgrade'?: string; + 'user-agent'?: string; + 'vary'?: string; + 'via'?: string; + 'warning'?: string; + 'www-authenticate'?: string; + [header: string]: string | string[] | undefined; + } + + // outgoing headers allows numbers (as they are converted internally to strings) + interface OutgoingHttpHeaders { + [header: string]: number | string | string[] | undefined; + } + + interface ClientRequestArgs { + protocol?: string; + host?: string; + hostname?: string; + family?: number; + port?: number | string; + defaultPort?: number | string; + localAddress?: string; + socketPath?: string; + method?: string; + path?: string; + headers?: OutgoingHttpHeaders; + auth?: string; + agent?: Agent | boolean; + _defaultAgent?: Agent; + timeout?: number; + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 + createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: net.Socket) => void) => net.Socket; + } + + class Server extends net.Server { + constructor(requestListener?: (req: IncomingMessage, res: ServerResponse) => void); + + setTimeout(msecs?: number, callback?: () => void): this; + setTimeout(callback: () => void): this; + maxHeadersCount: number; + timeout: number; + keepAliveTimeout: number; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js + class OutgoingMessage extends stream.Writable { + upgrading: boolean; + chunkedEncoding: boolean; + shouldKeepAlive: boolean; + useChunkedEncodingByDefault: boolean; + sendDate: boolean; + finished: boolean; + headersSent: boolean; + connection: net.Socket; + + constructor(); + + setTimeout(msecs: number, callback?: () => void): this; + setHeader(name: string, value: number | string | string[]): void; + getHeader(name: string): number | string | string[] | undefined; + getHeaders(): OutgoingHttpHeaders; + getHeaderNames(): string[]; + hasHeader(name: string): boolean; + removeHeader(name: string): void; + addTrailers(headers: OutgoingHttpHeaders | Array<[string, string]>): void; + flushHeaders(): void; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256 + class ServerResponse extends OutgoingMessage { + statusCode: number; + statusMessage: string; + + constructor(req: IncomingMessage); + + assignSocket(socket: net.Socket): void; + detachSocket(socket: net.Socket): void; + // https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53 + // no args in writeContinue callback + writeContinue(callback?: () => void): void; + writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders): void; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): void; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77 + class ClientRequest extends OutgoingMessage { + connection: net.Socket; + socket: net.Socket; + aborted: number; + + constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); + + abort(): void; + onSocket(socket: net.Socket): void; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): void; + setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; + } + + class IncomingMessage extends stream.Readable { + constructor(socket: net.Socket); + + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + connection: net.Socket; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + trailers: { [key: string]: string | undefined }; + rawTrailers: string[]; + setTimeout(msecs: number, callback: () => void): this; + /** + * Only valid for request obtained from http.Server. + */ + method?: string; + /** + * Only valid for request obtained from http.Server. + */ + url?: string; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusCode?: number; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusMessage?: string; + socket: net.Socket; + destroy(error?: Error): void; + } + + interface AgentOptions { + /** + * Keep sockets around in a pool to be used by other requests in the future. Default = false + */ + keepAlive?: boolean; + /** + * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. + * Only relevant if keepAlive is set to true. + */ + keepAliveMsecs?: number; + /** + * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity + */ + maxSockets?: number; + /** + * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. + */ + maxFreeSockets?: number; + /** + * Socket timeout in milliseconds. This will set the timeout after the socket is connected. + */ + timeout?: number; + } + + class Agent { + maxFreeSockets: number; + maxSockets: number; + sockets: any; + requests: any; + + constructor(opts?: AgentOptions); + + /** + * Destroy any sockets that are currently in use by the agent. + * It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, + * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, + * sockets may hang open for quite a long time before the server terminates them. + */ + destroy(): void; + } + + const METHODS: string[]; + + const STATUS_CODES: { + [errorCode: number]: string | undefined; + [errorCode: string]: string | undefined; + }; + + function createServer(requestListener?: (request: IncomingMessage, response: ServerResponse) => void): Server; + function createClient(port?: number, host?: string): any; + + // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly, + // create interface RequestOptions would make the naming more clear to developers + interface RequestOptions extends ClientRequestArgs { } + function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + let globalAgent: Agent; +} + +declare module "cluster" { + import * as child from "child_process"; + import * as events from "events"; + import * as net from "net"; + + // interfaces + interface ClusterSettings { + execArgv?: string[]; // default: process.execArgv + exec?: string; + args?: string[]; + silent?: boolean; + stdio?: any[]; + uid?: number; + gid?: number; + inspectPort?: number | (() => number); + } + + interface Address { + address: string; + port: number; + addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6" + } + + class Worker extends events.EventEmitter { + id: number; + process: child.ChildProcess; + suicide: boolean; + send(message: any, sendHandle?: any, callback?: (error: Error) => void): boolean; + kill(signal?: string): void; + destroy(signal?: string): void; + disconnect(): void; + isConnected(): boolean; + isDead(): boolean; + exitedAfterDisconnect: boolean; + + /** + * events.EventEmitter + * 1. disconnect + * 2. error + * 3. exit + * 4. listening + * 5. message + * 6. online + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "exit", listener: (code: number, signal: string) => void): this; + addListener(event: "listening", listener: (address: Address) => void): this; + addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "exit", code: number, signal: string): boolean; + emit(event: "listening", address: Address): boolean; + emit(event: "message", message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "exit", listener: (code: number, signal: string) => void): this; + on(event: "listening", listener: (address: Address) => void): this; + on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "exit", listener: (code: number, signal: string) => void): this; + once(event: "listening", listener: (address: Address) => void): this; + once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependListener(event: "listening", listener: (address: Address) => void): this; + prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "listening", listener: (address: Address) => void): this; + prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "online", listener: () => void): this; + } + + interface Cluster extends events.EventEmitter { + Worker: Worker; + disconnect(callback?: Function): void; + fork(env?: any): Worker; + isMaster: boolean; + isWorker: boolean; + // TODO: cluster.schedulingPolicy + settings: ClusterSettings; + setupMaster(settings?: ClusterSettings): void; + worker?: Worker; + workers?: { + [index: string]: Worker | undefined + }; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: (worker: Worker) => void): this; + addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + addListener(event: "fork", listener: (worker: Worker) => void): this; + addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: (worker: Worker) => void): this; + addListener(event: "setup", listener: (settings: any) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect", worker: Worker): boolean; + emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + emit(event: "fork", worker: Worker): boolean; + emit(event: "listening", worker: Worker, address: Address): boolean; + emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online", worker: Worker): boolean; + emit(event: "setup", settings: any): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: (worker: Worker) => void): this; + on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + on(event: "fork", listener: (worker: Worker) => void): this; + on(event: "listening", listener: (worker: Worker, address: Address) => void): this; + on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: (worker: Worker) => void): this; + on(event: "setup", listener: (settings: any) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: (worker: Worker) => void): this; + once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + once(event: "fork", listener: (worker: Worker) => void): this; + once(event: "listening", listener: (worker: Worker, address: Address) => void): this; + once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: (worker: Worker) => void): this; + once(event: "setup", listener: (settings: any) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependListener(event: "fork", listener: (worker: Worker) => void): this; + prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: (worker: Worker) => void): this; + prependListener(event: "setup", listener: (settings: any) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependOnceListener(event: "fork", listener: (worker: Worker) => void): this; + prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; + prependOnceListener(event: "online", listener: (worker: Worker) => void): this; + prependOnceListener(event: "setup", listener: (settings: any) => void): this; + } + + function disconnect(callback?: Function): void; + function fork(env?: any): Worker; + const isMaster: boolean; + const isWorker: boolean; + // TODO: cluster.schedulingPolicy + const settings: ClusterSettings; + function setupMaster(settings?: ClusterSettings): void; + const worker: Worker; + const workers: { + [index: string]: Worker | undefined + }; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + function addListener(event: string, listener: (...args: any[]) => void): Cluster; + function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function addListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function addListener(event: "online", listener: (worker: Worker) => void): Cluster; + function addListener(event: "setup", listener: (settings: any) => void): Cluster; + + function emit(event: string | symbol, ...args: any[]): boolean; + function emit(event: "disconnect", worker: Worker): boolean; + function emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + function emit(event: "fork", worker: Worker): boolean; + function emit(event: "listening", worker: Worker, address: Address): boolean; + function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + function emit(event: "online", worker: Worker): boolean; + function emit(event: "setup", settings: any): boolean; + + function on(event: string, listener: (...args: any[]) => void): Cluster; + function on(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function on(event: "fork", listener: (worker: Worker) => void): Cluster; + function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function on(event: "online", listener: (worker: Worker) => void): Cluster; + function on(event: "setup", listener: (settings: any) => void): Cluster; + + function once(event: string, listener: (...args: any[]) => void): Cluster; + function once(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function once(event: "fork", listener: (worker: Worker) => void): Cluster; + function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function once(event: "online", listener: (worker: Worker) => void): Cluster; + function once(event: "setup", listener: (settings: any) => void): Cluster; + + function removeListener(event: string, listener: (...args: any[]) => void): Cluster; + function removeAllListeners(event?: string): Cluster; + function setMaxListeners(n: number): Cluster; + function getMaxListeners(): number; + function listeners(event: string): Function[]; + function listenerCount(type: string): number; + + function prependListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "setup", listener: (settings: any) => void): Cluster; + + function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "setup", listener: (settings: any) => void): Cluster; + + function eventNames(): string[]; +} + +declare module "zlib" { + import * as stream from "stream"; + + interface ZlibOptions { + flush?: number; // default: zlib.constants.Z_NO_FLUSH + finishFlush?: number; // default: zlib.constants.Z_FINISH + chunkSize?: number; // default: 16*1024 + windowBits?: number; + level?: number; // compression only + memLevel?: number; // compression only + strategy?: number; // compression only + dictionary?: Buffer | NodeJS.TypedArray | DataView | ArrayBuffer; // deflate/inflate only, empty dictionary by default + } + + interface Zlib { + readonly bytesRead: number; + close(callback?: () => void): void; + flush(kind?: number | (() => void), callback?: () => void): void; + } + + interface ZlibParams { + params(level: number, strategy: number, callback: () => void): void; + } + + interface ZlibReset { + reset(): void; + } + + interface Gzip extends stream.Transform, Zlib { } + interface Gunzip extends stream.Transform, Zlib { } + interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface Inflate extends stream.Transform, Zlib, ZlibReset { } + interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } + interface Unzip extends stream.Transform, Zlib { } + + function createGzip(options?: ZlibOptions): Gzip; + function createGunzip(options?: ZlibOptions): Gunzip; + function createDeflate(options?: ZlibOptions): Deflate; + function createInflate(options?: ZlibOptions): Inflate; + function createDeflateRaw(options?: ZlibOptions): DeflateRaw; + function createInflateRaw(options?: ZlibOptions): InflateRaw; + function createUnzip(options?: ZlibOptions): Unzip; + + type InputType = string | Buffer | DataView | ArrayBuffer | NodeJS.TypedArray; + function deflate(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function deflate(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function deflateSync(buf: InputType, options?: ZlibOptions): Buffer; + function deflateRaw(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function deflateRaw(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + function gzip(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function gzip(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function gzipSync(buf: InputType, options?: ZlibOptions): Buffer; + function gunzip(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function gunzip(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer; + function inflate(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function inflate(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function inflateSync(buf: InputType, options?: ZlibOptions): Buffer; + function inflateRaw(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function inflateRaw(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + function unzip(buf: InputType, callback: (error: Error | null, result: Buffer) => void): void; + function unzip(buf: InputType, options: ZlibOptions, callback: (error: Error | null, result: Buffer) => void): void; + function unzipSync(buf: InputType, options?: ZlibOptions): Buffer; + + namespace constants { + // Allowed flush values. + + const Z_NO_FLUSH: number; + const Z_PARTIAL_FLUSH: number; + const Z_SYNC_FLUSH: number; + const Z_FULL_FLUSH: number; + const Z_FINISH: number; + const Z_BLOCK: number; + const Z_TREES: number; + + // Return codes for the compression/decompression functions. Negative values are errors, positive values are used for special but normal events. + + const Z_OK: number; + const Z_STREAM_END: number; + const Z_NEED_DICT: number; + const Z_ERRNO: number; + const Z_STREAM_ERROR: number; + const Z_DATA_ERROR: number; + const Z_MEM_ERROR: number; + const Z_BUF_ERROR: number; + const Z_VERSION_ERROR: number; + + // Compression levels. + + const Z_NO_COMPRESSION: number; + const Z_BEST_SPEED: number; + const Z_BEST_COMPRESSION: number; + const Z_DEFAULT_COMPRESSION: number; + + // Compression strategy. + + const Z_FILTERED: number; + const Z_HUFFMAN_ONLY: number; + const Z_RLE: number; + const Z_FIXED: number; + const Z_DEFAULT_STRATEGY: number; + } + + // Constants + const Z_NO_FLUSH: number; + const Z_PARTIAL_FLUSH: number; + const Z_SYNC_FLUSH: number; + const Z_FULL_FLUSH: number; + const Z_FINISH: number; + const Z_BLOCK: number; + const Z_TREES: number; + const Z_OK: number; + const Z_STREAM_END: number; + const Z_NEED_DICT: number; + const Z_ERRNO: number; + const Z_STREAM_ERROR: number; + const Z_DATA_ERROR: number; + const Z_MEM_ERROR: number; + const Z_BUF_ERROR: number; + const Z_VERSION_ERROR: number; + const Z_NO_COMPRESSION: number; + const Z_BEST_SPEED: number; + const Z_BEST_COMPRESSION: number; + const Z_DEFAULT_COMPRESSION: number; + const Z_FILTERED: number; + const Z_HUFFMAN_ONLY: number; + const Z_RLE: number; + const Z_FIXED: number; + const Z_DEFAULT_STRATEGY: number; + const Z_BINARY: number; + const Z_TEXT: number; + const Z_ASCII: number; + const Z_UNKNOWN: number; + const Z_DEFLATED: number; +} + +declare module "os" { + interface CpuInfo { + model: string; + speed: number; + times: { + user: number; + nice: number; + sys: number; + idle: number; + irq: number; + }; + } + + interface NetworkInterfaceBase { + address: string; + netmask: string; + mac: string; + internal: boolean; + cidr: string | null; + } + + interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { + family: "IPv4"; + } + + interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { + family: "IPv6"; + scopeid: number; + } + + type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; + + function hostname(): string; + function loadavg(): number[]; + function uptime(): number; + function freemem(): number; + function totalmem(): number; + function cpus(): CpuInfo[]; + function type(): string; + function release(): string; + function networkInterfaces(): { [index: string]: NetworkInterfaceInfo[] }; + function homedir(): string; + function userInfo(options?: { encoding: string }): { username: string, uid: number, gid: number, shell: any, homedir: string }; + const constants: { + UV_UDP_REUSEADDR: number; + signals: { + SIGHUP: number; + SIGINT: number; + SIGQUIT: number; + SIGILL: number; + SIGTRAP: number; + SIGABRT: number; + SIGIOT: number; + SIGBUS: number; + SIGFPE: number; + SIGKILL: number; + SIGUSR1: number; + SIGSEGV: number; + SIGUSR2: number; + SIGPIPE: number; + SIGALRM: number; + SIGTERM: number; + SIGCHLD: number; + SIGSTKFLT: number; + SIGCONT: number; + SIGSTOP: number; + SIGTSTP: number; + SIGTTIN: number; + SIGTTOU: number; + SIGURG: number; + SIGXCPU: number; + SIGXFSZ: number; + SIGVTALRM: number; + SIGPROF: number; + SIGWINCH: number; + SIGIO: number; + SIGPOLL: number; + SIGPWR: number; + SIGSYS: number; + SIGUNUSED: number; + }; + errno: { + E2BIG: number; + EACCES: number; + EADDRINUSE: number; + EADDRNOTAVAIL: number; + EAFNOSUPPORT: number; + EAGAIN: number; + EALREADY: number; + EBADF: number; + EBADMSG: number; + EBUSY: number; + ECANCELED: number; + ECHILD: number; + ECONNABORTED: number; + ECONNREFUSED: number; + ECONNRESET: number; + EDEADLK: number; + EDESTADDRREQ: number; + EDOM: number; + EDQUOT: number; + EEXIST: number; + EFAULT: number; + EFBIG: number; + EHOSTUNREACH: number; + EIDRM: number; + EILSEQ: number; + EINPROGRESS: number; + EINTR: number; + EINVAL: number; + EIO: number; + EISCONN: number; + EISDIR: number; + ELOOP: number; + EMFILE: number; + EMLINK: number; + EMSGSIZE: number; + EMULTIHOP: number; + ENAMETOOLONG: number; + ENETDOWN: number; + ENETRESET: number; + ENETUNREACH: number; + ENFILE: number; + ENOBUFS: number; + ENODATA: number; + ENODEV: number; + ENOENT: number; + ENOEXEC: number; + ENOLCK: number; + ENOLINK: number; + ENOMEM: number; + ENOMSG: number; + ENOPROTOOPT: number; + ENOSPC: number; + ENOSR: number; + ENOSTR: number; + ENOSYS: number; + ENOTCONN: number; + ENOTDIR: number; + ENOTEMPTY: number; + ENOTSOCK: number; + ENOTSUP: number; + ENOTTY: number; + ENXIO: number; + EOPNOTSUPP: number; + EOVERFLOW: number; + EPERM: number; + EPIPE: number; + EPROTO: number; + EPROTONOSUPPORT: number; + EPROTOTYPE: number; + ERANGE: number; + EROFS: number; + ESPIPE: number; + ESRCH: number; + ESTALE: number; + ETIME: number; + ETIMEDOUT: number; + ETXTBSY: number; + EWOULDBLOCK: number; + EXDEV: number; + }; + priority: { + PRIORITY_LOW: number; + PRIORITY_BELOW_NORMAL: number; + PRIORITY_NORMAL: number; + PRIORITY_ABOVE_NORMAL: number; + PRIORITY_HIGH: number; + PRIORITY_HIGHEST: number; + } + }; + function arch(): string; + function platform(): NodeJS.Platform; + function tmpdir(): string; + const EOL: string; + function endianness(): "BE" | "LE"; + /** + * Gets the priority of a process. + * Defaults to current process. + */ + function getPriority(pid?: number): number; + /** + * Sets the priority of the current process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(priority: number): void; + /** + * Sets the priority of the process specified process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(pid: number, priority: number): void; +} + +declare module "https" { + import * as tls from "tls"; + import * as events from "events"; + import * as http from "http"; + import { URL } from "url"; + + type ServerOptions = tls.SecureContextOptions & tls.TlsOptions; + + type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { + rejectUnauthorized?: boolean; // Defaults to true + servername?: string; // SNI TLS Extension + }; + + interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { + rejectUnauthorized?: boolean; + maxCachedSessions?: number; + } + + class Agent extends http.Agent { + constructor(options?: AgentOptions); + options: AgentOptions; + } + + class Server extends tls.Server { + setTimeout(callback: () => void): this; + setTimeout(msecs?: number, callback?: () => void): this; + timeout: number; + keepAliveTimeout: number; + } + + function createServer(options: ServerOptions, requestListener?: (req: http.IncomingMessage, res: http.ServerResponse) => void): Server; + function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + let globalAgent: Agent; +} + +declare module "punycode" { + function decode(string: string): string; + function encode(string: string): string; + function toUnicode(domain: string): string; + function toASCII(domain: string): string; + const ucs2: ucs2; + interface ucs2 { + decode(string: string): number[]; + encode(codePoints: number[]): string; + } + const version: any; +} + +declare module "repl" { + import * as stream from "stream"; + import * as readline from "readline"; + + interface ReplOptions { + prompt?: string; + input?: NodeJS.ReadableStream; + output?: NodeJS.WritableStream; + terminal?: boolean; + eval?: Function; + useColors?: boolean; + useGlobal?: boolean; + ignoreUndefined?: boolean; + writer?: Function; + completer?: Function; + replMode?: any; + breakEvalOnSigint?: any; + } + + interface REPLServer extends readline.ReadLine { + context: any; + inputStream: NodeJS.ReadableStream; + outputStream: NodeJS.WritableStream; + + defineCommand(keyword: string, cmd: Function | { help: string, action: Function }): void; + displayPrompt(preserveCursor?: boolean): void; + + /** + * events.EventEmitter + * 1. exit + * 2. reset + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "exit", listener: () => void): this; + addListener(event: "reset", listener: (...args: any[]) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "exit"): boolean; + emit(event: "reset", context: any): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "exit", listener: () => void): this; + on(event: "reset", listener: (...args: any[]) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "exit", listener: () => void): this; + once(event: "reset", listener: (...args: any[]) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "exit", listener: () => void): this; + prependListener(event: "reset", listener: (...args: any[]) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "exit", listener: () => void): this; + prependOnceListener(event: "reset", listener: (...args: any[]) => void): this; + } + + function start(options?: string | ReplOptions): REPLServer; + + class Recoverable extends SyntaxError { + err: Error; + + constructor(err: Error); + } +} + +declare module "readline" { + import * as events from "events"; + import * as stream from "stream"; + + interface Key { + sequence?: string; + name?: string; + ctrl?: boolean; + meta?: boolean; + shift?: boolean; + } + + interface ReadLine extends events.EventEmitter { + setPrompt(prompt: string): void; + prompt(preserveCursor?: boolean): void; + question(query: string, callback: (answer: string) => void): void; + pause(): ReadLine; + resume(): ReadLine; + close(): void; + write(data: string | Buffer, key?: Key): void; + + /** + * events.EventEmitter + * 1. close + * 2. line + * 3. pause + * 4. resume + * 5. SIGCONT + * 6. SIGINT + * 7. SIGTSTP + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: any) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: any): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: any) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: any) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: any) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: any) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + } + + type Completer = (line: string) => CompleterResult; + type AsyncCompleter = (line: string, callback: (err: any, result: CompleterResult) => void) => any; + + type CompleterResult = [string[], string]; + + interface ReadLineOptions { + input: NodeJS.ReadableStream; + output?: NodeJS.WritableStream; + completer?: Completer | AsyncCompleter; + terminal?: boolean; + historySize?: number; + prompt?: string; + crlfDelay?: number; + removeHistoryDuplicates?: boolean; + } + + function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): ReadLine; + function createInterface(options: ReadLineOptions): ReadLine; + + function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number): void; + function emitKeypressEvents(stream: NodeJS.ReadableStream, interface?: ReadLine): void; + function moveCursor(stream: NodeJS.WritableStream, dx: number | string, dy: number | string): void; + function clearLine(stream: NodeJS.WritableStream, dir: number): void; + function clearScreenDown(stream: NodeJS.WritableStream): void; +} + +declare module "vm" { + interface Context { } + interface BaseOptions { + /** + * Specifies the filename used in stack traces produced by this script. + * Default: `''`. + */ + filename?: string; + /** + * Specifies the line number offset that is displayed in stack traces produced by this script. + * Default: `0`. + */ + lineOffset?: number; + /** + * Specifies the column number offset that is displayed in stack traces produced by this script. + * Default: `0` + */ + columnOffset?: number; + } + interface ScriptOptions extends BaseOptions { + displayErrors?: boolean; + timeout?: number; + cachedData?: Buffer; + produceCachedData?: boolean; + } + interface RunningScriptOptions extends BaseOptions { + displayErrors?: boolean; + timeout?: number; + } + interface CompileFunctionOptions extends BaseOptions { + /** + * Provides an optional data with V8's code cache data for the supplied source. + */ + cachedData?: Buffer; + /** + * Specifies whether to produce new cache data. + * Default: `false`, + */ + produceCachedData?: boolean; + /** + * The sandbox/context in which the said function should be compiled in. + */ + parsingContext?: Context; + + /** + * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling + */ + contextExtensions?: Object[]; + } + class Script { + constructor(code: string, options?: ScriptOptions); + runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; + runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; + runInThisContext(options?: RunningScriptOptions): any; + } + function createContext(sandbox?: Context): Context; + function isContext(sandbox: Context): boolean; + function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; + function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; + function runInThisContext(code: string, options?: RunningScriptOptions | string): any; + function compileFunction(code: string, params: string[], options: CompileFunctionOptions): Function; +} + +declare module "child_process" { + import * as events from "events"; + import * as stream from "stream"; + import * as net from "net"; + + interface ChildProcess extends events.EventEmitter { + stdin: stream.Writable; + stdout: stream.Readable; + stderr: stream.Readable; + stdio: [stream.Writable, stream.Readable, stream.Readable]; + killed: boolean; + pid: number; + kill(signal?: string): void; + send(message: any, callback?: (error: Error) => void): boolean; + send(message: any, sendHandle?: net.Socket | net.Server, callback?: (error: Error) => void): boolean; + send(message: any, sendHandle?: net.Socket | net.Server, options?: MessageOptions, callback?: (error: Error) => void): boolean; + connected: boolean; + disconnect(): void; + unref(): void; + ref(): void; + + /** + * events.EventEmitter + * 1. close + * 2. disconnect + * 3. error + * 4. exit + * 5. message + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (code: number, signal: string) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (code: number, signal: string) => void): this; + addListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", code: number, signal: string): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "exit", code: number, signal: string): boolean; + emit(event: "message", message: any, sendHandle: net.Socket | net.Server): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (code: number, signal: string) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (code: number, signal: string) => void): this; + on(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (code: number, signal: string) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (code: number, signal: string) => void): this; + once(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (code: number, signal: string) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + } + + interface MessageOptions { + keepOpen?: boolean; + } + + type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | stream.Stream | number | null | undefined)>; + + interface SpawnOptions { + cwd?: string; + env?: NodeJS.ProcessEnv; + argv0?: string; + stdio?: StdioOptions; + detached?: boolean; + uid?: number; + gid?: number; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + windowsHide?: boolean; + } + + function spawn(command: string, args?: ReadonlyArray, options?: SpawnOptions): ChildProcess; + + interface ExecOptions { + cwd?: string; + env?: NodeJS.ProcessEnv; + shell?: string; + timeout?: number; + maxBuffer?: number; + killSignal?: string; + uid?: number; + gid?: number; + windowsHide?: boolean; + } + + interface ExecOptionsWithStringEncoding extends ExecOptions { + encoding: BufferEncoding; + } + + interface ExecOptionsWithBufferEncoding extends ExecOptions { + encoding: string | null; // specify `null`. + } + + interface ExecException extends Error { + cmd?: string; + killed?: boolean; + code?: number; + signal?: string; + } + + // no `options` definitely means stdout/stderr are `string`. + function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function exec(command: string, options: { encoding: string } & ExecOptions, callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function exec( + command: string, + options: ({ encoding?: string | null } & ExecOptions) | undefined | null, + callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exec { + function __promisify__(command: string): Promise<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): Promise<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): Promise<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: ExecOptions): Promise<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options?: ({ encoding?: string | null } & ExecOptions) | null): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ExecFileOptions { + cwd?: string; + env?: NodeJS.ProcessEnv; + timeout?: number; + maxBuffer?: number; + killSignal?: string; + uid?: number; + gid?: number; + windowsHide?: boolean; + windowsVerbatimArguments?: boolean; + } + interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { + encoding: BufferEncoding; + } + interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { + encoding: 'buffer' | null; + } + interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions { + encoding: string; + } + + function execFile(file: string): ChildProcess; + function execFile(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess; + function execFile(file: string, args?: ReadonlyArray | null): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess; + + // no `options` definitely means stdout/stderr are `string`. + function execFile(file: string, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithBufferEncoding, + callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void, + ): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithStringEncoding, + callback: (error: Error | null, stdout: string, stderr: string) => void, + ): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function execFile( + file: string, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function execFile( + file: string, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace execFile { + function __promisify__(file: string): Promise<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null): Promise<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): Promise<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithBufferEncoding): Promise<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): Promise<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithStringEncoding): Promise<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithOtherEncoding): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, options: ExecFileOptions): Promise<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptions): Promise<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__( + file: string, + args: string[] | undefined | null, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + ): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ForkOptions { + cwd?: string; + env?: NodeJS.ProcessEnv; + execPath?: string; + execArgv?: string[]; + silent?: boolean; + stdio?: StdioOptions; + windowsVerbatimArguments?: boolean; + uid?: number; + gid?: number; + } + function fork(modulePath: string, args?: ReadonlyArray, options?: ForkOptions): ChildProcess; + + interface SpawnSyncOptions { + argv0?: string; // Not specified in the docs + cwd?: string; + input?: string | Buffer | NodeJS.TypedArray | DataView; + stdio?: StdioOptions; + env?: NodeJS.ProcessEnv; + uid?: number; + gid?: number; + timeout?: number; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + windowsHide?: boolean; + } + interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { + encoding: BufferEncoding; + } + interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { + encoding: string; // specify `null`. + } + interface SpawnSyncReturns { + pid: number; + output: string[]; + stdout: T; + stderr: T; + status: number; + signal: string; + error: Error; + } + function spawnSync(command: string): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptions): SpawnSyncReturns; + + interface ExecSyncOptions { + cwd?: string; + input?: string | Buffer | Uint8Array; + stdio?: StdioOptions; + env?: NodeJS.ProcessEnv; + shell?: string; + uid?: number; + gid?: number; + timeout?: number; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + windowsHide?: boolean; + } + interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { + encoding: BufferEncoding; + } + interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { + encoding: string; // specify `null`. + } + function execSync(command: string): Buffer; + function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string; + function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer; + function execSync(command: string, options?: ExecSyncOptions): Buffer; + + interface ExecFileSyncOptions { + cwd?: string; + input?: string | Buffer | NodeJS.TypedArray | DataView; + stdio?: StdioOptions; + env?: NodeJS.ProcessEnv; + uid?: number; + gid?: number; + timeout?: number; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + windowsHide?: boolean; + shell?: boolean | string; + } + interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { + encoding: BufferEncoding; + } + interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { + encoding: string; // specify `null`. + } + function execFileSync(command: string): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): Buffer; +} + +declare module "url" { + import { ParsedUrlQuery } from 'querystring'; + + interface UrlObjectCommon { + auth?: string; + hash?: string; + host?: string; + hostname?: string; + href?: string; + path?: string; + pathname?: string; + protocol?: string; + search?: string; + slashes?: boolean; + } + + // Input to `url.format` + interface UrlObject extends UrlObjectCommon { + port?: string | number; + query?: string | null | { [key: string]: any }; + } + + // Output of `url.parse` + interface Url extends UrlObjectCommon { + port?: string; + query?: string | null | ParsedUrlQuery; + } + + interface UrlWithParsedQuery extends Url { + query: ParsedUrlQuery; + } + + interface UrlWithStringQuery extends Url { + query: string | null; + } + + function parse(urlStr: string): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; + function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; + + function format(URL: URL, options?: URLFormatOptions): string; + function format(urlObject: UrlObject | string): string; + function resolve(from: string, to: string): string; + + function domainToASCII(domain: string): string; + function domainToUnicode(domain: string): string; + + /** + * This function ensures the correct decodings of percent-encoded characters as + * well as ensuring a cross-platform valid absolute path string. + * @param url The file URL string or URL object to convert to a path. + */ + function fileURLToPath(url: string | URL): string; + + /** + * This function ensures that path is resolved absolutely, and that the URL + * control characters are correctly encoded when converting into a File URL. + * @param url The path to convert to a File URL. + */ + function pathToFileURL(url: string): URL; + + interface URLFormatOptions { + auth?: boolean; + fragment?: boolean; + search?: boolean; + unicode?: boolean; + } + + class URL { + constructor(input: string, base?: string | URL); + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toString(): string; + toJSON(): string; + } + + class URLSearchParams implements Iterable<[string, string]> { + constructor(init?: URLSearchParams | string | { [key: string]: string | string[] | undefined } | Iterable<[string, string]> | Array<[string, string]>); + append(name: string, value: string): void; + delete(name: string): void; + entries(): IterableIterator<[string, string]>; + forEach(callback: (value: string, name: string, searchParams: this) => void): void; + get(name: string): string | null; + getAll(name: string): string[]; + has(name: string): boolean; + keys(): IterableIterator; + set(name: string, value: string): void; + sort(): void; + toString(): string; + values(): IterableIterator; + [Symbol.iterator](): IterableIterator<[string, string]>; + } +} + +declare module "dns" { + // Supported getaddrinfo flags. + const ADDRCONFIG: number; + const V4MAPPED: number; + + interface LookupOptions { + family?: number; + hints?: number; + all?: boolean; + verbatim?: boolean; + } + + interface LookupOneOptions extends LookupOptions { + all?: false; + } + + interface LookupAllOptions extends LookupOptions { + all: true; + } + + interface LookupAddress { + address: string; + family: number; + } + + function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException, addresses: LookupAddress[]) => void): void; + function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException, address: string | LookupAddress[], family: number) => void): void; + function lookup(hostname: string, callback: (err: NodeJS.ErrnoException, address: string, family: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lookup { + function __promisify__(hostname: string, options: LookupAllOptions): Promise<{ address: LookupAddress[] }>; + function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise<{ address: string, family: number }>; + function __promisify__(hostname: string, options?: LookupOptions | number): Promise<{ address: string | LookupAddress[], family?: number }>; + } + + function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException, hostname: string, service: string) => void): void; + + namespace lookupService { + function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>; + } + + interface ResolveOptions { + ttl: boolean; + } + + interface ResolveWithTtlOptions extends ResolveOptions { + ttl: true; + } + + interface RecordWithTtl { + address: string; + ttl: number; + } + + /** @deprecated Use AnyARecord or AnyAaaaRecord instead. */ + type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord; + + interface AnyARecord extends RecordWithTtl { + type: "A"; + } + + interface AnyAaaaRecord extends RecordWithTtl { + type: "AAAA"; + } + + interface MxRecord { + priority: number; + exchange: string; + } + + interface AnyMxRecord extends MxRecord { + type: "MX"; + } + + interface NaptrRecord { + flags: string; + service: string; + regexp: string; + replacement: string; + order: number; + preference: number; + } + + interface AnyNaptrRecord extends NaptrRecord { + type: "NAPTR"; + } + + interface SoaRecord { + nsname: string; + hostmaster: string; + serial: number; + refresh: number; + retry: number; + expire: number; + minttl: number; + } + + interface AnySoaRecord extends SoaRecord { + type: "SOA"; + } + + interface SrvRecord { + priority: number; + weight: number; + port: number; + name: string; + } + + interface AnySrvRecord extends SrvRecord { + type: "SRV"; + } + + interface AnyTxtRecord { + type: "TXT"; + entries: string[]; + } + + interface AnyNsRecord { + type: "NS"; + value: string; + } + + interface AnyPtrRecord { + type: "PTR"; + value: string; + } + + interface AnyCnameRecord { + type: "CNAME"; + value: string; + } + + type AnyRecord = AnyARecord | + AnyAaaaRecord | + AnyCnameRecord | + AnyMxRecord | + AnyNaptrRecord | + AnyNsRecord | + AnyPtrRecord | + AnySoaRecord | + AnySrvRecord | + AnyTxtRecord; + + function resolve(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException, addresses: AnyRecord[]) => void): void; + function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException, addresses: MxRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException, addresses: NaptrRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException, addresses: SoaRecord) => void): void; + function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException, addresses: SrvRecord[]) => void): void; + function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException, addresses: string[][]) => void): void; + function resolve( + hostname: string, + rrtype: string, + callback: (err: NodeJS.ErrnoException, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve { + function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; + function __promisify__(hostname: string, rrtype: "ANY"): Promise; + function __promisify__(hostname: string, rrtype: "MX"): Promise; + function __promisify__(hostname: string, rrtype: "NAPTR"): Promise; + function __promisify__(hostname: string, rrtype: "SOA"): Promise; + function __promisify__(hostname: string, rrtype: "SRV"): Promise; + function __promisify__(hostname: string, rrtype: "TXT"): Promise; + function __promisify__(hostname: string, rrtype: string): Promise; + } + + function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException, addresses: RecordWithTtl[]) => void): void; + function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve4 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException, addresses: RecordWithTtl[]) => void): void; + function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve6 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + namespace resolveCname { + function __promisify__(hostname: string): Promise; + } + + function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: MxRecord[]) => void): void; + namespace resolveMx { + function __promisify__(hostname: string): Promise; + } + + function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: NaptrRecord[]) => void): void; + namespace resolveNaptr { + function __promisify__(hostname: string): Promise; + } + + function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + namespace resolveNs { + function __promisify__(hostname: string): Promise; + } + + function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[]) => void): void; + namespace resolvePtr { + function __promisify__(hostname: string): Promise; + } + + function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException, address: SoaRecord) => void): void; + namespace resolveSoa { + function __promisify__(hostname: string): Promise; + } + + function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: SrvRecord[]) => void): void; + namespace resolveSrv { + function __promisify__(hostname: string): Promise; + } + + function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: string[][]) => void): void; + namespace resolveTxt { + function __promisify__(hostname: string): Promise; + } + + function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException, addresses: AnyRecord[]) => void): void; + namespace resolveAny { + function __promisify__(hostname: string): Promise; + } + + function reverse(ip: string, callback: (err: NodeJS.ErrnoException, hostnames: string[]) => void): void; + function setServers(servers: string[]): void; + function getServers(): string[]; + + // Error codes + const NODATA: string; + const FORMERR: string; + const SERVFAIL: string; + const NOTFOUND: string; + const NOTIMP: string; + const REFUSED: string; + const BADQUERY: string; + const BADNAME: string; + const BADFAMILY: string; + const BADRESP: string; + const CONNREFUSED: string; + const TIMEOUT: string; + const EOF: string; + const FILE: string; + const NOMEM: string; + const DESTRUCTION: string; + const BADSTR: string; + const BADFLAGS: string; + const NONAME: string; + const BADHINTS: string; + const NOTINITIALIZED: string; + const LOADIPHLPAPI: string; + const ADDRGETNETWORKPARAMS: string; + const CANCELLED: string; + + class Resolver { + getServers: typeof getServers; + setServers: typeof setServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + cancel(): void; + } +} + +declare module "net" { + import * as stream from "stream"; + import * as events from "events"; + import * as dns from "dns"; + + type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + + interface AddressInfo { + address: string; + family: string; + port: number; + } + + interface SocketConstructorOpts { + fd?: number; + allowHalfOpen?: boolean; + readable?: boolean; + writable?: boolean; + } + + interface TcpSocketConnectOpts { + port: number; + host?: string; + localAddress?: string; + localPort?: number; + hints?: number; + family?: number; + lookup?: LookupFunction; + } + + interface IpcSocketConnectOpts { + path: string; + } + + type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; + + class Socket extends stream.Duplex { + constructor(options?: SocketConstructorOpts); + + // Extended base methods + write(buffer: Buffer): boolean; + write(buffer: Buffer, cb?: Function): boolean; + write(str: string, cb?: Function): boolean; + write(str: string, encoding?: string, cb?: Function): boolean; + write(str: string, encoding?: string, fd?: string): boolean; + write(data: any, encoding?: string, callback?: Function): void; + + connect(options: SocketConnectOpts, connectionListener?: Function): this; + connect(port: number, host: string, connectionListener?: Function): this; + connect(port: number, connectionListener?: Function): this; + connect(path: string, connectionListener?: Function): this; + + setEncoding(encoding?: string): this; + pause(): this; + resume(): this; + setTimeout(timeout: number, callback?: Function): this; + setNoDelay(noDelay?: boolean): this; + setKeepAlive(enable?: boolean, initialDelay?: number): this; + address(): AddressInfo | string; + unref(): void; + ref(): void; + + readonly bufferSize: number; + readonly bytesRead: number; + readonly bytesWritten: number; + readonly connecting: boolean; + readonly destroyed: boolean; + readonly localAddress: string; + readonly localPort: number; + readonly remoteAddress?: string; + readonly remoteFamily?: string; + readonly remotePort?: number; + + // Extended base methods + end(): void; + end(buffer: Buffer, cb?: Function): void; + end(str: string, cb?: Function): void; + end(str: string, encoding?: string, cb?: Function): void; + end(data?: any, encoding?: string): void; + + /** + * events.EventEmitter + * 1. close + * 2. connect + * 3. data + * 4. drain + * 5. end + * 6. error + * 7. lookup + * 8. timeout + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (had_error: boolean) => void): this; + addListener(event: "connect", listener: () => void): this; + addListener(event: "data", listener: (data: Buffer) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + addListener(event: "timeout", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", had_error: boolean): boolean; + emit(event: "connect"): boolean; + emit(event: "data", data: Buffer): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean; + emit(event: "timeout"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (had_error: boolean) => void): this; + on(event: "connect", listener: () => void): this; + on(event: "data", listener: (data: Buffer) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + on(event: "timeout", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (had_error: boolean) => void): this; + once(event: "connect", listener: () => void): this; + once(event: "data", listener: (data: Buffer) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + once(event: "timeout", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (had_error: boolean) => void): this; + prependListener(event: "connect", listener: () => void): this; + prependListener(event: "data", listener: (data: Buffer) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependListener(event: "timeout", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (had_error: boolean) => void): this; + prependOnceListener(event: "connect", listener: () => void): this; + prependOnceListener(event: "data", listener: (data: Buffer) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + } + + interface ListenOptions { + port?: number; + host?: string; + backlog?: number; + path?: string; + exclusive?: boolean; + readableAll?: boolean; + writableAll?: boolean; + } + + // https://github.com/nodejs/node/blob/master/lib/net.js + class Server extends events.EventEmitter { + constructor(connectionListener?: (socket: Socket) => void); + constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void); + + listen(port?: number, hostname?: string, backlog?: number, listeningListener?: Function): this; + listen(port?: number, hostname?: string, listeningListener?: Function): this; + listen(port?: number, backlog?: number, listeningListener?: Function): this; + listen(port?: number, listeningListener?: Function): this; + listen(path: string, backlog?: number, listeningListener?: Function): this; + listen(path: string, listeningListener?: Function): this; + listen(options: ListenOptions, listeningListener?: Function): this; + listen(handle: any, backlog?: number, listeningListener?: Function): this; + listen(handle: any, listeningListener?: Function): this; + close(callback?: Function): this; + address(): AddressInfo | string; + getConnections(cb: (error: Error | null, count: number) => void): void; + ref(): this; + unref(): this; + maxConnections: number; + connections: number; + listening: boolean; + + /** + * events.EventEmitter + * 1. close + * 2. connection + * 3. error + * 4. listening + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "connection", listener: (socket: Socket) => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "connection", socket: Socket): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "connection", listener: (socket: Socket) => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "connection", listener: (socket: Socket) => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "connection", listener: (socket: Socket) => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "connection", listener: (socket: Socket) => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + } + + interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; + + function createServer(connectionListener?: (socket: Socket) => void): Server; + function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server; + function connect(options: NetConnectOpts, connectionListener?: Function): Socket; + function connect(port: number, host?: string, connectionListener?: Function): Socket; + function connect(path: string, connectionListener?: Function): Socket; + function createConnection(options: NetConnectOpts, connectionListener?: Function): Socket; + function createConnection(port: number, host?: string, connectionListener?: Function): Socket; + function createConnection(path: string, connectionListener?: Function): Socket; + function isIP(input: string): number; + function isIPv4(input: string): boolean; + function isIPv6(input: string): boolean; +} + +declare module "dgram" { + import { AddressInfo } from "net"; + import * as dns from "dns"; + import * as events from "events"; + + interface RemoteInfo { + address: string; + family: string; + port: number; + } + + interface BindOptions { + port: number; + address?: string; + exclusive?: boolean; + } + + type SocketType = "udp4" | "udp6"; + + interface SocketOptions { + type: SocketType; + reuseAddr?: boolean; + recvBufferSize?: number; + sendBufferSize?: number; + lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException, address: string, family: number) => void) => void; + } + + function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + + class Socket extends events.EventEmitter { + send(msg: Buffer | string | Uint8Array | any[], port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: Buffer | string | Uint8Array, offset: number, length: number, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + bind(port?: number, address?: string, callback?: () => void): void; + bind(port?: number, callback?: () => void): void; + bind(callback?: () => void): void; + bind(options: BindOptions, callback?: Function): void; + close(callback?: () => void): void; + address(): AddressInfo | string; + setBroadcast(flag: boolean): void; + setTTL(ttl: number): void; + setMulticastTTL(ttl: number): void; + setMulticastInterface(multicastInterface: string): void; + setMulticastLoopback(flag: boolean): void; + addMembership(multicastAddress: string, multicastInterface?: string): void; + dropMembership(multicastAddress: string, multicastInterface?: string): void; + ref(): this; + unref(): this; + setRecvBufferSize(size: number): void; + setSendBufferSize(size: number): void; + getRecvBufferSize(): number; + getSendBufferSize(): number; + + /** + * events.EventEmitter + * 1. close + * 2. error + * 3. listening + * 4. message + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + addListener(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + emit(event: "message", msg: Buffer, rinfo: AddressInfo): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + on(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + once(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + prependListener(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this; + } +} + +declare module "fs" { + import * as stream from "stream"; + import * as events from "events"; + import { URL } from "url"; + + /** + * Valid types for path values in "fs". + */ + type PathLike = string | Buffer | URL; + + type BinaryData = Buffer | DataView | NodeJS.TypedArray; + class Stats { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + dev: number; + ino: number; + mode: number; + nlink: number; + uid: number; + gid: number; + rdev: number; + size: number; + blksize: number; + blocks: number; + atimeMs: number; + mtimeMs: number; + ctimeMs: number; + birthtimeMs: number; + atime: Date; + mtime: Date; + ctime: Date; + birthtime: Date; + } + + class Dirent { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + name: string; + } + + interface FSWatcher extends events.EventEmitter { + close(): void; + + /** + * events.EventEmitter + * 1. change + * 2. error + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + on(event: "error", listener: (error: Error) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + once(event: "error", listener: (error: Error) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + } + + class ReadStream extends stream.Readable { + close(): void; + bytesRead: number; + path: string | Buffer; + + /** + * events.EventEmitter + * 1. open + * 2. close + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + class WriteStream extends stream.Writable { + close(): void; + bytesWritten: number; + path: string | Buffer; + + /** + * events.EventEmitter + * 1. open + * 2. close + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace rename { + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(oldPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function renameSync(oldPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len: number | undefined | null, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function truncate(path: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace truncate { + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(path: PathLike, len?: number | null): Promise; + } + + /** + * Synchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncateSync(path: PathLike, len?: number | null): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(fd: number, len: number | undefined | null, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + */ + function ftruncate(fd: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace ftruncate { + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(fd: number, len?: number | null): Promise; + } + + /** + * Synchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function ftruncateSync(fd: number, len?: number | null): void; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace chown { + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function fchown(fd: number, uid: number, gid: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fchown { + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function __promisify__(fd: number, uid: number, gid: number): Promise; + } + + /** + * Synchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function fchownSync(fd: number, uid: number, gid: number): void; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lchown { + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: string | number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace chmod { + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: string | number): Promise; + } + + /** + * Synchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmodSync(path: PathLike, mode: string | number): void; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(fd: number, mode: string | number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fchmod { + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(fd: number, mode: string | number): Promise; + } + + /** + * Synchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmodSync(fd: number, mode: string | number): void; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: string | number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lchmod { + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: string | number): Promise; + } + + /** + * Synchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmodSync(path: PathLike, mode: string | number): void; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike, callback: (err: NodeJS.ErrnoException, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace stat { + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function statSync(path: PathLike): Stats; + + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function fstat(fd: number, callback: (err: NodeJS.ErrnoException, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fstat { + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function fstatSync(fd: number): Stats; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lstat { + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstatSync(path: PathLike): Stats; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace link { + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function linkSync(existingPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type: symlink.Type | undefined | null, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + */ + function symlink(target: PathLike, path: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace symlink { + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise; + + type Type = "dir" | "file" | "junction"; + } + + /** + * Synchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException, linkString: string) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException, linkString: Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException, linkString: string | Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function readlink(path: PathLike, callback: (err: NodeJS.ErrnoException, linkString: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readlink { + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + } + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException, resolvedPath: Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException, resolvedPath: string | Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function realpath(path: PathLike, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace realpath { + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + function native(path: PathLike, options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => void): void; + function native(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException, resolvedPath: Buffer) => void): void; + function native(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException, resolvedPath: string | Buffer) => void): void; + function native(path: PathLike, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => void): void; + } + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + + namespace realpathSync { + function native(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + function native(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + function native(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + } + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace unlink { + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlinkSync(path: PathLike): void; + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace rmdir { + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdirSync(path: PathLike): void; + + export interface MakeDirectoryOptions { + /** + * Indicates whether parent folders should be created. + * @default false + */ + recursive?: boolean; + /** + * A file mode. If a string is passed, it is parsed as an octal integer. If not specified + * @default 0o777. + */ + mode?: number; + } + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, mode: number | string | MakeDirectoryOptions | undefined | null, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronous mkdir(2) - create a directory with a mode of `0o777`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function mkdir(path: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace mkdir { + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function __promisify__(path: PathLike, mode?: number | string | MakeDirectoryOptions | null): Promise; + } + + /** + * Synchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdirSync(path: PathLike, mode?: number | string | MakeDirectoryOptions | null): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException, folder: string) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: "buffer" | { encoding: "buffer" }, callback: (err: NodeJS.ErrnoException, folder: Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException, folder: string | Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + */ + function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException, folder: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace mkdtemp { + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: { encoding?: string | null } | string | null): Promise; + } + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options?: { encoding?: string | null } | string | null): string | Buffer; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir( + path: PathLike, + options: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException, files: string[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer", callback: (err: NodeJS.ErrnoException, files: Buffer[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir( + path: PathLike, + options: { encoding?: string | null; withFileTypes?: false } | string | undefined | null, + callback: (err: NodeJS.ErrnoException, files: string[] | Buffer[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function readdir(path: PathLike, callback: (err: NodeJS.ErrnoException, files: string[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir(path: PathLike, options: { withFileTypes: true }, callback: (err: NodeJS.ErrnoException, files: Dirent[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readdir { + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: "buffer" | { encoding: "buffer"; withFileTypes?: false }): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent + */ + function __promisify__(path: PathLike, options: { withFileTypes: true }): Promise; + } + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): string[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): string[] | Buffer[]; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdirSync(path: PathLike, options: { withFileTypes: true }): Dirent[]; + + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function close(fd: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace close { + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function closeSync(fd: number): void; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode: string | number | undefined | null, callback: (err: NodeJS.ErrnoException, fd: number) => void): void; + + /** + * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function open(path: PathLike, flags: string | number, callback: (err: NodeJS.ErrnoException, fd: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace open { + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function __promisify__(path: PathLike, flags: string | number, mode?: string | number | null): Promise; + } + + /** + * Synchronous open(2) - open and possibly create a file, returning a file descriptor.. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function openSync(path: PathLike, flags: string | number, mode?: string | number | null): number; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace utimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(fd: number, atime: string | number | Date, mtime: string | number | Date, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace futimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimesSync(fd: number, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function fsync(fd: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fsync { + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function fsyncSync(fd: number): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + position: number | undefined | null, + callback: (err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + callback: (err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + */ + function write(fd: number, buffer: TBuffer, offset: number | undefined | null, callback: (err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + */ + function write(fd: number, buffer: TBuffer, callback: (err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write( + fd: number, + string: any, + position: number | undefined | null, + encoding: string | undefined | null, + callback: (err: NodeJS.ErrnoException, written: number, str: string) => void, + ): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write(fd: number, string: any, position: number | undefined | null, callback: (err: NodeJS.ErrnoException, written: number, str: string) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + */ + function write(fd: number, string: any, callback: (err: NodeJS.ErrnoException, written: number, str: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace write { + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function __promisify__( + fd: number, + buffer?: TBuffer, + offset?: number, + length?: number, + position?: number | null, + ): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function __promisify__(fd: number, string: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + } + + /** + * Synchronously writes `buffer` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function writeSync(fd: number, buffer: BinaryData, offset?: number | null, length?: number | null, position?: number | null): number; + + /** + * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function writeSync(fd: number, string: any, position?: number | null, encoding?: string | null): number; + + /** + * Asynchronously reads data from the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function read( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null, + callback?: (err: NodeJS.ErrnoException, bytesRead: number, buffer: TBuffer) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace read { + /** + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function __promisify__(fd: number, buffer: TBuffer, offset: number, length: number, position: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; + } + + /** + * Synchronously reads data from the file referenced by the supplied file descriptor, returning the number of bytes read. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function readSync(fd: number, buffer: BinaryData, offset: number, length: number, position: number | null): number; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | number, options: { encoding?: null; flag?: string; } | undefined | null, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | number, options: { encoding: string; flag?: string; } | string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile( + path: PathLike | number, + options: { encoding?: string | null; flag?: string; } | string | undefined | null, + callback: (err: NodeJS.ErrnoException, data: string | Buffer) => void, + ): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + */ + function readFile(path: PathLike | number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readFile { + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options: { encoding: string; flag?: string; } | string): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: string | null; flag?: string; } | string | null): Promise; + } + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Buffer; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options: { encoding: string; flag?: string; } | string): string; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options?: { encoding?: string | null; flag?: string; } | string | null): string | Buffer; + + type WriteFileOptions = { encoding?: string | null; mode?: number | string; flag?: string; } | string | null; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | number, data: any, options: WriteFileOptions, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + function writeFile(path: PathLike | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace writeFile { + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function __promisify__(path: PathLike | number, data: any, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFileSync(path: PathLike | number, data: any, options?: WriteFileOptions): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(file: PathLike | number, data: any, options: WriteFileOptions, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + function appendFile(file: PathLike | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace appendFile { + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function __promisify__(file: PathLike | number, data: any, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFileSync(file: PathLike | number, data: any, options?: WriteFileOptions): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + */ + function watchFile(filename: PathLike, options: { persistent?: boolean; interval?: number; } | undefined, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function watchFile(filename: PathLike, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Stop watching for changes on `filename`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function unwatchFile(filename: PathLike, listener?: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch( + filename: PathLike, + options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | BufferEncoding | undefined | null, + listener?: (event: string, filename: string) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch(filename: PathLike, options: { encoding: "buffer", persistent?: boolean, recursive?: boolean } | "buffer", listener?: (event: string, filename: Buffer) => void): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch( + filename: PathLike, + options: { encoding?: string | null, persistent?: boolean, recursive?: boolean } | string | null, + listener?: (event: string, filename: string | Buffer) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function watch(filename: PathLike, listener?: (event: string, filename: string) => any): FSWatcher; + + /** + * Asynchronously tests whether or not the given path exists by checking with the file system. + * @deprecated + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function exists(path: PathLike, callback: (exists: boolean) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exists { + /** + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronously tests whether or not the given path exists by checking with the file system. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function existsSync(path: PathLike): boolean; + + namespace constants { + // File Access Constants + + /** Constant for fs.access(). File is visible to the calling process. */ + const F_OK: number; + + /** Constant for fs.access(). File can be read by the calling process. */ + const R_OK: number; + + /** Constant for fs.access(). File can be written by the calling process. */ + const W_OK: number; + + /** Constant for fs.access(). File can be executed by the calling process. */ + const X_OK: number; + + // File Copy Constants + + /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */ + const COPYFILE_EXCL: number; + + /** + * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used. + */ + const COPYFILE_FICLONE: number; + + /** + * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then the operation will fail with an error. + */ + const COPYFILE_FICLONE_FORCE: number; + + // File Open Constants + + /** Constant for fs.open(). Flag indicating to open a file for read-only access. */ + const O_RDONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for write-only access. */ + const O_WRONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for read-write access. */ + const O_RDWR: number; + + /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */ + const O_CREAT: number; + + /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */ + const O_EXCL: number; + + /** + * Constant for fs.open(). Flag indicating that if path identifies a terminal device, + * opening the path shall not cause that terminal to become the controlling terminal for the process + * (if the process does not already have one). + */ + const O_NOCTTY: number; + + /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */ + const O_TRUNC: number; + + /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */ + const O_APPEND: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */ + const O_DIRECTORY: number; + + /** + * constant for fs.open(). + * Flag indicating reading accesses to the file system will no longer result in + * an update to the atime information associated with the file. + * This flag is available on Linux operating systems only. + */ + const O_NOATIME: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */ + const O_NOFOLLOW: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */ + const O_SYNC: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */ + const O_DSYNC: number; + + /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */ + const O_SYMLINK: number; + + /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */ + const O_DIRECT: number; + + /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */ + const O_NONBLOCK: number; + + // File Type Constants + + /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */ + const S_IFMT: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */ + const S_IFREG: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */ + const S_IFDIR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */ + const S_IFCHR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */ + const S_IFBLK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */ + const S_IFIFO: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */ + const S_IFLNK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */ + const S_IFSOCK: number; + + // File Mode Constants + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */ + const S_IRWXU: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */ + const S_IRUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */ + const S_IWUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */ + const S_IXUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */ + const S_IRWXG: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */ + const S_IRGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */ + const S_IWGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */ + const S_IXGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */ + const S_IRWXO: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */ + const S_IROTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */ + const S_IWOTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */ + const S_IXOTH: number; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode: number | undefined, callback: (err: NodeJS.ErrnoException) => void): void; + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace access { + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike, mode?: number): Promise; + } + + /** + * Synchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function accessSync(path: PathLike, mode?: number): void; + + /** + * Returns a new `ReadStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function createReadStream(path: PathLike, options?: string | { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + start?: number; + end?: number; + highWaterMark?: number; + }): ReadStream; + + /** + * Returns a new `WriteStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function createWriteStream(path: PathLike, options?: string | { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + start?: number; + }): WriteStream; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function fdatasync(fd: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fdatasync { + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function fdatasyncSync(fd: number): void; + + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + */ + function copyFile(src: PathLike, dest: PathLike, callback: (err: NodeJS.ErrnoException) => void): void; + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An integer that specifies the behavior of the copy operation. The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags: number, callback: (err: NodeJS.ErrnoException) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace copyFile { + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, + * which causes the copy operation to fail if dest already exists. + */ + function __promisify__(src: PathLike, dst: PathLike, flags?: number): Promise; + } + + /** + * Synchronously copies src to dest. By default, dest is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + function copyFileSync(src: PathLike, dest: PathLike, flags?: number): void; + + namespace promises { + interface FileHandle { + /** + * Gets the file descriptor for this file handle. + */ + readonly fd: number; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for appending. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + appendFile(data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + */ + chown(uid: number, gid: number): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + chmod(mode: string | number): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + */ + datasync(): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + */ + sync(): Promise; + + /** + * Asynchronously reads data from the file. + * The `FileHandle` must have been opened for reading. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + read(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: null, flag?: string | number } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options: { encoding: BufferEncoding, flag?: string | number } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: string | null, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + */ + stat(): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param len If not specified, defaults to `0`. + */ + truncate(len?: number): Promise; + + /** + * Asynchronously change file timestamps of the file. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + utimes(atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously writes `buffer` to the file. + * The `FileHandle` must have been opened for writing. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + write(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + write(data: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + writeFile(data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous close(2) - close a `FileHandle`. + */ + close(): Promise; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode?: number): Promise; + + /** + * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. The only + * supported flag is `fs.constants.COPYFILE_EXCL`, which causes the copy operation to fail if + * `dest` already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags?: number): Promise; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not + * supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode?: string | number): Promise; + + /** + * Asynchronously reads data from the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If + * `null`, data will be read from the current position. + */ + function read( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, + position?: number | null, + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write(handle: FileHandle, string: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len?: number): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param handle A `FileHandle`. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(handle: FileHandle, len?: number): Promise; + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param handle A `FileHandle`. + */ + function fdatasync(handle: FileHandle): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param handle A `FileHandle`. + */ + function fsync(handle: FileHandle): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, mode?: string | number): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + * @param handle A `FileHandle`. + */ + function fstat(handle: FileHandle): Promise; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike): Promise; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike): Promise; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param handle A `FileHandle`. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(handle: FileHandle, mode: string | number): Promise; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: string | number): Promise; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: string | number): Promise; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param handle A `FileHandle`. + */ + function fchown(handle: FileHandle, uid: number, gid: number): Promise; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(handle: FileHandle, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * It is unsafe to call `fsPromises.writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | FileHandle, data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(path: PathLike | FileHandle, data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: null, flag?: string | number } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options: { encoding: BufferEncoding, flag?: string | number } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: string | null, flag?: string | number } | string | null): Promise; + } +} + +declare module "path" { + /** + * A parsed path object generated by path.parse() or consumed by path.format(). + */ + interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; + } + interface FormatInputPathObject { + /** + * The root of the path such as '/' or 'c:\' + */ + root?: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir?: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base?: string; + /** + * The file extension (if any) such as '.html' + */ + ext?: string; + /** + * The file name without extension (if any) such as 'index' + */ + name?: string; + } + + /** + * Normalize a string path, reducing '..' and '.' parts. + * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. + * + * @param p string path to normalize. + */ + function normalize(p: string): string; + /** + * Join all arguments together and normalize the resulting path. + * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown. + * + * @param paths paths to join. + */ + function join(...paths: string[]): string; + /** + * The right-most parameter is considered {to}. Other parameters are considered an array of {from}. + * + * Starting from leftmost {from} paramter, resolves {to} to an absolute path. + * + * If {to} isn't already absolute, {from} arguments are prepended in right to left order, + * until an absolute path is found. If after using all {from} paths still no absolute path is found, + * the current working directory is used as well. The resulting path is normalized, + * and trailing slashes are removed unless the path gets resolved to the root directory. + * + * @param pathSegments string paths to join. Non-string arguments are ignored. + */ + function resolve(...pathSegments: string[]): string; + /** + * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. + * + * @param path path to test. + */ + function isAbsolute(path: string): boolean; + /** + * Solve the relative path from {from} to {to}. + * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve. + */ + function relative(from: string, to: string): string; + /** + * Return the directory name of a path. Similar to the Unix dirname command. + * + * @param p the path to evaluate. + */ + function dirname(p: string): string; + /** + * Return the last portion of a path. Similar to the Unix basename command. + * Often used to extract the file name from a fully qualified path. + * + * @param p the path to evaluate. + * @param ext optionally, an extension to remove from the result. + */ + function basename(p: string, ext?: string): string; + /** + * Return the extension of the path, from the last '.' to end of string in the last portion of the path. + * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string + * + * @param p the path to evaluate. + */ + function extname(p: string): string; + /** + * The platform-specific file separator. '\\' or '/'. + */ + const sep: '\\' | '/'; + /** + * The platform-specific file delimiter. ';' or ':'. + */ + const delimiter: ';' | ':'; + /** + * Returns an object from a path string - the opposite of format(). + * + * @param pathString path to evaluate. + */ + function parse(pathString: string): ParsedPath; + /** + * Returns a path string from an object - the opposite of parse(). + * + * @param pathString path to evaluate. + */ + function format(pathObject: FormatInputPathObject): string; + + namespace posix { + function normalize(p: string): string; + function join(...paths: any[]): string; + function resolve(...pathSegments: any[]): string; + function isAbsolute(p: string): boolean; + function relative(from: string, to: string): string; + function dirname(p: string): string; + function basename(p: string, ext?: string): string; + function extname(p: string): string; + const sep: string; + const delimiter: string; + function parse(p: string): ParsedPath; + function format(pP: FormatInputPathObject): string; + } + + namespace win32 { + function normalize(p: string): string; + function join(...paths: any[]): string; + function resolve(...pathSegments: any[]): string; + function isAbsolute(p: string): boolean; + function relative(from: string, to: string): string; + function dirname(p: string): string; + function basename(p: string, ext?: string): string; + function extname(p: string): string; + const sep: string; + const delimiter: string; + function parse(p: string): ParsedPath; + function format(pP: FormatInputPathObject): string; + } +} + +declare module "string_decoder" { + interface NodeStringDecoder { + write(buffer: Buffer): string; + end(buffer?: Buffer): string; + } + const StringDecoder: { + new(encoding?: string): NodeStringDecoder; + }; +} + +declare module "tls" { + import * as crypto from "crypto"; + import * as dns from "dns"; + import * as net from "net"; + import * as stream from "stream"; + + const CLIENT_RENEG_LIMIT: number; + const CLIENT_RENEG_WINDOW: number; + + interface Certificate { + /** + * Country code. + */ + C: string; + /** + * Street. + */ + ST: string; + /** + * Locality. + */ + L: string; + /** + * Organization. + */ + O: string; + /** + * Organizational unit. + */ + OU: string; + /** + * Common name. + */ + CN: string; + } + + interface PeerCertificate { + subject: Certificate; + issuer: Certificate; + subjectaltname: string; + infoAccess: { [index: string]: string[] | undefined }; + modulus: string; + exponent: string; + valid_from: string; + valid_to: string; + fingerprint: string; + ext_key_usage: string[]; + serialNumber: string; + raw: Buffer; + } + + interface DetailedPeerCertificate extends PeerCertificate { + issuerCertificate: DetailedPeerCertificate; + } + + interface CipherNameAndProtocol { + /** + * The cipher name. + */ + name: string; + /** + * SSL/TLS protocol version. + */ + version: string; + } + + class TLSSocket extends net.Socket { + /** + * Construct a new tls.TLSSocket object from an existing TCP socket. + */ + constructor(socket: net.Socket, options?: { + /** + * An optional TLS context object from tls.createSecureContext() + */ + secureContext?: SecureContext, + /** + * If true the TLS socket will be instantiated in server-mode. + * Defaults to false. + */ + isServer?: boolean, + /** + * An optional net.Server instance. + */ + server?: net.Server, + /** + * If true the server will request a certificate from clients that + * connect and attempt to verify that certificate. Defaults to + * false. + */ + requestCert?: boolean, + /** + * If true the server will reject any connection which is not + * authorized with the list of supplied CAs. This option only has an + * effect if requestCert is true. Defaults to false. + */ + rejectUnauthorized?: boolean, + /** + * An array of strings or a Buffer naming possible NPN protocols. + * (Protocols should be ordered by their priority.) + */ + NPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array, + /** + * An array of strings or a Buffer naming possible ALPN protocols. + * (Protocols should be ordered by their priority.) When the server + * receives both NPN and ALPN extensions from the client, ALPN takes + * precedence over NPN and the server does not send an NPN extension + * to the client. + */ + ALPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array, + /** + * SNICallback(servername, cb) A function that will be + * called if the client supports SNI TLS extension. Two arguments + * will be passed when called: servername and cb. SNICallback should + * invoke cb(null, ctx), where ctx is a SecureContext instance. + * (tls.createSecureContext(...) can be used to get a proper + * SecureContext.) If SNICallback wasn't provided the default callback + * with high-level API will be used (see below). + */ + SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void, + /** + * An optional Buffer instance containing a TLS session. + */ + session?: Buffer, + /** + * If true, specifies that the OCSP status request extension will be + * added to the client hello and an 'OCSPResponse' event will be + * emitted on the socket before establishing a secure communication + */ + requestOCSP?: boolean + }); + + /** + * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false. + */ + authorized: boolean; + /** + * The reason why the peer's certificate has not been verified. + * This property becomes available only when tlsSocket.authorized === false. + */ + authorizationError: Error; + /** + * Static boolean value, always true. + * May be used to distinguish TLS sockets from regular ones. + */ + encrypted: boolean; + /** + * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection. + * @returns Returns an object representing the cipher name + * and the SSL/TLS protocol version of the current connection. + */ + getCipher(): CipherNameAndProtocol; + /** + * Returns an object representing the peer's certificate. + * The returned object has some properties corresponding to the field of the certificate. + * If detailed argument is true the full chain with issuer property will be returned, + * if false only the top certificate without issuer property. + * If the peer does not provide a certificate, it returns null or an empty object. + * @param detailed - If true; the full chain with issuer property will be returned. + * @returns An object representing the peer's certificate. + */ + getPeerCertificate(detailed: true): DetailedPeerCertificate; + getPeerCertificate(detailed?: false): PeerCertificate; + getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; + /** + * Returns a string containing the negotiated SSL/TLS protocol version of the current connection. + * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process. + * The value `null` will be returned for server sockets or disconnected client sockets. + * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information. + * @returns negotiated SSL/TLS protocol version of the current connection + */ + getProtocol(): string | null; + /** + * Could be used to speed up handshake establishment when reconnecting to the server. + * @returns ASN.1 encoded TLS session or undefined if none was negotiated. + */ + getSession(): any; + /** + * NOTE: Works only with client TLS sockets. + * Useful only for debugging, for session reuse provide session option to tls.connect(). + * @returns TLS session ticket or undefined if none was negotiated. + */ + getTLSTicket(): any; + /** + * Initiate TLS renegotiation process. + * + * NOTE: Can be used to request peer's certificate after the secure connection has been established. + * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout. + * @param options - The options may contain the following fields: rejectUnauthorized, + * requestCert (See tls.createServer() for details). + * @param callback - callback(err) will be executed with null as err, once the renegotiation + * is successfully completed. + */ + renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): any; + /** + * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by + * the TLS layer until the entire fragment is received and its integrity is verified; + * large fragments can span multiple roundtrips, and their processing can be delayed due to packet + * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead, + * which may decrease overall server throughput. + * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * @returns Returns true on success, false otherwise. + */ + setMaxSendFragment(size: number): boolean; + + /** + * events.EventEmitter + * 1. OCSPResponse + * 2. secureConnect + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + addListener(event: "secureConnect", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "OCSPResponse", response: Buffer): boolean; + emit(event: "secureConnect"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "OCSPResponse", listener: (response: Buffer) => void): this; + on(event: "secureConnect", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "OCSPResponse", listener: (response: Buffer) => void): this; + once(event: "secureConnect", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependListener(event: "secureConnect", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependOnceListener(event: "secureConnect", listener: () => void): this; + } + + interface TlsOptions extends SecureContextOptions { + handshakeTimeout?: number; + requestCert?: boolean; + rejectUnauthorized?: boolean; + NPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array; + ALPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array; + SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void; + sessionTimeout?: number; + ticketKeys?: Buffer; + } + + interface ConnectionOptions extends SecureContextOptions { + host?: string; + port?: number; + path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. + socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket + rejectUnauthorized?: boolean; // Defaults to true + NPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array; + ALPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array; + checkServerIdentity?: typeof checkServerIdentity; + servername?: string; // SNI TLS Extension + session?: Buffer; + minDHSize?: number; + secureContext?: SecureContext; // If not provided, the entire ConnectionOptions object will be passed to tls.createSecureContext() + lookup?: net.LookupFunction; + } + + class Server extends net.Server { + addContext(hostName: string, credentials: { + key: string; + cert: string; + ca: string; + }): void; + + /** + * events.EventEmitter + * 1. tlsClientError + * 2. newSession + * 3. OCSPRequest + * 4. resumeSession + * 5. secureConnection + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + addListener(event: "newSession", listener: (sessionId: any, sessionData: any, callback: (err: Error, resp: Buffer) => void) => void): this; + addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: Function) => void): this; + addListener(event: "resumeSession", listener: (sessionId: any, callback: (err: Error, sessionData: any) => void) => void): this; + addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean; + emit(event: "newSession", sessionId: any, sessionData: any, callback: (err: Error, resp: Buffer) => void): boolean; + emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: Function): boolean; + emit(event: "resumeSession", sessionId: any, callback: (err: Error, sessionData: any) => void): boolean; + emit(event: "secureConnection", tlsSocket: TLSSocket): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + on(event: "newSession", listener: (sessionId: any, sessionData: any, callback: (err: Error, resp: Buffer) => void) => void): this; + on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: Function) => void): this; + on(event: "resumeSession", listener: (sessionId: any, callback: (err: Error, sessionData: any) => void) => void): this; + on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + once(event: "newSession", listener: (sessionId: any, sessionData: any, callback: (err: Error, resp: Buffer) => void) => void): this; + once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: Function) => void): this; + once(event: "resumeSession", listener: (sessionId: any, callback: (err: Error, sessionData: any) => void) => void): this; + once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependListener(event: "newSession", listener: (sessionId: any, sessionData: any, callback: (err: Error, resp: Buffer) => void) => void): this; + prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: Function) => void): this; + prependListener(event: "resumeSession", listener: (sessionId: any, callback: (err: Error, sessionData: any) => void) => void): this; + prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "newSession", listener: (sessionId: any, sessionData: any, callback: (err: Error, resp: Buffer) => void) => void): this; + prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: Function) => void): this; + prependOnceListener(event: "resumeSession", listener: (sessionId: any, callback: (err: Error, sessionData: any) => void) => void): this; + prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + } + + interface SecurePair { + encrypted: any; + cleartext: any; + } + + interface SecureContextOptions { + pfx?: string | Buffer | Array; + key?: string | Buffer | Array; + passphrase?: string; + cert?: string | Buffer | Array; + ca?: string | Buffer | Array; + ciphers?: string; + honorCipherOrder?: boolean; + ecdhCurve?: string; + clientCertEngine?: string; + crl?: string | Buffer | Array; + dhparam?: string | Buffer; + secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options + secureProtocol?: string; // SSL Method, e.g. SSLv23_method + sessionIdContext?: string; + } + + interface SecureContext { + context: any; + } + + /* + * Verifies the certificate `cert` is issued to host `host`. + * @host The hostname to verify the certificate against + * @cert PeerCertificate representing the peer's certificate + * + * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined. + */ + function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined; + function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; + function connect(options: ConnectionOptions, secureConnectionListener?: () => void): TLSSocket; + function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function createSecurePair(credentials?: crypto.Credentials, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair; + function createSecureContext(details: SecureContextOptions): SecureContext; + function getCiphers(): string[]; + + const DEFAULT_ECDH_CURVE: string; +} + +declare module "crypto" { + import * as stream from "stream"; + + interface Certificate { + exportChallenge(spkac: string | Buffer | NodeJS.TypedArray | DataView): Buffer; + exportPublicKey(spkac: string | Buffer | NodeJS.TypedArray | DataView): Buffer; + verifySpkac(spkac: Buffer | NodeJS.TypedArray | DataView): boolean; + } + const Certificate: { + new(): Certificate; + (): Certificate; + }; + + /** @deprecated since v10.0.0 */ + const fips: boolean; + + interface CredentialDetails { + pfx: string; + key: string; + passphrase: string; + cert: string; + ca: string | string[]; + crl: string | string[]; + ciphers: string; + } + interface Credentials { context?: any; } + function createCredentials(details: CredentialDetails): Credentials; + function createHash(algorithm: string, options?: stream.TransformOptions): Hash; + function createHmac(algorithm: string, key: string | Buffer | NodeJS.TypedArray | DataView, options?: stream.TransformOptions): Hmac; + + type Utf8AsciiLatin1Encoding = "utf8" | "ascii" | "latin1"; + type HexBase64Latin1Encoding = "latin1" | "hex" | "base64"; + type Utf8AsciiBinaryEncoding = "utf8" | "ascii" | "binary"; + type HexBase64BinaryEncoding = "binary" | "base64" | "hex"; + type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid"; + + interface Hash extends NodeJS.ReadWriteStream { + update(data: string | Buffer | NodeJS.TypedArray | DataView): Hash; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hash; + digest(): Buffer; + digest(encoding: HexBase64Latin1Encoding): string; + } + interface Hmac extends NodeJS.ReadWriteStream { + update(data: string | Buffer | NodeJS.TypedArray | DataView): Hmac; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hmac; + digest(): Buffer; + digest(encoding: HexBase64Latin1Encoding): string; + } + type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm'; + type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm'; + interface CipherCCMOptions extends stream.TransformOptions { + authTagLength: number; + } + interface CipherGCMOptions extends stream.TransformOptions { + authTagLength?: number; + } + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: CipherCCMTypes, password: string | Buffer | NodeJS.TypedArray | DataView, options: CipherCCMOptions): CipherCCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: CipherGCMTypes, password: string | Buffer | NodeJS.TypedArray | DataView, options?: CipherGCMOptions): CipherGCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: string, password: string | Buffer | NodeJS.TypedArray | DataView, options?: stream.TransformOptions): Cipher; + + function createCipheriv(algorithm: CipherCCMTypes, key: string | Buffer | NodeJS.TypedArray | DataView, iv: string | Buffer | NodeJS.TypedArray | DataView, options: CipherCCMOptions): CipherCCM; + function createCipheriv(algorithm: CipherGCMTypes, key: string | Buffer | NodeJS.TypedArray | DataView, iv: string | Buffer | NodeJS.TypedArray | DataView, options?: CipherGCMOptions): CipherGCM; + function createCipheriv(algorithm: string, key: string | Buffer | NodeJS.TypedArray | DataView, iv: string | Buffer | NodeJS.TypedArray | DataView, options?: stream.TransformOptions): Cipher; + + interface Cipher extends NodeJS.ReadWriteStream { + update(data: string | Buffer | NodeJS.TypedArray | DataView): Buffer; + update(data: string, input_encoding: Utf8AsciiBinaryEncoding): Buffer; + update(data: Buffer | NodeJS.TypedArray | DataView, output_encoding: HexBase64BinaryEncoding): string; + update(data: Buffer | NodeJS.TypedArray | DataView, input_encoding: any, output_encoding: HexBase64BinaryEncoding): string; + // second arg ignored + update(data: string, input_encoding: Utf8AsciiBinaryEncoding, output_encoding: HexBase64BinaryEncoding): string; + final(): Buffer; + final(output_encoding: string): string; + setAutoPadding(auto_padding?: boolean): this; + // getAuthTag(): Buffer; + // setAAD(buffer: Buffer): this; // docs only say buffer + } + interface CipherCCM extends Cipher { + setAAD(buffer: Buffer, options: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + interface CipherGCM extends Cipher { + setAAD(buffer: Buffer, options?: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: CipherCCMTypes, password: string | Buffer | NodeJS.TypedArray | DataView, options: CipherCCMOptions): DecipherCCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: CipherGCMTypes, password: string | Buffer | NodeJS.TypedArray | DataView, options?: CipherGCMOptions): DecipherGCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: string, password: string | Buffer | NodeJS.TypedArray | DataView, options?: stream.TransformOptions): Decipher; + + function createDecipheriv( + algorithm: CipherCCMTypes, + key: string | Buffer | NodeJS.TypedArray | DataView, + iv: string | Buffer | NodeJS.TypedArray | DataView, + options: CipherCCMOptions, + ): DecipherCCM; + function createDecipheriv( + algorithm: CipherGCMTypes, + key: string | Buffer | NodeJS.TypedArray | DataView, + iv: string | Buffer | NodeJS.TypedArray | DataView, + options?: CipherGCMOptions, + ): DecipherGCM; + function createDecipheriv(algorithm: string, key: string | Buffer | NodeJS.TypedArray | DataView, iv: string | Buffer | NodeJS.TypedArray | DataView, options?: stream.TransformOptions): Decipher; + + interface Decipher extends NodeJS.ReadWriteStream { + update(data: Buffer | NodeJS.TypedArray | DataView): Buffer; + update(data: string, input_encoding: HexBase64BinaryEncoding): Buffer; + update(data: Buffer | NodeJS.TypedArray | DataView, input_encoding: any, output_encoding: Utf8AsciiBinaryEncoding): string; + // second arg is ignored + update(data: string, input_encoding: HexBase64BinaryEncoding, output_encoding: Utf8AsciiBinaryEncoding): string; + final(): Buffer; + final(output_encoding: string): string; + setAutoPadding(auto_padding?: boolean): this; + // setAuthTag(tag: Buffer | NodeJS.TypedArray | DataView): this; + // setAAD(buffer: Buffer | NodeJS.TypedArray | DataView): this; + } + interface DecipherCCM extends Decipher { + setAuthTag(buffer: Buffer | NodeJS.TypedArray | DataView): this; + setAAD(buffer: Buffer | NodeJS.TypedArray | DataView, options: { plaintextLength: number }): this; + } + interface DecipherGCM extends Decipher { + setAuthTag(buffer: Buffer | NodeJS.TypedArray | DataView): this; + setAAD(buffer: Buffer | NodeJS.TypedArray | DataView, options?: { plaintextLength: number }): this; + } + + function createSign(algorithm: string, options?: stream.WritableOptions): Signer; + interface Signer extends NodeJS.WritableStream { + update(data: string | Buffer | NodeJS.TypedArray | DataView): Signer; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Signer; + sign(private_key: string | { key: string; passphrase: string, padding?: number, saltLength?: number }): Buffer; + sign(private_key: string | { key: string; passphrase: string, padding?: number, saltLength?: number }, output_format: HexBase64Latin1Encoding): string; + } + function createVerify(algorith: string, options?: stream.WritableOptions): Verify; + interface Verify extends NodeJS.WritableStream { + update(data: string | Buffer | NodeJS.TypedArray | DataView): Verify; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Verify; + verify(object: string | Object, signature: Buffer | NodeJS.TypedArray | DataView): boolean; + verify(object: string | Object, signature: string, signature_format: HexBase64Latin1Encoding): boolean; + // https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format + // The signature field accepts a TypedArray type, but it is only available starting ES2017 + } + function createDiffieHellman(prime_length: number, generator?: number | Buffer | NodeJS.TypedArray | DataView): DiffieHellman; + function createDiffieHellman(prime: Buffer | NodeJS.TypedArray | DataView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: number | Buffer | NodeJS.TypedArray | DataView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: string, generator_encoding: HexBase64Latin1Encoding): DiffieHellman; + interface DiffieHellman { + generateKeys(): Buffer; + generateKeys(encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: Buffer | NodeJS.TypedArray | DataView): Buffer; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer; + computeSecret(other_public_key: Buffer | NodeJS.TypedArray | DataView, output_encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string; + getPrime(): Buffer; + getPrime(encoding: HexBase64Latin1Encoding): string; + getGenerator(): Buffer; + getGenerator(encoding: HexBase64Latin1Encoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: HexBase64Latin1Encoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: HexBase64Latin1Encoding): string; + setPublicKey(public_key: Buffer | NodeJS.TypedArray | DataView): void; + setPublicKey(public_key: string, encoding: string): void; + setPrivateKey(private_key: Buffer | NodeJS.TypedArray | DataView): void; + setPrivateKey(private_key: string, encoding: string): void; + verifyError: number; + } + function getDiffieHellman(group_name: string): DiffieHellman; + function pbkdf2( + password: string | Buffer | NodeJS.TypedArray | DataView, + salt: string | Buffer | NodeJS.TypedArray | DataView, + iterations: number, + keylen: number, + digest: string, + callback: (err: Error | null, derivedKey: Buffer) => any, + ): void; + function pbkdf2Sync(password: string | Buffer | NodeJS.TypedArray | DataView, salt: string | Buffer | NodeJS.TypedArray | DataView, iterations: number, keylen: number, digest: string): Buffer; + + function randomBytes(size: number): Buffer; + function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + function pseudoRandomBytes(size: number): Buffer; + function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + + function randomFillSync(buffer: T, offset?: number, size?: number): T; + function randomFill(buffer: T, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, size: number, callback: (err: Error | null, buf: T) => void): void; + + interface ScryptOptions { + N?: number; + r?: number; + p?: number; + maxmem?: number; + } + function scrypt( + password: string | Buffer | NodeJS.TypedArray | DataView, + salt: string | Buffer | NodeJS.TypedArray | DataView, + keylen: number, callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scrypt( + password: string | Buffer | NodeJS.TypedArray | DataView, + salt: string | Buffer | NodeJS.TypedArray | DataView, + keylen: number, + options: ScryptOptions, + callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scryptSync(password: string | Buffer | NodeJS.TypedArray | DataView, salt: string | Buffer | NodeJS.TypedArray | DataView, keylen: number, options?: ScryptOptions): Buffer; + + interface RsaPublicKey { + key: string; + padding?: number; + } + interface RsaPrivateKey { + key: string; + passphrase?: string; + padding?: number; + } + function publicEncrypt(public_key: string | RsaPublicKey, buffer: Buffer | NodeJS.TypedArray | DataView): Buffer; + function privateDecrypt(private_key: string | RsaPrivateKey, buffer: Buffer | NodeJS.TypedArray | DataView): Buffer; + function privateEncrypt(private_key: string | RsaPrivateKey, buffer: Buffer | NodeJS.TypedArray | DataView): Buffer; + function publicDecrypt(public_key: string | RsaPublicKey, buffer: Buffer | NodeJS.TypedArray | DataView): Buffer; + function getCiphers(): string[]; + function getCurves(): string[]; + function getHashes(): string[]; + class ECDH { + static convertKey( + key: string | Buffer | NodeJS.TypedArray | DataView, + curve: string, + inputEncoding?: HexBase64Latin1Encoding, + outputEncoding?: "latin1" | "hex" | "base64", + format?: "uncompressed" | "compressed" | "hybrid", + ): Buffer | string; + generateKeys(): Buffer; + generateKeys(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string; + computeSecret(other_public_key: Buffer | NodeJS.TypedArray | DataView): Buffer; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer; + computeSecret(other_public_key: Buffer | NodeJS.TypedArray | DataView, output_encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: HexBase64Latin1Encoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string; + setPrivateKey(private_key: Buffer | NodeJS.TypedArray | DataView): void; + setPrivateKey(private_key: string, encoding: HexBase64Latin1Encoding): void; + } + function createECDH(curve_name: string): ECDH; + function timingSafeEqual(a: Buffer | NodeJS.TypedArray | DataView, b: Buffer | NodeJS.TypedArray | DataView): boolean; + /** @deprecated since v10.0.0 */ + const DEFAULT_ENCODING: string; + + export type KeyType = 'rsa' | 'dsa' | 'ec'; + export type KeyFormat = 'pem' | 'der'; + + interface BasePrivateKeyEncodingOptions { + format: T; + ciper: string; + passphrase: string; + } + + interface RSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * @default 0x10001 + */ + publicExponent?: number; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs1' | 'pkcs8'; + }; + } + + interface DSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Size of q in bits + */ + divisorLength: number; + + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface ECKeyPairOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'sec1' | 'pkcs8'; + }; + } + + interface KeyPairSyncResult { + publicKey: T1; + privateKey: T2; + } + + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'der'>): KeyPairSyncResult; +} + +declare module "stream" { + import * as events from "events"; + + class internal extends events.EventEmitter { + pipe(destination: T, options?: { end?: boolean; }): T; + } + + namespace internal { + class Stream extends internal { } + + interface ReadableOptions { + highWaterMark?: number; + encoding?: string; + objectMode?: boolean; + read?(this: Readable, size: number): void; + destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void; + } + + class Readable extends Stream implements NodeJS.ReadableStream { + readable: boolean; + readonly readableHighWaterMark: number; + readonly readableLength: number; + constructor(opts?: ReadableOptions); + _read(size: number): void; + read(size?: number): any; + setEncoding(encoding: string): this; + pause(): this; + resume(): this; + isPaused(): boolean; + unpipe(destination?: NodeJS.WritableStream): this; + unshift(chunk: any): void; + wrap(oldStream: NodeJS.ReadableStream): this; + push(chunk: any, encoding?: string): boolean; + _destroy(error: Error | null, callback: (error: Error | null) => void): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. data + * 3. end + * 4. readable + * 5. error + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: any) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "data", chunk: any): boolean; + emit(event: "end"): boolean; + emit(event: "readable"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: any) => void): this; + on(event: "end", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: any) => void): this; + once(event: "end", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: any) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: any) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "data", listener: (chunk: any) => void): this; + removeListener(event: "end", listener: () => void): this; + removeListener(event: "readable", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableOptions { + highWaterMark?: number; + decodeStrings?: boolean; + objectMode?: boolean; + write?(this: Writable, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Writable, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void; + final?(this: Writable, callback: (error?: Error | null) => void): void; + } + + class Writable extends Stream implements NodeJS.WritableStream { + writable: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + constructor(opts?: WritableOptions); + _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: string): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding?: string, cb?: () => void): void; + cork(): void; + uncork(): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. drain + * 3. error + * 4. finish + * 5. pipe + * 6. unpipe + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: Readable) => void): this; + addListener(event: "unpipe", listener: (src: Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: Readable): boolean; + emit(event: "unpipe", src: Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: Readable) => void): this; + on(event: "unpipe", listener: (src: Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: Readable) => void): this; + once(event: "unpipe", listener: (src: Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: Readable) => void): this; + prependListener(event: "unpipe", listener: (src: Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "drain", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "finish", listener: () => void): this; + removeListener(event: "pipe", listener: (src: Readable) => void): this; + removeListener(event: "unpipe", listener: (src: Readable) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DuplexOptions extends ReadableOptions, WritableOptions { + allowHalfOpen?: boolean; + readableObjectMode?: boolean; + writableObjectMode?: boolean; + read?(this: Duplex, size: number): void; + write?(this: Duplex, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + final?(this: Duplex, callback: (error?: Error | null) => void): void; + destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void; + } + + // Note: Duplex extends both Readable and Writable. + class Duplex extends Readable implements Writable { + writable: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + constructor(opts?: DuplexOptions); + _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: string): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding?: string, cb?: () => void): void; + cork(): void; + uncork(): void; + } + + type TransformCallback = (error?: Error, data?: any) => void; + + interface TransformOptions extends DuplexOptions { + read?(this: Transform, size: number): void; + write?(this: Transform, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Transform, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + final?(this: Transform, callback: (error?: Error | null) => void): void; + destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void; + transform?(this: Transform, chunk: any, encoding: string, callback: TransformCallback): void; + flush?(this: Transform, callback: TransformCallback): void; + } + + class Transform extends Duplex { + constructor(opts?: TransformOptions); + _transform(chunk: any, encoding: string, callback: TransformCallback): void; + _flush(callback: TransformCallback): void; + } + + class PassThrough extends Transform { } + + function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException) => void): () => void; + namespace finished { + function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream): Promise; + } + + function pipeline(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException) => void): T; + function pipeline(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException) => void): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: T, + callback?: (err: NodeJS.ErrnoException) => void, + ): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: T, + callback?: (err: NodeJS.ErrnoException) => void, + ): T; + function pipeline(streams: Array, callback?: (err: NodeJS.ErrnoException) => void): NodeJS.WritableStream; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array void)>, + ): NodeJS.WritableStream; + namespace pipeline { + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: NodeJS.WritableStream, + ): Promise; + function __promisify__(streams: Array): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array, + ): Promise; + } + } + + export = internal; +} + +declare module "util" { + interface InspectOptions extends NodeJS.InspectOptions { } + function format(format: any, ...param: any[]): string; + function formatWithOptions(inspectOptions: InspectOptions, format: string, ...param: any[]): string; + /** @deprecated since v0.11.3 - use `console.error()` instead. */ + function debug(string: string): void; + /** @deprecated since v0.11.3 - use `console.error()` instead. */ + function error(...param: any[]): void; + /** @deprecated since v0.11.3 - use `console.log()` instead. */ + function puts(...param: any[]): void; + /** @deprecated since v0.11.3 - use `console.log()` instead. */ + function print(...param: any[]): void; + /** @deprecated since v0.11.3 - use a third party module instead. */ + function log(string: string): void; + const inspect: { + (object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; + (object: any, options: InspectOptions): string; + colors: { + [color: string]: [number, number] | undefined + } + styles: { + [style: string]: string | undefined + } + defaultOptions: InspectOptions; + custom: symbol; + }; + /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ + function isArray(object: any): object is any[]; + /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ + function isRegExp(object: any): object is RegExp; + /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ + function isDate(object: any): object is Date; + /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ + function isError(object: any): object is Error; + function inherits(constructor: any, superConstructor: any): void; + function debuglog(key: string): (msg: string, ...param: any[]) => void; + /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ + function isBoolean(object: any): object is boolean; + /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ + function isBuffer(object: any): object is Buffer; + /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ + function isFunction(object: any): boolean; + /** @deprecated since v4.0.0 - use `value === null` instead. */ + function isNull(object: any): object is null; + /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ + function isNullOrUndefined(object: any): object is null | undefined; + /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ + function isNumber(object: any): object is number; + /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ + function isObject(object: any): boolean; + /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ + function isPrimitive(object: any): boolean; + /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ + function isString(object: any): object is string; + /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ + function isSymbol(object: any): object is symbol; + /** @deprecated since v4.0.0 - use `value === undefined` instead. */ + function isUndefined(object: any): object is undefined; + function deprecate(fn: T, message: string): T; + function isDeepStrictEqual(val1: any, val2: any): boolean; + + interface CustomPromisify extends Function { + __promisify__: TCustom; + } + + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + + function promisify(fn: CustomPromisify): TCustom; + function promisify(fn: (callback: (err: Error | null, result: TResult) => void) => void): () => Promise; + function promisify(fn: (callback: (err?: Error | null) => void) => void): () => Promise; + function promisify(fn: (arg1: T1, callback: (err: Error | null, result: TResult) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, callback: (err?: Error | null) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err: Error | null, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: Error | null) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: Error | null, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: Error | null) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: Error | null, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: Error | null) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: Error | null, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: Error | null) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify(fn: Function): Function; + namespace promisify { + const custom: symbol; + } + + namespace types { + function isAnyArrayBuffer(object: any): boolean; + function isArgumentsObject(object: any): object is IArguments; + function isArrayBuffer(object: any): object is ArrayBuffer; + function isAsyncFunction(object: any): boolean; + function isBooleanObject(object: any): object is Boolean; + function isBoxedPrimitive(object: any): object is (Number | Boolean | String | Symbol /* BigInt */); + function isDataView(object: any): object is DataView; + function isDate(object: any): object is Date; + function isExternal(object: any): boolean; + function isFloat32Array(object: any): object is Float32Array; + function isFloat64Array(object: any): object is Float64Array; + function isGeneratorFunction(object: any): boolean; + function isGeneratorObject(object: any): boolean; + function isInt8Array(object: any): object is Int8Array; + function isInt16Array(object: any): object is Int16Array; + function isInt32Array(object: any): object is Int32Array; + function isMap(object: any): boolean; + function isMapIterator(object: any): boolean; + function isNativeError(object: any): object is Error; + function isNumberObject(object: any): object is Number; + function isPromise(object: any): boolean; + function isProxy(object: any): boolean; + function isRegExp(object: any): object is RegExp; + function isSet(object: any): boolean; + function isSetIterator(object: any): boolean; + function isSharedArrayBuffer(object: any): boolean; + function isStringObject(object: any): boolean; + function isSymbolObject(object: any): boolean; + function isTypedArray(object: any): object is NodeJS.TypedArray; + function isUint8Array(object: any): object is Uint8Array; + function isUint8ClampedArray(object: any): object is Uint8ClampedArray; + function isUint16Array(object: any): object is Uint16Array; + function isUint32Array(object: any): object is Uint32Array; + function isWeakMap(object: any): boolean; + function isWeakSet(object: any): boolean; + function isWebAssemblyCompiledModule(object: any): boolean; + } + + class TextDecoder { + readonly encoding: string; + readonly fatal: boolean; + readonly ignoreBOM: boolean; + constructor( + encoding?: string, + options?: { fatal?: boolean; ignoreBOM?: boolean } + ); + decode( + input?: NodeJS.TypedArray | DataView | ArrayBuffer | null, + options?: { stream?: boolean } + ): string; + } + + class TextEncoder { + readonly encoding: string; + constructor(); + encode(input?: string): Uint8Array; + } +} + +declare module "assert" { + function internal(value: any, message?: string | Error): void; + namespace internal { + class AssertionError implements Error { + name: string; + message: string; + actual: any; + expected: any; + operator: string; + generatedMessage: boolean; + code: 'ERR_ASSERTION'; + + constructor(options?: { + message?: string; actual?: any; expected?: any; + operator?: string; stackStartFn?: Function + }); + } + + function fail(message?: string | Error): never; + /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ + function fail(actual: any, expected: any, message?: string | Error, operator?: string, stackStartFn?: Function): never; + function ok(value: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use strictEqual() instead. */ + function equal(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ + function notEqual(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ + function deepEqual(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ + function notDeepEqual(actual: any, expected: any, message?: string | Error): void; + function strictEqual(actual: any, expected: any, message?: string | Error): void; + function notStrictEqual(actual: any, expected: any, message?: string | Error): void; + function deepStrictEqual(actual: any, expected: any, message?: string | Error): void; + function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; + + function throws(block: Function, message?: string | Error): void; + function throws(block: Function, error: RegExp | Function | Object | Error, message?: string | Error): void; + function doesNotThrow(block: Function, message?: string | Error): void; + function doesNotThrow(block: Function, error: RegExp | Function, message?: string | Error): void; + + function ifError(value: any): void; + + function rejects(block: Function | Promise, message?: string | Error): Promise; + function rejects(block: Function | Promise, error: RegExp | Function | Object | Error, message?: string | Error): Promise; + function doesNotReject(block: Function | Promise, message?: string | Error): Promise; + function doesNotReject(block: Function | Promise, error: RegExp | Function, message?: string | Error): Promise; + + const strict: typeof internal; + } + + export = internal; +} + +declare module "tty" { + import * as net from "net"; + + function isatty(fd: number): boolean; + class ReadStream extends net.Socket { + isRaw: boolean; + setRawMode(mode: boolean): void; + isTTY: boolean; + } + class WriteStream extends net.Socket { + columns: number; + rows: number; + isTTY: boolean; + } +} + +declare module "domain" { + import * as events from "events"; + + class Domain extends events.EventEmitter implements NodeJS.Domain { + run(fn: Function): void; + add(emitter: events.EventEmitter): void; + remove(emitter: events.EventEmitter): void; + bind(cb: (err: Error, data: any) => any): any; + intercept(cb: (data: any) => any): any; + members: any[]; + enter(): void; + exit(): void; + } + + function create(): Domain; +} + +declare module "constants" { + const E2BIG: number; + const EACCES: number; + const EADDRINUSE: number; + const EADDRNOTAVAIL: number; + const EAFNOSUPPORT: number; + const EAGAIN: number; + const EALREADY: number; + const EBADF: number; + const EBADMSG: number; + const EBUSY: number; + const ECANCELED: number; + const ECHILD: number; + const ECONNABORTED: number; + const ECONNREFUSED: number; + const ECONNRESET: number; + const EDEADLK: number; + const EDESTADDRREQ: number; + const EDOM: number; + const EEXIST: number; + const EFAULT: number; + const EFBIG: number; + const EHOSTUNREACH: number; + const EIDRM: number; + const EILSEQ: number; + const EINPROGRESS: number; + const EINTR: number; + const EINVAL: number; + const EIO: number; + const EISCONN: number; + const EISDIR: number; + const ELOOP: number; + const EMFILE: number; + const EMLINK: number; + const EMSGSIZE: number; + const ENAMETOOLONG: number; + const ENETDOWN: number; + const ENETRESET: number; + const ENETUNREACH: number; + const ENFILE: number; + const ENOBUFS: number; + const ENODATA: number; + const ENODEV: number; + const ENOENT: number; + const ENOEXEC: number; + const ENOLCK: number; + const ENOLINK: number; + const ENOMEM: number; + const ENOMSG: number; + const ENOPROTOOPT: number; + const ENOSPC: number; + const ENOSR: number; + const ENOSTR: number; + const ENOSYS: number; + const ENOTCONN: number; + const ENOTDIR: number; + const ENOTEMPTY: number; + const ENOTSOCK: number; + const ENOTSUP: number; + const ENOTTY: number; + const ENXIO: number; + const EOPNOTSUPP: number; + const EOVERFLOW: number; + const EPERM: number; + const EPIPE: number; + const EPROTO: number; + const EPROTONOSUPPORT: number; + const EPROTOTYPE: number; + const ERANGE: number; + const EROFS: number; + const ESPIPE: number; + const ESRCH: number; + const ETIME: number; + const ETIMEDOUT: number; + const ETXTBSY: number; + const EWOULDBLOCK: number; + const EXDEV: number; + const WSAEINTR: number; + const WSAEBADF: number; + const WSAEACCES: number; + const WSAEFAULT: number; + const WSAEINVAL: number; + const WSAEMFILE: number; + const WSAEWOULDBLOCK: number; + const WSAEINPROGRESS: number; + const WSAEALREADY: number; + const WSAENOTSOCK: number; + const WSAEDESTADDRREQ: number; + const WSAEMSGSIZE: number; + const WSAEPROTOTYPE: number; + const WSAENOPROTOOPT: number; + const WSAEPROTONOSUPPORT: number; + const WSAESOCKTNOSUPPORT: number; + const WSAEOPNOTSUPP: number; + const WSAEPFNOSUPPORT: number; + const WSAEAFNOSUPPORT: number; + const WSAEADDRINUSE: number; + const WSAEADDRNOTAVAIL: number; + const WSAENETDOWN: number; + const WSAENETUNREACH: number; + const WSAENETRESET: number; + const WSAECONNABORTED: number; + const WSAECONNRESET: number; + const WSAENOBUFS: number; + const WSAEISCONN: number; + const WSAENOTCONN: number; + const WSAESHUTDOWN: number; + const WSAETOOMANYREFS: number; + const WSAETIMEDOUT: number; + const WSAECONNREFUSED: number; + const WSAELOOP: number; + const WSAENAMETOOLONG: number; + const WSAEHOSTDOWN: number; + const WSAEHOSTUNREACH: number; + const WSAENOTEMPTY: number; + const WSAEPROCLIM: number; + const WSAEUSERS: number; + const WSAEDQUOT: number; + const WSAESTALE: number; + const WSAEREMOTE: number; + const WSASYSNOTREADY: number; + const WSAVERNOTSUPPORTED: number; + const WSANOTINITIALISED: number; + const WSAEDISCON: number; + const WSAENOMORE: number; + const WSAECANCELLED: number; + const WSAEINVALIDPROCTABLE: number; + const WSAEINVALIDPROVIDER: number; + const WSAEPROVIDERFAILEDINIT: number; + const WSASYSCALLFAILURE: number; + const WSASERVICE_NOT_FOUND: number; + const WSATYPE_NOT_FOUND: number; + const WSA_E_NO_MORE: number; + const WSA_E_CANCELLED: number; + const WSAEREFUSED: number; + const SIGHUP: number; + const SIGINT: number; + const SIGILL: number; + const SIGABRT: number; + const SIGFPE: number; + const SIGKILL: number; + const SIGSEGV: number; + const SIGTERM: number; + const SIGBREAK: number; + const SIGWINCH: number; + const SSL_OP_ALL: number; + const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; + const SSL_OP_CIPHER_SERVER_PREFERENCE: number; + const SSL_OP_CISCO_ANYCONNECT: number; + const SSL_OP_COOKIE_EXCHANGE: number; + const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; + const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; + const SSL_OP_EPHEMERAL_RSA: number; + const SSL_OP_LEGACY_SERVER_CONNECT: number; + const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; + const SSL_OP_MICROSOFT_SESS_ID_BUG: number; + const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; + const SSL_OP_NETSCAPE_CA_DN_BUG: number; + const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; + const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; + const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; + const SSL_OP_NO_COMPRESSION: number; + const SSL_OP_NO_QUERY_MTU: number; + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + const SSL_OP_NO_SSLv2: number; + const SSL_OP_NO_SSLv3: number; + const SSL_OP_NO_TICKET: number; + const SSL_OP_NO_TLSv1: number; + const SSL_OP_NO_TLSv1_1: number; + const SSL_OP_NO_TLSv1_2: number; + const SSL_OP_PKCS1_CHECK_1: number; + const SSL_OP_PKCS1_CHECK_2: number; + const SSL_OP_SINGLE_DH_USE: number; + const SSL_OP_SINGLE_ECDH_USE: number; + const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; + const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; + const SSL_OP_TLS_BLOCK_PADDING_BUG: number; + const SSL_OP_TLS_D5_BUG: number; + const SSL_OP_TLS_ROLLBACK_BUG: number; + const ENGINE_METHOD_DSA: number; + const ENGINE_METHOD_DH: number; + const ENGINE_METHOD_RAND: number; + const ENGINE_METHOD_ECDH: number; + const ENGINE_METHOD_ECDSA: number; + const ENGINE_METHOD_CIPHERS: number; + const ENGINE_METHOD_DIGESTS: number; + const ENGINE_METHOD_STORE: number; + const ENGINE_METHOD_PKEY_METHS: number; + const ENGINE_METHOD_PKEY_ASN1_METHS: number; + const ENGINE_METHOD_ALL: number; + const ENGINE_METHOD_NONE: number; + const DH_CHECK_P_NOT_SAFE_PRIME: number; + const DH_CHECK_P_NOT_PRIME: number; + const DH_UNABLE_TO_CHECK_GENERATOR: number; + const DH_NOT_SUITABLE_GENERATOR: number; + const NPN_ENABLED: number; + const RSA_PKCS1_PADDING: number; + const RSA_SSLV23_PADDING: number; + const RSA_NO_PADDING: number; + const RSA_PKCS1_OAEP_PADDING: number; + const RSA_X931_PADDING: number; + const RSA_PKCS1_PSS_PADDING: number; + const POINT_CONVERSION_COMPRESSED: number; + const POINT_CONVERSION_UNCOMPRESSED: number; + const POINT_CONVERSION_HYBRID: number; + const O_RDONLY: number; + const O_WRONLY: number; + const O_RDWR: number; + const S_IFMT: number; + const S_IFREG: number; + const S_IFDIR: number; + const S_IFCHR: number; + const S_IFBLK: number; + const S_IFIFO: number; + const S_IFSOCK: number; + const S_IRWXU: number; + const S_IRUSR: number; + const S_IWUSR: number; + const S_IXUSR: number; + const S_IRWXG: number; + const S_IRGRP: number; + const S_IWGRP: number; + const S_IXGRP: number; + const S_IRWXO: number; + const S_IROTH: number; + const S_IWOTH: number; + const S_IXOTH: number; + const S_IFLNK: number; + const O_CREAT: number; + const O_EXCL: number; + const O_NOCTTY: number; + const O_DIRECTORY: number; + const O_NOATIME: number; + const O_NOFOLLOW: number; + const O_SYNC: number; + const O_DSYNC: number; + const O_SYMLINK: number; + const O_DIRECT: number; + const O_NONBLOCK: number; + const O_TRUNC: number; + const O_APPEND: number; + const F_OK: number; + const R_OK: number; + const W_OK: number; + const X_OK: number; + const COPYFILE_EXCL: number; + const COPYFILE_FICLONE: number; + const COPYFILE_FICLONE_FORCE: number; + const UV_UDP_REUSEADDR: number; + const SIGQUIT: number; + const SIGTRAP: number; + const SIGIOT: number; + const SIGBUS: number; + const SIGUSR1: number; + const SIGUSR2: number; + const SIGPIPE: number; + const SIGALRM: number; + const SIGCHLD: number; + const SIGSTKFLT: number; + const SIGCONT: number; + const SIGSTOP: number; + const SIGTSTP: number; + const SIGTTIN: number; + const SIGTTOU: number; + const SIGURG: number; + const SIGXCPU: number; + const SIGXFSZ: number; + const SIGVTALRM: number; + const SIGPROF: number; + const SIGIO: number; + const SIGPOLL: number; + const SIGPWR: number; + const SIGSYS: number; + const SIGUNUSED: number; + const defaultCoreCipherList: string; + const defaultCipherList: string; + const ENGINE_METHOD_RSA: number; + const ALPN_ENABLED: number; +} + +declare module "module" { + export = NodeJS.Module; +} + +declare module "process" { + export = process; +} + +declare module "v8" { + interface HeapSpaceInfo { + space_name: string; + space_size: number; + space_used_size: number; + space_available_size: number; + physical_space_size: number; + } + + // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */ + type DoesZapCodeSpaceFlag = 0 | 1; + + interface HeapInfo { + total_heap_size: number; + total_heap_size_executable: number; + total_physical_size: number; + total_available_size: number; + used_heap_size: number; + heap_size_limit: number; + malloced_memory: number; + peak_malloced_memory: number; + does_zap_garbage: DoesZapCodeSpaceFlag; + } + + function getHeapStatistics(): HeapInfo; + function getHeapSpaceStatistics(): HeapSpaceInfo[]; + function setFlagsFromString(flags: string): void; +} + +declare module "timers" { + function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; + } + function clearTimeout(timeoutId: NodeJS.Timeout): void; + function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + function clearInterval(intervalId: NodeJS.Timeout): void; + function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; + namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; + } + function clearImmediate(immediateId: NodeJS.Immediate): void; +} + +declare module "console" { + export = console; +} + +/** + * Async Hooks module: https://nodejs.org/api/async_hooks.html + */ +declare module "async_hooks" { + /** + * Returns the asyncId of the current execution context. + */ + function executionAsyncId(): number; + + /** + * Returns the ID of the resource responsible for calling the callback that is currently being executed. + */ + function triggerAsyncId(): number; + + interface HookCallbacks { + /** + * Called when a class is constructed that has the possibility to emit an asynchronous event. + * @param asyncId a unique ID for the async resource + * @param type the type of the async resource + * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created + * @param resource reference to the resource representing the async operation, needs to be released during destroy + */ + init?(asyncId: number, type: string, triggerAsyncId: number, resource: Object): void; + + /** + * When an asynchronous operation is initiated or completes a callback is called to notify the user. + * The before callback is called just before said callback is executed. + * @param asyncId the unique identifier assigned to the resource about to execute the callback. + */ + before?(asyncId: number): void; + + /** + * Called immediately after the callback specified in before is completed. + * @param asyncId the unique identifier assigned to the resource which has executed the callback. + */ + after?(asyncId: number): void; + + /** + * Called when a promise has resolve() called. This may not be in the same execution id + * as the promise itself. + * @param asyncId the unique id for the promise that was resolve()d. + */ + promiseResolve?(asyncId: number): void; + + /** + * Called after the resource corresponding to asyncId is destroyed + * @param asyncId a unique ID for the async resource + */ + destroy?(asyncId: number): void; + } + + interface AsyncHook { + /** + * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop. + */ + enable(): this; + + /** + * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled. + */ + disable(): this; + } + + /** + * Registers functions to be called for different lifetime events of each async operation. + * @param options the callbacks to register + * @return an AsyncHooks instance used for disabling and enabling hooks + */ + function createHook(options: HookCallbacks): AsyncHook; + + interface AsyncResourceOptions { + /** + * The ID of the execution context that created this async event. + * Default: `executionAsyncId()` + */ + triggerAsyncId?: number; + + /** + * Disables automatic `emitDestroy` when the object is garbage collected. + * This usually does not need to be set (even if `emitDestroy` is called + * manually), unless the resource's `asyncId` is retrieved and the + * sensitive API's `emitDestroy` is called with it. + * Default: `false` + */ + requireManualDestroy?: boolean; + } + + /** + * The class AsyncResource was designed to be extended by the embedder's async resources. + * Using this users can easily trigger the lifetime events of their own resources. + */ + class AsyncResource { + /** + * AsyncResource() is meant to be extended. Instantiating a + * new AsyncResource() also triggers init. If triggerAsyncId is omitted then + * async_hook.executionAsyncId() is used. + * @param type The type of async event. + * @param triggerAsyncId The ID of the execution context that created + * this async event (default: `executionAsyncId()`), or an + * AsyncResourceOptions object (since 9.3) + */ + constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions); + + /** + * Call AsyncHooks before callbacks. + * @deprecated since 9.6 - Use asyncResource.runInAsyncScope() instead. + */ + emitBefore(): void; + + /** + * Call AsyncHooks after callbacks. + * @deprecated since 9.6 - Use asyncResource.runInAsyncScope() instead. + */ + emitAfter(): void; + + /** + * Call the provided function with the provided arguments in the + * execution context of the async resource. This will establish the + * context, trigger the AsyncHooks before callbacks, call the function, + * trigger the AsyncHooks after callbacks, and then restore the original + * execution context. + * @param fn The function to call in the execution context of this + * async resource. + * @param thisArg The receiver to be used for the function call. + * @param args Optional arguments to pass to the function. + */ + runInAsyncScope(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result; + + /** + * Call AsyncHooks destroy callbacks. + */ + emitDestroy(): void; + + /** + * @return the unique ID assigned to this AsyncResource instance. + */ + asyncId(): number; + + /** + * @return the trigger ID for this AsyncResource instance. + */ + triggerAsyncId(): number; + } +} + +declare module "http2" { + import * as events from "events"; + import * as fs from "fs"; + import * as net from "net"; + import * as stream from "stream"; + import * as tls from "tls"; + import * as url from "url"; + + import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders } from "http"; + export { OutgoingHttpHeaders } from "http"; + + export interface IncomingHttpStatusHeader { + ":status"?: number; + } + + export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { + ":path"?: string; + ":method"?: string; + ":authority"?: string; + ":scheme"?: string; + } + + // Http2Stream + + export interface StreamPriorityOptions { + exclusive?: boolean; + parent?: number; + weight?: number; + silent?: boolean; + } + + export interface StreamState { + localWindowSize?: number; + state?: number; + streamLocalClose?: number; + streamRemoteClose?: number; + sumDependencyWeight?: number; + weight?: number; + } + + export interface ServerStreamResponseOptions { + endStream?: boolean; + getTrailers?: (trailers: OutgoingHttpHeaders) => void; + } + + export interface StatOptions { + offset: number; + length: number; + } + + export interface ServerStreamFileResponseOptions { + statCheck?: (stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => void | boolean; + getTrailers?: (trailers: OutgoingHttpHeaders) => void; + offset?: number; + length?: number; + } + + export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { + onError?: (err: NodeJS.ErrnoException) => void; + } + + export interface Http2Stream extends stream.Duplex { + readonly aborted: boolean; + readonly closed: boolean; + readonly destroyed: boolean; + readonly pending: boolean; + readonly rstCode: number; + readonly session: Http2Session; + readonly state: StreamState; + /** + * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, + * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. + */ + readonly endAfterHeaders: boolean; + close(code?: number, callback?: () => void): void; + priority(options: StreamPriorityOptions): void; + setTimeout(msecs: number, callback?: () => void): void; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "aborted", listener: () => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: "streamClosed", listener: (code: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "aborted"): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "frameError", frameType: number, errorCode: number): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: "streamClosed", code: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "aborted", listener: () => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: "streamClosed", listener: (code: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "aborted", listener: () => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: "streamClosed", listener: (code: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "aborted", listener: () => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "streamClosed", listener: (code: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "aborted", listener: () => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + } + + export interface ClientHttp2Stream extends Http2Stream { + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + } + + export interface ServerHttp2Stream extends Http2Stream { + additionalHeaders(headers: OutgoingHttpHeaders): void; + readonly headersSent: boolean; + readonly pushAllowed: boolean; + pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; + respondWithFD(fd: number, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; + respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; + } + + // Http2Session + + export interface Settings { + headerTableSize?: number; + enablePush?: boolean; + initialWindowSize?: number; + maxFrameSize?: number; + maxConcurrentStreams?: number; + maxHeaderListSize?: number; + } + + export interface ClientSessionRequestOptions { + endStream?: boolean; + exclusive?: boolean; + parent?: number; + weight?: number; + getTrailers?: (trailers: OutgoingHttpHeaders, flags: number) => void; + } + + export interface SessionState { + effectiveLocalWindowSize?: number; + effectiveRecvDataLength?: number; + nextStreamID?: number; + localWindowSize?: number; + lastProcStreamID?: number; + remoteWindowSize?: number; + outboundQueueSize?: number; + deflateDynamicTableSize?: number; + inflateDynamicTableSize?: number; + } + + export interface Http2Session extends events.EventEmitter { + readonly alpnProtocol?: string; + close(callback?: () => void): void; + readonly closed: boolean; + readonly connecting: boolean; + destroy(error?: Error, code?: number): void; + readonly destroyed: boolean; + readonly encrypted?: boolean; + goaway(code?: number, lastStreamID?: number, opaqueData?: Buffer | DataView | NodeJS.TypedArray): void; + readonly localSettings: Settings; + readonly originSet?: string[]; + readonly pendingSettingsAck: boolean; + ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ping(payload: Buffer | DataView | NodeJS.TypedArray , callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ref(): void; + readonly remoteSettings: Settings; + rstStream(stream: Http2Stream, code?: number): void; + setTimeout(msecs: number, callback?: () => void): void; + readonly socket: net.Socket | tls.TLSSocket; + readonly state: SessionState; + priority(stream: Http2Stream, options: StreamPriorityOptions): void; + settings(settings: Settings): void; + readonly type: number; + unref(): void; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + addListener(event: "localSettings", listener: (settings: Settings) => void): this; + addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "ping", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; + emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; + emit(event: "localSettings", settings: Settings): boolean; + emit(event: "remoteSettings", settings: Settings): boolean; + emit(event: "timeout"): boolean; + emit(event: "ping"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + on(event: "localSettings", listener: (settings: Settings) => void): this; + on(event: "remoteSettings", listener: (settings: Settings) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "ping", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + once(event: "localSettings", listener: (settings: Settings) => void): this; + once(event: "remoteSettings", listener: (settings: Settings) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "ping", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "ping", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "ping", listener: () => void): this; + } + + export interface ClientHttp2Session extends Http2Session { + request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; + emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + } + + export interface AlternativeServiceOptions { + origin: number | string | url.URL; + } + + export interface ServerHttp2Session extends Http2Session { + altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; + readonly server: Http2Server | Http2SecureServer; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + } + + // Http2Server + + export interface SessionOptions { + maxDeflateDynamicTableSize?: number; + maxReservedRemoteStreams?: number; + maxSendHeaderBlockLength?: number; + paddingStrategy?: number; + peerMaxConcurrentStreams?: number; + selectPadding?: (frameLen: number, maxFrameLen: number) => number; + settings?: Settings; + } + + export type ClientSessionOptions = SessionOptions; + export type ServerSessionOptions = SessionOptions; + + export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } + export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } + + export interface ServerOptions extends ServerSessionOptions { + allowHTTP1?: boolean; + } + + export interface SecureServerOptions extends SecureServerSessionOptions { + allowHTTP1?: boolean; + } + + export interface Http2Server extends net.Server { + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + } + + export interface Http2SecureServer extends tls.Server { + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + } + + export class Http2ServerRequest extends stream.Readable { + private constructor(); + headers: IncomingHttpHeaders; + httpVersion: string; + method: string; + rawHeaders: string[]; + rawTrailers: string[]; + setTimeout(msecs: number, callback?: () => void): void; + socket: net.Socket | tls.TLSSocket; + stream: ServerHttp2Stream; + trailers: IncomingHttpHeaders; + url: string; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "aborted", hadError: boolean, code: number): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + } + + export class Http2ServerResponse extends events.EventEmitter { + private constructor(); + addTrailers(trailers: OutgoingHttpHeaders): void; + connection: net.Socket | tls.TLSSocket; + end(callback?: () => void): void; + end(data?: string | Buffer, callback?: () => void): void; + end(data?: string | Buffer, encoding?: string, callback?: () => void): void; + readonly finished: boolean; + getHeader(name: string): string; + getHeaderNames(): string[]; + getHeaders(): OutgoingHttpHeaders; + hasHeader(name: string): boolean; + readonly headersSent: boolean; + removeHeader(name: string): void; + sendDate: boolean; + setHeader(name: string, value: number | string | string[]): void; + setTimeout(msecs: number, callback?: () => void): void; + socket: net.Socket | tls.TLSSocket; + statusCode: number; + statusMessage: ''; + stream: ServerHttp2Stream; + write(chunk: string | Buffer, callback?: (err: Error) => void): boolean; + write(chunk: string | Buffer, encoding?: string, callback?: (err: Error) => void): boolean; + writeContinue(): void; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): void; + writeHead(statusCode: number, statusMessage?: string, headers?: OutgoingHttpHeaders): void; + createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "aborted", hadError: boolean, code: number): boolean; + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "finish"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "finish", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "finish", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + } + + // Public API + + export namespace constants { + const NGHTTP2_SESSION_SERVER: number; + const NGHTTP2_SESSION_CLIENT: number; + const NGHTTP2_STREAM_STATE_IDLE: number; + const NGHTTP2_STREAM_STATE_OPEN: number; + const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; + const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; + const NGHTTP2_STREAM_STATE_CLOSED: number; + const NGHTTP2_NO_ERROR: number; + const NGHTTP2_PROTOCOL_ERROR: number; + const NGHTTP2_INTERNAL_ERROR: number; + const NGHTTP2_FLOW_CONTROL_ERROR: number; + const NGHTTP2_SETTINGS_TIMEOUT: number; + const NGHTTP2_STREAM_CLOSED: number; + const NGHTTP2_FRAME_SIZE_ERROR: number; + const NGHTTP2_REFUSED_STREAM: number; + const NGHTTP2_CANCEL: number; + const NGHTTP2_COMPRESSION_ERROR: number; + const NGHTTP2_CONNECT_ERROR: number; + const NGHTTP2_ENHANCE_YOUR_CALM: number; + const NGHTTP2_INADEQUATE_SECURITY: number; + const NGHTTP2_HTTP_1_1_REQUIRED: number; + const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; + const NGHTTP2_FLAG_NONE: number; + const NGHTTP2_FLAG_END_STREAM: number; + const NGHTTP2_FLAG_END_HEADERS: number; + const NGHTTP2_FLAG_ACK: number; + const NGHTTP2_FLAG_PADDED: number; + const NGHTTP2_FLAG_PRIORITY: number; + const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; + const DEFAULT_SETTINGS_ENABLE_PUSH: number; + const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; + const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; + const MAX_MAX_FRAME_SIZE: number; + const MIN_MAX_FRAME_SIZE: number; + const MAX_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_DEFAULT_WEIGHT: number; + const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; + const NGHTTP2_SETTINGS_ENABLE_PUSH: number; + const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; + const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; + const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; + const PADDING_STRATEGY_NONE: number; + const PADDING_STRATEGY_MAX: number; + const PADDING_STRATEGY_CALLBACK: number; + const HTTP2_HEADER_STATUS: string; + const HTTP2_HEADER_METHOD: string; + const HTTP2_HEADER_AUTHORITY: string; + const HTTP2_HEADER_SCHEME: string; + const HTTP2_HEADER_PATH: string; + const HTTP2_HEADER_ACCEPT_CHARSET: string; + const HTTP2_HEADER_ACCEPT_ENCODING: string; + const HTTP2_HEADER_ACCEPT_LANGUAGE: string; + const HTTP2_HEADER_ACCEPT_RANGES: string; + const HTTP2_HEADER_ACCEPT: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; + const HTTP2_HEADER_AGE: string; + const HTTP2_HEADER_ALLOW: string; + const HTTP2_HEADER_AUTHORIZATION: string; + const HTTP2_HEADER_CACHE_CONTROL: string; + const HTTP2_HEADER_CONNECTION: string; + const HTTP2_HEADER_CONTENT_DISPOSITION: string; + const HTTP2_HEADER_CONTENT_ENCODING: string; + const HTTP2_HEADER_CONTENT_LANGUAGE: string; + const HTTP2_HEADER_CONTENT_LENGTH: string; + const HTTP2_HEADER_CONTENT_LOCATION: string; + const HTTP2_HEADER_CONTENT_MD5: string; + const HTTP2_HEADER_CONTENT_RANGE: string; + const HTTP2_HEADER_CONTENT_TYPE: string; + const HTTP2_HEADER_COOKIE: string; + const HTTP2_HEADER_DATE: string; + const HTTP2_HEADER_ETAG: string; + const HTTP2_HEADER_EXPECT: string; + const HTTP2_HEADER_EXPIRES: string; + const HTTP2_HEADER_FROM: string; + const HTTP2_HEADER_HOST: string; + const HTTP2_HEADER_IF_MATCH: string; + const HTTP2_HEADER_IF_MODIFIED_SINCE: string; + const HTTP2_HEADER_IF_NONE_MATCH: string; + const HTTP2_HEADER_IF_RANGE: string; + const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; + const HTTP2_HEADER_LAST_MODIFIED: string; + const HTTP2_HEADER_LINK: string; + const HTTP2_HEADER_LOCATION: string; + const HTTP2_HEADER_MAX_FORWARDS: string; + const HTTP2_HEADER_PREFER: string; + const HTTP2_HEADER_PROXY_AUTHENTICATE: string; + const HTTP2_HEADER_PROXY_AUTHORIZATION: string; + const HTTP2_HEADER_RANGE: string; + const HTTP2_HEADER_REFERER: string; + const HTTP2_HEADER_REFRESH: string; + const HTTP2_HEADER_RETRY_AFTER: string; + const HTTP2_HEADER_SERVER: string; + const HTTP2_HEADER_SET_COOKIE: string; + const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; + const HTTP2_HEADER_TRANSFER_ENCODING: string; + const HTTP2_HEADER_TE: string; + const HTTP2_HEADER_UPGRADE: string; + const HTTP2_HEADER_USER_AGENT: string; + const HTTP2_HEADER_VARY: string; + const HTTP2_HEADER_VIA: string; + const HTTP2_HEADER_WWW_AUTHENTICATE: string; + const HTTP2_HEADER_HTTP2_SETTINGS: string; + const HTTP2_HEADER_KEEP_ALIVE: string; + const HTTP2_HEADER_PROXY_CONNECTION: string; + const HTTP2_METHOD_ACL: string; + const HTTP2_METHOD_BASELINE_CONTROL: string; + const HTTP2_METHOD_BIND: string; + const HTTP2_METHOD_CHECKIN: string; + const HTTP2_METHOD_CHECKOUT: string; + const HTTP2_METHOD_CONNECT: string; + const HTTP2_METHOD_COPY: string; + const HTTP2_METHOD_DELETE: string; + const HTTP2_METHOD_GET: string; + const HTTP2_METHOD_HEAD: string; + const HTTP2_METHOD_LABEL: string; + const HTTP2_METHOD_LINK: string; + const HTTP2_METHOD_LOCK: string; + const HTTP2_METHOD_MERGE: string; + const HTTP2_METHOD_MKACTIVITY: string; + const HTTP2_METHOD_MKCALENDAR: string; + const HTTP2_METHOD_MKCOL: string; + const HTTP2_METHOD_MKREDIRECTREF: string; + const HTTP2_METHOD_MKWORKSPACE: string; + const HTTP2_METHOD_MOVE: string; + const HTTP2_METHOD_OPTIONS: string; + const HTTP2_METHOD_ORDERPATCH: string; + const HTTP2_METHOD_PATCH: string; + const HTTP2_METHOD_POST: string; + const HTTP2_METHOD_PRI: string; + const HTTP2_METHOD_PROPFIND: string; + const HTTP2_METHOD_PROPPATCH: string; + const HTTP2_METHOD_PUT: string; + const HTTP2_METHOD_REBIND: string; + const HTTP2_METHOD_REPORT: string; + const HTTP2_METHOD_SEARCH: string; + const HTTP2_METHOD_TRACE: string; + const HTTP2_METHOD_UNBIND: string; + const HTTP2_METHOD_UNCHECKOUT: string; + const HTTP2_METHOD_UNLINK: string; + const HTTP2_METHOD_UNLOCK: string; + const HTTP2_METHOD_UPDATE: string; + const HTTP2_METHOD_UPDATEREDIRECTREF: string; + const HTTP2_METHOD_VERSION_CONTROL: string; + const HTTP_STATUS_CONTINUE: number; + const HTTP_STATUS_SWITCHING_PROTOCOLS: number; + const HTTP_STATUS_PROCESSING: number; + const HTTP_STATUS_OK: number; + const HTTP_STATUS_CREATED: number; + const HTTP_STATUS_ACCEPTED: number; + const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; + const HTTP_STATUS_NO_CONTENT: number; + const HTTP_STATUS_RESET_CONTENT: number; + const HTTP_STATUS_PARTIAL_CONTENT: number; + const HTTP_STATUS_MULTI_STATUS: number; + const HTTP_STATUS_ALREADY_REPORTED: number; + const HTTP_STATUS_IM_USED: number; + const HTTP_STATUS_MULTIPLE_CHOICES: number; + const HTTP_STATUS_MOVED_PERMANENTLY: number; + const HTTP_STATUS_FOUND: number; + const HTTP_STATUS_SEE_OTHER: number; + const HTTP_STATUS_NOT_MODIFIED: number; + const HTTP_STATUS_USE_PROXY: number; + const HTTP_STATUS_TEMPORARY_REDIRECT: number; + const HTTP_STATUS_PERMANENT_REDIRECT: number; + const HTTP_STATUS_BAD_REQUEST: number; + const HTTP_STATUS_UNAUTHORIZED: number; + const HTTP_STATUS_PAYMENT_REQUIRED: number; + const HTTP_STATUS_FORBIDDEN: number; + const HTTP_STATUS_NOT_FOUND: number; + const HTTP_STATUS_METHOD_NOT_ALLOWED: number; + const HTTP_STATUS_NOT_ACCEPTABLE: number; + const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; + const HTTP_STATUS_REQUEST_TIMEOUT: number; + const HTTP_STATUS_CONFLICT: number; + const HTTP_STATUS_GONE: number; + const HTTP_STATUS_LENGTH_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_FAILED: number; + const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; + const HTTP_STATUS_URI_TOO_LONG: number; + const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; + const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; + const HTTP_STATUS_EXPECTATION_FAILED: number; + const HTTP_STATUS_TEAPOT: number; + const HTTP_STATUS_MISDIRECTED_REQUEST: number; + const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; + const HTTP_STATUS_LOCKED: number; + const HTTP_STATUS_FAILED_DEPENDENCY: number; + const HTTP_STATUS_UNORDERED_COLLECTION: number; + const HTTP_STATUS_UPGRADE_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_REQUIRED: number; + const HTTP_STATUS_TOO_MANY_REQUESTS: number; + const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; + const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; + const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; + const HTTP_STATUS_NOT_IMPLEMENTED: number; + const HTTP_STATUS_BAD_GATEWAY: number; + const HTTP_STATUS_SERVICE_UNAVAILABLE: number; + const HTTP_STATUS_GATEWAY_TIMEOUT: number; + const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; + const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; + const HTTP_STATUS_INSUFFICIENT_STORAGE: number; + const HTTP_STATUS_LOOP_DETECTED: number; + const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; + const HTTP_STATUS_NOT_EXTENDED: number; + const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; + } + + export function getDefaultSettings(): Settings; + export function getPackedSettings(settings: Settings): Settings; + export function getUnpackedSettings(buf: Buffer | Uint8Array): Settings; + + export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + + export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + + export function connect(authority: string | url.URL, listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; + export function connect( + authority: string | url.URL, + options?: ClientSessionOptions | SecureClientSessionOptions, + listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void, + ): ClientHttp2Session; +} + +declare module "perf_hooks" { + import { AsyncResource } from "async_hooks"; + + interface PerformanceEntry { + /** + * The total number of milliseconds elapsed for this entry. + * This value will not be meaningful for all Performance Entry types. + */ + readonly duration: number; + + /** + * The name of the performance entry. + */ + readonly name: string; + + /** + * The high resolution millisecond timestamp marking the starting time of the Performance Entry. + */ + readonly startTime: number; + + /** + * The type of the performance entry. + * Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'. + */ + readonly entryType: string; + + /** + * When performanceEntry.entryType is equal to 'gc', the performance.kind property identifies + * the type of garbage collection operation that occurred. + * The value may be one of perf_hooks.constants. + */ + readonly kind?: number; + } + + interface PerformanceNodeTiming extends PerformanceEntry { + /** + * The high resolution millisecond timestamp at which the Node.js process completed bootstrap. + */ + readonly bootstrapComplete: number; + + /** + * The high resolution millisecond timestamp at which cluster processing ended. + */ + readonly clusterSetupEnd: number; + + /** + * The high resolution millisecond timestamp at which cluster processing started. + */ + readonly clusterSetupStart: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop exited. + */ + readonly loopExit: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop started. + */ + readonly loopStart: number; + + /** + * The high resolution millisecond timestamp at which main module load ended. + */ + readonly moduleLoadEnd: number; + + /** + * The high resolution millisecond timestamp at which main module load started. + */ + readonly moduleLoadStart: number; + + /** + * The high resolution millisecond timestamp at which the Node.js process was initialized. + */ + readonly nodeStart: number; + + /** + * The high resolution millisecond timestamp at which preload module load ended. + */ + readonly preloadModuleLoadEnd: number; + + /** + * The high resolution millisecond timestamp at which preload module load started. + */ + readonly preloadModuleLoadStart: number; + + /** + * The high resolution millisecond timestamp at which third_party_main processing ended. + */ + readonly thirdPartyMainEnd: number; + + /** + * The high resolution millisecond timestamp at which third_party_main processing started. + */ + readonly thirdPartyMainStart: number; + + /** + * The high resolution millisecond timestamp at which the V8 platform was initialized. + */ + readonly v8Start: number; + } + + interface Performance { + /** + * If name is not provided, removes all PerformanceFunction objects from the Performance Timeline. + * If name is provided, removes entries with name. + * @param name + */ + clearFunctions(name?: string): void; + + /** + * If name is not provided, removes all PerformanceMark objects from the Performance Timeline. + * If name is provided, removes only the named mark. + * @param name + */ + clearMarks(name?: string): void; + + /** + * If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline. + * If name is provided, removes only objects whose performanceEntry.name matches name. + */ + clearMeasures(name?: string): void; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + * @return list of all PerformanceEntry objects + */ + getEntries(): PerformanceEntry[]; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + * @param name + * @param type + * @return list of all PerformanceEntry objects + */ + getEntriesByName(name: string, type?: string): PerformanceEntry[]; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + * @param type + * @return list of all PerformanceEntry objects + */ + getEntriesByType(type: string): PerformanceEntry[]; + + /** + * Creates a new PerformanceMark entry in the Performance Timeline. + * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', + * and whose performanceEntry.duration is always 0. + * Performance marks are used to mark specific significant moments in the Performance Timeline. + * @param name + */ + mark(name?: string): void; + + /** + * Creates a new PerformanceMeasure entry in the Performance Timeline. + * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', + * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark. + * + * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify + * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, + * then startMark is set to timeOrigin by default. + * + * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp + * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown. + * @param name + * @param startMark + * @param endMark + */ + measure(name: string, startMark: string, endMark: string): void; + + /** + * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones. + */ + readonly nodeTiming: PerformanceNodeTiming; + + /** + * @return the current high resolution millisecond timestamp + */ + now(): number; + + /** + * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured. + */ + readonly timeOrigin: number; + + /** + * Wraps a function within a new function that measures the running time of the wrapped function. + * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed. + * @param fn + */ + timerify any>(fn: T): T; + } + + interface PerformanceObserverEntryList { + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + */ + getEntries(): PerformanceEntry[]; + + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + */ + getEntriesByName(name: string, type?: string): PerformanceEntry[]; + + /** + * @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + */ + getEntriesByType(type: string): PerformanceEntry[]; + } + + type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void; + + class PerformanceObserver extends AsyncResource { + constructor(callback: PerformanceObserverCallback); + + /** + * Disconnects the PerformanceObserver instance from all notifications. + */ + disconnect(): void; + + /** + * Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes. + * When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance. + * Property buffered defaults to false. + * @param options + */ + observe(options: { entryTypes: string[], buffered?: boolean }): void; + } + + namespace constants { + const NODE_PERFORMANCE_GC_MAJOR: number; + const NODE_PERFORMANCE_GC_MINOR: number; + const NODE_PERFORMANCE_GC_INCREMENTAL: number; + const NODE_PERFORMANCE_GC_WEAKCB: number; + } + + const performance: Performance; +} diff --git a/build/js-transpiled/node_modules/@types/node/inspector.d.ts b/build/js-transpiled/node_modules/@types/node/inspector.d.ts new file mode 100644 index 00000000..3a2bb35a --- /dev/null +++ b/build/js-transpiled/node_modules/@types/node/inspector.d.ts @@ -0,0 +1,2899 @@ +// tslint:disable-next-line:dt-header +// Type definitions for inspector + +// These definitions are auto-generated. +// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330 +// for more information. + +/** + * The inspector module provides an API for interacting with the V8 inspector. + */ +// tslint:disable-next-line:no-single-declare-module +declare module "inspector" { + import { EventEmitter } from 'events'; + + interface InspectorNotification { + method: string; + params: T; + } + + namespace Console { + /** + * Console message. + */ + interface ConsoleMessage { + /** + * Message source. + */ + source: string; + /** + * Message severity. + */ + level: string; + /** + * Message text. + */ + text: string; + /** + * URL of the message origin. + */ + url?: string; + /** + * Line number in the resource that generated this message (1-based). + */ + line?: number; + /** + * Column number in the resource that generated this message (1-based). + */ + column?: number; + } + + interface MessageAddedEventDataType { + /** + * Console message that has been added. + */ + message: ConsoleMessage; + } + } + + namespace Debugger { + /** + * Breakpoint identifier. + */ + type BreakpointId = string; + + /** + * Call frame identifier. + */ + type CallFrameId = string; + + /** + * Location in the source code. + */ + interface Location { + /** + * Script identifier as reported in the `Debugger.scriptParsed`. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + } + + /** + * Location in the source code. + * @experimental + */ + interface ScriptPosition { + lineNumber: number; + columnNumber: number; + } + + /** + * JavaScript call frame. Array of call frames form the call stack. + */ + interface CallFrame { + /** + * Call frame identifier. This identifier is only valid while the virtual machine is paused. + */ + callFrameId: CallFrameId; + /** + * Name of the JavaScript function called on this call frame. + */ + functionName: string; + /** + * Location in the source code. + */ + functionLocation?: Location; + /** + * Location in the source code. + */ + location: Location; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Scope chain for this call frame. + */ + scopeChain: Scope[]; + /** + * `this` object for this call frame. + */ + this: Runtime.RemoteObject; + /** + * The value being returned, if the function is at return point. + */ + returnValue?: Runtime.RemoteObject; + } + + /** + * Scope description. + */ + interface Scope { + /** + * Scope type. + */ + type: string; + /** + * Object representing the scope. For `global` and `with` scopes it represents the actual + * object; for the rest of the scopes, it is artificial transient object enumerating scope + * variables as its properties. + */ + object: Runtime.RemoteObject; + name?: string; + /** + * Location in the source code where scope starts + */ + startLocation?: Location; + /** + * Location in the source code where scope ends + */ + endLocation?: Location; + } + + /** + * Search match for resource. + */ + interface SearchMatch { + /** + * Line number in resource content. + */ + lineNumber: number; + /** + * Line with match content. + */ + lineContent: string; + } + + interface BreakLocation { + /** + * Script identifier as reported in the `Debugger.scriptParsed`. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + type?: string; + } + + interface ContinueToLocationParameterType { + /** + * Location to continue to. + */ + location: Location; + targetCallFrames?: string; + } + + interface EvaluateOnCallFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + /** + * Expression to evaluate. + */ + expression: string; + /** + * String object group name to put result into (allows rapid releasing resulting object handles + * using `releaseObjectGroup`). + */ + objectGroup?: string; + /** + * Specifies whether command line API should be available to the evaluated expression, defaults + * to false. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause + * execution. Overrides `setPauseOnException` state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether to throw an exception if side effect cannot be ruled out during evaluation. + */ + throwOnSideEffect?: boolean; + /** + * Terminate execution after timing out (number of milliseconds). + * @experimental + */ + timeout?: Runtime.TimeDelta; + } + + interface GetPossibleBreakpointsParameterType { + /** + * Start of range to search possible breakpoint locations in. + */ + start: Location; + /** + * End of range to search possible breakpoint locations in (excluding). When not specified, end + * of scripts is used as end of range. + */ + end?: Location; + /** + * Only consider locations which are in the same (non-nested) function as start. + */ + restrictToFunction?: boolean; + } + + interface GetScriptSourceParameterType { + /** + * Id of the script to get source for. + */ + scriptId: Runtime.ScriptId; + } + + interface GetStackTraceParameterType { + stackTraceId: Runtime.StackTraceId; + } + + interface PauseOnAsyncCallParameterType { + /** + * Debugger will pause when async call with given stack trace is started. + */ + parentStackTraceId: Runtime.StackTraceId; + } + + interface RemoveBreakpointParameterType { + breakpointId: BreakpointId; + } + + interface RestartFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + } + + interface SearchInContentParameterType { + /** + * Id of the script to search in. + */ + scriptId: Runtime.ScriptId; + /** + * String to search for. + */ + query: string; + /** + * If true, search is case sensitive. + */ + caseSensitive?: boolean; + /** + * If true, treats string parameter as regex. + */ + isRegex?: boolean; + } + + interface SetAsyncCallStackDepthParameterType { + /** + * Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async + * call stacks (default). + */ + maxDepth: number; + } + + interface SetBlackboxPatternsParameterType { + /** + * Array of regexps that will be used to check script url for blackbox state. + */ + patterns: string[]; + } + + interface SetBlackboxedRangesParameterType { + /** + * Id of the script. + */ + scriptId: Runtime.ScriptId; + positions: ScriptPosition[]; + } + + interface SetBreakpointParameterType { + /** + * Location to set breakpoint in. + */ + location: Location; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the + * breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface SetBreakpointByUrlParameterType { + /** + * Line number to set breakpoint at. + */ + lineNumber: number; + /** + * URL of the resources to set breakpoint on. + */ + url?: string; + /** + * Regex pattern for the URLs of the resources to set breakpoints on. Either `url` or + * `urlRegex` must be specified. + */ + urlRegex?: string; + /** + * Script hash of the resources to set breakpoint on. + */ + scriptHash?: string; + /** + * Offset in the line to set breakpoint at. + */ + columnNumber?: number; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the + * breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface SetBreakpointOnFunctionCallParameterType { + /** + * Function object id. + */ + objectId: Runtime.RemoteObjectId; + /** + * Expression to use as a breakpoint condition. When specified, debugger will + * stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface SetBreakpointsActiveParameterType { + /** + * New value for breakpoints active state. + */ + active: boolean; + } + + interface SetPauseOnExceptionsParameterType { + /** + * Pause on exceptions mode. + */ + state: string; + } + + interface SetReturnValueParameterType { + /** + * New return value. + */ + newValue: Runtime.CallArgument; + } + + interface SetScriptSourceParameterType { + /** + * Id of the script to edit. + */ + scriptId: Runtime.ScriptId; + /** + * New content of the script. + */ + scriptSource: string; + /** + * If true the change will not actually be applied. Dry run may be used to get result + * description without actually modifying the code. + */ + dryRun?: boolean; + } + + interface SetSkipAllPausesParameterType { + /** + * New value for skip pauses state. + */ + skip: boolean; + } + + interface SetVariableValueParameterType { + /** + * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' + * scope types are allowed. Other scopes could be manipulated manually. + */ + scopeNumber: number; + /** + * Variable name. + */ + variableName: string; + /** + * New variable value. + */ + newValue: Runtime.CallArgument; + /** + * Id of callframe that holds variable. + */ + callFrameId: CallFrameId; + } + + interface StepIntoParameterType { + /** + * Debugger will issue additional Debugger.paused notification if any async task is scheduled + * before next pause. + * @experimental + */ + breakOnAsyncCall?: boolean; + } + + interface EnableReturnType { + /** + * Unique identifier of the debugger. + * @experimental + */ + debuggerId: Runtime.UniqueDebuggerId; + } + + interface EvaluateOnCallFrameReturnType { + /** + * Object wrapper for the evaluation result. + */ + result: Runtime.RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface GetPossibleBreakpointsReturnType { + /** + * List of the possible breakpoint locations. + */ + locations: BreakLocation[]; + } + + interface GetScriptSourceReturnType { + /** + * Script source. + */ + scriptSource: string; + } + + interface GetStackTraceReturnType { + stackTrace: Runtime.StackTrace; + } + + interface RestartFrameReturnType { + /** + * New stack trace. + */ + callFrames: CallFrame[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + } + + interface SearchInContentReturnType { + /** + * List of search matches. + */ + result: SearchMatch[]; + } + + interface SetBreakpointReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * Location this breakpoint resolved into. + */ + actualLocation: Location; + } + + interface SetBreakpointByUrlReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * List of the locations this breakpoint resolved into upon addition. + */ + locations: Location[]; + } + + interface SetBreakpointOnFunctionCallReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + } + + interface SetScriptSourceReturnType { + /** + * New stack trace in case editing has happened while VM was stopped. + */ + callFrames?: CallFrame[]; + /** + * Whether current call stack was modified after applying the changes. + */ + stackChanged?: boolean; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Exception details if any. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface BreakpointResolvedEventDataType { + /** + * Breakpoint unique identifier. + */ + breakpointId: BreakpointId; + /** + * Actual breakpoint location. + */ + location: Location; + } + + interface PausedEventDataType { + /** + * Call stack the virtual machine stopped on. + */ + callFrames: CallFrame[]; + /** + * Pause reason. + */ + reason: string; + /** + * Object containing break-specific auxiliary properties. + */ + data?: {}; + /** + * Hit breakpoints IDs + */ + hitBreakpoints?: string[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Just scheduled async call will have this stack trace as parent stack during async execution. + * This field is available only after `Debugger.stepInto` call with `breakOnAsynCall` flag. + * @experimental + */ + asyncCallStackTraceId?: Runtime.StackTraceId; + } + + interface ScriptFailedToParseEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface ScriptParsedEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * True, if this script is generated as a result of the live edit operation. + * @experimental + */ + isLiveEdit?: boolean; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + } + + namespace HeapProfiler { + /** + * Heap snapshot object id. + */ + type HeapSnapshotObjectId = string; + + /** + * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. + */ + interface SamplingHeapProfileNode { + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Allocations size in bytes for the node excluding children. + */ + selfSize: number; + /** + * Child nodes. + */ + children: SamplingHeapProfileNode[]; + } + + /** + * Profile. + */ + interface SamplingHeapProfile { + head: SamplingHeapProfileNode; + } + + interface AddInspectedHeapObjectParameterType { + /** + * Heap snapshot object id to be accessible by means of $x command line API. + */ + heapObjectId: HeapSnapshotObjectId; + } + + interface GetHeapObjectIdParameterType { + /** + * Identifier of the object to get heap object id for. + */ + objectId: Runtime.RemoteObjectId; + } + + interface GetObjectByHeapObjectIdParameterType { + objectId: HeapSnapshotObjectId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + } + + interface StartSamplingParameterType { + /** + * Average sample interval in bytes. Poisson distribution is used for the intervals. The + * default value is 32768 bytes. + */ + samplingInterval?: number; + } + + interface StartTrackingHeapObjectsParameterType { + trackAllocations?: boolean; + } + + interface StopTrackingHeapObjectsParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken + * when the tracking is stopped. + */ + reportProgress?: boolean; + } + + interface TakeHeapSnapshotParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. + */ + reportProgress?: boolean; + } + + interface GetHeapObjectIdReturnType { + /** + * Id of the heap snapshot object corresponding to the passed remote object id. + */ + heapSnapshotObjectId: HeapSnapshotObjectId; + } + + interface GetObjectByHeapObjectIdReturnType { + /** + * Evaluation result. + */ + result: Runtime.RemoteObject; + } + + interface GetSamplingProfileReturnType { + /** + * Return the sampling profile being collected. + */ + profile: SamplingHeapProfile; + } + + interface StopSamplingReturnType { + /** + * Recorded sampling heap profile. + */ + profile: SamplingHeapProfile; + } + + interface AddHeapSnapshotChunkEventDataType { + chunk: string; + } + + interface HeapStatsUpdateEventDataType { + /** + * An array of triplets. Each triplet describes a fragment. The first integer is the fragment + * index, the second integer is a total count of objects for the fragment, the third integer is + * a total size of the objects for the fragment. + */ + statsUpdate: number[]; + } + + interface LastSeenObjectIdEventDataType { + lastSeenObjectId: number; + timestamp: number; + } + + interface ReportHeapSnapshotProgressEventDataType { + done: number; + total: number; + finished?: boolean; + } + } + + namespace Profiler { + /** + * Profile node. Holds callsite information, execution statistics and child nodes. + */ + interface ProfileNode { + /** + * Unique id of the node. + */ + id: number; + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Number of samples where this node was on top of the call stack. + */ + hitCount?: number; + /** + * Child node ids. + */ + children?: number[]; + /** + * The reason of being not optimized. The function may be deoptimized or marked as don't + * optimize. + */ + deoptReason?: string; + /** + * An array of source position ticks. + */ + positionTicks?: PositionTickInfo[]; + } + + /** + * Profile. + */ + interface Profile { + /** + * The list of profile nodes. First item is the root node. + */ + nodes: ProfileNode[]; + /** + * Profiling start timestamp in microseconds. + */ + startTime: number; + /** + * Profiling end timestamp in microseconds. + */ + endTime: number; + /** + * Ids of samples top nodes. + */ + samples?: number[]; + /** + * Time intervals between adjacent samples in microseconds. The first delta is relative to the + * profile startTime. + */ + timeDeltas?: number[]; + } + + /** + * Specifies a number of samples attributed to a certain source position. + */ + interface PositionTickInfo { + /** + * Source line number (1-based). + */ + line: number; + /** + * Number of samples attributed to the source line. + */ + ticks: number; + } + + /** + * Coverage data for a source range. + */ + interface CoverageRange { + /** + * JavaScript script source offset for the range start. + */ + startOffset: number; + /** + * JavaScript script source offset for the range end. + */ + endOffset: number; + /** + * Collected execution count of the source range. + */ + count: number; + } + + /** + * Coverage data for a JavaScript function. + */ + interface FunctionCoverage { + /** + * JavaScript function name. + */ + functionName: string; + /** + * Source ranges inside the function with coverage data. + */ + ranges: CoverageRange[]; + /** + * Whether coverage data for this function has block granularity. + */ + isBlockCoverage: boolean; + } + + /** + * Coverage data for a JavaScript script. + */ + interface ScriptCoverage { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Functions contained in the script that has coverage data. + */ + functions: FunctionCoverage[]; + } + + /** + * Describes a type collected during runtime. + * @experimental + */ + interface TypeObject { + /** + * Name of a type collected with type profiling. + */ + name: string; + } + + /** + * Source offset and types for a parameter or return value. + * @experimental + */ + interface TypeProfileEntry { + /** + * Source offset of the parameter or end of function for return values. + */ + offset: number; + /** + * The types for this parameter or return value. + */ + types: TypeObject[]; + } + + /** + * Type profile data collected during runtime for a JavaScript script. + * @experimental + */ + interface ScriptTypeProfile { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Type profile entries for parameters and return values of the functions in the script. + */ + entries: TypeProfileEntry[]; + } + + interface SetSamplingIntervalParameterType { + /** + * New sampling interval in microseconds. + */ + interval: number; + } + + interface StartPreciseCoverageParameterType { + /** + * Collect accurate call counts beyond simple 'covered' or 'not covered'. + */ + callCount?: boolean; + /** + * Collect block-based coverage. + */ + detailed?: boolean; + } + + interface GetBestEffortCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface StopReturnType { + /** + * Recorded profile. + */ + profile: Profile; + } + + interface TakePreciseCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface TakeTypeProfileReturnType { + /** + * Type profile for all scripts since startTypeProfile() was turned on. + */ + result: ScriptTypeProfile[]; + } + + interface ConsoleProfileFinishedEventDataType { + id: string; + /** + * Location of console.profileEnd(). + */ + location: Debugger.Location; + profile: Profile; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + + interface ConsoleProfileStartedEventDataType { + id: string; + /** + * Location of console.profile(). + */ + location: Debugger.Location; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + } + + namespace Runtime { + /** + * Unique script identifier. + */ + type ScriptId = string; + + /** + * Unique object identifier. + */ + type RemoteObjectId = string; + + /** + * Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`, + * `-Infinity`, and bigint literals. + */ + type UnserializableValue = string; + + /** + * Mirror object referencing original JavaScript object. + */ + interface RemoteObject { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for `object` type values only. + */ + subtype?: string; + /** + * Object class (constructor) name. Specified for `object` type values only. + */ + className?: string; + /** + * Remote object value in case of primitive values or JSON values (if it was requested). + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified does not have `value`, but gets this + * property. + */ + unserializableValue?: UnserializableValue; + /** + * String representation of the object. + */ + description?: string; + /** + * Unique object identifier (for non-primitive values). + */ + objectId?: RemoteObjectId; + /** + * Preview containing abbreviated property values. Specified for `object` type values only. + * @experimental + */ + preview?: ObjectPreview; + /** + * @experimental + */ + customPreview?: CustomPreview; + } + + /** + * @experimental + */ + interface CustomPreview { + header: string; + hasBody: boolean; + formatterObjectId: RemoteObjectId; + bindRemoteObjectFunctionId: RemoteObjectId; + configObjectId?: RemoteObjectId; + } + + /** + * Object containing abbreviated remote object value. + * @experimental + */ + interface ObjectPreview { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for `object` type values only. + */ + subtype?: string; + /** + * String representation of the object. + */ + description?: string; + /** + * True iff some of the properties or entries of the original object did not fit. + */ + overflow: boolean; + /** + * List of the properties. + */ + properties: PropertyPreview[]; + /** + * List of the entries. Specified for `map` and `set` subtype values only. + */ + entries?: EntryPreview[]; + } + + /** + * @experimental + */ + interface PropertyPreview { + /** + * Property name. + */ + name: string; + /** + * Object type. Accessor means that the property itself is an accessor property. + */ + type: string; + /** + * User-friendly property value string. + */ + value?: string; + /** + * Nested value preview. + */ + valuePreview?: ObjectPreview; + /** + * Object subtype hint. Specified for `object` type values only. + */ + subtype?: string; + } + + /** + * @experimental + */ + interface EntryPreview { + /** + * Preview of the key. Specified for map-like collection entries. + */ + key?: ObjectPreview; + /** + * Preview of the value. + */ + value: ObjectPreview; + } + + /** + * Object property descriptor. + */ + interface PropertyDescriptor { + /** + * Property name or symbol description. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + /** + * True if the value associated with the property may be changed (data descriptors only). + */ + writable?: boolean; + /** + * A function which serves as a getter for the property, or `undefined` if there is no getter + * (accessor descriptors only). + */ + get?: RemoteObject; + /** + * A function which serves as a setter for the property, or `undefined` if there is no setter + * (accessor descriptors only). + */ + set?: RemoteObject; + /** + * True if the type of this property descriptor may be changed and if the property may be + * deleted from the corresponding object. + */ + configurable: boolean; + /** + * True if this property shows up during enumeration of the properties on the corresponding + * object. + */ + enumerable: boolean; + /** + * True if the result was thrown during the evaluation. + */ + wasThrown?: boolean; + /** + * True if the property is owned for the object. + */ + isOwn?: boolean; + /** + * Property symbol object, if the property is of the `symbol` type. + */ + symbol?: RemoteObject; + } + + /** + * Object internal property descriptor. This property isn't normally visible in JavaScript code. + */ + interface InternalPropertyDescriptor { + /** + * Conventional property name. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + } + + /** + * Represents function call argument. Either remote object id `objectId`, primitive `value`, + * unserializable primitive value or neither of (for undefined) them should be specified. + */ + interface CallArgument { + /** + * Primitive value or serializable javascript object. + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified. + */ + unserializableValue?: UnserializableValue; + /** + * Remote object handle. + */ + objectId?: RemoteObjectId; + } + + /** + * Id of an execution context. + */ + type ExecutionContextId = number; + + /** + * Description of an isolated world. + */ + interface ExecutionContextDescription { + /** + * Unique id of the execution context. It can be used to specify in which execution context + * script evaluation should be performed. + */ + id: ExecutionContextId; + /** + * Execution context origin. + */ + origin: string; + /** + * Human readable name describing given context. + */ + name: string; + /** + * Embedder-specific auxiliary data. + */ + auxData?: {}; + } + + /** + * Detailed information about exception (or error) that was thrown during script compilation or + * execution. + */ + interface ExceptionDetails { + /** + * Exception id. + */ + exceptionId: number; + /** + * Exception text, which should be used together with exception object when available. + */ + text: string; + /** + * Line number of the exception location (0-based). + */ + lineNumber: number; + /** + * Column number of the exception location (0-based). + */ + columnNumber: number; + /** + * Script ID of the exception location. + */ + scriptId?: ScriptId; + /** + * URL of the exception location, to be used when the script was not reported. + */ + url?: string; + /** + * JavaScript stack trace if available. + */ + stackTrace?: StackTrace; + /** + * Exception object if available. + */ + exception?: RemoteObject; + /** + * Identifier of the context where exception happened. + */ + executionContextId?: ExecutionContextId; + } + + /** + * Number of milliseconds since epoch. + */ + type Timestamp = number; + + /** + * Number of milliseconds. + */ + type TimeDelta = number; + + /** + * Stack entry for runtime errors and assertions. + */ + interface CallFrame { + /** + * JavaScript function name. + */ + functionName: string; + /** + * JavaScript script id. + */ + scriptId: ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * JavaScript script line number (0-based). + */ + lineNumber: number; + /** + * JavaScript script column number (0-based). + */ + columnNumber: number; + } + + /** + * Call frames for assertions or error messages. + */ + interface StackTrace { + /** + * String label of this stack trace. For async traces this may be a name of the function that + * initiated the async call. + */ + description?: string; + /** + * JavaScript function name. + */ + callFrames: CallFrame[]; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + */ + parent?: StackTrace; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + * @experimental + */ + parentId?: StackTraceId; + } + + /** + * Unique identifier of current debugger. + * @experimental + */ + type UniqueDebuggerId = string; + + /** + * If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This + * allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages. + * @experimental + */ + interface StackTraceId { + id: string; + debuggerId?: UniqueDebuggerId; + } + + interface AwaitPromiseParameterType { + /** + * Identifier of the promise. + */ + promiseObjectId: RemoteObjectId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + } + + interface CallFunctionOnParameterType { + /** + * Declaration of the function to call. + */ + functionDeclaration: string; + /** + * Identifier of the object to call function on. Either objectId or executionContextId should + * be specified. + */ + objectId?: RemoteObjectId; + /** + * Call arguments. All call arguments must belong to the same JavaScript world as the target + * object. + */ + arguments?: CallArgument[]; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause + * execution. Overrides `setPauseOnException` state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should `await` for resulting value and return once awaited promise is + * resolved. + */ + awaitPromise?: boolean; + /** + * Specifies execution context which global object will be used to call function on. Either + * executionContextId or objectId should be specified. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. If objectGroup is not + * specified and objectId is, objectGroup will be inherited from object. + */ + objectGroup?: string; + } + + interface CompileScriptParameterType { + /** + * Expression to compile. + */ + expression: string; + /** + * Source url to be set for the script. + */ + sourceURL: string; + /** + * Specifies whether the compiled script should be persisted. + */ + persistScript: boolean; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the + * evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + } + + interface EvaluateParameterType { + /** + * Expression to evaluate. + */ + expression: string; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause + * execution. Overrides `setPauseOnException` state. + */ + silent?: boolean; + /** + * Specifies in which execution context to perform evaluation. If the parameter is omitted the + * evaluation will be performed in the context of the inspected page. + */ + contextId?: ExecutionContextId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should `await` for resulting value and return once awaited promise is + * resolved. + */ + awaitPromise?: boolean; + /** + * Whether to throw an exception if side effect cannot be ruled out during evaluation. + * @experimental + */ + throwOnSideEffect?: boolean; + /** + * Terminate execution after timing out (number of milliseconds). + * @experimental + */ + timeout?: TimeDelta; + } + + interface GetPropertiesParameterType { + /** + * Identifier of the object to return properties for. + */ + objectId: RemoteObjectId; + /** + * If true, returns properties belonging only to the element itself, not to its prototype + * chain. + */ + ownProperties?: boolean; + /** + * If true, returns accessor properties (with getter/setter) only; internal properties are not + * returned either. + * @experimental + */ + accessorPropertiesOnly?: boolean; + /** + * Whether preview should be generated for the results. + * @experimental + */ + generatePreview?: boolean; + } + + interface GlobalLexicalScopeNamesParameterType { + /** + * Specifies in which execution context to lookup global scope variables. + */ + executionContextId?: ExecutionContextId; + } + + interface QueryObjectsParameterType { + /** + * Identifier of the prototype to return objects for. + */ + prototypeObjectId: RemoteObjectId; + /** + * Symbolic group name that can be used to release the results. + */ + objectGroup?: string; + } + + interface ReleaseObjectParameterType { + /** + * Identifier of the object to release. + */ + objectId: RemoteObjectId; + } + + interface ReleaseObjectGroupParameterType { + /** + * Symbolic object group name. + */ + objectGroup: string; + } + + interface RunScriptParameterType { + /** + * Id of the script to run. + */ + scriptId: ScriptId; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the + * evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause + * execution. Overrides `setPauseOnException` state. + */ + silent?: boolean; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + /** + * Whether execution should `await` for resulting value and return once awaited promise is + * resolved. + */ + awaitPromise?: boolean; + } + + interface SetCustomObjectFormatterEnabledParameterType { + enabled: boolean; + } + + interface AwaitPromiseReturnType { + /** + * Promise result. Will contain rejected value if promise was rejected. + */ + result: RemoteObject; + /** + * Exception details if stack strace is available. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CallFunctionOnReturnType { + /** + * Call result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CompileScriptReturnType { + /** + * Id of the script. + */ + scriptId?: ScriptId; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface EvaluateReturnType { + /** + * Evaluation result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface GetIsolateIdReturnType { + /** + * The isolate id. + */ + id: string; + } + + interface GetHeapUsageReturnType { + /** + * Used heap size in bytes. + */ + usedSize: number; + /** + * Allocated heap size in bytes. + */ + totalSize: number; + } + + interface GetPropertiesReturnType { + /** + * Object properties. + */ + result: PropertyDescriptor[]; + /** + * Internal object properties (only of the element itself). + */ + internalProperties?: InternalPropertyDescriptor[]; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface GlobalLexicalScopeNamesReturnType { + names: string[]; + } + + interface QueryObjectsReturnType { + /** + * Array with objects. + */ + objects: RemoteObject; + } + + interface RunScriptReturnType { + /** + * Run result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface ConsoleAPICalledEventDataType { + /** + * Type of the call. + */ + type: string; + /** + * Call arguments. + */ + args: RemoteObject[]; + /** + * Identifier of the context where the call was made. + */ + executionContextId: ExecutionContextId; + /** + * Call timestamp. + */ + timestamp: Timestamp; + /** + * Stack trace captured when the call was made. + */ + stackTrace?: StackTrace; + /** + * Console context descriptor for calls on non-default console context (not console.*): + * 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call + * on named context. + * @experimental + */ + context?: string; + } + + interface ExceptionRevokedEventDataType { + /** + * Reason describing why exception was revoked. + */ + reason: string; + /** + * The id of revoked exception, as reported in `exceptionThrown`. + */ + exceptionId: number; + } + + interface ExceptionThrownEventDataType { + /** + * Timestamp of the exception. + */ + timestamp: Timestamp; + exceptionDetails: ExceptionDetails; + } + + interface ExecutionContextCreatedEventDataType { + /** + * A newly created execution context. + */ + context: ExecutionContextDescription; + } + + interface ExecutionContextDestroyedEventDataType { + /** + * Id of the destroyed context + */ + executionContextId: ExecutionContextId; + } + + interface InspectRequestedEventDataType { + object: RemoteObject; + hints: {}; + } + } + + namespace Schema { + /** + * Description of the protocol domain. + */ + interface Domain { + /** + * Domain name. + */ + name: string; + /** + * Domain version. + */ + version: string; + } + + interface GetDomainsReturnType { + /** + * List of supported domains. + */ + domains: Domain[]; + } + } + + /** + * The inspector.Session is used for dispatching messages to the V8 inspector back-end and receiving message responses and notifications. + */ + class Session extends EventEmitter { + /** + * Create a new instance of the inspector.Session class. + * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend. + */ + constructor(); + + /** + * Connects a session to the inspector back-end. + * An exception will be thrown if there is already a connected session established either + * through the API or by a front-end connected to the Inspector WebSocket port. + */ + connect(): void; + + /** + * Immediately close the session. All pending message callbacks will be called with an error. + * session.connect() will need to be called to be able to send messages again. + * Reconnected session will lose all inspector state, such as enabled agents or configured breakpoints. + */ + disconnect(): void; + + /** + * Posts a message to the inspector back-end. callback will be notified when a response is received. + * callback is a function that accepts two optional arguments - error and message-specific result. + */ + post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void; + post(method: string, callback?: (err: Error | null, params?: {}) => void): void; + + /** + * Does nothing. + */ + post(method: "Console.clearMessages", callback?: (err: Error | null) => void): void; + + /** + * Disables console domain, prevents further console messages from being reported to the client. + */ + post(method: "Console.disable", callback?: (err: Error | null) => void): void; + + /** + * Enables console domain, sends the messages collected so far to the client by means of the + * `messageAdded` notification. + */ + post(method: "Console.enable", callback?: (err: Error | null) => void): void; + /** + * Continues execution until specific location is reached. + */ + post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.continueToLocation", callback?: (err: Error | null) => void): void; + + /** + * Disables debugger for given page. + */ + post(method: "Debugger.disable", callback?: (err: Error | null) => void): void; + + /** + * Enables debugger for the given page. Clients should not assume that the debugging has been + * enabled until the result for this command is received. + */ + post(method: "Debugger.enable", callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void; + + /** + * Evaluates expression on a given call frame. + */ + post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + post(method: "Debugger.evaluateOnCallFrame", callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + + /** + * Returns possible locations for breakpoint. scriptId in start and end range locations should be + * the same. + */ + post( + method: "Debugger.getPossibleBreakpoints", + params?: Debugger.GetPossibleBreakpointsParameterType, + callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void + ): void; + post(method: "Debugger.getPossibleBreakpoints", callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void; + + /** + * Returns source for the script with given id. + */ + post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + post(method: "Debugger.getScriptSource", callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + + /** + * Returns stack trace with given `stackTraceId`. + * @experimental + */ + post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + post(method: "Debugger.getStackTrace", callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + + /** + * Stops on the next JavaScript statement. + */ + post(method: "Debugger.pause", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.pauseOnAsyncCall", callback?: (err: Error | null) => void): void; + + /** + * Removes JavaScript breakpoint. + */ + post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.removeBreakpoint", callback?: (err: Error | null) => void): void; + + /** + * Restarts particular call frame from the beginning. + */ + post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + post(method: "Debugger.restartFrame", callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + + /** + * Resumes JavaScript execution. + */ + post(method: "Debugger.resume", callback?: (err: Error | null) => void): void; + + /** + * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and + * Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled + * before next pause. Returns success when async task is actually scheduled, returns error if no + * task were scheduled or another scheduleStepIntoAsync was called. + * @experimental + */ + post(method: "Debugger.scheduleStepIntoAsync", callback?: (err: Error | null) => void): void; + + /** + * Searches for given string in script content. + */ + post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + post(method: "Debugger.searchInContent", callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + + /** + * Enables or disables async call stacks tracking. + */ + post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setAsyncCallStackDepth", callback?: (err: Error | null) => void): void; + + /** + * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in + * scripts with url matching one of the patterns. VM will try to leave blackboxed script by + * performing 'step in' several times, finally resorting to 'step out' if unsuccessful. + * @experimental + */ + post(method: "Debugger.setBlackboxPatterns", params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxPatterns", callback?: (err: Error | null) => void): void; + + /** + * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted + * scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. + * Positions array contains positions where blackbox state is changed. First interval isn't + * blackboxed. Array should be sorted. + * @experimental + */ + post(method: "Debugger.setBlackboxedRanges", params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxedRanges", callback?: (err: Error | null) => void): void; + + /** + * Sets JavaScript breakpoint at a given location. + */ + post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + post(method: "Debugger.setBreakpoint", callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + + /** + * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this + * command is issued, all existing parsed scripts will have breakpoints resolved and returned in + * `locations` property. Further matching script parsing will result in subsequent + * `breakpointResolved` events issued. This logical breakpoint will survive page reloads. + */ + post(method: "Debugger.setBreakpointByUrl", params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + post(method: "Debugger.setBreakpointByUrl", callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + + /** + * Sets JavaScript breakpoint before each call to the given function. + * If another function was created from the same source as a given one, + * calling it will also trigger the breakpoint. + * @experimental + */ + post( + method: "Debugger.setBreakpointOnFunctionCall", + params?: Debugger.SetBreakpointOnFunctionCallParameterType, + callback?: (err: Error | null, params: Debugger.SetBreakpointOnFunctionCallReturnType) => void + ): void; + post(method: "Debugger.setBreakpointOnFunctionCall", callback?: (err: Error | null, params: Debugger.SetBreakpointOnFunctionCallReturnType) => void): void; + + /** + * Activates / deactivates all breakpoints on the page. + */ + post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBreakpointsActive", callback?: (err: Error | null) => void): void; + + /** + * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or + * no exceptions. Initial pause on exceptions state is `none`. + */ + post(method: "Debugger.setPauseOnExceptions", params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setPauseOnExceptions", callback?: (err: Error | null) => void): void; + + /** + * Changes return value in top frame. Available only at return break position. + * @experimental + */ + post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setReturnValue", callback?: (err: Error | null) => void): void; + + /** + * Edits JavaScript source live. + */ + post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + post(method: "Debugger.setScriptSource", callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + + /** + * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). + */ + post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setSkipAllPauses", callback?: (err: Error | null) => void): void; + + /** + * Changes value of variable in a callframe. Object-based scopes are not supported and must be + * mutated manually. + */ + post(method: "Debugger.setVariableValue", params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setVariableValue", callback?: (err: Error | null) => void): void; + + /** + * Steps into the function call. + */ + post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.stepInto", callback?: (err: Error | null) => void): void; + + /** + * Steps out of the function call. + */ + post(method: "Debugger.stepOut", callback?: (err: Error | null) => void): void; + + /** + * Steps over the statement. + */ + post(method: "Debugger.stepOver", callback?: (err: Error | null) => void): void; + /** + * Enables console to refer to the node with given id via $x (see Command Line API for more details + * $x functions). + */ + post(method: "HeapProfiler.addInspectedHeapObject", params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.addInspectedHeapObject", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.collectGarbage", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.disable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + post(method: "HeapProfiler.getHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + + post( + method: "HeapProfiler.getObjectByHeapObjectId", + params?: HeapProfiler.GetObjectByHeapObjectIdParameterType, + callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void + ): void; + post(method: "HeapProfiler.getObjectByHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void; + + post(method: "HeapProfiler.getSamplingProfile", callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void; + + post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startSampling", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopSampling", callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void; + + post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.stopTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.takeHeapSnapshot", callback?: (err: Error | null) => void): void; + post(method: "Profiler.disable", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.enable", callback?: (err: Error | null) => void): void; + + /** + * Collect coverage data for the current isolate. The coverage data may be incomplete due to + * garbage collection. + */ + post(method: "Profiler.getBestEffortCoverage", callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void; + + /** + * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. + */ + post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.setSamplingInterval", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.start", callback?: (err: Error | null) => void): void; + + /** + * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code + * coverage may be incomplete. Enabling prevents running optimized code and resets execution + * counters. + */ + post(method: "Profiler.startPreciseCoverage", params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.startPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Enable type profile. + * @experimental + */ + post(method: "Profiler.startTypeProfile", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.stop", callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void; + + /** + * Disable precise code coverage. Disabling releases unnecessary execution count records and allows + * executing optimized code. + */ + post(method: "Profiler.stopPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Disable type profile. Disabling releases type profile data collected so far. + * @experimental + */ + post(method: "Profiler.stopTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Collect coverage data for the current isolate, and resets execution counters. Precise code + * coverage needs to have started. + */ + post(method: "Profiler.takePreciseCoverage", callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void; + + /** + * Collect type profile. + * @experimental + */ + post(method: "Profiler.takeTypeProfile", callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void; + /** + * Add handler to promise with given promise object id. + */ + post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + post(method: "Runtime.awaitPromise", callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + + /** + * Calls function with given declaration on the given object. Object group of the result is + * inherited from the target object. + */ + post(method: "Runtime.callFunctionOn", params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + post(method: "Runtime.callFunctionOn", callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + + /** + * Compiles expression. + */ + post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + post(method: "Runtime.compileScript", callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + + /** + * Disables reporting of execution contexts creation. + */ + post(method: "Runtime.disable", callback?: (err: Error | null) => void): void; + + /** + * Discards collected exceptions and console API calls. + */ + post(method: "Runtime.discardConsoleEntries", callback?: (err: Error | null) => void): void; + + /** + * Enables reporting of execution contexts creation by means of `executionContextCreated` event. + * When the reporting gets enabled the event will be sent immediately for each existing execution + * context. + */ + post(method: "Runtime.enable", callback?: (err: Error | null) => void): void; + + /** + * Evaluates expression on global object. + */ + post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + post(method: "Runtime.evaluate", callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + + /** + * Returns the isolate id. + * @experimental + */ + post(method: "Runtime.getIsolateId", callback?: (err: Error | null, params: Runtime.GetIsolateIdReturnType) => void): void; + + /** + * Returns the JavaScript heap usage. + * It is the total usage of the corresponding isolate not scoped to a particular Runtime. + * @experimental + */ + post(method: "Runtime.getHeapUsage", callback?: (err: Error | null, params: Runtime.GetHeapUsageReturnType) => void): void; + + /** + * Returns properties of a given object. Object group of the result is inherited from the target + * object. + */ + post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + post(method: "Runtime.getProperties", callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + + /** + * Returns all let, const and class variables from global scope. + */ + post( + method: "Runtime.globalLexicalScopeNames", + params?: Runtime.GlobalLexicalScopeNamesParameterType, + callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void + ): void; + post(method: "Runtime.globalLexicalScopeNames", callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void; + + post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + post(method: "Runtime.queryObjects", callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + + /** + * Releases remote object with given id. + */ + post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObject", callback?: (err: Error | null) => void): void; + + /** + * Releases all remote objects that belong to a given group. + */ + post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObjectGroup", callback?: (err: Error | null) => void): void; + + /** + * Tells inspected instance to run if it was waiting for debugger to attach. + */ + post(method: "Runtime.runIfWaitingForDebugger", callback?: (err: Error | null) => void): void; + + /** + * Runs script with given id in a given context. + */ + post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + post(method: "Runtime.runScript", callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + + /** + * @experimental + */ + post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.setCustomObjectFormatterEnabled", callback?: (err: Error | null) => void): void; + + /** + * Terminate current or next JavaScript execution. + * Will cancel the termination when the outer-most script execution ends. + * @experimental + */ + post(method: "Runtime.terminateExecution", callback?: (err: Error | null) => void): void; + /** + * Returns supported domains. + */ + post(method: "Schema.getDomains", callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void; + + // Events + + addListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + addListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new console message is added. + */ + addListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + addListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + addListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + addListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + addListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected + * scripts upon enabling debugger. + */ + addListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + addListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + addListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last + * seen object id and corresponding timestamp. If the were changes in the heap since last event + * then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + addListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + addListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + addListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + addListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + addListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + addListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + addListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when new execution context is created. + */ + addListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + addListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + addListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API + * call). + */ + addListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "inspectorNotification", message: InspectorNotification<{}>): boolean; + emit(event: "Console.messageAdded", message: InspectorNotification): boolean; + emit(event: "Debugger.breakpointResolved", message: InspectorNotification): boolean; + emit(event: "Debugger.paused", message: InspectorNotification): boolean; + emit(event: "Debugger.resumed"): boolean; + emit(event: "Debugger.scriptFailedToParse", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptParsed", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.addHeapSnapshotChunk", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.heapStatsUpdate", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.lastSeenObjectId", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.reportHeapSnapshotProgress", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.resetProfiles"): boolean; + emit(event: "Profiler.consoleProfileFinished", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileStarted", message: InspectorNotification): boolean; + emit(event: "Runtime.consoleAPICalled", message: InspectorNotification): boolean; + emit(event: "Runtime.exceptionRevoked", message: InspectorNotification): boolean; + emit(event: "Runtime.exceptionThrown", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextCreated", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextDestroyed", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextsCleared"): boolean; + emit(event: "Runtime.inspectRequested", message: InspectorNotification): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + on(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new console message is added. + */ + on(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + on(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + on(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + on(event: "Debugger.resumed", listener: () => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + on(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected + * scripts upon enabling debugger. + */ + on(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + on(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + on(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last + * seen object id and corresponding timestamp. If the were changes in the heap since last event + * then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + on(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + on(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.resetProfiles", listener: () => void): this; + on(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + on(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + on(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + on(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + on(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when new execution context is created. + */ + on(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + on(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + on(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API + * call). + */ + on(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + once(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new console message is added. + */ + once(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + once(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + once(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + once(event: "Debugger.resumed", listener: () => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + once(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected + * scripts upon enabling debugger. + */ + once(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + once(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + once(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last + * seen object id and corresponding timestamp. If the were changes in the heap since last event + * then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + once(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + once(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.resetProfiles", listener: () => void): this; + once(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + once(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + once(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + once(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + once(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when new execution context is created. + */ + once(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + once(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + once(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API + * call). + */ + once(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new console message is added. + */ + prependListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected + * scripts upon enabling debugger. + */ + prependListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + prependListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last + * seen object id and corresponding timestamp. If the were changes in the heap since last event + * then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + prependListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when new execution context is created. + */ + prependListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API + * call). + */ + prependListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependOnceListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new console message is added. + */ + prependOnceListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependOnceListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependOnceListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependOnceListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependOnceListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected + * scripts upon enabling debugger. + */ + prependOnceListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + prependOnceListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependOnceListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last + * seen object id and corresponding timestamp. If the were changes in the heap since last event + * then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependOnceListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + prependOnceListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependOnceListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependOnceListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependOnceListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependOnceListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependOnceListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when new execution context is created. + */ + prependOnceListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependOnceListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependOnceListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API + * call). + */ + prependOnceListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + } + + // Top Level API + + /** + * Activate inspector on host and port. Equivalent to node --inspect=[[host:]port], but can be done programatically after node has started. + * If wait is true, will block until a client has connected to the inspect port and flow control has been passed to the debugger client. + * @param port Port to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param host Host to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param wait Block until a client has connected. Optional, defaults to false. + */ + function open(port?: number, host?: string, wait?: boolean): void; + + /** + * Deactivate the inspector. Blocks until there are no active connections. + */ + function close(): void; + + /** + * Return the URL of the active inspector, or undefined if there is none. + */ + function url(): string; +} diff --git a/build/js-transpiled/node_modules/@types/node/package.json b/build/js-transpiled/node_modules/@types/node/package.json new file mode 100644 index 00000000..946aeca1 --- /dev/null +++ b/build/js-transpiled/node_modules/@types/node/package.json @@ -0,0 +1,168 @@ +{ + "_from": "@types/node@^10.11.7", + "_id": "@types/node@10.12.0", + "_inBundle": false, + "_integrity": "sha512-3TUHC3jsBAB7qVRGxT6lWyYo2v96BMmD2PTcl47H25Lu7UXtFH/2qqmKiVrnel6Ne//0TFYf6uvNX+HW2FRkLQ==", + "_location": "/@types/node", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@types/node@^10.11.7", + "name": "@types/node", + "escapedName": "@types%2fnode", + "scope": "@types", + "rawSpec": "^10.11.7", + "saveSpec": null, + "fetchSpec": "^10.11.7" + }, + "_requiredBy": [ + "/editorconfig" + ], + "_resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.0.tgz", + "_shasum": "ea6dcbddbc5b584c83f06c60e82736d8fbb0c235", + "_spec": "@types/node@^10.11.7", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Microsoft TypeScript", + "url": "https://github.com/Microsoft" + }, + { + "name": "DefinitelyTyped", + "url": "https://github.com/DefinitelyTyped" + }, + { + "name": "Alberto Schiabel", + "url": "https://github.com/jkomyno" + }, + { + "name": "Alexander T.", + "url": "https://github.com/a-tarasyuk" + }, + { + "name": "Alvis HT Tang", + "url": "https://github.com/alvis" + }, + { + "name": "Andrew Makarov", + "url": "https://github.com/r3nya" + }, + { + "name": "Bruno Scheufler", + "url": "https://github.com/brunoscheufler" + }, + { + "name": "Chigozirim C.", + "url": "https://github.com/smac89" + }, + { + "name": "Christian Vaagland Tellnes", + "url": "https://github.com/tellnes" + }, + { + "name": "Deividas Bakanas", + "url": "https://github.com/DeividasBakanas" + }, + { + "name": "Eugene Y. Q. Shen", + "url": "https://github.com/eyqs" + }, + { + "name": "Flarna", + "url": "https://github.com/Flarna" + }, + { + "name": "Hannes Magnusson", + "url": "https://github.com/Hannes-Magnusson-CK" + }, + { + "name": "Hoàng Văn Khải", + "url": "https://github.com/KSXGitHub" + }, + { + "name": "Huw", + "url": "https://github.com/hoo29" + }, + { + "name": "Kelvin Jin", + "url": "https://github.com/kjin" + }, + { + "name": "Klaus Meinhardt", + "url": "https://github.com/ajafff" + }, + { + "name": "Lishude", + "url": "https://github.com/islishude" + }, + { + "name": "Mariusz Wiktorczyk", + "url": "https://github.com/mwiktorczyk" + }, + { + "name": "Matthieu Sieben", + "url": "https://github.com/matthieusieben" + }, + { + "name": "Mohsen Azimi", + "url": "https://github.com/mohsen1" + }, + { + "name": "Nicolas Even", + "url": "https://github.com/n-e" + }, + { + "name": "Nicolas Voigt", + "url": "https://github.com/octo-sniffle" + }, + { + "name": "Parambir Singh", + "url": "https://github.com/parambirs" + }, + { + "name": "Sebastian Silbermann", + "url": "https://github.com/eps1lon" + }, + { + "name": "Simon Schick", + "url": "https://github.com/SimonSchick" + }, + { + "name": "Thomas den Hollander", + "url": "https://github.com/ThomasdenH" + }, + { + "name": "Wilco Bakker", + "url": "https://github.com/WilcoBakker" + }, + { + "name": "wwwy3y3", + "url": "https://github.com/wwwy3y3" + }, + { + "name": "Zane Hannan AU", + "url": "https://github.com/ZaneHannanAU" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "TypeScript definitions for Node.js", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/node", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "typeScriptVersion": "2.0", + "types": "", + "typesPublisherContentHash": "2f0ee5caa77d69f14900c2f28db9d6901f1c038af748af32f60256f9ba8202f2", + "version": "10.12.0" +} diff --git a/build/js-transpiled/node_modules/@types/semver/LICENSE b/build/js-transpiled/node_modules/@types/semver/LICENSE new file mode 100644 index 00000000..21071075 --- /dev/null +++ b/build/js-transpiled/node_modules/@types/semver/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/build/js-transpiled/node_modules/@types/semver/README.md b/build/js-transpiled/node_modules/@types/semver/README.md new file mode 100644 index 00000000..01ada7ff --- /dev/null +++ b/build/js-transpiled/node_modules/@types/semver/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/semver` + +# Summary +This package contains type definitions for semver (https://github.com/npm/node-semver). + +# Details +Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver + +Additional Details + * Last updated: Mon, 29 Jan 2018 21:19:40 GMT + * Dependencies: none + * Global values: none + +# Credits +These definitions were written by Bart van der Schoor , BendingBender , Lucian Buzzo . diff --git a/build/js-transpiled/node_modules/@types/semver/index.d.ts b/build/js-transpiled/node_modules/@types/semver/index.d.ts new file mode 100644 index 00000000..06221be8 --- /dev/null +++ b/build/js-transpiled/node_modules/@types/semver/index.d.ts @@ -0,0 +1,197 @@ +// Type definitions for semver 5.5 +// Project: https://github.com/npm/node-semver +// Definitions by: Bart van der Schoor +// BendingBender +// Lucian Buzzo +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/semver + +export const SEMVER_SPEC_VERSION: "2.0.0"; + +export type ReleaseType = "major" | "premajor" | "minor" | "preminor" | "patch" | "prepatch" | "prerelease"; + +/** + * Return the parsed version as a SemVer object, or null if it's not valid. + */ +export function parse(v: string | SemVer, loose?: boolean): SemVer | null; +/** + * Return the parsed version, or null if it's not valid. + */ +export function valid(v: string | SemVer, loose?: boolean): string | null; +/** + * Returns cleaned (removed leading/trailing whitespace, remove '=v' prefix) and parsed version, or null if version is invalid. + */ +export function clean(version: string, loose?: boolean): string | null; +/** + * Return the version incremented by the release type (major, minor, patch, or prerelease), or null if it's not valid. + */ +export function inc(v: string | SemVer, release: ReleaseType, loose?: boolean, identifier?: string): string | null; +/** + * Return the major version number. + */ +export function major(v: string | SemVer, loose?: boolean): number; +/** + * Return the minor version number. + */ +export function minor(v: string | SemVer, loose?: boolean): number; +/** + * Return the patch version number. + */ +export function patch(v: string | SemVer, loose?: boolean): number; +/** + * Returns an array of prerelease components, or null if none exist. + */ +export function prerelease(v: string | SemVer, loose?: boolean): string[] | null; + +// Comparison +/** + * v1 > v2 + */ +export function gt(v1: string | SemVer, v2: string | SemVer, loose?: boolean): boolean; +/** + * v1 >= v2 + */ +export function gte(v1: string | SemVer, v2: string | SemVer, loose?: boolean): boolean; +/** + * v1 < v2 + */ +export function lt(v1: string | SemVer, v2: string | SemVer, loose?: boolean): boolean; +/** + * v1 <= v2 + */ +export function lte(v1: string | SemVer, v2: string | SemVer, loose?: boolean): boolean; +/** + * v1 == v2 This is true if they're logically equivalent, even if they're not the exact same string. You already know how to compare strings. + */ +export function eq(v1: string | SemVer, v2: string | SemVer, loose?: boolean): boolean; +/** + * v1 != v2 The opposite of eq. + */ +export function neq(v1: string | SemVer, v2: string | SemVer, loose?: boolean): boolean; + +/** + * Pass in a comparison string, and it'll call the corresponding semver comparison function. + * "===" and "!==" do simple string comparison, but are included for completeness. + * Throws if an invalid comparison string is provided. + */ +export function cmp(v1: string | SemVer, operator: Operator, v2: string | SemVer, loose?: boolean): boolean; +export type Operator = '===' | '!==' | '' | '=' | '==' | '!=' | '>' | '>=' | '<' | '<='; + +/** + * Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater. Sorts in ascending order if passed to Array.sort(). + */ +export function compare(v1: string | SemVer, v2: string | SemVer, loose?: boolean): 1 | 0 | -1; +/** + * The reverse of compare. Sorts an array of versions in descending order when passed to Array.sort(). + */ +export function rcompare(v1: string | SemVer, v2: string | SemVer, loose?: boolean): 1 | 0 | -1; + +/** + * Compares two identifiers, must be numeric strings or truthy/falsy values. Sorts in ascending order if passed to Array.sort(). + */ +export function compareIdentifiers(a: string | null, b: string | null): 1 | 0 | -1; +/** + * The reverse of compareIdentifiers. Sorts in descending order when passed to Array.sort(). + */ +export function rcompareIdentifiers(a: string | null, b: string | null): 1 | 0 | -1; + +/** + * Sorts an array of semver entries in ascending order. + */ +export function sort(list: Array, loose?: boolean): Array; +/** + * Sorts an array of semver entries in descending order. + */ +export function rsort(list: Array, loose?: boolean): Array; + +/** + * Returns difference between two versions by the release type (major, premajor, minor, preminor, patch, prepatch, or prerelease), or null if the versions are the same. + */ +export function diff(v1: string, v2: string, loose?: boolean): ReleaseType | null; + +// Ranges +/** + * Return the valid range or null if it's not valid + */ +export function validRange(range: string | Range, loose?: boolean): string; +/** + * Return true if the version satisfies the range. + */ +export function satisfies(version: string | SemVer, range: string | Range, loose?: boolean): boolean; +/** + * Return the highest version in the list that satisfies the range, or null if none of them do. + */ +export function maxSatisfying(versions: Array, range: string | Range, loose?: boolean): string; +/** + * Return the lowest version in the list that satisfies the range, or null if none of them do. + */ +export function minSatisfying(versions: Array, range: string, loose?: boolean): string; +/** + * Return true if version is greater than all the versions possible in the range. + */ +export function gtr(version: string | SemVer, range: string | Range, loose?: boolean): boolean; +/** + * Return true if version is less than all the versions possible in the range. + */ +export function ltr(version: string | SemVer, range: string | Range, loose?: boolean): boolean; +/** + * Return true if the version is outside the bounds of the range in either the high or low direction. + * The hilo argument must be either the string '>' or '<'. (This is the function called by gtr and ltr.) + */ +export function outside(version: string | SemVer, range: string | Range, hilo: '>' | '<', loose?: boolean): boolean; +/** + * Return true if any of the ranges comparators intersect + */ +export function intersects(range1: string | Range, range2: string | Range, loose?: boolean): boolean; + +// Coercion +/** + * Coerces a string to semver if possible + */ +export function coerce(version: string | SemVer): SemVer | null; + +export class SemVer { + constructor(version: string | SemVer, loose?: boolean); + + raw: string; + loose: boolean; + format(): string; + inspect(): string; + + major: number; + minor: number; + patch: number; + version: string; + build: string[]; + prerelease: string[]; + + compare(other: string | SemVer): 1 | 0 | -1; + compareMain(other: string | SemVer): 1 | 0 | -1; + comparePre(other: string | SemVer): 1 | 0 | -1; + inc(release: ReleaseType, identifier?: string): SemVer; +} + +export class Comparator { + constructor(comp: string | Comparator, loose?: boolean); + + semver: SemVer; + operator: string; + value: boolean; + parse(comp: string): void; + test(version: string | SemVer): boolean; + intersects(comp: Comparator, loose?: boolean): boolean; +} + +export class Range { + constructor(range: string | Range, loose?: boolean); + + range: string; + raw: string; + loose: boolean; + format(): string; + inspect(): string; + + set: Comparator[][]; + parseRange(range: string): Comparator[]; + test(version: string | SemVer): boolean; + intersects(range: Range, loose?: boolean): boolean; +} diff --git a/build/js-transpiled/node_modules/@types/semver/package.json b/build/js-transpiled/node_modules/@types/semver/package.json new file mode 100644 index 00000000..4f2dce18 --- /dev/null +++ b/build/js-transpiled/node_modules/@types/semver/package.json @@ -0,0 +1,59 @@ +{ + "_from": "@types/semver@^5.5.0", + "_id": "@types/semver@5.5.0", + "_inBundle": false, + "_integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", + "_location": "/@types/semver", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@types/semver@^5.5.0", + "name": "@types/semver", + "escapedName": "@types%2fsemver", + "scope": "@types", + "rawSpec": "^5.5.0", + "saveSpec": null, + "fetchSpec": "^5.5.0" + }, + "_requiredBy": [ + "/editorconfig" + ], + "_resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "_shasum": "146c2a29ee7d3bae4bf2fcb274636e264c813c45", + "_spec": "@types/semver@^5.5.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Bart van der Schoor", + "url": "https://github.com/Bartvds" + }, + { + "name": "BendingBender", + "url": "https://github.com/BendingBender" + }, + { + "name": "Lucian Buzzo", + "url": "https://github.com/LucianBuzzo" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "TypeScript definitions for semver", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/semver", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "typeScriptVersion": "2.0", + "typesPublisherContentHash": "6a04faf195739078b9992feda8cc82d852573b1c6f2cd0fe71b40731b35ce7a3", + "version": "5.5.0" +} diff --git a/build/js-transpiled/node_modules/abbrev/LICENSE b/build/js-transpiled/node_modules/abbrev/LICENSE index 19129e31..9bcfa9d7 100644 --- a/build/js-transpiled/node_modules/abbrev/LICENSE +++ b/build/js-transpiled/node_modules/abbrev/LICENSE @@ -1,3 +1,8 @@ +This software is dual-licensed under the ISC and MIT licenses. +You may use this software under EITHER of the following licenses. + +---------- + The ISC License Copyright (c) Isaac Z. Schlueter and Contributors @@ -13,3 +18,29 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------- + +Copyright Isaac Z. Schlueter and Contributors +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/build/js-transpiled/node_modules/abbrev/package.json b/build/js-transpiled/node_modules/abbrev/package.json index cdb9bfd3..dec8b583 100644 --- a/build/js-transpiled/node_modules/abbrev/package.json +++ b/build/js-transpiled/node_modules/abbrev/package.json @@ -1,8 +1,8 @@ { "_from": "abbrev@1", - "_id": "abbrev@1.1.0", + "_id": "abbrev@1.1.1", "_inBundle": false, - "_integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "_integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "_location": "/abbrev", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/nopt" ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "_shasum": "d0554c2256636e2f56e7c2e5ad183f859428d81f", + "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8", "_spec": "abbrev@1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/nopt", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/nopt", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me" @@ -52,5 +52,5 @@ "preversion": "npm test", "test": "tap test.js --100" }, - "version": "1.1.0" + "version": "1.1.1" } diff --git a/build/js-transpiled/node_modules/babel-runtime/.npmignore b/build/js-transpiled/node_modules/babel-runtime/.npmignore deleted file mode 100644 index 3efd5b92..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -scripts -node_modules diff --git a/build/js-transpiled/node_modules/babel-runtime/README.md b/build/js-transpiled/node_modules/babel-runtime/README.md deleted file mode 100644 index 8aa85936..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# babel-runtime - diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js.js b/build/js-transpiled/node_modules/babel-runtime/core-js.js deleted file mode 100644 index 7d566438..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - "default": require("core-js/library"), - __esModule: true -}; diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/concat.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/concat.js deleted file mode 100644 index f0a5ec77..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/concat.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/concat"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/copy-within.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/copy-within.js deleted file mode 100644 index e9352ed5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/copy-within.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/copy-within"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/entries.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/entries.js deleted file mode 100644 index ee8b9e9c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/entries"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/every.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/every.js deleted file mode 100644 index adc93197..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/every.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/every"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/fill.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/fill.js deleted file mode 100644 index 3cc2fe1e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/fill.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/fill"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/filter.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/filter.js deleted file mode 100644 index f73a5dbd..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/filter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/filter"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/find-index.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/find-index.js deleted file mode 100644 index 560caa80..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/find-index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/find-index"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/find.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/find.js deleted file mode 100644 index 77639937..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/find.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/find"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/for-each.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/for-each.js deleted file mode 100644 index 4808c96e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/for-each.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/for-each"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/from.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/from.js deleted file mode 100644 index 8c92e817..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/from.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/from"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/includes.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/includes.js deleted file mode 100644 index 602d0d8a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/includes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/includes"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/index-of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/index-of.js deleted file mode 100644 index eb4a6ac5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/index-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/index-of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/join.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/join.js deleted file mode 100644 index 7dc300bb..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/join.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/join"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/keys.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/keys.js deleted file mode 100644 index 5008ccbc..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/keys.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/keys"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/last-index-of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/last-index-of.js deleted file mode 100644 index ed92a55f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/last-index-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/last-index-of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/map.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/map.js deleted file mode 100644 index 0f58810c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/map.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/map"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/of.js deleted file mode 100644 index d03ab62b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/pop.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/pop.js deleted file mode 100644 index 9114d2f5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/pop.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/pop"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/push.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/push.js deleted file mode 100644 index 0cd42be9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/push.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/push"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/reduce-right.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/reduce-right.js deleted file mode 100644 index f56176cd..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/reduce-right.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/reduce-right"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/reduce.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/reduce.js deleted file mode 100644 index c0a20068..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/reduce.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/reduce"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/reverse.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/reverse.js deleted file mode 100644 index 8892c26b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/reverse.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/reverse"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/shift.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/shift.js deleted file mode 100644 index 49e66cd9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/shift.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/shift"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/slice.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/slice.js deleted file mode 100644 index 5f5fe166..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/slice.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/slice"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/some.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/some.js deleted file mode 100644 index 72ca911d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/some.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/some"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/sort.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/sort.js deleted file mode 100644 index 32dece8d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/sort.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/sort"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/splice.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/splice.js deleted file mode 100644 index 6fdebb05..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/splice.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/splice"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/unshift.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/unshift.js deleted file mode 100644 index 3c237a4d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/unshift.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/unshift"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/array/values.js b/build/js-transpiled/node_modules/babel-runtime/core-js/array/values.js deleted file mode 100644 index 6cc67aae..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/array/values.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/array/values"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/asap.js b/build/js-transpiled/node_modules/babel-runtime/core-js/asap.js deleted file mode 100644 index a59e4d0d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/asap.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/asap"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/clear-immediate.js b/build/js-transpiled/node_modules/babel-runtime/core-js/clear-immediate.js deleted file mode 100644 index f2090b70..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/clear-immediate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/clear-immediate"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/error/is-error.js b/build/js-transpiled/node_modules/babel-runtime/core-js/error/is-error.js deleted file mode 100644 index 26375468..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/error/is-error.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/error/is-error"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/get-iterator.js b/build/js-transpiled/node_modules/babel-runtime/core-js/get-iterator.js deleted file mode 100644 index 8f9943af..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/get-iterator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/get-iterator"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/is-iterable.js b/build/js-transpiled/node_modules/babel-runtime/core-js/is-iterable.js deleted file mode 100644 index d690ac86..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/is-iterable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/is-iterable"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/json/stringify.js b/build/js-transpiled/node_modules/babel-runtime/core-js/json/stringify.js deleted file mode 100644 index f09e2f93..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/json/stringify.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/json/stringify"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/map.js b/build/js-transpiled/node_modules/babel-runtime/core-js/map.js deleted file mode 100644 index ed02186f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/map.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/map"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/acosh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/acosh.js deleted file mode 100644 index 37e2202d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/acosh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/acosh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/asinh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/asinh.js deleted file mode 100644 index b5147b3d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/asinh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/asinh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/atanh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/atanh.js deleted file mode 100644 index ad09bb7f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/atanh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/atanh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/cbrt.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/cbrt.js deleted file mode 100644 index 24a69748..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/cbrt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/cbrt"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/clz32.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/clz32.js deleted file mode 100644 index d2218b48..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/clz32.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/clz32"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/cosh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/cosh.js deleted file mode 100644 index fa9d0794..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/cosh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/cosh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/expm1.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/expm1.js deleted file mode 100644 index 860921ed..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/expm1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/expm1"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/fround.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/fround.js deleted file mode 100644 index b62e43ab..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/fround.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/fround"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/hypot.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/hypot.js deleted file mode 100644 index b07335bf..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/hypot.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/hypot"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/iaddh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/iaddh.js deleted file mode 100644 index 016eb07f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/iaddh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/iaddh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/imul.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/imul.js deleted file mode 100644 index 3bf89e84..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/imul.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/imul"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/imulh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/imulh.js deleted file mode 100644 index 3fc7d744..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/imulh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/imulh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/isubh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/isubh.js deleted file mode 100644 index 6b6ea4f1..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/isubh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/isubh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/log10.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/log10.js deleted file mode 100644 index f384512d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/log10.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/log10"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/log1p.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/log1p.js deleted file mode 100644 index 358fc452..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/log1p.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/log1p"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/log2.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/log2.js deleted file mode 100644 index 1cbca00b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/log2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/log2"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/sign.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/sign.js deleted file mode 100644 index 8d0cfa32..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/sign.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/sign"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/sinh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/sinh.js deleted file mode 100644 index 81afaddc..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/sinh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/sinh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/tanh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/tanh.js deleted file mode 100644 index 76fad88a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/tanh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/tanh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/trunc.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/trunc.js deleted file mode 100644 index 443a9581..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/trunc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/trunc"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/math/umulh.js b/build/js-transpiled/node_modules/babel-runtime/core-js/math/umulh.js deleted file mode 100644 index 357f389c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/math/umulh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/math/umulh"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/epsilon.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/epsilon.js deleted file mode 100644 index b5c78626..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/epsilon.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/epsilon"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-finite.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-finite.js deleted file mode 100644 index 7366242e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-finite.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/is-finite"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-integer.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-integer.js deleted file mode 100644 index 69b9bb71..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-integer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/is-integer"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-nan.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-nan.js deleted file mode 100644 index 5402a71a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-nan.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/is-nan"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-safe-integer.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-safe-integer.js deleted file mode 100644 index 2d72dd45..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/is-safe-integer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/is-safe-integer"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/max-safe-integer.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/max-safe-integer.js deleted file mode 100644 index 9b55c84e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/max-safe-integer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/max-safe-integer"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/min-safe-integer.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/min-safe-integer.js deleted file mode 100644 index b5e9785a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/min-safe-integer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/min-safe-integer"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/parse-float.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/parse-float.js deleted file mode 100644 index 0e0f0bce..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/parse-float.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/parse-float"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/number/parse-int.js b/build/js-transpiled/node_modules/babel-runtime/core-js/number/parse-int.js deleted file mode 100644 index 6d454ea9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/number/parse-int.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/number/parse-int"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/assign.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/assign.js deleted file mode 100644 index ca48f0c8..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/assign.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/assign"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/create.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/create.js deleted file mode 100644 index 130165c9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/create.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/create"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/define-properties.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/define-properties.js deleted file mode 100644 index d39e1532..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/define-properties.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/define-properties"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/define-property.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/define-property.js deleted file mode 100644 index f41735b6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/define-property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/define-property"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/entries.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/entries.js deleted file mode 100644 index 32ed7a56..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/entries"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/freeze.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/freeze.js deleted file mode 100644 index 8cc278b6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/freeze.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/freeze"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js deleted file mode 100644 index 8e9296e4..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/get-own-property-descriptor"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js deleted file mode 100644 index 23200d28..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/get-own-property-descriptors"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-names.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-names.js deleted file mode 100644 index 7b954455..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-names.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/get-own-property-names"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js deleted file mode 100644 index c2fc78f8..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/get-own-property-symbols"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-prototype-of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-prototype-of.js deleted file mode 100644 index 47d3f727..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/get-prototype-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/get-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-extensible.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-extensible.js deleted file mode 100644 index 51175ad5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-extensible.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/is-extensible"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-frozen.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-frozen.js deleted file mode 100644 index e8ab5f15..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-frozen.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/is-frozen"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-sealed.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-sealed.js deleted file mode 100644 index 77beda44..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is-sealed.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/is-sealed"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/is.js deleted file mode 100644 index 65247043..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/is.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/is"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/keys.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/keys.js deleted file mode 100644 index 04a3f017..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/keys.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/keys"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/prevent-extensions.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/prevent-extensions.js deleted file mode 100644 index 3d4305fe..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/prevent-extensions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/prevent-extensions"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/seal.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/seal.js deleted file mode 100644 index c969cab9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/seal.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/seal"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/set-prototype-of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/set-prototype-of.js deleted file mode 100644 index 63b1435e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/set-prototype-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/set-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/object/values.js b/build/js-transpiled/node_modules/babel-runtime/core-js/object/values.js deleted file mode 100644 index c5870971..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/object/values.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/object/values"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/observable.js b/build/js-transpiled/node_modules/babel-runtime/core-js/observable.js deleted file mode 100644 index 04ca51e6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/observable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/observable"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/promise.js b/build/js-transpiled/node_modules/babel-runtime/core-js/promise.js deleted file mode 100644 index 0cb9a23e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/promise.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/promise"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/apply.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/apply.js deleted file mode 100644 index cc578d4d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/apply.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/apply"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/construct.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/construct.js deleted file mode 100644 index a2d991a2..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/construct.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/construct"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/define-metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/define-metadata.js deleted file mode 100644 index 1ba7d4a1..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/define-metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/define-metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/define-property.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/define-property.js deleted file mode 100644 index aee1c3a1..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/define-property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/define-property"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/delete-metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/delete-metadata.js deleted file mode 100644 index 3396c42b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/delete-metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/delete-metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/delete-property.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/delete-property.js deleted file mode 100644 index efa76abc..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/delete-property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/delete-property"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/enumerate.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/enumerate.js deleted file mode 100644 index 041484ba..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/enumerate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/enumerate"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js deleted file mode 100644 index 722e0996..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get-metadata-keys"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-metadata.js deleted file mode 100644 index d725525b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get-metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js deleted file mode 100644 index feff3a6e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get-own-metadata-keys"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js deleted file mode 100644 index 1f8bd566..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get-own-metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js deleted file mode 100644 index 67a50f5a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get-own-property-descriptor"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js deleted file mode 100644 index d3c8d4e3..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get.js deleted file mode 100644 index a42e4fba..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/get.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/get"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has-metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has-metadata.js deleted file mode 100644 index c1051a38..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has-metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/has-metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js deleted file mode 100644 index 1cefbf79..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/has-own-metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has.js deleted file mode 100644 index e2a96656..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/has.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/has"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/is-extensible.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/is-extensible.js deleted file mode 100644 index b0de7bff..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/is-extensible.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/is-extensible"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/metadata.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/metadata.js deleted file mode 100644 index cb85fdee..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/metadata.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/metadata"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/own-keys.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/own-keys.js deleted file mode 100644 index d98fed2b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/own-keys.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/own-keys"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js deleted file mode 100644 index 5408d890..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/prevent-extensions"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js deleted file mode 100644 index 5433e2e3..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/set-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/set.js b/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/set.js deleted file mode 100644 index 657bddc2..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/reflect/set.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/reflect/set"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/regexp/escape.js b/build/js-transpiled/node_modules/babel-runtime/core-js/regexp/escape.js deleted file mode 100644 index 12a25c3b..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/regexp/escape.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/regexp/escape"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/set-immediate.js b/build/js-transpiled/node_modules/babel-runtime/core-js/set-immediate.js deleted file mode 100644 index fc42eb4a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/set-immediate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/set-immediate"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/set.js b/build/js-transpiled/node_modules/babel-runtime/core-js/set.js deleted file mode 100644 index 22c14d46..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/set.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/set"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/at.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/at.js deleted file mode 100644 index 1c4b5952..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/at.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/at"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/code-point-at.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/code-point-at.js deleted file mode 100644 index 4332bdb6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/code-point-at.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/code-point-at"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/ends-with.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/ends-with.js deleted file mode 100644 index ad3b55a2..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/ends-with.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/ends-with"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/from-code-point.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/from-code-point.js deleted file mode 100644 index 8c10782a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/from-code-point.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/from-code-point"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/includes.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/includes.js deleted file mode 100644 index f7de2707..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/includes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/includes"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/match-all.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/match-all.js deleted file mode 100644 index 813855c0..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/match-all.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/match-all"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-end.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-end.js deleted file mode 100644 index 5ff98146..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-end.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/pad-end"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-left.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-left.js deleted file mode 100644 index ee67e704..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-left.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/pad-start"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-right.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-right.js deleted file mode 100644 index 5ff98146..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-right.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/pad-end"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-start.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-start.js deleted file mode 100644 index ee67e704..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/pad-start.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/pad-start"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/raw.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/raw.js deleted file mode 100644 index 05c92dc1..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/raw.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/raw"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/repeat.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/repeat.js deleted file mode 100644 index 816ef2ee..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/repeat.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/repeat"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/starts-with.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/starts-with.js deleted file mode 100644 index 5d74716c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/starts-with.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/starts-with"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-end.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-end.js deleted file mode 100644 index 7c426f5d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-end.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/trim-end"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-left.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-left.js deleted file mode 100644 index b8a7e1e5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-left.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/trim-left"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-right.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-right.js deleted file mode 100644 index ba3ca745..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-right.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/trim-right"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-start.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-start.js deleted file mode 100644 index f1f035aa..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim-start.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/trim-start"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim.js b/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim.js deleted file mode 100644 index 7d51cf07..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/string/trim.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/string/trim"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol.js deleted file mode 100644 index 9aa95a02..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/async-iterator.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/async-iterator.js deleted file mode 100644 index 9dd3a570..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/async-iterator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/async-iterator"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/for.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/for.js deleted file mode 100644 index de7424fb..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/for.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/for"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/has-instance.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/has-instance.js deleted file mode 100644 index f7711804..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/has-instance.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/has-instance"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js deleted file mode 100644 index 0bc7f03d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/is-concat-spreadable"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/iterator.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/iterator.js deleted file mode 100644 index 3f9a0fbd..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/iterator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/iterator"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/key-for.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/key-for.js deleted file mode 100644 index 15a6cfba..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/key-for.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/key-for"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/match.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/match.js deleted file mode 100644 index ed64810c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/match.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/match"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/observable.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/observable.js deleted file mode 100644 index 876f9c02..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/observable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/observable"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/replace.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/replace.js deleted file mode 100644 index 35f900bd..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/replace.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/replace"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/search.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/search.js deleted file mode 100644 index 4b81d319..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/search.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/search"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/species.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/species.js deleted file mode 100644 index 4481321d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/species.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/species"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/split.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/split.js deleted file mode 100644 index 1f5795c0..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/split.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/split"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/to-primitive.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/to-primitive.js deleted file mode 100644 index b7f9e044..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/to-primitive.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/to-primitive"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/to-string-tag.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/to-string-tag.js deleted file mode 100644 index d9e4e4d6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/to-string-tag.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/to-string-tag"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/unscopables.js b/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/unscopables.js deleted file mode 100644 index cd3dac01..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/symbol/unscopables.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/symbol/unscopables"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/system/global.js b/build/js-transpiled/node_modules/babel-runtime/core-js/system/global.js deleted file mode 100644 index c442f179..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/system/global.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/system/global"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/weak-map.js b/build/js-transpiled/node_modules/babel-runtime/core-js/weak-map.js deleted file mode 100644 index de130d48..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/weak-map.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/weak-map"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/core-js/weak-set.js b/build/js-transpiled/node_modules/babel-runtime/core-js/weak-set.js deleted file mode 100644 index b96cb974..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/core-js/weak-set.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = { "default": require("core-js/library/fn/weak-set"), __esModule: true }; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-generator-delegate.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_async-generator-delegate.js deleted file mode 100644 index c1debb4a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-generator-delegate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncGeneratorDelegate.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-generator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_async-generator.js deleted file mode 100644 index ee87351f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-generator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncGenerator.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-iterator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_async-iterator.js deleted file mode 100644 index c014bbb7..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-iterator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncIterator.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-to-generator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_async-to-generator.js deleted file mode 100644 index 5f81e900..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_async-to-generator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncToGenerator.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_class-call-check.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_class-call-check.js deleted file mode 100644 index d4514f0a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_class-call-check.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./classCallCheck.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_create-class.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_create-class.js deleted file mode 100644 index 2699d23f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_create-class.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./createClass.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_defaults.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_defaults.js deleted file mode 100644 index a4274f5e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_defaults.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./defaults.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_define-enumerable-properties.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_define-enumerable-properties.js deleted file mode 100644 index c60bbfc3..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_define-enumerable-properties.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./defineEnumerableProperties.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_define-property.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_define-property.js deleted file mode 100644 index a265eab9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_define-property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./defineProperty.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_extends.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_extends.js deleted file mode 100644 index 2ecdb0ed..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_extends.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./extends.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_get.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_get.js deleted file mode 100644 index 39aa3873..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_get.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./get.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_inherits.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_inherits.js deleted file mode 100644 index 29deff3f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_inherits.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./inherits.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_instanceof.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_instanceof.js deleted file mode 100644 index 4c612133..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_instanceof.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./instanceof.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_interop-require-default.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_interop-require-default.js deleted file mode 100644 index 10edad2c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_interop-require-default.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./interopRequireDefault.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_interop-require-wildcard.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_interop-require-wildcard.js deleted file mode 100644 index ae19e01e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_interop-require-wildcard.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./interopRequireWildcard.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_jsx.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_jsx.js deleted file mode 100644 index f21ab916..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_jsx.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./jsx.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_new-arrow-check.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_new-arrow-check.js deleted file mode 100644 index 6325419c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_new-arrow-check.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./newArrowCheck.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_object-destructuring-empty.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_object-destructuring-empty.js deleted file mode 100644 index 9c6ffef5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_object-destructuring-empty.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./objectDestructuringEmpty.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_object-without-properties.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_object-without-properties.js deleted file mode 100644 index 052b2078..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_object-without-properties.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./objectWithoutProperties.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_possible-constructor-return.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_possible-constructor-return.js deleted file mode 100644 index 09018d77..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_possible-constructor-return.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./possibleConstructorReturn.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_self-global.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_self-global.js deleted file mode 100644 index c3d45f33..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_self-global.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./selfGlobal.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_set.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_set.js deleted file mode 100644 index e4dd5eaf..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_set.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./set.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js deleted file mode 100644 index 8bb56d33..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./slicedToArrayLoose.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_sliced-to-array.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_sliced-to-array.js deleted file mode 100644 index 28d7fd82..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_sliced-to-array.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./slicedToArray.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js deleted file mode 100644 index 8ffa3f71..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./taggedTemplateLiteralLoose.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_tagged-template-literal.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_tagged-template-literal.js deleted file mode 100644 index 160a9178..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_tagged-template-literal.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./taggedTemplateLiteral.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_temporal-ref.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_temporal-ref.js deleted file mode 100644 index cf2e4e45..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_temporal-ref.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./temporalRef.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_temporal-undefined.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_temporal-undefined.js deleted file mode 100644 index 234fc339..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_temporal-undefined.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./temporalUndefined.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_to-array.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_to-array.js deleted file mode 100644 index d89ee39a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_to-array.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./toArray.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_to-consumable-array.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_to-consumable-array.js deleted file mode 100644 index 0aad718d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_to-consumable-array.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./toConsumableArray.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/_typeof.js b/build/js-transpiled/node_modules/babel-runtime/helpers/_typeof.js deleted file mode 100644 index 14fd11cd..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/_typeof.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./typeof.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/async-generator-delegate.js b/build/js-transpiled/node_modules/babel-runtime/helpers/async-generator-delegate.js deleted file mode 100644 index c1debb4a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/async-generator-delegate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncGeneratorDelegate.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/async-generator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/async-generator.js deleted file mode 100644 index ee87351f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/async-generator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncGenerator.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/async-iterator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/async-iterator.js deleted file mode 100644 index c014bbb7..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/async-iterator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncIterator.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/async-to-generator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/async-to-generator.js deleted file mode 100644 index 5f81e900..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/async-to-generator.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./asyncToGenerator.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncGenerator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/asyncGenerator.js deleted file mode 100644 index ebbea096..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncGenerator.js +++ /dev/null @@ -1,126 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _symbol = require("../core-js/symbol"); - -var _symbol2 = _interopRequireDefault(_symbol); - -var _promise = require("../core-js/promise"); - -var _promise2 = _interopRequireDefault(_promise); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function () { - function AwaitValue(value) { - this.value = value; - } - - function AsyncGenerator(gen) { - var front, back; - - function send(key, arg) { - return new _promise2.default(function (resolve, reject) { - var request = { - key: key, - arg: arg, - resolve: resolve, - reject: reject, - next: null - }; - - if (back) { - back = back.next = request; - } else { - front = back = request; - resume(key, arg); - } - }); - } - - function resume(key, arg) { - try { - var result = gen[key](arg); - var value = result.value; - - if (value instanceof AwaitValue) { - _promise2.default.resolve(value.value).then(function (arg) { - resume("next", arg); - }, function (arg) { - resume("throw", arg); - }); - } else { - settle(result.done ? "return" : "normal", result.value); - } - } catch (err) { - settle("throw", err); - } - } - - function settle(type, value) { - switch (type) { - case "return": - front.resolve({ - value: value, - done: true - }); - break; - - case "throw": - front.reject(value); - break; - - default: - front.resolve({ - value: value, - done: false - }); - break; - } - - front = front.next; - - if (front) { - resume(front.key, front.arg); - } else { - back = null; - } - } - - this._invoke = send; - - if (typeof gen.return !== "function") { - this.return = undefined; - } - } - - if (typeof _symbol2.default === "function" && _symbol2.default.asyncIterator) { - AsyncGenerator.prototype[_symbol2.default.asyncIterator] = function () { - return this; - }; - } - - AsyncGenerator.prototype.next = function (arg) { - return this._invoke("next", arg); - }; - - AsyncGenerator.prototype.throw = function (arg) { - return this._invoke("throw", arg); - }; - - AsyncGenerator.prototype.return = function (arg) { - return this._invoke("return", arg); - }; - - return { - wrap: function wrap(fn) { - return function () { - return new AsyncGenerator(fn.apply(this, arguments)); - }; - }, - await: function await(value) { - return new AwaitValue(value); - } - }; -}(); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncIterator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/asyncIterator.js deleted file mode 100644 index b542b6c7..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncIterator.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _getIterator2 = require("../core-js/get-iterator"); - -var _getIterator3 = _interopRequireDefault(_getIterator2); - -var _iterator = require("../core-js/symbol/iterator"); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _symbol = require("../core-js/symbol"); - -var _symbol2 = _interopRequireDefault(_symbol); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (iterable) { - if (typeof _symbol2.default === "function") { - if (_symbol2.default.asyncIterator) { - var method = iterable[_symbol2.default.asyncIterator]; - if (method != null) return method.call(iterable); - } - - if (_iterator2.default) { - return (0, _getIterator3.default)(iterable); - } - } - - throw new TypeError("Object is not async iterable"); -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncToGenerator.js b/build/js-transpiled/node_modules/babel-runtime/helpers/asyncToGenerator.js deleted file mode 100644 index 50be669e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/asyncToGenerator.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _promise = require("../core-js/promise"); - -var _promise2 = _interopRequireDefault(_promise); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (fn) { - return function () { - var gen = fn.apply(this, arguments); - return new _promise2.default(function (resolve, reject) { - function step(key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - - if (info.done) { - resolve(value); - } else { - return _promise2.default.resolve(value).then(function (value) { - step("next", value); - }, function (err) { - step("throw", err); - }); - } - } - - return step("next"); - }); - }; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/class-call-check.js b/build/js-transpiled/node_modules/babel-runtime/helpers/class-call-check.js deleted file mode 100644 index d4514f0a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/class-call-check.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./classCallCheck.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/create-class.js b/build/js-transpiled/node_modules/babel-runtime/helpers/create-class.js deleted file mode 100644 index 2699d23f..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/create-class.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./createClass.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/createClass.js b/build/js-transpiled/node_modules/babel-runtime/helpers/createClass.js deleted file mode 100644 index bee484d6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/createClass.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _defineProperty = require("../core-js/object/define-property"); - -var _defineProperty2 = _interopRequireDefault(_defineProperty); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = 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; - (0, _defineProperty2.default)(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; -}(); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/defaults.js b/build/js-transpiled/node_modules/babel-runtime/helpers/defaults.js deleted file mode 100644 index 9a721cec..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/defaults.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _defineProperty = require("../core-js/object/define-property"); - -var _defineProperty2 = _interopRequireDefault(_defineProperty); - -var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); - -var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); - -var _getOwnPropertyNames = require("../core-js/object/get-own-property-names"); - -var _getOwnPropertyNames2 = _interopRequireDefault(_getOwnPropertyNames); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (obj, defaults) { - var keys = (0, _getOwnPropertyNames2.default)(defaults); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var value = (0, _getOwnPropertyDescriptor2.default)(defaults, key); - - if (value && value.configurable && obj[key] === undefined) { - (0, _defineProperty2.default)(obj, key, value); - } - } - - return obj; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/define-enumerable-properties.js b/build/js-transpiled/node_modules/babel-runtime/helpers/define-enumerable-properties.js deleted file mode 100644 index c60bbfc3..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/define-enumerable-properties.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./defineEnumerableProperties.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/define-property.js b/build/js-transpiled/node_modules/babel-runtime/helpers/define-property.js deleted file mode 100644 index a265eab9..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/define-property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./defineProperty.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/defineEnumerableProperties.js b/build/js-transpiled/node_modules/babel-runtime/helpers/defineEnumerableProperties.js deleted file mode 100644 index 503a1ab2..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/defineEnumerableProperties.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _defineProperty = require("../core-js/object/define-property"); - -var _defineProperty2 = _interopRequireDefault(_defineProperty); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (obj, descs) { - for (var key in descs) { - var desc = descs[key]; - desc.configurable = desc.enumerable = true; - if ("value" in desc) desc.writable = true; - (0, _defineProperty2.default)(obj, key, desc); - } - - return obj; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/defineProperty.js b/build/js-transpiled/node_modules/babel-runtime/helpers/defineProperty.js deleted file mode 100644 index b0f46d80..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/defineProperty.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _defineProperty = require("../core-js/object/define-property"); - -var _defineProperty2 = _interopRequireDefault(_defineProperty); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (obj, key, value) { - if (key in obj) { - (0, _defineProperty2.default)(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/extends.js b/build/js-transpiled/node_modules/babel-runtime/helpers/extends.js deleted file mode 100644 index 976aef1d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/extends.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _assign = require("../core-js/object/assign"); - -var _assign2 = _interopRequireDefault(_assign); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = _assign2.default || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/get.js b/build/js-transpiled/node_modules/babel-runtime/helpers/get.js deleted file mode 100644 index 38b79b76..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/get.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _getPrototypeOf = require("../core-js/object/get-prototype-of"); - -var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - -var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); - -var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function get(object, property, receiver) { - if (object === null) object = Function.prototype; - var desc = (0, _getOwnPropertyDescriptor2.default)(object, property); - - if (desc === undefined) { - var parent = (0, _getPrototypeOf2.default)(object); - - if (parent === null) { - return undefined; - } else { - return get(parent, property, receiver); - } - } else if ("value" in desc) { - return desc.value; - } else { - var getter = desc.get; - - if (getter === undefined) { - return undefined; - } - - return getter.call(receiver); - } -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/inherits.js b/build/js-transpiled/node_modules/babel-runtime/helpers/inherits.js deleted file mode 100644 index ae8a92db..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/inherits.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _setPrototypeOf = require("../core-js/object/set-prototype-of"); - -var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); - -var _create = require("../core-js/object/create"); - -var _create2 = _interopRequireDefault(_create); - -var _typeof2 = require("../helpers/typeof"); - -var _typeof3 = _interopRequireDefault(_typeof2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); - } - - subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/instanceof.js b/build/js-transpiled/node_modules/babel-runtime/helpers/instanceof.js deleted file mode 100644 index f2d90ecf..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/instanceof.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _hasInstance = require("../core-js/symbol/has-instance"); - -var _hasInstance2 = _interopRequireDefault(_hasInstance); - -var _symbol = require("../core-js/symbol"); - -var _symbol2 = _interopRequireDefault(_symbol); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (left, right) { - if (right != null && typeof _symbol2.default !== "undefined" && right[_hasInstance2.default]) { - return right[_hasInstance2.default](left); - } else { - return left instanceof right; - } -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/interop-require-default.js b/build/js-transpiled/node_modules/babel-runtime/helpers/interop-require-default.js deleted file mode 100644 index 10edad2c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/interop-require-default.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./interopRequireDefault.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/interop-require-wildcard.js b/build/js-transpiled/node_modules/babel-runtime/helpers/interop-require-wildcard.js deleted file mode 100644 index ae19e01e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/interop-require-wildcard.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./interopRequireWildcard.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/interopRequireDefault.js b/build/js-transpiled/node_modules/babel-runtime/helpers/interopRequireDefault.js deleted file mode 100644 index df808f60..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/interopRequireDefault.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/interopRequireWildcard.js b/build/js-transpiled/node_modules/babel-runtime/helpers/interopRequireWildcard.js deleted file mode 100644 index d95b6ac7..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/interopRequireWildcard.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; - - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } - } - - newObj.default = obj; - return newObj; - } -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/jsx.js b/build/js-transpiled/node_modules/babel-runtime/helpers/jsx.js deleted file mode 100644 index b2164d05..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/jsx.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _for = require("../core-js/symbol/for"); - -var _for2 = _interopRequireDefault(_for); - -var _symbol = require("../core-js/symbol"); - -var _symbol2 = _interopRequireDefault(_symbol); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function () { - var REACT_ELEMENT_TYPE = typeof _symbol2.default === "function" && _for2.default && (0, _for2.default)("react.element") || 0xeac7; - return function createRawReactElement(type, props, key, children) { - var defaultProps = type && type.defaultProps; - var childrenLength = arguments.length - 3; - - if (!props && childrenLength !== 0) { - props = {}; - } - - if (props && defaultProps) { - for (var propName in defaultProps) { - if (props[propName] === void 0) { - props[propName] = defaultProps[propName]; - } - } - } else if (!props) { - props = defaultProps || {}; - } - - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = Array(childrenLength); - - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 3]; - } - - props.children = childArray; - } - - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key === undefined ? null : '' + key, - ref: null, - props: props, - _owner: null - }; - }; -}(); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/new-arrow-check.js b/build/js-transpiled/node_modules/babel-runtime/helpers/new-arrow-check.js deleted file mode 100644 index 6325419c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/new-arrow-check.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./newArrowCheck.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/object-destructuring-empty.js b/build/js-transpiled/node_modules/babel-runtime/helpers/object-destructuring-empty.js deleted file mode 100644 index 9c6ffef5..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/object-destructuring-empty.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./objectDestructuringEmpty.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/object-without-properties.js b/build/js-transpiled/node_modules/babel-runtime/helpers/object-without-properties.js deleted file mode 100644 index 052b2078..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/object-without-properties.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./objectWithoutProperties.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js b/build/js-transpiled/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js deleted file mode 100644 index e2651c13..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (obj) { - if (obj == null) throw new TypeError("Cannot destructure undefined"); -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/objectWithoutProperties.js b/build/js-transpiled/node_modules/babel-runtime/helpers/objectWithoutProperties.js deleted file mode 100644 index e9f07e68..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/objectWithoutProperties.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (obj, keys) { - var target = {}; - - for (var i in obj) { - if (keys.indexOf(i) >= 0) continue; - if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; - target[i] = obj[i]; - } - - return target; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/possible-constructor-return.js b/build/js-transpiled/node_modules/babel-runtime/helpers/possible-constructor-return.js deleted file mode 100644 index 09018d77..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/possible-constructor-return.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./possibleConstructorReturn.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/possibleConstructorReturn.js b/build/js-transpiled/node_modules/babel-runtime/helpers/possibleConstructorReturn.js deleted file mode 100644 index 957f425d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/possibleConstructorReturn.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _typeof2 = require("../helpers/typeof"); - -var _typeof3 = _interopRequireDefault(_typeof2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/self-global.js b/build/js-transpiled/node_modules/babel-runtime/helpers/self-global.js deleted file mode 100644 index c3d45f33..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/self-global.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./selfGlobal.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/selfGlobal.js b/build/js-transpiled/node_modules/babel-runtime/helpers/selfGlobal.js deleted file mode 100644 index 378beb8e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/selfGlobal.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; - -exports.__esModule = true; -exports.default = typeof global === "undefined" ? self : global; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/set.js b/build/js-transpiled/node_modules/babel-runtime/helpers/set.js deleted file mode 100644 index 8780efb6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/set.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _getPrototypeOf = require("../core-js/object/get-prototype-of"); - -var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - -var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); - -var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function set(object, property, value, receiver) { - var desc = (0, _getOwnPropertyDescriptor2.default)(object, property); - - if (desc === undefined) { - var parent = (0, _getPrototypeOf2.default)(object); - - if (parent !== null) { - set(parent, property, value, receiver); - } - } else if ("value" in desc && desc.writable) { - desc.value = value; - } else { - var setter = desc.set; - - if (setter !== undefined) { - setter.call(receiver, value); - } - } - - return value; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/sliced-to-array-loose.js b/build/js-transpiled/node_modules/babel-runtime/helpers/sliced-to-array-loose.js deleted file mode 100644 index 8bb56d33..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/sliced-to-array-loose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./slicedToArrayLoose.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/sliced-to-array.js b/build/js-transpiled/node_modules/babel-runtime/helpers/sliced-to-array.js deleted file mode 100644 index 28d7fd82..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/sliced-to-array.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./slicedToArray.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/slicedToArray.js b/build/js-transpiled/node_modules/babel-runtime/helpers/slicedToArray.js deleted file mode 100644 index de115124..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/slicedToArray.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _isIterable2 = require("../core-js/is-iterable"); - -var _isIterable3 = _interopRequireDefault(_isIterable2); - -var _getIterator2 = require("../core-js/get-iterator"); - -var _getIterator3 = _interopRequireDefault(_getIterator2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function () { - function sliceIterator(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"]) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; - } - - return function (arr, i) { - if (Array.isArray(arr)) { - return arr; - } else if ((0, _isIterable3.default)(Object(arr))) { - return sliceIterator(arr, i); - } else { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } - }; -}(); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/slicedToArrayLoose.js b/build/js-transpiled/node_modules/babel-runtime/helpers/slicedToArrayLoose.js deleted file mode 100644 index 012bbd85..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/slicedToArrayLoose.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _getIterator2 = require("../core-js/get-iterator"); - -var _getIterator3 = _interopRequireDefault(_getIterator2); - -var _isIterable2 = require("../core-js/is-iterable"); - -var _isIterable3 = _interopRequireDefault(_isIterable2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (arr, i) { - if (Array.isArray(arr)) { - return arr; - } else if ((0, _isIterable3.default)(Object(arr))) { - var _arr = []; - - for (var _iterator = (0, _getIterator3.default)(arr), _step; !(_step = _iterator.next()).done;) { - _arr.push(_step.value); - - if (i && _arr.length === i) break; - } - - return _arr; - } else { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js b/build/js-transpiled/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js deleted file mode 100644 index 8ffa3f71..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./taggedTemplateLiteralLoose.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/tagged-template-literal.js b/build/js-transpiled/node_modules/babel-runtime/helpers/tagged-template-literal.js deleted file mode 100644 index 160a9178..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/tagged-template-literal.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./taggedTemplateLiteral.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js b/build/js-transpiled/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js deleted file mode 100644 index 060dcf9c..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _defineProperties = require("../core-js/object/define-properties"); - -var _defineProperties2 = _interopRequireDefault(_defineProperties); - -var _freeze = require("../core-js/object/freeze"); - -var _freeze2 = _interopRequireDefault(_freeze); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (strings, raw) { - return (0, _freeze2.default)((0, _defineProperties2.default)(strings, { - raw: { - value: (0, _freeze2.default)(raw) - } - })); -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js b/build/js-transpiled/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js deleted file mode 100644 index 76c49309..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (strings, raw) { - strings.raw = raw; - return strings; -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/temporal-ref.js b/build/js-transpiled/node_modules/babel-runtime/helpers/temporal-ref.js deleted file mode 100644 index cf2e4e45..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/temporal-ref.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./temporalRef.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/temporal-undefined.js b/build/js-transpiled/node_modules/babel-runtime/helpers/temporal-undefined.js deleted file mode 100644 index 234fc339..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/temporal-undefined.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./temporalUndefined.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/temporalUndefined.js b/build/js-transpiled/node_modules/babel-runtime/helpers/temporalUndefined.js deleted file mode 100644 index 4066de1d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/temporalUndefined.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; - -exports.__esModule = true; -exports.default = {}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/to-array.js b/build/js-transpiled/node_modules/babel-runtime/helpers/to-array.js deleted file mode 100644 index d89ee39a..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/to-array.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./toArray.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/to-consumable-array.js b/build/js-transpiled/node_modules/babel-runtime/helpers/to-consumable-array.js deleted file mode 100644 index 0aad718d..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/to-consumable-array.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./toConsumableArray.js"); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/toArray.js b/build/js-transpiled/node_modules/babel-runtime/helpers/toArray.js deleted file mode 100644 index 8601a44e..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/toArray.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _from = require("../core-js/array/from"); - -var _from2 = _interopRequireDefault(_from); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (arr) { - return Array.isArray(arr) ? arr : (0, _from2.default)(arr); -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/toConsumableArray.js b/build/js-transpiled/node_modules/babel-runtime/helpers/toConsumableArray.js deleted file mode 100644 index c4e34f51..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/toConsumableArray.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _from = require("../core-js/array/from"); - -var _from2 = _interopRequireDefault(_from); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { - arr2[i] = arr[i]; - } - - return arr2; - } else { - return (0, _from2.default)(arr); - } -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/helpers/typeof.js b/build/js-transpiled/node_modules/babel-runtime/helpers/typeof.js deleted file mode 100644 index d22add80..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/helpers/typeof.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -var _iterator = require("../core-js/symbol/iterator"); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _symbol = require("../core-js/symbol"); - -var _symbol2 = _interopRequireDefault(_symbol); - -var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof(obj); -} : function (obj) { - return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/babel-runtime/package.json b/build/js-transpiled/node_modules/babel-runtime/package.json deleted file mode 100644 index 370892a6..00000000 --- a/build/js-transpiled/node_modules/babel-runtime/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "_from": "babel-runtime@6.23.0", - "_id": "babel-runtime@6.23.0", - "_inBundle": false, - "_integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", - "_location": "/babel-runtime", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "babel-runtime@6.23.0", - "name": "babel-runtime", - "escapedName": "babel-runtime", - "rawSpec": "6.23.0", - "saveSpec": null, - "fetchSpec": "6.23.0" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "_shasum": "0a9489f144de70efb3ce4300accdb329e2fc543b", - "_spec": "babel-runtime@6.23.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", - "author": { - "name": "Sebastian McKenzie", - "email": "sebmck@gmail.com" - }, - "bundleDependencies": false, - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.10.0" - }, - "deprecated": false, - "description": "babel selfContained runtime", - "devDependencies": { - "babel-helpers": "^6.22.0", - "babel-plugin-transform-runtime": "^6.23.0" - }, - "license": "MIT", - "name": "babel-runtime", - "repository": { - "type": "git", - "url": "https://github.com/babel/babel/tree/master/packages/babel-runtime" - }, - "version": "6.23.0" -} diff --git a/build/js-transpiled/node_modules/balanced-match/package.json b/build/js-transpiled/node_modules/balanced-match/package.json index e0db0ce2..e90434ca 100644 --- a/build/js-transpiled/node_modules/balanced-match/package.json +++ b/build/js-transpiled/node_modules/balanced-match/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767", "_spec": "balanced-match@^1.0.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/brace-expansion", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/brace-expansion", "author": { "name": "Julian Gruber", "email": "mail@juliangruber.com", diff --git a/build/js-transpiled/node_modules/bluebird/README.md b/build/js-transpiled/node_modules/bluebird/README.md deleted file mode 100644 index b7e02b1d..00000000 --- a/build/js-transpiled/node_modules/bluebird/README.md +++ /dev/null @@ -1,51 +0,0 @@ - - Promises/A+ logo - -[![Build Status](https://travis-ci.org/petkaantonov/bluebird.svg?branch=master)](https://travis-ci.org/petkaantonov/bluebird) -[![coverage-98%](http://img.shields.io/badge/coverage-98%-brightgreen.svg?style=flat)](http://petkaantonov.github.io/bluebird/coverage/debug/index.html) - -**Got a question?** Join us on [stackoverflow](http://stackoverflow.com/questions/tagged/bluebird), the [mailing list](https://groups.google.com/forum/#!forum/bluebird-js) or chat on [IRC](https://webchat.freenode.net/?channels=#promises) - -# Introduction - -Bluebird is a fully featured promise library with focus on innovative features and performance - -See the [**bluebird website**](http://bluebirdjs.com/docs/getting-started.html) for further documentation, references and instructions. See the [**API reference**](http://bluebirdjs.com/docs/api-reference.html) here. - -For bluebird 2.x documentation and files, see the [2.x tree](https://github.com/petkaantonov/bluebird/tree/2.x). - -# Questions and issues - -The [github issue tracker](https://github.com/petkaantonov/bluebird/issues) is **_only_** for bug reports and feature requests. Anything else, such as questions for help in using the library, should be posted in [StackOverflow](http://stackoverflow.com/questions/tagged/bluebird) under tags `promise` and `bluebird`. - - - -## Thanks - -Thanks to BrowserStack for providing us with a free account which lets us support old browsers like IE8. - -# License - -The MIT License (MIT) - -Copyright (c) 2013-2017 Petka Antonov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/build/js-transpiled/node_modules/bluebird/changelog.md b/build/js-transpiled/node_modules/bluebird/changelog.md deleted file mode 100644 index 73b2eb6c..00000000 --- a/build/js-transpiled/node_modules/bluebird/changelog.md +++ /dev/null @@ -1 +0,0 @@ -[http://bluebirdjs.com/docs/changelog.html](http://bluebirdjs.com/docs/changelog.html) diff --git a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.core.js b/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.core.js deleted file mode 100644 index c94f3c22..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.core.js +++ /dev/null @@ -1,3777 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ -/** - * bluebird build version 3.5.0 - * Features enabled: core - * Features disabled: race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_=="function"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_=="function"&&_dereq_;for(var o=0;o 0) { - var fn = queue.shift(); - if (typeof fn !== "function") { - fn._settlePromises(); - continue; - } - var receiver = queue.shift(); - var arg = queue.shift(); - fn.call(receiver, arg); - } -}; - -Async.prototype._drainQueues = function () { - this._drainQueue(this._normalQueue); - this._reset(); - this._haveDrainedQueues = true; - this._drainQueue(this._lateQueue); -}; - -Async.prototype._queueTick = function () { - if (!this._isTickUsed) { - this._isTickUsed = true; - this._schedule(this.drainQueues); - } -}; - -Async.prototype._reset = function () { - this._isTickUsed = false; -}; - -module.exports = Async; -module.exports.firstLineError = firstLineError; - -},{"./queue":17,"./schedule":18,"./util":21}],2:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { -var calledBind = false; -var rejectThis = function(_, e) { - this._reject(e); -}; - -var targetRejected = function(e, context) { - context.promiseRejectionQueued = true; - context.bindingPromise._then(rejectThis, rejectThis, null, this, e); -}; - -var bindingResolved = function(thisArg, context) { - if (((this._bitField & 50397184) === 0)) { - this._resolveCallback(context.target); - } -}; - -var bindingRejected = function(e, context) { - if (!context.promiseRejectionQueued) this._reject(e); -}; - -Promise.prototype.bind = function (thisArg) { - if (!calledBind) { - calledBind = true; - Promise.prototype._propagateFrom = debug.propagateFromFunction(); - Promise.prototype._boundValue = debug.boundValueFunction(); - } - var maybePromise = tryConvertToPromise(thisArg); - var ret = new Promise(INTERNAL); - ret._propagateFrom(this, 1); - var target = this._target(); - ret._setBoundTo(maybePromise); - if (maybePromise instanceof Promise) { - var context = { - promiseRejectionQueued: false, - promise: ret, - target: target, - bindingPromise: maybePromise - }; - target._then(INTERNAL, targetRejected, undefined, ret, context); - maybePromise._then( - bindingResolved, bindingRejected, undefined, ret, context); - ret._setOnCancel(maybePromise); - } else { - ret._resolveCallback(target); - } - return ret; -}; - -Promise.prototype._setBoundTo = function (obj) { - if (obj !== undefined) { - this._bitField = this._bitField | 2097152; - this._boundTo = obj; - } else { - this._bitField = this._bitField & (~2097152); - } -}; - -Promise.prototype._isBound = function () { - return (this._bitField & 2097152) === 2097152; -}; - -Promise.bind = function (thisArg, value) { - return Promise.resolve(value).bind(thisArg); -}; -}; - -},{}],3:[function(_dereq_,module,exports){ -"use strict"; -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = _dereq_("./promise")(); -bluebird.noConflict = noConflict; -module.exports = bluebird; - -},{"./promise":15}],4:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; - -},{"./util":21}],5:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(NEXT_FILTER) { -var util = _dereq_("./util"); -var getKeys = _dereq_("./es5").keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; - -},{"./es5":10,"./util":21}],6:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; - -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; - -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; - -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; -} -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; - -},{}],7:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = _dereq_("./errors").Warning; -var util = _dereq_("./util"); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - (true || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - async.invokeLater(this._notifyUnhandledRejection, this, undefined); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; - -},{"./errors":9,"./util":21}],8:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; - -},{}],9:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var Objectfreeze = es5.freeze; -var util = _dereq_("./util"); -var inherits = util.inherits; -var notEnumerableProp = util.notEnumerableProp; - -function subError(nameProperty, defaultMessage) { - function SubError(message) { - if (!(this instanceof SubError)) return new SubError(message); - notEnumerableProp(this, "message", - typeof message === "string" ? message : defaultMessage); - notEnumerableProp(this, "name", nameProperty); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - Error.call(this); - } - } - inherits(SubError, Error); - return SubError; -} - -var _TypeError, _RangeError; -var Warning = subError("Warning", "warning"); -var CancellationError = subError("CancellationError", "cancellation error"); -var TimeoutError = subError("TimeoutError", "timeout error"); -var AggregateError = subError("AggregateError", "aggregate error"); -try { - _TypeError = TypeError; - _RangeError = RangeError; -} catch(e) { - _TypeError = subError("TypeError", "type error"); - _RangeError = subError("RangeError", "range error"); -} - -var methods = ("join pop push shift unshift slice filter forEach some " + - "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); - -for (var i = 0; i < methods.length; ++i) { - if (typeof Array.prototype[methods[i]] === "function") { - AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; - } -} - -es5.defineProperty(AggregateError.prototype, "length", { - value: 0, - configurable: false, - writable: true, - enumerable: true -}); -AggregateError.prototype["isOperational"] = true; -var level = 0; -AggregateError.prototype.toString = function() { - var indent = Array(level * 4 + 1).join(" "); - var ret = "\n" + indent + "AggregateError of:" + "\n"; - level++; - indent = Array(level * 4 + 1).join(" "); - for (var i = 0; i < this.length; ++i) { - var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; - var lines = str.split("\n"); - for (var j = 0; j < lines.length; ++j) { - lines[j] = indent + lines[j]; - } - str = lines.join("\n"); - ret += str + "\n"; - } - level--; - return ret; -}; - -function OperationalError(message) { - if (!(this instanceof OperationalError)) - return new OperationalError(message); - notEnumerableProp(this, "name", "OperationalError"); - notEnumerableProp(this, "message", message); - this.cause = message; - this["isOperational"] = true; - - if (message instanceof Error) { - notEnumerableProp(this, "message", message.message); - notEnumerableProp(this, "stack", message.stack); - } else if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - -} -inherits(OperationalError, Error); - -var errorTypes = Error["__BluebirdErrorTypes__"]; -if (!errorTypes) { - errorTypes = Objectfreeze({ - CancellationError: CancellationError, - TimeoutError: TimeoutError, - OperationalError: OperationalError, - RejectionError: OperationalError, - AggregateError: AggregateError - }); - es5.defineProperty(Error, "__BluebirdErrorTypes__", { - value: errorTypes, - writable: false, - enumerable: false, - configurable: false - }); -} - -module.exports = { - Error: Error, - TypeError: _TypeError, - RangeError: _RangeError, - CancellationError: errorTypes.CancellationError, - OperationalError: errorTypes.OperationalError, - TimeoutError: errorTypes.TimeoutError, - AggregateError: errorTypes.AggregateError, - Warning: Warning -}; - -},{"./es5":10,"./util":21}],10:[function(_dereq_,module,exports){ -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} - -},{}],11:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = _dereq_("./util"); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); - } - } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); - } - -}; - -return PassThroughHandlerContext; -}; - -},{"./catch_filter":5,"./util":21}],12:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = _dereq_("./util"); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (!true) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (!true) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var args = [].slice.call(arguments);; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; - -},{"./util":21}],13:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; - -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; -}; - -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); - } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; - -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; - -},{"./util":21}],14:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = _dereq_("./errors"); -var OperationalError = errors.OperationalError; -var es5 = _dereq_("./es5"); - -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var args = [].slice.call(arguments, 1);; - promise._fulfill(args); - } - promise = null; - }; -} - -module.exports = nodebackForPromise; - -},{"./errors":9,"./es5":10,"./util":21}],15:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); -}; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = _dereq_("./util"); - -var getDomain; -if (util.isNode) { - getDomain = function() { - var ret = process.domain; - if (ret === undefined) ret = null; - return ret; - }; -} else { - getDomain = function() { - return null; - }; -} -util.notEnumerableProp(Promise, "_getDomain", getDomain); - -var es5 = _dereq_("./es5"); -var Async = _dereq_("./async"); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = _dereq_("./errors"); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = _dereq_("./thenables")(Promise, INTERNAL); -var PromiseArray = - _dereq_("./promise_array")(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = _dereq_("./context")(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = _dereq_("./debuggability")(Promise, Context); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - _dereq_("./finally")(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); -var nodebackForPromise = _dereq_("./nodeback"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } - -} - -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); -} - -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; - -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; - -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; - -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; - -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; - -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; - -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; - -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; - -Promise.getNewLibraryCopy = module.exports; - -Promise.is = function (val) { - return val instanceof Promise; -}; - -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); - } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; - -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; - } - return ret; -}; - -Promise.resolve = Promise.fulfilled = Promise.cast; - -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; - -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; - -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; - - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - - var domain = getDomain(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } - - async.invoke(settler, target, { - handler: domain === null ? handler - : (typeof handler === "function" && - util.domainBind(domain, handler)), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, receiver, domain); - } - - return promise; -}; - -Promise.prototype._length = function () { - return this._bitField & 65535; -}; - -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; - -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; - -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; - -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; - -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; - -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; - -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; - -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; - -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; - -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; - -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; - -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - this._bitField = this._bitField | 134217728; -}; - -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); - } - return ret; -}; - -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; - -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; - -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; - -Promise.prototype._boundValue = function() {}; - -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - domain -) { - var index = this._length(); - - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } - - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = - domain === null ? reject : util.domainBind(domain, reject); - } - } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - domain === null ? reject : util.domainBind(domain, reject); - } - } - this._setLength(index + 1); - return index; -}; - -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; - -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); - - if (shouldBind) this._propagateFrom(maybePromise, 2); - - var promise = maybePromise._target(); - - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(promise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; - -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; - -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); - - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; - -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); - } -}; - -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; - -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; - -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; - -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); - - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } -}; - -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); - } -}; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); -}; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); -}; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; -}; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - } -}; - -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; - - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); - } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); - } -}; - -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); - } -}; - -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); - } -}; - -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); - - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); - } - this._setLength(0); - } - this._clearCancellationData(); -}; - -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } -}; - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} - -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject - }; -}; - -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -_dereq_("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -_dereq_("./bind")(Promise, INTERNAL, tryConvertToPromise, debug); -_dereq_("./cancel")(Promise, PromiseArray, apiRejection, debug); -_dereq_("./direct_resolve")(Promise); -_dereq_("./synchronous_inspection")(Promise); -_dereq_("./join")( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain); -Promise.Promise = Promise; -Promise.version = "3.5.0"; - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - -}; - -},{"./async":1,"./bind":2,"./cancel":4,"./catch_filter":5,"./context":6,"./debuggability":7,"./direct_resolve":8,"./errors":9,"./es5":10,"./finally":11,"./join":12,"./method":13,"./nodeback":14,"./promise_array":16,"./synchronous_inspection":19,"./thenables":20,"./util":21}],16:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = _dereq_("./util"); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; - -},{"./util":21}],17:[function(_dereq_,module,exports){ -"use strict"; -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; - -},{}],18:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; - -},{"./util":21}],19:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; - } - else { - this._bitField = 0; - this._settledValueField = undefined; - } -} - -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; - -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; - -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; - -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; - -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; - -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; - -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; - -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; - -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; - -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; - -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); -}; - -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); -}; - -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); -}; - -Promise.prototype.value = function() { - return value.call(this._target()); -}; - -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); -}; - -Promise.prototype._value = function() { - return this._settledValue(); -}; - -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); -}; - -Promise.PromiseInspection = PromiseInspection; -}; - -},{}],20:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var util = _dereq_("./util"); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; - -},{"./util":21}],21:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"; -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; - -},{"./es5":10}]},{},[3])(3) -}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; } \ No newline at end of file diff --git a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.core.min.js b/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.core.min.js deleted file mode 100644 index cdfb7da2..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.core.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ -/** - * bluebird build version 3.5.0 - * Features enabled: core - * Features disabled: race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(a,s){if(!e[a]){if(!t[a]){var c="function"==typeof _dereq_&&_dereq_;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[a].exports}for(var o="function"==typeof _dereq_&&_dereq_,a=0;a0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=s},{"./queue":17,"./schedule":18,"./util":21}],2:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},a=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},s=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var f={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,a,void 0,u,f),l._then(s,c,void 0,u,f),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],3:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":15}],4:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),a=o.tryCatch,s=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,a=t._peekContext,s=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=a,t.prototype._peekContext=s,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],7:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+I.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function a(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?I.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function s(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function f(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function h(){this._trace=new x(this._peekContext())}function _(t,e){if(H(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=E(t);I.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),I.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&X){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="",a="";if(e._trace){for(var s=e._trace.stack.split("\n"),c=C(s),l=c.length-1;l>=0;--l){var u=c[l];if(!V.test(u)){var p=u.match(Q);p&&(o="at "+p[1]+":"+p[2]+":"+p[3]+" ");break}}if(c.length>0)for(var f=c[0],l=0;l0&&(a="\n"+s[l-1]);break}}var h="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+a;r._warn(h,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(ot.warnings){var i,o=new U(t);if(n)r._attachExtraTrace(o);else if(ot.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var a=E(o);o.stack=a.message+"\n"+a.stack.join("\n")}tt("warning",o)||k(o,"",!0)}}function g(t,e){for(var n=0;n=0;--s)if(r[s]===o){a=s;break}for(var s=a;s>=0;--s){var c=r[s];if(e[i]!==c)break;e.pop(),i--}e=r}}function C(t){for(var e=[],n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function E(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?w(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:C(e)}}function k(t,e,n){if("undefined"!=typeof console){var r;if(I.isObject(t)){var i=t.stack;r=e+G(i,t)}else r=e+String(t);"function"==typeof L?L(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function j(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){B.throwLater(o)}"unhandledRejection"===t?tt(t,n,r)||i||k(n,"Unhandled rejection "):tt(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():I.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+T(e)+">, no stack trace)"}function T(t){var e=41;return t.lengtha||0>s||!n||!r||n!==r||a>=s||(nt=function(t){if(D.test(t))return!0;var e=R(t);return e&&e.fileName===n&&a<=e.line&&e.line<=s?!0:!1})}}function x(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);it(this,x),e>32&&this.uncycle()}var O,A,L,N=e._getDomain,B=e._async,U=t("./errors").Warning,I=t("./util"),H=I.canAttachTrace,D=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,V=/\((?:timers\.js):\d+:\d+\)/,Q=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,G=null,M=!1,W=!(0==I.env("BLUEBIRD_DEBUG")||!I.env("BLUEBIRD_DEBUG")&&"development"!==I.env("NODE_ENV")),$=!(0==I.env("BLUEBIRD_WARNINGS")||!W&&!I.env("BLUEBIRD_WARNINGS")),z=!(0==I.env("BLUEBIRD_LONG_STACK_TRACES")||!W&&!I.env("BLUEBIRD_LONG_STACK_TRACES")),X=0!=I.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&($||!!I.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),B.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){j("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),j("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=N();A="function"==typeof t?null===e?t:I.domainBind(e,t):void 0},e.onUnhandledRejectionHandled=function(t){var e=N();O="function"==typeof t?null===e?t:I.domainBind(e,t):void 0};var K=function(){};e.longStackTraces=function(){if(B.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!ot.longStackTraces&&P()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;ot.longStackTraces=!0,K=function(){if(B.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),B.enableTrampoline(),ot.longStackTraces=!1},e.prototype._captureStackTrace=h,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),B.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return ot.longStackTraces&&P()};var J=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return I.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!I.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return I.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!I.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),I.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!I.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),Y=function(){return I.isNode?function(){return process.emit.apply(process,arguments)}:I.global?function(t){var e="on"+t.toLowerCase(),n=I.global[e];return n?(n.apply(I.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),Z={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},tt=function(t){var e=!1;try{e=Y.apply(null,arguments)}catch(n){B.throwLater(n),e=!0}var r=!1;try{r=J(t,Z[t].apply(null,arguments))}catch(n){B.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&K()),"warnings"in t){var n=t.warnings;ot.warnings=!!n,X=ot.warnings,I.isObject(n)&&"wForgottenReturn"in n&&(X=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!ot.cancellation){if(B.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=s,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=a,e.prototype._execute=o,et=u,ot.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!ot.monitoring?(ot.monitoring=!0,e.prototype._fireEvent=tt):!t.monitoring&&ot.monitoring&&(ot.monitoring=!1,e.prototype._fireEvent=i)),e},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var et=p,nt=function(){return!1},rt=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;I.inherits(x,Error),n.CapturedTrace=x,x.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var a=e[r].stack,s=n[a];if(void 0!==s&&s!==r){s>0&&(e[s-1]._parent=void 0,e[s-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>s?(c._parent=e[s+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},x.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=E(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(C(i.stack.split("\n"))),i=i._parent;b(r),m(r),I.notEnumerableProp(t,"stack",g(n,r)),I.notEnumerableProp(t,"__stackCleaned__",!0)}};var it=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=t,G=e;var n=Error.captureStackTrace;return nt=function(t){return D.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return q=/@/,G=e,M=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(G=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(q=t,G=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(L=function(t){console.warn(t)},I.isNode&&process.stderr.isTTY?L=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:I.isNode||"string"!=typeof(new Error).stack||(L=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var ot={warnings:$,longStackTraces:!1,cancellation:!1,monitoring:!1};return z&&e.longStackTraces(),{longStackTraces:function(){return ot.longStackTraces},warnings:function(){return ot.warnings},cancellation:function(){return ot.cancellation},monitoring:function(){return ot.monitoring},propagateFromFunction:function(){return et},boundValueFunction:function(){return f},checkForgottenReturns:d,setBounds:S,warn:y,deprecated:v,CapturedTrace:x,fireDomEvent:J,fireGlobalEvent:Y}}},{"./errors":9,"./util":21}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],9:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,a,s=t("./es5"),c=s.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,f=r("Warning","warning"),h=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,a=RangeError}catch(v){o=r("TypeError","type error"),a=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function s(){return l.call(this,this.promise._target()._settledValue())}function c(t){return a(this,t)?void 0:(f.e=t,f)}function l(t){var i=this.promise,l=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?l.call(i._boundValue()):l.call(i._boundValue(),t);if(u===r)return u;if(void 0!==u){i._setReturnedNonUndefined();var h=n(u,i);if(h instanceof e){if(null!=this.cancelPromise){if(h._isCancelled()){var _=new p("late cancellation observer");return i._attachExtraTrace(_),f.e=_,f}h.isPending()&&h._attachCancellationCallback(new o(this))}return h._then(s,c,void 0,this,void 0)}}}return i.isRejected()?(a(this),f.e=t,f):(a(this),t)}var u=t("./util"),p=e.CancellationError,f=u.errorObj,h=t("./catch_filter")(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){a(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new i(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,l,l)},e.prototype.tap=function(t){return this._passThrough(t,1,l)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,l);var r,i=new Array(n-1),o=0;for(r=0;n-1>r;++r){var a=arguments[r];if(!u.isObject(a))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+u.classString(a)));i[o++]=a}i.length=o;var s=arguments[r];return this._passThrough(h(i,s,this),1,void 0,l)},i}},{"./catch_filter":5,"./util":21}],12:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,a){var s=t("./util");s.canEvaluate,s.tryCatch,s.errorObj;e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":21}],13:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var a=t("./util"),s=a.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+a.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=s(t).apply(this,arguments),a=r._popContext();return o.checkForgottenReturns(i,a,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+a.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=a.isArray(l)?s(t).apply(u,l):s(t).call(u,l)}else c=s(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===a.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":21}],14:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!h.isObject(o))return p("Catch statement predicate: expecting an object but got "+h.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,P(r,t,this))}return this.then(void 0,t)},i.prototype.reflect=function(){return this._then(u,u,void 0,this,void 0)},i.prototype.then=function(t,e){if(F.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+h.classString(t);arguments.length>1&&(n+=", "+h.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},i.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},i.prototype.spread=function(t){return"function"!=typeof t?p("expecting a function but got "+h.classString(t)):this.all()._then(t,void 0,void 0,C,void 0); -},i.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new k(this).promise()},i.prototype.error=function(t){return this.caught(h.originatesFromRejection,t)},i.getNewLibraryCopy=e.exports,i.is=function(t){return t instanceof i},i.fromNode=i.fromCallback=function(t){var e=new i(b);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,r=x(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},i.all=function(t){return new k(t).promise()},i.cast=function(t){var e=E(t);return e instanceof i||(e=new i(b),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(t){var e=new i(b);return e._captureStackTrace(),e._rejectCallback(t,!0),e},i.setScheduler=function(t){if("function"!=typeof t)throw new g("expecting a function but got "+h.classString(t));return v.setScheduler(t)},i.prototype._then=function(t,e,n,r,o){var a=void 0!==o,s=a?o:new i(b),l=this._target(),u=l._bitField;a||(s._propagateFrom(this,3),s._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,s));var p=c();if(0!==(50397184&u)){var f,_,d=l._settlePromiseCtx;0!==(33554432&u)?(_=l._rejectionHandler0,f=t):0!==(16777216&u)?(_=l._fulfillmentHandler0,f=e,l._unsetRejectionIsUnhandled()):(d=l._settlePromiseLateCancellationObserver,_=new m("late cancellation observer"),l._attachExtraTrace(_),f=e),v.invoke(d,l,{handler:null===p?f:"function"==typeof f&&h.domainBind(p,f),promise:s,receiver:r,value:_})}else l._addCallbacks(t,e,s,r,p);return s},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},i.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},i.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===f?void 0:void 0===e&&this._isBound()?this._boundValue():e},i.prototype._promiseAt=function(t){return this[4*t-4+2]},i.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},i.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=f),this._addCallbacks(e,n,r,i,null)},i.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=f),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:h.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:h.domainBind(i,e));else{var a=4*o-4;this[a+2]=n,this[a+3]=r,"function"==typeof t&&(this[a+0]=null===i?t:h.domainBind(i,t)),"function"==typeof e&&(this[a+1]=null===i?e:h.domainBind(i,e))}return this._setLength(o+1),o},i.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},i.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=E(t,this);if(!(n instanceof i))return this._fulfill(t);e&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var o=r._bitField;if(0===(50397184&o)){var a=this._length();a>0&&r._migrateCallback0(this);for(var s=1;a>s;++s)r._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!==(33554432&o))this._fulfill(r._value());else if(0!==(16777216&o))this._reject(r._reason());else{var c=new m("late cancellation observer");r._attachExtraTrace(c),this._reject(c)}}},i.prototype._rejectCallback=function(t,e,n){var r=h.ensureErrorObject(t),i=r===t;if(!i&&!n&&F.warnings()){var o="a promise was rejected with a non-error: "+h.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},i.prototype._resolveFromExecutor=function(t){if(t!==b){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)}},i.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===C?n&&"number"==typeof n.length?o=x(t).apply(this._boundValue(),n):(o=S,o.e=new g("cannot .spread() a non-array: "+h.classString(n))):o=x(t).call(e,n);var a=r._popContext();i=r._bitField,0===(65536&i)&&(o===w?r._reject(n):o===S?r._rejectCallback(o.e,!1):(F.checkForgottenReturns(o,a,"",r,this),r._resolveCallback(o)))}},i.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},i.prototype._followee=function(){return this._rejectionHandler0},i.prototype._setFollowee=function(t){this._rejectionHandler0=t},i.prototype._settlePromise=function(t,e,r,o){var a=t instanceof i,s=this._bitField,c=0!==(134217728&s);0!==(65536&s)?(a&&t._invokeInternalOnCancel(),r instanceof T&&r.isFinallyHandler()?(r.cancelPromise=t,x(e).call(r,o)===S&&t._reject(S.e)):e===u?t._fulfill(u.call(r)):r instanceof n?r._promiseCancelled(t):a||t instanceof k?t._cancel():r.cancel()):"function"==typeof e?a?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,o,t)):e.call(r,o,t):r instanceof n?r._isResolved()||(0!==(33554432&s)?r._promiseFulfilled(o,t):r._promiseRejected(o,t)):a&&(c&&t._setAsyncGuaranteed(),0!==(33554432&s)?t._fulfill(o):t._reject(o))},i.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,r=t.receiver,o=t.value;"function"==typeof e?n instanceof i?this._settlePromiseFromHandler(e,r,o,n):e.call(r,o,n):n instanceof i&&n._reject(o)},i.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},i.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},i.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},i.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():v.settlePromises(this))}},i.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,h.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){F.deprecated("Promise.defer","new Promise");var t=new i(b);return{promise:t,resolve:o,reject:a}},h.notEnumerableProp(i,"_makeSelfResolutionError",l),t("./method")(i,b,E,p,F),t("./bind")(i,b,E,F),t("./cancel")(i,k,p,F),t("./direct_resolve")(i),t("./synchronous_inspection")(i),t("./join")(i,k,E,b,v,c),i.Promise=i,i.version="3.5.0",h.toFastProperties(i),h.toFastProperties(i.prototype),s({a:1}),s({b:2}),s({c:3}),s(1),s(function(){}),s(void 0),s(!1),s(new i(b)),F.setBounds(d.firstLineError,h.lastLineError),i}},{"./async":1,"./bind":2,"./cancel":4,"./catch_filter":5,"./context":6,"./debuggability":7,"./direct_resolve":8,"./errors":9,"./es5":10,"./finally":11,"./join":12,"./method":13,"./nodeback":14,"./promise_array":16,"./synchronous_inspection":19,"./thenables":20,"./util":21}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function a(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function s(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(s,o),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var s=o._bitField;if(this._values=o,0===(50397184&s))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&s))return 0!==(16777216&s)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(a(n))):void this._iterate(o)},s.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,a=null,s=0;n>s;++s){var c=r(t[s],i);c instanceof e?(c=c._target(),a=c._bitField):a=null,o?null!==a&&c.suppressUnhandledRejections():null!==a?0===(50397184&a)?(c._proxy(this,s),this._values[s]=c):o=0!==(33554432&a)?this._promiseFulfilled(c._value(),s):0!==(16777216&a)?this._promiseRejected(c._reason(),s):this._promiseCancelled(s):o=this._promiseFulfilled(c,s)}o||i._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},s.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},s.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},s.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;no;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacityn;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!F.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return F.defineProperty(t,e,r),t}function p(t){throw t}function f(t){try{if("function"==typeof t){var e=F.names(t.prototype),n=F.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=A.test(t+"")&&F.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function h(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return L.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(e){}}function m(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&F.propertyIsWritable(t,"stack")}function C(t){return{}.toString.call(t)}function w(t,e,n){for(var r=F.names(t),i=0;i10||t[0]>0}(),D.isNode&&D.toFastProperties(process);try{throw new Error}catch(V){D.lastLineError=V}e.exports=D},{"./es5":10}]},{},[3])(3)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.js b/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.js deleted file mode 100644 index 0b823f7c..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.js +++ /dev/null @@ -1,5619 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ -/** - * bluebird build version 3.5.0 - * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_=="function"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_=="function"&&_dereq_;for(var o=0;o 0) { - var fn = queue.shift(); - if (typeof fn !== "function") { - fn._settlePromises(); - continue; - } - var receiver = queue.shift(); - var arg = queue.shift(); - fn.call(receiver, arg); - } -}; - -Async.prototype._drainQueues = function () { - this._drainQueue(this._normalQueue); - this._reset(); - this._haveDrainedQueues = true; - this._drainQueue(this._lateQueue); -}; - -Async.prototype._queueTick = function () { - if (!this._isTickUsed) { - this._isTickUsed = true; - this._schedule(this.drainQueues); - } -}; - -Async.prototype._reset = function () { - this._isTickUsed = false; -}; - -module.exports = Async; -module.exports.firstLineError = firstLineError; - -},{"./queue":26,"./schedule":29,"./util":36}],3:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { -var calledBind = false; -var rejectThis = function(_, e) { - this._reject(e); -}; - -var targetRejected = function(e, context) { - context.promiseRejectionQueued = true; - context.bindingPromise._then(rejectThis, rejectThis, null, this, e); -}; - -var bindingResolved = function(thisArg, context) { - if (((this._bitField & 50397184) === 0)) { - this._resolveCallback(context.target); - } -}; - -var bindingRejected = function(e, context) { - if (!context.promiseRejectionQueued) this._reject(e); -}; - -Promise.prototype.bind = function (thisArg) { - if (!calledBind) { - calledBind = true; - Promise.prototype._propagateFrom = debug.propagateFromFunction(); - Promise.prototype._boundValue = debug.boundValueFunction(); - } - var maybePromise = tryConvertToPromise(thisArg); - var ret = new Promise(INTERNAL); - ret._propagateFrom(this, 1); - var target = this._target(); - ret._setBoundTo(maybePromise); - if (maybePromise instanceof Promise) { - var context = { - promiseRejectionQueued: false, - promise: ret, - target: target, - bindingPromise: maybePromise - }; - target._then(INTERNAL, targetRejected, undefined, ret, context); - maybePromise._then( - bindingResolved, bindingRejected, undefined, ret, context); - ret._setOnCancel(maybePromise); - } else { - ret._resolveCallback(target); - } - return ret; -}; - -Promise.prototype._setBoundTo = function (obj) { - if (obj !== undefined) { - this._bitField = this._bitField | 2097152; - this._boundTo = obj; - } else { - this._bitField = this._bitField & (~2097152); - } -}; - -Promise.prototype._isBound = function () { - return (this._bitField & 2097152) === 2097152; -}; - -Promise.bind = function (thisArg, value) { - return Promise.resolve(value).bind(thisArg); -}; -}; - -},{}],4:[function(_dereq_,module,exports){ -"use strict"; -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = _dereq_("./promise")(); -bluebird.noConflict = noConflict; -module.exports = bluebird; - -},{"./promise":22}],5:[function(_dereq_,module,exports){ -"use strict"; -var cr = Object.create; -if (cr) { - var callerCache = cr(null); - var getterCache = cr(null); - callerCache[" size"] = getterCache[" size"] = 0; -} - -module.exports = function(Promise) { -var util = _dereq_("./util"); -var canEvaluate = util.canEvaluate; -var isIdentifier = util.isIdentifier; - -var getMethodCaller; -var getGetter; -if (!true) { -var makeMethodCaller = function (methodName) { - return new Function("ensureMethod", " \n\ - return function(obj) { \n\ - 'use strict' \n\ - var len = this.length; \n\ - ensureMethod(obj, 'methodName'); \n\ - switch(len) { \n\ - case 1: return obj.methodName(this[0]); \n\ - case 2: return obj.methodName(this[0], this[1]); \n\ - case 3: return obj.methodName(this[0], this[1], this[2]); \n\ - case 0: return obj.methodName(); \n\ - default: \n\ - return obj.methodName.apply(obj, this); \n\ - } \n\ - }; \n\ - ".replace(/methodName/g, methodName))(ensureMethod); -}; - -var makeGetter = function (propertyName) { - return new Function("obj", " \n\ - 'use strict'; \n\ - return obj.propertyName; \n\ - ".replace("propertyName", propertyName)); -}; - -var getCompiled = function(name, compiler, cache) { - var ret = cache[name]; - if (typeof ret !== "function") { - if (!isIdentifier(name)) { - return null; - } - ret = compiler(name); - cache[name] = ret; - cache[" size"]++; - if (cache[" size"] > 512) { - var keys = Object.keys(cache); - for (var i = 0; i < 256; ++i) delete cache[keys[i]]; - cache[" size"] = keys.length - 256; - } - } - return ret; -}; - -getMethodCaller = function(name) { - return getCompiled(name, makeMethodCaller, callerCache); -}; - -getGetter = function(name) { - return getCompiled(name, makeGetter, getterCache); -}; -} - -function ensureMethod(obj, methodName) { - var fn; - if (obj != null) fn = obj[methodName]; - if (typeof fn !== "function") { - var message = "Object " + util.classString(obj) + " has no method '" + - util.toString(methodName) + "'"; - throw new Promise.TypeError(message); - } - return fn; -} - -function caller(obj) { - var methodName = this.pop(); - var fn = ensureMethod(obj, methodName); - return fn.apply(obj, this); -} -Promise.prototype.call = function (methodName) { - var args = [].slice.call(arguments, 1);; - if (!true) { - if (canEvaluate) { - var maybeCaller = getMethodCaller(methodName); - if (maybeCaller !== null) { - return this._then( - maybeCaller, undefined, undefined, args, undefined); - } - } - } - args.push(methodName); - return this._then(caller, undefined, undefined, args, undefined); -}; - -function namedGetter(obj) { - return obj[this]; -} -function indexedGetter(obj) { - var index = +this; - if (index < 0) index = Math.max(0, index + obj.length); - return obj[index]; -} -Promise.prototype.get = function (propertyName) { - var isIndex = (typeof propertyName === "number"); - var getter; - if (!isIndex) { - if (canEvaluate) { - var maybeGetter = getGetter(propertyName); - getter = maybeGetter !== null ? maybeGetter : namedGetter; - } else { - getter = namedGetter; - } - } else { - getter = indexedGetter; - } - return this._then(getter, undefined, undefined, propertyName, undefined); -}; -}; - -},{"./util":36}],6:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; - -},{"./util":36}],7:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(NEXT_FILTER) { -var util = _dereq_("./util"); -var getKeys = _dereq_("./es5").keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; - -},{"./es5":13,"./util":36}],8:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; - -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; - -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; - -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; -} -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; - -},{}],9:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = _dereq_("./errors").Warning; -var util = _dereq_("./util"); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - (true || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - async.invokeLater(this._notifyUnhandledRejection, this, undefined); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; - -},{"./errors":12,"./util":36}],10:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; - -},{}],11:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseReduce = Promise.reduce; -var PromiseAll = Promise.all; - -function promiseAllThis() { - return PromiseAll(this); -} - -function PromiseMapSeries(promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, INTERNAL); -} - -Promise.prototype.each = function (fn) { - return PromiseReduce(this, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, this, undefined); -}; - -Promise.prototype.mapSeries = function (fn) { - return PromiseReduce(this, fn, INTERNAL, INTERNAL); -}; - -Promise.each = function (promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, promises, undefined); -}; - -Promise.mapSeries = PromiseMapSeries; -}; - - -},{}],12:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var Objectfreeze = es5.freeze; -var util = _dereq_("./util"); -var inherits = util.inherits; -var notEnumerableProp = util.notEnumerableProp; - -function subError(nameProperty, defaultMessage) { - function SubError(message) { - if (!(this instanceof SubError)) return new SubError(message); - notEnumerableProp(this, "message", - typeof message === "string" ? message : defaultMessage); - notEnumerableProp(this, "name", nameProperty); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - Error.call(this); - } - } - inherits(SubError, Error); - return SubError; -} - -var _TypeError, _RangeError; -var Warning = subError("Warning", "warning"); -var CancellationError = subError("CancellationError", "cancellation error"); -var TimeoutError = subError("TimeoutError", "timeout error"); -var AggregateError = subError("AggregateError", "aggregate error"); -try { - _TypeError = TypeError; - _RangeError = RangeError; -} catch(e) { - _TypeError = subError("TypeError", "type error"); - _RangeError = subError("RangeError", "range error"); -} - -var methods = ("join pop push shift unshift slice filter forEach some " + - "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); - -for (var i = 0; i < methods.length; ++i) { - if (typeof Array.prototype[methods[i]] === "function") { - AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; - } -} - -es5.defineProperty(AggregateError.prototype, "length", { - value: 0, - configurable: false, - writable: true, - enumerable: true -}); -AggregateError.prototype["isOperational"] = true; -var level = 0; -AggregateError.prototype.toString = function() { - var indent = Array(level * 4 + 1).join(" "); - var ret = "\n" + indent + "AggregateError of:" + "\n"; - level++; - indent = Array(level * 4 + 1).join(" "); - for (var i = 0; i < this.length; ++i) { - var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; - var lines = str.split("\n"); - for (var j = 0; j < lines.length; ++j) { - lines[j] = indent + lines[j]; - } - str = lines.join("\n"); - ret += str + "\n"; - } - level--; - return ret; -}; - -function OperationalError(message) { - if (!(this instanceof OperationalError)) - return new OperationalError(message); - notEnumerableProp(this, "name", "OperationalError"); - notEnumerableProp(this, "message", message); - this.cause = message; - this["isOperational"] = true; - - if (message instanceof Error) { - notEnumerableProp(this, "message", message.message); - notEnumerableProp(this, "stack", message.stack); - } else if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - -} -inherits(OperationalError, Error); - -var errorTypes = Error["__BluebirdErrorTypes__"]; -if (!errorTypes) { - errorTypes = Objectfreeze({ - CancellationError: CancellationError, - TimeoutError: TimeoutError, - OperationalError: OperationalError, - RejectionError: OperationalError, - AggregateError: AggregateError - }); - es5.defineProperty(Error, "__BluebirdErrorTypes__", { - value: errorTypes, - writable: false, - enumerable: false, - configurable: false - }); -} - -module.exports = { - Error: Error, - TypeError: _TypeError, - RangeError: _RangeError, - CancellationError: errorTypes.CancellationError, - OperationalError: errorTypes.OperationalError, - TimeoutError: errorTypes.TimeoutError, - AggregateError: errorTypes.AggregateError, - Warning: Warning -}; - -},{"./es5":13,"./util":36}],13:[function(_dereq_,module,exports){ -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} - -},{}],14:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseMap = Promise.map; - -Promise.prototype.filter = function (fn, options) { - return PromiseMap(this, fn, options, INTERNAL); -}; - -Promise.filter = function (promises, fn, options) { - return PromiseMap(promises, fn, options, INTERNAL); -}; -}; - -},{}],15:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = _dereq_("./util"); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); - } - } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); - } - -}; - -return PassThroughHandlerContext; -}; - -},{"./catch_filter":7,"./util":36}],16:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, - apiRejection, - INTERNAL, - tryConvertToPromise, - Proxyable, - debug) { -var errors = _dereq_("./errors"); -var TypeError = errors.TypeError; -var util = _dereq_("./util"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -var yieldHandlers = []; - -function promiseFromYieldHandler(value, yieldHandlers, traceParent) { - for (var i = 0; i < yieldHandlers.length; ++i) { - traceParent._pushContext(); - var result = tryCatch(yieldHandlers[i])(value); - traceParent._popContext(); - if (result === errorObj) { - traceParent._pushContext(); - var ret = Promise.reject(errorObj.e); - traceParent._popContext(); - return ret; - } - var maybePromise = tryConvertToPromise(result, traceParent); - if (maybePromise instanceof Promise) return maybePromise; - } - return null; -} - -function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { - if (debug.cancellation()) { - var internal = new Promise(INTERNAL); - var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); - this._promise = internal.lastly(function() { - return _finallyPromise; - }); - internal._captureStackTrace(); - internal._setOnCancel(this); - } else { - var promise = this._promise = new Promise(INTERNAL); - promise._captureStackTrace(); - } - this._stack = stack; - this._generatorFunction = generatorFunction; - this._receiver = receiver; - this._generator = undefined; - this._yieldHandlers = typeof yieldHandler === "function" - ? [yieldHandler].concat(yieldHandlers) - : yieldHandlers; - this._yieldedPromise = null; - this._cancellationPhase = false; -} -util.inherits(PromiseSpawn, Proxyable); - -PromiseSpawn.prototype._isResolved = function() { - return this._promise === null; -}; - -PromiseSpawn.prototype._cleanup = function() { - this._promise = this._generator = null; - if (debug.cancellation() && this._finallyPromise !== null) { - this._finallyPromise._fulfill(); - this._finallyPromise = null; - } -}; - -PromiseSpawn.prototype._promiseCancelled = function() { - if (this._isResolved()) return; - var implementsReturn = typeof this._generator["return"] !== "undefined"; - - var result; - if (!implementsReturn) { - var reason = new Promise.CancellationError( - "generator .return() sentinel"); - Promise.coroutine.returnSentinel = reason; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - result = tryCatch(this._generator["throw"]).call(this._generator, - reason); - this._promise._popContext(); - } else { - this._promise._pushContext(); - result = tryCatch(this._generator["return"]).call(this._generator, - undefined); - this._promise._popContext(); - } - this._cancellationPhase = true; - this._yieldedPromise = null; - this._continue(result); -}; - -PromiseSpawn.prototype._promiseFulfilled = function(value) { - this._yieldedPromise = null; - this._promise._pushContext(); - var result = tryCatch(this._generator.next).call(this._generator, value); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._promiseRejected = function(reason) { - this._yieldedPromise = null; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - var result = tryCatch(this._generator["throw"]) - .call(this._generator, reason); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._resultCancelled = function() { - if (this._yieldedPromise instanceof Promise) { - var promise = this._yieldedPromise; - this._yieldedPromise = null; - promise.cancel(); - } -}; - -PromiseSpawn.prototype.promise = function () { - return this._promise; -}; - -PromiseSpawn.prototype._run = function () { - this._generator = this._generatorFunction.call(this._receiver); - this._receiver = - this._generatorFunction = undefined; - this._promiseFulfilled(undefined); -}; - -PromiseSpawn.prototype._continue = function (result) { - var promise = this._promise; - if (result === errorObj) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._rejectCallback(result.e, false); - } - } - - var value = result.value; - if (result.done === true) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._resolveCallback(value); - } - } else { - var maybePromise = tryConvertToPromise(value, this._promise); - if (!(maybePromise instanceof Promise)) { - maybePromise = - promiseFromYieldHandler(maybePromise, - this._yieldHandlers, - this._promise); - if (maybePromise === null) { - this._promiseRejected( - new TypeError( - "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + - "From coroutine:\u000a" + - this._stack.split("\n").slice(1, -7).join("\n") - ) - ); - return; - } - } - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - this._yieldedPromise = maybePromise; - maybePromise._proxy(this, null); - } else if (((bitField & 33554432) !== 0)) { - Promise._async.invoke( - this._promiseFulfilled, this, maybePromise._value() - ); - } else if (((bitField & 16777216) !== 0)) { - Promise._async.invoke( - this._promiseRejected, this, maybePromise._reason() - ); - } else { - this._promiseCancelled(); - } - } -}; - -Promise.coroutine = function (generatorFunction, options) { - if (typeof generatorFunction !== "function") { - throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var yieldHandler = Object(options).yieldHandler; - var PromiseSpawn$ = PromiseSpawn; - var stack = new Error().stack; - return function () { - var generator = generatorFunction.apply(this, arguments); - var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, - stack); - var ret = spawn.promise(); - spawn._generator = generator; - spawn._promiseFulfilled(undefined); - return ret; - }; -}; - -Promise.coroutine.addYieldHandler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - yieldHandlers.push(fn); -}; - -Promise.spawn = function (generatorFunction) { - debug.deprecated("Promise.spawn()", "Promise.coroutine()"); - if (typeof generatorFunction !== "function") { - return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var spawn = new PromiseSpawn(generatorFunction, this); - var ret = spawn.promise(); - spawn._run(Promise.spawn); - return ret; -}; -}; - -},{"./errors":12,"./util":36}],17:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = _dereq_("./util"); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (!true) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (!true) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var args = [].slice.call(arguments);; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; - -},{"./util":36}],18:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -function MappingPromiseArray(promises, fn, limit, _filter) { - this.constructor$(promises); - this._promise._captureStackTrace(); - var domain = getDomain(); - this._callback = domain === null ? fn : util.domainBind(domain, fn); - this._preservedValues = _filter === INTERNAL - ? new Array(this.length()) - : null; - this._limit = limit; - this._inFlight = 0; - this._queue = []; - async.invoke(this._asyncInit, this, undefined); -} -util.inherits(MappingPromiseArray, PromiseArray); - -MappingPromiseArray.prototype._asyncInit = function() { - this._init$(undefined, -2); -}; - -MappingPromiseArray.prototype._init = function () {}; - -MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { - var values = this._values; - var length = this.length(); - var preservedValues = this._preservedValues; - var limit = this._limit; - - if (index < 0) { - index = (index * -1) - 1; - values[index] = value; - if (limit >= 1) { - this._inFlight--; - this._drainQueue(); - if (this._isResolved()) return true; - } - } else { - if (limit >= 1 && this._inFlight >= limit) { - values[index] = value; - this._queue.push(index); - return false; - } - if (preservedValues !== null) preservedValues[index] = value; - - var promise = this._promise; - var callback = this._callback; - var receiver = promise._boundValue(); - promise._pushContext(); - var ret = tryCatch(callback).call(receiver, value, index, length); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - preservedValues !== null ? "Promise.filter" : "Promise.map", - promise - ); - if (ret === errorObj) { - this._reject(ret.e); - return true; - } - - var maybePromise = tryConvertToPromise(ret, this._promise); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - if (limit >= 1) this._inFlight++; - values[index] = maybePromise; - maybePromise._proxy(this, (index + 1) * -1); - return false; - } else if (((bitField & 33554432) !== 0)) { - ret = maybePromise._value(); - } else if (((bitField & 16777216) !== 0)) { - this._reject(maybePromise._reason()); - return true; - } else { - this._cancel(); - return true; - } - } - values[index] = ret; - } - var totalResolved = ++this._totalResolved; - if (totalResolved >= length) { - if (preservedValues !== null) { - this._filter(values, preservedValues); - } else { - this._resolve(values); - } - return true; - } - return false; -}; - -MappingPromiseArray.prototype._drainQueue = function () { - var queue = this._queue; - var limit = this._limit; - var values = this._values; - while (queue.length > 0 && this._inFlight < limit) { - if (this._isResolved()) return; - var index = queue.pop(); - this._promiseFulfilled(values[index], index); - } -}; - -MappingPromiseArray.prototype._filter = function (booleans, values) { - var len = values.length; - var ret = new Array(len); - var j = 0; - for (var i = 0; i < len; ++i) { - if (booleans[i]) ret[j++] = values[i]; - } - ret.length = j; - this._resolve(ret); -}; - -MappingPromiseArray.prototype.preservedValues = function () { - return this._preservedValues; -}; - -function map(promises, fn, options, _filter) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - - var limit = 0; - if (options !== undefined) { - if (typeof options === "object" && options !== null) { - if (typeof options.concurrency !== "number") { - return Promise.reject( - new TypeError("'concurrency' must be a number but it is " + - util.classString(options.concurrency))); - } - limit = options.concurrency; - } else { - return Promise.reject(new TypeError( - "options argument must be an object but it is " + - util.classString(options))); - } - } - limit = typeof limit === "number" && - isFinite(limit) && limit >= 1 ? limit : 0; - return new MappingPromiseArray(promises, fn, limit, _filter).promise(); -} - -Promise.prototype.map = function (fn, options) { - return map(this, fn, options, null); -}; - -Promise.map = function (promises, fn, options, _filter) { - return map(promises, fn, options, _filter); -}; - - -}; - -},{"./util":36}],19:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; - -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; -}; - -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); - } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; - -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; - -},{"./util":36}],20:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = _dereq_("./errors"); -var OperationalError = errors.OperationalError; -var es5 = _dereq_("./es5"); - -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var args = [].slice.call(arguments, 1);; - promise._fulfill(args); - } - promise = null; - }; -} - -module.exports = nodebackForPromise; - -},{"./errors":12,"./es5":13,"./util":36}],21:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -var util = _dereq_("./util"); -var async = Promise._async; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function spreadAdapter(val, nodeback) { - var promise = this; - if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); - var ret = - tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -function successAdapter(val, nodeback) { - var promise = this; - var receiver = promise._boundValue(); - var ret = val === undefined - ? tryCatch(nodeback).call(receiver, null) - : tryCatch(nodeback).call(receiver, null, val); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} -function errorAdapter(reason, nodeback) { - var promise = this; - if (!reason) { - var newReason = new Error(reason + ""); - newReason.cause = reason; - reason = newReason; - } - var ret = tryCatch(nodeback).call(promise._boundValue(), reason); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, - options) { - if (typeof nodeback == "function") { - var adapter = successAdapter; - if (options !== undefined && Object(options).spread) { - adapter = spreadAdapter; - } - this._then( - adapter, - errorAdapter, - undefined, - this, - nodeback - ); - } - return this; -}; -}; - -},{"./util":36}],22:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); -}; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = _dereq_("./util"); - -var getDomain; -if (util.isNode) { - getDomain = function() { - var ret = process.domain; - if (ret === undefined) ret = null; - return ret; - }; -} else { - getDomain = function() { - return null; - }; -} -util.notEnumerableProp(Promise, "_getDomain", getDomain); - -var es5 = _dereq_("./es5"); -var Async = _dereq_("./async"); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = _dereq_("./errors"); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = _dereq_("./thenables")(Promise, INTERNAL); -var PromiseArray = - _dereq_("./promise_array")(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = _dereq_("./context")(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = _dereq_("./debuggability")(Promise, Context); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - _dereq_("./finally")(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); -var nodebackForPromise = _dereq_("./nodeback"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } - -} - -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); -} - -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; - -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; - -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; - -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; - -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; - -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; - -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; - -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; - -Promise.getNewLibraryCopy = module.exports; - -Promise.is = function (val) { - return val instanceof Promise; -}; - -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); - } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; - -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; - } - return ret; -}; - -Promise.resolve = Promise.fulfilled = Promise.cast; - -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; - -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; - -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; - - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - - var domain = getDomain(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } - - async.invoke(settler, target, { - handler: domain === null ? handler - : (typeof handler === "function" && - util.domainBind(domain, handler)), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, receiver, domain); - } - - return promise; -}; - -Promise.prototype._length = function () { - return this._bitField & 65535; -}; - -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; - -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; - -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; - -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; - -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; - -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; - -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; - -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; - -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; - -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; - -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; - -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - this._bitField = this._bitField | 134217728; -}; - -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); - } - return ret; -}; - -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; - -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; - -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; - -Promise.prototype._boundValue = function() {}; - -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - domain -) { - var index = this._length(); - - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } - - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = - domain === null ? reject : util.domainBind(domain, reject); - } - } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - domain === null ? reject : util.domainBind(domain, reject); - } - } - this._setLength(index + 1); - return index; -}; - -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; - -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); - - if (shouldBind) this._propagateFrom(maybePromise, 2); - - var promise = maybePromise._target(); - - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(promise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; - -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; - -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); - - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; - -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); - } -}; - -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; - -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; - -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; - -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); - - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } -}; - -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); - } -}; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); -}; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); -}; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; -}; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - } -}; - -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; - - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); - } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); - } -}; - -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); - } -}; - -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); - } -}; - -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); - - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); - } - this._setLength(0); - } - this._clearCancellationData(); -}; - -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } -}; - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} - -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject - }; -}; - -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -_dereq_("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -_dereq_("./bind")(Promise, INTERNAL, tryConvertToPromise, debug); -_dereq_("./cancel")(Promise, PromiseArray, apiRejection, debug); -_dereq_("./direct_resolve")(Promise); -_dereq_("./synchronous_inspection")(Promise); -_dereq_("./join")( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain); -Promise.Promise = Promise; -Promise.version = "3.5.0"; -_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -_dereq_('./call_get.js')(Promise); -_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); -_dereq_('./timers.js')(Promise, INTERNAL, debug); -_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); -_dereq_('./nodeify.js')(Promise); -_dereq_('./promisify.js')(Promise, INTERNAL); -_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection); -_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection); -_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -_dereq_('./settle.js')(Promise, PromiseArray, debug); -_dereq_('./some.js')(Promise, PromiseArray, apiRejection); -_dereq_('./filter.js')(Promise, INTERNAL); -_dereq_('./each.js')(Promise, INTERNAL); -_dereq_('./any.js')(Promise); - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - -}; - -},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = _dereq_("./util"); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; - -},{"./util":36}],24:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var THIS = {}; -var util = _dereq_("./util"); -var nodebackForPromise = _dereq_("./nodeback"); -var withAppended = util.withAppended; -var maybeWrapAsError = util.maybeWrapAsError; -var canEvaluate = util.canEvaluate; -var TypeError = _dereq_("./errors").TypeError; -var defaultSuffix = "Async"; -var defaultPromisified = {__isPromisified__: true}; -var noCopyProps = [ - "arity", "length", - "name", - "arguments", - "caller", - "callee", - "prototype", - "__isPromisified__" -]; -var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); - -var defaultFilter = function(name) { - return util.isIdentifier(name) && - name.charAt(0) !== "_" && - name !== "constructor"; -}; - -function propsFilter(key) { - return !noCopyPropsPattern.test(key); -} - -function isPromisified(fn) { - try { - return fn.__isPromisified__ === true; - } - catch (e) { - return false; - } -} - -function hasPromisified(obj, key, suffix) { - var val = util.getDataPropertyOrDefault(obj, key + suffix, - defaultPromisified); - return val ? isPromisified(val) : false; -} -function checkValid(ret, suffix, suffixRegexp) { - for (var i = 0; i < ret.length; i += 2) { - var key = ret[i]; - if (suffixRegexp.test(key)) { - var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); - for (var j = 0; j < ret.length; j += 2) { - if (ret[j] === keyWithoutAsyncSuffix) { - throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" - .replace("%s", suffix)); - } - } - } - } -} - -function promisifiableMethods(obj, suffix, suffixRegexp, filter) { - var keys = util.inheritedDataKeys(obj); - var ret = []; - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - var value = obj[key]; - var passesDefaultFilter = filter === defaultFilter - ? true : defaultFilter(key, value, obj); - if (typeof value === "function" && - !isPromisified(value) && - !hasPromisified(obj, key, suffix) && - filter(key, value, obj, passesDefaultFilter)) { - ret.push(key, value); - } - } - checkValid(ret, suffix, suffixRegexp); - return ret; -} - -var escapeIdentRegex = function(str) { - return str.replace(/([$])/, "\\$"); -}; - -var makeNodePromisifiedEval; -if (!true) { -var switchCaseArgumentOrder = function(likelyArgumentCount) { - var ret = [likelyArgumentCount]; - var min = Math.max(0, likelyArgumentCount - 1 - 3); - for(var i = likelyArgumentCount - 1; i >= min; --i) { - ret.push(i); - } - for(var i = likelyArgumentCount + 1; i <= 3; ++i) { - ret.push(i); - } - return ret; -}; - -var argumentSequence = function(argumentCount) { - return util.filledRange(argumentCount, "_arg", ""); -}; - -var parameterDeclaration = function(parameterCount) { - return util.filledRange( - Math.max(parameterCount, 3), "_arg", ""); -}; - -var parameterCount = function(fn) { - if (typeof fn.length === "number") { - return Math.max(Math.min(fn.length, 1023 + 1), 0); - } - return 0; -}; - -makeNodePromisifiedEval = -function(callback, receiver, originalName, fn, _, multiArgs) { - var newParameterCount = Math.max(0, parameterCount(fn) - 1); - var argumentOrder = switchCaseArgumentOrder(newParameterCount); - var shouldProxyThis = typeof callback === "string" || receiver === THIS; - - function generateCallForArgumentCount(count) { - var args = argumentSequence(count).join(", "); - var comma = count > 0 ? ", " : ""; - var ret; - if (shouldProxyThis) { - ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; - } else { - ret = receiver === undefined - ? "ret = callback({{args}}, nodeback); break;\n" - : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; - } - return ret.replace("{{args}}", args).replace(", ", comma); - } - - function generateArgumentSwitchCase() { - var ret = ""; - for (var i = 0; i < argumentOrder.length; ++i) { - ret += "case " + argumentOrder[i] +":" + - generateCallForArgumentCount(argumentOrder[i]); - } - - ret += " \n\ - default: \n\ - var args = new Array(len + 1); \n\ - var i = 0; \n\ - for (var i = 0; i < len; ++i) { \n\ - args[i] = arguments[i]; \n\ - } \n\ - args[i] = nodeback; \n\ - [CodeForCall] \n\ - break; \n\ - ".replace("[CodeForCall]", (shouldProxyThis - ? "ret = callback.apply(this, args);\n" - : "ret = callback.apply(receiver, args);\n")); - return ret; - } - - var getFunctionCode = typeof callback === "string" - ? ("this != null ? this['"+callback+"'] : fn") - : "fn"; - var body = "'use strict'; \n\ - var ret = function (Parameters) { \n\ - 'use strict'; \n\ - var len = arguments.length; \n\ - var promise = new Promise(INTERNAL); \n\ - promise._captureStackTrace(); \n\ - var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ - var ret; \n\ - var callback = tryCatch([GetFunctionCode]); \n\ - switch(len) { \n\ - [CodeForSwitchCase] \n\ - } \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ - } \n\ - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ - return promise; \n\ - }; \n\ - notEnumerableProp(ret, '__isPromisified__', true); \n\ - return ret; \n\ - ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) - .replace("[GetFunctionCode]", getFunctionCode); - body = body.replace("Parameters", parameterDeclaration(newParameterCount)); - return new Function("Promise", - "fn", - "receiver", - "withAppended", - "maybeWrapAsError", - "nodebackForPromise", - "tryCatch", - "errorObj", - "notEnumerableProp", - "INTERNAL", - body)( - Promise, - fn, - receiver, - withAppended, - maybeWrapAsError, - nodebackForPromise, - util.tryCatch, - util.errorObj, - util.notEnumerableProp, - INTERNAL); -}; -} - -function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { - var defaultThis = (function() {return this;})(); - var method = callback; - if (typeof method === "string") { - callback = fn; - } - function promisified() { - var _receiver = receiver; - if (receiver === THIS) _receiver = this; - var promise = new Promise(INTERNAL); - promise._captureStackTrace(); - var cb = typeof method === "string" && this !== defaultThis - ? this[method] : callback; - var fn = nodebackForPromise(promise, multiArgs); - try { - cb.apply(_receiver, withAppended(arguments, fn)); - } catch(e) { - promise._rejectCallback(maybeWrapAsError(e), true, true); - } - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); - return promise; - } - util.notEnumerableProp(promisified, "__isPromisified__", true); - return promisified; -} - -var makeNodePromisified = canEvaluate - ? makeNodePromisifiedEval - : makeNodePromisifiedClosure; - -function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { - var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); - var methods = - promisifiableMethods(obj, suffix, suffixRegexp, filter); - - for (var i = 0, len = methods.length; i < len; i+= 2) { - var key = methods[i]; - var fn = methods[i+1]; - var promisifiedKey = key + suffix; - if (promisifier === makeNodePromisified) { - obj[promisifiedKey] = - makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); - } else { - var promisified = promisifier(fn, function() { - return makeNodePromisified(key, THIS, key, - fn, suffix, multiArgs); - }); - util.notEnumerableProp(promisified, "__isPromisified__", true); - obj[promisifiedKey] = promisified; - } - } - util.toFastProperties(obj); - return obj; -} - -function promisify(callback, receiver, multiArgs) { - return makeNodePromisified(callback, receiver, undefined, - callback, null, multiArgs); -} - -Promise.promisify = function (fn, options) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - if (isPromisified(fn)) { - return fn; - } - options = Object(options); - var receiver = options.context === undefined ? THIS : options.context; - var multiArgs = !!options.multiArgs; - var ret = promisify(fn, receiver, multiArgs); - util.copyDescriptors(fn, ret, propsFilter); - return ret; -}; - -Promise.promisifyAll = function (target, options) { - if (typeof target !== "function" && typeof target !== "object") { - throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - options = Object(options); - var multiArgs = !!options.multiArgs; - var suffix = options.suffix; - if (typeof suffix !== "string") suffix = defaultSuffix; - var filter = options.filter; - if (typeof filter !== "function") filter = defaultFilter; - var promisifier = options.promisifier; - if (typeof promisifier !== "function") promisifier = makeNodePromisified; - - if (!util.isIdentifier(suffix)) { - throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - - var keys = util.inheritedDataKeys(target); - for (var i = 0; i < keys.length; ++i) { - var value = target[keys[i]]; - if (keys[i] !== "constructor" && - util.isClass(value)) { - promisifyAll(value.prototype, suffix, filter, promisifier, - multiArgs); - promisifyAll(value, suffix, filter, promisifier, multiArgs); - } - } - - return promisifyAll(target, suffix, filter, promisifier, multiArgs); -}; -}; - - -},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function( - Promise, PromiseArray, tryConvertToPromise, apiRejection) { -var util = _dereq_("./util"); -var isObject = util.isObject; -var es5 = _dereq_("./es5"); -var Es6Map; -if (typeof Map === "function") Es6Map = Map; - -var mapToEntries = (function() { - var index = 0; - var size = 0; - - function extractEntry(value, key) { - this[index] = value; - this[index + size] = key; - index++; - } - - return function mapToEntries(map) { - size = map.size; - index = 0; - var ret = new Array(map.size * 2); - map.forEach(extractEntry, ret); - return ret; - }; -})(); - -var entriesToMap = function(entries) { - var ret = new Es6Map(); - var length = entries.length / 2 | 0; - for (var i = 0; i < length; ++i) { - var key = entries[length + i]; - var value = entries[i]; - ret.set(key, value); - } - return ret; -}; - -function PropertiesPromiseArray(obj) { - var isMap = false; - var entries; - if (Es6Map !== undefined && obj instanceof Es6Map) { - entries = mapToEntries(obj); - isMap = true; - } else { - var keys = es5.keys(obj); - var len = keys.length; - entries = new Array(len * 2); - for (var i = 0; i < len; ++i) { - var key = keys[i]; - entries[i] = obj[key]; - entries[i + len] = key; - } - } - this.constructor$(entries); - this._isMap = isMap; - this._init$(undefined, isMap ? -6 : -3); -} -util.inherits(PropertiesPromiseArray, PromiseArray); - -PropertiesPromiseArray.prototype._init = function () {}; - -PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - var val; - if (this._isMap) { - val = entriesToMap(this._values); - } else { - val = {}; - var keyOffset = this.length(); - for (var i = 0, len = this.length(); i < len; ++i) { - val[this._values[i + keyOffset]] = this._values[i]; - } - } - this._resolve(val); - return true; - } - return false; -}; - -PropertiesPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -PropertiesPromiseArray.prototype.getActualLength = function (len) { - return len >> 1; -}; - -function props(promises) { - var ret; - var castValue = tryConvertToPromise(promises); - - if (!isObject(castValue)) { - return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } else if (castValue instanceof Promise) { - ret = castValue._then( - Promise.props, undefined, undefined, undefined, undefined); - } else { - ret = new PropertiesPromiseArray(castValue).promise(); - } - - if (castValue instanceof Promise) { - ret._propagateFrom(castValue, 2); - } - return ret; -} - -Promise.prototype.props = function () { - return props(this); -}; - -Promise.props = function (promises) { - return props(promises); -}; -}; - -},{"./es5":13,"./util":36}],26:[function(_dereq_,module,exports){ -"use strict"; -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; - -},{}],27:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function( - Promise, INTERNAL, tryConvertToPromise, apiRejection) { -var util = _dereq_("./util"); - -var raceLater = function (promise) { - return promise.then(function(array) { - return race(array, promise); - }); -}; - -function race(promises, parent) { - var maybePromise = tryConvertToPromise(promises); - - if (maybePromise instanceof Promise) { - return raceLater(maybePromise); - } else { - promises = util.asArray(promises); - if (promises === null) - return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); - } - - var ret = new Promise(INTERNAL); - if (parent !== undefined) { - ret._propagateFrom(parent, 3); - } - var fulfill = ret._fulfill; - var reject = ret._reject; - for (var i = 0, len = promises.length; i < len; ++i) { - var val = promises[i]; - - if (val === undefined && !(i in promises)) { - continue; - } - - Promise.cast(val)._then(fulfill, reject, undefined, ret, null); - } - return ret; -} - -Promise.race = function (promises) { - return race(promises, undefined); -}; - -Promise.prototype.race = function () { - return race(this, undefined); -}; - -}; - -},{"./util":36}],28:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; - -function ReductionPromiseArray(promises, fn, initialValue, _each) { - this.constructor$(promises); - var domain = getDomain(); - this._fn = domain === null ? fn : util.domainBind(domain, fn); - if (initialValue !== undefined) { - initialValue = Promise.resolve(initialValue); - initialValue._attachCancellationCallback(this); - } - this._initialValue = initialValue; - this._currentCancellable = null; - if(_each === INTERNAL) { - this._eachValues = Array(this._length); - } else if (_each === 0) { - this._eachValues = null; - } else { - this._eachValues = undefined; - } - this._promise._captureStackTrace(); - this._init$(undefined, -5); -} -util.inherits(ReductionPromiseArray, PromiseArray); - -ReductionPromiseArray.prototype._gotAccum = function(accum) { - if (this._eachValues !== undefined && - this._eachValues !== null && - accum !== INTERNAL) { - this._eachValues.push(accum); - } -}; - -ReductionPromiseArray.prototype._eachComplete = function(value) { - if (this._eachValues !== null) { - this._eachValues.push(value); - } - return this._eachValues; -}; - -ReductionPromiseArray.prototype._init = function() {}; - -ReductionPromiseArray.prototype._resolveEmptyArray = function() { - this._resolve(this._eachValues !== undefined ? this._eachValues - : this._initialValue); -}; - -ReductionPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -ReductionPromiseArray.prototype._resolve = function(value) { - this._promise._resolveCallback(value); - this._values = null; -}; - -ReductionPromiseArray.prototype._resultCancelled = function(sender) { - if (sender === this._initialValue) return this._cancel(); - if (this._isResolved()) return; - this._resultCancelled$(); - if (this._currentCancellable instanceof Promise) { - this._currentCancellable.cancel(); - } - if (this._initialValue instanceof Promise) { - this._initialValue.cancel(); - } -}; - -ReductionPromiseArray.prototype._iterate = function (values) { - this._values = values; - var value; - var i; - var length = values.length; - if (this._initialValue !== undefined) { - value = this._initialValue; - i = 0; - } else { - value = Promise.resolve(values[0]); - i = 1; - } - - this._currentCancellable = value; - - if (!value.isRejected()) { - for (; i < length; ++i) { - var ctx = { - accum: null, - value: values[i], - index: i, - length: length, - array: this - }; - value = value._then(gotAccum, undefined, undefined, ctx, undefined); - } - } - - if (this._eachValues !== undefined) { - value = value - ._then(this._eachComplete, undefined, undefined, this, undefined); - } - value._then(completed, completed, undefined, value, this); -}; - -Promise.prototype.reduce = function (fn, initialValue) { - return reduce(this, fn, initialValue, null); -}; - -Promise.reduce = function (promises, fn, initialValue, _each) { - return reduce(promises, fn, initialValue, _each); -}; - -function completed(valueOrReason, array) { - if (this.isFulfilled()) { - array._resolve(valueOrReason); - } else { - array._reject(valueOrReason); - } -} - -function reduce(promises, fn, initialValue, _each) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var array = new ReductionPromiseArray(promises, fn, initialValue, _each); - return array.promise(); -} - -function gotAccum(accum) { - this.accum = accum; - this.array._gotAccum(accum); - var value = tryConvertToPromise(this.value, this.array._promise); - if (value instanceof Promise) { - this.array._currentCancellable = value; - return value._then(gotValue, undefined, undefined, this, undefined); - } else { - return gotValue.call(this, value); - } -} - -function gotValue(value) { - var array = this.array; - var promise = array._promise; - var fn = tryCatch(array._fn); - promise._pushContext(); - var ret; - if (array._eachValues !== undefined) { - ret = fn.call(promise._boundValue(), value, this.index, this.length); - } else { - ret = fn.call(promise._boundValue(), - this.accum, value, this.index, this.length); - } - if (ret instanceof Promise) { - array._currentCancellable = ret; - } - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", - promise - ); - return ret; -} -}; - -},{"./util":36}],29:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; - -},{"./util":36}],30:[function(_dereq_,module,exports){ -"use strict"; -module.exports = - function(Promise, PromiseArray, debug) { -var PromiseInspection = Promise.PromiseInspection; -var util = _dereq_("./util"); - -function SettledPromiseArray(values) { - this.constructor$(values); -} -util.inherits(SettledPromiseArray, PromiseArray); - -SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { - this._values[index] = inspection; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { - var ret = new PromiseInspection(); - ret._bitField = 33554432; - ret._settledValueField = value; - return this._promiseResolved(index, ret); -}; -SettledPromiseArray.prototype._promiseRejected = function (reason, index) { - var ret = new PromiseInspection(); - ret._bitField = 16777216; - ret._settledValueField = reason; - return this._promiseResolved(index, ret); -}; - -Promise.settle = function (promises) { - debug.deprecated(".settle()", ".reflect()"); - return new SettledPromiseArray(promises).promise(); -}; - -Promise.prototype.settle = function () { - return Promise.settle(this); -}; -}; - -},{"./util":36}],31:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, PromiseArray, apiRejection) { -var util = _dereq_("./util"); -var RangeError = _dereq_("./errors").RangeError; -var AggregateError = _dereq_("./errors").AggregateError; -var isArray = util.isArray; -var CANCELLATION = {}; - - -function SomePromiseArray(values) { - this.constructor$(values); - this._howMany = 0; - this._unwrap = false; - this._initialized = false; -} -util.inherits(SomePromiseArray, PromiseArray); - -SomePromiseArray.prototype._init = function () { - if (!this._initialized) { - return; - } - if (this._howMany === 0) { - this._resolve([]); - return; - } - this._init$(undefined, -5); - var isArrayResolved = isArray(this._values); - if (!this._isResolved() && - isArrayResolved && - this._howMany > this._canPossiblyFulfill()) { - this._reject(this._getRangeError(this.length())); - } -}; - -SomePromiseArray.prototype.init = function () { - this._initialized = true; - this._init(); -}; - -SomePromiseArray.prototype.setUnwrap = function () { - this._unwrap = true; -}; - -SomePromiseArray.prototype.howMany = function () { - return this._howMany; -}; - -SomePromiseArray.prototype.setHowMany = function (count) { - this._howMany = count; -}; - -SomePromiseArray.prototype._promiseFulfilled = function (value) { - this._addFulfilled(value); - if (this._fulfilled() === this.howMany()) { - this._values.length = this.howMany(); - if (this.howMany() === 1 && this._unwrap) { - this._resolve(this._values[0]); - } else { - this._resolve(this._values); - } - return true; - } - return false; - -}; -SomePromiseArray.prototype._promiseRejected = function (reason) { - this._addRejected(reason); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._promiseCancelled = function () { - if (this._values instanceof Promise || this._values == null) { - return this._cancel(); - } - this._addRejected(CANCELLATION); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._checkOutcome = function() { - if (this.howMany() > this._canPossiblyFulfill()) { - var e = new AggregateError(); - for (var i = this.length(); i < this._values.length; ++i) { - if (this._values[i] !== CANCELLATION) { - e.push(this._values[i]); - } - } - if (e.length > 0) { - this._reject(e); - } else { - this._cancel(); - } - return true; - } - return false; -}; - -SomePromiseArray.prototype._fulfilled = function () { - return this._totalResolved; -}; - -SomePromiseArray.prototype._rejected = function () { - return this._values.length - this.length(); -}; - -SomePromiseArray.prototype._addRejected = function (reason) { - this._values.push(reason); -}; - -SomePromiseArray.prototype._addFulfilled = function (value) { - this._values[this._totalResolved++] = value; -}; - -SomePromiseArray.prototype._canPossiblyFulfill = function () { - return this.length() - this._rejected(); -}; - -SomePromiseArray.prototype._getRangeError = function (count) { - var message = "Input array must contain at least " + - this._howMany + " items but contains only " + count + " items"; - return new RangeError(message); -}; - -SomePromiseArray.prototype._resolveEmptyArray = function () { - this._reject(this._getRangeError(0)); -}; - -function some(promises, howMany) { - if ((howMany | 0) !== howMany || howMany < 0) { - return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(howMany); - ret.init(); - return promise; -} - -Promise.some = function (promises, howMany) { - return some(promises, howMany); -}; - -Promise.prototype.some = function (howMany) { - return some(this, howMany); -}; - -Promise._SomePromiseArray = SomePromiseArray; -}; - -},{"./errors":12,"./util":36}],32:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; - } - else { - this._bitField = 0; - this._settledValueField = undefined; - } -} - -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; - -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; - -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; - -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; - -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; - -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; - -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; - -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; - -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; - -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; - -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); -}; - -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); -}; - -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); -}; - -Promise.prototype.value = function() { - return value.call(this._target()); -}; - -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); -}; - -Promise.prototype._value = function() { - return this._settledValue(); -}; - -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); -}; - -Promise.PromiseInspection = PromiseInspection; -}; - -},{}],33:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var util = _dereq_("./util"); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; - -},{"./util":36}],34:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, debug) { -var util = _dereq_("./util"); -var TimeoutError = Promise.TimeoutError; - -function HandleWrapper(handle) { - this.handle = handle; -} - -HandleWrapper.prototype._resultCancelled = function() { - clearTimeout(this.handle); -}; - -var afterValue = function(value) { return delay(+this).thenReturn(value); }; -var delay = Promise.delay = function (ms, value) { - var ret; - var handle; - if (value !== undefined) { - ret = Promise.resolve(value) - ._then(afterValue, null, null, ms, undefined); - if (debug.cancellation() && value instanceof Promise) { - ret._setOnCancel(value); - } - } else { - ret = new Promise(INTERNAL); - handle = setTimeout(function() { ret._fulfill(); }, +ms); - if (debug.cancellation()) { - ret._setOnCancel(new HandleWrapper(handle)); - } - ret._captureStackTrace(); - } - ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.prototype.delay = function (ms) { - return delay(ms, this); -}; - -var afterTimeout = function (promise, message, parent) { - var err; - if (typeof message !== "string") { - if (message instanceof Error) { - err = message; - } else { - err = new TimeoutError("operation timed out"); - } - } else { - err = new TimeoutError(message); - } - util.markAsOriginatingFromRejection(err); - promise._attachExtraTrace(err); - promise._reject(err); - - if (parent != null) { - parent.cancel(); - } -}; - -function successClear(value) { - clearTimeout(this.handle); - return value; -} - -function failureClear(reason) { - clearTimeout(this.handle); - throw reason; -} - -Promise.prototype.timeout = function (ms, message) { - ms = +ms; - var ret, parent; - - var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { - if (ret.isPending()) { - afterTimeout(ret, message, parent); - } - }, ms)); - - if (debug.cancellation()) { - parent = this.then(); - ret = parent._then(successClear, failureClear, - undefined, handleWrapper, undefined); - ret._setOnCancel(handleWrapper); - } else { - ret = this._then(successClear, failureClear, - undefined, handleWrapper, undefined); - } - - return ret; -}; - -}; - -},{"./util":36}],35:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function (Promise, apiRejection, tryConvertToPromise, - createContext, INTERNAL, debug) { - var util = _dereq_("./util"); - var TypeError = _dereq_("./errors").TypeError; - var inherits = _dereq_("./util").inherits; - var errorObj = util.errorObj; - var tryCatch = util.tryCatch; - var NULL = {}; - - function thrower(e) { - setTimeout(function(){throw e;}, 0); - } - - function castPreservingDisposable(thenable) { - var maybePromise = tryConvertToPromise(thenable); - if (maybePromise !== thenable && - typeof thenable._isDisposable === "function" && - typeof thenable._getDisposer === "function" && - thenable._isDisposable()) { - maybePromise._setDisposable(thenable._getDisposer()); - } - return maybePromise; - } - function dispose(resources, inspection) { - var i = 0; - var len = resources.length; - var ret = new Promise(INTERNAL); - function iterator() { - if (i >= len) return ret._fulfill(); - var maybePromise = castPreservingDisposable(resources[i++]); - if (maybePromise instanceof Promise && - maybePromise._isDisposable()) { - try { - maybePromise = tryConvertToPromise( - maybePromise._getDisposer().tryDispose(inspection), - resources.promise); - } catch (e) { - return thrower(e); - } - if (maybePromise instanceof Promise) { - return maybePromise._then(iterator, thrower, - null, null, null); - } - } - iterator(); - } - iterator(); - return ret; - } - - function Disposer(data, promise, context) { - this._data = data; - this._promise = promise; - this._context = context; - } - - Disposer.prototype.data = function () { - return this._data; - }; - - Disposer.prototype.promise = function () { - return this._promise; - }; - - Disposer.prototype.resource = function () { - if (this.promise().isFulfilled()) { - return this.promise().value(); - } - return NULL; - }; - - Disposer.prototype.tryDispose = function(inspection) { - var resource = this.resource(); - var context = this._context; - if (context !== undefined) context._pushContext(); - var ret = resource !== NULL - ? this.doDispose(resource, inspection) : null; - if (context !== undefined) context._popContext(); - this._promise._unsetDisposable(); - this._data = null; - return ret; - }; - - Disposer.isDisposer = function (d) { - return (d != null && - typeof d.resource === "function" && - typeof d.tryDispose === "function"); - }; - - function FunctionDisposer(fn, promise, context) { - this.constructor$(fn, promise, context); - } - inherits(FunctionDisposer, Disposer); - - FunctionDisposer.prototype.doDispose = function (resource, inspection) { - var fn = this.data(); - return fn.call(resource, resource, inspection); - }; - - function maybeUnwrapDisposer(value) { - if (Disposer.isDisposer(value)) { - this.resources[this.index]._setDisposable(value); - return value.promise(); - } - return value; - } - - function ResourceList(length) { - this.length = length; - this.promise = null; - this[length-1] = null; - } - - ResourceList.prototype._resultCancelled = function() { - var len = this.length; - for (var i = 0; i < len; ++i) { - var item = this[i]; - if (item instanceof Promise) { - item.cancel(); - } - } - }; - - Promise.using = function () { - var len = arguments.length; - if (len < 2) return apiRejection( - "you must pass at least 2 arguments to Promise.using"); - var fn = arguments[len - 1]; - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var input; - var spreadArgs = true; - if (len === 2 && Array.isArray(arguments[0])) { - input = arguments[0]; - len = input.length; - spreadArgs = false; - } else { - input = arguments; - len--; - } - var resources = new ResourceList(len); - for (var i = 0; i < len; ++i) { - var resource = input[i]; - if (Disposer.isDisposer(resource)) { - var disposer = resource; - resource = resource.promise(); - resource._setDisposable(disposer); - } else { - var maybePromise = tryConvertToPromise(resource); - if (maybePromise instanceof Promise) { - resource = - maybePromise._then(maybeUnwrapDisposer, null, null, { - resources: resources, - index: i - }, undefined); - } - } - resources[i] = resource; - } - - var reflectedResources = new Array(resources.length); - for (var i = 0; i < reflectedResources.length; ++i) { - reflectedResources[i] = Promise.resolve(resources[i]).reflect(); - } - - var resultPromise = Promise.all(reflectedResources) - .then(function(inspections) { - for (var i = 0; i < inspections.length; ++i) { - var inspection = inspections[i]; - if (inspection.isRejected()) { - errorObj.e = inspection.error(); - return errorObj; - } else if (!inspection.isFulfilled()) { - resultPromise.cancel(); - return; - } - inspections[i] = inspection.value(); - } - promise._pushContext(); - - fn = tryCatch(fn); - var ret = spreadArgs - ? fn.apply(undefined, inspections) : fn(inspections); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, promiseCreated, "Promise.using", promise); - return ret; - }); - - var promise = resultPromise.lastly(function() { - var inspection = new Promise.PromiseInspection(resultPromise); - return dispose(resources, inspection); - }); - resources.promise = promise; - promise._setOnCancel(resources); - return promise; - }; - - Promise.prototype._setDisposable = function (disposer) { - this._bitField = this._bitField | 131072; - this._disposer = disposer; - }; - - Promise.prototype._isDisposable = function () { - return (this._bitField & 131072) > 0; - }; - - Promise.prototype._getDisposer = function () { - return this._disposer; - }; - - Promise.prototype._unsetDisposable = function () { - this._bitField = this._bitField & (~131072); - this._disposer = undefined; - }; - - Promise.prototype.disposer = function (fn) { - if (typeof fn === "function") { - return new FunctionDisposer(fn, this, createContext()); - } - throw new TypeError(); - }; - -}; - -},{"./errors":12,"./util":36}],36:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"; -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; - -},{"./es5":13}]},{},[4])(4) -}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; } \ No newline at end of file diff --git a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.min.js b/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.min.js deleted file mode 100644 index 59afc96c..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/browser/bluebird.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ -/** - * bluebird build version 3.5.0 - * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(s,a){if(!e[s]){if(!t[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[s]={exports:{}};t[s][0].call(u.exports,function(e){var n=t[s][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){var e=this.pop(),r=n(t,e);return r.apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function s(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new S(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&W){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),c=w(a),l=c.length-1;l>=0;--l){var u=c[l];if(!U.test(u)){var p=u.match(M);p&&(o="at "+p[1]+":"+p[2]+":"+p[3]+" ");break}}if(c.length>0)for(var h=c[0],l=0;l0&&(s="\n"+a[l-1]);break}}var f="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(f,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(ot.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(ot.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}tt("warning",o)||E(o,"",!0)}}function m(t,e){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:w(e)}}function E(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function k(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?tt(t,n,r)||i||E(n,"Unhandled rejection "):tt(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){var e=41;return t.lengths||0>a||!n||!r||n!==r||s>=a||(nt=function(t){if(B.test(t))return!0;var e=P(t);return e&&e.fileName===n&&s<=e.line&&e.line<=a?!0:!1})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);it(this,S),e>32&&this.uncycle()}var O,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,H=t("./util"),N=H.canAttachTrace,B=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,U=/\((?:timers\.js):\d+:\d+\)/,M=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,Q=null,$=!1,G=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),z=!(0==H.env("BLUEBIRD_WARNINGS")||!G&&!H.env("BLUEBIRD_WARNINGS")),X=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!G&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),W=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(z||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){k("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),k("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:H.domainBind(e,t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();O="function"==typeof t?null===e?t:H.domainBind(e,t):void 0};var K=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!ot.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;ot.longStackTraces=!0,K=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),ot.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return ot.longStackTraces&&T()};var J=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return H.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!H.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return H.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!H.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),Y=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),Z={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},tt=function(t){var e=!1;try{e=Y.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=J(t,Z[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&K()),"warnings"in t){var n=t.warnings;ot.warnings=!!n,W=ot.warnings,H.isObject(n)&&"wForgottenReturn"in n&&(W=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!ot.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,et=u,ot.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!ot.monitoring?(ot.monitoring=!0,e.prototype._fireEvent=tt):!t.monitoring&&ot.monitoring&&(ot.monitoring=!1,e.prototype._fireEvent=i)),e},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var et=p,nt=function(){return!1},rt=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),g(r),H.notEnumerableProp(t,"stack",m(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var it=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=t,Q=e;var n=Error.captureStackTrace;return nt=function(t){return B.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return q=/@/,Q=e,$=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(q=t,Q=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var ot={warnings:z,longStackTraces:!1,cancellation:!1,monitoring:!1};return X&&e.longStackTraces(),{longStackTraces:function(){return ot.longStackTraces},warnings:function(){return ot.warnings},cancellation:function(){return ot.cancellation},monitoring:function(){return ot.monitoring},propagateFromFunction:function(){return et},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:J,fireGlobalEvent:Y}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,r){return i(t,r,e,0)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(v){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),m=0;m1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function a(){return l.call(this,this.promise._target()._settledValue())}function c(t){return s(this,t)?void 0:(h.e=t,h)}function l(t){var i=this.promise,l=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?l.call(i._boundValue()):l.call(i._boundValue(),t);if(u===r)return u;if(void 0!==u){i._setReturnedNonUndefined();var f=n(u,i);if(f instanceof e){if(null!=this.cancelPromise){if(f._isCancelled()){var _=new p("late cancellation observer");return i._attachExtraTrace(_),h.e=_,h}f.isPending()&&f._attachCancellationCallback(new o(this))}return f._then(a,c,void 0,this,void 0)}}}return i.isRejected()?(s(this),h.e=t,h):(s(this),t)}var u=t("./util"),p=e.CancellationError,h=u.errorObj,f=t("./catch_filter")(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){s(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new i(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,l,l)},e.prototype.tap=function(t){return this._passThrough(t,1,l)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,l);var r,i=new Array(n-1),o=0;for(r=0;n-1>r;++r){var s=arguments[r];if(!u.isObject(s))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+u.classString(s)));i[o++]=s}i.length=o;var a=arguments[r];return this._passThrough(f(i,a,this),1,void 0,l)},i}},{"./catch_filter":7,"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],f.invoke(this._asyncInit,this,void 0)}function c(t,n,i,o){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var s=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));s=i.concurrency}return s="number"==typeof s&&isFinite(s)&&s>=1?s:0,new a(t,n,s,o).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=e._async;u.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0===(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}var m=++this._totalResolved;return m>=o?(null!==a?this._filter(r,a):this._resolve(r),!0):!1},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlighto;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!f.isObject(o))return p("Catch statement predicate: expecting an object but got "+f.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,P(r,t,this))}return this.then(void 0,t)},i.prototype.reflect=function(){return this._then(u,u,void 0,this,void 0)},i.prototype.then=function(t,e){if(x.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+f.classString(t);arguments.length>1&&(n+=", "+f.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},i.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},i.prototype.spread=function(t){return"function"!=typeof t?p("expecting a function but got "+f.classString(t)):this.all()._then(t,void 0,void 0,w,void 0)},i.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new E(this).promise()},i.prototype.error=function(t){return this.caught(f.originatesFromRejection,t)},i.getNewLibraryCopy=e.exports,i.is=function(t){return t instanceof i},i.fromNode=i.fromCallback=function(t){var e=new i(b);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,r=O(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},i.all=function(t){return new E(t).promise()},i.cast=function(t){var e=j(t);return e instanceof i||(e=new i(b),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(t){var e=new i(b);return e._captureStackTrace(),e._rejectCallback(t,!0),e},i.setScheduler=function(t){if("function"!=typeof t)throw new m("expecting a function but got "+f.classString(t));return v.setScheduler(t)},i.prototype._then=function(t,e,n,r,o){var s=void 0!==o,a=s?o:new i(b),l=this._target(),u=l._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var p=c();if(0!==(50397184&u)){var h,_,d=l._settlePromiseCtx;0!==(33554432&u)?(_=l._rejectionHandler0,h=t):0!==(16777216&u)?(_=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(d=l._settlePromiseLateCancellationObserver,_=new g("late cancellation observer"),l._attachExtraTrace(_),h=e),v.invoke(d,l,{handler:null===p?h:"function"==typeof h&&f.domainBind(p,h),promise:a,receiver:r,value:_})}else l._addCallbacks(t,e,a,r,p);return a},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},i.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},i.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===h?void 0:void 0===e&&this._isBound()?this._boundValue():e},i.prototype._promiseAt=function(t){return this[4*t-4+2]},i.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},i.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=h),this._addCallbacks(e,n,r,i,null)},i.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=h),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:f.domainBind(i,e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:f.domainBind(i,e))}return this._setLength(o+1),o},i.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},i.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=j(t,this);if(!(n instanceof i))return this._fulfill(t);e&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var o=r._bitField;if(0===(50397184&o)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;s>a;++a)r._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!==(33554432&o))this._fulfill(r._value());else if(0!==(16777216&o))this._reject(r._reason());else{var c=new g("late cancellation observer");r._attachExtraTrace(c),this._reject(c)}}},i.prototype._rejectCallback=function(t,e,n){var r=f.ensureErrorObject(t),i=r===t;if(!i&&!n&&x.warnings()){var o="a promise was rejected with a non-error: "+f.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},i.prototype._resolveFromExecutor=function(t){if(t!==b){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)}},i.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===w?n&&"number"==typeof n.length?o=O(t).apply(this._boundValue(),n):(o=S,o.e=new m("cannot .spread() a non-array: "+f.classString(n))):o=O(t).call(e,n);var s=r._popContext();i=r._bitField,0===(65536&i)&&(o===C?r._reject(n):o===S?r._rejectCallback(o.e,!1):(x.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},i.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},i.prototype._followee=function(){return this._rejectionHandler0},i.prototype._setFollowee=function(t){this._rejectionHandler0=t},i.prototype._settlePromise=function(t,e,r,o){var s=t instanceof i,a=this._bitField,c=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),r instanceof T&&r.isFinallyHandler()?(r.cancelPromise=t,O(e).call(r,o)===S&&t._reject(S.e)):e===u?t._fulfill(u.call(r)):r instanceof n?r._promiseCancelled(t):s||t instanceof E?t._cancel():r.cancel()):"function"==typeof e?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,o,t)):e.call(r,o,t):r instanceof n?r._isResolved()||(0!==(33554432&a)?r._promiseFulfilled(o,t):r._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(o):t._reject(o))},i.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,r=t.receiver,o=t.value;"function"==typeof e?n instanceof i?this._settlePromiseFromHandler(e,r,o,n):e.call(r,o,n):n instanceof i&&n._reject(o)},i.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},i.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},i.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},i.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():v.settlePromises(this))}},i.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,f.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){x.deprecated("Promise.defer","new Promise");var t=new i(b);return{promise:t,resolve:o,reject:s}},f.notEnumerableProp(i,"_makeSelfResolutionError",l),t("./method")(i,b,j,p,x),t("./bind")(i,b,j,x),t("./cancel")(i,E,p,x),t("./direct_resolve")(i),t("./synchronous_inspection")(i),t("./join")(i,E,j,b,v,c),i.Promise=i,i.version="3.5.0",t("./map.js")(i,E,p,j,b,x),t("./call_get.js")(i),t("./using.js")(i,p,j,F,b,x),t("./timers.js")(i,b,x),t("./generators.js")(i,p,b,j,n,x),t("./nodeify.js")(i),t("./promisify.js")(i,b),t("./props.js")(i,E,j,p),t("./race.js")(i,b,j,p),t("./reduce.js")(i,E,p,j,b,x),t("./settle.js")(i,E,x),t("./some.js")(i,E,p),t("./filter.js")(i,b),t("./each.js")(i,b),t("./any.js")(i),f.toFastProperties(i),f.toFastProperties(i.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new i(b)),x.setBounds(d.firstLineError,f.lastLineError),i}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var a=o._bitField;if(this._values=o,0===(50397184&a))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&a))return 0!==(16777216&a)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(s(n))):void this._iterate(o)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0===(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!==(33554432&s)?this._promiseFulfilled(c._value(),a):0!==(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;nc;c+=2){var u=s[c],p=s[c+1],_=u+e;if(r===k)t[_]=k(u,h,u,p,e,i);else{var d=r(p,function(){return k(u,h,u,p,e,i)});f.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return f.toFastProperties(t),t}function u(t,e,n){return k(t,e,void 0,t,null,n)}var p,h={},f=t("./util"),_=t("./nodeback"),d=f.withAppended,v=f.maybeWrapAsError,y=f.canEvaluate,m=t("./errors").TypeError,g="Async",b={__isPromisified__:!0},w=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],C=new RegExp("^(?:"+w.join("|")+")$"),j=function(t){return f.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},E=function(t){return t.replace(/([$])/,"\\$")},k=y?p:c;e.promisify=function(t,e){if("function"!=typeof t)throw new m("expecting a function but got "+f.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?h:e.context,o=!!e.multiArgs,s=u(t,n,o);return f.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new m("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r=g);var i=e.filter;"function"!=typeof i&&(i=j);var o=e.promisifier;if("function"!=typeof o&&(o=k),!f.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var s=f.inheritedDataKeys(t),a=0;ao;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,n?-6:-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();s>o;++o)r[this._values[o+i]]=this._values[o]}return this._resolve(r),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacityh;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:f.domainBind(s,n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,i===o?this._eachValues=Array(this._length):0===i?this._eachValues=null:this._eachValues=void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+f.classString(e));var o=new a(t,e,n,i);return o.promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length),o instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&null!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return null!==this._eachValues&&this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},s=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof s&&"function"==typeof s.resolve){var l=s.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection,s=t("./util");s.inherits(i,n),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t), -this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=l(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()?(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0):!1},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!==(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!==(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function s(t){try{return p.call(t,"_promise0")}catch(e){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(p){return a(p)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,m=_.tryCatch,g={};u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():g},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==g?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){var n=this.data();return n.call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var g=r(d);g instanceof e&&(d=g._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=P;return P=null,t.apply(this,arguments)}catch(e){return T.e=e,T}}function i(t){return P=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!F.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return F.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=F.names(t.prototype),n=F.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=A.test(t+"")&&F.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return D.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function m(t){try{u(t,"isOperational",!0)}catch(e){}}function g(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&F.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=F.names(t),i=0;i10||t[0]>0}(),B.isNode&&B.toFastProperties(process);try{throw new Error}catch(U){B.lastLineError=U}e.exports=B},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/bluebird/js/release/any.js b/build/js-transpiled/node_modules/bluebird/js/release/any.js deleted file mode 100644 index 05a6228e..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/any.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -var SomePromiseArray = Promise._SomePromiseArray; -function any(promises) { - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(1); - ret.setUnwrap(); - ret.init(); - return promise; -} - -Promise.any = function (promises) { - return any(promises); -}; - -Promise.prototype.any = function () { - return any(this); -}; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/assert.js b/build/js-transpiled/node_modules/bluebird/js/release/assert.js deleted file mode 100644 index 4518231a..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/assert.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -module.exports = (function(){ -var AssertionError = (function() { - function AssertionError(a) { - this.constructor$(a); - this.message = a; - this.name = "AssertionError"; - } - AssertionError.prototype = new Error(); - AssertionError.prototype.constructor = AssertionError; - AssertionError.prototype.constructor$ = Error; - return AssertionError; -})(); - -function getParams(args) { - var params = []; - for (var i = 0; i < args.length; ++i) params.push("arg" + i); - return params; -} - -function nativeAssert(callName, args, expect) { - try { - var params = getParams(args); - var constructorArgs = params; - constructorArgs.push("return " + - callName + "("+ params.join(",") + ");"); - var fn = Function.apply(null, constructorArgs); - return fn.apply(null, args); - } catch (e) { - if (!(e instanceof SyntaxError)) { - throw e; - } else { - return expect; - } - } -} - -return function assert(boolExpr, message) { - if (boolExpr === true) return; - - if (typeof boolExpr === "string" && - boolExpr.charAt(0) === "%") { - var nativeCallName = boolExpr; - var $_len = arguments.length;var args = new Array(Math.max($_len - 2, 0)); for(var $_i = 2; $_i < $_len; ++$_i) {args[$_i - 2] = arguments[$_i];}; - if (nativeAssert(nativeCallName, args, message) === message) return; - message = (nativeCallName + " !== " + message); - } - - var ret = new AssertionError(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(ret, assert); - } - throw ret; -}; -})(); diff --git a/build/js-transpiled/node_modules/bluebird/js/release/async.js b/build/js-transpiled/node_modules/bluebird/js/release/async.js deleted file mode 100644 index 41f66556..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/async.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -var firstLineError; -try {throw new Error(); } catch (e) {firstLineError = e;} -var schedule = require("./schedule"); -var Queue = require("./queue"); -var util = require("./util"); - -function Async() { - this._customScheduler = false; - this._isTickUsed = false; - this._lateQueue = new Queue(16); - this._normalQueue = new Queue(16); - this._haveDrainedQueues = false; - this._trampolineEnabled = true; - var self = this; - this.drainQueues = function () { - self._drainQueues(); - }; - this._schedule = schedule; -} - -Async.prototype.setScheduler = function(fn) { - var prev = this._schedule; - this._schedule = fn; - this._customScheduler = true; - return prev; -}; - -Async.prototype.hasCustomScheduler = function() { - return this._customScheduler; -}; - -Async.prototype.enableTrampoline = function() { - this._trampolineEnabled = true; -}; - -Async.prototype.disableTrampolineIfNecessary = function() { - if (util.hasDevTools) { - this._trampolineEnabled = false; - } -}; - -Async.prototype.haveItemsQueued = function () { - return this._isTickUsed || this._haveDrainedQueues; -}; - - -Async.prototype.fatalError = function(e, isNode) { - if (isNode) { - process.stderr.write("Fatal " + (e instanceof Error ? e.stack : e) + - "\n"); - process.exit(2); - } else { - this.throwLater(e); - } -}; - -Async.prototype.throwLater = function(fn, arg) { - if (arguments.length === 1) { - arg = fn; - fn = function () { throw arg; }; - } - if (typeof setTimeout !== "undefined") { - setTimeout(function() { - fn(arg); - }, 0); - } else try { - this._schedule(function() { - fn(arg); - }); - } catch (e) { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } -}; - -function AsyncInvokeLater(fn, receiver, arg) { - this._lateQueue.push(fn, receiver, arg); - this._queueTick(); -} - -function AsyncInvoke(fn, receiver, arg) { - this._normalQueue.push(fn, receiver, arg); - this._queueTick(); -} - -function AsyncSettlePromises(promise) { - this._normalQueue._pushOne(promise); - this._queueTick(); -} - -if (!util.hasDevTools) { - Async.prototype.invokeLater = AsyncInvokeLater; - Async.prototype.invoke = AsyncInvoke; - Async.prototype.settlePromises = AsyncSettlePromises; -} else { - Async.prototype.invokeLater = function (fn, receiver, arg) { - if (this._trampolineEnabled) { - AsyncInvokeLater.call(this, fn, receiver, arg); - } else { - this._schedule(function() { - setTimeout(function() { - fn.call(receiver, arg); - }, 100); - }); - } - }; - - Async.prototype.invoke = function (fn, receiver, arg) { - if (this._trampolineEnabled) { - AsyncInvoke.call(this, fn, receiver, arg); - } else { - this._schedule(function() { - fn.call(receiver, arg); - }); - } - }; - - Async.prototype.settlePromises = function(promise) { - if (this._trampolineEnabled) { - AsyncSettlePromises.call(this, promise); - } else { - this._schedule(function() { - promise._settlePromises(); - }); - } - }; -} - -Async.prototype._drainQueue = function(queue) { - while (queue.length() > 0) { - var fn = queue.shift(); - if (typeof fn !== "function") { - fn._settlePromises(); - continue; - } - var receiver = queue.shift(); - var arg = queue.shift(); - fn.call(receiver, arg); - } -}; - -Async.prototype._drainQueues = function () { - this._drainQueue(this._normalQueue); - this._reset(); - this._haveDrainedQueues = true; - this._drainQueue(this._lateQueue); -}; - -Async.prototype._queueTick = function () { - if (!this._isTickUsed) { - this._isTickUsed = true; - this._schedule(this.drainQueues); - } -}; - -Async.prototype._reset = function () { - this._isTickUsed = false; -}; - -module.exports = Async; -module.exports.firstLineError = firstLineError; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/bind.js b/build/js-transpiled/node_modules/bluebird/js/release/bind.js deleted file mode 100644 index fc3379db..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/bind.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { -var calledBind = false; -var rejectThis = function(_, e) { - this._reject(e); -}; - -var targetRejected = function(e, context) { - context.promiseRejectionQueued = true; - context.bindingPromise._then(rejectThis, rejectThis, null, this, e); -}; - -var bindingResolved = function(thisArg, context) { - if (((this._bitField & 50397184) === 0)) { - this._resolveCallback(context.target); - } -}; - -var bindingRejected = function(e, context) { - if (!context.promiseRejectionQueued) this._reject(e); -}; - -Promise.prototype.bind = function (thisArg) { - if (!calledBind) { - calledBind = true; - Promise.prototype._propagateFrom = debug.propagateFromFunction(); - Promise.prototype._boundValue = debug.boundValueFunction(); - } - var maybePromise = tryConvertToPromise(thisArg); - var ret = new Promise(INTERNAL); - ret._propagateFrom(this, 1); - var target = this._target(); - ret._setBoundTo(maybePromise); - if (maybePromise instanceof Promise) { - var context = { - promiseRejectionQueued: false, - promise: ret, - target: target, - bindingPromise: maybePromise - }; - target._then(INTERNAL, targetRejected, undefined, ret, context); - maybePromise._then( - bindingResolved, bindingRejected, undefined, ret, context); - ret._setOnCancel(maybePromise); - } else { - ret._resolveCallback(target); - } - return ret; -}; - -Promise.prototype._setBoundTo = function (obj) { - if (obj !== undefined) { - this._bitField = this._bitField | 2097152; - this._boundTo = obj; - } else { - this._bitField = this._bitField & (~2097152); - } -}; - -Promise.prototype._isBound = function () { - return (this._bitField & 2097152) === 2097152; -}; - -Promise.bind = function (thisArg, value) { - return Promise.resolve(value).bind(thisArg); -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/bluebird.js b/build/js-transpiled/node_modules/bluebird/js/release/bluebird.js deleted file mode 100644 index 1c36cf36..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/bluebird.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = require("./promise")(); -bluebird.noConflict = noConflict; -module.exports = bluebird; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/call_get.js b/build/js-transpiled/node_modules/bluebird/js/release/call_get.js deleted file mode 100644 index 0ed7714a..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/call_get.js +++ /dev/null @@ -1,123 +0,0 @@ -"use strict"; -var cr = Object.create; -if (cr) { - var callerCache = cr(null); - var getterCache = cr(null); - callerCache[" size"] = getterCache[" size"] = 0; -} - -module.exports = function(Promise) { -var util = require("./util"); -var canEvaluate = util.canEvaluate; -var isIdentifier = util.isIdentifier; - -var getMethodCaller; -var getGetter; -if (!false) { -var makeMethodCaller = function (methodName) { - return new Function("ensureMethod", " \n\ - return function(obj) { \n\ - 'use strict' \n\ - var len = this.length; \n\ - ensureMethod(obj, 'methodName'); \n\ - switch(len) { \n\ - case 1: return obj.methodName(this[0]); \n\ - case 2: return obj.methodName(this[0], this[1]); \n\ - case 3: return obj.methodName(this[0], this[1], this[2]); \n\ - case 0: return obj.methodName(); \n\ - default: \n\ - return obj.methodName.apply(obj, this); \n\ - } \n\ - }; \n\ - ".replace(/methodName/g, methodName))(ensureMethod); -}; - -var makeGetter = function (propertyName) { - return new Function("obj", " \n\ - 'use strict'; \n\ - return obj.propertyName; \n\ - ".replace("propertyName", propertyName)); -}; - -var getCompiled = function(name, compiler, cache) { - var ret = cache[name]; - if (typeof ret !== "function") { - if (!isIdentifier(name)) { - return null; - } - ret = compiler(name); - cache[name] = ret; - cache[" size"]++; - if (cache[" size"] > 512) { - var keys = Object.keys(cache); - for (var i = 0; i < 256; ++i) delete cache[keys[i]]; - cache[" size"] = keys.length - 256; - } - } - return ret; -}; - -getMethodCaller = function(name) { - return getCompiled(name, makeMethodCaller, callerCache); -}; - -getGetter = function(name) { - return getCompiled(name, makeGetter, getterCache); -}; -} - -function ensureMethod(obj, methodName) { - var fn; - if (obj != null) fn = obj[methodName]; - if (typeof fn !== "function") { - var message = "Object " + util.classString(obj) + " has no method '" + - util.toString(methodName) + "'"; - throw new Promise.TypeError(message); - } - return fn; -} - -function caller(obj) { - var methodName = this.pop(); - var fn = ensureMethod(obj, methodName); - return fn.apply(obj, this); -} -Promise.prototype.call = function (methodName) { - var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; - if (!false) { - if (canEvaluate) { - var maybeCaller = getMethodCaller(methodName); - if (maybeCaller !== null) { - return this._then( - maybeCaller, undefined, undefined, args, undefined); - } - } - } - args.push(methodName); - return this._then(caller, undefined, undefined, args, undefined); -}; - -function namedGetter(obj) { - return obj[this]; -} -function indexedGetter(obj) { - var index = +this; - if (index < 0) index = Math.max(0, index + obj.length); - return obj[index]; -} -Promise.prototype.get = function (propertyName) { - var isIndex = (typeof propertyName === "number"); - var getter; - if (!isIndex) { - if (canEvaluate) { - var maybeGetter = getGetter(propertyName); - getter = maybeGetter !== null ? maybeGetter : namedGetter; - } else { - getter = namedGetter; - } - } else { - getter = indexedGetter; - } - return this._then(getter, undefined, undefined, propertyName, undefined); -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/cancel.js b/build/js-transpiled/node_modules/bluebird/js/release/cancel.js deleted file mode 100644 index 7a12415e..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/cancel.js +++ /dev/null @@ -1,129 +0,0 @@ -"use strict"; -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = require("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/catch_filter.js b/build/js-transpiled/node_modules/bluebird/js/release/catch_filter.js deleted file mode 100644 index 0f24ce23..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/catch_filter.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -module.exports = function(NEXT_FILTER) { -var util = require("./util"); -var getKeys = require("./es5").keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/context.js b/build/js-transpiled/node_modules/bluebird/js/release/context.js deleted file mode 100644 index c307414f..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/context.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; - -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; - -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; - -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; -} -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/debuggability.js b/build/js-transpiled/node_modules/bluebird/js/release/debuggability.js deleted file mode 100644 index bf0587ce..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/debuggability.js +++ /dev/null @@ -1,916 +0,0 @@ -"use strict"; -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = require("./errors").Warning; -var util = require("./util"); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - (false || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - async.invokeLater(this._notifyUnhandledRejection, this, undefined); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/direct_resolve.js b/build/js-transpiled/node_modules/bluebird/js/release/direct_resolve.js deleted file mode 100644 index a8902982..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/direct_resolve.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/each.js b/build/js-transpiled/node_modules/bluebird/js/release/each.js deleted file mode 100644 index e4f3d05b..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/each.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseReduce = Promise.reduce; -var PromiseAll = Promise.all; - -function promiseAllThis() { - return PromiseAll(this); -} - -function PromiseMapSeries(promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, INTERNAL); -} - -Promise.prototype.each = function (fn) { - return PromiseReduce(this, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, this, undefined); -}; - -Promise.prototype.mapSeries = function (fn) { - return PromiseReduce(this, fn, INTERNAL, INTERNAL); -}; - -Promise.each = function (promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, promises, undefined); -}; - -Promise.mapSeries = PromiseMapSeries; -}; - diff --git a/build/js-transpiled/node_modules/bluebird/js/release/errors.js b/build/js-transpiled/node_modules/bluebird/js/release/errors.js deleted file mode 100644 index f62f323e..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/errors.js +++ /dev/null @@ -1,116 +0,0 @@ -"use strict"; -var es5 = require("./es5"); -var Objectfreeze = es5.freeze; -var util = require("./util"); -var inherits = util.inherits; -var notEnumerableProp = util.notEnumerableProp; - -function subError(nameProperty, defaultMessage) { - function SubError(message) { - if (!(this instanceof SubError)) return new SubError(message); - notEnumerableProp(this, "message", - typeof message === "string" ? message : defaultMessage); - notEnumerableProp(this, "name", nameProperty); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - Error.call(this); - } - } - inherits(SubError, Error); - return SubError; -} - -var _TypeError, _RangeError; -var Warning = subError("Warning", "warning"); -var CancellationError = subError("CancellationError", "cancellation error"); -var TimeoutError = subError("TimeoutError", "timeout error"); -var AggregateError = subError("AggregateError", "aggregate error"); -try { - _TypeError = TypeError; - _RangeError = RangeError; -} catch(e) { - _TypeError = subError("TypeError", "type error"); - _RangeError = subError("RangeError", "range error"); -} - -var methods = ("join pop push shift unshift slice filter forEach some " + - "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); - -for (var i = 0; i < methods.length; ++i) { - if (typeof Array.prototype[methods[i]] === "function") { - AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; - } -} - -es5.defineProperty(AggregateError.prototype, "length", { - value: 0, - configurable: false, - writable: true, - enumerable: true -}); -AggregateError.prototype["isOperational"] = true; -var level = 0; -AggregateError.prototype.toString = function() { - var indent = Array(level * 4 + 1).join(" "); - var ret = "\n" + indent + "AggregateError of:" + "\n"; - level++; - indent = Array(level * 4 + 1).join(" "); - for (var i = 0; i < this.length; ++i) { - var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; - var lines = str.split("\n"); - for (var j = 0; j < lines.length; ++j) { - lines[j] = indent + lines[j]; - } - str = lines.join("\n"); - ret += str + "\n"; - } - level--; - return ret; -}; - -function OperationalError(message) { - if (!(this instanceof OperationalError)) - return new OperationalError(message); - notEnumerableProp(this, "name", "OperationalError"); - notEnumerableProp(this, "message", message); - this.cause = message; - this["isOperational"] = true; - - if (message instanceof Error) { - notEnumerableProp(this, "message", message.message); - notEnumerableProp(this, "stack", message.stack); - } else if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - -} -inherits(OperationalError, Error); - -var errorTypes = Error["__BluebirdErrorTypes__"]; -if (!errorTypes) { - errorTypes = Objectfreeze({ - CancellationError: CancellationError, - TimeoutError: TimeoutError, - OperationalError: OperationalError, - RejectionError: OperationalError, - AggregateError: AggregateError - }); - es5.defineProperty(Error, "__BluebirdErrorTypes__", { - value: errorTypes, - writable: false, - enumerable: false, - configurable: false - }); -} - -module.exports = { - Error: Error, - TypeError: _TypeError, - RangeError: _RangeError, - CancellationError: errorTypes.CancellationError, - OperationalError: errorTypes.OperationalError, - TimeoutError: errorTypes.TimeoutError, - AggregateError: errorTypes.AggregateError, - Warning: Warning -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/es5.js b/build/js-transpiled/node_modules/bluebird/js/release/es5.js deleted file mode 100644 index ea41d5a5..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/es5.js +++ /dev/null @@ -1,80 +0,0 @@ -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} diff --git a/build/js-transpiled/node_modules/bluebird/js/release/filter.js b/build/js-transpiled/node_modules/bluebird/js/release/filter.js deleted file mode 100644 index ed57bf01..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/filter.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseMap = Promise.map; - -Promise.prototype.filter = function (fn, options) { - return PromiseMap(this, fn, options, INTERNAL); -}; - -Promise.filter = function (promises, fn, options) { - return PromiseMap(promises, fn, options, INTERNAL); -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/finally.js b/build/js-transpiled/node_modules/bluebird/js/release/finally.js deleted file mode 100644 index d57444be..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/finally.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = require("./util"); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = require("./catch_filter")(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); - } - } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); - } - -}; - -return PassThroughHandlerContext; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/generators.js b/build/js-transpiled/node_modules/bluebird/js/release/generators.js deleted file mode 100644 index 500c280c..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/generators.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict"; -module.exports = function(Promise, - apiRejection, - INTERNAL, - tryConvertToPromise, - Proxyable, - debug) { -var errors = require("./errors"); -var TypeError = errors.TypeError; -var util = require("./util"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -var yieldHandlers = []; - -function promiseFromYieldHandler(value, yieldHandlers, traceParent) { - for (var i = 0; i < yieldHandlers.length; ++i) { - traceParent._pushContext(); - var result = tryCatch(yieldHandlers[i])(value); - traceParent._popContext(); - if (result === errorObj) { - traceParent._pushContext(); - var ret = Promise.reject(errorObj.e); - traceParent._popContext(); - return ret; - } - var maybePromise = tryConvertToPromise(result, traceParent); - if (maybePromise instanceof Promise) return maybePromise; - } - return null; -} - -function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { - if (debug.cancellation()) { - var internal = new Promise(INTERNAL); - var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); - this._promise = internal.lastly(function() { - return _finallyPromise; - }); - internal._captureStackTrace(); - internal._setOnCancel(this); - } else { - var promise = this._promise = new Promise(INTERNAL); - promise._captureStackTrace(); - } - this._stack = stack; - this._generatorFunction = generatorFunction; - this._receiver = receiver; - this._generator = undefined; - this._yieldHandlers = typeof yieldHandler === "function" - ? [yieldHandler].concat(yieldHandlers) - : yieldHandlers; - this._yieldedPromise = null; - this._cancellationPhase = false; -} -util.inherits(PromiseSpawn, Proxyable); - -PromiseSpawn.prototype._isResolved = function() { - return this._promise === null; -}; - -PromiseSpawn.prototype._cleanup = function() { - this._promise = this._generator = null; - if (debug.cancellation() && this._finallyPromise !== null) { - this._finallyPromise._fulfill(); - this._finallyPromise = null; - } -}; - -PromiseSpawn.prototype._promiseCancelled = function() { - if (this._isResolved()) return; - var implementsReturn = typeof this._generator["return"] !== "undefined"; - - var result; - if (!implementsReturn) { - var reason = new Promise.CancellationError( - "generator .return() sentinel"); - Promise.coroutine.returnSentinel = reason; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - result = tryCatch(this._generator["throw"]).call(this._generator, - reason); - this._promise._popContext(); - } else { - this._promise._pushContext(); - result = tryCatch(this._generator["return"]).call(this._generator, - undefined); - this._promise._popContext(); - } - this._cancellationPhase = true; - this._yieldedPromise = null; - this._continue(result); -}; - -PromiseSpawn.prototype._promiseFulfilled = function(value) { - this._yieldedPromise = null; - this._promise._pushContext(); - var result = tryCatch(this._generator.next).call(this._generator, value); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._promiseRejected = function(reason) { - this._yieldedPromise = null; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - var result = tryCatch(this._generator["throw"]) - .call(this._generator, reason); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._resultCancelled = function() { - if (this._yieldedPromise instanceof Promise) { - var promise = this._yieldedPromise; - this._yieldedPromise = null; - promise.cancel(); - } -}; - -PromiseSpawn.prototype.promise = function () { - return this._promise; -}; - -PromiseSpawn.prototype._run = function () { - this._generator = this._generatorFunction.call(this._receiver); - this._receiver = - this._generatorFunction = undefined; - this._promiseFulfilled(undefined); -}; - -PromiseSpawn.prototype._continue = function (result) { - var promise = this._promise; - if (result === errorObj) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._rejectCallback(result.e, false); - } - } - - var value = result.value; - if (result.done === true) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._resolveCallback(value); - } - } else { - var maybePromise = tryConvertToPromise(value, this._promise); - if (!(maybePromise instanceof Promise)) { - maybePromise = - promiseFromYieldHandler(maybePromise, - this._yieldHandlers, - this._promise); - if (maybePromise === null) { - this._promiseRejected( - new TypeError( - "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + - "From coroutine:\u000a" + - this._stack.split("\n").slice(1, -7).join("\n") - ) - ); - return; - } - } - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - this._yieldedPromise = maybePromise; - maybePromise._proxy(this, null); - } else if (((bitField & 33554432) !== 0)) { - Promise._async.invoke( - this._promiseFulfilled, this, maybePromise._value() - ); - } else if (((bitField & 16777216) !== 0)) { - Promise._async.invoke( - this._promiseRejected, this, maybePromise._reason() - ); - } else { - this._promiseCancelled(); - } - } -}; - -Promise.coroutine = function (generatorFunction, options) { - if (typeof generatorFunction !== "function") { - throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var yieldHandler = Object(options).yieldHandler; - var PromiseSpawn$ = PromiseSpawn; - var stack = new Error().stack; - return function () { - var generator = generatorFunction.apply(this, arguments); - var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, - stack); - var ret = spawn.promise(); - spawn._generator = generator; - spawn._promiseFulfilled(undefined); - return ret; - }; -}; - -Promise.coroutine.addYieldHandler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - yieldHandlers.push(fn); -}; - -Promise.spawn = function (generatorFunction) { - debug.deprecated("Promise.spawn()", "Promise.coroutine()"); - if (typeof generatorFunction !== "function") { - return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var spawn = new PromiseSpawn(generatorFunction, this); - var ret = spawn.promise(); - spawn._run(Promise.spawn); - return ret; -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/join.js b/build/js-transpiled/node_modules/bluebird/js/release/join.js deleted file mode 100644 index 4945e3f7..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/join.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = require("./util"); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (!false) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (!false) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var $_len = arguments.length;var args = new Array($_len); for(var $_i = 0; $_i < $_len; ++$_i) {args[$_i] = arguments[$_i];}; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/map.js b/build/js-transpiled/node_modules/bluebird/js/release/map.js deleted file mode 100644 index 976f15ef..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/map.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = require("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -function MappingPromiseArray(promises, fn, limit, _filter) { - this.constructor$(promises); - this._promise._captureStackTrace(); - var domain = getDomain(); - this._callback = domain === null ? fn : util.domainBind(domain, fn); - this._preservedValues = _filter === INTERNAL - ? new Array(this.length()) - : null; - this._limit = limit; - this._inFlight = 0; - this._queue = []; - async.invoke(this._asyncInit, this, undefined); -} -util.inherits(MappingPromiseArray, PromiseArray); - -MappingPromiseArray.prototype._asyncInit = function() { - this._init$(undefined, -2); -}; - -MappingPromiseArray.prototype._init = function () {}; - -MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { - var values = this._values; - var length = this.length(); - var preservedValues = this._preservedValues; - var limit = this._limit; - - if (index < 0) { - index = (index * -1) - 1; - values[index] = value; - if (limit >= 1) { - this._inFlight--; - this._drainQueue(); - if (this._isResolved()) return true; - } - } else { - if (limit >= 1 && this._inFlight >= limit) { - values[index] = value; - this._queue.push(index); - return false; - } - if (preservedValues !== null) preservedValues[index] = value; - - var promise = this._promise; - var callback = this._callback; - var receiver = promise._boundValue(); - promise._pushContext(); - var ret = tryCatch(callback).call(receiver, value, index, length); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - preservedValues !== null ? "Promise.filter" : "Promise.map", - promise - ); - if (ret === errorObj) { - this._reject(ret.e); - return true; - } - - var maybePromise = tryConvertToPromise(ret, this._promise); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - if (limit >= 1) this._inFlight++; - values[index] = maybePromise; - maybePromise._proxy(this, (index + 1) * -1); - return false; - } else if (((bitField & 33554432) !== 0)) { - ret = maybePromise._value(); - } else if (((bitField & 16777216) !== 0)) { - this._reject(maybePromise._reason()); - return true; - } else { - this._cancel(); - return true; - } - } - values[index] = ret; - } - var totalResolved = ++this._totalResolved; - if (totalResolved >= length) { - if (preservedValues !== null) { - this._filter(values, preservedValues); - } else { - this._resolve(values); - } - return true; - } - return false; -}; - -MappingPromiseArray.prototype._drainQueue = function () { - var queue = this._queue; - var limit = this._limit; - var values = this._values; - while (queue.length > 0 && this._inFlight < limit) { - if (this._isResolved()) return; - var index = queue.pop(); - this._promiseFulfilled(values[index], index); - } -}; - -MappingPromiseArray.prototype._filter = function (booleans, values) { - var len = values.length; - var ret = new Array(len); - var j = 0; - for (var i = 0; i < len; ++i) { - if (booleans[i]) ret[j++] = values[i]; - } - ret.length = j; - this._resolve(ret); -}; - -MappingPromiseArray.prototype.preservedValues = function () { - return this._preservedValues; -}; - -function map(promises, fn, options, _filter) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - - var limit = 0; - if (options !== undefined) { - if (typeof options === "object" && options !== null) { - if (typeof options.concurrency !== "number") { - return Promise.reject( - new TypeError("'concurrency' must be a number but it is " + - util.classString(options.concurrency))); - } - limit = options.concurrency; - } else { - return Promise.reject(new TypeError( - "options argument must be an object but it is " + - util.classString(options))); - } - } - limit = typeof limit === "number" && - isFinite(limit) && limit >= 1 ? limit : 0; - return new MappingPromiseArray(promises, fn, limit, _filter).promise(); -} - -Promise.prototype.map = function (fn, options) { - return map(this, fn, options, null); -}; - -Promise.map = function (promises, fn, options, _filter) { - return map(promises, fn, options, _filter); -}; - - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/method.js b/build/js-transpiled/node_modules/bluebird/js/release/method.js deleted file mode 100644 index ce9e4db7..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/method.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = require("./util"); -var tryCatch = util.tryCatch; - -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; -}; - -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); - } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; - -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/nodeback.js b/build/js-transpiled/node_modules/bluebird/js/release/nodeback.js deleted file mode 100644 index 71e69ebd..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/nodeback.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -var util = require("./util"); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = require("./errors"); -var OperationalError = errors.OperationalError; -var es5 = require("./es5"); - -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; - promise._fulfill(args); - } - promise = null; - }; -} - -module.exports = nodebackForPromise; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/nodeify.js b/build/js-transpiled/node_modules/bluebird/js/release/nodeify.js deleted file mode 100644 index ce2b1900..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/nodeify.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -var util = require("./util"); -var async = Promise._async; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function spreadAdapter(val, nodeback) { - var promise = this; - if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); - var ret = - tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -function successAdapter(val, nodeback) { - var promise = this; - var receiver = promise._boundValue(); - var ret = val === undefined - ? tryCatch(nodeback).call(receiver, null) - : tryCatch(nodeback).call(receiver, null, val); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} -function errorAdapter(reason, nodeback) { - var promise = this; - if (!reason) { - var newReason = new Error(reason + ""); - newReason.cause = reason; - reason = newReason; - } - var ret = tryCatch(nodeback).call(promise._boundValue(), reason); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, - options) { - if (typeof nodeback == "function") { - var adapter = successAdapter; - if (options !== undefined && Object(options).spread) { - adapter = spreadAdapter; - } - this._then( - adapter, - errorAdapter, - undefined, - this, - nodeback - ); - } - return this; -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/promise.js b/build/js-transpiled/node_modules/bluebird/js/release/promise.js deleted file mode 100644 index 99d20f9e..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/promise.js +++ /dev/null @@ -1,775 +0,0 @@ -"use strict"; -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); -}; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = require("./util"); - -var getDomain; -if (util.isNode) { - getDomain = function() { - var ret = process.domain; - if (ret === undefined) ret = null; - return ret; - }; -} else { - getDomain = function() { - return null; - }; -} -util.notEnumerableProp(Promise, "_getDomain", getDomain); - -var es5 = require("./es5"); -var Async = require("./async"); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = require("./errors"); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = require("./thenables")(Promise, INTERNAL); -var PromiseArray = - require("./promise_array")(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = require("./context")(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = require("./debuggability")(Promise, Context); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - require("./finally")(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = require("./catch_filter")(NEXT_FILTER); -var nodebackForPromise = require("./nodeback"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } - -} - -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); -} - -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; - -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; - -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; - -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; - -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; - -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; - -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; - -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; - -Promise.getNewLibraryCopy = module.exports; - -Promise.is = function (val) { - return val instanceof Promise; -}; - -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); - } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; - -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; - } - return ret; -}; - -Promise.resolve = Promise.fulfilled = Promise.cast; - -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; - -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; - -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; - - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - - var domain = getDomain(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } - - async.invoke(settler, target, { - handler: domain === null ? handler - : (typeof handler === "function" && - util.domainBind(domain, handler)), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, receiver, domain); - } - - return promise; -}; - -Promise.prototype._length = function () { - return this._bitField & 65535; -}; - -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; - -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; - -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; - -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; - -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; - -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; - -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; - -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; - -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; - -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; - -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; - -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - this._bitField = this._bitField | 134217728; -}; - -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); - } - return ret; -}; - -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; - -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; - -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; - -Promise.prototype._boundValue = function() {}; - -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - domain -) { - var index = this._length(); - - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } - - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = - domain === null ? reject : util.domainBind(domain, reject); - } - } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - domain === null ? reject : util.domainBind(domain, reject); - } - } - this._setLength(index + 1); - return index; -}; - -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; - -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); - - if (shouldBind) this._propagateFrom(maybePromise, 2); - - var promise = maybePromise._target(); - - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(promise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; - -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; - -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); - - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; - -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); - } -}; - -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; - -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; - -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; - -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); - - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } -}; - -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); - } -}; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); -}; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); -}; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; -}; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - } -}; - -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; - - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); - } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); - } -}; - -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); - } -}; - -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); - } -}; - -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); - - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); - } - this._setLength(0); - } - this._clearCancellationData(); -}; - -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } -}; - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} - -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject - }; -}; - -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -require("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -require("./bind")(Promise, INTERNAL, tryConvertToPromise, debug); -require("./cancel")(Promise, PromiseArray, apiRejection, debug); -require("./direct_resolve")(Promise); -require("./synchronous_inspection")(Promise); -require("./join")( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain); -Promise.Promise = Promise; -Promise.version = "3.5.0"; -require('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -require('./call_get.js')(Promise); -require('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); -require('./timers.js')(Promise, INTERNAL, debug); -require('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); -require('./nodeify.js')(Promise); -require('./promisify.js')(Promise, INTERNAL); -require('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection); -require('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection); -require('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -require('./settle.js')(Promise, PromiseArray, debug); -require('./some.js')(Promise, PromiseArray, apiRejection); -require('./filter.js')(Promise, INTERNAL); -require('./each.js')(Promise, INTERNAL); -require('./any.js')(Promise); - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/promise_array.js b/build/js-transpiled/node_modules/bluebird/js/release/promise_array.js deleted file mode 100644 index 0fb303eb..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/promise_array.js +++ /dev/null @@ -1,185 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = require("./util"); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/promisify.js b/build/js-transpiled/node_modules/bluebird/js/release/promisify.js deleted file mode 100644 index aa98e5bd..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/promisify.js +++ /dev/null @@ -1,314 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var THIS = {}; -var util = require("./util"); -var nodebackForPromise = require("./nodeback"); -var withAppended = util.withAppended; -var maybeWrapAsError = util.maybeWrapAsError; -var canEvaluate = util.canEvaluate; -var TypeError = require("./errors").TypeError; -var defaultSuffix = "Async"; -var defaultPromisified = {__isPromisified__: true}; -var noCopyProps = [ - "arity", "length", - "name", - "arguments", - "caller", - "callee", - "prototype", - "__isPromisified__" -]; -var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); - -var defaultFilter = function(name) { - return util.isIdentifier(name) && - name.charAt(0) !== "_" && - name !== "constructor"; -}; - -function propsFilter(key) { - return !noCopyPropsPattern.test(key); -} - -function isPromisified(fn) { - try { - return fn.__isPromisified__ === true; - } - catch (e) { - return false; - } -} - -function hasPromisified(obj, key, suffix) { - var val = util.getDataPropertyOrDefault(obj, key + suffix, - defaultPromisified); - return val ? isPromisified(val) : false; -} -function checkValid(ret, suffix, suffixRegexp) { - for (var i = 0; i < ret.length; i += 2) { - var key = ret[i]; - if (suffixRegexp.test(key)) { - var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); - for (var j = 0; j < ret.length; j += 2) { - if (ret[j] === keyWithoutAsyncSuffix) { - throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" - .replace("%s", suffix)); - } - } - } - } -} - -function promisifiableMethods(obj, suffix, suffixRegexp, filter) { - var keys = util.inheritedDataKeys(obj); - var ret = []; - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - var value = obj[key]; - var passesDefaultFilter = filter === defaultFilter - ? true : defaultFilter(key, value, obj); - if (typeof value === "function" && - !isPromisified(value) && - !hasPromisified(obj, key, suffix) && - filter(key, value, obj, passesDefaultFilter)) { - ret.push(key, value); - } - } - checkValid(ret, suffix, suffixRegexp); - return ret; -} - -var escapeIdentRegex = function(str) { - return str.replace(/([$])/, "\\$"); -}; - -var makeNodePromisifiedEval; -if (!false) { -var switchCaseArgumentOrder = function(likelyArgumentCount) { - var ret = [likelyArgumentCount]; - var min = Math.max(0, likelyArgumentCount - 1 - 3); - for(var i = likelyArgumentCount - 1; i >= min; --i) { - ret.push(i); - } - for(var i = likelyArgumentCount + 1; i <= 3; ++i) { - ret.push(i); - } - return ret; -}; - -var argumentSequence = function(argumentCount) { - return util.filledRange(argumentCount, "_arg", ""); -}; - -var parameterDeclaration = function(parameterCount) { - return util.filledRange( - Math.max(parameterCount, 3), "_arg", ""); -}; - -var parameterCount = function(fn) { - if (typeof fn.length === "number") { - return Math.max(Math.min(fn.length, 1023 + 1), 0); - } - return 0; -}; - -makeNodePromisifiedEval = -function(callback, receiver, originalName, fn, _, multiArgs) { - var newParameterCount = Math.max(0, parameterCount(fn) - 1); - var argumentOrder = switchCaseArgumentOrder(newParameterCount); - var shouldProxyThis = typeof callback === "string" || receiver === THIS; - - function generateCallForArgumentCount(count) { - var args = argumentSequence(count).join(", "); - var comma = count > 0 ? ", " : ""; - var ret; - if (shouldProxyThis) { - ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; - } else { - ret = receiver === undefined - ? "ret = callback({{args}}, nodeback); break;\n" - : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; - } - return ret.replace("{{args}}", args).replace(", ", comma); - } - - function generateArgumentSwitchCase() { - var ret = ""; - for (var i = 0; i < argumentOrder.length; ++i) { - ret += "case " + argumentOrder[i] +":" + - generateCallForArgumentCount(argumentOrder[i]); - } - - ret += " \n\ - default: \n\ - var args = new Array(len + 1); \n\ - var i = 0; \n\ - for (var i = 0; i < len; ++i) { \n\ - args[i] = arguments[i]; \n\ - } \n\ - args[i] = nodeback; \n\ - [CodeForCall] \n\ - break; \n\ - ".replace("[CodeForCall]", (shouldProxyThis - ? "ret = callback.apply(this, args);\n" - : "ret = callback.apply(receiver, args);\n")); - return ret; - } - - var getFunctionCode = typeof callback === "string" - ? ("this != null ? this['"+callback+"'] : fn") - : "fn"; - var body = "'use strict'; \n\ - var ret = function (Parameters) { \n\ - 'use strict'; \n\ - var len = arguments.length; \n\ - var promise = new Promise(INTERNAL); \n\ - promise._captureStackTrace(); \n\ - var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ - var ret; \n\ - var callback = tryCatch([GetFunctionCode]); \n\ - switch(len) { \n\ - [CodeForSwitchCase] \n\ - } \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ - } \n\ - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ - return promise; \n\ - }; \n\ - notEnumerableProp(ret, '__isPromisified__', true); \n\ - return ret; \n\ - ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) - .replace("[GetFunctionCode]", getFunctionCode); - body = body.replace("Parameters", parameterDeclaration(newParameterCount)); - return new Function("Promise", - "fn", - "receiver", - "withAppended", - "maybeWrapAsError", - "nodebackForPromise", - "tryCatch", - "errorObj", - "notEnumerableProp", - "INTERNAL", - body)( - Promise, - fn, - receiver, - withAppended, - maybeWrapAsError, - nodebackForPromise, - util.tryCatch, - util.errorObj, - util.notEnumerableProp, - INTERNAL); -}; -} - -function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { - var defaultThis = (function() {return this;})(); - var method = callback; - if (typeof method === "string") { - callback = fn; - } - function promisified() { - var _receiver = receiver; - if (receiver === THIS) _receiver = this; - var promise = new Promise(INTERNAL); - promise._captureStackTrace(); - var cb = typeof method === "string" && this !== defaultThis - ? this[method] : callback; - var fn = nodebackForPromise(promise, multiArgs); - try { - cb.apply(_receiver, withAppended(arguments, fn)); - } catch(e) { - promise._rejectCallback(maybeWrapAsError(e), true, true); - } - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); - return promise; - } - util.notEnumerableProp(promisified, "__isPromisified__", true); - return promisified; -} - -var makeNodePromisified = canEvaluate - ? makeNodePromisifiedEval - : makeNodePromisifiedClosure; - -function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { - var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); - var methods = - promisifiableMethods(obj, suffix, suffixRegexp, filter); - - for (var i = 0, len = methods.length; i < len; i+= 2) { - var key = methods[i]; - var fn = methods[i+1]; - var promisifiedKey = key + suffix; - if (promisifier === makeNodePromisified) { - obj[promisifiedKey] = - makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); - } else { - var promisified = promisifier(fn, function() { - return makeNodePromisified(key, THIS, key, - fn, suffix, multiArgs); - }); - util.notEnumerableProp(promisified, "__isPromisified__", true); - obj[promisifiedKey] = promisified; - } - } - util.toFastProperties(obj); - return obj; -} - -function promisify(callback, receiver, multiArgs) { - return makeNodePromisified(callback, receiver, undefined, - callback, null, multiArgs); -} - -Promise.promisify = function (fn, options) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - if (isPromisified(fn)) { - return fn; - } - options = Object(options); - var receiver = options.context === undefined ? THIS : options.context; - var multiArgs = !!options.multiArgs; - var ret = promisify(fn, receiver, multiArgs); - util.copyDescriptors(fn, ret, propsFilter); - return ret; -}; - -Promise.promisifyAll = function (target, options) { - if (typeof target !== "function" && typeof target !== "object") { - throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - options = Object(options); - var multiArgs = !!options.multiArgs; - var suffix = options.suffix; - if (typeof suffix !== "string") suffix = defaultSuffix; - var filter = options.filter; - if (typeof filter !== "function") filter = defaultFilter; - var promisifier = options.promisifier; - if (typeof promisifier !== "function") promisifier = makeNodePromisified; - - if (!util.isIdentifier(suffix)) { - throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - - var keys = util.inheritedDataKeys(target); - for (var i = 0; i < keys.length; ++i) { - var value = target[keys[i]]; - if (keys[i] !== "constructor" && - util.isClass(value)) { - promisifyAll(value.prototype, suffix, filter, promisifier, - multiArgs); - promisifyAll(value, suffix, filter, promisifier, multiArgs); - } - } - - return promisifyAll(target, suffix, filter, promisifier, multiArgs); -}; -}; - diff --git a/build/js-transpiled/node_modules/bluebird/js/release/props.js b/build/js-transpiled/node_modules/bluebird/js/release/props.js deleted file mode 100644 index 6a34aaf5..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/props.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; -module.exports = function( - Promise, PromiseArray, tryConvertToPromise, apiRejection) { -var util = require("./util"); -var isObject = util.isObject; -var es5 = require("./es5"); -var Es6Map; -if (typeof Map === "function") Es6Map = Map; - -var mapToEntries = (function() { - var index = 0; - var size = 0; - - function extractEntry(value, key) { - this[index] = value; - this[index + size] = key; - index++; - } - - return function mapToEntries(map) { - size = map.size; - index = 0; - var ret = new Array(map.size * 2); - map.forEach(extractEntry, ret); - return ret; - }; -})(); - -var entriesToMap = function(entries) { - var ret = new Es6Map(); - var length = entries.length / 2 | 0; - for (var i = 0; i < length; ++i) { - var key = entries[length + i]; - var value = entries[i]; - ret.set(key, value); - } - return ret; -}; - -function PropertiesPromiseArray(obj) { - var isMap = false; - var entries; - if (Es6Map !== undefined && obj instanceof Es6Map) { - entries = mapToEntries(obj); - isMap = true; - } else { - var keys = es5.keys(obj); - var len = keys.length; - entries = new Array(len * 2); - for (var i = 0; i < len; ++i) { - var key = keys[i]; - entries[i] = obj[key]; - entries[i + len] = key; - } - } - this.constructor$(entries); - this._isMap = isMap; - this._init$(undefined, isMap ? -6 : -3); -} -util.inherits(PropertiesPromiseArray, PromiseArray); - -PropertiesPromiseArray.prototype._init = function () {}; - -PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - var val; - if (this._isMap) { - val = entriesToMap(this._values); - } else { - val = {}; - var keyOffset = this.length(); - for (var i = 0, len = this.length(); i < len; ++i) { - val[this._values[i + keyOffset]] = this._values[i]; - } - } - this._resolve(val); - return true; - } - return false; -}; - -PropertiesPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -PropertiesPromiseArray.prototype.getActualLength = function (len) { - return len >> 1; -}; - -function props(promises) { - var ret; - var castValue = tryConvertToPromise(promises); - - if (!isObject(castValue)) { - return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } else if (castValue instanceof Promise) { - ret = castValue._then( - Promise.props, undefined, undefined, undefined, undefined); - } else { - ret = new PropertiesPromiseArray(castValue).promise(); - } - - if (castValue instanceof Promise) { - ret._propagateFrom(castValue, 2); - } - return ret; -} - -Promise.prototype.props = function () { - return props(this); -}; - -Promise.props = function (promises) { - return props(promises); -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/queue.js b/build/js-transpiled/node_modules/bluebird/js/release/queue.js deleted file mode 100644 index ffd36fda..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/queue.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/race.js b/build/js-transpiled/node_modules/bluebird/js/release/race.js deleted file mode 100644 index b862f46d..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/race.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -module.exports = function( - Promise, INTERNAL, tryConvertToPromise, apiRejection) { -var util = require("./util"); - -var raceLater = function (promise) { - return promise.then(function(array) { - return race(array, promise); - }); -}; - -function race(promises, parent) { - var maybePromise = tryConvertToPromise(promises); - - if (maybePromise instanceof Promise) { - return raceLater(maybePromise); - } else { - promises = util.asArray(promises); - if (promises === null) - return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); - } - - var ret = new Promise(INTERNAL); - if (parent !== undefined) { - ret._propagateFrom(parent, 3); - } - var fulfill = ret._fulfill; - var reject = ret._reject; - for (var i = 0, len = promises.length; i < len; ++i) { - var val = promises[i]; - - if (val === undefined && !(i in promises)) { - continue; - } - - Promise.cast(val)._then(fulfill, reject, undefined, ret, null); - } - return ret; -} - -Promise.race = function (promises) { - return race(promises, undefined); -}; - -Promise.prototype.race = function () { - return race(this, undefined); -}; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/reduce.js b/build/js-transpiled/node_modules/bluebird/js/release/reduce.js deleted file mode 100644 index 26e2b1a9..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/reduce.js +++ /dev/null @@ -1,172 +0,0 @@ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = require("./util"); -var tryCatch = util.tryCatch; - -function ReductionPromiseArray(promises, fn, initialValue, _each) { - this.constructor$(promises); - var domain = getDomain(); - this._fn = domain === null ? fn : util.domainBind(domain, fn); - if (initialValue !== undefined) { - initialValue = Promise.resolve(initialValue); - initialValue._attachCancellationCallback(this); - } - this._initialValue = initialValue; - this._currentCancellable = null; - if(_each === INTERNAL) { - this._eachValues = Array(this._length); - } else if (_each === 0) { - this._eachValues = null; - } else { - this._eachValues = undefined; - } - this._promise._captureStackTrace(); - this._init$(undefined, -5); -} -util.inherits(ReductionPromiseArray, PromiseArray); - -ReductionPromiseArray.prototype._gotAccum = function(accum) { - if (this._eachValues !== undefined && - this._eachValues !== null && - accum !== INTERNAL) { - this._eachValues.push(accum); - } -}; - -ReductionPromiseArray.prototype._eachComplete = function(value) { - if (this._eachValues !== null) { - this._eachValues.push(value); - } - return this._eachValues; -}; - -ReductionPromiseArray.prototype._init = function() {}; - -ReductionPromiseArray.prototype._resolveEmptyArray = function() { - this._resolve(this._eachValues !== undefined ? this._eachValues - : this._initialValue); -}; - -ReductionPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -ReductionPromiseArray.prototype._resolve = function(value) { - this._promise._resolveCallback(value); - this._values = null; -}; - -ReductionPromiseArray.prototype._resultCancelled = function(sender) { - if (sender === this._initialValue) return this._cancel(); - if (this._isResolved()) return; - this._resultCancelled$(); - if (this._currentCancellable instanceof Promise) { - this._currentCancellable.cancel(); - } - if (this._initialValue instanceof Promise) { - this._initialValue.cancel(); - } -}; - -ReductionPromiseArray.prototype._iterate = function (values) { - this._values = values; - var value; - var i; - var length = values.length; - if (this._initialValue !== undefined) { - value = this._initialValue; - i = 0; - } else { - value = Promise.resolve(values[0]); - i = 1; - } - - this._currentCancellable = value; - - if (!value.isRejected()) { - for (; i < length; ++i) { - var ctx = { - accum: null, - value: values[i], - index: i, - length: length, - array: this - }; - value = value._then(gotAccum, undefined, undefined, ctx, undefined); - } - } - - if (this._eachValues !== undefined) { - value = value - ._then(this._eachComplete, undefined, undefined, this, undefined); - } - value._then(completed, completed, undefined, value, this); -}; - -Promise.prototype.reduce = function (fn, initialValue) { - return reduce(this, fn, initialValue, null); -}; - -Promise.reduce = function (promises, fn, initialValue, _each) { - return reduce(promises, fn, initialValue, _each); -}; - -function completed(valueOrReason, array) { - if (this.isFulfilled()) { - array._resolve(valueOrReason); - } else { - array._reject(valueOrReason); - } -} - -function reduce(promises, fn, initialValue, _each) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var array = new ReductionPromiseArray(promises, fn, initialValue, _each); - return array.promise(); -} - -function gotAccum(accum) { - this.accum = accum; - this.array._gotAccum(accum); - var value = tryConvertToPromise(this.value, this.array._promise); - if (value instanceof Promise) { - this.array._currentCancellable = value; - return value._then(gotValue, undefined, undefined, this, undefined); - } else { - return gotValue.call(this, value); - } -} - -function gotValue(value) { - var array = this.array; - var promise = array._promise; - var fn = tryCatch(array._fn); - promise._pushContext(); - var ret; - if (array._eachValues !== undefined) { - ret = fn.call(promise._boundValue(), value, this.index, this.length); - } else { - ret = fn.call(promise._boundValue(), - this.accum, value, this.index, this.length); - } - if (ret instanceof Promise) { - array._currentCancellable = ret; - } - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", - promise - ); - return ret; -} -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/schedule.js b/build/js-transpiled/node_modules/bluebird/js/release/schedule.js deleted file mode 100644 index f70df9fc..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/schedule.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -var util = require("./util"); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/settle.js b/build/js-transpiled/node_modules/bluebird/js/release/settle.js deleted file mode 100644 index fade3a17..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/settle.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -module.exports = - function(Promise, PromiseArray, debug) { -var PromiseInspection = Promise.PromiseInspection; -var util = require("./util"); - -function SettledPromiseArray(values) { - this.constructor$(values); -} -util.inherits(SettledPromiseArray, PromiseArray); - -SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { - this._values[index] = inspection; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { - var ret = new PromiseInspection(); - ret._bitField = 33554432; - ret._settledValueField = value; - return this._promiseResolved(index, ret); -}; -SettledPromiseArray.prototype._promiseRejected = function (reason, index) { - var ret = new PromiseInspection(); - ret._bitField = 16777216; - ret._settledValueField = reason; - return this._promiseResolved(index, ret); -}; - -Promise.settle = function (promises) { - debug.deprecated(".settle()", ".reflect()"); - return new SettledPromiseArray(promises).promise(); -}; - -Promise.prototype.settle = function () { - return Promise.settle(this); -}; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/some.js b/build/js-transpiled/node_modules/bluebird/js/release/some.js deleted file mode 100644 index 400d8520..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/some.js +++ /dev/null @@ -1,148 +0,0 @@ -"use strict"; -module.exports = -function(Promise, PromiseArray, apiRejection) { -var util = require("./util"); -var RangeError = require("./errors").RangeError; -var AggregateError = require("./errors").AggregateError; -var isArray = util.isArray; -var CANCELLATION = {}; - - -function SomePromiseArray(values) { - this.constructor$(values); - this._howMany = 0; - this._unwrap = false; - this._initialized = false; -} -util.inherits(SomePromiseArray, PromiseArray); - -SomePromiseArray.prototype._init = function () { - if (!this._initialized) { - return; - } - if (this._howMany === 0) { - this._resolve([]); - return; - } - this._init$(undefined, -5); - var isArrayResolved = isArray(this._values); - if (!this._isResolved() && - isArrayResolved && - this._howMany > this._canPossiblyFulfill()) { - this._reject(this._getRangeError(this.length())); - } -}; - -SomePromiseArray.prototype.init = function () { - this._initialized = true; - this._init(); -}; - -SomePromiseArray.prototype.setUnwrap = function () { - this._unwrap = true; -}; - -SomePromiseArray.prototype.howMany = function () { - return this._howMany; -}; - -SomePromiseArray.prototype.setHowMany = function (count) { - this._howMany = count; -}; - -SomePromiseArray.prototype._promiseFulfilled = function (value) { - this._addFulfilled(value); - if (this._fulfilled() === this.howMany()) { - this._values.length = this.howMany(); - if (this.howMany() === 1 && this._unwrap) { - this._resolve(this._values[0]); - } else { - this._resolve(this._values); - } - return true; - } - return false; - -}; -SomePromiseArray.prototype._promiseRejected = function (reason) { - this._addRejected(reason); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._promiseCancelled = function () { - if (this._values instanceof Promise || this._values == null) { - return this._cancel(); - } - this._addRejected(CANCELLATION); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._checkOutcome = function() { - if (this.howMany() > this._canPossiblyFulfill()) { - var e = new AggregateError(); - for (var i = this.length(); i < this._values.length; ++i) { - if (this._values[i] !== CANCELLATION) { - e.push(this._values[i]); - } - } - if (e.length > 0) { - this._reject(e); - } else { - this._cancel(); - } - return true; - } - return false; -}; - -SomePromiseArray.prototype._fulfilled = function () { - return this._totalResolved; -}; - -SomePromiseArray.prototype._rejected = function () { - return this._values.length - this.length(); -}; - -SomePromiseArray.prototype._addRejected = function (reason) { - this._values.push(reason); -}; - -SomePromiseArray.prototype._addFulfilled = function (value) { - this._values[this._totalResolved++] = value; -}; - -SomePromiseArray.prototype._canPossiblyFulfill = function () { - return this.length() - this._rejected(); -}; - -SomePromiseArray.prototype._getRangeError = function (count) { - var message = "Input array must contain at least " + - this._howMany + " items but contains only " + count + " items"; - return new RangeError(message); -}; - -SomePromiseArray.prototype._resolveEmptyArray = function () { - this._reject(this._getRangeError(0)); -}; - -function some(promises, howMany) { - if ((howMany | 0) !== howMany || howMany < 0) { - return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(howMany); - ret.init(); - return promise; -} - -Promise.some = function (promises, howMany) { - return some(promises, howMany); -}; - -Promise.prototype.some = function (howMany) { - return some(this, howMany); -}; - -Promise._SomePromiseArray = SomePromiseArray; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/synchronous_inspection.js b/build/js-transpiled/node_modules/bluebird/js/release/synchronous_inspection.js deleted file mode 100644 index 9c49d2e6..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/synchronous_inspection.js +++ /dev/null @@ -1,103 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; - } - else { - this._bitField = 0; - this._settledValueField = undefined; - } -} - -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; - -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; - -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; - -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; - -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; - -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; - -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; - -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; - -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; - -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; - -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); -}; - -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); -}; - -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); -}; - -Promise.prototype.value = function() { - return value.call(this._target()); -}; - -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); -}; - -Promise.prototype._value = function() { - return this._settledValue(); -}; - -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); -}; - -Promise.PromiseInspection = PromiseInspection; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/thenables.js b/build/js-transpiled/node_modules/bluebird/js/release/thenables.js deleted file mode 100644 index d6ab9aa2..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/thenables.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var util = require("./util"); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/timers.js b/build/js-transpiled/node_modules/bluebird/js/release/timers.js deleted file mode 100644 index cb8f1f42..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/timers.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL, debug) { -var util = require("./util"); -var TimeoutError = Promise.TimeoutError; - -function HandleWrapper(handle) { - this.handle = handle; -} - -HandleWrapper.prototype._resultCancelled = function() { - clearTimeout(this.handle); -}; - -var afterValue = function(value) { return delay(+this).thenReturn(value); }; -var delay = Promise.delay = function (ms, value) { - var ret; - var handle; - if (value !== undefined) { - ret = Promise.resolve(value) - ._then(afterValue, null, null, ms, undefined); - if (debug.cancellation() && value instanceof Promise) { - ret._setOnCancel(value); - } - } else { - ret = new Promise(INTERNAL); - handle = setTimeout(function() { ret._fulfill(); }, +ms); - if (debug.cancellation()) { - ret._setOnCancel(new HandleWrapper(handle)); - } - ret._captureStackTrace(); - } - ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.prototype.delay = function (ms) { - return delay(ms, this); -}; - -var afterTimeout = function (promise, message, parent) { - var err; - if (typeof message !== "string") { - if (message instanceof Error) { - err = message; - } else { - err = new TimeoutError("operation timed out"); - } - } else { - err = new TimeoutError(message); - } - util.markAsOriginatingFromRejection(err); - promise._attachExtraTrace(err); - promise._reject(err); - - if (parent != null) { - parent.cancel(); - } -}; - -function successClear(value) { - clearTimeout(this.handle); - return value; -} - -function failureClear(reason) { - clearTimeout(this.handle); - throw reason; -} - -Promise.prototype.timeout = function (ms, message) { - ms = +ms; - var ret, parent; - - var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { - if (ret.isPending()) { - afterTimeout(ret, message, parent); - } - }, ms)); - - if (debug.cancellation()) { - parent = this.then(); - ret = parent._then(successClear, failureClear, - undefined, handleWrapper, undefined); - ret._setOnCancel(handleWrapper); - } else { - ret = this._then(successClear, failureClear, - undefined, handleWrapper, undefined); - } - - return ret; -}; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/using.js b/build/js-transpiled/node_modules/bluebird/js/release/using.js deleted file mode 100644 index 65de531c..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/using.js +++ /dev/null @@ -1,226 +0,0 @@ -"use strict"; -module.exports = function (Promise, apiRejection, tryConvertToPromise, - createContext, INTERNAL, debug) { - var util = require("./util"); - var TypeError = require("./errors").TypeError; - var inherits = require("./util").inherits; - var errorObj = util.errorObj; - var tryCatch = util.tryCatch; - var NULL = {}; - - function thrower(e) { - setTimeout(function(){throw e;}, 0); - } - - function castPreservingDisposable(thenable) { - var maybePromise = tryConvertToPromise(thenable); - if (maybePromise !== thenable && - typeof thenable._isDisposable === "function" && - typeof thenable._getDisposer === "function" && - thenable._isDisposable()) { - maybePromise._setDisposable(thenable._getDisposer()); - } - return maybePromise; - } - function dispose(resources, inspection) { - var i = 0; - var len = resources.length; - var ret = new Promise(INTERNAL); - function iterator() { - if (i >= len) return ret._fulfill(); - var maybePromise = castPreservingDisposable(resources[i++]); - if (maybePromise instanceof Promise && - maybePromise._isDisposable()) { - try { - maybePromise = tryConvertToPromise( - maybePromise._getDisposer().tryDispose(inspection), - resources.promise); - } catch (e) { - return thrower(e); - } - if (maybePromise instanceof Promise) { - return maybePromise._then(iterator, thrower, - null, null, null); - } - } - iterator(); - } - iterator(); - return ret; - } - - function Disposer(data, promise, context) { - this._data = data; - this._promise = promise; - this._context = context; - } - - Disposer.prototype.data = function () { - return this._data; - }; - - Disposer.prototype.promise = function () { - return this._promise; - }; - - Disposer.prototype.resource = function () { - if (this.promise().isFulfilled()) { - return this.promise().value(); - } - return NULL; - }; - - Disposer.prototype.tryDispose = function(inspection) { - var resource = this.resource(); - var context = this._context; - if (context !== undefined) context._pushContext(); - var ret = resource !== NULL - ? this.doDispose(resource, inspection) : null; - if (context !== undefined) context._popContext(); - this._promise._unsetDisposable(); - this._data = null; - return ret; - }; - - Disposer.isDisposer = function (d) { - return (d != null && - typeof d.resource === "function" && - typeof d.tryDispose === "function"); - }; - - function FunctionDisposer(fn, promise, context) { - this.constructor$(fn, promise, context); - } - inherits(FunctionDisposer, Disposer); - - FunctionDisposer.prototype.doDispose = function (resource, inspection) { - var fn = this.data(); - return fn.call(resource, resource, inspection); - }; - - function maybeUnwrapDisposer(value) { - if (Disposer.isDisposer(value)) { - this.resources[this.index]._setDisposable(value); - return value.promise(); - } - return value; - } - - function ResourceList(length) { - this.length = length; - this.promise = null; - this[length-1] = null; - } - - ResourceList.prototype._resultCancelled = function() { - var len = this.length; - for (var i = 0; i < len; ++i) { - var item = this[i]; - if (item instanceof Promise) { - item.cancel(); - } - } - }; - - Promise.using = function () { - var len = arguments.length; - if (len < 2) return apiRejection( - "you must pass at least 2 arguments to Promise.using"); - var fn = arguments[len - 1]; - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var input; - var spreadArgs = true; - if (len === 2 && Array.isArray(arguments[0])) { - input = arguments[0]; - len = input.length; - spreadArgs = false; - } else { - input = arguments; - len--; - } - var resources = new ResourceList(len); - for (var i = 0; i < len; ++i) { - var resource = input[i]; - if (Disposer.isDisposer(resource)) { - var disposer = resource; - resource = resource.promise(); - resource._setDisposable(disposer); - } else { - var maybePromise = tryConvertToPromise(resource); - if (maybePromise instanceof Promise) { - resource = - maybePromise._then(maybeUnwrapDisposer, null, null, { - resources: resources, - index: i - }, undefined); - } - } - resources[i] = resource; - } - - var reflectedResources = new Array(resources.length); - for (var i = 0; i < reflectedResources.length; ++i) { - reflectedResources[i] = Promise.resolve(resources[i]).reflect(); - } - - var resultPromise = Promise.all(reflectedResources) - .then(function(inspections) { - for (var i = 0; i < inspections.length; ++i) { - var inspection = inspections[i]; - if (inspection.isRejected()) { - errorObj.e = inspection.error(); - return errorObj; - } else if (!inspection.isFulfilled()) { - resultPromise.cancel(); - return; - } - inspections[i] = inspection.value(); - } - promise._pushContext(); - - fn = tryCatch(fn); - var ret = spreadArgs - ? fn.apply(undefined, inspections) : fn(inspections); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, promiseCreated, "Promise.using", promise); - return ret; - }); - - var promise = resultPromise.lastly(function() { - var inspection = new Promise.PromiseInspection(resultPromise); - return dispose(resources, inspection); - }); - resources.promise = promise; - promise._setOnCancel(resources); - return promise; - }; - - Promise.prototype._setDisposable = function (disposer) { - this._bitField = this._bitField | 131072; - this._disposer = disposer; - }; - - Promise.prototype._isDisposable = function () { - return (this._bitField & 131072) > 0; - }; - - Promise.prototype._getDisposer = function () { - return this._disposer; - }; - - Promise.prototype._unsetDisposable = function () { - this._bitField = this._bitField & (~131072); - this._disposer = undefined; - }; - - Promise.prototype.disposer = function (fn) { - if (typeof fn === "function") { - return new FunctionDisposer(fn, this, createContext()); - } - throw new TypeError(); - }; - -}; diff --git a/build/js-transpiled/node_modules/bluebird/js/release/util.js b/build/js-transpiled/node_modules/bluebird/js/release/util.js deleted file mode 100644 index 84c28ec4..00000000 --- a/build/js-transpiled/node_modules/bluebird/js/release/util.js +++ /dev/null @@ -1,379 +0,0 @@ -"use strict"; -var es5 = require("./es5"); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"; -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; diff --git a/build/js-transpiled/node_modules/bluebird/package.json b/build/js-transpiled/node_modules/bluebird/package.json deleted file mode 100644 index adb4304c..00000000 --- a/build/js-transpiled/node_modules/bluebird/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_from": "bluebird@^3.0.5", - "_id": "bluebird@3.5.0", - "_inBundle": false, - "_integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", - "_location": "/bluebird", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "bluebird@^3.0.5", - "name": "bluebird", - "escapedName": "bluebird", - "rawSpec": "^3.0.5", - "saveSpec": null, - "fetchSpec": "^3.0.5" - }, - "_requiredBy": [ - "/editorconfig" - ], - "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "_shasum": "791420d7f551eea2897453a8a77653f96606d67c", - "_spec": "bluebird@^3.0.5", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", - "author": { - "name": "Petka Antonov", - "email": "petka_antonov@hotmail.com", - "url": "http://github.com/petkaantonov/" - }, - "browser": "./js/browser/bluebird.js", - "bugs": { - "url": "http://github.com/petkaantonov/bluebird/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Full featured Promises/A+ implementation with exceptionally good performance", - "devDependencies": { - "acorn": "~0.6.0", - "baconjs": "^0.7.43", - "bluebird": "^2.9.2", - "body-parser": "^1.10.2", - "browserify": "^8.1.1", - "cli-table": "~0.3.1", - "co": "^4.2.0", - "cross-spawn": "^0.2.3", - "glob": "^4.3.2", - "grunt-saucelabs": "~8.4.1", - "highland": "^2.3.0", - "istanbul": "^0.3.5", - "jshint": "^2.6.0", - "jshint-stylish": "~0.2.0", - "kefir": "^2.4.1", - "mkdirp": "~0.5.0", - "mocha": "~2.1", - "open": "~0.0.5", - "optimist": "~0.6.1", - "rimraf": "~2.2.6", - "rx": "^2.3.25", - "serve-static": "^1.7.1", - "sinon": "~1.7.3", - "uglify-js": "~2.4.16" - }, - "files": [ - "js/browser", - "js/release", - "LICENSE" - ], - "homepage": "https://github.com/petkaantonov/bluebird", - "keywords": [ - "promise", - "performance", - "promises", - "promises-a", - "promises-aplus", - "async", - "await", - "deferred", - "deferreds", - "future", - "flow control", - "dsl", - "fluent interface" - ], - "license": "MIT", - "main": "./js/release/bluebird.js", - "name": "bluebird", - "repository": { - "type": "git", - "url": "git://github.com/petkaantonov/bluebird.git" - }, - "scripts": { - "generate-browser-core": "node tools/build.js --features=core --no-debug --release --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js", - "generate-browser-full": "node tools/build.js --no-clean --no-debug --release --browser --minify", - "istanbul": "istanbul", - "lint": "node scripts/jshint.js", - "prepublish": "npm run generate-browser-core && npm run generate-browser-full", - "test": "node tools/test.js" - }, - "version": "3.5.0", - "webpack": "./js/release/bluebird.js" -} diff --git a/build/js-transpiled/node_modules/brace-expansion/LICENSE b/build/js-transpiled/node_modules/brace-expansion/LICENSE new file mode 100644 index 00000000..de322667 --- /dev/null +++ b/build/js-transpiled/node_modules/brace-expansion/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/build/js-transpiled/node_modules/brace-expansion/README.md b/build/js-transpiled/node_modules/brace-expansion/README.md index ed2ec1fd..6b4e0e16 100644 --- a/build/js-transpiled/node_modules/brace-expansion/README.md +++ b/build/js-transpiled/node_modules/brace-expansion/README.md @@ -63,7 +63,7 @@ Valid expansions are: // {a,b,...} ``` -A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. +A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. ```js /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ @@ -98,6 +98,12 @@ npm install brace-expansion - [Julian Gruber](https://github.com/juliangruber) - [Isaac Z. Schlueter](https://github.com/isaacs) +## Sponsors + +This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)! + +Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)! + ## License (MIT) diff --git a/build/js-transpiled/node_modules/brace-expansion/package.json b/build/js-transpiled/node_modules/brace-expansion/package.json index 29203a79..2ae4d9a3 100644 --- a/build/js-transpiled/node_modules/brace-expansion/package.json +++ b/build/js-transpiled/node_modules/brace-expansion/package.json @@ -1,8 +1,8 @@ { "_from": "brace-expansion@^1.1.7", - "_id": "brace-expansion@1.1.8", + "_id": "brace-expansion@1.1.11", "_inBundle": false, - "_integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "_integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "_location": "/brace-expansion", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/minimatch" ], - "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292", + "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "_shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd", "_spec": "brace-expansion@^1.1.7", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/minimatch", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/minimatch", "author": { "name": "Julian Gruber", "email": "mail@juliangruber.com", @@ -71,5 +71,5 @@ "android-browser/4.2..latest" ] }, - "version": "1.1.8" + "version": "1.1.11" } diff --git a/build/js-transpiled/node_modules/commander/History.md b/build/js-transpiled/node_modules/commander/CHANGELOG.md similarity index 74% rename from build/js-transpiled/node_modules/commander/History.md rename to build/js-transpiled/node_modules/commander/CHANGELOG.md index d60418eb..fd4f69c9 100644 --- a/build/js-transpiled/node_modules/commander/History.md +++ b/build/js-transpiled/node_modules/commander/CHANGELOG.md @@ -1,4 +1,102 @@ +2.19.0 / 2018-10-02 +================== + + * Removed newline after Options and Commands headers (#864) + * Bugfix - Error output (#862) + * Fix to change default value to string (#856) + +2.18.0 / 2018-09-07 +================== + + * Standardize help output (#853) + * chmod 644 travis.yml (#851) + * add support for execute typescript subcommand via ts-node (#849) + +2.17.1 / 2018-08-07 +================== + + * Fix bug in command emit (#844) + +2.17.0 / 2018-08-03 +================== + + * fixed newline output after help information (#833) + * Fix to emit the action even without command (#778) + * npm update (#823) + +2.16.0 / 2018-06-29 +================== + + * Remove Makefile and `test/run` (#821) + * Make 'npm test' run on Windows (#820) + * Add badge to display install size (#807) + * chore: cache node_modules (#814) + * chore: remove Node.js 4 (EOL), add Node.js 10 (#813) + * fixed typo in readme (#812) + * Fix types (#804) + * Update eslint to resolve vulnerabilities in lodash (#799) + * updated readme with custom event listeners. (#791) + * fix tests (#794) + +2.15.0 / 2018-03-07 +================== + + * Update downloads badge to point to graph of downloads over time instead of duplicating link to npm + * Arguments description + +2.14.1 / 2018-02-07 +================== + + * Fix typing of help function + +2.14.0 / 2018-02-05 +================== + + * only register the option:version event once + * Fixes issue #727: Passing empty string for option on command is set to undefined + * enable eqeqeq rule + * resolves #754 add linter configuration to project + * resolves #560 respect custom name for version option + * document how to override the version flag + * document using options per command + +2.13.0 / 2018-01-09 +================== + + * Do not print default for --no- + * remove trailing spaces in command help + * Update CI's Node.js to LTS and latest version + * typedefs: Command and Option types added to commander namespace + +2.12.2 / 2017-11-28 +================== + + * fix: typings are not shipped + +2.12.1 / 2017-11-23 +================== + + * Move @types/node to dev dependency + +2.12.0 / 2017-11-22 +================== + + * add attributeName() method to Option objects + * Documentation updated for options with --no prefix + * typings: `outputHelp` takes a string as the first parameter + * typings: use overloads + * feat(typings): update to match js api + * Print default value in option help + * Fix translation error + * Fail when using same command and alias (#491) + * feat(typings): add help callback + * fix bug when description is add after command with options (#662) + * Format js code + * Rename History.md to CHANGELOG.md (#668) + * feat(typings): add typings to support TypeScript (#646) + * use current node + 2.11.0 / 2017-07-03 ================== diff --git a/build/js-transpiled/node_modules/commander/Readme.md b/build/js-transpiled/node_modules/commander/Readme.md index 3135a944..a2a15473 100644 --- a/build/js-transpiled/node_modules/commander/Readme.md +++ b/build/js-transpiled/node_modules/commander/Readme.md @@ -3,7 +3,8 @@ [![Build Status](https://api.travis-ci.org/tj/commander.js.svg?branch=master)](http://travis-ci.org/tj/commander.js) [![NPM Version](http://img.shields.io/npm/v/commander.svg?style=flat)](https://www.npmjs.org/package/commander) -[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://www.npmjs.org/package/commander) +[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://npmcharts.com/compare/commander?minimal=true) +[![Install Size](https://packagephobia.now.sh/badge?p=commander)](https://packagephobia.now.sh/result?p=commander) [![Join the chat at https://gitter.im/tj/commander.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/commander-rb/commander). @@ -16,7 +17,7 @@ ## Option parsing - Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options. +Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options. ```js #!/usr/bin/env node @@ -42,8 +43,65 @@ if (program.bbqSauce) console.log(' - bbq'); console.log(' - %s cheese', program.cheese); ``` - Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. +Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. +Note that multi-word options starting with `--no` prefix negate the boolean value of the following word. For example, `--no-sauce` sets the value of `program.sauce` to false. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .option('--no-sauce', 'Remove sauce') + .parse(process.argv); + +console.log('you ordered a pizza'); +if (program.sauce) console.log(' with sauce'); +else console.log(' without sauce'); +``` + +## Version option + +Calling the `version` implicitly adds the `-V` and `--version` options to the command. +When either of these options is present, the command prints the version number and exits. + + $ ./examples/pizza -V + 0.0.1 + +If you want your program to respond to the `-v` option instead of the `-V` option, simply pass custom flags to the `version` method using the same syntax as the `option` method. + +```js +program + .version('0.0.1', '-v, --version') +``` + +The version flags can be named anything, but the long option is required. + +## Command-specific options + +You can attach options to a command. + +```js +#!/usr/bin/env node + +var program = require('commander'); + +program + .command('rm ') + .option('-r, --recursive', 'Remove recursively') + .action(function (dir, cmd) { + console.log('remove ' + dir + (cmd.recursive ? ' recursively' : '')) + }) + +program.parse(process.argv) +``` + +A command's options are validated when the command is used. Any unknown options will be reported as an error. However, if an action-based command does not define an action, then the options are not validated. ## Coercion @@ -95,7 +153,7 @@ program .option('-s --size ', 'Pizza size', /^(large|medium|small)$/i, 'medium') .option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i) .parse(process.argv); - + console.log(' size: %j', program.size); console.log(' drink: %j', program.drink); ``` @@ -175,7 +233,7 @@ program When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools. The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`. -Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the option from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified. +Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the subcommand from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified. If the program is designed to be installed globally, make sure the executables have proper modes, like `755`. @@ -190,22 +248,19 @@ You can enable `--harmony` option in two ways: The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free: ``` - $ ./examples/pizza --help - - Usage: pizza [options] +$ ./examples/pizza --help +Usage: pizza [options] - An application for pizzas ordering - - Options: - - -h, --help output usage information - -V, --version output the version number - -p, --peppers Add peppers - -P, --pineapple Add pineapple - -b, --bbq Add bbq sauce - -c, --cheese Add the specified type of cheese [marble] - -C, --no-cheese You do not want any cheese +An application for pizzas ordering +Options: + -h, --help output usage information + -V, --version output the version number + -p, --peppers Add peppers + -P, --pineapple Add pineapple + -b, --bbq Add bbq sauce + -c, --cheese Add the specified type of cheese [marble] + -C, --no-cheese You do not want any cheese ``` ## Custom help @@ -213,7 +268,7 @@ You can enable `--harmony` option in two ways: You can display arbitrary `-h, --help` information by listening for "--help". Commander will automatically exit once you are done so that the remainder of your program - does not execute causing undesired behaviours, for example + does not execute causing undesired behaviors, for example in the following executable "stuff" will not output when `--help` is used. @@ -236,11 +291,10 @@ program // node's emit() is immediate program.on('--help', function(){ - console.log(' Examples:'); - console.log(''); - console.log(' $ custom-help --help'); - console.log(' $ custom-help -h'); - console.log(''); + console.log('') + console.log('Examples:'); + console.log(' $ custom-help --help'); + console.log(' $ custom-help -h'); }); program.parse(process.argv); @@ -251,11 +305,9 @@ console.log('stuff'); Yields the following help output when `node script-name.js -h` or `node script-name.js --help` are run: ``` - Usage: custom-help [options] Options: - -h, --help output usage information -V, --version output the version number -f, --foo enable some foo @@ -263,10 +315,8 @@ Options: -B, --baz enable some baz Examples: - $ custom-help --help $ custom-help -h - ``` ## .outputHelp(cb) @@ -285,9 +335,9 @@ program .command('getstream [url]', 'get stream URL') .parse(process.argv); - if (!process.argv.slice(2).length) { - program.outputHelp(make_red); - } +if (!process.argv.slice(2).length) { + program.outputHelp(make_red); +} function make_red(txt) { return colors.red(txt); //display the help text in red on the console @@ -299,6 +349,22 @@ function make_red(txt) { Output help information and exit immediately. Optional callback cb allows post-processing of help text before it is displayed. + +## Custom event listeners + You can execute custom actions by listening to command and option events. + +```js +program.on('option:verbose', function () { + process.env.VERBOSE = this.verbose; +}); + +// error on unknown commands +program.on('command:*', function () { + console.error('Invalid command: %s\nSee --help for a list of available commands.', program.args.join(' ')); + process.exit(1); +}); +``` + ## Examples ```js @@ -328,11 +394,11 @@ program .action(function(cmd, options){ console.log('exec "%s" using %s mode', cmd, options.exec_mode); }).on('--help', function() { - console.log(' Examples:'); - console.log(); - console.log(' $ deploy exec sequential'); - console.log(' $ deploy exec async'); - console.log(); + console.log(''); + console.log('Examples:'); + console.log(''); + console.log(' $ deploy exec sequential'); + console.log(' $ deploy exec async'); }); program diff --git a/build/js-transpiled/node_modules/commander/index.js b/build/js-transpiled/node_modules/commander/index.js index d5dbe186..bf039c90 100644 --- a/build/js-transpiled/node_modules/commander/index.js +++ b/build/js-transpiled/node_modules/commander/index.js @@ -9,6 +9,12 @@ var dirname = path.dirname; var basename = path.basename; var fs = require('fs'); +/** + * Inherit `Command` from `EventEmitter.prototype`. + */ + +require('util').inherits(Command, EventEmitter); + /** * Expose the root command. */ @@ -37,9 +43,9 @@ exports.Option = Option; function Option(flags, description) { this.flags = flags; - this.required = ~flags.indexOf('<'); - this.optional = ~flags.indexOf('['); - this.bool = !~flags.indexOf('-no-'); + this.required = flags.indexOf('<') >= 0; + this.optional = flags.indexOf('[') >= 0; + this.bool = flags.indexOf('-no-') === -1; flags = flags.split(/[ ,|]+/); if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift(); this.long = flags.shift(); @@ -59,6 +65,18 @@ Option.prototype.name = function() { .replace('no-', ''); }; +/** + * Return option name, in a camelcase format that can be used + * as a object attribute key. + * + * @return {String} + * @api private + */ + +Option.prototype.attributeName = function() { + return camelcase(this.name()); +}; + /** * Check if `arg` matches the short or long flag. * @@ -68,7 +86,7 @@ Option.prototype.name = function() { */ Option.prototype.is = function(arg) { - return arg == this.short || arg == this.long; + return this.short === arg || this.long === arg; }; /** @@ -87,12 +105,6 @@ function Command(name) { this._name = name || ''; } -/** - * Inherit from `EventEmitter.prototype`. - */ - -Command.prototype.__proto__ = EventEmitter.prototype; - /** * Add command `name`. * @@ -155,6 +167,10 @@ Command.prototype.__proto__ = EventEmitter.prototype; */ Command.prototype.command = function(name, desc, opts) { + if (typeof desc === 'object' && desc !== null) { + opts = desc; + desc = null; + } opts = opts || {}; var args = name.split(/ +/); var cmd = new Command(args.shift()); @@ -165,7 +181,6 @@ Command.prototype.command = function(name, desc, opts) { this._execs[cmd._name] = true; if (opts.isDefault) this.defaultExecutable = cmd._name; } - cmd._noHelp = !!opts.noHelp; this.commands.push(cmd); cmd.parseExpectedArgs(args); @@ -181,7 +196,7 @@ Command.prototype.command = function(name, desc, opts) { * @api public */ -Command.prototype.arguments = function (desc) { +Command.prototype.arguments = function(desc) { return this.parseExpectedArgs(desc.split(/ +/)); }; @@ -277,7 +292,7 @@ Command.prototype.action = function(fn) { if (parsed.args.length) args = parsed.args.concat(args); self._args.forEach(function(arg, i) { - if (arg.required && null == args[i]) { + if (arg.required && args[i] == null) { self.missingArgument(arg.name); } else if (arg.variadic) { if (i !== self._args.length - 1) { @@ -356,32 +371,34 @@ Command.prototype.action = function(fn) { */ Command.prototype.option = function(flags, description, fn, defaultValue) { - var self = this - , option = new Option(flags, description) - , oname = option.name() - , name = camelcase(oname); + var self = this, + option = new Option(flags, description), + oname = option.name(), + name = option.attributeName(); // default as 3rd arg - if (typeof fn != 'function') { + if (typeof fn !== 'function') { if (fn instanceof RegExp) { var regex = fn; fn = function(val, def) { var m = regex.exec(val); return m ? m[0] : def; - } - } - else { + }; + } else { defaultValue = fn; fn = null; } } // preassign default value only for --no-*, [optional], or - if (false == option.bool || option.optional || option.required) { + if (!option.bool || option.optional || option.required) { // when --no-* we make sure default is true - if (false == option.bool) defaultValue = true; + if (!option.bool) defaultValue = true; // preassign only if we have a default - if (undefined !== defaultValue) self[name] = defaultValue; + if (defaultValue !== undefined) { + self[name] = defaultValue; + option.defaultValue = defaultValue; + } } // register the option @@ -391,21 +408,21 @@ Command.prototype.option = function(flags, description, fn, defaultValue) { // and conditionally invoke the callback this.on('option:' + oname, function(val) { // coercion - if (null !== val && fn) val = fn(val, undefined === self[name] - ? defaultValue - : self[name]); + if (val !== null && fn) { + val = fn(val, self[name] === undefined ? defaultValue : self[name]); + } // unassigned or bool - if ('boolean' == typeof self[name] || 'undefined' == typeof self[name]) { + if (typeof self[name] === 'boolean' || typeof self[name] === 'undefined') { // if no value, bool true, and we have a default, then use it! - if (null == val) { + if (val == null) { self[name] = option.bool ? defaultValue || true : false; } else { self[name] = val; } - } else if (null !== val) { + } else if (val !== null) { // reassign self[name] = val; } @@ -422,8 +439,8 @@ Command.prototype.option = function(flags, description, fn, defaultValue) { * @api public */ Command.prototype.allowUnknownOption = function(arg) { - this._allowUnknownOption = arguments.length === 0 || arg; - return this; + this._allowUnknownOption = arguments.length === 0 || arg; + return this; }; /** @@ -467,7 +484,7 @@ Command.prototype.parse = function(argv) { })[0]; } - if (this._execs[name] && typeof this._execs[name] != "function") { + if (this._execs[name] && typeof this._execs[name] !== 'function') { return this.executeSubCommand(argv, args, parsed.unknown); } else if (aliasCommand) { // is alias of a subCommand @@ -495,10 +512,10 @@ Command.prototype.executeSubCommand = function(argv, args, unknown) { args = args.concat(unknown); if (!args.length) this.help(); - if ('help' == args[0] && 1 == args.length) this.help(); + if (args[0] === 'help' && args.length === 1) this.help(); // --help - if ('help' == args[0]) { + if (args[0] === 'help') { args[0] = args[1]; args[1] = '--help'; } @@ -506,28 +523,30 @@ Command.prototype.executeSubCommand = function(argv, args, unknown) { // executable var f = argv[1]; // name of the subcommand, link `pm-install` - var bin = basename(f, '.js') + '-' + args[0]; - + var bin = basename(f, path.extname(f)) + '-' + args[0]; // In case of globally installed, get the base dir where executable // subcommand file should be located at - var baseDir - , link = fs.lstatSync(f).isSymbolicLink() ? fs.readlinkSync(f) : f; + var baseDir, + link = fs.lstatSync(f).isSymbolicLink() ? fs.readlinkSync(f) : f; // when symbolink is relative path if (link !== f && link.charAt(0) !== '/') { - link = path.join(dirname(f), link) + link = path.join(dirname(f), link); } baseDir = dirname(link); // prefer local `./` to bin in the $PATH var localBin = path.join(baseDir, bin); - // whether bin file is a js script with explicit `.js` extension + // whether bin file is a js script with explicit `.js` or `.ts` extension var isExplicitJS = false; if (exists(localBin + '.js')) { bin = localBin + '.js'; isExplicitJS = true; + } else if (exists(localBin + '.ts')) { + bin = localBin + '.ts'; + isExplicitJS = true; } else if (exists(localBin)) { bin = localBin; } @@ -541,29 +560,29 @@ Command.prototype.executeSubCommand = function(argv, args, unknown) { // add executable arguments to spawn args = (process.execArgv || []).concat(args); - proc = spawn('node', args, { stdio: 'inherit', customFds: [0, 1, 2] }); + proc = spawn(process.argv[0], args, { stdio: 'inherit', customFds: [0, 1, 2] }); } else { proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] }); } } else { args.unshift(bin); - proc = spawn(process.execPath, args, { stdio: 'inherit'}); + proc = spawn(process.execPath, args, { stdio: 'inherit' }); } var signals = ['SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGINT', 'SIGHUP']; signals.forEach(function(signal) { - process.on(signal, function(){ - if ((proc.killed === false) && (proc.exitCode === null)){ + process.on(signal, function() { + if (proc.killed === false && proc.exitCode === null) { proc.kill(signal); } }); }); proc.on('close', process.exit.bind(process)); proc.on('error', function(err) { - if (err.code == "ENOENT") { - console.error('\n %s(1) does not exist, try --help\n', bin); - } else if (err.code == "EACCES") { - console.error('\n %s(1) not executable. try chmod or run with root\n', bin); + if (err.code === 'ENOENT') { + console.error('error: %s(1) does not exist, try --help', bin); + } else if (err.code === 'EACCES') { + console.error('error: %s(1) not executable. try chmod or run with root', bin); } process.exit(1); }); @@ -583,15 +602,15 @@ Command.prototype.executeSubCommand = function(argv, args, unknown) { */ Command.prototype.normalize = function(args) { - var ret = [] - , arg - , lastOpt - , index; + var ret = [], + arg, + lastOpt, + index; for (var i = 0, len = args.length; i < len; ++i) { arg = args[i]; if (i > 0) { - lastOpt = this.optionFor(args[i-1]); + lastOpt = this.optionFor(args[i - 1]); } if (arg === '--') { @@ -600,7 +619,7 @@ Command.prototype.normalize = function(args) { break; } else if (lastOpt && lastOpt.required) { ret.push(arg); - } else if (arg.length > 1 && '-' == arg[0] && '-' != arg[1]) { + } else if (arg.length > 1 && arg[0] === '-' && arg[1] !== '-') { arg.slice(1).split('').forEach(function(c) { ret.push('-' + c); }); @@ -644,6 +663,10 @@ Command.prototype.parseArgs = function(args, unknown) { if (unknown.length > 0) { this.unknownOption(unknown[0]); } + if (this.commands.length === 0 && + this._args.filter(function(a) { return a.required }).length === 0) { + this.emit('command:*'); + } } return this; @@ -675,11 +698,11 @@ Command.prototype.optionFor = function(arg) { */ Command.prototype.parseOptions = function(argv) { - var args = [] - , len = argv.length - , literal - , option - , arg; + var args = [], + len = argv.length, + literal, + option, + arg; var unknownOptions = []; @@ -693,7 +716,7 @@ Command.prototype.parseOptions = function(argv) { continue; } - if ('--' == arg) { + if (arg === '--') { literal = true; continue; } @@ -706,12 +729,12 @@ Command.prototype.parseOptions = function(argv) { // requires arg if (option.required) { arg = argv[++i]; - if (null == arg) return this.optionMissingArgument(option); + if (arg == null) return this.optionMissingArgument(option); this.emit('option:' + option.name(), arg); // optional arg } else if (option.optional) { - arg = argv[i+1]; - if (null == arg || ('-' == arg[0] && '-' != arg)) { + arg = argv[i + 1]; + if (arg == null || (arg[0] === '-' && arg !== '-')) { arg = null; } else { ++i; @@ -725,13 +748,13 @@ Command.prototype.parseOptions = function(argv) { } // looks like an option - if (arg.length > 1 && '-' == arg[0]) { + if (arg.length > 1 && arg[0] === '-') { unknownOptions.push(arg); // If the next argument looks like it might be // an argument for this option, we pass it on. // If it isn't, then it'll simply be ignored - if (argv[i+1] && '-' != argv[i+1][0]) { + if ((i + 1) < argv.length && argv[i + 1][0] !== '-') { unknownOptions.push(argv[++i]); } continue; @@ -751,12 +774,12 @@ Command.prototype.parseOptions = function(argv) { * @api public */ Command.prototype.opts = function() { - var result = {} - , len = this.options.length; + var result = {}, + len = this.options.length; - for (var i = 0 ; i < len; i++) { - var key = camelcase(this.options[i].name()); - result[key] = key === 'version' ? this._version : this[key]; + for (var i = 0; i < len; i++) { + var key = this.options[i].attributeName(); + result[key] = key === this._versionOptionName ? this._version : this[key]; } return result; }; @@ -769,9 +792,7 @@ Command.prototype.opts = function() { */ Command.prototype.missingArgument = function(name) { - console.error(); - console.error(" error: missing required argument `%s'", name); - console.error(); + console.error("error: missing required argument `%s'", name); process.exit(1); }; @@ -784,13 +805,11 @@ Command.prototype.missingArgument = function(name) { */ Command.prototype.optionMissingArgument = function(option, flag) { - console.error(); if (flag) { - console.error(" error: option `%s' argument missing, got `%s'", option.flags, flag); + console.error("error: option `%s' argument missing, got `%s'", option.flags, flag); } else { - console.error(" error: option `%s' argument missing", option.flags); + console.error("error: option `%s' argument missing", option.flags); } - console.error(); process.exit(1); }; @@ -803,9 +822,7 @@ Command.prototype.optionMissingArgument = function(option, flag) { Command.prototype.unknownOption = function(flag) { if (this._allowUnknownOption) return; - console.error(); - console.error(" error: unknown option `%s'", flag); - console.error(); + console.error("error: unknown option `%s'", flag); process.exit(1); }; @@ -817,9 +834,7 @@ Command.prototype.unknownOption = function(flag) { */ Command.prototype.variadicArgNotLast = function(name) { - console.error(); - console.error(" error: variadic arguments must be last `%s'", name); - console.error(); + console.error("error: variadic arguments must be last `%s'", name); process.exit(1); }; @@ -836,11 +851,13 @@ Command.prototype.variadicArgNotLast = function(name) { */ Command.prototype.version = function(str, flags) { - if (0 == arguments.length) return this._version; + if (arguments.length === 0) return this._version; this._version = str; flags = flags || '-V, --version'; - this.option(flags, 'output the version number'); - this.on('option:version', function() { + var versionOption = new Option(flags, 'output the version number'); + this._versionOptionName = versionOption.long.substr(2) || 'version'; + this.options.push(versionOption); + this.on('option:' + this._versionOptionName, function() { process.stdout.write(str + '\n'); process.exit(0); }); @@ -851,13 +868,15 @@ Command.prototype.version = function(str, flags) { * Set the description to `str`. * * @param {String} str + * @param {Object} argsDescription * @return {String|Command} * @api public */ -Command.prototype.description = function(str) { - if (0 === arguments.length) return this._description; +Command.prototype.description = function(str, argsDescription) { + if (arguments.length === 0) return this._description; this._description = str; + this._argsDescription = argsDescription; return this; }; @@ -871,12 +890,14 @@ Command.prototype.description = function(str) { Command.prototype.alias = function(alias) { var command = this; - if(this.commands.length !== 0) { - command = this.commands[this.commands.length - 1] + if (this.commands.length !== 0) { + command = this.commands[this.commands.length - 1]; } if (arguments.length === 0) return command._alias; + if (alias === command._name) throw new Error('Command alias can\'t be the same as its name'); + command._alias = alias; return this; }; @@ -894,11 +915,11 @@ Command.prototype.usage = function(str) { return humanReadableArgName(arg); }); - var usage = '[options]' - + (this.commands.length ? ' [command]' : '') - + (this._args.length ? ' ' + args.join(' ') : ''); + var usage = '[options]' + + (this.commands.length ? ' [command]' : '') + + (this._args.length ? ' ' + args.join(' ') : ''); - if (0 == arguments.length) return this._usage || usage; + if (arguments.length === 0) return this._usage || usage; this._usage = str; return this; @@ -913,11 +934,50 @@ Command.prototype.usage = function(str) { */ Command.prototype.name = function(str) { - if (0 === arguments.length) return this._name; + if (arguments.length === 0) return this._name; this._name = str; return this; }; +/** + * Return prepared commands. + * + * @return {Array} + * @api private + */ + +Command.prototype.prepareCommands = function() { + return this.commands.filter(function(cmd) { + return !cmd._noHelp; + }).map(function(cmd) { + var args = cmd._args.map(function(arg) { + return humanReadableArgName(arg); + }).join(' '); + + return [ + cmd._name + + (cmd._alias ? '|' + cmd._alias : '') + + (cmd.options.length ? ' [options]' : '') + + (args ? ' ' + args : ''), + cmd._description + ]; + }); +}; + +/** + * Return the largest command length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestCommandLength = function() { + var commands = this.prepareCommands(); + return commands.reduce(function(max, command) { + return Math.max(max, command[0].length); + }, 0); +}; + /** * Return the largest option length. * @@ -926,11 +986,52 @@ Command.prototype.name = function(str) { */ Command.prototype.largestOptionLength = function() { - return this.options.reduce(function(max, option) { + var options = [].slice.call(this.options); + options.push({ + flags: '-h, --help' + }); + return options.reduce(function(max, option) { return Math.max(max, option.flags.length); }, 0); }; +/** + * Return the largest arg length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestArgLength = function() { + return this._args.reduce(function(max, arg) { + return Math.max(max, arg.name.length); + }, 0); +}; + +/** + * Return the pad width. + * + * @return {Number} + * @api private + */ + +Command.prototype.padWidth = function() { + var width = this.largestOptionLength(); + if (this._argsDescription && this._args.length) { + if (this.largestArgLength() > width) { + width = this.largestArgLength(); + } + } + + if (this.commands && this.commands.length) { + if (this.largestCommandLength() > width) { + width = this.largestCommandLength(); + } + } + + return width; +}; + /** * Return help for options. * @@ -939,12 +1040,13 @@ Command.prototype.largestOptionLength = function() { */ Command.prototype.optionHelp = function() { - var width = this.largestOptionLength(); + var width = this.padWidth(); // Append the help information return this.options.map(function(option) { - return pad(option.flags, width) + ' ' + option.description; - }).concat([pad('-h, --help', width) + ' ' + 'output usage information']) + return pad(option.flags, width) + ' ' + option.description + + ((option.bool && option.defaultValue !== undefined) ? ' (default: ' + JSON.stringify(option.defaultValue) + ')' : ''); + }).concat([pad('-h, --help', width) + ' ' + 'output usage information']) .join('\n'); }; @@ -958,35 +1060,16 @@ Command.prototype.optionHelp = function() { Command.prototype.commandHelp = function() { if (!this.commands.length) return ''; - var commands = this.commands.filter(function(cmd) { - return !cmd._noHelp; - }).map(function(cmd) { - var args = cmd._args.map(function(arg) { - return humanReadableArgName(arg); - }).join(' '); - - return [ - cmd._name - + (cmd._alias ? '|' + cmd._alias : '') - + (cmd.options.length ? ' [options]' : '') - + ' ' + args - , cmd._description - ]; - }); - - var width = commands.reduce(function(max, command) { - return Math.max(max, command[0].length); - }, 0); + var commands = this.prepareCommands(); + var width = this.padWidth(); return [ - '' - , ' Commands:' - , '' - , commands.map(function(cmd) { + 'Commands:', + commands.map(function(cmd) { var desc = cmd[1] ? ' ' + cmd[1] : ''; - return pad(cmd[0], width) + desc; - }).join('\n').replace(/^/gm, ' ') - , '' + return (desc ? pad(cmd[0], width) : cmd[0]) + desc; + }).join('\n').replace(/^/gm, ' '), + '' ].join('\n'); }; @@ -1001,9 +1084,20 @@ Command.prototype.helpInformation = function() { var desc = []; if (this._description) { desc = [ - ' ' + this._description - , '' + this._description, + '' ]; + + var argsDescription = this._argsDescription; + if (argsDescription && this._args.length) { + var width = this.padWidth(); + desc.push('Arguments:'); + desc.push(''); + this._args.forEach(function(arg) { + desc.push(' ' + pad(arg.name, width) + ' ' + argsDescription[arg.name]); + }); + desc.push(''); + } } var cmdName = this._name; @@ -1011,9 +1105,8 @@ Command.prototype.helpInformation = function() { cmdName = cmdName + '|' + this._alias; } var usage = [ + 'Usage: ' + cmdName + ' ' + this.usage(), '' - ,' Usage: ' + cmdName + ' ' + this.usage() - , '' ]; var cmds = []; @@ -1021,11 +1114,9 @@ Command.prototype.helpInformation = function() { if (commandHelp) cmds = [commandHelp]; var options = [ + 'Options:', + '' + this.optionHelp().replace(/^/gm, ' '), '' - , ' Options:' - , '' - , '' + this.optionHelp().replace(/^/gm, ' ') - , '' ]; return usage @@ -1045,7 +1136,7 @@ Command.prototype.outputHelp = function(cb) { if (!cb) { cb = function(passthru) { return passthru; - } + }; } process.stdout.write(cb(this.helpInformation())); this.emit('--help'); @@ -1101,7 +1192,7 @@ function pad(str, width) { function outputHelpIfNecessary(cmd, options) { options = options || []; for (var i = 0; i < options.length; i++) { - if (options[i] == '--help' || options[i] == '-h') { + if (options[i] === '--help' || options[i] === '-h') { cmd.outputHelp(); process.exit(0); } @@ -1121,7 +1212,7 @@ function humanReadableArgName(arg) { return arg.required ? '<' + nameOutput + '>' - : '[' + nameOutput + ']' + : '[' + nameOutput + ']'; } // for versions before node v0.8 when there weren't `fs.existsSync` @@ -1134,4 +1225,3 @@ function exists(file) { return false; } } - diff --git a/build/js-transpiled/node_modules/commander/package.json b/build/js-transpiled/node_modules/commander/package.json index aba57c3f..618e5c87 100644 --- a/build/js-transpiled/node_modules/commander/package.json +++ b/build/js-transpiled/node_modules/commander/package.json @@ -1,27 +1,27 @@ { - "_from": "commander@^2.9.0", - "_id": "commander@2.11.0", + "_from": "commander@^2.19.0", + "_id": "commander@2.19.0", "_inBundle": false, - "_integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "_integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "_location": "/commander", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "commander@^2.9.0", + "raw": "commander@^2.19.0", "name": "commander", "escapedName": "commander", - "rawSpec": "^2.9.0", + "rawSpec": "^2.19.0", "saveSpec": null, - "fetchSpec": "^2.9.0" + "fetchSpec": "^2.19.0" }, "_requiredBy": [ "/editorconfig" ], - "_resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "_shasum": "157152fd1e7a6c8d98a5b715cf376df928004563", - "_spec": "commander@^2.9.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", + "_resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "_shasum": "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a", + "_spec": "commander@^2.19.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", "author": { "name": "TJ Holowaychuk", "email": "tj@vision-media.ca" @@ -34,11 +34,17 @@ "deprecated": false, "description": "the complete solution for node.js command-line programs", "devDependencies": { - "should": "^11.2.1", - "sinon": "^2.3.5" + "@types/node": "^10.11.3", + "eslint": "^5.6.1", + "should": "^13.2.3", + "sinon": "^6.3.4", + "standard": "^12.0.1", + "ts-node": "^7.0.1", + "typescript": "^2.9.2" }, "files": [ - "index.js" + "index.js", + "typings/index.d.ts" ], "homepage": "https://github.com/tj/commander.js#readme", "keywords": [ @@ -55,7 +61,10 @@ "url": "git+https://github.com/tj/commander.js.git" }, "scripts": { - "test": "make test" + "lint": "eslint index.js", + "test": "node test/run.js && npm run test-typings", + "test-typings": "tsc -p tsconfig.json" }, - "version": "2.11.0" + "typings": "typings/index.d.ts", + "version": "2.19.0" } diff --git a/build/js-transpiled/node_modules/commander/typings/index.d.ts b/build/js-transpiled/node_modules/commander/typings/index.d.ts new file mode 100644 index 00000000..312b056d --- /dev/null +++ b/build/js-transpiled/node_modules/commander/typings/index.d.ts @@ -0,0 +1,309 @@ +// Type definitions for commander 2.11 +// Project: https://github.com/visionmedia/commander.js +// Definitions by: Alan Agius , Marcelo Dezem , vvakame , Jules Randolph +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare namespace local { + + class Option { + flags: string; + required: boolean; + optional: boolean; + bool: boolean; + short?: string; + long: string; + description: string; + + /** + * Initialize a new `Option` with the given `flags` and `description`. + * + * @param {string} flags + * @param {string} [description] + */ + constructor(flags: string, description?: string); + } + + class Command extends NodeJS.EventEmitter { + [key: string]: any; + + args: string[]; + + /** + * Initialize a new `Command`. + * + * @param {string} [name] + */ + constructor(name?: string); + + /** + * Set the program version to `str`. + * + * This method auto-registers the "-V, --version" flag + * which will print the version number when passed. + * + * @param {string} str + * @param {string} [flags] + * @returns {Command} for chaining + */ + version(str: string, flags?: string): Command; + + /** + * Add command `name`. + * + * The `.action()` callback is invoked when the + * command `name` is specified via __ARGV__, + * and the remaining arguments are applied to the + * function for access. + * + * When the `name` is "*" an un-matched command + * will be passed as the first arg, followed by + * the rest of __ARGV__ remaining. + * + * @example + * program + * .version('0.0.1') + * .option('-C, --chdir ', 'change the working directory') + * .option('-c, --config ', 'set config path. defaults to ./deploy.conf') + * .option('-T, --no-tests', 'ignore test hook') + * + * program + * .command('setup') + * .description('run remote setup commands') + * .action(function() { + * console.log('setup'); + * }); + * + * program + * .command('exec ') + * .description('run the given remote command') + * .action(function(cmd) { + * console.log('exec "%s"', cmd); + * }); + * + * program + * .command('teardown [otherDirs...]') + * .description('run teardown commands') + * .action(function(dir, otherDirs) { + * console.log('dir "%s"', dir); + * if (otherDirs) { + * otherDirs.forEach(function (oDir) { + * console.log('dir "%s"', oDir); + * }); + * } + * }); + * + * program + * .command('*') + * .description('deploy the given env') + * .action(function(env) { + * console.log('deploying "%s"', env); + * }); + * + * program.parse(process.argv); + * + * @param {string} name + * @param {string} [desc] for git-style sub-commands + * @param {CommandOptions} [opts] command options + * @returns {Command} the new command + */ + command(name: string, desc?: string, opts?: commander.CommandOptions): Command; + + /** + * Define argument syntax for the top-level command. + * + * @param {string} desc + * @returns {Command} for chaining + */ + arguments(desc: string): Command; + + /** + * Parse expected `args`. + * + * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. + * + * @param {string[]} args + * @returns {Command} for chaining + */ + parseExpectedArgs(args: string[]): Command; + + /** + * Register callback `fn` for the command. + * + * @example + * program + * .command('help') + * .description('display verbose help') + * .action(function() { + * // output help here + * }); + * + * @param {(...args: any[]) => void} fn + * @returns {Command} for chaining + */ + action(fn: (...args: any[]) => void): Command; + + /** + * Define option with `flags`, `description` and optional + * coercion `fn`. + * + * The `flags` string should contain both the short and long flags, + * separated by comma, a pipe or space. The following are all valid + * all will output this way when `--help` is used. + * + * "-p, --pepper" + * "-p|--pepper" + * "-p --pepper" + * + * @example + * // simple boolean defaulting to false + * program.option('-p, --pepper', 'add pepper'); + * + * --pepper + * program.pepper + * // => Boolean + * + * // simple boolean defaulting to true + * program.option('-C, --no-cheese', 'remove cheese'); + * + * program.cheese + * // => true + * + * --no-cheese + * program.cheese + * // => false + * + * // required argument + * program.option('-C, --chdir ', 'change the working directory'); + * + * --chdir /tmp + * program.chdir + * // => "/tmp" + * + * // optional argument + * program.option('-c, --cheese [type]', 'add cheese [marble]'); + * + * @param {string} flags + * @param {string} [description] + * @param {((arg1: any, arg2: any) => void) | RegExp} [fn] function or default + * @param {*} [defaultValue] + * @returns {Command} for chaining + */ + option(flags: string, description?: string, fn?: ((arg1: any, arg2: any) => void) | RegExp, defaultValue?: any): Command; + option(flags: string, description?: string, defaultValue?: any): Command; + + /** + * Allow unknown options on the command line. + * + * @param {boolean} [arg] if `true` or omitted, no error will be thrown for unknown options. + * @returns {Command} for chaining + */ + allowUnknownOption(arg?: boolean): Command; + + /** + * Parse `argv`, settings options and invoking commands when defined. + * + * @param {string[]} argv + * @returns {Command} for chaining + */ + parse(argv: string[]): Command; + + /** + * Parse options from `argv` returning `argv` void of these options. + * + * @param {string[]} argv + * @returns {ParseOptionsResult} + */ + parseOptions(argv: string[]): commander.ParseOptionsResult; + + /** + * Return an object containing options as key-value pairs + * + * @returns {{[key: string]: any}} + */ + opts(): { [key: string]: any }; + + /** + * Set the description to `str`. + * + * @param {string} str + * @return {(Command | string)} + */ + description(str: string): Command; + description(): string; + + /** + * Set an alias for the command. + * + * @param {string} alias + * @return {(Command | string)} + */ + alias(alias: string): Command; + alias(): string; + + /** + * Set or get the command usage. + * + * @param {string} str + * @return {(Command | string)} + */ + usage(str: string): Command; + usage(): string; + + /** + * Set the name of the command. + * + * @param {string} str + * @return {Command} + */ + name(str: string): Command; + + /** + * Get the name of the command. + * + * @return {string} + */ + name(): string; + + /** + * Output help information for this command. + * + * @param {(str: string) => string} [cb] + */ + outputHelp(cb?: (str: string) => string): void; + + /** Output help information and exit. + * + * @param {(str: string) => string} [cb] + */ + help(cb?: (str: string) => string): never; + } + +} + +declare namespace commander { + + type Command = local.Command + + type Option = local.Option + + interface CommandOptions { + noHelp?: boolean; + isDefault?: boolean; + } + + interface ParseOptionsResult { + args: string[]; + unknown: string[]; + } + + interface CommanderStatic extends Command { + Command: typeof local.Command; + Option: typeof local.Option; + CommandOptions: CommandOptions; + ParseOptionsResult: ParseOptionsResult; + } + +} + +declare const commander: commander.CommanderStatic; +export = commander; diff --git a/build/js-transpiled/node_modules/concat-map/package.json b/build/js-transpiled/node_modules/concat-map/package.json index 4bb4aed8..b8af713a 100644 --- a/build/js-transpiled/node_modules/concat-map/package.json +++ b/build/js-transpiled/node_modules/concat-map/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b", "_spec": "concat-map@0.0.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/brace-expansion", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/brace-expansion", "author": { "name": "James Halliday", "email": "mail@substack.net", diff --git a/build/js-transpiled/node_modules/config-chain/.npmignore b/build/js-transpiled/node_modules/config-chain/.npmignore deleted file mode 100644 index 13abef4f..00000000 --- a/build/js-transpiled/node_modules/config-chain/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -node_modules/* -npm_debug.log diff --git a/build/js-transpiled/node_modules/config-chain/package.json b/build/js-transpiled/node_modules/config-chain/package.json index 58b6fc47..ce6279e4 100644 --- a/build/js-transpiled/node_modules/config-chain/package.json +++ b/build/js-transpiled/node_modules/config-chain/package.json @@ -1,8 +1,8 @@ { "_from": "config-chain@~1.1.5", - "_id": "config-chain@1.1.11", + "_id": "config-chain@1.1.12", "_inBundle": false, - "_integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "_integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", "_location": "/config-chain", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/js-beautify" ], - "_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "_shasum": "aba09747dfbe4c3e70e766a6e41586e1859fc6f2", + "_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "_shasum": "0fde8d091200eb5e808caf25fe618c02f48e4efa", "_spec": "config-chain@~1.1.5", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", "author": { "name": "Dominic Tarr", "email": "dominic.tarr@gmail.com", @@ -40,6 +40,9 @@ "devDependencies": { "tap": "0.3.0" }, + "files": [ + "index.js" + ], "homepage": "http://github.com/dominictarr/config-chain", "licenses": [ { @@ -53,7 +56,7 @@ "url": "git+https://github.com/dominictarr/config-chain.git" }, "scripts": { - "test": "tap test/" + "test": "tap test/*" }, - "version": "1.1.11" + "version": "1.1.12" } diff --git a/build/js-transpiled/node_modules/config-chain/readme.markdown b/build/js-transpiled/node_modules/config-chain/readme.markdown index a8d26378..47f894c7 100644 --- a/build/js-transpiled/node_modules/config-chain/readme.markdown +++ b/build/js-transpiled/node_modules/config-chain/readme.markdown @@ -1,6 +1,6 @@ -#config-chain +# config-chain -USE THIS MODULE TO LOAD ALL YOUR CONFIGURATIONS +A module for loading custom configurations ## NOTE: Feature Freeze @@ -8,12 +8,42 @@ USE THIS MODULE TO LOAD ALL YOUR CONFIGURATIONS This module is frozen. -In general, I'd recommend using [rc](https://github.com/dominictarr/rc) instead, +In general, we recommend using [rc](https://github.com/dominictarr/rc) instead, but as [npm](https://github.com/npmjs/npm) depends on this, it cannot be changed. + +## Install + +```sh +yarn add config-chain + +# npm users +npm install --save config-chain +``` + +## Usage + +```js +const cc = require('config-chain'); + +console.log(cc.env('TERM_', process.env)); +/* +{ SESSION_ID: 'w1:5F38', + PROGRAM_VERSION: '3.1.2', + PROGRAM: 'iTerm.app' } +*/ +``` + +The `.env` function gets all the keys on the provided object which are +prefixed by the specified prefix, removes the prefix, and puts the values on a new object. + +
+ +## Full Usage + ``` js - //npm install config-chain + // npm install config-chain var cc = require('config-chain') , opts = require('optimist').argv //ALWAYS USE OPTIMIST FOR COMMAND LINE OPTIONS. @@ -63,17 +93,9 @@ but as [npm](https://github.com/npmjs/npm) depends on this, it cannot be changed ``` -FINALLY, EASY FLEXIBLE CONFIGURATIONS! - -##see also: [proto-list](https://github.com/isaacs/proto-list/) - -WHATS THAT YOU SAY? +Finally, flexible configurations! 👌 -YOU WANT A "CLASS" SO THAT YOU CAN DO CRAYCRAY JQUERY CRAPS? - -EXTEND WITH YOUR OWN FUNCTIONALTY!? - -## CONFIGCHAIN LIVES TO SERVE ONLY YOU! +## Custom Configuations ```javascript var cc = require('config-chain') @@ -108,7 +130,7 @@ var config = cc({ }) ``` -# BORING API DOCS +# API Docs ## cc(...args) @@ -116,13 +138,11 @@ MAKE A CHAIN AND ADD ALL THE ARGS. If the arg is a STRING, then it shall be a JSON FILENAME. -SYNC I/O! - RETURN THE CHAIN! ## cc.json(...args) -Join the args INTO A JSON FILENAME! +Join the args into a JSON filename! SYNC I/O! @@ -145,8 +165,8 @@ NO I/O! ## cc.env(prefix, env=process.env) -Get all the keys on the provided env object (or process.env) which are -prefixed by the specified prefix, and put the values on a new object. +Get all the keys on the provided object which are +prefixed by the specified prefix, removes the prefix, and puts the values on a new object. RETURN THE RESULTING OBJECT! diff --git a/build/js-transpiled/node_modules/config-chain/test/broken.js b/build/js-transpiled/node_modules/config-chain/test/broken.js deleted file mode 100644 index 101a3e4f..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/broken.js +++ /dev/null @@ -1,10 +0,0 @@ - - -var cc = require('..') -var assert = require('assert') - - -//throw on invalid json -assert.throws(function () { - cc(__dirname + '/broken.json') -}) diff --git a/build/js-transpiled/node_modules/config-chain/test/broken.json b/build/js-transpiled/node_modules/config-chain/test/broken.json deleted file mode 100644 index 2107ac18..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/broken.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "config-chain", - "version": "0.3.0", - "description": "HANDLE CONFIGURATION ONCE AND FOR ALL", - "homepage": "http://github.com/dominictarr/config-chain", - "repository": { - "type": "git", - "url": "https://github.com/dominictarr/config-chain.git" - } - //missing , and then this comment. this json is intensionally invalid - "dependencies": { - "proto-list": "1", - "ini": "~1.0.2" - }, - "bundleDependencies": ["ini"], - "REM": "REMEMBER TO REMOVE BUNDLING WHEN/IF ISAACS MERGES ini#7", - "author": "Dominic Tarr (http://dominictarr.com)", - "scripts": { - "test": "node test/find-file.js && node test/ini.js && node test/env.js" - } -} diff --git a/build/js-transpiled/node_modules/config-chain/test/chain-class.js b/build/js-transpiled/node_modules/config-chain/test/chain-class.js deleted file mode 100644 index bbc0d4cb..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/chain-class.js +++ /dev/null @@ -1,100 +0,0 @@ -var test = require('tap').test -var CC = require('../index.js').ConfigChain - -var env = { foo_blaz : 'blzaa', foo_env : 'myenv' } -var jsonObj = { blaz: 'json', json: true } -var iniObj = { 'x.y.z': 'xyz', blaz: 'ini' } - -var fs = require('fs') -var ini = require('ini') - -fs.writeFileSync('/tmp/config-chain-class.json', JSON.stringify(jsonObj)) -fs.writeFileSync('/tmp/config-chain-class.ini', ini.stringify(iniObj)) - -var http = require('http') -var reqs = 0 -http.createServer(function (q, s) { - if (++reqs === 2) this.close() - if (q.url === '/json') { - // make sure that the requests come back from the server - // out of order. they should still be ordered properly - // in the resulting config object set. - setTimeout(function () { - s.setHeader('content-type', 'application/json') - s.end(JSON.stringify({ - blaz: 'http', - http: true, - json: true - })) - }, 200) - } else { - s.setHeader('content-type', 'application/ini') - s.end(ini.stringify({ - blaz: 'http', - http: true, - ini: true, - json: false - })) - } -}).listen(1337) - -test('basic class test', function (t) { - var cc = new CC() - var expectlist = - [ { blaz: 'json', json: true }, - { 'x.y.z': 'xyz', blaz: 'ini' }, - { blaz: 'blzaa', env: 'myenv' }, - { blaz: 'http', http: true, json: true }, - { blaz: 'http', http: true, ini: true, json: false } ] - - cc.addFile('/tmp/config-chain-class.json') - .addFile('/tmp/config-chain-class.ini') - .addEnv('foo_', env) - .addUrl('http://localhost:1337/json') - .addUrl('http://localhost:1337/ini') - .on('load', function () { - t.same(cc.list, expectlist) - t.same(cc.snapshot, { blaz: 'json', - json: true, - 'x.y.z': 'xyz', - env: 'myenv', - http: true, - ini: true }) - - cc.del('blaz', '/tmp/config-chain-class.json') - t.same(cc.snapshot, { blaz: 'ini', - json: true, - 'x.y.z': 'xyz', - env: 'myenv', - http: true, - ini: true }) - cc.del('blaz') - t.same(cc.snapshot, { json: true, - 'x.y.z': 'xyz', - env: 'myenv', - http: true, - ini: true }) - cc.shift() - t.same(cc.snapshot, { 'x.y.z': 'xyz', - env: 'myenv', - http: true, - json: true, - ini: true }) - cc.shift() - t.same(cc.snapshot, { env: 'myenv', - http: true, - json: true, - ini: true }) - cc.shift() - t.same(cc.snapshot, { http: true, - json: true, - ini: true }) - cc.shift() - t.same(cc.snapshot, { http: true, - ini: true, - json: false }) - cc.shift() - t.same(cc.snapshot, {}) - t.end() - }) -}) diff --git a/build/js-transpiled/node_modules/config-chain/test/env.js b/build/js-transpiled/node_modules/config-chain/test/env.js deleted file mode 100644 index fb718f32..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/env.js +++ /dev/null @@ -1,10 +0,0 @@ -var cc = require('..') -var assert = require('assert') - -assert.deepEqual({ - hello: true -}, cc.env('test_', { - 'test_hello': true, - 'ignore_this': 4, - 'ignore_test_this_too': [] -})) diff --git a/build/js-transpiled/node_modules/config-chain/test/find-file.js b/build/js-transpiled/node_modules/config-chain/test/find-file.js deleted file mode 100644 index 23cde52e..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/find-file.js +++ /dev/null @@ -1,13 +0,0 @@ - -var fs = require('fs') - , assert = require('assert') - , objx = { - rand: Math.random() - } - -fs.writeFileSync('/tmp/random-test-config.json', JSON.stringify(objx)) - -var cc = require('../') -var path = cc.find('tmp/random-test-config.json') - -assert.equal(path, '/tmp/random-test-config.json') \ No newline at end of file diff --git a/build/js-transpiled/node_modules/config-chain/test/get.js b/build/js-transpiled/node_modules/config-chain/test/get.js deleted file mode 100644 index d6fd79f7..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/get.js +++ /dev/null @@ -1,15 +0,0 @@ -var cc = require("../"); - -var chain = cc() - , name = "forFun"; - -chain - .add({ - __sample:"for fun only" - }, name) - .on("load", function() { - //It throw exception here - console.log(chain.get("__sample", name)); - //But if I drop the name param, it run normally and return as expected: "for fun only" - //console.log(chain.get("__sample")); - }); diff --git a/build/js-transpiled/node_modules/config-chain/test/ignore-unfound-file.js b/build/js-transpiled/node_modules/config-chain/test/ignore-unfound-file.js deleted file mode 100644 index d742b82b..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/ignore-unfound-file.js +++ /dev/null @@ -1,5 +0,0 @@ - -var cc = require('..') - -//should not throw -cc(__dirname, 'non_existing_file') diff --git a/build/js-transpiled/node_modules/config-chain/test/ini.js b/build/js-transpiled/node_modules/config-chain/test/ini.js deleted file mode 100644 index 5572a6ed..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/ini.js +++ /dev/null @@ -1,18 +0,0 @@ - - -var cc =require('..') -var INI = require('ini') -var assert = require('assert') - -function test(obj) { - - var _json, _ini - var json = cc.parse (_json = JSON.stringify(obj)) - var ini = cc.parse (_ini = INI.stringify(obj)) -console.log(_ini, _json) - assert.deepEqual(json, ini) -} - - -test({hello: true}) - diff --git a/build/js-transpiled/node_modules/config-chain/test/save.js b/build/js-transpiled/node_modules/config-chain/test/save.js deleted file mode 100644 index bc97bbd3..00000000 --- a/build/js-transpiled/node_modules/config-chain/test/save.js +++ /dev/null @@ -1,59 +0,0 @@ -var CC = require('../index.js').ConfigChain -var test = require('tap').test - -var f1 = '/tmp/f1.ini' -var f2 = '/tmp/f2.json' - -var ini = require('ini') - -var f1data = {foo: {bar: 'baz'}, bloo: 'jaus'} -var f2data = {oof: {rab: 'zab'}, oolb: 'suaj'} - -var fs = require('fs') - -fs.writeFileSync(f1, ini.stringify(f1data), 'utf8') -fs.writeFileSync(f2, JSON.stringify(f2data), 'utf8') - -test('test saving and loading ini files', function (t) { - new CC() - .add({grelb:'blerg'}, 'opt') - .addFile(f1, 'ini', 'inifile') - .addFile(f2, 'json', 'jsonfile') - .on('load', function (cc) { - - t.same(cc.snapshot, { grelb: 'blerg', - bloo: 'jaus', - foo: { bar: 'baz' }, - oof: { rab: 'zab' }, - oolb: 'suaj' }) - - t.same(cc.list, [ { grelb: 'blerg' }, - { bloo: 'jaus', foo: { bar: 'baz' } }, - { oof: { rab: 'zab' }, oolb: 'suaj' } ]) - - cc.set('grelb', 'brelg', 'opt') - .set('foo', 'zoo', 'inifile') - .set('oof', 'ooz', 'jsonfile') - .save('inifile') - .save('jsonfile') - .on('save', function () { - t.equal(fs.readFileSync(f1, 'utf8'), - "bloo=jaus\nfoo=zoo\n") - t.equal(fs.readFileSync(f2, 'utf8'), - "{\"oof\":\"ooz\",\"oolb\":\"suaj\"}") - - t.same(cc.snapshot, { grelb: 'brelg', - bloo: 'jaus', - foo: 'zoo', - oof: 'ooz', - oolb: 'suaj' }) - - t.same(cc.list, [ { grelb: 'brelg' }, - { bloo: 'jaus', foo: 'zoo' }, - { oof: 'ooz', oolb: 'suaj' } ]) - - t.pass('ok') - t.end() - }) - }) -}) diff --git a/build/js-transpiled/node_modules/core-js/CHANGELOG.md b/build/js-transpiled/node_modules/core-js/CHANGELOG.md index b597d55d..382c3c2d 100644 --- a/build/js-transpiled/node_modules/core-js/CHANGELOG.md +++ b/build/js-transpiled/node_modules/core-js/CHANGELOG.md @@ -1,11 +1,117 @@ ## Changelog +##### 2.5.7 - 2018.05.26 +- Get rid of reserved variable name `final`, related [#400](https://github.com/zloirock/core-js/issues/400) + +##### 2.5.6 - 2018.05.07 +- Forced replace native `Promise` in V8 6.6 (Node 10 and Chrome 66) because of [a bug with resolving custom thenables](https://bugs.chromium.org/p/chromium/issues/detail?id=830565) +- Added a workaround for usage buggy native LG WebOS 2 `Promise` in microtask implementation, [#396](https://github.com/zloirock/core-js/issues/396) +- Added modern version internal debugging information about used versions + +##### 2.5.5 - 2018.04.08 +- Fix some edge cases of `Reflect.set`, [#392](https://github.com/zloirock/core-js/issues/392) and [#393](https://github.com/zloirock/core-js/issues/393) + +##### 2.5.4 - 2018.03.27 +- Fixed one case of deoptimization built-in iterators in V8, related [#377](https://github.com/zloirock/core-js/issues/377) +- Fixed some cases of iterators feature detection, [#368](https://github.com/zloirock/core-js/issues/368) +- Fixed manually entered NodeJS domains issue in `Promise`, [#367](https://github.com/zloirock/core-js/issues/367) +- Fixed `Number.{parseInt, parseFloat}` entry points +- Fixed `__(define|lookup)[GS]etter__` import in the `library` version + +##### 2.5.3 - 2017.12.12 +- Fixed calling `onunhandledrejectionhandler` multiple times for one `Promise` chain, [#318](https://github.com/zloirock/core-js/issues/318) +- Forced replacement of `String#{padStart, padEnd}` in Safari 10 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=161944), [#280](https://github.com/zloirock/core-js/issues/280) +- Fixed `Array#@@iterator` in a very rare version of `WebKit`, [#236](https://github.com/zloirock/core-js/issues/236) and [#237](https://github.com/zloirock/core-js/issues/237) +- One more [#345](https://github.com/zloirock/core-js/issues/345)-related fix + +##### 2.5.2 - 2017.12.09 +- `MutationObserver` no longer used for microtask implementation in iOS Safari because of bug with scrolling, [#339](https://github.com/zloirock/core-js/issues/339) +- Fixed `JSON.stringify(undefined, replacer)` case in the wrapper from the `Symbol` polyfill, [#345](https://github.com/zloirock/core-js/issues/345) +- `Array()` calls changed to `new Array()` for V8 optimisation + +##### 2.5.1 - 2017.09.01 +- Updated `Promise#finally` per [tc39/proposal-promise-finally#37](https://github.com/tc39/proposal-promise-finally/issues/37) +- Optimized usage of some internal helpers for reducing size of `shim` version +- Fixed some entry points for virtual methods + +##### 2.5.0 - 2017.08.05 +- Added `Promise#finally` [stage 3 proposal](https://github.com/tc39/proposal-promise-finally), [#225](https://github.com/zloirock/core-js/issues/225) +- Added `Promise.try` [stage 1 proposal](https://github.com/tc39/proposal-promise-try) +- Added `Array#flatten` and `Array#flatMap` [stage 1 proposal](https://tc39.github.io/proposal-flatMap) +- Added `.of` and `.from` methods on collection constructors [stage 1 proposal](https://github.com/tc39/proposal-setmap-offrom): + - `Map.of` + - `Set.of` + - `WeakSet.of` + - `WeakMap.of` + - `Map.from` + - `Set.from` + - `WeakSet.from` + - `WeakMap.from` +- Added `Math` extensions [stage 1 proposal](https://github.com/rwaldron/proposal-math-extensions), [#226](https://github.com/zloirock/core-js/issues/226): + - `Math.clamp` + - `Math.DEG_PER_RAD` + - `Math.degrees` + - `Math.fscale` + - `Math.RAD_PER_DEG` + - `Math.radians` + - `Math.scale` +- Added `Math.signbit` [stage 1 proposal](http://jfbastien.github.io/papers/Math.signbit.html) +- Updated `global` [stage 3 proposal](https://github.com/tc39/proposal-global) - added `global` global object, `System.global` deprecated +- Updated `Object.getOwnPropertyDescriptors` to the [final version](https://tc39.github.io/ecma262/2017/#sec-object.getownpropertydescriptors) - it should not create properties if descriptors are `undefined` +- Updated the list of iterable DOM collections, [#249](https://github.com/zloirock/core-js/issues/249), added: + - `CSSStyleDeclaration#@@iterator` + - `CSSValueList#@@iterator` + - `ClientRectList#@@iterator` + - `DOMRectList#@@iterator` + - `DOMStringList#@@iterator` + - `DataTransferItemList#@@iterator` + - `FileList#@@iterator` + - `HTMLAllCollection#@@iterator` + - `HTMLCollection#@@iterator` + - `HTMLFormElement#@@iterator` + - `HTMLSelectElement#@@iterator` + - `MimeTypeArray#@@iterator` + - `NamedNodeMap#@@iterator` + - `PaintRequestList#@@iterator` + - `Plugin#@@iterator` + - `PluginArray#@@iterator` + - `SVGLengthList#@@iterator` + - `SVGNumberList#@@iterator` + - `SVGPathSegList#@@iterator` + - `SVGPointList#@@iterator` + - `SVGStringList#@@iterator` + - `SVGTransformList#@@iterator` + - `SourceBufferList#@@iterator` + - `TextTrackCueList#@@iterator` + - `TextTrackList#@@iterator` + - `TouchList#@@iterator` +- Updated stages of proposals: + - [`Object.getOwnPropertyDescriptors`](https://github.com/tc39/proposal-object-getownpropertydescriptors) to [stage 4 (ES2017)](https://tc39.github.io/ecma262/2017/#sec-object.getownpropertydescriptors) + - [String padding](https://github.com/tc39/proposal-string-pad-start-end) to [stage 4 (ES2017)](https://tc39.github.io/ecma262/2017/#sec-string.prototype.padend) + - [`global`](https://github.com/tc39/proposal-global) to [stage 3](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-09/sept-28.md#revisit-systemglobal--global) + - [String trimming](https://github.com/tc39/proposal-string-left-right-trim) to [stage 2](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-07/jul-27.md#10iic-trimstarttrimend) +- Updated typed arrays to the modern (ES2016+) arguments validation, +[#293](https://github.com/zloirock/core-js/pull/293) +- Fixed `%TypedArray%.from` Safari bug, [#285](https://github.com/zloirock/core-js/issues/285) +- Fixed compatibility with old version of Prototype.js, [#278](https://github.com/zloirock/core-js/issues/278), [#289](https://github.com/zloirock/core-js/issues/289) +- `Function#name` no longer cache the result for correct behaviour with inherited constructors, [#296](https://github.com/zloirock/core-js/issues/296) +- Added errors on incorrect context of collection methods, [#272](https://github.com/zloirock/core-js/issues/272) +- Fixed conversion typed array constructors to string, fix [#300](https://github.com/zloirock/core-js/issues/300) +- Fixed `Set#size` with debugger ReactNative for Android, [#297](https://github.com/zloirock/core-js/issues/297) +- Fixed an issue with Electron-based debugger, [#230](https://github.com/zloirock/core-js/issues/230) +- Fixed compatibility with incomplete third-party `WeakMap` polyfills, [#252](https://github.com/zloirock/core-js/pull/252) +- Added a fallback for `Date#toJSON` in engines without native `Date#toISOString`, [#220](https://github.com/zloirock/core-js/issues/220) +- Added support for Sphere Dispatch API, [#286](https://github.com/zloirock/core-js/pull/286) +- Seriously changed the coding style and the [ESLint config](https://github.com/zloirock/core-js/blob/master/.eslintrc.js) +- Updated many dev dependencies (`webpack`, `uglify`, etc) +- Some other minor fixes and optimizations + ##### 2.4.1 - 2016.07.18 -- fixed `script` tag for some parsers, [#204](https://github.com/zloirock/core-js/issues/204), [#216](https://github.com/zloirock/core-js/issues/216) -- removed some unused variables, [#217](https://github.com/zloirock/core-js/issues/217), [#218](https://github.com/zloirock/core-js/issues/218) -- fixed MS Edge `Reflect.construct` and `Reflect.apply` - they should not allow primitive as `argumentsList` argument +- Fixed `script` tag for some parsers, [#204](https://github.com/zloirock/core-js/issues/204), [#216](https://github.com/zloirock/core-js/issues/216) +- Removed some unused variables, [#217](https://github.com/zloirock/core-js/issues/217), [#218](https://github.com/zloirock/core-js/issues/218) +- Fixed MS Edge `Reflect.construct` and `Reflect.apply` - they should not allow primitive as `argumentsList` argument ##### 1.2.7 [LEGACY] - 2016.07.18 -- some fixes for issues like [#159](https://github.com/zloirock/core-js/issues/159), [#186](https://github.com/zloirock/core-js/issues/186), [#194](https://github.com/zloirock/core-js/issues/194), [#207](https://github.com/zloirock/core-js/issues/207) +- Some fixes for issues like [#159](https://github.com/zloirock/core-js/issues/159), [#186](https://github.com/zloirock/core-js/issues/186), [#194](https://github.com/zloirock/core-js/issues/194), [#207](https://github.com/zloirock/core-js/issues/207) ##### 2.4.0 - 2016.05.08 - Added `Observable`, [stage 1 proposal](https://github.com/zenparsing/es-observable) @@ -115,144 +221,144 @@ - Temporarily removed `length` validation from `Uint8Array` constructor wrapper. Reason - [bug in `ws` module](https://github.com/websockets/ws/pull/645) (-> `socket.io`) which passes to `Buffer` constructor -> `Uint8Array` float and uses [the `V8` bug](https://code.google.com/p/v8/issues/detail?id=4552) for conversion to int (by the spec should be thrown an error). [It creates problems for many people.](https://github.com/karma-runner/karma/issues/1768) I hope, it will be returned after fixing this bug in `V8`. ##### 2.0.1 - 2015.12.31 -- forced usage `Promise.resolve` polyfill in the `library` version for correct work with wrapper +- Forced usage `Promise.resolve` polyfill in the `library` version for correct work with wrapper - `Object.assign` should be defined in the strict mode -> throw an error on extension non-extensible objects, [#154](https://github.com/zloirock/core-js/issues/154) ##### 2.0.0 - 2015.12.24 -- added implementations and fixes [Typed Arrays](https://github.com/zloirock/core-js#ecmascript-6-typed-arrays)-related features +- Added implementations and fixes [Typed Arrays](https://github.com/zloirock/core-js#ecmascript-6-typed-arrays)-related features - `ArrayBuffer`, `ArrayBuffer.isView`, `ArrayBuffer#slice` - `DataView` with all getter / setter methods - `Int8Array`, `Uint8Array`, `Uint8ClampedArray`, `Int16Array`, `Uint16Array`, `Int32Array`, `Uint32Array`, `Float32Array` and `Float64Array` constructors - `%TypedArray%.{for, of}`, `%TypedArray%#{copyWithin, every, fill, filter, find, findIndex, forEach, indexOf, includes, join, lastIndexOf, map, reduce, reduceRight, reverse, set, slice, some, sort, subarray, values, keys, entries, @@iterator, ...}` -- added [`System.global`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/tc39/proposal-global), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-19.md#systemglobal-jhd) -- added [`Error.isError`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/ljharb/proposal-is-error), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-19.md#jhd-erroriserror) -- added [`Math.{iaddh, isubh, imulh, umulh}`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://gist.github.com/BrendanEich/4294d5c212a6d2254703) +- Added [`System.global`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/tc39/proposal-global), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-19.md#systemglobal-jhd) +- Added [`Error.isError`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/ljharb/proposal-is-error), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-19.md#jhd-erroriserror) +- Added [`Math.{iaddh, isubh, imulh, umulh}`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://gist.github.com/BrendanEich/4294d5c212a6d2254703) - `RegExp.escape` moved from the `es7` to the non-standard `core` namespace, [July TC39 meeting](https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-28.md#62-regexpescape) - too slow, but it's condition of stability, [#116](https://github.com/zloirock/core-js/issues/116) - [`Promise`](https://github.com/zloirock/core-js#ecmascript-6-promise) - - some performance optimisations - - added basic support [`rejectionHandled` event / `onrejectionhandled` handler](https://github.com/zloirock/core-js#unhandled-rejection-tracking) to the polyfill - - removed usage `@@species` from `Promise.{all, race}`, [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-18.md#conclusionresolution-2) -- some improvements [collections polyfills](https://github.com/zloirock/core-js#ecmascript-6-collections) + - Some performance optimisations + - Added basic support [`rejectionHandled` event / `onrejectionhandled` handler](https://github.com/zloirock/core-js#unhandled-rejection-tracking) to the polyfill + - Removed usage `@@species` from `Promise.{all, race}`, [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-18.md#conclusionresolution-2) +- Some improvements [collections polyfills](https://github.com/zloirock/core-js#ecmascript-6-collections) - `O(1)` and preventing possible leaks with frozen keys, [#134](https://github.com/zloirock/core-js/issues/134) - - correct observable state object keys -- renamed `String#{padLeft, padRight}` -> [`String#{padStart, padEnd}`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/tc39/proposal-string-pad-start-end), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-17.md#conclusionresolution-2) (they want to rename it on each meeting?O_o), [#132](https://github.com/zloirock/core-js/issues/132) -- added [`String#{trimStart, trimEnd}` as aliases for `String#{trimLeft, trimRight}`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-17.md#conclusionresolution-2) -- added [annex B HTML methods](https://github.com/zloirock/core-js#ecmascript-6-string) - ugly, but also [the part of the spec](http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype.anchor) -- added little fix for [`Date#toString`](https://github.com/zloirock/core-js#ecmascript-6-date) - `new Date(NaN).toString()` [should be `'Invalid Date'`](http://www.ecma-international.org/ecma-262/6.0/#sec-todatestring) -- added [`{keys, values, entries, @@iterator}` methods to DOM collections](https://github.com/zloirock/core-js#iterable-dom-collections) which should have [iterable interface](https://heycam.github.io/webidl/#idl-iterable) or should be [inherited from `Array`](https://heycam.github.io/webidl/#LegacyArrayClass) - `NodeList`, `DOMTokenList`, `MediaList`, `StyleSheetList`, `CSSRuleList`. -- removed Mozilla `Array` generics - [deprecated and will be removed from FF](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods), [looks like strawman is dead](http://wiki.ecmascript.org/doku.php?id=strawman:array_statics), available [alternative shim](https://github.com/plusdude/array-generics) -- removed `core.log` module + - Correct observable state object keys +- Renamed `String#{padLeft, padRight}` -> [`String#{padStart, padEnd}`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/tc39/proposal-string-pad-start-end), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-17.md#conclusionresolution-2) (they want to rename it on each meeting?O_o), [#132](https://github.com/zloirock/core-js/issues/132) +- Added [`String#{trimStart, trimEnd}` as aliases for `String#{trimLeft, trimRight}`](https://github.com/zloirock/core-js#ecmascript-7-proposals), [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim), [November TC39 meeting](https://github.com/rwaldron/tc39-notes/tree/master/es7/2015-11/nov-17.md#conclusionresolution-2) +- Added [annex B HTML methods](https://github.com/zloirock/core-js#ecmascript-6-string) - ugly, but also [the part of the spec](http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype.anchor) +- Added little fix for [`Date#toString`](https://github.com/zloirock/core-js#ecmascript-6-date) - `new Date(NaN).toString()` [should be `'Invalid Date'`](http://www.ecma-international.org/ecma-262/6.0/#sec-todatestring) +- Added [`{keys, values, entries, @@iterator}` methods to DOM collections](https://github.com/zloirock/core-js#iterable-dom-collections) which should have [iterable interface](https://heycam.github.io/webidl/#idl-iterable) or should be [inherited from `Array`](https://heycam.github.io/webidl/#LegacyArrayClass) - `NodeList`, `DOMTokenList`, `MediaList`, `StyleSheetList`, `CSSRuleList`. +- Removed Mozilla `Array` generics - [deprecated and will be removed from FF](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods), [looks like strawman is dead](http://wiki.ecmascript.org/doku.php?id=strawman:array_statics), available [alternative shim](https://github.com/plusdude/array-generics) +- Removed `core.log` module - CommonJS API - - added entry points for [virtual methods](https://github.com/zloirock/core-js#commonjs-and-prototype-methods-without-global-namespace-pollution) - - added entry points for [stages proposals](https://github.com/zloirock/core-js#ecmascript-7-proposals) - - some other minor changes -- [custom build from external scripts](https://github.com/zloirock/core-js#custom-build-from-external-scripts) moved to the separate package for preventing problems with dependencies -- changed `$` prefix for internal modules file names because Team Foundation Server does not support it, [#129](https://github.com/zloirock/core-js/issues/129) -- additional fix for `SameValueZero` in V8 ~ Chromium 39-42 collections -- additional fix for FF27 `Array` iterator -- removed usage shortcuts for `arguments` object - old WebKit bug, [#150](https://github.com/zloirock/core-js/issues/150) + - Added entry points for [virtual methods](https://github.com/zloirock/core-js#commonjs-and-prototype-methods-without-global-namespace-pollution) + - Added entry points for [stages proposals](https://github.com/zloirock/core-js#ecmascript-7-proposals) + - Some other minor changes +- [Custom build from external scripts](https://github.com/zloirock/core-js#custom-build-from-external-scripts) moved to the separate package for preventing problems with dependencies +- Changed `$` prefix for internal modules file names because Team Foundation Server does not support it, [#129](https://github.com/zloirock/core-js/issues/129) +- Additional fix for `SameValueZero` in V8 ~ Chromium 39-42 collections +- Additional fix for FF27 `Array` iterator +- Removed usage shortcuts for `arguments` object - old WebKit bug, [#150](https://github.com/zloirock/core-js/issues/150) - `{Map, Set}#forEach` non-generic, [#144](https://github.com/zloirock/core-js/issues/144) -- many other improvements +- Many other improvements ##### 1.2.6 - 2015.11.09 -* reject with `TypeError` on attempt resolve promise itself -* correct behavior with broken `Promise` subclass constructors / methods -* added `Promise`-based fallback for microtask -* fixed V8 and FF `Array#{values, @@iterator}.name` -* fixed IE7- `[1, 2].join(undefined) -> '1,2'` -* some other fixes / improvements / optimizations +* Reject with `TypeError` on attempt resolve promise itself +* Correct behavior with broken `Promise` subclass constructors / methods +* Added `Promise`-based fallback for microtask +* Fixed V8 and FF `Array#{values, @@iterator}.name` +* Fixed IE7- `[1, 2].join(undefined) -> '1,2'` +* Some other fixes / improvements / optimizations ##### 1.2.5 - 2015.11.02 -* some more `Number` constructor fixes: - * fixed V8 ~ Node 0.8 bug: `Number('+0x1')` should be `NaN` - * fixed `Number(' 0b1\n')` case, should be `1` - * fixed `Number()` case, should be `0` +* Some more `Number` constructor fixes: + * Fixed V8 ~ Node 0.8 bug: `Number('+0x1')` should be `NaN` + * Fixed `Number(' 0b1\n')` case, should be `1` + * Fixed `Number()` case, should be `0` ##### 1.2.4 - 2015.11.01 -* fixed `Number('0b12') -> NaN` case in the shim -* fixed V8 ~ Chromium 40- bug - `Weak(Map|Set)#{delete, get, has}` should not throw errors [#124](https://github.com/zloirock/core-js/issues/124) -* some other fixes and optimizations +* Fixed `Number('0b12') -> NaN` case in the shim +* Fixed V8 ~ Chromium 40- bug - `Weak(Map|Set)#{delete, get, has}` should not throw errors [#124](https://github.com/zloirock/core-js/issues/124) +* Some other fixes and optimizations ##### 1.2.3 - 2015.10.23 -* fixed some problems related old V8 bug `Object('a').propertyIsEnumerable(0) // => false`, for example, `Object.assign({}, 'qwe')` from the last release -* fixed `.name` property and `Function#toString` conversion some polyfilled methods -* fixed `Math.imul` arity in Safari 8- +* Fixed some problems related old V8 bug `Object('a').propertyIsEnumerable(0) // => false`, for example, `Object.assign({}, 'qwe')` from the last release +* Fixed `.name` property and `Function#toString` conversion some polyfilled methods +* Fixed `Math.imul` arity in Safari 8- ##### 1.2.2 - 2015.10.18 -* improved optimisations for V8 -* fixed build process from external packages, [#120](https://github.com/zloirock/core-js/pull/120) -* one more `Object.{assign, values, entries}` fix for [**very** specific case](https://github.com/ljharb/proposal-object-values-entries/issues/5) +* Improved optimisations for V8 +* Fixed build process from external packages, [#120](https://github.com/zloirock/core-js/pull/120) +* One more `Object.{assign, values, entries}` fix for [**very** specific case](https://github.com/ljharb/proposal-object-values-entries/issues/5) ##### 1.2.1 - 2015.10.02 -* replaced fix `JSON.stringify` + `Symbol` behavior from `.toJSON` method to wrapping `JSON.stringify` - little more correct, [compat-table/642](https://github.com/kangax/compat-table/pull/642) -* fixed typo which broke tasks scheduler in WebWorkers in old FF, [#114](https://github.com/zloirock/core-js/pull/114) +* Replaced fix `JSON.stringify` + `Symbol` behavior from `.toJSON` method to wrapping `JSON.stringify` - little more correct, [compat-table/642](https://github.com/kangax/compat-table/pull/642) +* Fixed typo which broke tasks scheduler in WebWorkers in old FF, [#114](https://github.com/zloirock/core-js/pull/114) ##### 1.2.0 - 2015.09.27 -* added browser [`Promise` rejection hook](#unhandled-rejection-tracking), [#106](https://github.com/zloirock/core-js/issues/106) -* added correct [`IsRegExp`](http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp) logic to [`String#{includes, startsWith, endsWith}`](https://github.com/zloirock/core-js/#ecmascript-6-string) and [`RegExp` constructor](https://github.com/zloirock/core-js/#ecmascript-6-regexp), `@@match` case, [example](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match#Disabling_the_isRegExp_check) -* updated [`String#leftPad`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) [with proposal](https://github.com/ljharb/proposal-string-pad-left-right/issues/6): string filler truncated from the right side -* replaced V8 [`Object.assign`](https://github.com/zloirock/core-js/#ecmascript-6-object) - its properties order not only [incorrect](https://github.com/sindresorhus/object-assign/issues/22), it is non-deterministic and it causes some problems -* fixed behavior with deleted in getters properties for `Object.{`[`assign`](https://github.com/zloirock/core-js/#ecmascript-6-object)`, `[`entries, values`](https://github.com/zloirock/core-js/#ecmascript-7-proposals)`}`, [example](http://goo.gl/iQE01c) -* fixed [`Math.sinh`](https://github.com/zloirock/core-js/#ecmascript-6-math) with very small numbers in V8 near Chromium 38 -* some other fixes and optimizations +* Added browser [`Promise` rejection hook](#unhandled-rejection-tracking), [#106](https://github.com/zloirock/core-js/issues/106) +* Added correct [`IsRegExp`](http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp) logic to [`String#{includes, startsWith, endsWith}`](https://github.com/zloirock/core-js/#ecmascript-6-string) and [`RegExp` constructor](https://github.com/zloirock/core-js/#ecmascript-6-regexp), `@@match` case, [example](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match#Disabling_the_isRegExp_check) +* Updated [`String#leftPad`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) [with proposal](https://github.com/ljharb/proposal-string-pad-left-right/issues/6): string filler truncated from the right side +* Replaced V8 [`Object.assign`](https://github.com/zloirock/core-js/#ecmascript-6-object) - its properties order not only [incorrect](https://github.com/sindresorhus/object-assign/issues/22), it is non-deterministic and it causes some problems +* Fixed behavior with deleted in getters properties for `Object.{`[`assign`](https://github.com/zloirock/core-js/#ecmascript-6-object)`, `[`entries, values`](https://github.com/zloirock/core-js/#ecmascript-7-proposals)`}`, [example](http://goo.gl/iQE01c) +* Fixed [`Math.sinh`](https://github.com/zloirock/core-js/#ecmascript-6-math) with very small numbers in V8 near Chromium 38 +* Some other fixes and optimizations ##### 1.1.4 - 2015.09.05 -* fixed support symbols in FF34-35 [`Object.assign`](https://github.com/zloirock/core-js/#ecmascript-6-object) -* fixed [collections iterators](https://github.com/zloirock/core-js/#ecmascript-6-iterators) in FF25-26 -* fixed non-generic WebKit [`Array.of`](https://github.com/zloirock/core-js/#ecmascript-6-array) -* some other fixes and optimizations +* Fixed support symbols in FF34-35 [`Object.assign`](https://github.com/zloirock/core-js/#ecmascript-6-object) +* Fixed [collections iterators](https://github.com/zloirock/core-js/#ecmascript-6-iterators) in FF25-26 +* Fixed non-generic WebKit [`Array.of`](https://github.com/zloirock/core-js/#ecmascript-6-array) +* Some other fixes and optimizations ##### 1.1.3 - 2015.08.29 -* fixed support Node.js domains in [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise), [#103](https://github.com/zloirock/core-js/issues/103) +* Fixed support Node.js domains in [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise), [#103](https://github.com/zloirock/core-js/issues/103) ##### 1.1.2 - 2015.08.28 -* added `toJSON` method to [`Symbol`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) polyfill and to MS Edge implementation for expected `JSON.stringify` result w/o patching this method -* replaced [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) implementations w/o correct support third argument -* fixed `global` detection with changed `document.domain` in ~IE8, [#100](https://github.com/zloirock/core-js/issues/100) +* Added `toJSON` method to [`Symbol`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) polyfill and to MS Edge implementation for expected `JSON.stringify` result w/o patching this method +* Replaced [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) implementations w/o correct support third argument +* Fixed `global` detection with changed `document.domain` in ~IE8, [#100](https://github.com/zloirock/core-js/issues/100) ##### 1.1.1 - 2015.08.20 -* added more correct microtask implementation for [`Promise`](#ecmascript-6-promise) +* Added more correct microtask implementation for [`Promise`](#ecmascript-6-promise) ##### 1.1.0 - 2015.08.17 -* updated [string padding](https://github.com/zloirock/core-js/#ecmascript-7-proposals) to [actual proposal](https://github.com/ljharb/proposal-string-pad-left-right) - renamed, minor internal changes: +* Updated [string padding](https://github.com/zloirock/core-js/#ecmascript-7-proposals) to [actual proposal](https://github.com/ljharb/proposal-string-pad-left-right) - renamed, minor internal changes: * `String#lpad` -> `String#padLeft` * `String#rpad` -> `String#padRight` -* added [string trim functions](#ecmascript-7-proposals) - [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim), defacto standard - required only for IE11- and fixed for some old engines: +* Added [string trim functions](#ecmascript-7-proposals) - [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim), defacto standard - required only for IE11- and fixed for some old engines: * `String#trimLeft` * `String#trimRight` * [`String#trim`](https://github.com/zloirock/core-js/#ecmascript-6-string) fixed for some engines by es6 spec and moved from `es5` to single `es6` module -* splitted [`es6.object.statics-accept-primitives`](https://github.com/zloirock/core-js/#ecmascript-6-object) -* caps for `freeze`-family `Object` methods moved from `es5` to `es6` namespace and joined with [es6 wrappers](https://github.com/zloirock/core-js/#ecmascript-6-object) +* Splitted [`es6.object.statics-accept-primitives`](https://github.com/zloirock/core-js/#ecmascript-6-object) +* Caps for `freeze`-family `Object` methods moved from `es5` to `es6` namespace and joined with [es6 wrappers](https://github.com/zloirock/core-js/#ecmascript-6-object) * `es5` [namespace](https://github.com/zloirock/core-js/#commonjs) also includes modules, moved to `es6` namespace - you can use it as before -* increased `MessageChannel` priority in `$.task`, [#95](https://github.com/zloirock/core-js/issues/95) -* does not get `global.Symbol` on each getting iterator, if you wanna use alternative `Symbol` shim - add it before `core-js` +* Increased `MessageChannel` priority in `$.task`, [#95](https://github.com/zloirock/core-js/issues/95) +* Does not get `global.Symbol` on each getting iterator, if you wanna use alternative `Symbol` shim - add it before `core-js` * [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) optimized and fixed for some cases -* simplified [`Reflect.enumerate`](https://github.com/zloirock/core-js/#ecmascript-6-reflect), see [this question](https://esdiscuss.org/topic/question-about-enumerate-and-property-decision-timing) -* some corrections in [`Math.acosh`](https://github.com/zloirock/core-js/#ecmascript-6-math) -* fixed [`Math.imul`](https://github.com/zloirock/core-js/#ecmascript-6-math) for old WebKit -* some fixes in string / RegExp [well-known symbols](https://github.com/zloirock/core-js/#ecmascript-6-regexp) logic -* some other fixes and optimizations +* Simplified [`Reflect.enumerate`](https://github.com/zloirock/core-js/#ecmascript-6-reflect), see [this question](https://esdiscuss.org/topic/question-about-enumerate-and-property-decision-timing) +* Some corrections in [`Math.acosh`](https://github.com/zloirock/core-js/#ecmascript-6-math) +* Fixed [`Math.imul`](https://github.com/zloirock/core-js/#ecmascript-6-math) for old WebKit +* Some fixes in string / RegExp [well-known symbols](https://github.com/zloirock/core-js/#ecmascript-6-regexp) logic +* Some other fixes and optimizations ##### 1.0.1 - 2015.07.31 -* some fixes for final MS Edge, replaced broken native `Reflect.defineProperty` -* some minor fixes and optimizations -* changed compression `client/*.min.js` options for safe `Function#name` and `Function#length`, should be fixed [#92](https://github.com/zloirock/core-js/issues/92) +* Some fixes for final MS Edge, replaced broken native `Reflect.defineProperty` +* Some minor fixes and optimizations +* Changed compression `client/*.min.js` options for safe `Function#name` and `Function#length`, should be fixed [#92](https://github.com/zloirock/core-js/issues/92) ##### 1.0.0 - 2015.07.22 -* added logic for [well-known symbols](https://github.com/zloirock/core-js/#ecmascript-6-regexp): +* Added logic for [well-known symbols](https://github.com/zloirock/core-js/#ecmascript-6-regexp): * `Symbol.match` * `Symbol.replace` * `Symbol.split` * `Symbol.search` -* actualized and optimized work with iterables: - * optimized [`Map`, `Set`, `WeakMap`, `WeakSet` constructors](https://github.com/zloirock/core-js/#ecmascript-6-collections), [`Promise.all`, `Promise.race`](https://github.com/zloirock/core-js/#ecmascript-6-promise) for default `Array Iterator` - * optimized [`Array.from`](https://github.com/zloirock/core-js/#ecmascript-6-array) for default `Array Iterator` - * added [`core.getIteratorMethod`](https://github.com/zloirock/core-js/#ecmascript-6-iterators) helper -* uses enumerable properties in shimmed instances - collections, iterators, etc for optimize performance -* added support native constructors to [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) with 2 arguments -* added support native constructors to [`Function#bind`](https://github.com/zloirock/core-js/#ecmascript-5) shim with `new` -* removed obsolete `.clear` methods native [`Weak`-collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) -* maximum modularity, reduced minimal custom build size, separated into submodules: +* Actualized and optimized work with iterables: + * Optimized [`Map`, `Set`, `WeakMap`, `WeakSet` constructors](https://github.com/zloirock/core-js/#ecmascript-6-collections), [`Promise.all`, `Promise.race`](https://github.com/zloirock/core-js/#ecmascript-6-promise) for default `Array Iterator` + * Optimized [`Array.from`](https://github.com/zloirock/core-js/#ecmascript-6-array) for default `Array Iterator` + * Added [`core.getIteratorMethod`](https://github.com/zloirock/core-js/#ecmascript-6-iterators) helper +* Uses enumerable properties in shimmed instances - collections, iterators, etc for optimize performance +* Added support native constructors to [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) with 2 arguments +* Added support native constructors to [`Function#bind`](https://github.com/zloirock/core-js/#ecmascript-5) shim with `new` +* Removed obsolete `.clear` methods native [`Weak`-collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) +* Maximum modularity, reduced minimal custom build size, separated into submodules: * [`es6.reflect`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) * [`es6.regexp`](https://github.com/zloirock/core-js/#ecmascript-6-regexp) * [`es6.math`](https://github.com/zloirock/core-js/#ecmascript-6-math) @@ -261,160 +367,160 @@ * [`core.object`](https://github.com/zloirock/core-js/#object) * [`core.string`](https://github.com/zloirock/core-js/#escaping-strings) * [`core.iter-helpers`](https://github.com/zloirock/core-js/#ecmascript-6-iterators) - * internal modules (`$`, `$.iter`, etc) -* many other optimizations -* final cleaning non-standard features - * moved `$for` to [separate library](https://github.com/zloirock/forof). This work for syntax - `for-of` loop and comprehensions - * moved `Date#{format, formatUTC}` to [separate library](https://github.com/zloirock/dtf). Standard way for this - `ECMA-402` - * removed `Math` methods from `Number.prototype`. Slight sugar for simple `Math` methods calling - * removed `{Array#, Array, Dict}.turn` - * removed `core.global` -* uses `ToNumber` instead of `ToLength` in [`Number Iterator`](https://github.com/zloirock/core-js/#number-iterator), `Array.from(2.5)` will be `[0, 1, 2]` instead of `[0, 1]` -* fixed [#85](https://github.com/zloirock/core-js/issues/85) - invalid `Promise` unhandled rejection message in nested `setTimeout` -* fixed [#86](https://github.com/zloirock/core-js/issues/86) - support FF extensions -* fixed [#89](https://github.com/zloirock/core-js/issues/89) - behavior `Number` constructor in strange case + * Internal modules (`$`, `$.iter`, etc) +* Many other optimizations +* Final cleaning non-standard features + * Moved `$for` to [separate library](https://github.com/zloirock/forof). This work for syntax - `for-of` loop and comprehensions + * Moved `Date#{format, formatUTC}` to [separate library](https://github.com/zloirock/dtf). Standard way for this - `ECMA-402` + * Removed `Math` methods from `Number.prototype`. Slight sugar for simple `Math` methods calling + * Removed `{Array#, Array, Dict}.turn` + * Removed `core.global` +* Uses `ToNumber` instead of `ToLength` in [`Number Iterator`](https://github.com/zloirock/core-js/#number-iterator), `Array.from(2.5)` will be `[0, 1, 2]` instead of `[0, 1]` +* Fixed [#85](https://github.com/zloirock/core-js/issues/85) - invalid `Promise` unhandled rejection message in nested `setTimeout` +* Fixed [#86](https://github.com/zloirock/core-js/issues/86) - support FF extensions +* Fixed [#89](https://github.com/zloirock/core-js/issues/89) - behavior `Number` constructor in strange case ##### 0.9.18 - 2015.06.17 -* removed `/` from [`RegExp.escape`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) escaped characters +* Removed `/` from [`RegExp.escape`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) escaped characters ##### 0.9.17 - 2015.06.14 -* updated [`RegExp.escape`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) to the [latest proposal](https://github.com/benjamingr/RexExp.escape) -* fixed conflict with webpack dev server + IE buggy behavior +* Updated [`RegExp.escape`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) to the [latest proposal](https://github.com/benjamingr/RexExp.escape) +* Fixed conflict with webpack dev server + IE buggy behavior ##### 0.9.16 - 2015.06.11 -* more correct order resolving thenable in [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) polyfill -* uses polyfill instead of [buggy V8 `Promise`](https://github.com/zloirock/core-js/issues/78) +* More correct order resolving thenable in [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) polyfill +* Uses polyfill instead of [buggy V8 `Promise`](https://github.com/zloirock/core-js/issues/78) ##### 0.9.15 - 2015.06.09 -* [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) from `library` version return wrapped native instances -* fixed collections prototype methods in `library` version -* optimized [`Math.hypot`](https://github.com/zloirock/core-js/#ecmascript-6-math) +* [Collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) from `library` version return wrapped native instances +* Fixed collections prototype methods in `library` version +* Optimized [`Math.hypot`](https://github.com/zloirock/core-js/#ecmascript-6-math) ##### 0.9.14 - 2015.06.04 -* updated [`Promise.resolve` behavior](https://esdiscuss.org/topic/fixing-promise-resolve) -* added fallback for IE11 buggy `Object.getOwnPropertyNames` + iframe -* some other fixes +* Updated [`Promise.resolve` behavior](https://esdiscuss.org/topic/fixing-promise-resolve) +* Added fallback for IE11 buggy `Object.getOwnPropertyNames` + iframe +* Some other fixes ##### 0.9.13 - 2015.05.25 -* added fallback for [`Symbol` polyfill](https://github.com/zloirock/core-js/#ecmascript-6-symbol) for old Android -* some other fixes +* Added fallback for [`Symbol` polyfill](https://github.com/zloirock/core-js/#ecmascript-6-symbol) for old Android +* Some other fixes ##### 0.9.12 - 2015.05.24 -* different instances `core-js` should use / recognize the same symbols -* some fixes +* Different instances `core-js` should use / recognize the same symbols +* Some fixes ##### 0.9.11 - 2015.05.18 -* simplified [custom build](https://github.com/zloirock/core-js/#custom-build) - * add custom build js api - * added `grunt-cli` to `devDependencies` for `npm run grunt` -* some fixes +* Simplified [custom build](https://github.com/zloirock/core-js/#custom-build) + * Added custom build js api + * Added `grunt-cli` to `devDependencies` for `npm run grunt` +* Some fixes ##### 0.9.10 - 2015.05.16 -* wrapped `Function#toString` for correct work wrapped methods / constructors with methods similar to the [`lodash` `isNative`](https://github.com/lodash/lodash/issues/1197) -* added proto versions of methods to export object in `default` version for consistency with `library` version +* Wrapped `Function#toString` for correct work wrapped methods / constructors with methods similar to the [`lodash` `isNative`](https://github.com/lodash/lodash/issues/1197) +* Added proto versions of methods to export object in `default` version for consistency with `library` version ##### 0.9.9 - 2015.05.14 -* wrapped `Object#propertyIsEnumerable` for [`Symbol` polyfill](https://github.com/zloirock/core-js/#ecmascript-6-symbol) -* [added proto versions of methods to `library` for ES7 bind syntax](https://github.com/zloirock/core-js/issues/65) -* some other fixes +* Wrapped `Object#propertyIsEnumerable` for [`Symbol` polyfill](https://github.com/zloirock/core-js/#ecmascript-6-symbol) +* [Added proto versions of methods to `library` for ES7 bind syntax](https://github.com/zloirock/core-js/issues/65) +* Some other fixes ##### 0.9.8 - 2015.05.12 -* fixed [`Math.hypot`](https://github.com/zloirock/core-js/#ecmascript-6-math) with negative arguments -* added `Object#toString.toString` as fallback for [`lodash` `isNative`](https://github.com/lodash/lodash/issues/1197) +* Fixed [`Math.hypot`](https://github.com/zloirock/core-js/#ecmascript-6-math) with negative arguments +* Added `Object#toString.toString` as fallback for [`lodash` `isNative`](https://github.com/lodash/lodash/issues/1197) ##### 0.9.7 - 2015.05.07 -* added [support DOM collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice#Streamlining_cross-browser_behavior) to IE8- `Array#slice` +* Added [support DOM collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice#Streamlining_cross-browser_behavior) to IE8- `Array#slice` ##### 0.9.6 - 2015.05.01 -* added [`String#lpad`, `String#rpad`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) +* Added [`String#lpad`, `String#rpad`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) ##### 0.9.5 - 2015.04.30 -* added cap for `Function#@@hasInstance` -* some fixes and optimizations +* Added cap for `Function#@@hasInstance` +* Some fixes and optimizations ##### 0.9.4 - 2015.04.27 -* fixed `RegExp` constructor +* Fixed `RegExp` constructor ##### 0.9.3 - 2015.04.26 -* some fixes and optimizations +* Some fixes and optimizations ##### 0.9.2 - 2015.04.25 -* more correct [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) unhandled rejection tracking and resolving / rejection priority +* More correct [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) unhandled rejection tracking and resolving / rejection priority ##### 0.9.1 - 2015.04.25 -* fixed `__proto__`-based [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) subclassing in some environments +* Fixed `__proto__`-based [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) subclassing in some environments ##### 0.9.0 - 2015.04.24 -* added correct [symbols](https://github.com/zloirock/core-js/#ecmascript-6-symbol) descriptors - * fixed behavior `Object.{assign, create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptors}` with symbols - * added [single entry points](https://github.com/zloirock/core-js/#commonjs) for `Object.{create, defineProperty, defineProperties}` -* added [`Map#toJSON`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) -* removed non-standard methods `Object#[_]` and `Function#only` - they solves syntax problems, but now in compilers available arrows and ~~in near future will be available~~ [available](http://babeljs.io/blog/2015/05/14/function-bind/) [bind syntax](https://github.com/zenparsing/es-function-bind) -* removed non-standard undocumented methods `Symbol.{pure, set}` -* some fixes and internal changes +* Added correct [symbols](https://github.com/zloirock/core-js/#ecmascript-6-symbol) descriptors + * Fixed behavior `Object.{assign, create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptors}` with symbols + * Added [single entry points](https://github.com/zloirock/core-js/#commonjs) for `Object.{create, defineProperty, defineProperties}` +* Added [`Map#toJSON`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) +* Removed non-standard methods `Object#[_]` and `Function#only` - they solves syntax problems, but now in compilers available arrows and ~~in near future will be available~~ [available](http://babeljs.io/blog/2015/05/14/function-bind/) [bind syntax](https://github.com/zenparsing/es-function-bind) +* Removed non-standard undocumented methods `Symbol.{pure, set}` +* Some fixes and internal changes ##### 0.8.4 - 2015.04.18 -* uses `webpack` instead of `browserify` for browser builds - more compression-friendly result +* Uses `webpack` instead of `browserify` for browser builds - more compression-friendly result ##### 0.8.3 - 2015.04.14 -* fixed `Array` statics with single entry points +* Fixed `Array` statics with single entry points ##### 0.8.2 - 2015.04.13 * [`Math.fround`](https://github.com/zloirock/core-js/#ecmascript-6-math) now also works in IE9- -* added [`Set#toJSON`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) -* some optimizations and fixes +* Added [`Set#toJSON`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) +* Some optimizations and fixes ##### 0.8.1 - 2015.04.03 -* fixed `Symbol.keyFor` +* Fixed `Symbol.keyFor` ##### 0.8.0 - 2015.04.02 -* changed [CommonJS API](https://github.com/zloirock/core-js/#commonjs) -* splitted and renamed some modules -* added support ES3 environment (ES5 polyfill) to **all** default versions - size increases slightly (+ ~4kb w/o gzip), many issues disappear, if you don't need it - [simply include only required namespaces / features / modules](https://github.com/zloirock/core-js/#commonjs) -* removed [abstract references](https://github.com/zenparsing/es-abstract-refs) support - proposal has been superseded =\ +* Changed [CommonJS API](https://github.com/zloirock/core-js/#commonjs) +* Splitted and renamed some modules +* Added support ES3 environment (ES5 polyfill) to **all** default versions - size increases slightly (+ ~4kb w/o gzip), many issues disappear, if you don't need it - [simply include only required namespaces / features / modules](https://github.com/zloirock/core-js/#commonjs) +* Removed [abstract references](https://github.com/zenparsing/es-abstract-refs) support - proposal has been superseded =\ * [`$for.isIterable` -> `core.isIterable`, `$for.getIterator` -> `core.getIterator`](https://github.com/zloirock/core-js/#ecmascript-6-iterators), temporary available in old namespace -* fixed iterators support in v8 `Promise.all` and `Promise.race` -* many other fixes +* Fixed iterators support in v8 `Promise.all` and `Promise.race` +* Many other fixes ##### 0.7.2 - 2015.03.09 -* some fixes +* Some fixes ##### 0.7.1 - 2015.03.07 -* some fixes +* Some fixes ##### 0.7.0 - 2015.03.06 -* rewritten and splitted into [CommonJS modules](https://github.com/zloirock/core-js/#commonjs) +* Rewritten and splitted into [CommonJS modules](https://github.com/zloirock/core-js/#commonjs) ##### 0.6.1 - 2015.02.24 -* fixed support [`Object.defineProperty`](https://github.com/zloirock/core-js/#ecmascript-5) with accessors on DOM elements on IE8 +* Fixed support [`Object.defineProperty`](https://github.com/zloirock/core-js/#ecmascript-5) with accessors on DOM elements on IE8 ##### 0.6.0 - 2015.02.23 -* added support safe closing iteration - calling `iterator.return` on abort iteration, if it exists -* added basic support [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) unhandled rejection tracking in shim -* added [`Object.getOwnPropertyDescriptors`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) -* removed `console` cap - creates too many problems -* restructuring [namespaces](https://github.com/zloirock/core-js/#custom-build) -* some fixes +* Added support safe closing iteration - calling `iterator.return` on abort iteration, if it exists +* Added basic support [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) unhandled rejection tracking in shim +* Added [`Object.getOwnPropertyDescriptors`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) +* Removed `console` cap - creates too many problems +* Restructuring [namespaces](https://github.com/zloirock/core-js/#custom-build) +* Some fixes ##### 0.5.4 - 2015.02.15 -* some fixes +* Some fixes ##### 0.5.3 - 2015.02.14 -* added [support binary and octal literals](https://github.com/zloirock/core-js/#ecmascript-6-number) to `Number` constructor -* added [`Date#toISOString`](https://github.com/zloirock/core-js/#ecmascript-5) +* Added [support binary and octal literals](https://github.com/zloirock/core-js/#ecmascript-6-number) to `Number` constructor +* Added [`Date#toISOString`](https://github.com/zloirock/core-js/#ecmascript-5) ##### 0.5.2 - 2015.02.10 -* some fixes +* Some fixes ##### 0.5.1 - 2015.02.09 -* some fixes +* Some fixes ##### 0.5.0 - 2015.02.08 -* systematization of modules -* splitted [`es6` module](https://github.com/zloirock/core-js/#ecmascript-6) -* splitted `console` module: `web.console` - only cap for missing methods, `core.log` - bound methods & additional features -* added [`delay` method](https://github.com/zloirock/core-js/#delay) -* some fixes +* Systematization of modules +* Splitted [`es6` module](https://github.com/zloirock/core-js/#ecmascript-6) +* Splitted `console` module: `web.console` - only cap for missing methods, `core.log` - bound methods & additional features +* Added [`delay` method](https://github.com/zloirock/core-js/#delay) +* Some fixes ##### 0.4.10 - 2015.01.28 * [`Object.getOwnPropertySymbols`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) polyfill returns array of wrapped keys @@ -423,127 +529,127 @@ * FF20-24 fix ##### 0.4.8 - 2015.01.25 -* some [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) fixes +* Some [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) fixes ##### 0.4.7 - 2015.01.25 -* added support frozen objects as [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) keys +* Added support frozen objects as [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) keys ##### 0.4.6 - 2015.01.21 -* added [`Object.getOwnPropertySymbols`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) -* added [`NodeList.prototype[@@iterator]`](https://github.com/zloirock/core-js/#ecmascript-6-iterators) -* added basic `@@species` logic - getter in native constructors -* removed `Function#by` -* some fixes +* Added [`Object.getOwnPropertySymbols`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) +* Added [`NodeList.prototype[@@iterator]`](https://github.com/zloirock/core-js/#ecmascript-6-iterators) +* Added basic `@@species` logic - getter in native constructors +* Removed `Function#by` +* Some fixes ##### 0.4.5 - 2015.01.16 -* some fixes +* Some fixes ##### 0.4.4 - 2015.01.11 -* enabled CSP support +* Enabled CSP support ##### 0.4.3 - 2015.01.10 -* added `Function` instances `name` property for IE9+ +* Added `Function` instances `name` property for IE9+ ##### 0.4.2 - 2015.01.10 * `Object` static methods accept primitives * `RegExp` constructor can alter flags (IE9+) -* added `Array.prototype[Symbol.unscopables]` +* Added `Array.prototype[Symbol.unscopables]` ##### 0.4.1 - 2015.01.05 -* some fixes +* Some fixes ##### 0.4.0 - 2015.01.03 -* added [`es6.reflect`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) module: - * added `Reflect.apply` - * added `Reflect.construct` - * added `Reflect.defineProperty` - * added `Reflect.deleteProperty` - * added `Reflect.enumerate` - * added `Reflect.get` - * added `Reflect.getOwnPropertyDescriptor` - * added `Reflect.getPrototypeOf` - * added `Reflect.has` - * added `Reflect.isExtensible` - * added `Reflect.preventExtensions` - * added `Reflect.set` - * added `Reflect.setPrototypeOf` +* Added [`es6.reflect`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) module: + * Added `Reflect.apply` + * Added `Reflect.construct` + * Added `Reflect.defineProperty` + * Added `Reflect.deleteProperty` + * Added `Reflect.enumerate` + * Added `Reflect.get` + * Added `Reflect.getOwnPropertyDescriptor` + * Added `Reflect.getPrototypeOf` + * Added `Reflect.has` + * Added `Reflect.isExtensible` + * Added `Reflect.preventExtensions` + * Added `Reflect.set` + * Added `Reflect.setPrototypeOf` * `core-js` methods now can use external `Symbol.iterator` polyfill -* some fixes +* Some fixes ##### 0.3.3 - 2014.12.28 -* [console cap](https://github.com/zloirock/core-js/#console) excluded from node.js default builds +* [Console cap](https://github.com/zloirock/core-js/#console) excluded from node.js default builds ##### 0.3.2 - 2014.12.25 -* added cap for [ES5](https://github.com/zloirock/core-js/#ecmascript-5) freeze-family methods -* fixed `console` bug +* Added cap for [ES5](https://github.com/zloirock/core-js/#ecmascript-5) freeze-family methods +* Fixed `console` bug ##### 0.3.1 - 2014.12.23 -* some fixes +* Some fixes ##### 0.3.0 - 2014.12.23 * Optimize [`Map` & `Set`](https://github.com/zloirock/core-js/#ecmascript-6-collections): - * use entries chain on hash table - * fast & correct iteration - * iterators moved to [`es6`](https://github.com/zloirock/core-js/#ecmascript-6) and [`es6.collections`](https://github.com/zloirock/core-js/#ecmascript-6-collections) modules + * Use entries chain on hash table + * Fast & correct iteration + * Iterators moved to [`es6`](https://github.com/zloirock/core-js/#ecmascript-6) and [`es6.collections`](https://github.com/zloirock/core-js/#ecmascript-6-collections) modules ##### 0.2.5 - 2014.12.20 * `console` no longer shortcut for `console.log` (compatibility problems) -* some fixes +* Some fixes ##### 0.2.4 - 2014.12.17 -* better compliance of ES6 -* added [`Math.fround`](https://github.com/zloirock/core-js/#ecmascript-6-math) (IE10+) -* some fixes +* Better compliance of ES6 +* Added [`Math.fround`](https://github.com/zloirock/core-js/#ecmascript-6-math) (IE10+) +* Some fixes ##### 0.2.3 - 2014.12.15 * [Symbols](https://github.com/zloirock/core-js/#ecmascript-6-symbol): - * added option to disable addition setter to `Object.prototype` for Symbol polyfill: - * added `Symbol.useSimple` - * added `Symbol.useSetter` - * added cap for well-known Symbols: - * added `Symbol.hasInstance` - * added `Symbol.isConcatSpreadable` - * added `Symbol.match` - * added `Symbol.replace` - * added `Symbol.search` - * added `Symbol.species` - * added `Symbol.split` - * added `Symbol.toPrimitive` - * added `Symbol.unscopables` + * Added option to disable addition setter to `Object.prototype` for Symbol polyfill: + * Added `Symbol.useSimple` + * Added `Symbol.useSetter` + * Added cap for well-known Symbols: + * Added `Symbol.hasInstance` + * Added `Symbol.isConcatSpreadable` + * Added `Symbol.match` + * Added `Symbol.replace` + * Added `Symbol.search` + * Added `Symbol.species` + * Added `Symbol.split` + * Added `Symbol.toPrimitive` + * Added `Symbol.unscopables` ##### 0.2.2 - 2014.12.13 -* added [`RegExp#flags`](https://github.com/zloirock/core-js/#ecmascript-6-regexp) ([December 2014 Draft Rev 29](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#december_6_2014_draft_rev_29)) -* added [`String.raw`](https://github.com/zloirock/core-js/#ecmascript-6-string) +* Added [`RegExp#flags`](https://github.com/zloirock/core-js/#ecmascript-6-regexp) ([December 2014 Draft Rev 29](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#december_6_2014_draft_rev_29)) +* Added [`String.raw`](https://github.com/zloirock/core-js/#ecmascript-6-string) ##### 0.2.1 - 2014.12.12 -* repair converting -0 to +0 in [native collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) +* Repair converting -0 to +0 in [native collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) ##### 0.2.0 - 2014.12.06 -* added [`es7.proposals`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) and [`es7.abstract-refs`](https://github.com/zenparsing/es-abstract-refs) modules -* added [`String#at`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) -* added real [`String Iterator`](https://github.com/zloirock/core-js/#ecmascript-6-iterators), older versions used Array Iterator -* added abstract references support: - * added `Symbol.referenceGet` - * added `Symbol.referenceSet` - * added `Symbol.referenceDelete` - * added `Function#@@referenceGet` - * added `Map#@@referenceGet` - * added `Map#@@referenceSet` - * added `Map#@@referenceDelete` - * added `WeakMap#@@referenceGet` - * added `WeakMap#@@referenceSet` - * added `WeakMap#@@referenceDelete` - * added `Dict.{...methods}[@@referenceGet]` -* removed deprecated `.contains` methods -* some fixes +* Added [`es7.proposals`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) and [`es7.abstract-refs`](https://github.com/zenparsing/es-abstract-refs) modules +* Added [`String#at`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) +* Added real [`String Iterator`](https://github.com/zloirock/core-js/#ecmascript-6-iterators), older versions used Array Iterator +* Added abstract references support: + * Added `Symbol.referenceGet` + * Added `Symbol.referenceSet` + * Added `Symbol.referenceDelete` + * Added `Function#@@referenceGet` + * Added `Map#@@referenceGet` + * Added `Map#@@referenceSet` + * Added `Map#@@referenceDelete` + * Added `WeakMap#@@referenceGet` + * Added `WeakMap#@@referenceSet` + * Added `WeakMap#@@referenceDelete` + * Added `Dict.{...methods}[@@referenceGet]` +* Removed deprecated `.contains` methods +* Some fixes ##### 0.1.5 - 2014.12.01 -* added [`Array#copyWithin`](https://github.com/zloirock/core-js/#ecmascript-6-array) -* added [`String#codePointAt`](https://github.com/zloirock/core-js/#ecmascript-6-string) -* added [`String.fromCodePoint`](https://github.com/zloirock/core-js/#ecmascript-6-string) +* Added [`Array#copyWithin`](https://github.com/zloirock/core-js/#ecmascript-6-array) +* Added [`String#codePointAt`](https://github.com/zloirock/core-js/#ecmascript-6-string) +* Added [`String.fromCodePoint`](https://github.com/zloirock/core-js/#ecmascript-6-string) ##### 0.1.4 - 2014.11.27 -* added [`Dict.mapPairs`](https://github.com/zloirock/core-js/#dict) +* Added [`Dict.mapPairs`](https://github.com/zloirock/core-js/#dict) ##### 0.1.3 - 2014.11.20 * [TC39 November meeting](https://github.com/rwaldron/tc39-notes/tree/master/es6/2014-11): @@ -551,11 +657,11 @@ * `String#contains` -> [`String#includes`](https://github.com/zloirock/core-js/#ecmascript-6-string) * `Array#contains` -> [`Array#includes`](https://github.com/zloirock/core-js/#ecmascript-7-proposals) * `Dict.contains` -> [`Dict.includes`](https://github.com/zloirock/core-js/#dict) - * [removed `WeakMap#clear`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm) - * [removed `WeakSet#clear`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm) + * [Removed `WeakMap#clear`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm) + * [Removed `WeakSet#clear`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm) ##### 0.1.2 - 2014.11.19 * `Map` & `Set` bug fix ##### 0.1.1 - 2014.11.18 -* public release \ No newline at end of file +* Public release \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/Gruntfile.js b/build/js-transpiled/node_modules/core-js/Gruntfile.js index afbcd948..02b832c7 100644 --- a/build/js-transpiled/node_modules/core-js/Gruntfile.js +++ b/build/js-transpiled/node_modules/core-js/Gruntfile.js @@ -1,2 +1,3 @@ require('LiveScript'); -module.exports = require('./build/Gruntfile'); \ No newline at end of file +// eslint-disable-next-line import/no-unresolved +module.exports = require('./build/Gruntfile'); diff --git a/build/js-transpiled/node_modules/core-js/LICENSE b/build/js-transpiled/node_modules/core-js/LICENSE index c99b842d..44ff6d0e 100644 --- a/build/js-transpiled/node_modules/core-js/LICENSE +++ b/build/js-transpiled/node_modules/core-js/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2014-2016 Denis Pushkarev +Copyright (c) 2014-2018 Denis Pushkarev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/build/js-transpiled/node_modules/core-js/README.md b/build/js-transpiled/node_modules/core-js/README.md new file mode 100644 index 00000000..7cfbe89d --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/README.md @@ -0,0 +1,2289 @@ +# core-js + +[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![version](https://img.shields.io/npm/v/core-js.svg)](https://www.npmjs.com/package/core-js) [![npm downloads](https://img.shields.io/npm/dm/core-js.svg)](http://npm-stat.com/charts.html?package=core-js&author=&from=2014-11-18) [![Build Status](https://travis-ci.org/zloirock/core-js.svg)](https://travis-ci.org/zloirock/core-js) [![devDependency status](https://david-dm.org/zloirock/core-js/dev-status.svg)](https://david-dm.org/zloirock/core-js?type=dev) +#### As advertising: the author is looking for a good job :) + +Modular standard library for JavaScript. Includes polyfills for [ECMAScript 5](#ecmascript-5), [ECMAScript 6](#ecmascript-6): [promises](#ecmascript-6-promise), [symbols](#ecmascript-6-symbol), [collections](#ecmascript-6-collections), iterators, [typed arrays](#ecmascript-6-typed-arrays), [ECMAScript 7+ proposals](#ecmascript-7-proposals), [setImmediate](#setimmediate), etc. Some additional features such as [dictionaries](#dict) or [extended partial application](#partial-application). You can require only needed features or use it without global namespace pollution. + +[*Example*](http://goo.gl/a2xexl): +```js +Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3] +'*'.repeat(10); // => '**********' +Promise.resolve(32).then(x => console.log(x)); // => 32 +setImmediate(x => console.log(x), 42); // => 42 +``` + +[*Without global namespace pollution*](http://goo.gl/paOHb0): +```js +var core = require('core-js/library'); // With a modular system, otherwise use global `core` +core.Array.from(new core.Set([1, 2, 3, 2, 1])); // => [1, 2, 3] +core.String.repeat('*', 10); // => '**********' +core.Promise.resolve(32).then(x => console.log(x)); // => 32 +core.setImmediate(x => console.log(x), 42); // => 42 +``` + +### Index +- [Usage](#usage) + - [Basic](#basic) + - [CommonJS](#commonjs) + - [Custom build](#custom-build-from-the-command-line) +- [Supported engines](#supported-engines) +- [Features](#features) + - [ECMAScript 5](#ecmascript-5) + - [ECMAScript 6](#ecmascript-6) + - [ECMAScript 6: Object](#ecmascript-6-object) + - [ECMAScript 6: Function](#ecmascript-6-function) + - [ECMAScript 6: Array](#ecmascript-6-array) + - [ECMAScript 6: String](#ecmascript-6-string) + - [ECMAScript 6: RegExp](#ecmascript-6-regexp) + - [ECMAScript 6: Number](#ecmascript-6-number) + - [ECMAScript 6: Math](#ecmascript-6-math) + - [ECMAScript 6: Date](#ecmascript-6-date) + - [ECMAScript 6: Promise](#ecmascript-6-promise) + - [ECMAScript 6: Symbol](#ecmascript-6-symbol) + - [ECMAScript 6: Collections](#ecmascript-6-collections) + - [ECMAScript 6: Typed Arrays](#ecmascript-6-typed-arrays) + - [ECMAScript 6: Reflect](#ecmascript-6-reflect) + - [ECMAScript 7+ proposals](#ecmascript-7-proposals) + - [stage 4 proposals](#stage-4-proposals) + - [stage 3 proposals](#stage-3-proposals) + - [stage 2 proposals](#stage-2-proposals) + - [stage 1 proposals](#stage-1-proposals) + - [stage 0 proposals](#stage-0-proposals) + - [pre-stage 0 proposals](#pre-stage-0-proposals) + - [Web standards](#web-standards) + - [setTimeout / setInterval](#settimeout--setinterval) + - [setImmediate](#setimmediate) + - [iterable DOM collections](#iterable-dom-collections) + - [Non-standard](#non-standard) + - [Object](#object) + - [Dict](#dict) + - [partial application](#partial-application) + - [Number Iterator](#number-iterator) + - [escaping strings](#escaping-strings) + - [delay](#delay) + - [helpers for iterators](#helpers-for-iterators) +- [Missing polyfills](#missing-polyfills) +- [Changelog](./CHANGELOG.md) + +## Usage +### Basic +``` +npm i core-js +bower install core.js +``` + +```js +// Default +require('core-js'); +// Without global namespace pollution +var core = require('core-js/library'); +// Shim only +require('core-js/shim'); +``` +If you need complete build for browser, use builds from `core-js/client` path: + +* [default](https://raw.githack.com/zloirock/core-js/v2.5.7/client/core.min.js): Includes all features, standard and non-standard. +* [as a library](https://raw.githack.com/zloirock/core-js/v2.5.7/client/library.min.js): Like "default", but does not pollute the global namespace (see [2nd example at the top](#core-js)). +* [shim only](https://raw.githack.com/zloirock/core-js/v2.5.7/client/shim.min.js): Only includes the standard methods. + +Warning: if you use `core-js` with the extension of native objects, require all needed `core-js` modules at the beginning of entry point of your application, otherwise, conflicts may occur. + +### CommonJS +You can require only needed modules. + +```js +require('core-js/fn/set'); +require('core-js/fn/array/from'); +require('core-js/fn/array/find-index'); +Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3] +[1, 2, NaN, 3, 4].findIndex(isNaN); // => 2 + +// or, w/o global namespace pollution: + +var Set = require('core-js/library/fn/set'); +var from = require('core-js/library/fn/array/from'); +var findIndex = require('core-js/library/fn/array/find-index'); +from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3] +findIndex([1, 2, NaN, 3, 4], isNaN); // => 2 +``` +Available entry points for methods / constructors, as above examples, and namespaces: for example, `core-js/es6/array` (`core-js/library/es6/array`) contains all [ES6 `Array` features](#ecmascript-6-array), `core-js/es6` (`core-js/library/es6`) contains all ES6 features. + +##### Caveats when using CommonJS API: + +* `modules` path is internal API, does not inject all required dependencies and can be changed in minor or patch releases. Use it only for a custom build and / or if you know what are you doing. +* `core-js` is extremely modular and uses a lot of very tiny modules, because of that for usage in browsers bundle up `core-js` instead of usage loader for each file, otherwise, you will have hundreds of requests. + +#### CommonJS and prototype methods without global namespace pollution +In the `library` version, we can't pollute prototypes of native constructors. Because of that, prototype methods transformed to static methods like in examples above. `babel` `runtime` transformer also can't transform them. But with transpilers we can use one more trick - [bind operator and virtual methods](https://github.com/zenparsing/es-function-bind). Special for that, available `/virtual/` entry points. Example: +```js +import fill from 'core-js/library/fn/array/virtual/fill'; +import findIndex from 'core-js/library/fn/array/virtual/find-index'; + +Array(10)::fill(0).map((a, b) => b * b)::findIndex(it => it && !(it % 8)); // => 4 + +// or + +import {fill, findIndex} from 'core-js/library/fn/array/virtual'; + +Array(10)::fill(0).map((a, b) => b * b)::findIndex(it => it && !(it % 8)); // => 4 + +``` + +### Custom build (from the command-line) +``` +npm i core-js && cd node_modules/core-js && npm i +npm run grunt build:core.dict,es6 -- --blacklist=es6.promise,es6.math --library=on --path=custom uglify +``` +Where `core.dict` and `es6` are modules (namespaces) names, which will be added to the build, `es6.promise` and `es6.math` are modules (namespaces) names, which will be excluded from the build, `--library=on` is flag for build without global namespace pollution and `custom` is target file name. + +Available namespaces: for example, `es6.array` contains [ES6 `Array` features](#ecmascript-6-array), `es6` contains all modules whose names start with `es6`. + +### Custom build (from external scripts) + +[`core-js-builder`](https://www.npmjs.com/package/core-js-builder) package exports a function that takes the same parameters as the `build` target from the previous section. This will conditionally include or exclude certain parts of `core-js`: + +```js +require('core-js-builder')({ + modules: ['es6', 'core.dict'], // modules / namespaces + blacklist: ['es6.reflect'], // blacklist of modules / namespaces, by default - empty list + library: false, // flag for build without global namespace pollution, by default - false + umd: true // use UMD wrapper for export `core` object, by default - true +}).then(code => { + // ... +}).catch(error => { + // ... +}); +``` +## Supported engines +**Tested in:** +- Chrome 26+ +- Firefox 4+ +- Safari 5+ +- Opera 12+ +- Internet Explorer 6+ (sure, IE8- with ES3 limitations) +- Edge +- Android Browser 2.3+ +- iOS Safari 5.1+ +- PhantomJS 1.9 / 2.1 +- NodeJS 0.8+ + +...and it doesn't mean `core-js` will not work in other engines, they just have not been tested. + +## Features: +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library) <- all features +core-js(/library)/shim <- only polyfills +``` +### ECMAScript 5 +All features moved to the [`es6` namespace](#ecmascript-6), here just a list of features: +```js +Object + .create(proto | null, descriptors?) -> object + .getPrototypeOf(object) -> proto | null + .defineProperty(target, key, desc) -> target, cap for ie8- + .defineProperties(target, descriptors) -> target, cap for ie8- + .getOwnPropertyDescriptor(object, key) -> desc + .getOwnPropertyNames(object) -> array + .keys(object) -> array + .seal(object) -> object, cap for ie8- + .freeze(object) -> object, cap for ie8- + .preventExtensions(object) -> object, cap for ie8- + .isSealed(object) -> bool, cap for ie8- + .isFrozen(object) -> bool, cap for ie8- + .isExtensible(object) -> bool, cap for ie8- +Array + .isArray(var) -> bool + #slice(start?, end?) -> array, fix for ie7- + #join(string = ',') -> string, fix for ie7- + #indexOf(var, from?) -> int + #lastIndexOf(var, from?) -> int + #every(fn(val, index, @), that) -> bool + #some(fn(val, index, @), that) -> bool + #forEach(fn(val, index, @), that) -> void + #map(fn(val, index, @), that) -> array + #filter(fn(val, index, @), that) -> array + #reduce(fn(memo, val, index, @), memo?) -> var + #reduceRight(fn(memo, val, index, @), memo?) -> var + #sort(fn?) -> @, fixes for some engines +Function + #bind(object, ...args) -> boundFn(...args) +String + #split(separator, limit) -> array + #trim() -> str +RegExp + #toString() -> str +Number + #toFixed(digits) -> string + #toPrecision(precision) -> string +parseInt(str, radix) -> int +parseFloat(str) -> num +Date + .now() -> int + #toISOString() -> string + #toJSON() -> string +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es5 +``` + +### ECMAScript 6 +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6 +``` +#### ECMAScript 6: Object +Modules [`es6.object.assign`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.assign.js), [`es6.object.is`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.is.js), [`es6.object.set-prototype-of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.set-prototype-of.js) and [`es6.object.to-string`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.to-string.js). + +In ES6 most `Object` static methods should work with primitives. Modules [`es6.object.freeze`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.freeze.js), [`es6.object.seal`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.seal.js), [`es6.object.prevent-extensions`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.prevent-extensions.js), [`es6.object.is-frozen`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.is-frozen.js), [`es6.object.is-sealed`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.is-sealed.js), [`es6.object.is-extensible`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.is-extensible.js), [`es6.object.get-own-property-descriptor`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.get-own-property-descriptor.js), [`es6.object.get-prototype-of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.get-prototype-of.js), [`es6.object.keys`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.keys.js) and [`es6.object.get-own-property-names`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.get-own-property-names.js). + +Just ES5 features: [`es6.object.create`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.create.js), [`es6.object.define-property`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.define-property.js) and [`es6.object.define-properties`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.object.es6.object.define-properties.js). +```js +Object + .assign(target, ...src) -> target + .is(a, b) -> bool + .setPrototypeOf(target, proto | null) -> target (required __proto__ - IE11+) + .create(object | null, descriptors?) -> object + .getPrototypeOf(var) -> object | null + .defineProperty(object, key, desc) -> target + .defineProperties(object, descriptors) -> target + .getOwnPropertyDescriptor(var, key) -> desc | undefined + .keys(var) -> array + .getOwnPropertyNames(var) -> array + .freeze(var) -> var + .seal(var) -> var + .preventExtensions(var) -> var + .isFrozen(var) -> bool + .isSealed(var) -> bool + .isExtensible(var) -> bool + #toString() -> string, ES6 fix: @@toStringTag support +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/object +core-js(/library)/fn/object/assign +core-js(/library)/fn/object/is +core-js(/library)/fn/object/set-prototype-of +core-js(/library)/fn/object/get-prototype-of +core-js(/library)/fn/object/create +core-js(/library)/fn/object/define-property +core-js(/library)/fn/object/define-properties +core-js(/library)/fn/object/get-own-property-descriptor +core-js(/library)/fn/object/keys +core-js(/library)/fn/object/get-own-property-names +core-js(/library)/fn/object/freeze +core-js(/library)/fn/object/seal +core-js(/library)/fn/object/prevent-extensions +core-js(/library)/fn/object/is-frozen +core-js(/library)/fn/object/is-sealed +core-js(/library)/fn/object/is-extensible +core-js/fn/object/to-string +``` +[*Examples*](http://goo.gl/ywdwPz): +```js +var foo = {q: 1, w: 2} + , bar = {e: 3, r: 4} + , baz = {t: 5, y: 6}; +Object.assign(foo, bar, baz); // => foo = {q: 1, w: 2, e: 3, r: 4, t: 5, y: 6} + +Object.is(NaN, NaN); // => true +Object.is(0, -0); // => false +Object.is(42, 42); // => true +Object.is(42, '42'); // => false + +function Parent(){} +function Child(){} +Object.setPrototypeOf(Child.prototype, Parent.prototype); +new Child instanceof Child; // => true +new Child instanceof Parent; // => true + +var O = {}; +O[Symbol.toStringTag] = 'Foo'; +'' + O; // => '[object Foo]' + +Object.keys('qwe'); // => ['0', '1', '2'] +Object.getPrototypeOf('qwe') === String.prototype; // => true +``` +#### ECMAScript 6: Function +Modules [`es6.function.name`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.function.name.js), [`es6.function.has-instance`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.function.has-instance.js). Just ES5: [`es6.function.bind`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.function.bind.js). +```js +Function + #bind(object, ...args) -> boundFn(...args) + #name -> string (IE9+) + #@@hasInstance(var) -> bool +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js/es6/function +core-js/fn/function/name +core-js/fn/function/has-instance +core-js/fn/function/bind +core-js/fn/function/virtual/bind +``` +[*Example*](http://goo.gl/zqu3Wp): +```js +(function foo(){}).name // => 'foo' + +console.log.bind(console, 42)(43); // => 42 43 +``` +#### ECMAScript 6: Array +Modules [`es6.array.from`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.from.js), [`es6.array.of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.of.js), [`es6.array.copy-within`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.copy-within.js), [`es6.array.fill`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.fill.js), [`es6.array.find`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.find.js), [`es6.array.find-index`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.find-index.js), [`es6.array.iterator`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.iterator.js). ES5 features with fixes: [`es6.array.is-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.is-array.js), [`es6.array.slice`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.slice.js), [`es6.array.join`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.join.js), [`es6.array.index-of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.index-of.js), [`es6.array.last-index-of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.last-index-of.js), [`es6.array.every`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.every.js), [`es6.array.some`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.some.js), [`es6.array.for-each`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.for-each.js), [`es6.array.map`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.map.js), [`es6.array.filter`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.filter.js), [`es6.array.reduce`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.reduce.js), [`es6.array.reduce-right`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.reduce-right.js), [`es6.array.sort`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.array.sort.js). +```js +Array + .from(iterable | array-like, mapFn(val, index)?, that) -> array + .of(...args) -> array + .isArray(var) -> bool + #copyWithin(target = 0, start = 0, end = @length) -> @ + #fill(val, start = 0, end = @length) -> @ + #find(fn(val, index, @), that) -> val + #findIndex(fn(val, index, @), that) -> index | -1 + #values() -> iterator + #keys() -> iterator + #entries() -> iterator + #join(string = ',') -> string, fix for ie7- + #slice(start?, end?) -> array, fix for ie7- + #indexOf(var, from?) -> index | -1 + #lastIndexOf(var, from?) -> index | -1 + #every(fn(val, index, @), that) -> bool + #some(fn(val, index, @), that) -> bool + #forEach(fn(val, index, @), that) -> void + #map(fn(val, index, @), that) -> array + #filter(fn(val, index, @), that) -> array + #reduce(fn(memo, val, index, @), memo?) -> var + #reduceRight(fn(memo, val, index, @), memo?) -> var + #sort(fn?) -> @, invalid arguments fix + #@@iterator() -> iterator (values) + #@@unscopables -> object (cap) +Arguments + #@@iterator() -> iterator (values, available only in core-js methods) +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/array +core-js(/library)/fn/array/from +core-js(/library)/fn/array/of +core-js(/library)/fn/array/is-array +core-js(/library)/fn/array/iterator +core-js(/library)/fn/array/copy-within +core-js(/library)/fn/array/fill +core-js(/library)/fn/array/find +core-js(/library)/fn/array/find-index +core-js(/library)/fn/array/values +core-js(/library)/fn/array/keys +core-js(/library)/fn/array/entries +core-js(/library)/fn/array/slice +core-js(/library)/fn/array/join +core-js(/library)/fn/array/index-of +core-js(/library)/fn/array/last-index-of +core-js(/library)/fn/array/every +core-js(/library)/fn/array/some +core-js(/library)/fn/array/for-each +core-js(/library)/fn/array/map +core-js(/library)/fn/array/filter +core-js(/library)/fn/array/reduce +core-js(/library)/fn/array/reduce-right +core-js(/library)/fn/array/sort +core-js(/library)/fn/array/virtual/iterator +core-js(/library)/fn/array/virtual/copy-within +core-js(/library)/fn/array/virtual/fill +core-js(/library)/fn/array/virtual/find +core-js(/library)/fn/array/virtual/find-index +core-js(/library)/fn/array/virtual/values +core-js(/library)/fn/array/virtual/keys +core-js(/library)/fn/array/virtual/entries +core-js(/library)/fn/array/virtual/slice +core-js(/library)/fn/array/virtual/join +core-js(/library)/fn/array/virtual/index-of +core-js(/library)/fn/array/virtual/last-index-of +core-js(/library)/fn/array/virtual/every +core-js(/library)/fn/array/virtual/some +core-js(/library)/fn/array/virtual/for-each +core-js(/library)/fn/array/virtual/map +core-js(/library)/fn/array/virtual/filter +core-js(/library)/fn/array/virtual/reduce +core-js(/library)/fn/array/virtual/reduce-right +core-js(/library)/fn/array/virtual/sort +``` +[*Examples*](http://goo.gl/oaUFUf): +```js +Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3] +Array.from({0: 1, 1: 2, 2: 3, length: 3}); // => [1, 2, 3] +Array.from('123', Number); // => [1, 2, 3] +Array.from('123', function(it){ + return it * it; +}); // => [1, 4, 9] + +Array.of(1); // => [1] +Array.of(1, 2, 3); // => [1, 2, 3] + +var array = ['a', 'b', 'c']; + +for(var val of array)console.log(val); // => 'a', 'b', 'c' +for(var val of array.values())console.log(val); // => 'a', 'b', 'c' +for(var key of array.keys())console.log(key); // => 0, 1, 2 +for(var [key, val] of array.entries()){ + console.log(key); // => 0, 1, 2 + console.log(val); // => 'a', 'b', 'c' +} + +function isOdd(val){ + return val % 2; +} +[4, 8, 15, 16, 23, 42].find(isOdd); // => 15 +[4, 8, 15, 16, 23, 42].findIndex(isOdd); // => 2 +[4, 8, 15, 16, 23, 42].find(isNaN); // => undefined +[4, 8, 15, 16, 23, 42].findIndex(isNaN); // => -1 + +Array(5).fill(42); // => [42, 42, 42, 42, 42] + +[1, 2, 3, 4, 5].copyWithin(0, 3); // => [4, 5, 3, 4, 5] +``` +#### ECMAScript 6: String +Modules [`es6.string.from-code-point`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.from-code-point.js), [`es6.string.raw`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.raw.js), [`es6.string.iterator`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.iterator.js), [`es6.string.code-point-at`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.code-point-at.js), [`es6.string.ends-with`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.ends-with.js), [`es6.string.includes`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.includes.js), [`es6.string.repeat`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.repeat.js), [`es6.string.starts-with`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.starts-with.js) and [`es6.string.trim`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.trim.js). + +Annex B HTML methods. Ugly, but it's also the part of the spec. Modules [`es6.string.anchor`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.anchor.js), [`es6.string.big`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.big.js), [`es6.string.blink`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.blink.js), [`es6.string.bold`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.bold.js), [`es6.string.fixed`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.fixed.js), [`es6.string.fontcolor`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.fontcolor.js), [`es6.string.fontsize`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.fontsize.js), [`es6.string.italics`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.italics.js), [`es6.string.link`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.link.js), [`es6.string.small`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.small.js), [`es6.string.strike`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.strike.js), [`es6.string.sub`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.sub.js) and [`es6.string.sup`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.string.sup.js). +```js +String + .fromCodePoint(...codePoints) -> str + .raw({raw}, ...substitutions) -> str + #includes(str, from?) -> bool + #startsWith(str, from?) -> bool + #endsWith(str, from?) -> bool + #repeat(num) -> str + #codePointAt(pos) -> uint + #trim() -> str, ES6 fix + #anchor(name) -> str + #big() -> str + #blink() -> str + #bold() -> str + #fixed() -> str + #fontcolor(color) -> str + #fontsize(size) -> str + #italics() -> str + #link(url) -> str + #small() -> str + #strike() -> str + #sub() -> str + #sup() -> str + #@@iterator() -> iterator (code points) +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/string +core-js(/library)/fn/string/from-code-point +core-js(/library)/fn/string/raw +core-js(/library)/fn/string/includes +core-js(/library)/fn/string/starts-with +core-js(/library)/fn/string/ends-with +core-js(/library)/fn/string/repeat +core-js(/library)/fn/string/code-point-at +core-js(/library)/fn/string/trim +core-js(/library)/fn/string/anchor +core-js(/library)/fn/string/big +core-js(/library)/fn/string/blink +core-js(/library)/fn/string/bold +core-js(/library)/fn/string/fixed +core-js(/library)/fn/string/fontcolor +core-js(/library)/fn/string/fontsize +core-js(/library)/fn/string/italics +core-js(/library)/fn/string/link +core-js(/library)/fn/string/small +core-js(/library)/fn/string/strike +core-js(/library)/fn/string/sub +core-js(/library)/fn/string/sup +core-js(/library)/fn/string/iterator +core-js(/library)/fn/string/virtual/includes +core-js(/library)/fn/string/virtual/starts-with +core-js(/library)/fn/string/virtual/ends-with +core-js(/library)/fn/string/virtual/repeat +core-js(/library)/fn/string/virtual/code-point-at +core-js(/library)/fn/string/virtual/trim +core-js(/library)/fn/string/virtual/anchor +core-js(/library)/fn/string/virtual/big +core-js(/library)/fn/string/virtual/blink +core-js(/library)/fn/string/virtual/bold +core-js(/library)/fn/string/virtual/fixed +core-js(/library)/fn/string/virtual/fontcolor +core-js(/library)/fn/string/virtual/fontsize +core-js(/library)/fn/string/virtual/italics +core-js(/library)/fn/string/virtual/link +core-js(/library)/fn/string/virtual/small +core-js(/library)/fn/string/virtual/strike +core-js(/library)/fn/string/virtual/sub +core-js(/library)/fn/string/virtual/sup +core-js(/library)/fn/string/virtual/iterator +``` +[*Examples*](http://goo.gl/3UaQ93): +```js +for(var val of 'a𠮷b'){ + console.log(val); // => 'a', '𠮷', 'b' +} + +'foobarbaz'.includes('bar'); // => true +'foobarbaz'.includes('bar', 4); // => false +'foobarbaz'.startsWith('foo'); // => true +'foobarbaz'.startsWith('bar', 3); // => true +'foobarbaz'.endsWith('baz'); // => true +'foobarbaz'.endsWith('bar', 6); // => true + +'string'.repeat(3); // => 'stringstringstring' + +'𠮷'.codePointAt(0); // => 134071 +String.fromCodePoint(97, 134071, 98); // => 'a𠮷b' + +var name = 'Bob'; +String.raw`Hi\n${name}!`; // => 'Hi\\nBob!' (ES6 template string syntax) +String.raw({raw: 'test'}, 0, 1, 2); // => 't0e1s2t' + +'foo'.bold(); // => 'foo' +'bar'.anchor('a"b'); // => 'bar' +'baz'.link('http://example.com'); // => 'baz' +``` +#### ECMAScript 6: RegExp +Modules [`es6.regexp.constructor`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.regexp.constructor.js) and [`es6.regexp.flags`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.regexp.flags.js). + +Support well-known [symbols](#ecmascript-6-symbol) `@@match`, `@@replace`, `@@search` and `@@split`, modules [`es6.regexp.match`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.regexp.match.js), [`es6.regexp.replace`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.regexp.replace.js), [`es6.regexp.search`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.regexp.search.js) and [`es6.regexp.split`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.regexp.split.js). +``` +[new] RegExp(pattern, flags?) -> regexp, ES6 fix: can alter flags (IE9+) + #flags -> str (IE9+) + #toString() -> str, ES6 fixes + #@@match(str) -> array | null + #@@replace(str, replacer) -> string + #@@search(str) -> index + #@@split(str, limit) -> array +String + #match(tpl) -> var, ES6 fix for support @@match + #replace(tpl, replacer) -> var, ES6 fix for support @@replace + #search(tpl) -> var, ES6 fix for support @@search + #split(tpl, limit) -> var, ES6 fix for support @@split, some fixes for old engines +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js/es6/regexp +core-js/fn/regexp/constructor +core-js(/library)/fn/regexp/flags +core-js/fn/regexp/to-string +core-js/fn/regexp/match +core-js/fn/regexp/replace +core-js/fn/regexp/search +core-js/fn/regexp/split +``` +[*Examples*](http://goo.gl/PiJxBD): +```js +RegExp(/./g, 'm'); // => /./m + +/foo/.flags; // => '' +/foo/gim.flags; // => 'gim' + +'foo'.match({[Symbol.match]: _ => 1}); // => 1 +'foo'.replace({[Symbol.replace]: _ => 2}); // => 2 +'foo'.search({[Symbol.search]: _ => 3}); // => 3 +'foo'.split({[Symbol.split]: _ => 4}); // => 4 + +RegExp.prototype.toString.call({source: 'foo', flags: 'bar'}); // => '/foo/bar' +``` +#### ECMAScript 6: Number +Module [`es6.number.constructor`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.constructor.js). `Number` constructor support binary and octal literals, [*example*](http://goo.gl/jRd6b3): +```js +Number('0b1010101'); // => 85 +Number('0o7654321'); // => 2054353 +``` +Modules [`es6.number.epsilon`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.epsilon.js), [`es6.number.is-finite`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.is-finite.js), [`es6.number.is-integer`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.is-integer.js), [`es6.number.is-nan`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.is-nan.js), [`es6.number.is-safe-integer`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.is-safe-integer.js), [`es6.number.max-safe-integer`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.max-safe-integer.js), [`es6.number.min-safe-integer`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.min-safe-integer.js), [`es6.number.parse-float`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.parse-float.js), [`es6.number.parse-int`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.parse-int.js), [`es6.number.to-fixed`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.to-fixed.js), [`es6.number.to-precision`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.number.to-precision.js), [`es6.parse-int`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.parse-int.js), [`es6.parse-float`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.parse-float.js). +```js +[new] Number(var) -> number | number object + .isFinite(num) -> bool + .isNaN(num) -> bool + .isInteger(num) -> bool + .isSafeInteger(num) -> bool + .parseFloat(str) -> num + .parseInt(str) -> int + .EPSILON -> num + .MAX_SAFE_INTEGER -> int + .MIN_SAFE_INTEGER -> int + #toFixed(digits) -> string, fixes + #toPrecision(precision) -> string, fixes +parseFloat(str) -> num, fixes +parseInt(str) -> int, fixes +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/number +core-js/es6/number/constructor +core-js(/library)/fn/number/is-finite +core-js(/library)/fn/number/is-nan +core-js(/library)/fn/number/is-integer +core-js(/library)/fn/number/is-safe-integer +core-js(/library)/fn/number/parse-float +core-js(/library)/fn/number/parse-int +core-js(/library)/fn/number/epsilon +core-js(/library)/fn/number/max-safe-integer +core-js(/library)/fn/number/min-safe-integer +core-js(/library)/fn/number/to-fixed +core-js(/library)/fn/number/to-precision +core-js(/library)/fn/parse-float +core-js(/library)/fn/parse-int +``` +#### ECMAScript 6: Math +Modules [`es6.math.acosh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.acosh.js), [`es6.math.asinh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.asinh.js), [`es6.math.atanh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.atanh.js), [`es6.math.cbrt`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.cbrt.js), [`es6.math.clz32`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.clz32.js), [`es6.math.cosh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.cosh.js), [`es6.math.expm1`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.expm1.js), [`es6.math.fround`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.fround.js), [`es6.math.hypot`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.hypot.js), [`es6.math.imul`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.imul.js), [`es6.math.log10`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.log10.js), [`es6.math.log1p`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.log1p.js), [`es6.math.log2`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.log2.js), [`es6.math.sign`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.sign.js), [`es6.math.sinh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.sinh.js), [`es6.math.tanh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.tanh.js), [`es6.math.trunc`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.math.trunc.js). +```js +Math + .acosh(num) -> num + .asinh(num) -> num + .atanh(num) -> num + .cbrt(num) -> num + .clz32(num) -> uint + .cosh(num) -> num + .expm1(num) -> num + .fround(num) -> num + .hypot(...args) -> num + .imul(num, num) -> int + .log1p(num) -> num + .log10(num) -> num + .log2(num) -> num + .sign(num) -> 1 | -1 | 0 | -0 | NaN + .sinh(num) -> num + .tanh(num) -> num + .trunc(num) -> num +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/math +core-js(/library)/fn/math/acosh +core-js(/library)/fn/math/asinh +core-js(/library)/fn/math/atanh +core-js(/library)/fn/math/cbrt +core-js(/library)/fn/math/clz32 +core-js(/library)/fn/math/cosh +core-js(/library)/fn/math/expm1 +core-js(/library)/fn/math/fround +core-js(/library)/fn/math/hypot +core-js(/library)/fn/math/imul +core-js(/library)/fn/math/log1p +core-js(/library)/fn/math/log10 +core-js(/library)/fn/math/log2 +core-js(/library)/fn/math/sign +core-js(/library)/fn/math/sinh +core-js(/library)/fn/math/tanh +core-js(/library)/fn/math/trunc +``` +#### ECMAScript 6: Date +Modules [`es6.date.to-string`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.date.to-string.js), ES5 features with fixes: [`es6.date.now`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.date.now.js), [`es6.date.to-iso-string`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.date.to-iso-string.js), [`es6.date.to-json`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.date.to-json.js) and [`es6.date.to-primitive`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.date.to-primitive.js). +```js +Date + .now() -> int + #toISOString() -> string + #toJSON() -> string + #toString() -> string + #@@toPrimitive(hint) -> primitive +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js/es6/date +core-js/fn/date/to-string +core-js(/library)/fn/date/now +core-js(/library)/fn/date/to-iso-string +core-js(/library)/fn/date/to-json +core-js(/library)/fn/date/to-primitive +``` +[*Example*](http://goo.gl/haeHLR): +```js +new Date(NaN).toString(); // => 'Invalid Date' +``` + +#### ECMAScript 6: Promise +Module [`es6.promise`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.promise.js). +```js +new Promise(executor(resolve(var), reject(var))) -> promise + #then(resolved(var), rejected(var)) -> promise + #catch(rejected(var)) -> promise + .resolve(promise | var) -> promise + .reject(var) -> promise + .all(iterable) -> promise + .race(iterable) -> promise +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/promise +core-js(/library)/fn/promise +``` +Basic [*example*](http://goo.gl/vGrtUC): +```js +function sleepRandom(time){ + return new Promise(function(resolve, reject){ + setTimeout(resolve, time * 1e3, 0 | Math.random() * 1e3); + }); +} + +console.log('Run'); // => Run +sleepRandom(5).then(function(result){ + console.log(result); // => 869, after 5 sec. + return sleepRandom(10); +}).then(function(result){ + console.log(result); // => 202, after 10 sec. +}).then(function(){ + console.log('immediately after'); // => immediately after + throw Error('Irror!'); +}).then(function(){ + console.log('will not be displayed'); +}).catch(x => console.log(x)); // => => Error: Irror! +``` +`Promise.resolve` and `Promise.reject` [*example*](http://goo.gl/vr8TN3): +```js +Promise.resolve(42).then(x => console.log(x)); // => 42 +Promise.reject(42).catch(x => console.log(x)); // => 42 + +Promise.resolve($.getJSON('/data.json')); // => ES6 promise +``` +`Promise.all` [*example*](http://goo.gl/RdoDBZ): +```js +Promise.all([ + 'foo', + sleepRandom(5), + sleepRandom(15), + sleepRandom(10) // after 15 sec: +]).then(x => console.log(x)); // => ['foo', 956, 85, 382] +``` +`Promise.race` [*example*](http://goo.gl/L8ovkJ): +```js +function timeLimit(promise, time){ + return Promise.race([promise, new Promise(function(resolve, reject){ + setTimeout(reject, time * 1e3, Error('Await > ' + time + ' sec')); + })]); +} + +timeLimit(sleepRandom(5), 10).then(x => console.log(x)); // => 853, after 5 sec. +timeLimit(sleepRandom(15), 10).catch(x => console.log(x)); // Error: Await > 10 sec +``` +ECMAScript 7 [async functions](https://tc39.github.io/ecmascript-asyncawait) [example](http://goo.gl/wnQS4j): +```js +var delay = time => new Promise(resolve => setTimeout(resolve, time)) + +async function sleepRandom(time){ + await delay(time * 1e3); + return 0 | Math.random() * 1e3; +}; +async function sleepError(time, msg){ + await delay(time * 1e3); + throw Error(msg); +}; + +(async () => { + try { + console.log('Run'); // => Run + console.log(await sleepRandom(5)); // => 936, after 5 sec. + var [a, b, c] = await Promise.all([ + sleepRandom(5), + sleepRandom(15), + sleepRandom(10) + ]); + console.log(a, b, c); // => 210 445 71, after 15 sec. + await sleepError(5, 'Irror!'); + console.log('Will not be displayed'); + } catch(e){ + console.log(e); // => Error: 'Irror!', after 5 sec. + } +})(); +``` + +##### Unhandled rejection tracking + +In Node.js, like in native implementation, available events [`unhandledRejection`](https://nodejs.org/api/process.html#process_event_unhandledrejection) and [`rejectionHandled`](https://nodejs.org/api/process.html#process_event_rejectionhandled): +```js +process.on('unhandledRejection', (reason, promise) => console.log('unhandled', reason, promise)); +process.on('rejectionHandled', (promise) => console.log('handled', promise)); + +var p = Promise.reject(42); +// unhandled 42 [object Promise] + +setTimeout(() => p.catch(_ => _), 1e3); +// handled [object Promise] +``` +In a browser on rejection, by default, you will see notify in the console, or you can add a custom handler and a handler on handling unhandled, [*example*](http://goo.gl/Wozskl): +```js +window.onunhandledrejection = e => console.log('unhandled', e.reason, e.promise); +window.onrejectionhandled = e => console.log('handled', e.reason, e.promise); + +var p = Promise.reject(42); +// unhandled 42 [object Promise] + +setTimeout(() => p.catch(_ => _), 1e3); +// handled 42 [object Promise] +``` + +#### ECMAScript 6: Symbol +Module [`es6.symbol`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.symbol.js). +```js +Symbol(description?) -> symbol + .hasInstance -> @@hasInstance + .isConcatSpreadable -> @@isConcatSpreadable + .iterator -> @@iterator + .match -> @@match + .replace -> @@replace + .search -> @@search + .species -> @@species + .split -> @@split + .toPrimitive -> @@toPrimitive + .toStringTag -> @@toStringTag + .unscopables -> @@unscopables + .for(key) -> symbol + .keyFor(symbol) -> key + .useSimple() -> void + .useSetter() -> void +Object + .getOwnPropertySymbols(object) -> array +``` +Also wrapped some methods for correct work with `Symbol` polyfill. +```js +Object + .create(proto | null, descriptors?) -> object + .defineProperty(target, key, desc) -> target + .defineProperties(target, descriptors) -> target + .getOwnPropertyDescriptor(var, key) -> desc | undefined + .getOwnPropertyNames(var) -> array + #propertyIsEnumerable(key) -> bool +JSON + .stringify(target, replacer?, space?) -> string | undefined +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/symbol +core-js(/library)/fn/symbol +core-js(/library)/fn/symbol/has-instance +core-js(/library)/fn/symbol/is-concat-spreadable +core-js(/library)/fn/symbol/iterator +core-js(/library)/fn/symbol/match +core-js(/library)/fn/symbol/replace +core-js(/library)/fn/symbol/search +core-js(/library)/fn/symbol/species +core-js(/library)/fn/symbol/split +core-js(/library)/fn/symbol/to-primitive +core-js(/library)/fn/symbol/to-string-tag +core-js(/library)/fn/symbol/unscopables +core-js(/library)/fn/symbol/for +core-js(/library)/fn/symbol/key-for +``` +[*Basic example*](http://goo.gl/BbvWFc): +```js +var Person = (function(){ + var NAME = Symbol('name'); + function Person(name){ + this[NAME] = name; + } + Person.prototype.getName = function(){ + return this[NAME]; + }; + return Person; +})(); + +var person = new Person('Vasya'); +console.log(person.getName()); // => 'Vasya' +console.log(person['name']); // => undefined +console.log(person[Symbol('name')]); // => undefined, symbols are uniq +for(var key in person)console.log(key); // => only 'getName', symbols are not enumerable +``` +`Symbol.for` & `Symbol.keyFor` [*example*](http://goo.gl/0pdJjX): +```js +var symbol = Symbol.for('key'); +symbol === Symbol.for('key'); // true +Symbol.keyFor(symbol); // 'key' +``` +[*Example*](http://goo.gl/mKVOQJ) with methods for getting own object keys: +```js +var O = {a: 1}; +Object.defineProperty(O, 'b', {value: 2}); +O[Symbol('c')] = 3; +Object.keys(O); // => ['a'] +Object.getOwnPropertyNames(O); // => ['a', 'b'] +Object.getOwnPropertySymbols(O); // => [Symbol(c)] +Reflect.ownKeys(O); // => ['a', 'b', Symbol(c)] +``` +##### Caveats when using `Symbol` polyfill: + +* We can't add new primitive type, `Symbol` returns object. +* `Symbol.for` and `Symbol.keyFor` can't be shimmed cross-realm. +* By default, to hide the keys, `Symbol` polyfill defines setter in `Object.prototype`. For this reason, uncontrolled creation of symbols can cause memory leak and the `in` operator is not working correctly with `Symbol` polyfill: `Symbol() in {} // => true`. + +You can disable defining setters in `Object.prototype`. [Example](http://goo.gl/N5UD7J): +```js +Symbol.useSimple(); +var s1 = Symbol('s1') + , o1 = {}; +o1[s1] = true; +for(var key in o1)console.log(key); // => 'Symbol(s1)_t.qamkg9f3q', w/o native Symbol + +Symbol.useSetter(); +var s2 = Symbol('s2') + , o2 = {}; +o2[s2] = true; +for(var key in o2)console.log(key); // nothing +``` +* Currently, `core-js` not adds setters to `Object.prototype` for well-known symbols for correct work something like `Symbol.iterator in foo`. It can cause problems with their enumerability. +* Some problems possible with environment exotic objects (for example, IE `localStorage`). + +#### ECMAScript 6: Collections +`core-js` uses native collections in most case, just fixes methods / constructor, if it's required, and in old environment uses fast polyfill (O(1) lookup). +#### Map +Module [`es6.map`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.map.js). +```js +new Map(iterable (entries) ?) -> map + #clear() -> void + #delete(key) -> bool + #forEach(fn(val, key, @), that) -> void + #get(key) -> val + #has(key) -> bool + #set(key, val) -> @ + #size -> uint + #values() -> iterator + #keys() -> iterator + #entries() -> iterator + #@@iterator() -> iterator (entries) +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/map +core-js(/library)/fn/map +``` +[*Examples*](http://goo.gl/GWR7NI): +```js +var a = [1]; + +var map = new Map([['a', 1], [42, 2]]); +map.set(a, 3).set(true, 4); + +console.log(map.size); // => 4 +console.log(map.has(a)); // => true +console.log(map.has([1])); // => false +console.log(map.get(a)); // => 3 +map.forEach(function(val, key){ + console.log(val); // => 1, 2, 3, 4 + console.log(key); // => 'a', 42, [1], true +}); +map.delete(a); +console.log(map.size); // => 3 +console.log(map.get(a)); // => undefined +console.log(Array.from(map)); // => [['a', 1], [42, 2], [true, 4]] + +var map = new Map([['a', 1], ['b', 2], ['c', 3]]); + +for(var [key, val] of map){ + console.log(key); // => 'a', 'b', 'c' + console.log(val); // => 1, 2, 3 +} +for(var val of map.values())console.log(val); // => 1, 2, 3 +for(var key of map.keys())console.log(key); // => 'a', 'b', 'c' +for(var [key, val] of map.entries()){ + console.log(key); // => 'a', 'b', 'c' + console.log(val); // => 1, 2, 3 +} +``` +#### Set +Module [`es6.set`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.set.js). +```js +new Set(iterable?) -> set + #add(key) -> @ + #clear() -> void + #delete(key) -> bool + #forEach(fn(el, el, @), that) -> void + #has(key) -> bool + #size -> uint + #values() -> iterator + #keys() -> iterator + #entries() -> iterator + #@@iterator() -> iterator (values) +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/set +core-js(/library)/fn/set +``` +[*Examples*](http://goo.gl/bmhLwg): +```js +var set = new Set(['a', 'b', 'a', 'c']); +set.add('d').add('b').add('e'); +console.log(set.size); // => 5 +console.log(set.has('b')); // => true +set.forEach(function(it){ + console.log(it); // => 'a', 'b', 'c', 'd', 'e' +}); +set.delete('b'); +console.log(set.size); // => 4 +console.log(set.has('b')); // => false +console.log(Array.from(set)); // => ['a', 'c', 'd', 'e'] + +var set = new Set([1, 2, 3, 2, 1]); + +for(var val of set)console.log(val); // => 1, 2, 3 +for(var val of set.values())console.log(val); // => 1, 2, 3 +for(var key of set.keys())console.log(key); // => 1, 2, 3 +for(var [key, val] of set.entries()){ + console.log(key); // => 1, 2, 3 + console.log(val); // => 1, 2, 3 +} +``` +#### WeakMap +Module [`es6.weak-map`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.weak-map.js). +```js +new WeakMap(iterable (entries) ?) -> weakmap + #delete(key) -> bool + #get(key) -> val + #has(key) -> bool + #set(key, val) -> @ +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/weak-map +core-js(/library)/fn/weak-map +``` +[*Examples*](http://goo.gl/SILXyw): +```js +var a = [1] + , b = [2] + , c = [3]; + +var wmap = new WeakMap([[a, 1], [b, 2]]); +wmap.set(c, 3).set(b, 4); +console.log(wmap.has(a)); // => true +console.log(wmap.has([1])); // => false +console.log(wmap.get(a)); // => 1 +wmap.delete(a); +console.log(wmap.get(a)); // => undefined + +// Private properties store: +var Person = (function(){ + var names = new WeakMap; + function Person(name){ + names.set(this, name); + } + Person.prototype.getName = function(){ + return names.get(this); + }; + return Person; +})(); + +var person = new Person('Vasya'); +console.log(person.getName()); // => 'Vasya' +for(var key in person)console.log(key); // => only 'getName' +``` +#### WeakSet +Module [`es6.weak-set`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.weak-set.js). +```js +new WeakSet(iterable?) -> weakset + #add(key) -> @ + #delete(key) -> bool + #has(key) -> bool +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/weak-set +core-js(/library)/fn/weak-set +``` +[*Examples*](http://goo.gl/TdFbEx): +```js +var a = [1] + , b = [2] + , c = [3]; + +var wset = new WeakSet([a, b, a]); +wset.add(c).add(b).add(c); +console.log(wset.has(b)); // => true +console.log(wset.has([2])); // => false +wset.delete(b); +console.log(wset.has(b)); // => false +``` +##### Caveats when using collections polyfill: + +* Weak-collections polyfill stores values as hidden properties of keys. It works correct and not leak in most cases. However, it is desirable to store a collection longer than its keys. + +#### ECMAScript 6: Typed Arrays +Implementations and fixes `ArrayBuffer`, `DataView`, typed arrays constructors, static and prototype methods. Typed Arrays work only in environments with support descriptors (IE9+), `ArrayBuffer` and `DataView` should work anywhere. + +Modules [`es6.typed.array-buffer`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.array-buffer.js), [`es6.typed.data-view`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.data-view.js), [`es6.typed.int8-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.int8-array.js), [`es6.typed.uint8-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.uint8-array.js), [`es6.typed.uint8-clamped-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.uint8-clamped-array.js), [`es6.typed.int16-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.int16-array.js), [`es6.typed.uint16-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.uint16-array.js), [`es6.typed.int32-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.int32-array.js), [`es6.typed.uint32-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.uint32-array.js), [`es6.typed.float32-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.float32-array.js) and [`es6.typed.float64-array`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.typed.float64-array.js). +```js +new ArrayBuffer(length) -> buffer + .isView(var) -> bool + #slice(start = 0, end = @length) -> buffer + #byteLength -> uint + +new DataView(buffer, byteOffset = 0, byteLength = buffer.byteLength - byteOffset) -> view + #getInt8(offset) -> int8 + #getUint8(offset) -> uint8 + #getInt16(offset, littleEndian = false) -> int16 + #getUint16(offset, littleEndian = false) -> uint16 + #getInt32(offset, littleEndian = false) -> int32 + #getUint32(offset, littleEndian = false) -> uint32 + #getFloat32(offset, littleEndian = false) -> float32 + #getFloat64(offset, littleEndian = false) -> float64 + #setInt8(offset, value) -> void + #setUint8(offset, value) -> void + #setInt16(offset, value, littleEndian = false) -> void + #setUint16(offset, value, littleEndian = false) -> void + #setInt32(offset, value, littleEndian = false) -> void + #setUint32(offset, value, littleEndian = false) -> void + #setFloat32(offset, value, littleEndian = false) -> void + #setFloat64(offset, value, littleEndian = false) -> void + #buffer -> buffer + #byteLength -> uint + #byteOffset -> uint + +{ + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array +} + new %TypedArray%(length) -> typed + new %TypedArray%(typed) -> typed + new %TypedArray%(arrayLike) -> typed + new %TypedArray%(iterable) -> typed + new %TypedArray%(buffer, byteOffset = 0, length = (buffer.byteLength - byteOffset) / @BYTES_PER_ELEMENT) -> typed + .BYTES_PER_ELEMENT -> uint + .from(arrayLike | iterable, mapFn(val, index)?, that) -> typed + .of(...args) -> typed + #BYTES_PER_ELEMENT -> uint + #copyWithin(target = 0, start = 0, end = @length) -> @ + #every(fn(val, index, @), that) -> bool + #fill(val, start = 0, end = @length) -> @ + #filter(fn(val, index, @), that) -> typed + #find(fn(val, index, @), that) -> val + #findIndex(fn(val, index, @), that) -> index + #forEach(fn(val, index, @), that) -> void + #indexOf(var, from?) -> int + #join(string = ',') -> string + #lastIndexOf(var, from?) -> int + #map(fn(val, index, @), that) -> typed + #reduce(fn(memo, val, index, @), memo?) -> var + #reduceRight(fn(memo, val, index, @), memo?) -> var + #reverse() -> @ + #set(arrayLike, offset = 0) -> void + #slice(start = 0, end = @length) -> typed + #some(fn(val, index, @), that) -> bool + #sort(fn(a, b)?) -> @ + #subarray(start = 0, end = @length) -> typed + #toString() -> string + #toLocaleString() -> string + #values() -> iterator + #keys() -> iterator + #entries() -> iterator + #@@iterator() -> iterator (values) + #buffer -> buffer + #byteLength -> uint + #byteOffset -> uint + #length -> uint +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/typed +core-js(/library)/fn/typed +core-js(/library)/fn/typed/array-buffer +core-js(/library)/fn/typed/data-view +core-js(/library)/fn/typed/int8-array +core-js(/library)/fn/typed/uint8-array +core-js(/library)/fn/typed/uint8-clamped-array +core-js(/library)/fn/typed/int16-array +core-js(/library)/fn/typed/uint16-array +core-js(/library)/fn/typed/int32-array +core-js(/library)/fn/typed/uint32-array +core-js(/library)/fn/typed/float32-array +core-js(/library)/fn/typed/float64-array +``` +[*Examples*](http://goo.gl/yla75z): +```js +new Int32Array(4); // => [0, 0, 0, 0] +new Uint8ClampedArray([1, 2, 3, 666]); // => [1, 2, 3, 255] +new Float32Array(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3] + +var buffer = new ArrayBuffer(8); +var view = new DataView(buffer); +view.setFloat64(0, 123.456, true); +new Uint8Array(buffer.slice(4)); // => [47, 221, 94, 64] + +Int8Array.of(1, 1.5, 5.7, 745); // => [1, 1, 5, -23] +Uint8Array.from([1, 1.5, 5.7, 745]); // => [1, 1, 5, 233] + +var typed = new Uint8Array([1, 2, 3]); + +var a = typed.slice(1); // => [2, 3] +typed.buffer === a.buffer; // => false +var b = typed.subarray(1); // => [2, 3] +typed.buffer === b.buffer; // => true + +typed.filter(it => it % 2); // => [1, 3] +typed.map(it => it * 1.5); // => [1, 3, 4] + +for(var val of typed)console.log(val); // => 1, 2, 3 +for(var val of typed.values())console.log(val); // => 1, 2, 3 +for(var key of typed.keys())console.log(key); // => 0, 1, 2 +for(var [key, val] of typed.entries()){ + console.log(key); // => 0, 1, 2 + console.log(val); // => 1, 2, 3 +} +``` +##### Caveats when using typed arrays: + +* Typed Arrays polyfills works completely how should work by the spec, but because of internal use getter / setters on each instance, is slow and consumes significant memory. However, typed arrays polyfills required mainly for IE9 (and for `Uint8ClampedArray` in IE10 and early IE11), all modern engines have native typed arrays and requires only constructors fixes and methods. +* The current version hasn't special entry points for methods, they can be added only with constructors. It can be added in the future. +* In the `library` version we can't pollute native prototypes, so prototype methods available as constructors static. + +#### ECMAScript 6: Reflect +Modules [`es6.reflect.apply`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.apply.js), [`es6.reflect.construct`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.construct.js), [`es6.reflect.define-property`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.define-property.js), [`es6.reflect.delete-property`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.delete-property.js), [`es6.reflect.enumerate`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.enumerate.js), [`es6.reflect.get`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.get.js), [`es6.reflect.get-own-property-descriptor`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.get-own-property-descriptor.js), [`es6.reflect.get-prototype-of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.get-prototype-of.js), [`es6.reflect.has`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.has.js), [`es6.reflect.is-extensible`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.is-extensible.js), [`es6.reflect.own-keys`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.own-keys.js), [`es6.reflect.prevent-extensions`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.prevent-extensions.js), [`es6.reflect.set`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.set.js), [`es6.reflect.set-prototype-of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es6.reflect.set-prototype-of.js). +```js +Reflect + .apply(target, thisArgument, argumentsList) -> var + .construct(target, argumentsList, newTarget?) -> object + .defineProperty(target, propertyKey, attributes) -> bool + .deleteProperty(target, propertyKey) -> bool + .enumerate(target) -> iterator (removed from the spec and will be removed from core-js@3) + .get(target, propertyKey, receiver?) -> var + .getOwnPropertyDescriptor(target, propertyKey) -> desc + .getPrototypeOf(target) -> object | null + .has(target, propertyKey) -> bool + .isExtensible(target) -> bool + .ownKeys(target) -> array + .preventExtensions(target) -> bool + .set(target, propertyKey, V, receiver?) -> bool + .setPrototypeOf(target, proto) -> bool (required __proto__ - IE11+) +``` +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es6/reflect +core-js(/library)/fn/reflect +core-js(/library)/fn/reflect/apply +core-js(/library)/fn/reflect/construct +core-js(/library)/fn/reflect/define-property +core-js(/library)/fn/reflect/delete-property +core-js(/library)/fn/reflect/enumerate (deprecated and will be removed from the next major release) +core-js(/library)/fn/reflect/get +core-js(/library)/fn/reflect/get-own-property-descriptor +core-js(/library)/fn/reflect/get-prototype-of +core-js(/library)/fn/reflect/has +core-js(/library)/fn/reflect/is-extensible +core-js(/library)/fn/reflect/own-keys +core-js(/library)/fn/reflect/prevent-extensions +core-js(/library)/fn/reflect/set +core-js(/library)/fn/reflect/set-prototype-of +``` +[*Examples*](http://goo.gl/gVT0cH): +```js +var O = {a: 1}; +Object.defineProperty(O, 'b', {value: 2}); +O[Symbol('c')] = 3; +Reflect.ownKeys(O); // => ['a', 'b', Symbol(c)] + +function C(a, b){ + this.c = a + b; +} + +var instance = Reflect.construct(C, [20, 22]); +instance.c; // => 42 +``` + +### ECMAScript 7+ proposals +[The TC39 process.](https://tc39.github.io/process-document/) + +[*CommonJS entry points:*](#commonjs) +``` +core-js(/library)/es7 +core-js(/library)/es7/array +core-js(/library)/es7/global +core-js(/library)/es7/string +core-js(/library)/es7/map +core-js(/library)/es7/set +core-js(/library)/es7/error +core-js(/library)/es7/math +core-js(/library)/es7/system +core-js(/library)/es7/symbol +core-js(/library)/es7/reflect +core-js(/library)/es7/observable +``` +`core-js/stage/4` entry point contains only stage 4 proposals, `core-js/stage/3` - stage 3 and stage 4, etc. +#### Stage 4 proposals + +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/stage/4 +``` +* `{Array, %TypedArray%}#includes` [proposal](https://github.com/tc39/Array.prototype.includes) - module [`es7.array.includes`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.array.includes.js), `%TypedArray%` version in modules from [this section](#ecmascript-6-typed-arrays). +```js +Array + #includes(var, from?) -> bool +{ + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array +} + #includes(var, from?) -> bool +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/array/includes +``` +[*Examples*](http://goo.gl/2Gq4ma): +```js +[1, 2, 3].includes(2); // => true +[1, 2, 3].includes(4); // => false +[1, 2, 3].includes(2, 2); // => false + +[NaN].indexOf(NaN); // => -1 +[NaN].includes(NaN); // => true +Array(1).indexOf(undefined); // => -1 +Array(1).includes(undefined); // => true +``` +* `Object.values`, `Object.entries` [proposal](https://github.com/tc39/proposal-object-values-entries) - modules [`es7.object.values`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.values.js), [`es7.object.entries`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.entries.js) +```js +Object + .values(object) -> array + .entries(object) -> array +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/object/values +core-js(/library)/fn/object/entries +``` +[*Examples*](http://goo.gl/6kuGOn): +```js +Object.values({a: 1, b: 2, c: 3}); // => [1, 2, 3] +Object.entries({a: 1, b: 2, c: 3}); // => [['a', 1], ['b', 2], ['c', 3]] + +for(let [key, value] of Object.entries({a: 1, b: 2, c: 3})){ + console.log(key); // => 'a', 'b', 'c' + console.log(value); // => 1, 2, 3 +} +``` +* `Object.getOwnPropertyDescriptors` [proposal](https://github.com/tc39/proposal-object-getownpropertydescriptors) - module [`es7.object.get-own-property-descriptors`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.get-own-property-descriptors.js) +```js +Object + .getOwnPropertyDescriptors(object) -> object +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/object/get-own-property-descriptors +``` +*Examples*: +```js +// Shallow object cloning with prototype and descriptors: +var copy = Object.create(Object.getPrototypeOf(O), Object.getOwnPropertyDescriptors(O)); +// Mixin: +Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); +``` +* `String#padStart`, `String#padEnd` [proposal](https://github.com/tc39/proposal-string-pad-start-end) - modules [`es7.string.pad-start`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.string.pad-start.js), [`es7.string.pad-end`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.string.pad-end.js) +```js +String + #padStart(length, fillStr = ' ') -> string + #padEnd(length, fillStr = ' ') -> string +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/string/pad-start +core-js(/library)/fn/string/pad-end +core-js(/library)/fn/string/virtual/pad-start +core-js(/library)/fn/string/virtual/pad-end +``` +[*Examples*](http://goo.gl/hK5ccv): +```js +'hello'.padStart(10); // => ' hello' +'hello'.padStart(10, '1234'); // => '12341hello' +'hello'.padEnd(10); // => 'hello ' +'hello'.padEnd(10, '1234'); // => 'hello12341' +``` +* `Object#__(define|lookup)[GS]etter__`, [annex B ES2017](https://github.com/tc39/ecma262/pull/381), but we haven't special namespace for that - modules [`es7.object.define-setter`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.define-setter.js), [`es7.object.define-getter`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.define-getter.js), [`es7.object.lookup-setter`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.lookup-setter.js) and [`es7.object.lookup-getter`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.object.lookup-getter.js). +```js +Object + #__defineSetter__(key, fn) -> void + #__defineGetter__(key, fn) -> void + #__lookupSetter__(key) -> fn | void + #__lookupGetter__(key) -> fn | void +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/object/define-getter +core-js(/library)/fn/object/define-setter +core-js(/library)/fn/object/lookup-getter +core-js(/library)/fn/object/lookup-setter +``` + +#### Stage 3 proposals +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/stage/3 +``` +* `global` [proposal](https://github.com/tc39/proposal-global) - modules [`es7.global`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.global.js) and [`es7.system.global`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.system.global.js) (obsolete) +```js +global -> object +System + .global -> object (obsolete) +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/global +core-js(/library)/fn/system/global (obsolete) +``` +[*Examples*](http://goo.gl/gEqMl7): +```js +global.Array === Array; // => true +``` +* `Promise#finally` [proposal](https://github.com/tc39/proposal-promise-finally) - module [`es7.promise.finally`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.promise.finally.js) +```js +Promise + #finally(onFinally()) -> promise +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/promise/finally +``` +[*Examples*](https://goo.gl/AhyBbJ): +```js +Promise.resolve(42).finally(() => console.log('You will see it anyway')); + +Promise.reject(42).finally(() => console.log('You will see it anyway')); + +#### Stage 2 proposals +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/stage/2 +``` +* `String#trimLeft`, `String#trimRight` / `String#trimStart`, `String#trimEnd` [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim) - modules [`es7.string.trim-left`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.string.trim-right.js), [`es7.string.trim-right`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.string.trim-right.js) +```js +String + #trimLeft() -> string + #trimRight() -> string + #trimStart() -> string + #trimEnd() -> string +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/string/trim-start +core-js(/library)/fn/string/trim-end +core-js(/library)/fn/string/trim-left +core-js(/library)/fn/string/trim-right +core-js(/library)/fn/string/virtual/trim-start +core-js(/library)/fn/string/virtual/trim-end +core-js(/library)/fn/string/virtual/trim-left +core-js(/library)/fn/string/virtual/trim-right +``` +[*Examples*](http://goo.gl/Er5lMJ): +```js +' hello '.trimLeft(); // => 'hello ' +' hello '.trimRight(); // => ' hello' +``` +``` +* `Symbol.asyncIterator` for [async iteration proposal](https://github.com/tc39/proposal-async-iteration) - module [`es7.symbol.async-iterator`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.symbol.async-iterator.js) +```js +Symbol + .asyncIterator -> @@asyncIterator +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/symbol/async-iterator +``` + +#### Stage 1 proposals +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/stage/1 +``` +* `Promise.try` [proposal](https://github.com/tc39/proposal-promise-try) - module [`es7.promise.try`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.promise.try.js) +```js +Promise + .try(function()) -> promise +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/promise/try +``` +[*Examples*](https://goo.gl/k5GGRo): +```js +Promise.try(() => 42).then(it => console.log(`Promise, resolved as ${it}`)); + +Promise.try(() => { throw 42; }).catch(it => console.log(`Promise, rejected as ${it}`)); +``` +* `Array#flatten` and `Array#flatMap` [proposal](https://tc39.github.io/proposal-flatMap) - modules [`es7.array.flatten`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.array.flatten.js) and [`es7.array.flat-map`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.array.flat-map.js) +```js +Array + #flatten(depthArg = 1) -> array + #flatMap(fn(val, key, @), that) -> array +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/array/flatten +core-js(/library)/fn/array/flat-map +core-js(/library)/fn/array/virtual/flatten +core-js(/library)/fn/array/virtual/flat-map +``` +[*Examples*](https://goo.gl/jTXsZi): +```js +[1, [2, 3], [4, 5]].flatten(); // => [1, 2, 3, 4, 5] +[1, [2, [3, [4]]], 5].flatten(); // => [1, 2, [3, [4]], 5] +[1, [2, [3, [4]]], 5].flatten(3); // => [1, 2, 3, 4, 5] + +[{a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6}].flatMap(it => [it.a, it.b]); // => [1, 2, 3, 4, 5, 6] +``` +* `.of` and `.from` methods on collection constructors [proposal](https://github.com/tc39/proposal-setmap-offrom) - modules [`es7.set.of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.set.of.js), [`es7.set.from`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.set.from.js), [`es7.map.of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.map.of.js), [`es7.map.from`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.map.from.js), [`es7.weak-set.of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.weak-set.of.js), [`es7.weak-set.from`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.weak-set.from.js), [`es7.weak-map.of`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.weak-map.of.js), [`es7.weak-map.from`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.weak-map.from.js) +```js +Set + .of(...args) -> set + .from(iterable, mapFn(val, index)?, that?) -> set +Map + .of(...args) -> map + .from(iterable, mapFn(val, index)?, that?) -> map +WeakSet + .of(...args) -> weakset + .from(iterable, mapFn(val, index)?, that?) -> weakset +WeakMap + .of(...args) -> weakmap + .from(iterable, mapFn(val, index)?, that?) -> weakmap +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/set/of +core-js(/library)/fn/set/from +core-js(/library)/fn/map/of +core-js(/library)/fn/map/from +core-js(/library)/fn/weak-set/of +core-js(/library)/fn/weak-set/from +core-js(/library)/fn/weak-map/of +core-js(/library)/fn/weak-map/from +``` +[*Examples*](https://goo.gl/mSC7eU): +```js +Set.of(1, 2, 3, 2, 1); // => Set {1, 2, 3} + +Map.from([[1, 2], [3, 4]], ([key, val]) => [key ** 2, val ** 2]); // => Map {1: 4, 9: 16} +``` +* `String#matchAll` [proposal](https://github.com/tc39/String.prototype.matchAll) - module [`es7.string.match-all`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.string.match-all.js) +```js +String + #matchAll(regexp) -> iterator +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/string/match-all +core-js(/library)/fn/string/virtual/match-all +``` +[*Examples*](http://goo.gl/6kp9EB): +```js +for(let [_, d, D] of '1111a2b3cccc'.matchAll(/(\d)(\D)/)){ + console.log(d, D); // => 1 a, 2 b, 3 c +} +``` +* `Observable` [proposal](https://github.com/zenparsing/es-observable) - modules [`es7.observable`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.observable.js) and [`es7.symbol.observable`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.symbol.observable.js) +```js +new Observable(fn) -> observable + #subscribe(observer) -> subscription + #forEach(fn) -> promise + #@@observable() -> @ + .of(...items) -> observable + .from(observable | iterable) -> observable + .@@species -> @ +Symbol + .observable -> @@observable +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/observable +core-js(/library)/fn/symbol/observable +``` +[*Examples*](http://goo.gl/1LDywi): +```js +new Observable(observer => { + observer.next('hello'); + observer.next('world'); + observer.complete(); +}).forEach(it => console.log(it)) + .then(_ => console.log('!')); +``` +* `Math.{clamp, DEG_PER_RAD, degrees, fscale, rad-per-deg, radians, scale}` + [proposal](https://github.com/rwaldron/proposal-math-extensions) - modules + [`es7.math.clamp`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.clamp.js), + [`es7.math.DEG_PER_RAD`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.DEG_PER_RAD.js), + [`es7.math.degrees`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.degrees.js), + [`es7.math.fscale`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.fscale.js), + [`es7.math.RAD_PER_DEG`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.RAD_PER_DEG.js), + [`es7.math.radians`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.radians.js) and + [`es7.math.scale`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.scale.js) +```js +Math + .DEG_PER_RAD -> number + .RAD_PER_DEG -> number + .clamp(x, lower, upper) -> number + .degrees(radians) -> number + .fscale(x, inLow, inHigh, outLow, outHigh) -> number + .radians(degrees) -> number + .scale(x, inLow, inHigh, outLow, outHigh) -> number +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/math/clamp +core-js(/library)/fn/math/deg-per-rad +core-js(/library)/fn/math/degrees +core-js(/library)/fn/math/fscale +core-js(/library)/fn/math/rad-per-deg +core-js(/library)/fn/math/radians +core-js(/library)/fn/math/scale +``` +* `Math.signbit` [proposal](http://jfbastien.github.io/papers/Math.signbit.html) - module [`es7.math.signbit`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.signbit.js) +```js +Math + .signbit(x) -> bool +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/math/signbit +``` +[*Examples*](http://es6.zloirock.ru/): +```js +Math.signbit(NaN); // => NaN +Math.signbit(1); // => true +Math.signbit(-1); // => false +Math.signbit(0); // => true +Math.signbit(-0); // => false +``` + +#### Stage 0 proposals +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/stage/0 +``` +* `String#at` [proposal](https://github.com/mathiasbynens/String.prototype.at) - module [`es7.string.at`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.string.at.js) +```js +String + #at(index) -> string +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/string/at +core-js(/library)/fn/string/virtual/at +``` +[*Examples*](http://goo.gl/XluXI8): +```js +'a𠮷b'.at(1); // => '𠮷' +'a𠮷b'.at(1).length; // => 2 +``` +* `Map#toJSON`, `Set#toJSON` [proposal](https://github.com/DavidBruant/Map-Set.prototype.toJSON) - modules [`es7.map.to-json`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.map.to-json.js), [`es7.set.to-json`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.set.to-json.js) (rejected and will be removed from `core-js@3`) +```js +Map + #toJSON() -> array (rejected and will be removed from core-js@3) +Set + #toJSON() -> array (rejected and will be removed from core-js@3) +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/map +core-js(/library)/fn/set +``` +* `Error.isError` [proposal](https://github.com/ljharb/proposal-is-error) - module [`es7.error.is-error`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.error.is-error.js) (withdrawn and will be removed from `core-js@3`) +```js +Error + .isError(it) -> bool (withdrawn and will be removed from core-js@3) +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/error/is-error +``` +* `Math.{iaddh, isubh, imulh, umulh}` [proposal](https://gist.github.com/BrendanEich/4294d5c212a6d2254703) - modules [`es7.math.iaddh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.iaddh.js), [`es7.math.isubh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.isubh.js), [`es7.math.imulh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.imulh.js) and [`es7.math.umulh`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.math.umulh.js) +```js +Math + .iaddh(lo0, hi0, lo1, hi1) -> int32 + .isubh(lo0, hi0, lo1, hi1) -> int32 + .imulh(a, b) -> int32 + .umulh(a, b) -> uint32 +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/math/iaddh +core-js(/library)/fn/math/isubh +core-js(/library)/fn/math/imulh +core-js(/library)/fn/math/umulh +``` +* `global.asap`, [TC39 discussion](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask), module [`es7.asap`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.asap.js) +```js +asap(fn) -> void +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/asap +``` +[*Examples*](http://goo.gl/tx3SRK): +```js +asap(() => console.log('called as microtask')); +``` + +#### Pre-stage 0 proposals +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/stage/pre +``` +* `Reflect` metadata [proposal](https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md) - modules [`es7.reflect.define-metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.define-metadata.js), [`es7.reflect.delete-metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.delete-metadata.js), [`es7.reflect.get-metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.get-metadata.js), [`es7.reflect.get-metadata-keys`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.get-metadata-keys.js), [`es7.reflect.get-own-metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.get-own-metadata.js), [`es7.reflect.get-own-metadata-keys`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.get-own-metadata-keys.js), [`es7.reflect.has-metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.has-metadata.js), [`es7.reflect.has-own-metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.has-own-metadata.js) and [`es7.reflect.metadata`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/es7.reflect.metadata.js). +```js +Reflect + .defineMetadata(metadataKey, metadataValue, target, propertyKey?) -> void + .getMetadata(metadataKey, target, propertyKey?) -> var + .getOwnMetadata(metadataKey, target, propertyKey?) -> var + .hasMetadata(metadataKey, target, propertyKey?) -> bool + .hasOwnMetadata(metadataKey, target, propertyKey?) -> bool + .deleteMetadata(metadataKey, target, propertyKey?) -> bool + .getMetadataKeys(target, propertyKey?) -> array + .getOwnMetadataKeys(target, propertyKey?) -> array + .metadata(metadataKey, metadataValue) -> decorator(target, targetKey?) -> void +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/reflect/define-metadata +core-js(/library)/fn/reflect/delete-metadata +core-js(/library)/fn/reflect/get-metadata +core-js(/library)/fn/reflect/get-metadata-keys +core-js(/library)/fn/reflect/get-own-metadata +core-js(/library)/fn/reflect/get-own-metadata-keys +core-js(/library)/fn/reflect/has-metadata +core-js(/library)/fn/reflect/has-own-metadata +core-js(/library)/fn/reflect/metadata +``` +[*Examples*](http://goo.gl/KCo3PS): +```js +var O = {}; +Reflect.defineMetadata('foo', 'bar', O); +Reflect.ownKeys(O); // => [] +Reflect.getOwnMetadataKeys(O); // => ['foo'] +Reflect.getOwnMetadata('foo', O); // => 'bar' +``` + +### Web standards +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/web +``` +#### setTimeout / setInterval +Module [`web.timers`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/web.timers.js). Additional arguments fix for IE9-. +```js +setTimeout(fn(...args), time, ...args) -> id +setInterval(fn(...args), time, ...args) -> id +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/web/timers +core-js(/library)/fn/set-timeout +core-js(/library)/fn/set-interval +``` +```js +// Before: +setTimeout(log.bind(null, 42), 1000); +// After: +setTimeout(log, 1000, 42); +``` +#### setImmediate +Module [`web.immediate`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/web.immediate.js). [`setImmediate` proposal](https://developer.mozilla.org/en-US/docs/Web/API/Window.setImmediate) polyfill. +```js +setImmediate(fn(...args), ...args) -> id +clearImmediate(id) -> void +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/web/immediate +core-js(/library)/fn/set-immediate +core-js(/library)/fn/clear-immediate +``` +[*Examples*](http://goo.gl/6nXGrx): +```js +setImmediate(function(arg1, arg2){ + console.log(arg1, arg2); // => Message will be displayed with minimum delay +}, 'Message will be displayed', 'with minimum delay'); + +clearImmediate(setImmediate(function(){ + console.log('Message will not be displayed'); +})); +``` +#### Iterable DOM collections +Some DOM collections should have [iterable interface](https://heycam.github.io/webidl/#idl-iterable) or should be [inherited from `Array`](https://heycam.github.io/webidl/#LegacyArrayClass). That mean they should have `keys`, `values`, `entries` and `@@iterator` methods for iteration. So add them. Module [`web.dom.iterable`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/web.dom.iterable.js): +```js +{ + CSSRuleList, + CSSStyleDeclaration, + CSSValueList, + ClientRectList, + DOMRectList, + DOMStringList, + DOMTokenList, + DataTransferItemList, + FileList, + HTMLAllCollection, + HTMLCollection, + HTMLFormElement, + HTMLSelectElement, + MediaList, + MimeTypeArray, + NamedNodeMap, + NodeList, + PaintRequestList, + Plugin, + PluginArray, + SVGLengthList, + SVGNumberList, + SVGPathSegList, + SVGPointList, + SVGStringList, + SVGTransformList, + SourceBufferList, + StyleSheetList, + TextTrackCueList, + TextTrackList, + TouchList +} + #@@iterator() -> iterator (values) + +{ + DOMTokenList, + NodeList +} + #values() -> iterator + #keys() -> iterator + #entries() -> iterator +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/web/dom-collections +core-js(/library)/fn/dom-collections/iterator +``` +[*Examples*](http://goo.gl/lfXVFl): +```js +for(var {id} of document.querySelectorAll('*')){ + if(id)console.log(id); +} + +for(var [index, {id}] of document.querySelectorAll('*').entries()){ + if(id)console.log(index, id); +} +``` +### Non-standard +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/core +``` +#### Object +Modules [`core.object.is-object`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.object.is-object.js), [`core.object.classof`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.object.classof.js), [`core.object.define`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.object.define.js), [`core.object.make`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.object.make.js). +```js +Object + .isObject(var) -> bool + .classof(var) -> string + .define(target, mixin) -> target + .make(proto | null, mixin?) -> object +``` + +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/core/object +core-js(/library)/fn/object/is-object +core-js(/library)/fn/object/define +core-js(/library)/fn/object/make +``` +Object classify [*examples*](http://goo.gl/YZQmGo): +```js +Object.isObject({}); // => true +Object.isObject(isNaN); // => true +Object.isObject(null); // => false + +var classof = Object.classof; + +classof(null); // => 'Null' +classof(undefined); // => 'Undefined' +classof(1); // => 'Number' +classof(true); // => 'Boolean' +classof('string'); // => 'String' +classof(Symbol()); // => 'Symbol' + +classof(new Number(1)); // => 'Number' +classof(new Boolean(true)); // => 'Boolean' +classof(new String('string')); // => 'String' + +var fn = function(){} + , list = (function(){return arguments})(1, 2, 3); + +classof({}); // => 'Object' +classof(fn); // => 'Function' +classof([]); // => 'Array' +classof(list); // => 'Arguments' +classof(/./); // => 'RegExp' +classof(new TypeError); // => 'Error' + +classof(new Set); // => 'Set' +classof(new Map); // => 'Map' +classof(new WeakSet); // => 'WeakSet' +classof(new WeakMap); // => 'WeakMap' +classof(new Promise(fn)); // => 'Promise' + +classof([].values()); // => 'Array Iterator' +classof(new Set().values()); // => 'Set Iterator' +classof(new Map().values()); // => 'Map Iterator' + +classof(Math); // => 'Math' +classof(JSON); // => 'JSON' + +function Example(){} +Example.prototype[Symbol.toStringTag] = 'Example'; + +classof(new Example); // => 'Example' +``` +`Object.define` and `Object.make` [*examples*](http://goo.gl/rtpD5Z): +```js +// Before: +Object.defineProperty(target, 'c', { + enumerable: true, + configurable: true, + get: function(){ + return this.a + this.b; + } +}); + +// After: +Object.define(target, { + get c(){ + return this.a + this.b; + } +}); + +// Shallow object cloning with prototype and descriptors: +var copy = Object.make(Object.getPrototypeOf(src), src); + +// Simple inheritance: +function Vector2D(x, y){ + this.x = x; + this.y = y; +} +Object.define(Vector2D.prototype, { + get xy(){ + return Math.hypot(this.x, this.y); + } +}); +function Vector3D(x, y, z){ + Vector2D.apply(this, arguments); + this.z = z; +} +Vector3D.prototype = Object.make(Vector2D.prototype, { + constructor: Vector3D, + get xyz(){ + return Math.hypot(this.x, this.y, this.z); + } +}); + +var vector = new Vector3D(9, 12, 20); +console.log(vector.xy); // => 15 +console.log(vector.xyz); // => 25 +vector.y++; +console.log(vector.xy); // => 15.811388300841896 +console.log(vector.xyz); // => 25.495097567963924 +``` +#### Dict +Module [`core.dict`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.dict.js). Based on [TC39 discuss](https://github.com/rwaldron/tc39-notes/blob/master/es6/2012-11/nov-29.md#collection-apis-review) / [strawman](http://wiki.ecmascript.org/doku.php?id=harmony:modules_standard#dictionaries). +```js +[new] Dict(iterable (entries) | object ?) -> dict + .isDict(var) -> bool + .values(object) -> iterator + .keys(object) -> iterator + .entries(object) -> iterator (entries) + .has(object, key) -> bool + .get(object, key) -> val + .set(object, key, value) -> object + .forEach(object, fn(val, key, @), that) -> void + .map(object, fn(val, key, @), that) -> new @ + .mapPairs(object, fn(val, key, @), that) -> new @ + .filter(object, fn(val, key, @), that) -> new @ + .some(object, fn(val, key, @), that) -> bool + .every(object, fn(val, key, @), that) -> bool + .find(object, fn(val, key, @), that) -> val + .findKey(object, fn(val, key, @), that) -> key + .keyOf(object, var) -> key + .includes(object, var) -> bool + .reduce(object, fn(memo, val, key, @), memo?) -> var +``` + +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/core/dict +core-js(/library)/fn/dict +``` +`Dict` create object without prototype from iterable or simple object. + +[*Examples*](http://goo.gl/pnp8Vr): +```js +var map = new Map([['a', 1], ['b', 2], ['c', 3]]); + +Dict(); // => {__proto__: null} +Dict({a: 1, b: 2, c: 3}); // => {__proto__: null, a: 1, b: 2, c: 3} +Dict(map); // => {__proto__: null, a: 1, b: 2, c: 3} +Dict([1, 2, 3].entries()); // => {__proto__: null, 0: 1, 1: 2, 2: 3} + +var dict = Dict({a: 42}); +dict instanceof Object; // => false +dict.a; // => 42 +dict.toString; // => undefined +'a' in dict; // => true +'hasOwnProperty' in dict; // => false + +Dict.isDict({}); // => false +Dict.isDict(Dict()); // => true +``` +`Dict.keys`, `Dict.values` and `Dict.entries` returns iterators for objects. + +[*Examples*](http://goo.gl/xAvECH): +```js +var dict = {a: 1, b: 2, c: 3}; + +for(var key of Dict.keys(dict))console.log(key); // => 'a', 'b', 'c' + +for(var val of Dict.values(dict))console.log(val); // => 1, 2, 3 + +for(var [key, val] of Dict.entries(dict)){ + console.log(key); // => 'a', 'b', 'c' + console.log(val); // => 1, 2, 3 +} + +new Map(Dict.entries(dict)); // => Map {a: 1, b: 2, c: 3} +``` +Basic dict operations for objects with prototype [*examples*](http://goo.gl/B28UnG): +```js +'q' in {q: 1}; // => true +'toString' in {}; // => true + +Dict.has({q: 1}, 'q'); // => true +Dict.has({}, 'toString'); // => false + +({q: 1})['q']; // => 1 +({}).toString; // => function toString(){ [native code] } + +Dict.get({q: 1}, 'q'); // => 1 +Dict.get({}, 'toString'); // => undefined + +var O = {}; +O['q'] = 1; +O['q']; // => 1 +O['__proto__'] = {w: 2}; +O['__proto__']; // => {w: 2} +O['w']; // => 2 + +var O = {}; +Dict.set(O, 'q', 1); +O['q']; // => 1 +Dict.set(O, '__proto__', {w: 2}); +O['__proto__']; // => {w: 2} +O['w']; // => undefined +``` +Other methods of `Dict` module are static equivalents of `Array.prototype` methods for dictionaries. + +[*Examples*](http://goo.gl/xFi1RH): +```js +var dict = {a: 1, b: 2, c: 3}; + +Dict.forEach(dict, console.log, console); +// => 1, 'a', {a: 1, b: 2, c: 3} +// => 2, 'b', {a: 1, b: 2, c: 3} +// => 3, 'c', {a: 1, b: 2, c: 3} + +Dict.map(dict, function(it){ + return it * it; +}); // => {a: 1, b: 4, c: 9} + +Dict.mapPairs(dict, function(val, key){ + if(key != 'b')return [key + key, val * val]; +}); // => {aa: 1, cc: 9} + +Dict.filter(dict, function(it){ + return it % 2; +}); // => {a: 1, c: 3} + +Dict.some(dict, function(it){ + return it === 2; +}); // => true + +Dict.every(dict, function(it){ + return it === 2; +}); // => false + +Dict.find(dict, function(it){ + return it > 2; +}); // => 3 +Dict.find(dict, function(it){ + return it > 4; +}); // => undefined + +Dict.findKey(dict, function(it){ + return it > 2; +}); // => 'c' +Dict.findKey(dict, function(it){ + return it > 4; +}); // => undefined + +Dict.keyOf(dict, 2); // => 'b' +Dict.keyOf(dict, 4); // => undefined + +Dict.includes(dict, 2); // => true +Dict.includes(dict, 4); // => false + +Dict.reduce(dict, function(memo, it){ + return memo + it; +}); // => 6 +Dict.reduce(dict, function(memo, it){ + return memo + it; +}, ''); // => '123' +``` +#### Partial application +Module [`core.function.part`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.function.part.js). +```js +Function + #part(...args | _) -> fn(...args) +``` + +[*CommonJS entry points:*](#commonjs) +```js +core-js/core/function +core-js(/library)/fn/function/part +core-js(/library)/fn/function/virtual/part +core-js(/library)/fn/_ +``` +`Function#part` partial apply function without `this` binding. Uses global variable `_` (`core._` for builds without global namespace pollution) as placeholder and not conflict with `Underscore` / `LoDash`. + +[*Examples*](http://goo.gl/p9ZJ8K): +```js +var fn1 = log.part(1, 2); +fn1(3, 4); // => 1, 2, 3, 4 + +var fn2 = log.part(_, 2, _, 4); +fn2(1, 3); // => 1, 2, 3, 4 + +var fn3 = log.part(1, _, _, 4); +fn3(2, 3); // => 1, 2, 3, 4 + +fn2(1, 3, 5); // => 1, 2, 3, 4, 5 +fn2(1); // => 1, 2, undefined, 4 +``` +#### Number Iterator +Module [`core.number.iterator`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.number.iterator.js). +```js +Number + #@@iterator() -> iterator +``` + +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/core/number +core-js(/library)/fn/number/iterator +core-js(/library)/fn/number/virtual/iterator +``` +[*Examples*](http://goo.gl/o45pCN): +```js +for(var i of 3)console.log(i); // => 0, 1, 2 + +[...10]; // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + +Array.from(10, Math.random); // => [0.9817775336559862, 0.02720663254149258, ...] + +Array.from(10, function(it){ + return this + it * it; +}, .42); // => [0.42, 1.42, 4.42, 9.42, 16.42, 25.42, 36.42, 49.42, 64.42, 81.42] +``` +#### Escaping strings +Modules [`core.regexp.escape`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.regexp.escape.js), [`core.string.escape-html`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.string.escape-html.js) and [`core.string.unescape-html`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.string.unescape-html.js). +```js +RegExp + .escape(str) -> str +String + #escapeHTML() -> str + #unescapeHTML() -> str +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/core/regexp +core-js(/library)/core/string +core-js(/library)/fn/regexp/escape +core-js(/library)/fn/string/escape-html +core-js(/library)/fn/string/unescape-html +core-js(/library)/fn/string/virtual/escape-html +core-js(/library)/fn/string/virtual/unescape-html +``` +[*Examples*](http://goo.gl/6bOvsQ): +```js +RegExp.escape('Hello, []{}()*+?.\\^$|!'); // => 'Hello, \[\]\{\}\(\)\*\+\?\.\\\^\$\|!' + +''.escapeHTML(); // => '<script>doSomething();</script>' +'<script>doSomething();</script>'.unescapeHTML(); // => '' +``` +#### delay +Module [`core.delay`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.delay.js). [Promise](#ecmascript-6-promise)-returning delay function, [esdiscuss](https://esdiscuss.org/topic/promise-returning-delay-function). +```js +delay(ms) -> promise +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/core/delay +core-js(/library)/fn/delay +``` +[*Examples*](http://goo.gl/lbucba): +```js +delay(1e3).then(() => console.log('after 1 sec')); + +(async () => { + await delay(3e3); + console.log('after 3 sec'); + + while(await delay(3e3))console.log('each 3 sec'); +})(); +``` +#### Helpers for iterators +Modules [`core.is-iterable`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.is-iterable.js), [`core.get-iterator`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.get-iterator.js), [`core.get-iterator-method`](https://github.com/zloirock/core-js/blob/v2.5.7/modules/core.get-iterator-method.js) - helpers for check iterability / get iterator in the `library` version or, for example, for `arguments` object: +```js +core + .isIterable(var) -> bool + .getIterator(iterable) -> iterator + .getIteratorMethod(var) -> function | undefined +``` +[*CommonJS entry points:*](#commonjs) +```js +core-js(/library)/fn/is-iterable +core-js(/library)/fn/get-iterator +core-js(/library)/fn/get-iterator-method +``` +[*Examples*](http://goo.gl/SXsM6D): +```js +var list = (function(){ + return arguments; +})(1, 2, 3); + +console.log(core.isIterable(list)); // true; + +var iter = core.getIterator(list); +console.log(iter.next().value); // 1 +console.log(iter.next().value); // 2 +console.log(iter.next().value); // 3 +console.log(iter.next().value); // undefined + +core.getIterator({}); // TypeError: [object Object] is not iterable! + +var iterFn = core.getIteratorMethod(list); +console.log(typeof iterFn); // 'function' +var iter = iterFn.call(list); +console.log(iter.next().value); // 1 +console.log(iter.next().value); // 2 +console.log(iter.next().value); // 3 +console.log(iter.next().value); // undefined + +console.log(core.getIteratorMethod({})); // undefined +``` + +## Missing polyfills +- ES5 `JSON` is missing now only in IE7- and never will it be added to `core-js`, if you need it in these old browsers, many implementations are available, for example, [json3](https://github.com/bestiejs/json3). +- ES6 `String#normalize` is not a very useful feature, but this polyfill will be very large. If you need it, you can use [unorm](https://github.com/walling/unorm/). +- ES6 `Proxy` can't be polyfilled, but for Node.js / Chromium with additional flags you can try [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) for adapt old style `Proxy` API to final ES6 version. +- ES6 logic for `@@isConcatSpreadable` and `@@species` (in most places) can be polyfilled without problems, but it will cause a serious slowdown in popular cases in some engines. It will be polyfilled when it will be implemented in modern engines. +- ES7 `SIMD`. `core-js` doesn't add polyfill of this feature because of large size and some other reasons. You can use [this polyfill](https://github.com/tc39/ecmascript_simd/blob/master/src/ecmascript_simd.js). +- `window.fetch` is not a cross-platform feature, in some environments it makes no sense. For this reason, I don't think it should be in `core-js`. Looking at a large number of requests it *may be* added in the future. Now you can use, for example, [this polyfill](https://github.com/github/fetch). +- ECMA-402 `Intl` is missed because of size. You can use [this polyfill](https://github.com/andyearnshaw/Intl.js/). diff --git a/build/js-transpiled/node_modules/core-js/bower.json b/build/js-transpiled/node_modules/core-js/bower.json index f6eb784b..0700602a 100644 --- a/build/js-transpiled/node_modules/core-js/bower.json +++ b/build/js-transpiled/node_modules/core-js/bower.json @@ -1,21 +1,23 @@ { "name": "core.js", "main": "client/core.js", - "version": "2.4.1", + "version": "2.5.7", "description": "Standard Library", "keywords": [ "ES3", - "ECMAScript 3", "ES5", - "ECMAScript 5", "ES6", - "ES2015", - "ECMAScript 6", - "ECMAScript 2015", "ES7", + "ES2015", "ES2016", + "ES2017", + "ECMAScript 3", + "ECMAScript 5", + "ECMAScript 6", "ECMAScript 7", + "ECMAScript 2015", "ECMAScript 2016", + "ECMAScript 2017", "Harmony", "Strawman", "Map", diff --git a/build/js-transpiled/node_modules/core-js/build/Gruntfile.ls b/build/js-transpiled/node_modules/core-js/build/Gruntfile.ls index f4b53809..7b8e4656 100644 --- a/build/js-transpiled/node_modules/core-js/build/Gruntfile.ls +++ b/build/js-transpiled/node_modules/core-js/build/Gruntfile.ls @@ -11,8 +11,10 @@ module.exports = (grunt)-> uglify: build: files: '<%=grunt.option("path")%>.min.js': '<%=grunt.option("path")%>.js' options: - mangle: {+sort, +keep_fnames} - compress: {+pure_getters, +keep_fargs, +keep_fnames} + mangle: {+keep_fnames} + compress: {+keep_fnames, +pure_getters} + output: {max_line_len: 32000} + ie8: on sourceMap: on banner: config.banner livescript: src: files: diff --git a/build/js-transpiled/node_modules/core-js/build/build.ls b/build/js-transpiled/node_modules/core-js/build/build.ls index 0cf210de..6dbfa582 100644 --- a/build/js-transpiled/node_modules/core-js/build/build.ls +++ b/build/js-transpiled/node_modules/core-js/build/build.ls @@ -2,7 +2,7 @@ require! { '../library/fn/promise': Promise './config': {list, experimental, libraryBlacklist, es5SpecialCase, banner} fs: {readFile, writeFile, unlink} - path: {join} + path: {basename, dirname, join} webpack, temp } @@ -30,8 +30,8 @@ module.exports = ({modules = [], blacklist = [], library = no, umd = on})-> if library => join __dirname, '..', 'library', 'modules', it else join __dirname, '..', 'modules', it output: - path: '' - filename: TARGET + path: dirname TARGET + filename: basename "./#TARGET" if err => return reject err err, script <~! readFile TARGET @@ -43,9 +43,9 @@ module.exports = ({modules = [], blacklist = [], library = no, umd = on})-> if umd exportScript = """ // CommonJS export - if(typeof module != 'undefined' && module.exports)module.exports = __e; + if (typeof module != 'undefined' && module.exports) module.exports = __e; // RequireJS export - else if(typeof define == 'function' && define.amd)define(function(){return __e}); + else if (typeof define == 'function' && define.amd) define(function () { return __e; }); // Export to global object else __g.core = __e; """ diff --git a/build/js-transpiled/node_modules/core-js/build/config.js b/build/js-transpiled/node_modules/core-js/build/config.js index df09eb12..062d8105 100644 --- a/build/js-transpiled/node_modules/core-js/build/config.js +++ b/build/js-transpiled/node_modules/core-js/build/config.js @@ -138,6 +138,8 @@ module.exports = { 'es6.typed.float32-array', 'es6.typed.float64-array', 'es7.array.includes', + 'es7.array.flat-map', + 'es7.array.flatten', 'es7.string.at', 'es7.string.pad-start', 'es7.string.pad-end', @@ -149,21 +151,37 @@ module.exports = { 'es7.object.get-own-property-descriptors', 'es7.object.values', 'es7.object.entries', - 'es7.object.enumerable-keys', - 'es7.object.enumerable-values', - 'es7.object.enumerable-entries', 'es7.object.define-getter', 'es7.object.define-setter', 'es7.object.lookup-getter', 'es7.object.lookup-setter', 'es7.map.to-json', 'es7.set.to-json', + 'es7.map.of', + 'es7.set.of', + 'es7.weak-map.of', + 'es7.weak-set.of', + 'es7.map.from', + 'es7.set.from', + 'es7.weak-map.from', + 'es7.weak-set.from', + 'es7.global', 'es7.system.global', 'es7.error.is-error', + 'es7.math.clamp', + 'es7.math.deg-per-rad', + 'es7.math.degrees', + 'es7.math.fscale', 'es7.math.iaddh', 'es7.math.isubh', 'es7.math.imulh', + 'es7.math.rad-per-deg', + 'es7.math.radians', + 'es7.math.scale', 'es7.math.umulh', + 'es7.math.signbit', + 'es7.promise.finally', + 'es7.promise.try', 'es7.reflect.define-metadata', 'es7.reflect.delete-metadata', 'es7.reflect.get-metadata', @@ -194,9 +212,6 @@ module.exports = { 'core.string.unescape-html', ], experimental: [ - 'es7.object.enumerable-keys', - 'es7.object.enumerable-values', - 'es7.object.enumerable-entries', ], libraryBlacklist: [ 'es6.object.to-string', @@ -255,5 +270,5 @@ module.exports = { ' * https://github.com/zloirock/core-js\n' + ' * License: http://rock.mit-license.org\n' + ' * © ' + new Date().getFullYear() + ' Denis Pushkarev\n' + - ' */' -}; \ No newline at end of file + ' */', +}; diff --git a/build/js-transpiled/node_modules/core-js/build/index.js b/build/js-transpiled/node_modules/core-js/build/index.js index 26bdec41..1df7f10c 100644 --- a/build/js-transpiled/node_modules/core-js/build/index.js +++ b/build/js-transpiled/node_modules/core-js/build/index.js @@ -1,10 +1,10 @@ // Generated by LiveScript 1.4.0 (function(){ - var Promise, ref$, list, experimental, libraryBlacklist, es5SpecialCase, banner, readFile, writeFile, unlink, join, webpack, temp; + var Promise, ref$, list, experimental, libraryBlacklist, es5SpecialCase, banner, readFile, writeFile, unlink, basename, dirname, join, webpack, temp; Promise = require('../library/fn/promise'); ref$ = require('./config'), list = ref$.list, experimental = ref$.experimental, libraryBlacklist = ref$.libraryBlacklist, es5SpecialCase = ref$.es5SpecialCase, banner = ref$.banner; ref$ = require('fs'), readFile = ref$.readFile, writeFile = ref$.writeFile, unlink = ref$.unlink; - join = require('path').join; + ref$ = require('path'), basename = ref$.basename, dirname = ref$.dirname, join = ref$.join; webpack = require('webpack'); temp = require('temp'); module.exports = function(arg$){ @@ -65,8 +65,8 @@ } }), output: { - path: '', - filename: TARGET + path: dirname(TARGET), + filename: basename("./" + TARGET) } }, function(err, info){ if (err) { @@ -82,7 +82,7 @@ return reject(err); } if (umd) { - exportScript = "// CommonJS export\nif(typeof module != 'undefined' && module.exports)module.exports = __e;\n// RequireJS export\nelse if(typeof define == 'function' && define.amd)define(function(){return __e});\n// Export to global object\nelse __g.core = __e;"; + exportScript = "// CommonJS export\nif (typeof module != 'undefined' && module.exports) module.exports = __e;\n// RequireJS export\nelse if (typeof define == 'function' && define.amd) define(function () { return __e; });\n// Export to global object\nelse __g.core = __e;"; } else { exportScript = ""; } diff --git a/build/js-transpiled/node_modules/core-js/client/core.js b/build/js-transpiled/node_modules/core-js/client/core.js index 1e470de7..61090772 100644 --- a/build/js-transpiled/node_modules/core-js/client/core.js +++ b/build/js-transpiled/node_modules/core-js/client/core.js @@ -1,7613 +1,8645 @@ /** - * core-js 2.4.1 + * core-js 2.5.7 * https://github.com/zloirock/core-js * License: http://rock.mit-license.org - * © 2016 Denis Pushkarev + * © 2018 Denis Pushkarev */ !function(__e, __g, undefined){ 'use strict'; /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; - +/******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { - +/******/ /******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) +/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; - +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} /******/ }; - +/******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - +/******/ /******/ // Flag the module as loaded -/******/ module.loaded = true; - +/******/ module.l = true; +/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } - - +/******/ +/******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; - +/******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; - +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; - +/******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __webpack_require__(__webpack_require__.s = 129); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(1); - __webpack_require__(50); - __webpack_require__(51); - __webpack_require__(52); - __webpack_require__(54); - __webpack_require__(55); - __webpack_require__(58); - __webpack_require__(59); - __webpack_require__(60); - __webpack_require__(61); - __webpack_require__(62); - __webpack_require__(63); - __webpack_require__(64); - __webpack_require__(65); - __webpack_require__(66); - __webpack_require__(68); - __webpack_require__(70); - __webpack_require__(72); - __webpack_require__(74); - __webpack_require__(77); - __webpack_require__(78); - __webpack_require__(79); - __webpack_require__(83); - __webpack_require__(86); - __webpack_require__(87); - __webpack_require__(88); - __webpack_require__(89); - __webpack_require__(91); - __webpack_require__(92); - __webpack_require__(93); - __webpack_require__(94); - __webpack_require__(95); - __webpack_require__(97); - __webpack_require__(99); - __webpack_require__(100); - __webpack_require__(101); - __webpack_require__(103); - __webpack_require__(104); - __webpack_require__(105); - __webpack_require__(107); - __webpack_require__(108); - __webpack_require__(109); - __webpack_require__(111); - __webpack_require__(112); - __webpack_require__(113); - __webpack_require__(114); - __webpack_require__(115); - __webpack_require__(116); - __webpack_require__(117); - __webpack_require__(118); - __webpack_require__(119); - __webpack_require__(120); - __webpack_require__(121); - __webpack_require__(122); - __webpack_require__(123); - __webpack_require__(124); - __webpack_require__(126); - __webpack_require__(130); - __webpack_require__(131); - __webpack_require__(132); - __webpack_require__(133); - __webpack_require__(137); - __webpack_require__(139); - __webpack_require__(140); - __webpack_require__(141); - __webpack_require__(142); - __webpack_require__(143); - __webpack_require__(144); - __webpack_require__(145); - __webpack_require__(146); - __webpack_require__(147); - __webpack_require__(148); - __webpack_require__(149); - __webpack_require__(150); - __webpack_require__(151); - __webpack_require__(152); - __webpack_require__(158); - __webpack_require__(159); - __webpack_require__(161); - __webpack_require__(162); - __webpack_require__(163); - __webpack_require__(167); - __webpack_require__(168); - __webpack_require__(169); - __webpack_require__(170); - __webpack_require__(171); - __webpack_require__(173); - __webpack_require__(174); - __webpack_require__(175); - __webpack_require__(176); - __webpack_require__(179); - __webpack_require__(181); - __webpack_require__(182); - __webpack_require__(183); - __webpack_require__(185); - __webpack_require__(187); - __webpack_require__(189); - __webpack_require__(190); - __webpack_require__(191); - __webpack_require__(193); - __webpack_require__(194); - __webpack_require__(195); - __webpack_require__(196); - __webpack_require__(203); - __webpack_require__(206); - __webpack_require__(207); - __webpack_require__(209); - __webpack_require__(210); - __webpack_require__(211); - __webpack_require__(212); - __webpack_require__(213); - __webpack_require__(214); - __webpack_require__(215); - __webpack_require__(216); - __webpack_require__(217); - __webpack_require__(218); - __webpack_require__(219); - __webpack_require__(220); - __webpack_require__(222); - __webpack_require__(223); - __webpack_require__(224); - __webpack_require__(225); - __webpack_require__(226); - __webpack_require__(227); - __webpack_require__(228); - __webpack_require__(229); - __webpack_require__(231); - __webpack_require__(234); - __webpack_require__(235); - __webpack_require__(237); - __webpack_require__(238); - __webpack_require__(239); - __webpack_require__(240); - __webpack_require__(241); - __webpack_require__(242); - __webpack_require__(243); - __webpack_require__(244); - __webpack_require__(245); - __webpack_require__(246); - __webpack_require__(247); - __webpack_require__(249); - __webpack_require__(250); - __webpack_require__(251); - __webpack_require__(252); - __webpack_require__(253); - __webpack_require__(254); - __webpack_require__(255); - __webpack_require__(256); - __webpack_require__(258); - __webpack_require__(259); - __webpack_require__(261); - __webpack_require__(262); - __webpack_require__(263); - __webpack_require__(264); - __webpack_require__(267); - __webpack_require__(268); - __webpack_require__(269); - __webpack_require__(270); - __webpack_require__(271); - __webpack_require__(272); - __webpack_require__(273); - __webpack_require__(274); - __webpack_require__(276); - __webpack_require__(277); - __webpack_require__(278); - __webpack_require__(279); - __webpack_require__(280); - __webpack_require__(281); - __webpack_require__(282); - __webpack_require__(283); - __webpack_require__(284); - __webpack_require__(285); - __webpack_require__(286); - __webpack_require__(287); - __webpack_require__(288); - __webpack_require__(291); - __webpack_require__(156); - __webpack_require__(293); - __webpack_require__(292); - __webpack_require__(294); - __webpack_require__(295); - __webpack_require__(296); - __webpack_require__(297); - __webpack_require__(298); - __webpack_require__(300); - __webpack_require__(301); - __webpack_require__(302); - __webpack_require__(304); - module.exports = __webpack_require__(305); - - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(13); +var hide = __webpack_require__(14); +var redefine = __webpack_require__(15); +var ctx = __webpack_require__(19); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if (target) redefine(target, key, out, type & $export.U); + // export + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + + +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // ECMAScript 6 symbols shim - var global = __webpack_require__(2) - , has = __webpack_require__(3) - , DESCRIPTORS = __webpack_require__(4) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(16) - , META = __webpack_require__(20).KEY - , $fails = __webpack_require__(5) - , shared = __webpack_require__(21) - , setToStringTag = __webpack_require__(22) - , uid = __webpack_require__(17) - , wks = __webpack_require__(23) - , wksExt = __webpack_require__(24) - , wksDefine = __webpack_require__(25) - , keyOf = __webpack_require__(27) - , enumKeys = __webpack_require__(40) - , isArray = __webpack_require__(43) - , anObject = __webpack_require__(10) - , toIObject = __webpack_require__(30) - , toPrimitive = __webpack_require__(14) - , createDesc = __webpack_require__(15) - , _create = __webpack_require__(44) - , gOPNExt = __webpack_require__(47) - , $GOPD = __webpack_require__(49) - , $DP = __webpack_require__(9) - , $keys = __webpack_require__(28) - , gOPD = $GOPD.f - , dP = $DP.f - , gOPN = gOPNExt.f - , $Symbol = global.Symbol - , $JSON = global.JSON - , _stringify = $JSON && $JSON.stringify - , PROTOTYPE = 'prototype' - , HIDDEN = wks('_hidden') - , TO_PRIMITIVE = wks('toPrimitive') - , isEnum = {}.propertyIsEnumerable - , SymbolRegistry = shared('symbol-registry') - , AllSymbols = shared('symbols') - , OPSymbols = shared('op-symbols') - , ObjectProto = Object[PROTOTYPE] - , USE_NATIVE = typeof $Symbol == 'function' - , QObject = global.QObject; - // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 - var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - var setSymbolDesc = DESCRIPTORS && $fails(function(){ - return _create(dP({}, 'a', { - get: function(){ return dP(this, 'a', {value: 7}).a; } - })).a != 7; - }) ? function(it, key, D){ - var protoDesc = gOPD(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; - dP(it, key, D); - if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc); - } : dP; - - var wrap = function(tag){ - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; - }; - - var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ - return typeof it == 'symbol'; - } : function(it){ - return it instanceof $Symbol; - }; - - var $defineProperty = function defineProperty(it, key, D){ - if(it === ObjectProto)$defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if(has(AllSymbols, key)){ - if(!D.enumerable){ - if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = _create(D, {enumerable: createDesc(0, false)}); - } return setSymbolDesc(it, key, D); - } return dP(it, key, D); - }; - var $defineProperties = function defineProperties(it, P){ - anObject(it); - var keys = enumKeys(P = toIObject(P)) - , i = 0 - , l = keys.length - , key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); - return it; - }; - var $create = function create(it, P){ - return P === undefined ? _create(it) : $defineProperties(_create(it), P); - }; - var $propertyIsEnumerable = function propertyIsEnumerable(key){ - var E = isEnum.call(this, key = toPrimitive(key, true)); - if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; - }; - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ - it = toIObject(it); - key = toPrimitive(key, true); - if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return; - var D = gOPD(it, key); - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; - return D; - }; - var $getOwnPropertyNames = function getOwnPropertyNames(it){ - var names = gOPN(toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); - } return result; - }; - var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ - var IS_OP = it === ObjectProto - , names = gOPN(IS_OP ? OPSymbols : toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]); - } return result; - }; - - // 19.4.1.1 Symbol([description]) - if(!USE_NATIVE){ - $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value){ - if(this === ObjectProto)$set.call(OPSymbols, value); - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set}); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString(){ - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - __webpack_require__(48).f = gOPNExt.f = $getOwnPropertyNames; - __webpack_require__(42).f = $propertyIsEnumerable; - __webpack_require__(41).f = $getOwnPropertySymbols; - - if(DESCRIPTORS && !__webpack_require__(26)){ - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function(name){ - return wrap(wks(name)); - } - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol}); - - for(var symbols = ( - // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' - ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]); - - for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]); - - $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function(key){ - return has(SymbolRegistry, key += '') - ? SymbolRegistry[key] - : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(key){ - if(isSymbol(key))return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); - }, - useSetter: function(){ setter = true; }, - useSimple: function(){ setter = false; } - }); - - $export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols - }); - - // 24.3.2 JSON.stringify(value [, replacer [, space]]) - $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){ - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; - })), 'JSON', { - stringify: function stringify(it){ - if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined - var args = [it] - , i = 1 - , replacer, $replacer; - while(arguments.length > i)args.push(arguments[i++]); - replacer = args[1]; - if(typeof replacer == 'function')$replacer = replacer; - if($replacer || !isArray(replacer))replacer = function(key, value){ - if($replacer)value = $replacer.call(this, key, value); - if(!isSymbol(value))return value; - }; - args[1] = replacer; - return _stringify.apply($JSON, args); - } - }); - - // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) - $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(8)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); - // 19.4.3.5 Symbol.prototype[@@toStringTag] - setToStringTag($Symbol, 'Symbol'); - // 20.2.1.9 Math[@@toStringTag] - setToStringTag(Math, 'Math', true); - // 24.3.3 JSON[@@toStringTag] - setToStringTag(global.JSON, 'JSON', true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(3); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; + + +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); - if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef -/***/ }, + +/***/ }), /* 3 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; - var hasOwnProperty = {}.hasOwnProperty; - module.exports = function(it, key){ - return hasOwnProperty.call(it, key); - }; -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // Thank's IE8 for his funny defineProperty - module.exports = !__webpack_require__(5)(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; - }); +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; -/***/ }, + +/***/ }), /* 5 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var store = __webpack_require__(50)('wks'); +var uid = __webpack_require__(36); +var Symbol = __webpack_require__(2).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; - module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } - }; -/***/ }, +/***/ }), /* 6 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , hide = __webpack_require__(8) - , redefine = __webpack_require__(16) - , ctx = __webpack_require__(18) - , PROTOTYPE = 'prototype'; - - var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}) - , key, own, out, exp; - if(IS_GLOBAL)source = name; - for(key in source){ - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if(target)redefine(target, key, out, type & $export.U); - // export - if(exports[key] != out)hide(exports, key, exp); - if(IS_PROTO && expProto[key] != out)expProto[key] = out; - } - }; - global.core = core; - // type bitmap - $export.F = 1; // forced - $export.G = 2; // global - $export.S = 4; // static - $export.P = 8; // proto - $export.B = 16; // bind - $export.W = 32; // wrap - $export.U = 64; // safe - $export.R = 128; // real proto method for `library` - module.exports = $export; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(1); +var IE8_DOM_DEFINE = __webpack_require__(95); +var toPrimitive = __webpack_require__(22); +var dP = Object.defineProperty; + +exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), /* 7 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - var core = module.exports = {version: '2.4.0'}; - if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(4)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); -/***/ }, + +/***/ }), /* 8 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9) - , createDesc = __webpack_require__(15); - module.exports = __webpack_require__(4) ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); - } : function(object, key, value){ - object[key] = value; - return object; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__(24); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + + +/***/ }), /* 9 */ -/***/ function(module, exports, __webpack_require__) { - - var anObject = __webpack_require__(10) - , IE8_DOM_DEFINE = __webpack_require__(12) - , toPrimitive = __webpack_require__(14) - , dP = Object.defineProperty; - - exports.f = __webpack_require__(4) ? Object.defineProperty : function defineProperty(O, P, Attributes){ - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if(IE8_DOM_DEFINE)try { - return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(23); +module.exports = function (it) { + return Object(defined(it)); +}; + + +/***/ }), /* 10 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; - var isObject = __webpack_require__(11); - module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); - return it; - }; -/***/ }, +/***/ }), /* 11 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; - }; +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(47); +var defined = __webpack_require__(23); +module.exports = function (it) { + return IObject(defined(it)); +}; -/***/ }, + +/***/ }), /* 12 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; - module.exports = !__webpack_require__(4) && !__webpack_require__(5)(function(){ - return Object.defineProperty(__webpack_require__(13)('div'), 'a', {get: function(){ return 7; }}).a != 7; - }); -/***/ }, +/***/ }), /* 13 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var isObject = __webpack_require__(11) - , document = __webpack_require__(2).document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); - module.exports = function(it){ - return is ? document.createElement(it) : {}; - }; +var core = module.exports = { version: '2.5.7' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef -/***/ }, + +/***/ }), /* 14 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.1.1 ToPrimitive(input [, PreferredType]) - var isObject = __webpack_require__(11); - // instead of the ES6 spec version, we didn't implement @@toPrimitive case - // and the second argument - flag - preferred type is a string - module.exports = function(it, S){ - if(!isObject(it))return it; - var fn, val; - if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - throw TypeError("Can't convert object to primitive value"); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(6); +var createDesc = __webpack_require__(31); +module.exports = __webpack_require__(7) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), /* 15 */ -/***/ function(module, exports) { - - module.exports = function(bitmap, value){ - return { - enumerable : !(bitmap & 1), - configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var hide = __webpack_require__(14); +var has = __webpack_require__(12); +var SRC = __webpack_require__(36)('src'); +var TO_STRING = 'toString'; +var $toString = Function[TO_STRING]; +var TPL = ('' + $toString).split(TO_STRING); + +__webpack_require__(13).inspectSource = function (it) { + return $toString.call(it); +}; + +(module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + hide(O, key, val); + } +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); + + +/***/ }), /* 16 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , hide = __webpack_require__(8) - , has = __webpack_require__(3) - , SRC = __webpack_require__(17)('src') - , TO_STRING = 'toString' - , $toString = Function[TO_STRING] - , TPL = ('' + $toString).split(TO_STRING); - - __webpack_require__(7).inspectSource = function(it){ - return $toString.call(it); - }; - - (module.exports = function(O, key, val, safe){ - var isFunction = typeof val == 'function'; - if(isFunction)has(val, 'name') || hide(val, 'name', key); - if(O[key] === val)return; - if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if(O === global){ - O[key] = val; - } else { - if(!safe){ - delete O[key]; - hide(O, key, val); - } else { - if(O[key])O[key] = val; - else hide(O, key, val); - } - } - // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative - })(Function.prototype, TO_STRING, function toString(){ - return typeof this == 'function' && this[SRC] || $toString.call(this); - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var pIE = __webpack_require__(48); +var createDesc = __webpack_require__(31); +var toIObject = __webpack_require__(11); +var toPrimitive = __webpack_require__(22); +var has = __webpack_require__(12); +var IE8_DOM_DEFINE = __webpack_require__(95); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + + +/***/ }), /* 17 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = __webpack_require__(12); +var toObject = __webpack_require__(9); +var IE_PROTO = __webpack_require__(69)('IE_PROTO'); +var ObjectProto = Object.prototype; + +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; - var id = 0 - , px = Math.random(); - module.exports = function(key){ - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); - }; -/***/ }, +/***/ }), /* 18 */ -/***/ function(module, exports, __webpack_require__) { - - // optional / simple context binding - var aFunction = __webpack_require__(19); - module.exports = function(fn, that, length){ - aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ - return fn.call(that, a); - }; - case 2: return function(a, b){ - return fn.call(that, a, b); - }; - case 3: return function(a, b, c){ - return fn.call(that, a, b, c); - }; - } - return function(/* ...args */){ - return fn.apply(that, arguments); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var fails = __webpack_require__(4); +var defined = __webpack_require__(23); +var quot = /"/g; +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; +module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); +}; + + +/***/ }), /* 19 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__(10); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { - module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); - return it; - }; +var toString = {}.toString; -/***/ }, -/* 20 */ -/***/ function(module, exports, __webpack_require__) { - - var META = __webpack_require__(17)('meta') - , isObject = __webpack_require__(11) - , has = __webpack_require__(3) - , setDesc = __webpack_require__(9).f - , id = 0; - var isExtensible = Object.isExtensible || function(){ - return true; - }; - var FREEZE = !__webpack_require__(5)(function(){ - return isExtensible(Object.preventExtensions({})); - }); - var setMeta = function(it){ - setDesc(it, META, {value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - }}); - }; - var fastKey = function(it, create){ - // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; - // not necessary to add metadata - if(!create)return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; - }; - var getWeak = function(it, create){ - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; - // not necessary to add metadata - if(!create)return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; - }; - // add metadata on freeze-family methods calling - var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); - return it; - }; - var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze - }; - -/***/ }, +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + + +/***/ }), /* 21 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var global = __webpack_require__(2) - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); - module.exports = function(key){ - return store[key] || (store[key] = {}); - }; +"use strict"; -/***/ }, -/* 22 */ -/***/ function(module, exports, __webpack_require__) { +var fails = __webpack_require__(4); - var def = __webpack_require__(9).f - , has = __webpack_require__(3) - , TAG = __webpack_require__(23)('toStringTag'); +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); + }); +}; - module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); - }; -/***/ }, +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__(3); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), /* 23 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var store = __webpack_require__(21)('wks') - , uid = __webpack_require__(17) - , Symbol = __webpack_require__(2).Symbol - , USE_SYMBOL = typeof Symbol == 'function'; +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; - var $exports = module.exports = function(name){ - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); - }; - $exports.store = store; - -/***/ }, +/***/ }), /* 24 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; - exports.f = __webpack_require__(23); -/***/ }, +/***/ }), /* 25 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , LIBRARY = __webpack_require__(26) - , wksExt = __webpack_require__(24) - , defineProperty = __webpack_require__(9).f; - module.exports = function(name){ - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); - }; - -/***/ }, -/* 26 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// most Object methods by ES6 should accept primitives +var $export = __webpack_require__(0); +var core = __webpack_require__(13); +var fails = __webpack_require__(4); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; - module.exports = false; -/***/ }, +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { + +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = __webpack_require__(19); +var IObject = __webpack_require__(47); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(8); +var asc = __webpack_require__(85); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + + +/***/ }), /* 27 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(28) - , toIObject = __webpack_require__(30); - module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; - }; - -/***/ }, -/* 28 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.14 / 15.2.3.14 Object.keys(O) - var $keys = __webpack_require__(29) - , enumBugKeys = __webpack_require__(39); +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(97); +var enumBugKeys = __webpack_require__(70); - module.exports = Object.keys || function keys(O){ - return $keys(O, enumBugKeys); - }; +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; -/***/ }, + +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(1); +var dPs = __webpack_require__(98); +var enumBugKeys = __webpack_require__(70); +var IE_PROTO = __webpack_require__(69)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(67)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(71).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + + +/***/ }), /* 29 */ -/***/ function(module, exports, __webpack_require__) { - - var has = __webpack_require__(3) - , toIObject = __webpack_require__(30) - , arrayIndexOf = __webpack_require__(34)(false) - , IE_PROTO = __webpack_require__(38)('IE_PROTO'); - - module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ - ~arrayIndexOf(result, key) || result.push(key); - } - return result; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +if (__webpack_require__(7)) { + var LIBRARY = __webpack_require__(33); + var global = __webpack_require__(2); + var fails = __webpack_require__(4); + var $export = __webpack_require__(0); + var $typed = __webpack_require__(63); + var $buffer = __webpack_require__(93); + var ctx = __webpack_require__(19); + var anInstance = __webpack_require__(42); + var propertyDesc = __webpack_require__(31); + var hide = __webpack_require__(14); + var redefineAll = __webpack_require__(43); + var toInteger = __webpack_require__(24); + var toLength = __webpack_require__(8); + var toIndex = __webpack_require__(118); + var toAbsoluteIndex = __webpack_require__(37); + var toPrimitive = __webpack_require__(22); + var has = __webpack_require__(12); + var classof = __webpack_require__(39); + var isObject = __webpack_require__(3); + var toObject = __webpack_require__(9); + var isArrayIter = __webpack_require__(83); + var create = __webpack_require__(28); + var getPrototypeOf = __webpack_require__(17); + var gOPN = __webpack_require__(38).f; + var getIterFn = __webpack_require__(49); + var uid = __webpack_require__(36); + var wks = __webpack_require__(5); + var createArrayMethod = __webpack_require__(26); + var createArrayIncludes = __webpack_require__(51); + var speciesConstructor = __webpack_require__(60); + var ArrayIterators = __webpack_require__(87); + var Iterators = __webpack_require__(40); + var $iterDetect = __webpack_require__(57); + var setSpecies = __webpack_require__(41); + var arrayFill = __webpack_require__(86); + var arrayCopyWithin = __webpack_require__(109); + var $DP = __webpack_require__(6); + var $GOPD = __webpack_require__(16); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var toOffset = function (it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + } return new C(length); + }; + + var speciesFromList = function (O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; + return result; + }; + + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); + }; + + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + } O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; + return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /* , end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /* , thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /* , thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, + arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /* , thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /* , thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /* , thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /* , fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /* , fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /* , thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; + }, + some: function some(callbackfn /* , thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( + O.buffer, + O.byteOffset + $begin * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) + ); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /* , offset */) { + validate(this); + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function (target, key) { + return isObject(target) + && target[TYPED_ARRAY] + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) + ? propertyDesc(2, target[key]) + : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) + && isObject(desc) + && has(desc, 'value') + && !has(desc, 'get') + && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable + && (!has(desc, 'writable') || desc.writable) + && (!has(desc, 'enumerable') || desc.enumerable) + ) { + target[key] = desc.value; + return target; + } return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function () { return this[TYPED_ARRAY]; } + }); + + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function (that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function (that, index) { + dP(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined + ? new Base(data, toOffset($offset, BYTES), $length) + : $offset !== undefined + ? new Base(data, toOffset($offset, BYTES)) + : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function () { return NAME; } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), /* 30 */ -/***/ function(module, exports, __webpack_require__) { - - // to indexed object, toObject with fallback for non-array-like ES3 strings - var IObject = __webpack_require__(31) - , defined = __webpack_require__(33); - module.exports = function(it){ - return IObject(defined(it)); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var Map = __webpack_require__(113); +var $export = __webpack_require__(0); +var shared = __webpack_require__(50)('metadata'); +var store = shared.store || (shared.store = new (__webpack_require__(116))()); + +var getOrCreateMetadataMap = function (target, targetKey, create) { + var targetMetadata = store.get(target); + if (!targetMetadata) { + if (!create) return undefined; + store.set(target, targetMetadata = new Map()); + } + var keyMetadata = targetMetadata.get(targetKey); + if (!keyMetadata) { + if (!create) return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map()); + } return keyMetadata; +}; +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); +}; +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); +}; +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); +}; +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); + return keys; +}; +var toMetaKey = function (it) { + return it === undefined || typeof it == 'symbol' ? it : String(it); +}; +var exp = function (O) { + $export($export.S, 'Reflect', O); +}; + +module.exports = { + store: store, + map: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + key: toMetaKey, + exp: exp +}; + + +/***/ }), /* 31 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // fallback for non-array-like ES3 and non-enumerable old V8 strings - var cof = __webpack_require__(32); - module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ - return cof(it) == 'String' ? it.split('') : Object(it); - }; +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; -/***/ }, -/* 32 */ -/***/ function(module, exports) { - - var toString = {}.toString; - module.exports = function(it){ - return toString.call(it).slice(8, -1); - }; - -/***/ }, +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +var META = __webpack_require__(36)('meta'); +var isObject = __webpack_require__(3); +var has = __webpack_require__(12); +var setDesc = __webpack_require__(6).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !__webpack_require__(4)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + + +/***/ }), /* 33 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - // 7.2.1 RequireObjectCoercible(argument) - module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); - return it; - }; +module.exports = false; -/***/ }, + +/***/ }), /* 34 */ -/***/ function(module, exports, __webpack_require__) { - - // false -> Array#indexOf - // true -> Array#includes - var toIObject = __webpack_require__(30) - , toLength = __webpack_require__(35) - , toIndex = __webpack_require__(37); - module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; - // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ - value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; - }; - -/***/ }, -/* 35 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 7.1.15 ToLength - var toInteger = __webpack_require__(36) - , min = Math.min; - module.exports = function(it){ - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 - }; +// 22.1.3.31 Array.prototype[@@unscopables] +var UNSCOPABLES = __webpack_require__(5)('unscopables'); +var ArrayProto = Array.prototype; +if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(14)(ArrayProto, UNSCOPABLES, {}); +module.exports = function (key) { + ArrayProto[UNSCOPABLES][key] = true; +}; -/***/ }, + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(19); +var call = __webpack_require__(107); +var isArrayIter = __webpack_require__(83); +var anObject = __webpack_require__(1); +var toLength = __webpack_require__(8); +var getIterFn = __webpack_require__(49); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + + +/***/ }), /* 36 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - // 7.1.4 ToInteger - var ceil = Math.ceil - , floor = Math.floor; - module.exports = function(it){ - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); - }; +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; -/***/ }, + +/***/ }), /* 37 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(24); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; - var toInteger = __webpack_require__(36) - , max = Math.max - , min = Math.min; - module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); - }; -/***/ }, +/***/ }), /* 38 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var shared = __webpack_require__(21)('keys') - , uid = __webpack_require__(17); - module.exports = function(key){ - return shared[key] || (shared[key] = uid(key)); - }; +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = __webpack_require__(97); +var hiddenKeys = __webpack_require__(70).concat('length', 'prototype'); -/***/ }, -/* 39 */ -/***/ function(module, exports) { +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; - // IE 8- don't enum bug keys - module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' - ).split(','); -/***/ }, +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { + +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = __webpack_require__(20); +var TAG = __webpack_require__(5)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + + +/***/ }), /* 40 */ -/***/ function(module, exports, __webpack_require__) { - - // all enumerable object keys, includes symbols - var getKeys = __webpack_require__(28) - , gOPS = __webpack_require__(41) - , pIE = __webpack_require__(42); - module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); - } return result; - }; - -/***/ }, +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), /* 41 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - exports.f = Object.getOwnPropertySymbols; +var global = __webpack_require__(2); +var dP = __webpack_require__(6); +var DESCRIPTORS = __webpack_require__(7); +var SPECIES = __webpack_require__(5)('species'); -/***/ }, +module.exports = function (KEY) { + var C = global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + + +/***/ }), /* 42 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - exports.f = {}.propertyIsEnumerable; +module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { + throw TypeError(name + ': incorrect invocation!'); + } return it; +}; -/***/ }, + +/***/ }), /* 43 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var redefine = __webpack_require__(15); +module.exports = function (target, src, safe) { + for (var key in src) redefine(target, key, src[key], safe); + return target; +}; - // 7.2.2 IsArray(argument) - var cof = __webpack_require__(32); - module.exports = Array.isArray || function isArray(arg){ - return cof(arg) == 'Array'; - }; -/***/ }, +/***/ }), /* 44 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - var anObject = __webpack_require__(10) - , dPs = __webpack_require__(45) - , enumBugKeys = __webpack_require__(39) - , IE_PROTO = __webpack_require__(38)('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - - // Create object with fake `null` prototype: use iframe Object with cleared prototype - var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(13)('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(46).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); - }; - - module.exports = Object.create || function create(O, Properties){ - var result; - if(O !== null){ - Empty[PROTOTYPE] = anObject(O); - result = new Empty; - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); - }; - - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var def = __webpack_require__(6).f; +var has = __webpack_require__(12); +var TAG = __webpack_require__(5)('toStringTag'); + +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; + + +/***/ }), /* 45 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9) - , anObject = __webpack_require__(10) - , getKeys = __webpack_require__(28); - - module.exports = __webpack_require__(4) ? Object.defineProperties : function defineProperties(O, Properties){ - anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var defined = __webpack_require__(23); +var fails = __webpack_require__(4); +var spaces = __webpack_require__(76); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); + +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; + + +/***/ }), /* 46 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(2).document && document.documentElement; +var isObject = __webpack_require__(3); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; -/***/ }, + +/***/ }), /* 47 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - var toIObject = __webpack_require__(30) - , gOPN = __webpack_require__(48).f - , toString = {}.toString; +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = __webpack_require__(20); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; - var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - var getWindowNames = function(it){ - try { - return gOPN(it); - } catch(e){ - return windowNames.slice(); - } - }; +/***/ }), +/* 48 */ +/***/ (function(module, exports) { - module.exports.f = function getOwnPropertyNames(it){ - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); - }; +exports.f = {}.propertyIsEnumerable; -/***/ }, -/* 48 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) - var $keys = __webpack_require__(29) - , hiddenKeys = __webpack_require__(39).concat('length', 'prototype'); +var classof = __webpack_require__(39); +var ITERATOR = __webpack_require__(5)('iterator'); +var Iterators = __webpack_require__(40); +module.exports = __webpack_require__(13).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; - exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ - return $keys(O, hiddenKeys); - }; -/***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { - - var pIE = __webpack_require__(42) - , createDesc = __webpack_require__(15) - , toIObject = __webpack_require__(30) - , toPrimitive = __webpack_require__(14) - , has = __webpack_require__(3) - , IE8_DOM_DEFINE = __webpack_require__(12) - , gOPD = Object.getOwnPropertyDescriptor; - - exports.f = __webpack_require__(4) ? gOPD : function getOwnPropertyDescriptor(O, P){ - O = toIObject(O); - P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { - return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); - }; - -/***/ }, +/***/ }), /* 50 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); - // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) - $export($export.S + $export.F * !__webpack_require__(4), 'Object', {defineProperty: __webpack_require__(9).f}); +var core = __webpack_require__(13); +var global = __webpack_require__(2); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); -/***/ }, -/* 51 */ -/***/ function(module, exports, __webpack_require__) { +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: __webpack_require__(33) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); - var $export = __webpack_require__(6); - // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) - $export($export.S + $export.F * !__webpack_require__(4), 'Object', {defineProperties: __webpack_require__(45)}); -/***/ }, +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { + +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__(11); +var toLength = __webpack_require__(8); +var toAbsoluteIndex = __webpack_require__(37); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + + +/***/ }), /* 52 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - var toIObject = __webpack_require__(30) - , $getOwnPropertyDescriptor = __webpack_require__(49).f; +exports.f = Object.getOwnPropertySymbols; - __webpack_require__(53)('getOwnPropertyDescriptor', function(){ - return function getOwnPropertyDescriptor(it, key){ - return $getOwnPropertyDescriptor(toIObject(it), key); - }; - }); -/***/ }, +/***/ }), /* 53 */ -/***/ function(module, exports, __webpack_require__) { - - // most Object methods by ES6 should accept primitives - var $export = __webpack_require__(6) - , core = __webpack_require__(7) - , fails = __webpack_require__(5); - module.exports = function(KEY, exec){ - var fn = (core.Object || {})[KEY] || Object[KEY] - , exp = {}; - exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 7.2.2 IsArray(argument) +var cof = __webpack_require__(20); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; + + +/***/ }), /* 54 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - $export($export.S, 'Object', {create: __webpack_require__(44)}); +// 7.2.8 IsRegExp(argument) +var isObject = __webpack_require__(3); +var cof = __webpack_require__(20); +var MATCH = __webpack_require__(5)('match'); +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; -/***/ }, + +/***/ }), /* 55 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(33); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(15); +var hide = __webpack_require__(14); +var Iterators = __webpack_require__(40); +var $iterCreate = __webpack_require__(56); +var setToStringTag = __webpack_require__(44); +var getPrototypeOf = __webpack_require__(17); +var ITERATOR = __webpack_require__(5)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.9 Object.getPrototypeOf(O) - var toObject = __webpack_require__(56) - , $getPrototypeOf = __webpack_require__(57); +"use strict"; - __webpack_require__(53)('getPrototypeOf', function(){ - return function getPrototypeOf(it){ - return $getPrototypeOf(toObject(it)); - }; - }); +var create = __webpack_require__(28); +var descriptor = __webpack_require__(31); +var setToStringTag = __webpack_require__(44); +var IteratorPrototype = {}; -/***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +__webpack_require__(14)(IteratorPrototype, __webpack_require__(5)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; - // 7.1.13 ToObject(argument) - var defined = __webpack_require__(33); - module.exports = function(it){ - return Object(defined(it)); - }; -/***/ }, +/***/ }), /* 57 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) - var has = __webpack_require__(3) - , toObject = __webpack_require__(56) - , IE_PROTO = __webpack_require__(38)('IE_PROTO') - , ObjectProto = Object.prototype; - - module.exports = Object.getPrototypeOf || function(O){ - O = toObject(O); - if(has(O, IE_PROTO))return O[IE_PROTO]; - if(typeof O.constructor == 'function' && O instanceof O.constructor){ - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var ITERATOR = __webpack_require__(5)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + + +/***/ }), /* 58 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.14 Object.keys(O) - var toObject = __webpack_require__(56) - , $keys = __webpack_require__(28); +"use strict"; - __webpack_require__(53)('keys', function(){ - return function keys(it){ - return $keys(toObject(it)); - }; - }); - -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { +// 21.2.5.3 get RegExp.prototype.flags +var anObject = __webpack_require__(1); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; - // 19.1.2.7 Object.getOwnPropertyNames(O) - __webpack_require__(53)('getOwnPropertyNames', function(){ - return __webpack_require__(47).f; - }); -/***/ }, +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var hide = __webpack_require__(14); +var redefine = __webpack_require__(15); +var fails = __webpack_require__(4); +var defined = __webpack_require__(23); +var wks = __webpack_require__(5); + +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + var fns = exec(defined, SYMBOL, ''[KEY]); + var strfn = fns[0]; + var rxfn = fns[1]; + if (fails(function () { + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + })) { + redefine(String.prototype, KEY, strfn); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return rxfn.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return rxfn.call(string, this); } + ); + } +}; + + +/***/ }), /* 60 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.5 Object.freeze(O) - var isObject = __webpack_require__(11) - , meta = __webpack_require__(20).onFreeze; +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = __webpack_require__(1); +var aFunction = __webpack_require__(10); +var SPECIES = __webpack_require__(5)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; - __webpack_require__(53)('freeze', function($freeze){ - return function freeze(it){ - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; - }); -/***/ }, +/***/ }), /* 61 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.17 Object.seal(O) - var isObject = __webpack_require__(11) - , meta = __webpack_require__(20).onFreeze; +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(53)('seal', function($seal){ - return function seal(it){ - return $seal && isObject(it) ? $seal(meta(it)) : it; - }; - }); - -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { +var global = __webpack_require__(2); +var navigator = global.navigator; - // 19.1.2.15 Object.preventExtensions(O) - var isObject = __webpack_require__(11) - , meta = __webpack_require__(20).onFreeze; +module.exports = navigator && navigator.userAgent || ''; - __webpack_require__(53)('preventExtensions', function($preventExtensions){ - return function preventExtensions(it){ - return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; - }; - }); -/***/ }, +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(15); +var redefineAll = __webpack_require__(43); +var meta = __webpack_require__(32); +var forOf = __webpack_require__(35); +var anInstance = __webpack_require__(42); +var isObject = __webpack_require__(3); +var fails = __webpack_require__(4); +var $iterDetect = __webpack_require__(57); +var setToStringTag = __webpack_require__(44); +var inheritIfRequired = __webpack_require__(75); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + var fixMethod = function (KEY) { + var fn = proto[KEY]; + redefine(proto, KEY, + KEY == 'delete' ? function (a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a) { + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } + ); + }; + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + var instance = new C(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + // weak collections should not contains .clear method + if (IS_WEAK && proto.clear) delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + + +/***/ }), /* 63 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var hide = __webpack_require__(14); +var uid = __webpack_require__(36); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; + +var TypedArrayConstructors = ( + 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' +).split(','); + +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; +} + +module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.12 Object.isFrozen(O) - var isObject = __webpack_require__(11); +"use strict"; - __webpack_require__(53)('isFrozen', function($isFrozen){ - return function isFrozen(it){ - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; - }; - }); +// Forced replacement prototype accessors methods +module.exports = __webpack_require__(33) || !__webpack_require__(4)(function () { + var K = Math.random(); + // In FF throws only define methods + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, K, function () { /* empty */ }); + delete __webpack_require__(2)[K]; +}); -/***/ }, -/* 64 */ -/***/ function(module, exports, __webpack_require__) { - // 19.1.2.13 Object.isSealed(O) - var isObject = __webpack_require__(11); +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(53)('isSealed', function($isSealed){ - return function isSealed(it){ - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; - }; - }); +"use strict"; -/***/ }, -/* 65 */ -/***/ function(module, exports, __webpack_require__) { +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(0); - // 19.1.2.11 Object.isExtensible(O) - var isObject = __webpack_require__(11); +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { of: function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); + } }); +}; - __webpack_require__(53)('isExtensible', function($isExtensible){ - return function isExtensible(it){ - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; - }; - }); -/***/ }, +/***/ }), /* 66 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var ctx = __webpack_require__(19); +var forOf = __webpack_require__(35); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; + + +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { - // 19.1.3.1 Object.assign(target, source) - var $export = __webpack_require__(6); +var isObject = __webpack_require__(3); +var document = __webpack_require__(2).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; - $export($export.S + $export.F, 'Object', {assign: __webpack_require__(67)}); -/***/ }, -/* 67 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.2.1 Object.assign(target, source, ...) - var getKeys = __webpack_require__(28) - , gOPS = __webpack_require__(41) - , pIE = __webpack_require__(42) - , toObject = __webpack_require__(56) - , IObject = __webpack_require__(31) - , $assign = Object.assign; - - // should work with symbols and should have deterministic property order (V8 bug) - module.exports = !$assign || __webpack_require__(5)(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; - }) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; - } return T; - } : $assign; - -/***/ }, +/***/ }), /* 68 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(13); +var LIBRARY = __webpack_require__(33); +var wksExt = __webpack_require__(96); +var defineProperty = __webpack_require__(6).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; - // 19.1.3.10 Object.is(value1, value2) - var $export = __webpack_require__(6); - $export($export.S, 'Object', {is: __webpack_require__(69)}); -/***/ }, +/***/ }), /* 69 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - // 7.2.9 SameValue(x, y) - module.exports = Object.is || function is(x, y){ - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; - }; +var shared = __webpack_require__(50)('keys'); +var uid = __webpack_require__(36); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; -/***/ }, + +/***/ }), /* 70 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); - // 19.1.3.19 Object.setPrototypeOf(O, proto) - var $export = __webpack_require__(6); - $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(71).set}); -/***/ }, +/***/ }), /* 71 */ -/***/ function(module, exports, __webpack_require__) { - - // Works with __proto__ only. Old v8 can't work with null proto objects. - /* eslint-disable no-proto */ - var isObject = __webpack_require__(11) - , anObject = __webpack_require__(10); - var check = function(O, proto){ - anObject(O); - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); - }; - module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function(test, buggy, set){ - try { - set = __webpack_require__(18)(Function.call, __webpack_require__(49).f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch(e){ buggy = true; } - return function setPrototypeOf(O, proto){ - check(O, proto); - if(buggy)O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var document = __webpack_require__(2).document; +module.exports = document && document.documentElement; + + +/***/ }), /* 72 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.3.6 Object.prototype.toString() - var classof = __webpack_require__(73) - , test = {}; - test[__webpack_require__(23)('toStringTag')] = 'z'; - if(test + '' != '[object z]'){ - __webpack_require__(16)(Object.prototype, 'toString', function toString(){ - return '[object ' + classof(this) + ']'; - }, true); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 19.1.2.1 Object.assign(target, source, ...) +var getKeys = __webpack_require__(27); +var gOPS = __webpack_require__(52); +var pIE = __webpack_require__(48); +var toObject = __webpack_require__(9); +var IObject = __webpack_require__(47); +var $assign = Object.assign; + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !$assign || __webpack_require__(4)(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } return T; +} : $assign; + + +/***/ }), /* 73 */ -/***/ function(module, exports, __webpack_require__) { - - // getting tag from 19.1.3.6 Object.prototype.toString() - var cof = __webpack_require__(32) - , TAG = __webpack_require__(23)('toStringTag') - // ES3 wrong here - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; - - // fallback for IE11 Script Access Denied error - var tryGet = function(it, key){ - try { - return it[key]; - } catch(e){ /* empty */ } - }; - - module.exports = function(it){ - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = __webpack_require__(3); +var anObject = __webpack_require__(1); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = __webpack_require__(19)(Function.call, __webpack_require__(16).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + + +/***/ }), /* 74 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + + +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { - // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) - var $export = __webpack_require__(6); +var isObject = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(73).set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { + setPrototypeOf(that, P); + } return that; +}; - $export($export.P, 'Function', {bind: __webpack_require__(75)}); -/***/ }, -/* 75 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var aFunction = __webpack_require__(19) - , isObject = __webpack_require__(11) - , invoke = __webpack_require__(76) - , arraySlice = [].slice - , factories = {}; - - var construct = function(F, len, args){ - if(!(len in factories)){ - for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; - factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); - } return factories[len](F, args); - }; - - module.exports = Function.bind || function bind(that /*, args... */){ - var fn = aFunction(this) - , partArgs = arraySlice.call(arguments, 1); - var bound = function(/* args... */){ - var args = partArgs.concat(arraySlice.call(arguments)); - return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); - }; - if(isObject(fn.prototype))bound.prototype = fn.prototype; - return bound; - }; - -/***/ }, +/***/ }), /* 76 */ -/***/ function(module, exports) { - - // fast apply, http://jsperf.lnkit.com/fast-apply/5 - module.exports = function(fn, args, that){ - var un = that === undefined; - switch(args.length){ - case 0: return un ? fn() - : fn.call(that); - case 1: return un ? fn(args[0]) - : fn.call(that, args[0]); - case 2: return un ? fn(args[0], args[1]) - : fn.call(that, args[0], args[1]); - case 3: return un ? fn(args[0], args[1], args[2]) - : fn.call(that, args[0], args[1], args[2]); - case 4: return un ? fn(args[0], args[1], args[2], args[3]) - : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); - }; - -/***/ }, +/***/ (function(module, exports) { + +module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), /* 77 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9).f - , createDesc = __webpack_require__(15) - , has = __webpack_require__(3) - , FProto = Function.prototype - , nameRE = /^\s*function ([^ (]*)/ - , NAME = 'name'; - - var isExtensible = Object.isExtensible || function(){ - return true; - }; - - // 19.2.4.2 name - NAME in FProto || __webpack_require__(4) && dP(FProto, NAME, { - configurable: true, - get: function(){ - try { - var that = this - , name = ('' + that).match(nameRE)[1]; - has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name)); - return name; - } catch(e){ - return ''; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toInteger = __webpack_require__(24); +var defined = __webpack_require__(23); + +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; + return res; +}; + + +/***/ }), /* 78 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var isObject = __webpack_require__(11) - , getPrototypeOf = __webpack_require__(57) - , HAS_INSTANCE = __webpack_require__(23)('hasInstance') - , FunctionProto = Function.prototype; - // 19.2.3.6 Function.prototype[@@hasInstance](V) - if(!(HAS_INSTANCE in FunctionProto))__webpack_require__(9).f(FunctionProto, HAS_INSTANCE, {value: function(O){ - if(typeof this != 'function' || !isObject(O))return false; - if(!isObject(this.prototype))return O instanceof this; - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while(O = getPrototypeOf(O))if(this.prototype === O)return true; - return false; - }}); - -/***/ }, +/***/ (function(module, exports) { + +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + + +/***/ }), /* 79 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , has = __webpack_require__(3) - , cof = __webpack_require__(32) - , inheritIfRequired = __webpack_require__(80) - , toPrimitive = __webpack_require__(14) - , fails = __webpack_require__(5) - , gOPN = __webpack_require__(48).f - , gOPD = __webpack_require__(49).f - , dP = __webpack_require__(9).f - , $trim = __webpack_require__(81).trim - , NUMBER = 'Number' - , $Number = global[NUMBER] - , Base = $Number - , proto = $Number.prototype - // Opera ~12 has broken Object#toString - , BROKEN_COF = cof(__webpack_require__(44)(proto)) == NUMBER - , TRIM = 'trim' in String.prototype; - - // 7.1.3 ToNumber(argument) - var toNumber = function(argument){ - var it = toPrimitive(argument, false); - if(typeof it == 'string' && it.length > 2){ - it = TRIM ? it.trim() : $trim(it, 3); - var first = it.charCodeAt(0) - , third, radix, maxCode; - if(first === 43 || first === 45){ - third = it.charCodeAt(2); - if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if(first === 48){ - switch(it.charCodeAt(1)){ - case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i - case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i - default : return +it; - } - for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){ - code = digits.charCodeAt(i); - // parseInt parses a string to a first unavailable symbol - // but ToNumber should return NaN if a string contains unavailable symbols - if(code < 48 || code > maxCode)return NaN; - } return parseInt(digits, radix); - } - } return +it; - }; - - if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){ - $Number = function Number(value){ - var it = arguments.length < 1 ? 0 : value - , that = this; - return that instanceof $Number - // check on 1..constructor(foo) case - && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER) - ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); - }; - for(var keys = __webpack_require__(4) ? gOPN(Base) : ( - // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + - // ES6 (in case, if modules with ES6 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + - 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), j = 0, key; keys.length > j; j++){ - if(has(Base, key = keys[j]) && !has($Number, key)){ - dP($Number, key, gOPD(Base, key)); - } - } - $Number.prototype = proto; - proto.constructor = $Number; - __webpack_require__(16)(global, NUMBER, $Number); - } - -/***/ }, +/***/ (function(module, exports) { + +// 20.2.2.14 Math.expm1(x) +var $expm1 = Math.expm1; +module.exports = (!$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +} : $expm1; + + +/***/ }), /* 80 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(11) - , setPrototypeOf = __webpack_require__(71).set; - module.exports = function(that, target, C){ - var P, S = target.constructor; - if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ - setPrototypeOf(that, P); - } return that; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(24); +var defined = __webpack_require__(23); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + + +/***/ }), /* 81 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , defined = __webpack_require__(33) - , fails = __webpack_require__(5) - , spaces = __webpack_require__(82) - , space = '[' + spaces + ']' - , non = '\u200b\u0085' - , ltrim = RegExp('^' + space + space + '*') - , rtrim = RegExp(space + space + '*$'); - - var exporter = function(KEY, exec, ALIAS){ - var exp = {}; - var FORCE = fails(function(){ - return !!spaces[KEY]() || non[KEY]() != non; - }); - var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if(ALIAS)exp[ALIAS] = fn; - $export($export.P + $export.F * FORCE, 'String', exp); - }; - - // 1 -> String#trimLeft - // 2 -> String#trimRight - // 3 -> String#trim - var trim = exporter.trim = function(string, TYPE){ - string = String(defined(string)); - if(TYPE & 1)string = string.replace(ltrim, ''); - if(TYPE & 2)string = string.replace(rtrim, ''); - return string; - }; - - module.exports = exporter; - -/***/ }, -/* 82 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// helper for String#{startsWith, endsWith, includes} +var isRegExp = __webpack_require__(54); +var defined = __webpack_require__(23); + +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; - module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; -/***/ }, +/***/ }), +/* 82 */ +/***/ (function(module, exports, __webpack_require__) { + +var MATCH = __webpack_require__(5)('match'); +module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) { /* empty */ } + } return true; +}; + + +/***/ }), /* 83 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toInteger = __webpack_require__(36) - , aNumberValue = __webpack_require__(84) - , repeat = __webpack_require__(85) - , $toFixed = 1..toFixed - , floor = Math.floor - , data = [0, 0, 0, 0, 0, 0] - , ERROR = 'Number.toFixed: incorrect invocation!' - , ZERO = '0'; - - var multiply = function(n, c){ - var i = -1 - , c2 = c; - while(++i < 6){ - c2 += n * data[i]; - data[i] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - var divide = function(n){ - var i = 6 - , c = 0; - while(--i >= 0){ - c += data[i]; - data[i] = floor(c / n); - c = (c % n) * 1e7; - } - }; - var numToString = function(){ - var i = 6 - , s = ''; - while(--i >= 0){ - if(s !== '' || i === 0 || data[i] !== 0){ - var t = String(data[i]); - s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; - } - } return s; - }; - var pow = function(x, n, acc){ - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); - }; - var log = function(x){ - var n = 0 - , x2 = x; - while(x2 >= 4096){ - n += 12; - x2 /= 4096; - } - while(x2 >= 2){ - n += 1; - x2 /= 2; - } return n; - }; - - $export($export.P + $export.F * (!!$toFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128..toFixed(0) !== '1000000000000000128' - ) || !__webpack_require__(5)(function(){ - // V8 ~ Android 4.3- - $toFixed.call({}); - })), 'Number', { - toFixed: function toFixed(fractionDigits){ - var x = aNumberValue(this, ERROR) - , f = toInteger(fractionDigits) - , s = '' - , m = ZERO - , e, z, j, k; - if(f < 0 || f > 20)throw RangeError(ERROR); - if(x != x)return 'NaN'; - if(x <= -1e21 || x >= 1e21)return String(x); - if(x < 0){ - s = '-'; - x = -x; - } - if(x > 1e-21){ - e = log(x * pow(2, 69, 1)) - 69; - z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if(e > 0){ - multiply(0, z); - j = f; - while(j >= 7){ - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while(j >= 23){ - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = numToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - m = numToString() + repeat.call(ZERO, f); - } - } - if(f > 0){ - k = m.length; - m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); - } else { - m = s + m; - } return m; - } - }); - -/***/ }, -/* 84 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var cof = __webpack_require__(32); - module.exports = function(it, msg){ - if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg); - return +it; - }; +// check on default Array iterator +var Iterators = __webpack_require__(40); +var ITERATOR = __webpack_require__(5)('iterator'); +var ArrayProto = Array.prototype; -/***/ }, -/* 85 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var toInteger = __webpack_require__(36) - , defined = __webpack_require__(33); - - module.exports = function repeat(count){ - var str = String(defined(this)) - , res = '' - , n = toInteger(count); - if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); - for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; - return res; - }; - -/***/ }, -/* 86 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $fails = __webpack_require__(5) - , aNumberValue = __webpack_require__(84) - , $toPrecision = 1..toPrecision; - - $export($export.P + $export.F * ($fails(function(){ - // IE7- - return $toPrecision.call(1, undefined) !== '1'; - }) || !$fails(function(){ - // V8 ~ Android 4.3- - $toPrecision.call({}); - })), 'Number', { - toPrecision: function toPrecision(precision){ - var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); - } - }); - -/***/ }, -/* 87 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; - // 20.1.2.1 Number.EPSILON - var $export = __webpack_require__(6); - $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 88 */ -/***/ function(module, exports, __webpack_require__) { +"use strict"; - // 20.1.2.2 Number.isFinite(number) - var $export = __webpack_require__(6) - , _isFinite = __webpack_require__(2).isFinite; +var $defineProperty = __webpack_require__(6); +var createDesc = __webpack_require__(31); - $export($export.S, 'Number', { - isFinite: function isFinite(it){ - return typeof it == 'number' && _isFinite(it); - } - }); +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; +}; -/***/ }, -/* 89 */ -/***/ function(module, exports, __webpack_require__) { - // 20.1.2.3 Number.isInteger(number) - var $export = __webpack_require__(6); +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Number', {isInteger: __webpack_require__(90)}); +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = __webpack_require__(213); -/***/ }, -/* 90 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) + +var toObject = __webpack_require__(9); +var toAbsoluteIndex = __webpack_require__(37); +var toLength = __webpack_require__(8); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var addToUnscopables = __webpack_require__(34); +var step = __webpack_require__(88); +var Iterators = __webpack_require__(40); +var toIObject = __webpack_require__(11); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = __webpack_require__(55)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + + +/***/ }), +/* 88 */ +/***/ (function(module, exports) { + +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; - // 20.1.2.3 Number.isInteger(number) - var isObject = __webpack_require__(11) - , floor = Math.floor; - module.exports = function isInteger(it){ - return !isObject(it) && isFinite(it) && floor(it) === it; - }; -/***/ }, +/***/ }), +/* 89 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(19); +var invoke = __webpack_require__(74); +var html = __webpack_require__(71); +var cel = __webpack_require__(67); +var global = __webpack_require__(2); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (__webpack_require__(20)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + + +/***/ }), +/* 90 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var macrotask = __webpack_require__(89).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = __webpack_require__(20)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + + +/***/ }), /* 91 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.1.2.4 Number.isNaN(number) - var $export = __webpack_require__(6); +"use strict"; - $export($export.S, 'Number', { - isNaN: function isNaN(number){ - return number != number; - } - }); +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = __webpack_require__(10); -/***/ }, -/* 92 */ -/***/ function(module, exports, __webpack_require__) { +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} - // 20.1.2.5 Number.isSafeInteger(number) - var $export = __webpack_require__(6) - , isInteger = __webpack_require__(90) - , abs = Math.abs; +module.exports.f = function (C) { + return new PromiseCapability(C); +}; - $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number){ - return isInteger(number) && abs(number) <= 0x1fffffffffffff; - } - }); -/***/ }, -/* 93 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.1.2.6 Number.MAX_SAFE_INTEGER - var $export = __webpack_require__(6); +// all object keys, includes non-enumerable and symbols +var gOPN = __webpack_require__(38); +var gOPS = __webpack_require__(52); +var anObject = __webpack_require__(1); +var Reflect = __webpack_require__(2).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; - $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); -/***/ }, +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var DESCRIPTORS = __webpack_require__(7); +var LIBRARY = __webpack_require__(33); +var $typed = __webpack_require__(63); +var hide = __webpack_require__(14); +var redefineAll = __webpack_require__(43); +var fails = __webpack_require__(4); +var anInstance = __webpack_require__(42); +var toInteger = __webpack_require__(24); +var toLength = __webpack_require__(8); +var toIndex = __webpack_require__(118); +var gOPN = __webpack_require__(38).f; +var dP = __webpack_require__(6).f; +var arrayFill = __webpack_require__(86); +var setToStringTag = __webpack_require__(44); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + buffer[--i] |= s * 128; + return buffer; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + } return (s ? -1 : 1) * m * pow(2, e - mLen); +} + +function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; +} +function packI8(it) { + return [it & 0xff]; +} +function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; +} +function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; +} +function packF64(it) { + return packIEEE754(it, 52, 8); +} +function packF32(it) { + return packIEEE754(it, 23, 4); +} + +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} + +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} + +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); +} else { + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); +} +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); +hide($DataView[PROTOTYPE], $typed.VIEW, true); +exports[ARRAY_BUFFER] = $ArrayBuffer; +exports[DATA_VIEW] = $DataView; + + +/***/ }), /* 94 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 20.1.2.10 Number.MIN_SAFE_INTEGER - var $export = __webpack_require__(6); +module.exports = function (regExp, replace) { + var replacer = replace === Object(replace) ? function (part) { + return replace[part]; + } : replace; + return function (it) { + return String(it).replace(regExp, replacer); + }; +}; - $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); -/***/ }, +/***/ }), /* 95 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , $parseFloat = __webpack_require__(96); - // 20.1.2.12 Number.parseFloat(string) - $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat}); +module.exports = !__webpack_require__(7) && !__webpack_require__(4)(function () { + return Object.defineProperty(__webpack_require__(67)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); -/***/ }, + +/***/ }), /* 96 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $parseFloat = __webpack_require__(2).parseFloat - , $trim = __webpack_require__(81).trim; +exports.f = __webpack_require__(5); - module.exports = 1 / $parseFloat(__webpack_require__(82) + '-0') !== -Infinity ? function parseFloat(str){ - var string = $trim(String(str), 3) - , result = $parseFloat(string); - return result === 0 && string.charAt(0) == '-' ? -0 : result; - } : $parseFloat; -/***/ }, +/***/ }), /* 97 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , $parseInt = __webpack_require__(98); - // 20.1.2.13 Number.parseInt(string, radix) - $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(12); +var toIObject = __webpack_require__(11); +var arrayIndexOf = __webpack_require__(51)(false); +var IE_PROTO = __webpack_require__(69)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), /* 98 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(6); +var anObject = __webpack_require__(1); +var getKeys = __webpack_require__(27); - var $parseInt = __webpack_require__(2).parseInt - , $trim = __webpack_require__(81).trim - , ws = __webpack_require__(82) - , hex = /^[\-+]?0[xX]/; +module.exports = __webpack_require__(7) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; - module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){ - var string = $trim(String(str), 3); - return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); - } : $parseInt; -/***/ }, +/***/ }), /* 99 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , $parseInt = __webpack_require__(98); - // 18.2.5 parseInt(string, radix) - $export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt}); +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = __webpack_require__(11); +var gOPN = __webpack_require__(38).f; +var toString = {}.toString; -/***/ }, -/* 100 */ -/***/ function(module, exports, __webpack_require__) { +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; - var $export = __webpack_require__(6) - , $parseFloat = __webpack_require__(96); - // 18.2.4 parseFloat(string) - $export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat}); +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; -/***/ }, + +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aFunction = __webpack_require__(10); +var isObject = __webpack_require__(3); +var invoke = __webpack_require__(74); +var arraySlice = [].slice; +var factories = {}; + +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } return factories[len](F, args); +}; + +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; +}; + + +/***/ }), /* 101 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.3 Math.acosh(x) - var $export = __webpack_require__(6) - , log1p = __webpack_require__(102) - , sqrt = Math.sqrt - , $acosh = Math.acosh; - - $export($export.S + $export.F * !($acosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - && $acosh(Infinity) == Infinity - ), 'Math', { - acosh: function acosh(x){ - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? Math.log(x) + Math.LN2 - : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var cof = __webpack_require__(20); +module.exports = function (it, msg) { + if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); + return +it; +}; + + +/***/ }), /* 102 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.3 Number.isInteger(number) +var isObject = __webpack_require__(3); +var floor = Math.floor; +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; - // 20.2.2.20 Math.log1p(x) - module.exports = Math.log1p || function log1p(x){ - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); - }; -/***/ }, +/***/ }), /* 103 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.5 Math.asinh(x) - var $export = __webpack_require__(6) - , $asinh = Math.asinh; +var $parseFloat = __webpack_require__(2).parseFloat; +var $trim = __webpack_require__(45).trim; - function asinh(x){ - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); - } +module.exports = 1 / $parseFloat(__webpack_require__(76) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; +} : $parseFloat; - // Tor Browser bug: Math.asinh(0) -> -0 - $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh}); -/***/ }, +/***/ }), /* 104 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.7 Math.atanh(x) - var $export = __webpack_require__(6) - , $atanh = Math.atanh; +var $parseInt = __webpack_require__(2).parseInt; +var $trim = __webpack_require__(45).trim; +var ws = __webpack_require__(76); +var hex = /^[-+]?0[xX]/; - // Tor Browser bug: Math.atanh(-0) -> 0 - $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x){ - return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; - } - }); +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); +} : $parseInt; -/***/ }, + +/***/ }), /* 105 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 20.2.2.9 Math.cbrt(x) - var $export = __webpack_require__(6) - , sign = __webpack_require__(106); +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; - $export($export.S, 'Math', { - cbrt: function cbrt(x){ - return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); - } - }); -/***/ }, +/***/ }), /* 106 */ -/***/ function(module, exports) { - - // 20.2.2.28 Math.sign(x) - module.exports = Math.sign || function sign(x){ - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.16 Math.fround(x) +var sign = __webpack_require__(78); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + + +/***/ }), /* 107 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.11 Math.clz32(x) - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - clz32: function clz32(x){ - return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// call something on iterator step with safe closing on error +var anObject = __webpack_require__(1); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + + +/***/ }), /* 108 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var aFunction = __webpack_require__(10); +var toObject = __webpack_require__(9); +var IObject = __webpack_require__(47); +var toLength = __webpack_require__(8); + +module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; +}; + + +/***/ }), +/* 109 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) + +var toObject = __webpack_require__(9); +var toAbsoluteIndex = __webpack_require__(37); +var toLength = __webpack_require__(8); + +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.12 Math.cosh(x) - var $export = __webpack_require__(6) - , exp = Math.exp; +// 21.2.5.3 get RegExp.prototype.flags() +if (__webpack_require__(7) && /./g.flags != 'g') __webpack_require__(6).f(RegExp.prototype, 'flags', { + configurable: true, + get: __webpack_require__(58) +}); - $export($export.S, 'Math', { - cosh: function cosh(x){ - return (exp(x = +x) + exp(-x)) / 2; - } - }); -/***/ }, -/* 109 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 111 */ +/***/ (function(module, exports) { - // 20.2.2.14 Math.expm1(x) - var $export = __webpack_require__(6) - , $expm1 = __webpack_require__(110); +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; - $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1}); -/***/ }, -/* 110 */ -/***/ function(module, exports) { - - // 20.2.2.14 Math.expm1(x) - var $expm1 = Math.expm1; - module.exports = (!$expm1 - // Old FF bug - || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 - // Tor Browser bug - || $expm1(-2e-17) != -2e-17 - ) ? function expm1(x){ - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; - } : $expm1; - -/***/ }, -/* 111 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.16 Math.fround(x) - var $export = __webpack_require__(6) - , sign = __webpack_require__(106) - , pow = Math.pow - , EPSILON = pow(2, -52) - , EPSILON32 = pow(2, -23) - , MAX32 = pow(2, 127) * (2 - EPSILON32) - , MIN32 = pow(2, -126); - - var roundTiesToEven = function(n){ - return n + 1 / EPSILON - 1 / EPSILON; - }; - - - $export($export.S, 'Math', { - fround: function fround(x){ - var $abs = Math.abs(x) - , $sign = sign(x) - , a, result; - if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - if(result > MAX32 || result != result)return $sign * Infinity; - return $sign * result; - } - }); - -/***/ }, +/***/ }), /* 112 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) - var $export = __webpack_require__(6) - , abs = Math.abs; - - $export($export.S, 'Math', { - hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , aLen = arguments.length - , larg = 0 - , arg, div; - while(i < aLen){ - arg = abs(arguments[i++]); - if(larg < arg){ - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if(arg > 0){ - div = arg / larg; - sum += div * div; - } else sum += arg; - } - return larg === Infinity ? Infinity : larg * Math.sqrt(sum); - } - }); - -/***/ }, -/* 113 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.18 Math.imul(x, y) - var $export = __webpack_require__(6) - , $imul = Math.imul; - - // some WebKit versions fails with big numbers, some has wrong arity - $export($export.S + $export.F * __webpack_require__(5)(function(){ - return $imul(0xffffffff, 5) != -5 || $imul.length != 2; - }), 'Math', { - imul: function imul(x, y){ - var UINT16 = 0xffff - , xn = +x - , yn = +y - , xl = UINT16 & xn - , yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } - }); - -/***/ }, -/* 114 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.21 Math.log10(x) - var $export = __webpack_require__(6); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var newPromiseCapability = __webpack_require__(91); - $export($export.S, 'Math', { - log10: function log10(x){ - return Math.log(x) / Math.LN10; - } - }); +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; -/***/ }, -/* 115 */ -/***/ function(module, exports, __webpack_require__) { - // 20.2.2.20 Math.log1p(x) - var $export = __webpack_require__(6); +/***/ }), +/* 113 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var strong = __webpack_require__(114); +var validate = __webpack_require__(46); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = __webpack_require__(62)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + + +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var dP = __webpack_require__(6).f; +var create = __webpack_require__(28); +var redefineAll = __webpack_require__(43); +var ctx = __webpack_require__(19); +var anInstance = __webpack_require__(42); +var forOf = __webpack_require__(35); +var $iterDefine = __webpack_require__(55); +var step = __webpack_require__(88); +var setSpecies = __webpack_require__(41); +var DESCRIPTORS = __webpack_require__(7); +var fastKey = __webpack_require__(32).fastKey; +var validate = __webpack_require__(46); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Math', {log1p: __webpack_require__(102)}); +"use strict"; -/***/ }, -/* 116 */ -/***/ function(module, exports, __webpack_require__) { +var strong = __webpack_require__(114); +var validate = __webpack_require__(46); +var SET = 'Set'; - // 20.2.2.22 Math.log2(x) - var $export = __webpack_require__(6); +// 23.2 Set Objects +module.exports = __webpack_require__(62)(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); + } +}, strong); - $export($export.S, 'Math', { - log2: function log2(x){ - return Math.log(x) / Math.LN2; - } - }); -/***/ }, +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var each = __webpack_require__(26)(0); +var redefine = __webpack_require__(15); +var meta = __webpack_require__(32); +var assign = __webpack_require__(72); +var weak = __webpack_require__(117); +var isObject = __webpack_require__(3); +var fails = __webpack_require__(4); +var validate = __webpack_require__(46); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; +}; + +var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); + } +}; + +// 23.3 WeakMap Objects +var $WeakMap = module.exports = __webpack_require__(62)(WEAK_MAP, wrapper, methods, weak, true, true); + +// IE11 WeakMap frozen keys fix +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} + + +/***/ }), /* 117 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var redefineAll = __webpack_require__(43); +var getWeak = __webpack_require__(32).getWeak; +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var anInstance = __webpack_require__(42); +var forOf = __webpack_require__(35); +var createArrayMethod = __webpack_require__(26); +var $has = __webpack_require__(12); +var validate = __webpack_require__(46); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); +}; +var UncaughtFrozenStore = function () { + this.a = []; +}; +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); +}; +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function (that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.28 Math.sign(x) - var $export = __webpack_require__(6); +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = __webpack_require__(24); +var toLength = __webpack_require__(8); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; - $export($export.S, 'Math', {sign: __webpack_require__(106)}); -/***/ }, -/* 118 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.30 Math.sinh(x) - var $export = __webpack_require__(6) - , expm1 = __webpack_require__(110) - , exp = Math.exp; - - // V8 near Chromium 38 has a problem with very small numbers - $export($export.S + $export.F * __webpack_require__(5)(function(){ - return !Math.sinh(-2e-17) != -2e-17; - }), 'Math', { - sinh: function sinh(x){ - return Math.abs(x = +x) < 1 - ? (expm1(x) - expm1(-x)) / 2 - : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); - } - }); - -/***/ }, +/***/ }), /* 119 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.33 Math.tanh(x) - var $export = __webpack_require__(6) - , expm1 = __webpack_require__(110) - , exp = Math.exp; - - $export($export.S, 'Math', { - tanh: function tanh(x){ - var a = expm1(x = +x) - , b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var isArray = __webpack_require__(53); +var isObject = __webpack_require__(3); +var toLength = __webpack_require__(8); +var ctx = __webpack_require__(19); +var IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable'); + +function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; + var element, spreadable; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + spreadable = false; + if (isObject(element)) { + spreadable = element[IS_CONCAT_SPREADABLE]; + spreadable = spreadable !== undefined ? !!spreadable : isArray(element); + } + + if (spreadable && depth > 0) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1fffffffffffff) throw TypeError(); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +} + +module.exports = flattenIntoArray; + + +/***/ }), /* 120 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = __webpack_require__(8); +var repeat = __webpack_require__(77); +var defined = __webpack_require__(23); + +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { + +var getKeys = __webpack_require__(27); +var toIObject = __webpack_require__(11); +var isEnum = __webpack_require__(48).f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.34 Math.trunc(x) - var $export = __webpack_require__(6); +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var classof = __webpack_require__(39); +var from = __webpack_require__(123); +module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); + return from(this); + }; +}; - $export($export.S, 'Math', { - trunc: function trunc(it){ - return (it > 0 ? Math.floor : Math.ceil)(it); - } - }); -/***/ }, -/* 121 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , toIndex = __webpack_require__(37) - , fromCharCode = String.fromCharCode - , $fromCodePoint = String.fromCodePoint; - - // length should be 1, old FF problem - $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { - // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , aLen = arguments.length - , i = 0 - , code; - while(aLen > i){ - code = +arguments[i++]; - if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); - res.push(code < 0x10000 - ? fromCharCode(code) - : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) - ); - } return res.join(''); - } - }); - -/***/ }, -/* 122 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , toLength = __webpack_require__(35); - - $export($export.S, 'String', { - // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , aLen = arguments.length - , res = [] - , i = 0; - while(len > i){ - res.push(String(tpl[i++])); - if(i < aLen)res.push(String(arguments[i])); - } return res.join(''); - } - }); - -/***/ }, +/***/ }), /* 123 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // 21.1.3.25 String.prototype.trim() - __webpack_require__(81)('trim', function($trim){ - return function trim(){ - return $trim(this, 3); - }; - }); +var forOf = __webpack_require__(35); -/***/ }, +module.exports = function (iter, ITERATOR) { + var result = []; + forOf(iter, false, result.push, result, ITERATOR); + return result; +}; + + +/***/ }), /* 124 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $at = __webpack_require__(125)(false); - $export($export.P, 'String', { - // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos){ - return $at(this, pos); - } - }); - -/***/ }, +/***/ (function(module, exports) { + +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + if ( + arguments.length === 0 + // eslint-disable-next-line no-self-compare + || x != x + // eslint-disable-next-line no-self-compare + || inLow != inLow + // eslint-disable-next-line no-self-compare + || inHigh != inHigh + // eslint-disable-next-line no-self-compare + || outLow != outLow + // eslint-disable-next-line no-self-compare + || outHigh != outHigh + ) return NaN; + if (x === Infinity || x === -Infinity) return x; + return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; +}; + + +/***/ }), /* 125 */ -/***/ function(module, exports, __webpack_require__) { - - var toInteger = __webpack_require__(36) - , defined = __webpack_require__(33); - // true -> String#at - // false -> String#codePointAt - module.exports = function(TO_STRING){ - return function(that, pos){ - var s = String(defined(that)) - , i = toInteger(pos) - , l = s.length - , a, b; - if(i < 0 || i >= l)return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff - ? TO_STRING ? s.charAt(i) : a - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var classof = __webpack_require__(39); +var ITERATOR = __webpack_require__(5)('iterator'); +var Iterators = __webpack_require__(40); +module.exports = __webpack_require__(13).isIterable = function (it) { + var O = Object(it); + return O[ITERATOR] !== undefined + || '@@iterator' in O + // eslint-disable-next-line no-prototype-builtins + || Iterators.hasOwnProperty(classof(O)); +}; + + +/***/ }), /* 126 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) - 'use strict'; - var $export = __webpack_require__(6) - , toLength = __webpack_require__(35) - , context = __webpack_require__(127) - , ENDS_WITH = 'endsWith' - , $endsWith = ''[ENDS_WITH]; - - $export($export.P + $export.F * __webpack_require__(129)(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, ENDS_WITH) - , endPosition = arguments.length > 1 ? arguments[1] : undefined - , len = toLength(that.length) - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) - , search = String(searchString); - return $endsWith - ? $endsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var path = __webpack_require__(127); +var invoke = __webpack_require__(74); +var aFunction = __webpack_require__(10); +module.exports = function (/* ...pargs */) { + var fn = aFunction(this); + var length = arguments.length; + var pargs = new Array(length); + var i = 0; + var _ = path._; + var holder = false; + while (length > i) if ((pargs[i] = arguments[i++]) === _) holder = true; + return function (/* ...args */) { + var that = this; + var aLen = arguments.length; + var j = 0; + var k = 0; + var args; + if (!holder && !aLen) return invoke(fn, pargs, that); + args = pargs.slice(); + if (holder) for (;length > j; j++) if (args[j] === _) args[j] = arguments[k++]; + while (aLen > k) args.push(arguments[k++]); + return invoke(fn, args, that); + }; +}; + + +/***/ }), /* 127 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // helper for String#{startsWith, endsWith, includes} - var isRegExp = __webpack_require__(128) - , defined = __webpack_require__(33); +module.exports = __webpack_require__(2); - module.exports = function(that, searchString, NAME){ - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); - return String(defined(that)); - }; -/***/ }, +/***/ }), /* 128 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.2.8 IsRegExp(argument) - var isObject = __webpack_require__(11) - , cof = __webpack_require__(32) - , MATCH = __webpack_require__(23)('match'); - module.exports = function(it){ - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(6); +var gOPD = __webpack_require__(16); +var ownKeys = __webpack_require__(92); +var toIObject = __webpack_require__(11); + +module.exports = function define(target, mixin) { + var keys = ownKeys(toIObject(mixin)); + var length = keys.length; + var i = 0; + var key; + while (length > i) dP.f(target, key = keys[i++], gOPD.f(mixin, key)); + return target; +}; + + +/***/ }), /* 129 */ -/***/ function(module, exports, __webpack_require__) { - - var MATCH = __webpack_require__(23)('match'); - module.exports = function(KEY){ - var re = /./; - try { - '/./'[KEY](re); - } catch(e){ - try { - re[MATCH] = false; - return !'/./'[KEY](re); - } catch(f){ /* empty */ } - } return true; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(130); +__webpack_require__(132); +__webpack_require__(133); +__webpack_require__(134); +__webpack_require__(135); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(138); +__webpack_require__(139); +__webpack_require__(140); +__webpack_require__(141); +__webpack_require__(142); +__webpack_require__(143); +__webpack_require__(144); +__webpack_require__(145); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(149); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(154); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(157); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(160); +__webpack_require__(161); +__webpack_require__(162); +__webpack_require__(163); +__webpack_require__(164); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(169); +__webpack_require__(170); +__webpack_require__(171); +__webpack_require__(172); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(175); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(179); +__webpack_require__(180); +__webpack_require__(181); +__webpack_require__(182); +__webpack_require__(183); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(189); +__webpack_require__(190); +__webpack_require__(191); +__webpack_require__(192); +__webpack_require__(193); +__webpack_require__(194); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(197); +__webpack_require__(198); +__webpack_require__(199); +__webpack_require__(200); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(206); +__webpack_require__(207); +__webpack_require__(208); +__webpack_require__(209); +__webpack_require__(210); +__webpack_require__(211); +__webpack_require__(212); +__webpack_require__(214); +__webpack_require__(215); +__webpack_require__(216); +__webpack_require__(217); +__webpack_require__(218); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(221); +__webpack_require__(222); +__webpack_require__(223); +__webpack_require__(224); +__webpack_require__(225); +__webpack_require__(87); +__webpack_require__(226); +__webpack_require__(227); +__webpack_require__(228); +__webpack_require__(110); +__webpack_require__(229); +__webpack_require__(230); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(113); +__webpack_require__(115); +__webpack_require__(116); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(237); +__webpack_require__(238); +__webpack_require__(239); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(242); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(246); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(253); +__webpack_require__(254); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(260); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(264); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(271); +__webpack_require__(272); +__webpack_require__(273); +__webpack_require__(274); +__webpack_require__(275); +__webpack_require__(276); +__webpack_require__(277); +__webpack_require__(278); +__webpack_require__(279); +__webpack_require__(280); +__webpack_require__(281); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(287); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(293); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(302); +__webpack_require__(303); +__webpack_require__(304); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(307); +__webpack_require__(308); +__webpack_require__(309); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(315); +__webpack_require__(316); +__webpack_require__(317); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(322); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(325); +__webpack_require__(326); +__webpack_require__(49); +__webpack_require__(328); +__webpack_require__(125); +__webpack_require__(329); +__webpack_require__(330); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +module.exports = __webpack_require__(338); + + +/***/ }), /* 130 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.7 String.prototype.includes(searchString, position = 0) - 'use strict'; - var $export = __webpack_require__(6) - , context = __webpack_require__(127) - , INCLUDES = 'includes'; - - $export($export.P + $export.F * __webpack_require__(129)(INCLUDES), 'String', { - includes: function includes(searchString /*, position = 0 */){ - return !!~context(this, searchString, INCLUDES) - .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// ECMAScript 6 symbols shim +var global = __webpack_require__(2); +var has = __webpack_require__(12); +var DESCRIPTORS = __webpack_require__(7); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(15); +var META = __webpack_require__(32).KEY; +var $fails = __webpack_require__(4); +var shared = __webpack_require__(50); +var setToStringTag = __webpack_require__(44); +var uid = __webpack_require__(36); +var wks = __webpack_require__(5); +var wksExt = __webpack_require__(96); +var wksDefine = __webpack_require__(68); +var enumKeys = __webpack_require__(131); +var isArray = __webpack_require__(53); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var toIObject = __webpack_require__(11); +var toPrimitive = __webpack_require__(22); +var createDesc = __webpack_require__(31); +var _create = __webpack_require__(28); +var gOPNExt = __webpack_require__(99); +var $GOPD = __webpack_require__(16); +var $DP = __webpack_require__(6); +var $keys = __webpack_require__(27); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + __webpack_require__(38).f = gOPNExt.f = $getOwnPropertyNames; + __webpack_require__(48).f = $propertyIsEnumerable; + __webpack_require__(52).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !__webpack_require__(33)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(14)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + + +/***/ }), /* 131 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// all enumerable object keys, includes symbols +var getKeys = __webpack_require__(27); +var gOPS = __webpack_require__(52); +var pIE = __webpack_require__(48); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + + +/***/ }), +/* 132 */ +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); +var $export = __webpack_require__(0); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperty: __webpack_require__(6).f }); - $export($export.P, 'String', { - // 21.1.3.13 String.prototype.repeat(count) - repeat: __webpack_require__(85) - }); -/***/ }, -/* 132 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) - 'use strict'; - var $export = __webpack_require__(6) - , toLength = __webpack_require__(35) - , context = __webpack_require__(127) - , STARTS_WITH = 'startsWith' - , $startsWith = ''[STARTS_WITH]; - - $export($export.P + $export.F * __webpack_require__(129)(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, STARTS_WITH) - , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)) - , search = String(searchString); - return $startsWith - ? $startsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } - }); - -/***/ }, +/***/ }), /* 133 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $at = __webpack_require__(125)(true); - - // 21.1.3.27 String.prototype[@@iterator]() - __webpack_require__(134)(String, 'String', function(iterated){ - this._t = String(iterated); // target - this._i = 0; // next index - // 21.1.5.2.1 %StringIteratorPrototype%.next() - }, function(){ - var O = this._t - , index = this._i - , point; - if(index >= O.length)return {value: undefined, done: true}; - point = $at(O, index); - this._i += point.length; - return {value: point, done: false}; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) +$export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperties: __webpack_require__(98) }); + + +/***/ }), /* 134 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(26) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(16) - , hide = __webpack_require__(8) - , has = __webpack_require__(3) - , Iterators = __webpack_require__(135) - , $iterCreate = __webpack_require__(136) - , setToStringTag = __webpack_require__(22) - , getPrototypeOf = __webpack_require__(57) - , ITERATOR = __webpack_require__(23)('iterator') - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; - - var returnThis = function(){ return this; }; - - module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ - $iterCreate(Constructor, NAME, next); - var getMethod = function(kind){ - if(!BUGGY && kind in proto)return proto[kind]; - switch(kind){ - case KEYS: return function keys(){ return new Constructor(this, kind); }; - case VALUES: return function values(){ return new Constructor(this, kind); }; - } return function entries(){ return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator' - , DEF_VALUES = DEFAULT == VALUES - , VALUES_BUG = false - , proto = Base.prototype - , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , $default = $native || getMethod(DEFAULT) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; - // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ - VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; - } - // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if(FORCED)for(key in methods){ - if(!(key in proto))redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = __webpack_require__(11); +var $getOwnPropertyDescriptor = __webpack_require__(16).f; + +__webpack_require__(25)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); + + +/***/ }), /* 135 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = {}; +var $export = __webpack_require__(0); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: __webpack_require__(28) }); -/***/ }, + +/***/ }), /* 136 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var create = __webpack_require__(44) - , descriptor = __webpack_require__(15) - , setToStringTag = __webpack_require__(22) - , IteratorPrototype = {}; +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = __webpack_require__(9); +var $getPrototypeOf = __webpack_require__(17); - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - __webpack_require__(8)(IteratorPrototype, __webpack_require__(23)('iterator'), function(){ return this; }); +__webpack_require__(25)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); - module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); - setToStringTag(Constructor, NAME + ' Iterator'); - }; -/***/ }, +/***/ }), /* 137 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 Object.keys(O) +var toObject = __webpack_require__(9); +var $keys = __webpack_require__(27); - 'use strict'; - // B.2.3.2 String.prototype.anchor(name) - __webpack_require__(138)('anchor', function(createHTML){ - return function anchor(name){ - return createHTML(this, 'a', 'name', name); - } - }); +__webpack_require__(25)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); -/***/ }, + +/***/ }), /* 138 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , fails = __webpack_require__(5) - , defined = __webpack_require__(33) - , quot = /"/g; - // B.2.3.2.1 CreateHTML(string, tag, attribute, value) - var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)) - , p1 = '<' + tag; - if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; - }; - module.exports = function(NAME, exec){ - var O = {}; - O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function(){ - var test = ''[NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }), 'String', O); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.7 Object.getOwnPropertyNames(O) +__webpack_require__(25)('getOwnPropertyNames', function () { + return __webpack_require__(99).f; +}); + + +/***/ }), /* 139 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.3 String.prototype.big() - __webpack_require__(138)('big', function(createHTML){ - return function big(){ - return createHTML(this, 'big', '', ''); - } - }); +// 19.1.2.5 Object.freeze(O) +var isObject = __webpack_require__(3); +var meta = __webpack_require__(32).onFreeze; -/***/ }, +__webpack_require__(25)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; +}); + + +/***/ }), /* 140 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.17 Object.seal(O) +var isObject = __webpack_require__(3); +var meta = __webpack_require__(32).onFreeze; + +__webpack_require__(25)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; +}); - 'use strict'; - // B.2.3.4 String.prototype.blink() - __webpack_require__(138)('blink', function(createHTML){ - return function blink(){ - return createHTML(this, 'blink', '', ''); - } - }); -/***/ }, +/***/ }), /* 141 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.5 String.prototype.bold() - __webpack_require__(138)('bold', function(createHTML){ - return function bold(){ - return createHTML(this, 'b', '', ''); - } - }); +// 19.1.2.15 Object.preventExtensions(O) +var isObject = __webpack_require__(3); +var meta = __webpack_require__(32).onFreeze; -/***/ }, +__webpack_require__(25)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; +}); + + +/***/ }), /* 142 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.12 Object.isFrozen(O) +var isObject = __webpack_require__(3); + +__webpack_require__(25)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); - 'use strict'; - // B.2.3.6 String.prototype.fixed() - __webpack_require__(138)('fixed', function(createHTML){ - return function fixed(){ - return createHTML(this, 'tt', '', ''); - } - }); -/***/ }, +/***/ }), /* 143 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.7 String.prototype.fontcolor(color) - __webpack_require__(138)('fontcolor', function(createHTML){ - return function fontcolor(color){ - return createHTML(this, 'font', 'color', color); - } - }); +// 19.1.2.13 Object.isSealed(O) +var isObject = __webpack_require__(3); -/***/ }, +__webpack_require__(25)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); + + +/***/ }), /* 144 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.11 Object.isExtensible(O) +var isObject = __webpack_require__(3); + +__webpack_require__(25)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); - 'use strict'; - // B.2.3.8 String.prototype.fontsize(size) - __webpack_require__(138)('fontsize', function(createHTML){ - return function fontsize(size){ - return createHTML(this, 'font', 'size', size); - } - }); -/***/ }, +/***/ }), /* 145 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.9 String.prototype.italics() - __webpack_require__(138)('italics', function(createHTML){ - return function italics(){ - return createHTML(this, 'i', '', ''); - } - }); +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__(0); -/***/ }, +$export($export.S + $export.F, 'Object', { assign: __webpack_require__(72) }); + + +/***/ }), /* 146 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.10 String.prototype.link(url) - __webpack_require__(138)('link', function(createHTML){ - return function link(url){ - return createHTML(this, 'a', 'href', url); - } - }); +// 19.1.3.10 Object.is(value1, value2) +var $export = __webpack_require__(0); +$export($export.S, 'Object', { is: __webpack_require__(147) }); -/***/ }, + +/***/ }), /* 147 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; - 'use strict'; - // B.2.3.11 String.prototype.small() - __webpack_require__(138)('small', function(createHTML){ - return function small(){ - return createHTML(this, 'small', '', ''); - } - }); -/***/ }, +/***/ }), /* 148 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.12 String.prototype.strike() - __webpack_require__(138)('strike', function(createHTML){ - return function strike(){ - return createHTML(this, 'strike', '', ''); - } - }); +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = __webpack_require__(0); +$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(73).set }); -/***/ }, + +/***/ }), /* 149 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.13 String.prototype.sub() - __webpack_require__(138)('sub', function(createHTML){ - return function sub(){ - return createHTML(this, 'sub', '', ''); - } - }); +"use strict"; -/***/ }, -/* 150 */ -/***/ function(module, exports, __webpack_require__) { +// 19.1.3.6 Object.prototype.toString() +var classof = __webpack_require__(39); +var test = {}; +test[__webpack_require__(5)('toStringTag')] = 'z'; +if (test + '' != '[object z]') { + __webpack_require__(15)(Object.prototype, 'toString', function toString() { + return '[object ' + classof(this) + ']'; + }, true); +} - 'use strict'; - // B.2.3.14 String.prototype.sup() - __webpack_require__(138)('sup', function(createHTML){ - return function sup(){ - return createHTML(this, 'sup', '', ''); - } - }); -/***/ }, -/* 151 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 150 */ +/***/ (function(module, exports, __webpack_require__) { - // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) - var $export = __webpack_require__(6); +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +var $export = __webpack_require__(0); - $export($export.S, 'Array', {isArray: __webpack_require__(43)}); +$export($export.P, 'Function', { bind: __webpack_require__(100) }); -/***/ }, + +/***/ }), +/* 151 */ +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(6).f; +var FProto = Function.prototype; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// 19.2.4.2 name +NAME in FProto || __webpack_require__(7) && dP(FProto, NAME, { + configurable: true, + get: function () { + try { + return ('' + this).match(nameRE)[1]; + } catch (e) { + return ''; + } + } +}); + + +/***/ }), /* 152 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(18) - , $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , call = __webpack_require__(153) - , isArrayIter = __webpack_require__(154) - , toLength = __webpack_require__(35) - , createProperty = __webpack_require__(155) - , getIterFn = __webpack_require__(156); - - $export($export.S + $export.F * !__webpack_require__(157)(function(iter){ Array.from(iter); }), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ - var O = toObject(arrayLike) - , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , index = 0 - , iterFn = getIterFn(O) - , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // if object isn't iterable or it's array with default iterator - use simple case - if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ - for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); - } - } else { - length = toLength(O.length); - for(result = new C(length); length > index; index++){ - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; - } - }); - - -/***/ }, -/* 153 */ -/***/ function(module, exports, __webpack_require__) { - - // call something on iterator step with safe closing on error - var anObject = __webpack_require__(10); - module.exports = function(iterator, fn, value, entries){ - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch(e){ - var ret = iterator['return']; - if(ret !== undefined)anObject(ret.call(iterator)); - throw e; - } - }; - -/***/ }, -/* 154 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // check on default Array iterator - var Iterators = __webpack_require__(135) - , ITERATOR = __webpack_require__(23)('iterator') - , ArrayProto = Array.prototype; +"use strict"; - module.exports = function(it){ - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); - }; +var isObject = __webpack_require__(3); +var getPrototypeOf = __webpack_require__(17); +var HAS_INSTANCE = __webpack_require__(5)('hasInstance'); +var FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(6).f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; +} }); -/***/ }, + +/***/ }), +/* 153 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var has = __webpack_require__(12); +var cof = __webpack_require__(20); +var inheritIfRequired = __webpack_require__(75); +var toPrimitive = __webpack_require__(22); +var fails = __webpack_require__(4); +var gOPN = __webpack_require__(38).f; +var gOPD = __webpack_require__(16).f; +var dP = __webpack_require__(6).f; +var $trim = __webpack_require__(45).trim; +var NUMBER = 'Number'; +var $Number = global[NUMBER]; +var Base = $Number; +var proto = $Number.prototype; +// Opera ~12 has broken Object#toString +var BROKEN_COF = cof(__webpack_require__(28)(proto)) == NUMBER; +var TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + if (typeof it == 'string' && it.length > 2) { + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0); + var third, radix, maxCode; + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default: return +it; + } + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) + ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); + }; + for (var keys = __webpack_require__(7) ? gOPN(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { + dP($Number, key, gOPD(Base, key)); + } + } + $Number.prototype = proto; + proto.constructor = $Number; + __webpack_require__(15)(global, NUMBER, $Number); +} + + +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toInteger = __webpack_require__(24); +var aNumberValue = __webpack_require__(101); +var repeat = __webpack_require__(77); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; + +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = (c % n) * 1e7; + } +}; +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + } return s; +}; +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +$export($export.P + $export.F * (!!$toFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !__webpack_require__(4)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); +})), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + } return m; + } +}); + + +/***/ }), /* 155 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $fails = __webpack_require__(4); +var aNumberValue = __webpack_require__(101); +var $toPrecision = 1.0.toPrecision; + +$export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; +}) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); +})), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } +}); + + +/***/ }), +/* 156 */ +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $defineProperty = __webpack_require__(9) - , createDesc = __webpack_require__(15); +// 20.1.2.1 Number.EPSILON +var $export = __webpack_require__(0); - module.exports = function(object, index, value){ - if(index in object)$defineProperty.f(object, index, createDesc(0, value)); - else object[index] = value; - }; +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); -/***/ }, -/* 156 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(73) - , ITERATOR = __webpack_require__(23)('iterator') - , Iterators = __webpack_require__(135); - module.exports = __webpack_require__(7).getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; - }; - -/***/ }, + +/***/ }), /* 157 */ -/***/ function(module, exports, __webpack_require__) { - - var ITERATOR = __webpack_require__(23)('iterator') - , SAFE_CLOSING = false; - - try { - var riter = [7][ITERATOR](); - riter['return'] = function(){ SAFE_CLOSING = true; }; - Array.from(riter, function(){ throw 2; }); - } catch(e){ /* empty */ } - - module.exports = function(exec, skipClosing){ - if(!skipClosing && !SAFE_CLOSING)return false; - var safe = false; - try { - var arr = [7] - , iter = arr[ITERATOR](); - iter.next = function(){ return {done: safe = true}; }; - arr[ITERATOR] = function(){ return iter; }; - exec(arr); - } catch(e){ /* empty */ } - return safe; - }; - -/***/ }, -/* 158 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , createProperty = __webpack_require__(155); - - // WebKit Array.of isn't generic - $export($export.S + $export.F * __webpack_require__(5)(function(){ - function F(){} - return !(Array.of.call(F) instanceof F); - }), 'Array', { - // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */){ - var index = 0 - , aLen = arguments.length - , result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); - result.length = aLen; - return result; - } - }); - -/***/ }, -/* 159 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.13 Array.prototype.join(separator) - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , arrayJoin = [].join; - - // fallback for not array-like strings - $export($export.P + $export.F * (__webpack_require__(31) != Object || !__webpack_require__(160)(arrayJoin)), 'Array', { - join: function join(separator){ - return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); - } - }); - -/***/ }, -/* 160 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var fails = __webpack_require__(5); +// 20.1.2.2 Number.isFinite(number) +var $export = __webpack_require__(0); +var _isFinite = __webpack_require__(2).isFinite; - module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); - }); - }; +$export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } +}); -/***/ }, -/* 161 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , html = __webpack_require__(46) - , cof = __webpack_require__(32) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35) - , arraySlice = [].slice; - - // fallback for not array-like ES3 strings and DOM objects - $export($export.P + $export.F * __webpack_require__(5)(function(){ - if(html)arraySlice.call(html); - }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); - end = end === undefined ? len : end; - if(klass == 'Array')return arraySlice.call(this, begin, end); - var start = toIndex(begin, len) - , upTo = toIndex(end, len) - , size = toLength(upTo - start) - , cloned = Array(size) - , i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' - ? this.charAt(start + i) - : this[start + i]; - return cloned; - } - }); - -/***/ }, -/* 162 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , aFunction = __webpack_require__(19) - , toObject = __webpack_require__(56) - , fails = __webpack_require__(5) - , $sort = [].sort - , test = [1, 2, 3]; - - $export($export.P + $export.F * (fails(function(){ - // IE8- - test.sort(undefined); - }) || !fails(function(){ - // V8 bug - test.sort(null); - // Old WebKit - }) || !__webpack_require__(160)($sort)), 'Array', { - // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn){ - return comparefn === undefined - ? $sort.call(toObject(this)) - : $sort.call(toObject(this), aFunction(comparefn)); - } - }); - -/***/ }, -/* 163 */ -/***/ function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $forEach = __webpack_require__(164)(0) - , STRICT = __webpack_require__(160)([].forEach, true); +/***/ }), +/* 158 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ - return $forEach(this, callbackfn, arguments[1]); - } - }); +// 20.1.2.3 Number.isInteger(number) +var $export = __webpack_require__(0); -/***/ }, -/* 164 */ -/***/ function(module, exports, __webpack_require__) { - - // 0 -> Array#forEach - // 1 -> Array#map - // 2 -> Array#filter - // 3 -> Array#some - // 4 -> Array#every - // 5 -> Array#find - // 6 -> Array#findIndex - var ctx = __webpack_require__(18) - , IObject = __webpack_require__(31) - , toObject = __webpack_require__(56) - , toLength = __webpack_require__(35) - , asc = __webpack_require__(165); - module.exports = function(TYPE, $create){ - var IS_MAP = TYPE == 1 - , IS_FILTER = TYPE == 2 - , IS_SOME = TYPE == 3 - , IS_EVERY = TYPE == 4 - , IS_FIND_INDEX = TYPE == 6 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX - , create = $create || asc; - return function($this, callbackfn, that){ - var O = toObject($this) - , self = IObject(O) - , f = ctx(callbackfn, that, 3) - , length = toLength(self.length) - , index = 0 - , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined - , val, res; - for(;length > index; index++)if(NO_HOLES || index in self){ - val = self[index]; - res = f(val, index, O); - if(TYPE){ - if(IS_MAP)result[index] = res; // map - else if(res)switch(TYPE){ - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if(IS_EVERY)return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; - }; - -/***/ }, -/* 165 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Number', { isInteger: __webpack_require__(102) }); - // 9.4.2.3 ArraySpeciesCreate(originalArray, length) - var speciesConstructor = __webpack_require__(166); - module.exports = function(original, length){ - return new (speciesConstructor(original))(length); - }; +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 166 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(11) - , isArray = __webpack_require__(43) - , SPECIES = __webpack_require__(23)('species'); - - module.exports = function(original){ - var C; - if(isArray(original)){ - C = original.constructor; - // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ - C = C[SPECIES]; - if(C === null)C = undefined; - } - } return C === undefined ? Array : C; - }; - -/***/ }, -/* 167 */ -/***/ function(module, exports, __webpack_require__) { +// 20.1.2.4 Number.isNaN(number) +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6) - , $map = __webpack_require__(164)(1); +$export($export.S, 'Number', { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); - $export($export.P + $export.F * !__webpack_require__(160)([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ - return $map(this, callbackfn, arguments[1]); - } - }); -/***/ }, -/* 168 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $filter = __webpack_require__(164)(2); +// 20.1.2.5 Number.isSafeInteger(number) +var $export = __webpack_require__(0); +var isInteger = __webpack_require__(102); +var abs = Math.abs; - $export($export.P + $export.F * !__webpack_require__(160)([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ - return $filter(this, callbackfn, arguments[1]); - } - }); +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); -/***/ }, + +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = __webpack_require__(0); + +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); + + +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = __webpack_require__(0); + +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); + + +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseFloat = __webpack_require__(103); +// 20.1.2.12 Number.parseFloat(string) +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + + +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseInt = __webpack_require__(104); +// 20.1.2.13 Number.parseInt(string, radix) +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + + +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseInt = __webpack_require__(104); +// 18.2.5 parseInt(string, radix) +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); + + +/***/ }), +/* 166 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseFloat = __webpack_require__(103); +// 18.2.4 parseFloat(string) +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); + + +/***/ }), +/* 167 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.3 Math.acosh(x) +var $export = __webpack_require__(0); +var log1p = __webpack_require__(105); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; + +$export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity +), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.5 Math.asinh(x) +var $export = __webpack_require__(0); +var $asinh = Math.asinh; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + + +/***/ }), /* 169 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $some = __webpack_require__(164)(3); +// 20.2.2.7 Math.atanh(x) +var $export = __webpack_require__(0); +var $atanh = Math.atanh; - $export($export.P + $export.F * !__webpack_require__(160)([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ - return $some(this, callbackfn, arguments[1]); - } - }); +// Tor Browser bug: Math.atanh(-0) -> 0 +$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); -/***/ }, + +/***/ }), /* 170 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.9 Math.cbrt(x) +var $export = __webpack_require__(0); +var sign = __webpack_require__(78); - 'use strict'; - var $export = __webpack_require__(6) - , $every = __webpack_require__(164)(4); +$export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); - $export($export.P + $export.F * !__webpack_require__(160)([].every, true), 'Array', { - // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */){ - return $every(this, callbackfn, arguments[1]); - } - }); -/***/ }, +/***/ }), /* 171 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.11 Math.clz32(x) +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6) - , $reduce = __webpack_require__(172); +$export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); - $export($export.P + $export.F * !__webpack_require__(160)([].reduce, true), 'Array', { - // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], false); - } - }); -/***/ }, +/***/ }), /* 172 */ -/***/ function(module, exports, __webpack_require__) { - - var aFunction = __webpack_require__(19) - , toObject = __webpack_require__(56) - , IObject = __webpack_require__(31) - , toLength = __webpack_require__(35); - - module.exports = function(that, callbackfn, aLen, memo, isRight){ - aFunction(callbackfn); - var O = toObject(that) - , self = IObject(O) - , length = toLength(O.length) - , index = isRight ? length - 1 : 0 - , i = isRight ? -1 : 1; - if(aLen < 2)for(;;){ - if(index in self){ - memo = self[index]; - index += i; - break; - } - index += i; - if(isRight ? index < 0 : length <= index){ - throw TypeError('Reduce of empty array with no initial value'); - } - } - for(;isRight ? index >= 0 : length > index; index += i)if(index in self){ - memo = callbackfn(memo, self[index], index, O); - } - return memo; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.12 Math.cosh(x) +var $export = __webpack_require__(0); +var exp = Math.exp; + +$export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } +}); + + +/***/ }), /* 173 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.14 Math.expm1(x) +var $export = __webpack_require__(0); +var $expm1 = __webpack_require__(79); - 'use strict'; - var $export = __webpack_require__(6) - , $reduce = __webpack_require__(172); +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); - $export($export.P + $export.F * !__webpack_require__(160)([].reduceRight, true), 'Array', { - // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], true); - } - }); -/***/ }, +/***/ }), /* 174 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $indexOf = __webpack_require__(34)(false) - , $native = [].indexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(160)($native)), 'Array', { - // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /*, fromIndex = 0 */){ - return NEGATIVE_ZERO - // convert -0 to +0 - ? $native.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments[1]); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.16 Math.fround(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { fround: __webpack_require__(106) }); + + +/***/ }), /* 175 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , $native = [].lastIndexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(160)($native)), 'Array', { - // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){ - // convert -0 to +0 - if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0; - var O = toIObject(this) - , length = toLength(O.length) - , index = length - 1; - if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1])); - if(index < 0)index = length + index; - for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0; - return -1; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = __webpack_require__(0); +var abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); + + +/***/ }), /* 176 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.18 Math.imul(x, y) +var $export = __webpack_require__(0); +var $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * __webpack_require__(4)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - var $export = __webpack_require__(6); +// 20.2.2.21 Math.log10(x) +var $export = __webpack_require__(0); - $export($export.P, 'Array', {copyWithin: __webpack_require__(177)}); +$export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; + } +}); - __webpack_require__(178)('copyWithin'); -/***/ }, -/* 177 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - 'use strict'; - var toObject = __webpack_require__(56) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35); - - module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ - var O = toObject(this) - , len = toLength(O.length) - , to = toIndex(target, len) - , from = toIndex(start, len) - , end = arguments.length > 2 ? arguments[2] : undefined - , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) - , inc = 1; - if(from < to && to < from + count){ - inc = -1; - from += count - 1; - to += count - 1; - } - while(count-- > 0){ - if(from in O)O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } return O; - }; - -/***/ }, +/***/ }), /* 178 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.31 Array.prototype[@@unscopables] - var UNSCOPABLES = __webpack_require__(23)('unscopables') - , ArrayProto = Array.prototype; - if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(8)(ArrayProto, UNSCOPABLES, {}); - module.exports = function(key){ - ArrayProto[UNSCOPABLES][key] = true; - }; +// 20.2.2.20 Math.log1p(x) +var $export = __webpack_require__(0); -/***/ }, +$export($export.S, 'Math', { log1p: __webpack_require__(105) }); + + +/***/ }), /* 179 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - var $export = __webpack_require__(6); +// 20.2.2.22 Math.log2(x) +var $export = __webpack_require__(0); - $export($export.P, 'Array', {fill: __webpack_require__(180)}); +$export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } +}); - __webpack_require__(178)('fill'); -/***/ }, +/***/ }), /* 180 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - 'use strict'; - var toObject = __webpack_require__(56) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35); - module.exports = function fill(value /*, start = 0, end = @length */){ - var O = toObject(this) - , length = toLength(O.length) - , aLen = arguments.length - , index = toIndex(aLen > 1 ? arguments[1] : undefined, length) - , end = aLen > 2 ? arguments[2] : undefined - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.28 Math.sign(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { sign: __webpack_require__(78) }); + + +/***/ }), /* 181 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) - var $export = __webpack_require__(6) - , $find = __webpack_require__(164)(5) - , KEY = 'find' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(178)(KEY); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.30 Math.sinh(x) +var $export = __webpack_require__(0); +var expm1 = __webpack_require__(79); +var exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * __webpack_require__(4)(function () { + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); + + +/***/ }), /* 182 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) - var $export = __webpack_require__(6) - , $find = __webpack_require__(164)(6) - , KEY = 'findIndex' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(178)(KEY); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.33 Math.tanh(x) +var $export = __webpack_require__(0); +var expm1 = __webpack_require__(79); +var exp = Math.exp; + +$export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + + +/***/ }), /* 183 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var addToUnscopables = __webpack_require__(178) - , step = __webpack_require__(184) - , Iterators = __webpack_require__(135) - , toIObject = __webpack_require__(30); - - // 22.1.3.4 Array.prototype.entries() - // 22.1.3.13 Array.prototype.keys() - // 22.1.3.29 Array.prototype.values() - // 22.1.3.30 Array.prototype[@@iterator]() - module.exports = __webpack_require__(134)(Array, 'Array', function(iterated, kind){ - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind - // 22.1.5.2.1 %ArrayIteratorPrototype%.next() - }, function(){ - var O = this._t - , kind = this._k - , index = this._i++; - if(!O || index >= O.length){ - this._t = undefined; - return step(1); - } - if(kind == 'keys' )return step(0, index); - if(kind == 'values')return step(0, O[index]); - return step(0, [index, O[index]]); - }, 'values'); - - // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) - Iterators.Arguments = Iterators.Array; - - addToUnscopables('keys'); - addToUnscopables('values'); - addToUnscopables('entries'); - -/***/ }, -/* 184 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = function(done, value){ - return {value: value, done: !!done}; - }; +// 20.2.2.34 Math.trunc(x) +var $export = __webpack_require__(0); -/***/ }, -/* 185 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); - __webpack_require__(186)('Array'); -/***/ }, +/***/ }), +/* 184 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var toAbsoluteIndex = __webpack_require__(37); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(11); +var toLength = __webpack_require__(8); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + } return res.join(''); + } +}); + + +/***/ }), /* 186 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , dP = __webpack_require__(9) - , DESCRIPTORS = __webpack_require__(4) - , SPECIES = __webpack_require__(23)('species'); - - module.exports = function(KEY){ - var C = global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { - configurable: true, - get: function(){ return this; } - }); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 21.1.3.25 String.prototype.trim() +__webpack_require__(45)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; +}); + + +/***/ }), /* 187 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , inheritIfRequired = __webpack_require__(80) - , dP = __webpack_require__(9).f - , gOPN = __webpack_require__(48).f - , isRegExp = __webpack_require__(128) - , $flags = __webpack_require__(188) - , $RegExp = global.RegExp - , Base = $RegExp - , proto = $RegExp.prototype - , re1 = /a/g - , re2 = /a/g - // "new" creates a new object, old webkit buggy here - , CORRECT_NEW = new $RegExp(re1) !== re1; - - if(__webpack_require__(4) && (!CORRECT_NEW || __webpack_require__(5)(function(){ - re2[__webpack_require__(23)('match')] = false; - // RegExp constructor can alter flags and IsRegExp works correct with @@match - return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; - }))){ - $RegExp = function RegExp(p, f){ - var tiRE = this instanceof $RegExp - , piRE = isRegExp(p) - , fiU = f === undefined; - return !tiRE && piRE && p.constructor === $RegExp && fiU ? p - : inheritIfRequired(CORRECT_NEW - ? new Base(piRE && !fiU ? p.source : p, f) - : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) - , tiRE ? this : proto, $RegExp); - }; - var proxy = function(key){ - key in $RegExp || dP($RegExp, key, { - configurable: true, - get: function(){ return Base[key]; }, - set: function(it){ Base[key] = it; } - }); - }; - for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]); - proto.constructor = $RegExp; - $RegExp.prototype = proto; - __webpack_require__(16)(global, 'RegExp', $RegExp); - } - - __webpack_require__(186)('RegExp'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $at = __webpack_require__(80)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } +}); + + +/***/ }), /* 188 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 21.2.5.3 get RegExp.prototype.flags - var anObject = __webpack_require__(10); - module.exports = function(){ - var that = anObject(this) - , result = ''; - if(that.global) result += 'g'; - if(that.ignoreCase) result += 'i'; - if(that.multiline) result += 'm'; - if(that.unicode) result += 'u'; - if(that.sticky) result += 'y'; - return result; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) + +var $export = __webpack_require__(0); +var toLength = __webpack_require__(8); +var context = __webpack_require__(81); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * __webpack_require__(82)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + + +/***/ }), /* 189 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(190); - var anObject = __webpack_require__(10) - , $flags = __webpack_require__(188) - , DESCRIPTORS = __webpack_require__(4) - , TO_STRING = 'toString' - , $toString = /./[TO_STRING]; - - var define = function(fn){ - __webpack_require__(16)(RegExp.prototype, TO_STRING, fn, true); - }; - - // 21.2.5.14 RegExp.prototype.toString() - if(__webpack_require__(5)(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){ - define(function toString(){ - var R = anObject(this); - return '/'.concat(R.source, '/', - 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); - }); - // FF44- RegExp#toString has a wrong name - } else if($toString.name != TO_STRING){ - define(function toString(){ - return $toString.call(this); - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.7 String.prototype.includes(searchString, position = 0) + +var $export = __webpack_require__(0); +var context = __webpack_require__(81); +var INCLUDES = 'includes'; + +$export($export.P + $export.F * __webpack_require__(82)(INCLUDES), 'String', { + includes: function includes(searchString /* , position = 0 */) { + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), /* 190 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); + +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: __webpack_require__(77) +}); - // 21.2.5.3 get RegExp.prototype.flags() - if(__webpack_require__(4) && /./g.flags != 'g')__webpack_require__(9).f(RegExp.prototype, 'flags', { - configurable: true, - get: __webpack_require__(188) - }); -/***/ }, +/***/ }), /* 191 */ -/***/ function(module, exports, __webpack_require__) { - - // @@match logic - __webpack_require__(192)('match', 1, function(defined, MATCH, $match){ - // 21.1.3.11 String.prototype.match(regexp) - return [function match(regexp){ - 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, $match]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) + +var $export = __webpack_require__(0); +var toLength = __webpack_require__(8); +var context = __webpack_require__(81); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * __webpack_require__(82)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + + +/***/ }), /* 192 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var hide = __webpack_require__(8) - , redefine = __webpack_require__(16) - , fails = __webpack_require__(5) - , defined = __webpack_require__(33) - , wks = __webpack_require__(23); - - module.exports = function(KEY, length, exec){ - var SYMBOL = wks(KEY) - , fns = exec(defined, SYMBOL, ''[KEY]) - , strfn = fns[0] - , rxfn = fns[1]; - if(fails(function(){ - var O = {}; - O[SYMBOL] = function(){ return 7; }; - return ''[KEY](O) != 7; - })){ - redefine(String.prototype, KEY, strfn); - hide(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function(string, arg){ return rxfn.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function(string){ return rxfn.call(string, this); } - ); - } - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $at = __webpack_require__(80)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +__webpack_require__(55)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + + +/***/ }), /* 193 */ -/***/ function(module, exports, __webpack_require__) { - - // @@replace logic - __webpack_require__(192)('replace', 2, function(defined, REPLACE, $replace){ - // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) - return [function replace(searchValue, replaceValue){ - 'use strict'; - var O = defined(this) - , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; - return fn !== undefined - ? fn.call(searchValue, O, replaceValue) - : $replace.call(String(O), searchValue, replaceValue); - }, $replace]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.2 String.prototype.anchor(name) +__webpack_require__(18)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; +}); + + +/***/ }), /* 194 */ -/***/ function(module, exports, __webpack_require__) { - - // @@search logic - __webpack_require__(192)('search', 1, function(defined, SEARCH, $search){ - // 21.1.3.15 String.prototype.search(regexp) - return [function search(regexp){ - 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[SEARCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, $search]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.3 String.prototype.big() +__webpack_require__(18)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; +}); + + +/***/ }), /* 195 */ -/***/ function(module, exports, __webpack_require__) { - - // @@split logic - __webpack_require__(192)('split', 2, function(defined, SPLIT, $split){ - 'use strict'; - var isRegExp = __webpack_require__(128) - , _split = $split - , $push = [].push - , $SPLIT = 'split' - , LENGTH = 'length' - , LAST_INDEX = 'lastIndex'; - if( - 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || - 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || - 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || - '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || - '.'[$SPLIT](/()()/)[LENGTH] > 1 || - ''[$SPLIT](/.?/)[LENGTH] - ){ - var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group - // based on es5-shim implementation, need to rework it - $split = function(separator, limit){ - var string = String(this); - if(separator === undefined && limit === 0)return []; - // If `separator` is not a regex, use native split - if(!isRegExp(separator))return _split.call(string, separator, limit); - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var separator2, match, lastIndex, lastLength, i; - // Doesn't need flags gy, but they don't hurt - if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); - while(match = separatorCopy.exec(string)){ - // `separatorCopy.lastIndex` is not reliable cross-browser - lastIndex = match.index + match[0][LENGTH]; - if(lastIndex > lastLastIndex){ - output.push(string.slice(lastLastIndex, match.index)); - // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG - if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){ - for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined; - }); - if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1)); - lastLength = match[0][LENGTH]; - lastLastIndex = lastIndex; - if(output[LENGTH] >= splitLimit)break; - } - if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop - } - if(lastLastIndex === string[LENGTH]){ - if(lastLength || !separatorCopy.test(''))output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; - }; - // Chakra, V8 - } else if('0'[$SPLIT](undefined, 0)[LENGTH]){ - $split = function(separator, limit){ - return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); - }; - } - // 21.1.3.17 String.prototype.split(separator, limit) - return [function split(separator, limit){ - var O = defined(this) - , fn = separator == undefined ? undefined : separator[SPLIT]; - return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); - }, $split]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.4 String.prototype.blink() +__webpack_require__(18)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; +}); + + +/***/ }), /* 196 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(26) - , global = __webpack_require__(2) - , ctx = __webpack_require__(18) - , classof = __webpack_require__(73) - , $export = __webpack_require__(6) - , isObject = __webpack_require__(11) - , aFunction = __webpack_require__(19) - , anInstance = __webpack_require__(197) - , forOf = __webpack_require__(198) - , speciesConstructor = __webpack_require__(199) - , task = __webpack_require__(200).set - , microtask = __webpack_require__(201)() - , PROMISE = 'Promise' - , TypeError = global.TypeError - , process = global.process - , $Promise = global[PROMISE] - , process = global.process - , isNode = classof(process) == 'process' - , empty = function(){ /* empty */ } - , Internal, GenericPromiseCapability, Wrapper; - - var USE_NATIVE = !!function(){ - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1) - , FakePromise = (promise.constructor = {})[__webpack_require__(23)('species')] = function(exec){ exec(empty, empty); }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; - } catch(e){ /* empty */ } - }(); - - // helpers - var sameConstructor = function(a, b){ - // with library wrapper special case - return a === b || a === $Promise && b === Wrapper; - }; - var isThenable = function(it){ - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; - }; - var newPromiseCapability = function(C){ - return sameConstructor($Promise, C) - ? new PromiseCapability(C) - : new GenericPromiseCapability(C); - }; - var PromiseCapability = GenericPromiseCapability = function(C){ - var resolve, reject; - this.promise = new C(function($$resolve, $$reject){ - if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); - }; - var perform = function(exec){ - try { - exec(); - } catch(e){ - return {error: e}; - } - }; - var notify = function(promise, isReject){ - if(promise._n)return; - promise._n = true; - var chain = promise._c; - microtask(function(){ - var value = promise._v - , ok = promise._s == 1 - , i = 0; - var run = function(reaction){ - var handler = ok ? reaction.ok : reaction.fail - , resolve = reaction.resolve - , reject = reaction.reject - , domain = reaction.domain - , result, then; - try { - if(handler){ - if(!ok){ - if(promise._h == 2)onHandleUnhandled(promise); - promise._h = 1; - } - if(handler === true)result = value; - else { - if(domain)domain.enter(); - result = handler(value); - if(domain)domain.exit(); - } - if(result === reaction.promise){ - reject(TypeError('Promise-chain cycle')); - } else if(then = isThenable(result)){ - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch(e){ - reject(e); - } - }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if(isReject && !promise._h)onUnhandled(promise); - }); - }; - var onUnhandled = function(promise){ - task.call(global, function(){ - var value = promise._v - , abrupt, handler, console; - if(isUnhandled(promise)){ - abrupt = perform(function(){ - if(isNode){ - process.emit('unhandledRejection', value, promise); - } else if(handler = global.onunhandledrejection){ - handler({promise: promise, reason: value}); - } else if((console = global.console) && console.error){ - console.error('Unhandled promise rejection', value); - } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } promise._a = undefined; - if(abrupt)throw abrupt.error; - }); - }; - var isUnhandled = function(promise){ - if(promise._h == 1)return false; - var chain = promise._a || promise._c - , i = 0 - , reaction; - while(chain.length > i){ - reaction = chain[i++]; - if(reaction.fail || !isUnhandled(reaction.promise))return false; - } return true; - }; - var onHandleUnhandled = function(promise){ - task.call(global, function(){ - var handler; - if(isNode){ - process.emit('rejectionHandled', promise); - } else if(handler = global.onrejectionhandled){ - handler({promise: promise, reason: promise._v}); - } - }); - }; - var $reject = function(value){ - var promise = this; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if(!promise._a)promise._a = promise._c.slice(); - notify(promise, true); - }; - var $resolve = function(value){ - var promise = this - , then; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if(promise === value)throw TypeError("Promise can't be resolved itself"); - if(then = isThenable(value)){ - microtask(function(){ - var wrapper = {_w: promise, _d: false}; // wrap - try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch(e){ - $reject.call(wrapper, e); - } - }); - } else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch(e){ - $reject.call({_w: promise, _d: false}, e); // wrap - } - }; - - // constructor polyfill - if(!USE_NATIVE){ - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor){ - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch(err){ - $reject.call(this, err); - } - }; - Internal = function Promise(executor){ - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = __webpack_require__(202)($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected){ - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if(this._a)this._a.push(reaction); - if(this._s)notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected){ - return this.then(undefined, onRejected); - } - }); - PromiseCapability = function(){ - var promise = new Internal; - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise}); - __webpack_require__(22)($Promise, PROMISE); - __webpack_require__(186)(PROMISE); - Wrapper = __webpack_require__(7)[PROMISE]; - - // statics - $export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r){ - var capability = newPromiseCapability(this) - , $$reject = capability.reject; - $$reject(r); - return capability.promise; - } - }); - $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x){ - // instanceof instead of internal slot check because we should fix it without replacement native Promise core - if(x instanceof $Promise && sameConstructor(x.constructor, this))return x; - var capability = newPromiseCapability(this) - , $$resolve = capability.resolve; - $$resolve(x); - return capability.promise; - } - }); - $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(157)(function(iter){ - $Promise.all(iter)['catch'](empty); - })), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable){ - var C = this - , capability = newPromiseCapability(C) - , resolve = capability.resolve - , reject = capability.reject; - var abrupt = perform(function(){ - var values = [] - , index = 0 - , remaining = 1; - forOf(iterable, false, function(promise){ - var $index = index++ - , alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function(value){ - if(alreadyCalled)return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable){ - var C = this - , capability = newPromiseCapability(C) - , reject = capability.reject; - var abrupt = perform(function(){ - forOf(iterable, false, function(promise){ - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.5 String.prototype.bold() +__webpack_require__(18)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; +}); + + +/***/ }), /* 197 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - module.exports = function(it, Constructor, name, forbiddenField){ - if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){ - throw TypeError(name + ': incorrect invocation!'); - } return it; - }; +// B.2.3.6 String.prototype.fixed() +__webpack_require__(18)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; +}); -/***/ }, + +/***/ }), /* 198 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(18) - , call = __webpack_require__(153) - , isArrayIter = __webpack_require__(154) - , anObject = __webpack_require__(10) - , toLength = __webpack_require__(35) - , getIterFn = __webpack_require__(156) - , BREAK = {} - , RETURN = {}; - var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ - var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) - , f = ctx(fn, that, entries ? 2 : 1) - , index = 0 - , length, step, iterator, result; - if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ - result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; - } - }; - exports.BREAK = BREAK; - exports.RETURN = RETURN; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.7 String.prototype.fontcolor(color) +__webpack_require__(18)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; +}); + + +/***/ }), /* 199 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.3.20 SpeciesConstructor(O, defaultConstructor) - var anObject = __webpack_require__(10) - , aFunction = __webpack_require__(19) - , SPECIES = __webpack_require__(23)('species'); - module.exports = function(O, D){ - var C = anObject(O).constructor, S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.8 String.prototype.fontsize(size) +__webpack_require__(18)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; +}); + + +/***/ }), /* 200 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(18) - , invoke = __webpack_require__(76) - , html = __webpack_require__(46) - , cel = __webpack_require__(13) - , global = __webpack_require__(2) - , process = global.process - , setTask = global.setImmediate - , clearTask = global.clearImmediate - , MessageChannel = global.MessageChannel - , counter = 0 - , queue = {} - , ONREADYSTATECHANGE = 'onreadystatechange' - , defer, channel, port; - var run = function(){ - var id = +this; - if(queue.hasOwnProperty(id)){ - var fn = queue[id]; - delete queue[id]; - fn(); - } - }; - var listener = function(event){ - run.call(event.data); - }; - // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - if(!setTask || !clearTask){ - setTask = function setImmediate(fn){ - var args = [], i = 1; - while(arguments.length > i)args.push(arguments[i++]); - queue[++counter] = function(){ - invoke(typeof fn == 'function' ? fn : Function(fn), args); - }; - defer(counter); - return counter; - }; - clearTask = function clearImmediate(id){ - delete queue[id]; - }; - // Node.js 0.8- - if(__webpack_require__(32)(process) == 'process'){ - defer = function(id){ - process.nextTick(ctx(run, id, 1)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if(MessageChannel){ - channel = new MessageChannel; - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ - defer = function(id){ - global.postMessage(id + '', '*'); - }; - global.addEventListener('message', listener, false); - // IE8- - } else if(ONREADYSTATECHANGE in cel('script')){ - defer = function(id){ - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){ - html.removeChild(this); - run.call(id); - }; - }; - // Rest old browsers - } else { - defer = function(id){ - setTimeout(ctx(run, id, 1), 0); - }; - } - } - module.exports = { - set: setTask, - clear: clearTask - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.9 String.prototype.italics() +__webpack_require__(18)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; +}); + + +/***/ }), /* 201 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , macrotask = __webpack_require__(200).set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , Promise = global.Promise - , isNode = __webpack_require__(32)(process) == 'process'; - - module.exports = function(){ - var head, last, notify; - - var flush = function(){ - var parent, fn; - if(isNode && (parent = process.domain))parent.exit(); - while(head){ - fn = head.fn; - head = head.next; - try { - fn(); - } catch(e){ - if(head)notify(); - else last = undefined; - throw e; - } - } last = undefined; - if(parent)parent.enter(); - }; - - // Node.js - if(isNode){ - notify = function(){ - process.nextTick(flush); - }; - // browsers with MutationObserver - } else if(Observer){ - var toggle = true - , node = document.createTextNode(''); - new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new - notify = function(){ - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if(Promise && Promise.resolve){ - var promise = Promise.resolve(); - notify = function(){ - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function(){ - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } - - return function(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ - head = task; - notify(); - } last = task; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.10 String.prototype.link(url) +__webpack_require__(18)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; +}); + + +/***/ }), /* 202 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var redefine = __webpack_require__(16); - module.exports = function(target, src, safe){ - for(var key in src)redefine(target, key, src[key], safe); - return target; - }; +"use strict"; -/***/ }, +// B.2.3.11 String.prototype.small() +__webpack_require__(18)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; +}); + + +/***/ }), /* 203 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(204); - - // 23.1 Map Objects - module.exports = __webpack_require__(205)('Map', function(get){ - return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key){ - var entry = strong.getEntry(this, key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value){ - return strong.def(this, key === 0 ? 0 : key, value); - } - }, strong, true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.12 String.prototype.strike() +__webpack_require__(18)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; +}); + + +/***/ }), /* 204 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var dP = __webpack_require__(9).f - , create = __webpack_require__(44) - , redefineAll = __webpack_require__(202) - , ctx = __webpack_require__(18) - , anInstance = __webpack_require__(197) - , defined = __webpack_require__(33) - , forOf = __webpack_require__(198) - , $iterDefine = __webpack_require__(134) - , step = __webpack_require__(184) - , setSpecies = __webpack_require__(186) - , DESCRIPTORS = __webpack_require__(4) - , fastKey = __webpack_require__(20).fastKey - , SIZE = DESCRIPTORS ? '_s' : 'size'; - - var getEntry = function(that, key){ - // fast case - var index = fastKey(key), entry; - if(index !== 'F')return that._i[index]; - // frozen object case - for(entry = that._f; entry; entry = entry.n){ - if(entry.k == key)return entry; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear(){ - for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ - entry.r = true; - if(entry.p)entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function(key){ - var that = this - , entry = getEntry(that, key); - if(entry){ - var next = entry.n - , prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if(prev)prev.n = next; - if(next)next.p = prev; - if(that._f == entry)that._f = next; - if(that._l == entry)that._l = prev; - that[SIZE]--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /*, that = undefined */){ - anInstance(this, C, 'forEach'); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) - , entry; - while(entry = entry ? entry.n : this._f){ - f(entry.v, entry.k, this); - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key){ - return !!getEntry(this, key); - } - }); - if(DESCRIPTORS)dP(C.prototype, 'size', { - get: function(){ - return defined(this[SIZE]); - } - }); - return C; - }, - def: function(that, key, value){ - var entry = getEntry(that, key) - , prev, index; - // change existing entry - if(entry){ - entry.v = value; - // create new entry - } else { - that._l = entry = { - i: index = fastKey(key, true), // <- index - k: key, // <- key - v: value, // <- value - p: prev = that._l, // <- previous entry - n: undefined, // <- next entry - r: false // <- removed - }; - if(!that._f)that._f = entry; - if(prev)prev.n = entry; - that[SIZE]++; - // add to index - if(index !== 'F')that._i[index] = entry; - } return that; - }, - getEntry: getEntry, - setStrong: function(C, NAME, IS_MAP){ - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function(iterated, kind){ - this._t = iterated; // target - this._k = kind; // kind - this._l = undefined; // previous - }, function(){ - var that = this - , kind = that._k - , entry = that._l; - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - // get next entry - if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if(kind == 'keys' )return step(0, entry.k); - if(kind == 'values')return step(0, entry.v); - return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.13 String.prototype.sub() +__webpack_require__(18)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; +}); + + +/***/ }), /* 205 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(16) - , redefineAll = __webpack_require__(202) - , meta = __webpack_require__(20) - , forOf = __webpack_require__(198) - , anInstance = __webpack_require__(197) - , isObject = __webpack_require__(11) - , fails = __webpack_require__(5) - , $iterDetect = __webpack_require__(157) - , setToStringTag = __webpack_require__(22) - , inheritIfRequired = __webpack_require__(80); - - module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ - var Base = global[NAME] - , C = Base - , ADDER = IS_MAP ? 'set' : 'add' - , proto = C && C.prototype - , O = {}; - var fixMethod = function(KEY){ - var fn = proto[KEY]; - redefine(proto, KEY, - KEY == 'delete' ? function(a){ - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a){ - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a){ - return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } - ); - }; - if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ - new C().entries().next(); - }))){ - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - var instance = new C - // early implementations not supports chaining - , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); }) - // most early implementations doesn't supports iterables, most modern - not close it correctly - , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - , BUGGY_ZERO = !IS_WEAK && fails(function(){ - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C() - , index = 5; - while(index--)$instance[ADDER](index, index); - return !$instance.has(-0); - }); - if(!ACCEPT_ITERABLES){ - C = wrapper(function(target, iterable){ - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base, target, C); - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); - // weak collections should not contains .clear method - if(IS_WEAK && proto.clear)delete proto.clear; - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); - - return C; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.14 String.prototype.sup() +__webpack_require__(18)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; +}); + + +/***/ }), /* 206 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(204); - - // 23.2 Set Objects - module.exports = __webpack_require__(205)('Set', function(get){ - return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); - } - }, strong); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +var $export = __webpack_require__(0); + +$export($export.S, 'Array', { isArray: __webpack_require__(53) }); + + +/***/ }), /* 207 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var each = __webpack_require__(164)(0) - , redefine = __webpack_require__(16) - , meta = __webpack_require__(20) - , assign = __webpack_require__(67) - , weak = __webpack_require__(208) - , isObject = __webpack_require__(11) - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; - - var wrapper = function(get){ - return function WeakMap(){ - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }; - - var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); - } - }; - - // 23.3 WeakMap Objects - var $WeakMap = module.exports = __webpack_require__(205)('WeakMap', wrapper, methods, weak, true, true); - - // IE11 WeakMap frozen keys fix - if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ - // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ctx = __webpack_require__(19); +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var call = __webpack_require__(107); +var isArrayIter = __webpack_require__(83); +var toLength = __webpack_require__(8); +var createProperty = __webpack_require__(84); +var getIterFn = __webpack_require__(49); + +$export($export.S + $export.F * !__webpack_require__(57)(function (iter) { Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } +}); + + +/***/ }), /* 208 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var redefineAll = __webpack_require__(202) - , getWeak = __webpack_require__(20).getWeak - , anObject = __webpack_require__(10) - , isObject = __webpack_require__(11) - , anInstance = __webpack_require__(197) - , forOf = __webpack_require__(198) - , createArrayMethod = __webpack_require__(164) - , $has = __webpack_require__(3) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , id = 0; - - // fallback for uncaught frozen keys - var uncaughtFrozenStore = function(that){ - return that._l || (that._l = new UncaughtFrozenStore); - }; - var UncaughtFrozenStore = function(){ - this.a = []; - }; - var findUncaughtFrozen = function(store, key){ - return arrayFind(store.a, function(it){ - return it[0] === key; - }); - }; - UncaughtFrozenStore.prototype = { - get: function(key){ - var entry = findUncaughtFrozen(this, key); - if(entry)return entry[1]; - }, - has: function(key){ - return !!findUncaughtFrozen(this, key); - }, - set: function(key, value){ - var entry = findUncaughtFrozen(this, key); - if(entry)entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function(key){ - var index = arrayFindIndex(this.a, function(it){ - return it[0] === key; - }); - if(~index)this.a.splice(index, 1); - return !!~index; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this)['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function(that, key, value){ - var data = getWeak(anObject(key), true); - if(data === true)uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var createProperty = __webpack_require__(84); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * __webpack_require__(4)(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); + result.length = aLen; + return result; + } +}); + + +/***/ }), /* 209 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var weak = __webpack_require__(208); - - // 23.4 WeakSet Objects - __webpack_require__(205)('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value){ - return weak.def(this, value, true); - } - }, weak, false, true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.13 Array.prototype.join(separator) +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(11); +var arrayJoin = [].join; + +// fallback for not array-like strings +$export($export.P + $export.F * (__webpack_require__(47) != Object || !__webpack_require__(21)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), /* 210 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) - var $export = __webpack_require__(6) - , aFunction = __webpack_require__(19) - , anObject = __webpack_require__(10) - , rApply = (__webpack_require__(2).Reflect || {}).apply - , fApply = Function.apply; - // MS Edge argumentsList argument is optional - $export($export.S + $export.F * !__webpack_require__(5)(function(){ - rApply(function(){}); - }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var html = __webpack_require__(71); +var cof = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(37); +var toLength = __webpack_require__(8); +var arraySlice = [].slice; + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * __webpack_require__(4)(function () { + if (html) arraySlice.call(html); +}), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); + + +/***/ }), /* 211 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) - var $export = __webpack_require__(6) - , create = __webpack_require__(44) - , aFunction = __webpack_require__(19) - , anObject = __webpack_require__(10) - , isObject = __webpack_require__(11) - , fails = __webpack_require__(5) - , bind = __webpack_require__(75) - , rConstruct = (__webpack_require__(2).Reflect || {}).construct; - - // MS Edge supports only 2 arguments and argumentsList argument is optional - // FF Nightly sets third argument as `new.target`, but does not create `this` from it - var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); - }); - var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); - }); - - $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - if(Target == newTarget){ - // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: return new Target; - case 1: return new Target(args[0]); - case 2: return new Target(args[0], args[1]); - case 3: return new Target(args[0], args[1], args[2]); - case 4: return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [null]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args)); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var toObject = __webpack_require__(9); +var fails = __webpack_require__(4); +var $sort = [].sort; +var test = [1, 2, 3]; + +$export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); +}) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit +}) || !__webpack_require__(21)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined + ? $sort.call(toObject(this)) + : $sort.call(toObject(this), aFunction(comparefn)); + } +}); + + +/***/ }), /* 212 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) - var dP = __webpack_require__(9) - , $export = __webpack_require__(6) - , anObject = __webpack_require__(10) - , toPrimitive = __webpack_require__(14); - - // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - $export($export.S + $export.F * __webpack_require__(5)(function(){ - Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); - }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes){ - anObject(target); - propertyKey = toPrimitive(propertyKey, true); - anObject(attributes); - try { - dP.f(target, propertyKey, attributes); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, -/* 213 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // 26.1.4 Reflect.deleteProperty(target, propertyKey) - var $export = __webpack_require__(6) - , gOPD = __webpack_require__(49).f - , anObject = __webpack_require__(10); +var $export = __webpack_require__(0); +var $forEach = __webpack_require__(26)(0); +var STRICT = __webpack_require__(21)([].forEach, true); - $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey){ - var desc = gOPD(anObject(target), propertyKey); - return desc && !desc.configurable ? false : delete target[propertyKey]; - } - }); +$export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } +}); -/***/ }, + +/***/ }), +/* 213 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(3); +var isArray = __webpack_require__(53); +var SPECIES = __webpack_require__(5)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + + +/***/ }), /* 214 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 26.1.5 Reflect.enumerate(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(10); - var Enumerate = function(iterated){ - this._t = anObject(iterated); // target - this._i = 0; // next index - var keys = this._k = [] // keys - , key; - for(key in iterated)keys.push(key); - }; - __webpack_require__(136)(Enumerate, 'Object', function(){ - var that = this - , keys = that._k - , key; - do { - if(that._i >= keys.length)return {value: undefined, done: true}; - } while(!((key = keys[that._i++]) in that._t)); - return {value: key, done: false}; - }); - - $export($export.S, 'Reflect', { - enumerate: function enumerate(target){ - return new Enumerate(target); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $map = __webpack_require__(26)(1); + +$export($export.P + $export.F * !__webpack_require__(21)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 215 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.6 Reflect.get(target, propertyKey [, receiver]) - var gOPD = __webpack_require__(49) - , getPrototypeOf = __webpack_require__(57) - , has = __webpack_require__(3) - , $export = __webpack_require__(6) - , isObject = __webpack_require__(11) - , anObject = __webpack_require__(10); - - function get(target, propertyKey/*, receiver*/){ - var receiver = arguments.length < 3 ? target : arguments[2] - , desc, proto; - if(anObject(target) === receiver)return target[propertyKey]; - if(desc = gOPD.f(target, propertyKey))return has(desc, 'value') - ? desc.value - : desc.get !== undefined - ? desc.get.call(receiver) - : undefined; - if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver); - } - - $export($export.S, 'Reflect', {get: get}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $filter = __webpack_require__(26)(2); + +$export($export.P + $export.F * !__webpack_require__(21)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 216 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) - var gOPD = __webpack_require__(49) - , $export = __webpack_require__(6) - , anObject = __webpack_require__(10); +"use strict"; - $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ - return gOPD.f(anObject(target), propertyKey); - } - }); +var $export = __webpack_require__(0); +var $some = __webpack_require__(26)(3); -/***/ }, +$export($export.P + $export.F * !__webpack_require__(21)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 217 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // 26.1.8 Reflect.getPrototypeOf(target) - var $export = __webpack_require__(6) - , getProto = __webpack_require__(57) - , anObject = __webpack_require__(10); +var $export = __webpack_require__(0); +var $every = __webpack_require__(26)(4); - $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target){ - return getProto(anObject(target)); - } - }); +$export($export.P + $export.F * !__webpack_require__(21)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } +}); -/***/ }, + +/***/ }), /* 218 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // 26.1.9 Reflect.has(target, propertyKey) - var $export = __webpack_require__(6); +var $export = __webpack_require__(0); +var $reduce = __webpack_require__(108); - $export($export.S, 'Reflect', { - has: function has(target, propertyKey){ - return propertyKey in target; - } - }); +$export($export.P + $export.F * !__webpack_require__(21)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } +}); -/***/ }, + +/***/ }), /* 219 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $reduce = __webpack_require__(108); - // 26.1.10 Reflect.isExtensible(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(10) - , $isExtensible = Object.isExtensible; +$export($export.P + $export.F * !__webpack_require__(21)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } +}); - $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target){ - anObject(target); - return $isExtensible ? $isExtensible(target) : true; - } - }); -/***/ }, +/***/ }), /* 220 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 26.1.11 Reflect.ownKeys(target) - var $export = __webpack_require__(6); +"use strict"; - $export($export.S, 'Reflect', {ownKeys: __webpack_require__(221)}); +var $export = __webpack_require__(0); +var $indexOf = __webpack_require__(51)(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; -/***/ }, +$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(21)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments[1]); + } +}); + + +/***/ }), /* 221 */ -/***/ function(module, exports, __webpack_require__) { - - // all object keys, includes non-enumerable and symbols - var gOPN = __webpack_require__(48) - , gOPS = __webpack_require__(41) - , anObject = __webpack_require__(10) - , Reflect = __webpack_require__(2).Reflect; - module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ - var keys = gOPN.f(anObject(it)) - , getSymbols = gOPS.f; - return getSymbols ? keys.concat(getSymbols(it)) : keys; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(11); +var toInteger = __webpack_require__(24); +var toLength = __webpack_require__(8); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(21)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; + return -1; + } +}); + + +/***/ }), /* 222 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.12 Reflect.preventExtensions(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(10) - , $preventExtensions = Object.preventExtensions; - - $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target){ - anObject(target); - try { - if($preventExtensions)$preventExtensions(target); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = __webpack_require__(0); + +$export($export.P, 'Array', { copyWithin: __webpack_require__(109) }); + +__webpack_require__(34)('copyWithin'); + + +/***/ }), /* 223 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) - var dP = __webpack_require__(9) - , gOPD = __webpack_require__(49) - , getPrototypeOf = __webpack_require__(57) - , has = __webpack_require__(3) - , $export = __webpack_require__(6) - , createDesc = __webpack_require__(15) - , anObject = __webpack_require__(10) - , isObject = __webpack_require__(11); - - function set(target, propertyKey, V/*, receiver*/){ - var receiver = arguments.length < 4 ? target : arguments[3] - , ownDesc = gOPD.f(anObject(target), propertyKey) - , existingDescriptor, proto; - if(!ownDesc){ - if(isObject(proto = getPrototypeOf(target))){ - return set(proto, propertyKey, V, receiver); - } - ownDesc = createDesc(0); - } - if(has(ownDesc, 'value')){ - if(ownDesc.writable === false || !isObject(receiver))return false; - existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); - return true; - } - return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); - } - - $export($export.S, 'Reflect', {set: set}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = __webpack_require__(0); + +$export($export.P, 'Array', { fill: __webpack_require__(86) }); + +__webpack_require__(34)('fill'); + + +/***/ }), /* 224 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.14 Reflect.setPrototypeOf(target, proto) - var $export = __webpack_require__(6) - , setProto = __webpack_require__(71); - - if(setProto)$export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto){ - setProto.check(target, proto); - try { - setProto.set(target, proto); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = __webpack_require__(0); +var $find = __webpack_require__(26)(5); +var KEY = 'find'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +__webpack_require__(34)(KEY); + + +/***/ }), /* 225 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = __webpack_require__(0); +var $find = __webpack_require__(26)(6); +var KEY = 'findIndex'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +__webpack_require__(34)(KEY); + + +/***/ }), +/* 226 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.3.3.1 / 15.9.4.4 Date.now() - var $export = __webpack_require__(6); +__webpack_require__(41)('Array'); - $export($export.S, 'Date', {now: function(){ return new Date().getTime(); }}); -/***/ }, -/* 226 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(14); - - $export($export.P + $export.F * __webpack_require__(5)(function(){ - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1; - }), 'Date', { - toJSON: function toJSON(key){ - var O = toObject(this) - , pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } - }); - -/***/ }, +/***/ }), /* 227 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() - var $export = __webpack_require__(6) - , fails = __webpack_require__(5) - , getTime = Date.prototype.getTime; - - var lz = function(num){ - return num > 9 ? num : '0' + num; - }; - - // PhantomJS / old WebKit has a broken implementations - $export($export.P + $export.F * (fails(function(){ - return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; - }) || !fails(function(){ - new Date(NaN).toISOString(); - })), 'Date', { - toISOString: function toISOString(){ - if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value'); - var d = this - , y = d.getUTCFullYear() - , m = d.getUTCMilliseconds() - , s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + - '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + - 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + - ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var inheritIfRequired = __webpack_require__(75); +var dP = __webpack_require__(6).f; +var gOPN = __webpack_require__(38).f; +var isRegExp = __webpack_require__(54); +var $flags = __webpack_require__(58); +var $RegExp = global.RegExp; +var Base = $RegExp; +var proto = $RegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; +// "new" creates a new object, old webkit buggy here +var CORRECT_NEW = new $RegExp(re1) !== re1; + +if (__webpack_require__(7) && (!CORRECT_NEW || __webpack_require__(4)(function () { + re2[__webpack_require__(5)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp; + var piRE = isRegExp(p); + var fiU = f === undefined; + return !tiRE && piRE && p.constructor === $RegExp && fiU ? p + : inheritIfRequired(CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) + , tiRE ? this : proto, $RegExp); + }; + var proxy = function (key) { + key in $RegExp || dP($RegExp, key, { + configurable: true, + get: function () { return Base[key]; }, + set: function (it) { Base[key] = it; } + }); + }; + for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + __webpack_require__(15)(global, 'RegExp', $RegExp); +} + +__webpack_require__(41)('RegExp'); + + +/***/ }), /* 228 */ -/***/ function(module, exports, __webpack_require__) { - - var DateProto = Date.prototype - , INVALID_DATE = 'Invalid Date' - , TO_STRING = 'toString' - , $toString = DateProto[TO_STRING] - , getTime = DateProto.getTime; - if(new Date(NaN) + '' != INVALID_DATE){ - __webpack_require__(16)(DateProto, TO_STRING, function toString(){ - var value = getTime.call(this); - return value === value ? $toString.call(this) : INVALID_DATE; - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +__webpack_require__(110); +var anObject = __webpack_require__(1); +var $flags = __webpack_require__(58); +var DESCRIPTORS = __webpack_require__(7); +var TO_STRING = 'toString'; +var $toString = /./[TO_STRING]; + +var define = function (fn) { + __webpack_require__(15)(RegExp.prototype, TO_STRING, fn, true); +}; + +// 21.2.5.14 RegExp.prototype.toString() +if (__webpack_require__(4)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { + define(function toString() { + var R = anObject(this); + return '/'.concat(R.source, '/', + 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); + }); +// FF44- RegExp#toString has a wrong name +} else if ($toString.name != TO_STRING) { + define(function toString() { + return $toString.call(this); + }); +} + + +/***/ }), /* 229 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var TO_PRIMITIVE = __webpack_require__(23)('toPrimitive') - , proto = Date.prototype; +// @@match logic +__webpack_require__(59)('match', 1, function (defined, MATCH, $match) { + // 21.1.3.11 String.prototype.match(regexp) + return [function match(regexp) { + 'use strict'; + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, $match]; +}); - if(!(TO_PRIMITIVE in proto))__webpack_require__(8)(proto, TO_PRIMITIVE, __webpack_require__(230)); -/***/ }, +/***/ }), /* 230 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// @@replace logic +__webpack_require__(59)('replace', 2, function (defined, REPLACE, $replace) { + // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) + return [function replace(searchValue, replaceValue) { + 'use strict'; + var O = defined(this); + var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined + ? fn.call(searchValue, O, replaceValue) + : $replace.call(String(O), searchValue, replaceValue); + }, $replace]; +}); + + +/***/ }), +/* 231 */ +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var anObject = __webpack_require__(10) - , toPrimitive = __webpack_require__(14) - , NUMBER = 'number'; +// @@search logic +__webpack_require__(59)('search', 1, function (defined, SEARCH, $search) { + // 21.1.3.15 String.prototype.search(regexp) + return [function search(regexp) { + 'use strict'; + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, $search]; +}); - module.exports = function(hint){ - if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint'); - return toPrimitive(anObject(this), hint != NUMBER); - }; -/***/ }, -/* 231 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $typed = __webpack_require__(232) - , buffer = __webpack_require__(233) - , anObject = __webpack_require__(10) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35) - , isObject = __webpack_require__(11) - , ArrayBuffer = __webpack_require__(2).ArrayBuffer - , speciesConstructor = __webpack_require__(199) - , $ArrayBuffer = buffer.ArrayBuffer - , $DataView = buffer.DataView - , $isView = $typed.ABV && ArrayBuffer.isView - , $slice = $ArrayBuffer.prototype.slice - , VIEW = $typed.VIEW - , ARRAY_BUFFER = 'ArrayBuffer'; - - $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer}); - - $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { - // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it){ - return $isView && $isView(it) || isObject(it) && VIEW in it; - } - }); - - $export($export.P + $export.U + $export.F * __webpack_require__(5)(function(){ - return !new $ArrayBuffer(2).slice(1, undefined).byteLength; - }), ARRAY_BUFFER, { - // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end){ - if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength - , first = toIndex(start, len) - , final = toIndex(end === undefined ? len : end, len) - , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)) - , viewS = new $DataView(this) - , viewT = new $DataView(result) - , index = 0; - while(first < final){ - viewT.setUint8(index++, viewS.getUint8(first++)); - } return result; - } - }); - - __webpack_require__(186)(ARRAY_BUFFER); - -/***/ }, +/***/ }), /* 232 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , hide = __webpack_require__(8) - , uid = __webpack_require__(17) - , TYPED = uid('typed_array') - , VIEW = uid('view') - , ABV = !!(global.ArrayBuffer && global.DataView) - , CONSTR = ABV - , i = 0, l = 9, Typed; - - var TypedArrayConstructors = ( - 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' - ).split(','); - - while(i < l){ - if(Typed = global[TypedArrayConstructors[i++]]){ - hide(Typed.prototype, TYPED, true); - hide(Typed.prototype, VIEW, true); - } else CONSTR = false; - } - - module.exports = { - ABV: ABV, - CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// @@split logic +__webpack_require__(59)('split', 2, function (defined, SPLIT, $split) { + 'use strict'; + var isRegExp = __webpack_require__(54); + var _split = $split; + var $push = [].push; + var $SPLIT = 'split'; + var LENGTH = 'length'; + var LAST_INDEX = 'lastIndex'; + if ( + 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || + 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || + 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || + '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || + '.'[$SPLIT](/()()/)[LENGTH] > 1 || + ''[$SPLIT](/.?/)[LENGTH] + ) { + var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group + // based on es5-shim implementation, need to rework it + $split = function (separator, limit) { + var string = String(this); + if (separator === undefined && limit === 0) return []; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) return _split.call(string, separator, limit); + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var separator2, match, lastIndex, lastLength, i; + // Doesn't need flags gy, but they don't hurt + if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); + while (match = separatorCopy.exec(string)) { + // `separatorCopy.lastIndex` is not reliable cross-browser + lastIndex = match.index + match[0][LENGTH]; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG + // eslint-disable-next-line no-loop-func + if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () { + for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined; + }); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); + lastLength = match[0][LENGTH]; + lastLastIndex = lastIndex; + if (output[LENGTH] >= splitLimit) break; + } + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + } + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; + }; + // Chakra, V8 + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + $split = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); + }; + } + // 21.1.3.17 String.prototype.split(separator, limit) + return [function split(separator, limit) { + var O = defined(this); + var fn = separator == undefined ? undefined : separator[SPLIT]; + return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); + }, $split]; +}); + + +/***/ }), /* 233 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , DESCRIPTORS = __webpack_require__(4) - , LIBRARY = __webpack_require__(26) - , $typed = __webpack_require__(232) - , hide = __webpack_require__(8) - , redefineAll = __webpack_require__(202) - , fails = __webpack_require__(5) - , anInstance = __webpack_require__(197) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , gOPN = __webpack_require__(48).f - , dP = __webpack_require__(9).f - , arrayFill = __webpack_require__(180) - , setToStringTag = __webpack_require__(22) - , ARRAY_BUFFER = 'ArrayBuffer' - , DATA_VIEW = 'DataView' - , PROTOTYPE = 'prototype' - , WRONG_LENGTH = 'Wrong length!' - , WRONG_INDEX = 'Wrong index!' - , $ArrayBuffer = global[ARRAY_BUFFER] - , $DataView = global[DATA_VIEW] - , Math = global.Math - , RangeError = global.RangeError - , Infinity = global.Infinity - , BaseBuffer = $ArrayBuffer - , abs = Math.abs - , pow = Math.pow - , floor = Math.floor - , log = Math.log - , LN2 = Math.LN2 - , BUFFER = 'buffer' - , BYTE_LENGTH = 'byteLength' - , BYTE_OFFSET = 'byteOffset' - , $BUFFER = DESCRIPTORS ? '_b' : BUFFER - , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH - , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; - - // IEEE754 conversions based on https://github.com/feross/ieee754 - var packIEEE754 = function(value, mLen, nBytes){ - var buffer = Array(nBytes) - , eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0 - , i = 0 - , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0 - , e, m, c; - value = abs(value) - if(value != value || value === Infinity){ - m = value != value ? 1 : 0; - e = eMax; - } else { - e = floor(log(value) / LN2); - if(value * (c = pow(2, -e)) < 1){ - e--; - c *= 2; - } - if(e + eBias >= 1){ - value += rt / c; - } else { - value += rt * pow(2, 1 - eBias); - } - if(value * c >= 2){ - e++; - c /= 2; - } - if(e + eBias >= eMax){ - m = 0; - e = eMax; - } else if(e + eBias >= 1){ - m = (value * c - 1) * pow(2, mLen); - e = e + eBias; - } else { - m = value * pow(2, eBias - 1) * pow(2, mLen); - e = 0; - } - } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); - e = e << mLen | m; - eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); - buffer[--i] |= s * 128; - return buffer; - }; - var unpackIEEE754 = function(buffer, mLen, nBytes){ - var eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , nBits = eLen - 7 - , i = nBytes - 1 - , s = buffer[i--] - , e = s & 127 - , m; - s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if(e === 0){ - e = 1 - eBias; - } else if(e === eMax){ - return m ? NaN : s ? -Infinity : Infinity; - } else { - m = m + pow(2, mLen); - e = e - eBias; - } return (s ? -1 : 1) * m * pow(2, e - mLen); - }; - - var unpackI32 = function(bytes){ - return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; - }; - var packI8 = function(it){ - return [it & 0xff]; - }; - var packI16 = function(it){ - return [it & 0xff, it >> 8 & 0xff]; - }; - var packI32 = function(it){ - return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; - }; - var packF64 = function(it){ - return packIEEE754(it, 52, 8); - }; - var packF32 = function(it){ - return packIEEE754(it, 23, 4); - }; - - var addGetter = function(C, key, internal){ - dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }}); - }; - - var get = function(view, bytes, index, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = store.slice(start, start + bytes); - return isLittleEndian ? pack : pack.reverse(); - }; - var set = function(view, bytes, index, conversion, value, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; - }; - - var validateArrayBufferArguments = function(that, length){ - anInstance(that, $ArrayBuffer, ARRAY_BUFFER); - var numberLength = +length - , byteLength = toLength(numberLength); - if(numberLength != byteLength)throw RangeError(WRONG_LENGTH); - return byteLength; - }; - - if(!$typed.ABV){ - $ArrayBuffer = function ArrayBuffer(length){ - var byteLength = validateArrayBufferArguments(this, length); - this._b = arrayFill.call(Array(byteLength), 0); - this[$LENGTH] = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength){ - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH] - , offset = toInteger(byteOffset); - if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH); - this[$BUFFER] = buffer; - this[$OFFSET] = offset; - this[$LENGTH] = byteLength; - }; - - if(DESCRIPTORS){ - addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); - addGetter($DataView, BUFFER, '_b'); - addGetter($DataView, BYTE_LENGTH, '_l'); - addGetter($DataView, BYTE_OFFSET, '_o'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset){ - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset){ - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])); - }, - getUint32: function getUint32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); - }, - getFloat64: function getFloat64(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); - }, - setInt8: function setInt8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setUint8: function setUint8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setInt16: function setInt16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setUint16: function setUint16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setInt32: function setInt32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setUint32: function setUint32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packF32, value, arguments[2]); - }, - setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){ - set(this, 8, byteOffset, packF64, value, arguments[2]); - } - }); - } else { - if(!fails(function(){ - new $ArrayBuffer; // eslint-disable-line no-new - }) || !fails(function(){ - new $ArrayBuffer(.5); // eslint-disable-line no-new - })){ - $ArrayBuffer = function ArrayBuffer(length){ - return new BaseBuffer(validateArrayBufferArguments(this, length)); - }; - var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){ - if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]); - }; - if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)) - , $setInt8 = $DataView[PROTOTYPE].setInt8; - view.setInt8(0, 2147483648); - view.setInt8(1, 2147483649); - if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - } - }, true); - } - setToStringTag($ArrayBuffer, ARRAY_BUFFER); - setToStringTag($DataView, DATA_VIEW); - hide($DataView[PROTOTYPE], $typed.VIEW, true); - exports[ARRAY_BUFFER] = $ArrayBuffer; - exports[DATA_VIEW] = $DataView; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(33); +var global = __webpack_require__(2); +var ctx = __webpack_require__(19); +var classof = __webpack_require__(39); +var $export = __webpack_require__(0); +var isObject = __webpack_require__(3); +var aFunction = __webpack_require__(10); +var anInstance = __webpack_require__(42); +var forOf = __webpack_require__(35); +var speciesConstructor = __webpack_require__(60); +var task = __webpack_require__(89).set; +var microtask = __webpack_require__(90)(); +var newPromiseCapabilityModule = __webpack_require__(91); +var perform = __webpack_require__(111); +var userAgent = __webpack_require__(61); +var promiseResolve = __webpack_require__(112); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[__webpack_require__(5)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = __webpack_require__(43)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +__webpack_require__(44)($Promise, PROMISE); +__webpack_require__(41)(PROMISE); +Wrapper = __webpack_require__(13)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(57)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + + +/***/ }), /* 234 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); - $export($export.G + $export.W + $export.F * !__webpack_require__(232).ABV, { - DataView: __webpack_require__(233).DataView - }); +"use strict"; -/***/ }, -/* 235 */ -/***/ function(module, exports, __webpack_require__) { +var weak = __webpack_require__(117); +var validate = __webpack_require__(46); +var WEAK_SET = 'WeakSet'; - __webpack_require__(236)('Int8', 1, function(init){ - return function Int8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 23.4 WeakSet Objects +__webpack_require__(62)(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); + } +}, weak, false, true); -/***/ }, + +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var rApply = (__webpack_require__(2).Reflect || {}).apply; +var fApply = Function.apply; +// MS Edge argumentsList argument is optional +$export($export.S + $export.F * !__webpack_require__(4)(function () { + rApply(function () { /* empty */ }); +}), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } +}); + + +/***/ }), /* 236 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - if(__webpack_require__(4)){ - var LIBRARY = __webpack_require__(26) - , global = __webpack_require__(2) - , fails = __webpack_require__(5) - , $export = __webpack_require__(6) - , $typed = __webpack_require__(232) - , $buffer = __webpack_require__(233) - , ctx = __webpack_require__(18) - , anInstance = __webpack_require__(197) - , propertyDesc = __webpack_require__(15) - , hide = __webpack_require__(8) - , redefineAll = __webpack_require__(202) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , toIndex = __webpack_require__(37) - , toPrimitive = __webpack_require__(14) - , has = __webpack_require__(3) - , same = __webpack_require__(69) - , classof = __webpack_require__(73) - , isObject = __webpack_require__(11) - , toObject = __webpack_require__(56) - , isArrayIter = __webpack_require__(154) - , create = __webpack_require__(44) - , getPrototypeOf = __webpack_require__(57) - , gOPN = __webpack_require__(48).f - , getIterFn = __webpack_require__(156) - , uid = __webpack_require__(17) - , wks = __webpack_require__(23) - , createArrayMethod = __webpack_require__(164) - , createArrayIncludes = __webpack_require__(34) - , speciesConstructor = __webpack_require__(199) - , ArrayIterators = __webpack_require__(183) - , Iterators = __webpack_require__(135) - , $iterDetect = __webpack_require__(157) - , setSpecies = __webpack_require__(186) - , arrayFill = __webpack_require__(180) - , arrayCopyWithin = __webpack_require__(177) - , $DP = __webpack_require__(9) - , $GOPD = __webpack_require__(49) - , dP = $DP.f - , gOPD = $GOPD.f - , RangeError = global.RangeError - , TypeError = global.TypeError - , Uint8Array = global.Uint8Array - , ARRAY_BUFFER = 'ArrayBuffer' - , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER - , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT' - , PROTOTYPE = 'prototype' - , ArrayProto = Array[PROTOTYPE] - , $ArrayBuffer = $buffer.ArrayBuffer - , $DataView = $buffer.DataView - , arrayForEach = createArrayMethod(0) - , arrayFilter = createArrayMethod(2) - , arraySome = createArrayMethod(3) - , arrayEvery = createArrayMethod(4) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , arrayIncludes = createArrayIncludes(true) - , arrayIndexOf = createArrayIncludes(false) - , arrayValues = ArrayIterators.values - , arrayKeys = ArrayIterators.keys - , arrayEntries = ArrayIterators.entries - , arrayLastIndexOf = ArrayProto.lastIndexOf - , arrayReduce = ArrayProto.reduce - , arrayReduceRight = ArrayProto.reduceRight - , arrayJoin = ArrayProto.join - , arraySort = ArrayProto.sort - , arraySlice = ArrayProto.slice - , arrayToString = ArrayProto.toString - , arrayToLocaleString = ArrayProto.toLocaleString - , ITERATOR = wks('iterator') - , TAG = wks('toStringTag') - , TYPED_CONSTRUCTOR = uid('typed_constructor') - , DEF_CONSTRUCTOR = uid('def_constructor') - , ALL_CONSTRUCTORS = $typed.CONSTR - , TYPED_ARRAY = $typed.TYPED - , VIEW = $typed.VIEW - , WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function(O, length){ - return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); - }); - - var LITTLE_ENDIAN = fails(function(){ - return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; - }); - - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){ - new Uint8Array(1).set({}); - }); - - var strictToLength = function(it, SAME){ - if(it === undefined)throw TypeError(WRONG_LENGTH); - var number = +it - , length = toLength(it); - if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH); - return length; - }; - - var toOffset = function(it, BYTES){ - var offset = toInteger(it); - if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!'); - return offset; - }; - - var validate = function(it){ - if(isObject(it) && TYPED_ARRAY in it)return it; - throw TypeError(it + ' is not a typed array!'); - }; - - var allocate = function(C, length){ - if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){ - throw TypeError('It is not a typed array constructor!'); - } return new C(length); - }; - - var speciesFromList = function(O, list){ - return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); - }; - - var fromList = function(C, list){ - var index = 0 - , length = list.length - , result = allocate(C, length); - while(length > index)result[index] = list[index++]; - return result; - }; - - var addGetter = function(it, key, internal){ - dP(it, key, {get: function(){ return this._d[internal]; }}); - }; - - var $from = function from(source /*, mapfn, thisArg */){ - var O = toObject(source) - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , iterFn = getIterFn(O) - , i, length, values, result, step, iterator; - if(iterFn != undefined && !isArrayIter(iterFn)){ - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){ - values.push(step.value); - } O = values; - } - if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){ - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; - }; - - var $of = function of(/*...items*/){ - var index = 0 - , length = arguments.length - , result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; - return result; - }; - - // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); }); - - var $toLocaleString = function toLocaleString(){ - return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); - }; - - var proto = { - copyWithin: function copyWithin(target, start /*, end */){ - return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }, - every: function every(callbackfn /*, thisArg */){ - return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars - return arrayFill.apply(validate(this), arguments); - }, - filter: function filter(callbackfn /*, thisArg */){ - return speciesFromList(this, arrayFilter(validate(this), callbackfn, - arguments.length > 1 ? arguments[1] : undefined)); - }, - find: function find(predicate /*, thisArg */){ - return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - findIndex: function findIndex(predicate /*, thisArg */){ - return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - forEach: function forEach(callbackfn /*, thisArg */){ - arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - indexOf: function indexOf(searchElement /*, fromIndex */){ - return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - includes: function includes(searchElement /*, fromIndex */){ - return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - join: function join(separator){ // eslint-disable-line no-unused-vars - return arrayJoin.apply(validate(this), arguments); - }, - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars - return arrayLastIndexOf.apply(validate(this), arguments); - }, - map: function map(mapfn /*, thisArg */){ - return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); - }, - reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduce.apply(validate(this), arguments); - }, - reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduceRight.apply(validate(this), arguments); - }, - reverse: function reverse(){ - var that = this - , length = validate(that).length - , middle = Math.floor(length / 2) - , index = 0 - , value; - while(index < middle){ - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; - }, - some: function some(callbackfn /*, thisArg */){ - return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - sort: function sort(comparefn){ - return arraySort.call(validate(this), comparefn); - }, - subarray: function subarray(begin, end){ - var O = validate(this) - , length = O.length - , $begin = toIndex(begin, length); - return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( - O.buffer, - O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toIndex(end, length)) - $begin) - ); - } - }; - - var $slice = function slice(start, end){ - return speciesFromList(this, arraySlice.call(validate(this), start, end)); - }; - - var $set = function set(arrayLike /*, offset */){ - validate(this); - var offset = toOffset(arguments[1], 1) - , length = this.length - , src = toObject(arrayLike) - , len = toLength(src.length) - , index = 0; - if(len + offset > length)throw RangeError(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; - }; - - var $iterators = { - entries: function entries(){ - return arrayEntries.call(validate(this)); - }, - keys: function keys(){ - return arrayKeys.call(validate(this)); - }, - values: function values(){ - return arrayValues.call(validate(this)); - } - }; - - var isTAIndex = function(target, key){ - return isObject(target) - && target[TYPED_ARRAY] - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); - }; - var $getDesc = function getOwnPropertyDescriptor(target, key){ - return isTAIndex(target, key = toPrimitive(key, true)) - ? propertyDesc(2, target[key]) - : gOPD(target, key); - }; - var $setDesc = function defineProperty(target, key, desc){ - if(isTAIndex(target, key = toPrimitive(key, true)) - && isObject(desc) - && has(desc, 'value') - && !has(desc, 'get') - && !has(desc, 'set') - // TODO: add validation descriptor w/o calling accessors - && !desc.configurable - && (!has(desc, 'writable') || desc.writable) - && (!has(desc, 'enumerable') || desc.enumerable) - ){ - target[key] = desc.value; - return target; - } else return dP(target, key, desc); - }; - - if(!ALL_CONSTRUCTORS){ - $GOPD.f = $getDesc; - $DP.f = $setDesc; - } - - $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { - getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc - }); - - if(fails(function(){ arrayToString.call({}); })){ - arrayToString = arrayToLocaleString = function toString(){ - return arrayJoin.call(this); - } - } - - var $TypedArrayPrototype$ = redefineAll({}, proto); - redefineAll($TypedArrayPrototype$, $iterators); - hide($TypedArrayPrototype$, ITERATOR, $iterators.values); - redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function(){ /* noop */ }, - toString: arrayToString, - toLocaleString: $toLocaleString - }); - addGetter($TypedArrayPrototype$, 'buffer', 'b'); - addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); - addGetter($TypedArrayPrototype$, 'byteLength', 'l'); - addGetter($TypedArrayPrototype$, 'length', 'e'); - dP($TypedArrayPrototype$, TAG, { - get: function(){ return this[TYPED_ARRAY]; } - }); - - module.exports = function(KEY, BYTES, wrapper, CLAMPED){ - CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array' - , ISNT_UINT8 = NAME != 'Uint8Array' - , GETTER = 'get' + KEY - , SETTER = 'set' + KEY - , TypedArray = global[NAME] - , Base = TypedArray || {} - , TAC = TypedArray && getPrototypeOf(TypedArray) - , FORCED = !TypedArray || !$typed.ABV - , O = {} - , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index){ - var data = that._d; - return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); - }; - var setter = function(that, index, value){ - var data = that._d; - if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; - data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); - }; - var addElement = function(that, index){ - dP(that, index, { - get: function(){ - return getter(this, index); - }, - set: function(value){ - return setter(this, index, value); - }, - enumerable: true - }); - }; - if(FORCED){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME, '_d'); - var index = 0 - , offset = 0 - , buffer, byteLength, length, klass; - if(!isObject(data)){ - length = strictToLength(data, true) - byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - buffer = data; - offset = toOffset($offset, BYTES); - var $len = data.byteLength; - if($length === undefined){ - if($len % BYTES)throw RangeError(WRONG_LENGTH); - byteLength = $len - offset; - if(byteLength < 0)throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if(TYPED_ARRAY in data){ - return fromList(TypedArray, data); - } else { - return $from.call(TypedArray, data); - } - hide(that, '_d', { - b: buffer, - o: offset, - l: byteLength, - e: length, - v: new $DataView(buffer) - }); - while(index < length)addElement(that, index++); - }); - TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); - hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if(!$iterDetect(function(iter){ - // V8 works with iterators, but fails in many other cases - // https://code.google.com/p/v8/issues/detail?id=4552 - new TypedArray(null); // eslint-disable-line no-new - new TypedArray(iter); // eslint-disable-line no-new - }, true)){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME); - var klass; - // `ws` module bug, temporarily remove validation length for Uint8Array - // https://github.com/websockets/ws/pull/645 - if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8)); - if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - return $length !== undefined - ? new Base(data, toOffset($offset, BYTES), $length) - : $offset !== undefined - ? new Base(data, toOffset($offset, BYTES)) - : new Base(data); - } - if(TYPED_ARRAY in data)return fromList(TypedArray, data); - return $from.call(TypedArray, data); - }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){ - if(!(key in TypedArray))hide(TypedArray, key, Base[key]); - }); - TypedArray[PROTOTYPE] = TypedArrayPrototype; - if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray; - } - var $nativeIterator = TypedArrayPrototype[ITERATOR] - , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined) - , $iterator = $iterators.values; - hide(TypedArray, TYPED_CONSTRUCTOR, true); - hide(TypedArrayPrototype, TYPED_ARRAY, NAME); - hide(TypedArrayPrototype, VIEW, true); - hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - - if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){ - dP(TypedArrayPrototype, TAG, { - get: function(){ return NAME; } - }); - } - - O[NAME] = TypedArray; - - $export($export.G + $export.W + $export.F * (TypedArray != Base), O); - - $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES, - from: $from, - of: $of - }); - - if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); - - $export($export.P, NAME, proto); - - setSpecies(NAME); - - $export($export.P + $export.F * FORCED_SET, NAME, {set: $set}); - - $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - - $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString}); - - $export($export.P + $export.F * fails(function(){ - new TypedArray(1).slice(); - }), NAME, {slice: $slice}); - - $export($export.P + $export.F * (fails(function(){ - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString() - }) || !fails(function(){ - TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, {toLocaleString: $toLocaleString}); - - Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator); - }; - } else module.exports = function(){ /* empty */ }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $export = __webpack_require__(0); +var create = __webpack_require__(28); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var fails = __webpack_require__(4); +var bind = __webpack_require__(100); +var rConstruct = (__webpack_require__(2).Reflect || {}).construct; + +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); +}); + +$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), /* 237 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(236)('Uint8', 1, function(init){ - return function Uint8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = __webpack_require__(6); +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var toPrimitive = __webpack_require__(22); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * __webpack_require__(4)(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), /* 238 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Uint8', 1, function(init){ - return function Uint8ClampedArray(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }, true); +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = __webpack_require__(0); +var gOPD = __webpack_require__(16).f; +var anObject = __webpack_require__(1); -/***/ }, -/* 239 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); - __webpack_require__(236)('Int16', 2, function(init){ - return function Int16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 26.1.5 Reflect.enumerate(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var Enumerate = function (iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); +}; +__webpack_require__(56)(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } +}); + + +/***/ }), /* 240 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var gOPD = __webpack_require__(16); +var getPrototypeOf = __webpack_require__(17); +var has = __webpack_require__(12); +var $export = __webpack_require__(0); +var isObject = __webpack_require__(3); +var anObject = __webpack_require__(1); + +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', { get: get }); + + +/***/ }), +/* 241 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Uint16', 2, function(init){ - return function Uint16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var gOPD = __webpack_require__(16); +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); -/***/ }, -/* 241 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } +}); - __webpack_require__(236)('Int32', 4, function(init){ - return function Int32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), /* 242 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Uint32', 4, function(init){ - return function Uint32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = __webpack_require__(0); +var getProto = __webpack_require__(17); +var anObject = __webpack_require__(1); -/***/ }, -/* 243 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } +}); - __webpack_require__(236)('Float32', 4, function(init){ - return function Float32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, -/* 244 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 243 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Float64', 8, function(init){ - return function Float64Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.9 Reflect.has(target, propertyKey) +var $export = __webpack_require__(0); -/***/ }, -/* 245 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); - 'use strict'; - // https://github.com/tc39/Array.prototype.includes - var $export = __webpack_require__(6) - , $includes = __webpack_require__(34)(true); - $export($export.P, 'Array', { - includes: function includes(el /*, fromIndex = 0 */){ - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } - }); +/***/ }), +/* 244 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(178)('includes'); +// 26.1.10 Reflect.isExtensible(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var $isExtensible = Object.isExtensible; -/***/ }, -/* 246 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); - 'use strict'; - // https://github.com/mathiasbynens/String.prototype.at - var $export = __webpack_require__(6) - , $at = __webpack_require__(125)(true); - $export($export.P, 'String', { - at: function at(pos){ - return $at(this, pos); - } - }); +/***/ }), +/* 245 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 247 */ -/***/ function(module, exports, __webpack_require__) { +// 26.1.11 Reflect.ownKeys(target) +var $export = __webpack_require__(0); - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(6) - , $pad = __webpack_require__(248); +$export($export.S, 'Reflect', { ownKeys: __webpack_require__(92) }); - $export($export.P, 'String', { - padStart: function padStart(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); - } - }); -/***/ }, +/***/ }), +/* 246 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.12 Reflect.preventExtensions(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), +/* 247 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var dP = __webpack_require__(6); +var gOPD = __webpack_require__(16); +var getPrototypeOf = __webpack_require__(17); +var has = __webpack_require__(12); +var $export = __webpack_require__(0); +var createDesc = __webpack_require__(31); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); + +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', { set: set }); + + +/***/ }), /* 248 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-string-pad-start-end - var toLength = __webpack_require__(35) - , repeat = __webpack_require__(85) - , defined = __webpack_require__(33); - - module.exports = function(that, maxLength, fillString, left){ - var S = String(defined(that)) - , stringLength = S.length - , fillStr = fillString === undefined ? ' ' : String(fillString) - , intMaxLength = toLength(maxLength); - if(intMaxLength <= stringLength || fillStr == '')return S; - var fillLen = intMaxLength - stringLength - , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); - return left ? stringFiller + S : S + stringFiller; - }; - - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = __webpack_require__(0); +var setProto = __webpack_require__(73); + +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), /* 249 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.3.3.1 / 15.9.4.4 Date.now() +var $export = __webpack_require__(0); - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(6) - , $pad = __webpack_require__(248); +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); - $export($export.P, 'String', { - padEnd: function padEnd(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); - } - }); -/***/ }, +/***/ }), /* 250 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(81)('trimLeft', function($trim){ - return function trimLeft(){ - return $trim(this, 1); - }; - }, 'trimStart'); +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(22); -/***/ }, +$export($export.P + $export.F * __webpack_require__(4)(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), /* 251 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var $export = __webpack_require__(0); +var toISOString = __webpack_require__(252); - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(81)('trimRight', function($trim){ - return function trimRight(){ - return $trim(this, 2); - }; - }, 'trimEnd'); +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); -/***/ }, + +/***/ }), /* 252 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://tc39.github.io/String.prototype.matchAll/ - var $export = __webpack_require__(6) - , defined = __webpack_require__(33) - , toLength = __webpack_require__(35) - , isRegExp = __webpack_require__(128) - , getFlags = __webpack_require__(188) - , RegExpProto = RegExp.prototype; - - var $RegExpStringIterator = function(regexp, string){ - this._r = regexp; - this._s = string; - }; - - __webpack_require__(136)($RegExpStringIterator, 'RegExp String', function next(){ - var match = this._r.exec(this._s); - return {value: match, done: match === null}; - }); - - $export($export.P, 'String', { - matchAll: function matchAll(regexp){ - defined(this); - if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); - var S = String(this) - , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) - , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); - rx.lastIndex = toLength(regexp.lastIndex); - return new $RegExpStringIterator(rx, S); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = __webpack_require__(4); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; + + +/***/ }), /* 253 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var DateProto = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var $toString = DateProto[TO_STRING]; +var getTime = DateProto.getTime; +if (new Date(NaN) + '' != INVALID_DATE) { + __webpack_require__(15)(DateProto, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? $toString.call(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 254 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(25)('asyncIterator'); +var TO_PRIMITIVE = __webpack_require__(5)('toPrimitive'); +var proto = Date.prototype; -/***/ }, -/* 254 */ -/***/ function(module, exports, __webpack_require__) { +if (!(TO_PRIMITIVE in proto)) __webpack_require__(14)(proto, TO_PRIMITIVE, __webpack_require__(255)); - __webpack_require__(25)('observable'); -/***/ }, +/***/ }), /* 255 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-object-getownpropertydescriptors - var $export = __webpack_require__(6) - , ownKeys = __webpack_require__(221) - , toIObject = __webpack_require__(30) - , gOPD = __webpack_require__(49) - , createProperty = __webpack_require__(155); - - $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ - var O = toIObject(object) - , getDesc = gOPD.f - , keys = ownKeys(O) - , result = {} - , i = 0 - , key; - while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); - return result; - } - }); - -/***/ }, -/* 256 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(6) - , $values = __webpack_require__(257)(false); +var anObject = __webpack_require__(1); +var toPrimitive = __webpack_require__(22); +var NUMBER = 'number'; - $export($export.S, 'Object', { - values: function values(it){ - return $values(it); - } - }); +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); + return toPrimitive(anObject(this), hint != NUMBER); +}; -/***/ }, + +/***/ }), +/* 256 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $typed = __webpack_require__(63); +var buffer = __webpack_require__(93); +var anObject = __webpack_require__(1); +var toAbsoluteIndex = __webpack_require__(37); +var toLength = __webpack_require__(8); +var isObject = __webpack_require__(3); +var ArrayBuffer = __webpack_require__(2).ArrayBuffer; +var speciesConstructor = __webpack_require__(60); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; + +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + +$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } +}); + +$export($export.P + $export.U + $export.F * __webpack_require__(4)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; +}), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { + viewT.setUint8(index++, viewS.getUint8(first++)); + } return result; + } +}); + +__webpack_require__(41)(ARRAY_BUFFER); + + +/***/ }), /* 257 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(28) - , toIObject = __webpack_require__(30) - , isEnum = __webpack_require__(42).f; - module.exports = function(isEntries){ - return function(it){ - var O = toIObject(it) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , result = [] - , key; - while(length > i)if(isEnum.call(O, key = keys[i++])){ - result.push(isEntries ? [key, O[key]] : O[key]); - } return result; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +$export($export.G + $export.W + $export.F * !__webpack_require__(63).ABV, { + DataView: __webpack_require__(93).DataView +}); + + +/***/ }), /* 258 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(6) - , $entries = __webpack_require__(257)(true); +__webpack_require__(29)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - $export($export.S, 'Object', { - entries: function entries(it){ - return $entries(it); - } - }); -/***/ }, +/***/ }), /* 259 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , aFunction = __webpack_require__(19) - , $defineProperty = __webpack_require__(9); - - // B.2.2.2 Object.prototype.__defineGetter__(P, getter) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __defineGetter__: function __defineGetter__(P, getter){ - $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(29)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 260 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // Forced replacement prototype accessors methods - module.exports = __webpack_require__(26)|| !__webpack_require__(5)(function(){ - var K = Math.random(); - // In FF throws only define methods - __defineSetter__.call(null, K, function(){ /* empty */}); - delete __webpack_require__(2)[K]; - }); +__webpack_require__(29)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); -/***/ }, + +/***/ }), /* 261 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , aFunction = __webpack_require__(19) - , $defineProperty = __webpack_require__(9); - - // B.2.2.3 Object.prototype.__defineSetter__(P, setter) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __defineSetter__: function __defineSetter__(P, setter){ - $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(29)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 262 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(14) - , getPrototypeOf = __webpack_require__(57) - , getOwnPropertyDescriptor = __webpack_require__(49).f; - - // B.2.2.4 Object.prototype.__lookupGetter__(P) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __lookupGetter__: function __lookupGetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.get; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(29)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 263 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(14) - , getPrototypeOf = __webpack_require__(57) - , getOwnPropertyDescriptor = __webpack_require__(49).f; - - // B.2.2.5 Object.prototype.__lookupSetter__(P) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __lookupSetter__: function __lookupSetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.set; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(29)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 264 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(6); +__webpack_require__(29)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - $export($export.P + $export.R, 'Map', {toJSON: __webpack_require__(265)('Map')}); -/***/ }, +/***/ }), /* 265 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var classof = __webpack_require__(73) - , from = __webpack_require__(266); - module.exports = function(NAME){ - return function toJSON(){ - if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); - return from(this); - }; - }; - -/***/ }, -/* 266 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var forOf = __webpack_require__(198); +__webpack_require__(29)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - module.exports = function(iter, ITERATOR){ - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; - }; + +/***/ }), +/* 266 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(29)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); -/***/ }, +/***/ }), /* 267 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(6); +"use strict"; - $export($export.P + $export.R, 'Set', {toJSON: __webpack_require__(265)('Set')}); +// https://github.com/tc39/Array.prototype.includes +var $export = __webpack_require__(0); +var $includes = __webpack_require__(51)(true); -/***/ }, -/* 268 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.P, 'Array', { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); - // https://github.com/ljharb/proposal-global - var $export = __webpack_require__(6); +__webpack_require__(34)('includes'); - $export($export.S, 'System', {global: __webpack_require__(2)}); -/***/ }, +/***/ }), +/* 268 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap +var $export = __webpack_require__(0); +var flattenIntoArray = __webpack_require__(119); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(8); +var aFunction = __webpack_require__(10); +var arraySpeciesCreate = __webpack_require__(85); + +$export($export.P, 'Array', { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen, A; + aFunction(callbackfn); + sourceLen = toLength(O.length); + A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); + return A; + } +}); + +__webpack_require__(34)('flatMap'); + + +/***/ }), /* 269 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://github.com/ljharb/proposal-is-error - var $export = __webpack_require__(6) - , cof = __webpack_require__(32); +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten +var $export = __webpack_require__(0); +var flattenIntoArray = __webpack_require__(119); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(8); +var toInteger = __webpack_require__(24); +var arraySpeciesCreate = __webpack_require__(85); - $export($export.S, 'Error', { - isError: function isError(it){ - return cof(it) === 'Error'; - } - }); +$export($export.P, 'Array', { + flatten: function flatten(/* depthArg = 1 */) { + var depthArg = arguments[0]; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); -/***/ }, +__webpack_require__(34)('flatten'); + + +/***/ }), /* 270 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); +// https://github.com/mathiasbynens/String.prototype.at +var $export = __webpack_require__(0); +var $at = __webpack_require__(80)(true); - $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } - }); +$export($export.P, 'String', { + at: function at(pos) { + return $at(this, pos); + } +}); -/***/ }, + +/***/ }), /* 271 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-string-pad-start-end +var $export = __webpack_require__(0); +var $pad = __webpack_require__(120); +var userAgent = __webpack_require__(61); - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); - $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } - }); -/***/ }, +/***/ }), /* 272 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - imulh: function imulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >> 16 - , v1 = $v >> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-string-pad-start-end +var $export = __webpack_require__(0); +var $pad = __webpack_require__(120); +var userAgent = __webpack_require__(61); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); + + +/***/ }), /* 273 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - umulh: function umulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >>> 16 - , v1 = $v >>> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +__webpack_require__(45)('trimLeft', function ($trim) { + return function trimLeft() { + return $trim(this, 1); + }; +}, 'trimStart'); + + +/***/ }), /* 274 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +"use strict"; - metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); - }}); +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +__webpack_require__(45)('trimRight', function ($trim) { + return function trimRight() { + return $trim(this, 2); + }; +}, 'trimEnd'); -/***/ }, + +/***/ }), /* 275 */ -/***/ function(module, exports, __webpack_require__) { - - var Map = __webpack_require__(203) - , $export = __webpack_require__(6) - , shared = __webpack_require__(21)('metadata') - , store = shared.store || (shared.store = new (__webpack_require__(207))); - - var getOrCreateMetadataMap = function(target, targetKey, create){ - var targetMetadata = store.get(target); - if(!targetMetadata){ - if(!create)return undefined; - store.set(target, targetMetadata = new Map); - } - var keyMetadata = targetMetadata.get(targetKey); - if(!keyMetadata){ - if(!create)return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map); - } return keyMetadata; - }; - var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); - }; - var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); - }; - var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); - }; - var ordinaryOwnMetadataKeys = function(target, targetKey){ - var metadataMap = getOrCreateMetadataMap(target, targetKey, false) - , keys = []; - if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); - return keys; - }; - var toMetaKey = function(it){ - return it === undefined || typeof it == 'symbol' ? it : String(it); - }; - var exp = function(O){ - $export($export.S, 'Reflect', O); - }; - - module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/String.prototype.matchAll/ +var $export = __webpack_require__(0); +var defined = __webpack_require__(23); +var toLength = __webpack_require__(8); +var isRegExp = __webpack_require__(54); +var getFlags = __webpack_require__(58); +var RegExpProto = RegExp.prototype; + +var $RegExpStringIterator = function (regexp, string) { + this._r = regexp; + this._s = string; +}; + +__webpack_require__(56)($RegExpStringIterator, 'RegExp String', function next() { + var match = this._r.exec(this._s); + return { value: match, done: match === null }; +}); + +$export($export.P, 'String', { + matchAll: function matchAll(regexp) { + defined(this); + if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); + var S = String(this); + var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); + var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + rx.lastIndex = toLength(regexp.lastIndex); + return new $RegExpStringIterator(rx, S); + } +}); + + +/***/ }), /* 276 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , toMetaKey = metadata.key - , getOrCreateMetadataMap = metadata.map - , store = metadata.store; - - metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) - , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; - if(metadataMap.size)return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(68)('asyncIterator'); + + +/***/ }), /* 277 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , getPrototypeOf = __webpack_require__(57) - , ordinaryHasOwnMetadata = metadata.has - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; - - var ordinaryGetMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; - }; - - metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(68)('observable'); + + +/***/ }), /* 278 */ -/***/ function(module, exports, __webpack_require__) { - - var Set = __webpack_require__(206) - , from = __webpack_require__(266) - , metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , getPrototypeOf = __webpack_require__(57) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; - - var ordinaryMetadataKeys = function(O, P){ - var oKeys = ordinaryOwnMetadataKeys(O, P) - , parent = getPrototypeOf(O); - if(parent === null)return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; - }; - - metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-getownpropertydescriptors +var $export = __webpack_require__(0); +var ownKeys = __webpack_require__(92); +var toIObject = __webpack_require__(11); +var gOPD = __webpack_require__(16); +var createProperty = __webpack_require__(84); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } + return result; + } +}); + + +/***/ }), /* 279 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__(0); +var $values = __webpack_require__(121)(false); - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); - metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); -/***/ }, +/***/ }), /* 280 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__(0); +var $entries = __webpack_require__(121)(true); - metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); +$export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } +}); -/***/ }, + +/***/ }), /* 281 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , getPrototypeOf = __webpack_require__(57) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; - - var ordinaryHasMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; - }; - - metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var aFunction = __webpack_require__(10); +var $defineProperty = __webpack_require__(6); + +// B.2.2.2 Object.prototype.__defineGetter__(P, getter) +__webpack_require__(7) && $export($export.P + __webpack_require__(64), 'Object', { + __defineGetter__: function __defineGetter__(P, getter) { + $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); + } +}); + + +/***/ }), /* 282 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var aFunction = __webpack_require__(10); +var $defineProperty = __webpack_require__(6); - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +// B.2.2.3 Object.prototype.__defineSetter__(P, setter) +__webpack_require__(7) && $export($export.P + __webpack_require__(64), 'Object', { + __defineSetter__: function __defineSetter__(P, setter) { + $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); + } +}); - metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); -/***/ }, +/***/ }), /* 283 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , aFunction = __webpack_require__(19) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; - - metadata.exp({metadata: function metadata(metadataKey, metadataValue){ - return function decorator(target, targetKey){ - ordinaryDefineOwnMetadata( - metadataKey, metadataValue, - (targetKey !== undefined ? anObject : aFunction)(target), - toMetaKey(targetKey) - ); - }; - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(22); +var getPrototypeOf = __webpack_require__(17); +var getOwnPropertyDescriptor = __webpack_require__(16).f; + +// B.2.2.4 Object.prototype.__lookupGetter__(P) +__webpack_require__(7) && $export($export.P + __webpack_require__(64), 'Object', { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.get; + } while (O = getPrototypeOf(O)); + } +}); + + +/***/ }), /* 284 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask - var $export = __webpack_require__(6) - , microtask = __webpack_require__(201)() - , process = __webpack_require__(2).process - , isNode = __webpack_require__(32)(process) == 'process'; - - $export($export.G, { - asap: function asap(fn){ - var domain = isNode && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(22); +var getPrototypeOf = __webpack_require__(17); +var getOwnPropertyDescriptor = __webpack_require__(16).f; + +// B.2.2.5 Object.prototype.__lookupSetter__(P) +__webpack_require__(7) && $export($export.P + __webpack_require__(64), 'Object', { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.set; + } while (O = getPrototypeOf(O)); + } +}); + + +/***/ }), /* 285 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/zenparsing/es-observable - var $export = __webpack_require__(6) - , global = __webpack_require__(2) - , core = __webpack_require__(7) - , microtask = __webpack_require__(201)() - , OBSERVABLE = __webpack_require__(23)('observable') - , aFunction = __webpack_require__(19) - , anObject = __webpack_require__(10) - , anInstance = __webpack_require__(197) - , redefineAll = __webpack_require__(202) - , hide = __webpack_require__(8) - , forOf = __webpack_require__(198) - , RETURN = forOf.RETURN; - - var getMethod = function(fn){ - return fn == null ? undefined : aFunction(fn); - }; - - var cleanupSubscription = function(subscription){ - var cleanup = subscription._c; - if(cleanup){ - subscription._c = undefined; - cleanup(); - } - }; - - var subscriptionClosed = function(subscription){ - return subscription._o === undefined; - }; - - var closeSubscription = function(subscription){ - if(!subscriptionClosed(subscription)){ - subscription._o = undefined; - cleanupSubscription(subscription); - } - }; - - var Subscription = function(observer, subscriber){ - anObject(observer); - this._c = undefined; - this._o = observer; - observer = new SubscriptionObserver(this); - try { - var cleanup = subscriber(observer) - , subscription = cleanup; - if(cleanup != null){ - if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); }; - else aFunction(cleanup); - this._c = cleanup; - } - } catch(e){ - observer.error(e); - return; - } if(subscriptionClosed(this))cleanupSubscription(this); - }; - - Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe(){ closeSubscription(this); } - }); - - var SubscriptionObserver = function(subscription){ - this._s = subscription; - }; - - SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - try { - var m = getMethod(observer.next); - if(m)return m.call(observer, value); - } catch(e){ - try { - closeSubscription(subscription); - } finally { - throw e; - } - } - } - }, - error: function error(value){ - var subscription = this._s; - if(subscriptionClosed(subscription))throw value; - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.error); - if(!m)throw value; - value = m.call(observer, value); - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - }, - complete: function complete(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.complete); - value = m ? m.call(observer, value) : undefined; - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - } - } - }); - - var $Observable = function Observable(subscriber){ - anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); - }; - - redefineAll($Observable.prototype, { - subscribe: function subscribe(observer){ - return new Subscription(observer, this._f); - }, - forEach: function forEach(fn){ - var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject){ - aFunction(fn); - var subscription = that.subscribe({ - next : function(value){ - try { - return fn(value); - } catch(e){ - reject(e); - subscription.unsubscribe(); - } - }, - error: reject, - complete: resolve - }); - }); - } - }); - - redefineAll($Observable, { - from: function from(x){ - var C = typeof this === 'function' ? this : $Observable; - var method = getMethod(anObject(x)[OBSERVABLE]); - if(method){ - var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer){ - return observable.subscribe(observer); - }); - } - return new C(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - try { - if(forOf(x, false, function(it){ - observer.next(it); - if(done)return RETURN; - }) === RETURN)return; - } catch(e){ - if(done)throw e; - observer.error(e); - return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - }, - of: function of(){ - for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - for(var i = 0; i < items.length; ++i){ - observer.next(items[i]); - if(done)return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - } - }); - - hide($Observable.prototype, OBSERVABLE, function(){ return this; }); - - $export($export.G, {Observable: $Observable}); - - __webpack_require__(186)('Observable'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(0); + +$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(122)('Map') }); + + +/***/ }), /* 286 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(0); + +$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(122)('Set') }); - var $export = __webpack_require__(6) - , $task = __webpack_require__(200); - $export($export.G + $export.B, { - setImmediate: $task.set, - clearImmediate: $task.clear - }); -/***/ }, +/***/ }), /* 287 */ -/***/ function(module, exports, __webpack_require__) { - - var $iterators = __webpack_require__(183) - , redefine = __webpack_require__(16) - , global = __webpack_require__(2) - , hide = __webpack_require__(8) - , Iterators = __webpack_require__(135) - , wks = __webpack_require__(23) - , ITERATOR = wks('iterator') - , TO_STRING_TAG = wks('toStringTag') - , ArrayValues = Iterators.Array; - - for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype - , key; - if(proto){ - if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues); - if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = ArrayValues; - for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true); - } - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +__webpack_require__(65)('Map'); + + +/***/ }), /* 288 */ -/***/ function(module, exports, __webpack_require__) { - - // ie9- setTimeout & setInterval additional parameters fix - var global = __webpack_require__(2) - , $export = __webpack_require__(6) - , invoke = __webpack_require__(76) - , partial = __webpack_require__(289) - , navigator = global.navigator - , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check - var wrap = function(set){ - return MSIE ? function(fn, time /*, ...args */){ - return set(invoke( - partial, - [].slice.call(arguments, 2), - typeof fn == 'function' ? fn : Function(fn) - ), time); - } : set; - }; - $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), - setInterval: wrap(global.setInterval) - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +__webpack_require__(65)('Set'); + + +/***/ }), /* 289 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var path = __webpack_require__(290) - , invoke = __webpack_require__(76) - , aFunction = __webpack_require__(19); - module.exports = function(/* ...pargs */){ - var fn = aFunction(this) - , length = arguments.length - , pargs = Array(length) - , i = 0 - , _ = path._ - , holder = false; - while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; - return function(/* ...args */){ - var that = this - , aLen = arguments.length - , j = 0, k = 0, args; - if(!holder && !aLen)return invoke(fn, pargs, that); - args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(aLen > k)args.push(arguments[k++]); - return invoke(fn, args, that); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +__webpack_require__(65)('WeakMap'); + + +/***/ }), /* 290 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +__webpack_require__(65)('WeakSet'); - module.exports = __webpack_require__(2); -/***/ }, +/***/ }), /* 291 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(18) - , $export = __webpack_require__(6) - , createDesc = __webpack_require__(15) - , assign = __webpack_require__(67) - , create = __webpack_require__(44) - , getPrototypeOf = __webpack_require__(57) - , getKeys = __webpack_require__(28) - , dP = __webpack_require__(9) - , keyOf = __webpack_require__(27) - , aFunction = __webpack_require__(19) - , forOf = __webpack_require__(198) - , isIterable = __webpack_require__(292) - , $iterCreate = __webpack_require__(136) - , step = __webpack_require__(184) - , isObject = __webpack_require__(11) - , toIObject = __webpack_require__(30) - , DESCRIPTORS = __webpack_require__(4) - , has = __webpack_require__(3); - - // 0 -> Dict.forEach - // 1 -> Dict.map - // 2 -> Dict.filter - // 3 -> Dict.some - // 4 -> Dict.every - // 5 -> Dict.find - // 6 -> Dict.findKey - // 7 -> Dict.mapPairs - var createDictMethod = function(TYPE){ - var IS_MAP = TYPE == 1 - , IS_EVERY = TYPE == 4; - return function(object, callbackfn, that /* = undefined */){ - var f = ctx(callbackfn, that, 3) - , O = toIObject(object) - , result = IS_MAP || TYPE == 7 || TYPE == 2 - ? new (typeof this == 'function' ? this : Dict) : undefined - , key, val, res; - for(key in O)if(has(O, key)){ - val = O[key]; - res = f(val, key, object); - if(TYPE){ - if(IS_MAP)result[key] = res; // map - else if(res)switch(TYPE){ - case 2: result[key] = val; break; // filter - case 3: return true; // some - case 5: return val; // find - case 6: return key; // findKey - case 7: result[res[0]] = res[1]; // mapPairs - } else if(IS_EVERY)return false; // every - } - } - return TYPE == 3 || IS_EVERY ? IS_EVERY : result; - }; - }; - var findKey = createDictMethod(6); - - var createDictIter = function(kind){ - return function(it){ - return new DictIterator(it, kind); - }; - }; - var DictIterator = function(iterated, kind){ - this._t = toIObject(iterated); // target - this._a = getKeys(iterated); // keys - this._i = 0; // next index - this._k = kind; // kind - }; - $iterCreate(DictIterator, 'Dict', function(){ - var that = this - , O = that._t - , keys = that._a - , kind = that._k - , key; - do { - if(that._i >= keys.length){ - that._t = undefined; - return step(1); - } - } while(!has(O, key = keys[that._i++])); - if(kind == 'keys' )return step(0, key); - if(kind == 'values')return step(0, O[key]); - return step(0, [key, O[key]]); - }); - - function Dict(iterable){ - var dict = create(null); - if(iterable != undefined){ - if(isIterable(iterable)){ - forOf(iterable, true, function(key, value){ - dict[key] = value; - }); - } else assign(dict, iterable); - } - return dict; - } - Dict.prototype = null; - - function reduce(object, mapfn, init){ - aFunction(mapfn); - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , memo, key; - if(arguments.length < 3){ - if(!length)throw TypeError('Reduce of empty object with no initial value'); - memo = O[keys[i++]]; - } else memo = Object(init); - while(length > i)if(has(O, key = keys[i++])){ - memo = mapfn(memo, O[key], key, object); - } - return memo; - } - - function includes(object, el){ - return (el == el ? keyOf(object, el) : findKey(object, function(it){ - return it != it; - })) !== undefined; - } - - function get(object, key){ - if(has(object, key))return object[key]; - } - function set(object, key, value){ - if(DESCRIPTORS && key in Object)dP.f(object, key, createDesc(0, value)); - else object[key] = value; - return object; - } - - function isDict(it){ - return isObject(it) && getPrototypeOf(it) === Dict.prototype; - } - - $export($export.G + $export.F, {Dict: Dict}); - - $export($export.S, 'Dict', { - keys: createDictIter('keys'), - values: createDictIter('values'), - entries: createDictIter('entries'), - forEach: createDictMethod(0), - map: createDictMethod(1), - filter: createDictMethod(2), - some: createDictMethod(3), - every: createDictMethod(4), - find: createDictMethod(5), - findKey: findKey, - mapPairs: createDictMethod(7), - reduce: reduce, - keyOf: keyOf, - includes: includes, - has: has, - get: get, - set: set, - isDict: isDict - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +__webpack_require__(66)('Map'); + + +/***/ }), /* 292 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(73) - , ITERATOR = __webpack_require__(23)('iterator') - , Iterators = __webpack_require__(135); - module.exports = __webpack_require__(7).isIterable = function(it){ - var O = Object(it); - return O[ITERATOR] !== undefined - || '@@iterator' in O - || Iterators.hasOwnProperty(classof(O)); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +__webpack_require__(66)('Set'); + + +/***/ }), /* 293 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +__webpack_require__(66)('WeakMap'); - var anObject = __webpack_require__(10) - , get = __webpack_require__(156); - module.exports = __webpack_require__(7).getIterator = function(it){ - var iterFn = get(it); - if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!'); - return anObject(iterFn.call(it)); - }; -/***/ }, +/***/ }), /* 294 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , $export = __webpack_require__(6) - , partial = __webpack_require__(289); - // https://esdiscuss.org/topic/promise-returning-delay-function - $export($export.G + $export.F, { - delay: function delay(time){ - return new (core.Promise || global.Promise)(function(resolve){ - setTimeout(partial.call(resolve, true), time); - }); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +__webpack_require__(66)('WeakSet'); + + +/***/ }), /* 295 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var path = __webpack_require__(290) - , $export = __webpack_require__(6); +// https://github.com/tc39/proposal-global +var $export = __webpack_require__(0); - // Placeholder - __webpack_require__(7)._ = path._ = path._ || {}; +$export($export.G, { global: __webpack_require__(2) }); - $export($export.P + $export.F, 'Function', {part: __webpack_require__(289)}); -/***/ }, +/***/ }), /* 296 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); +// https://github.com/tc39/proposal-global +var $export = __webpack_require__(0); - $export($export.S + $export.F, 'Object', {isObject: __webpack_require__(11)}); +$export($export.S, 'System', { global: __webpack_require__(2) }); -/***/ }, + +/***/ }), /* 297 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/ljharb/proposal-is-error +var $export = __webpack_require__(0); +var cof = __webpack_require__(20); - var $export = __webpack_require__(6); +$export($export.S, 'Error', { + isError: function isError(it) { + return cof(it) === 'Error'; + } +}); - $export($export.S + $export.F, 'Object', {classof: __webpack_require__(73)}); -/***/ }, +/***/ }), /* 298 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); - var $export = __webpack_require__(6) - , define = __webpack_require__(299); +$export($export.S, 'Math', { + clamp: function clamp(x, lower, upper) { + return Math.min(upper, Math.max(lower, x)); + } +}); - $export($export.S + $export.F, 'Object', {define: define}); -/***/ }, +/***/ }), /* 299 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9) - , gOPD = __webpack_require__(49) - , ownKeys = __webpack_require__(221) - , toIObject = __webpack_require__(30); - - module.exports = function define(target, mixin){ - var keys = ownKeys(toIObject(mixin)) - , length = keys.length - , i = 0, key; - while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key)); - return target; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); + + +/***/ }), /* 300 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var RAD_PER_DEG = 180 / Math.PI; - var $export = __webpack_require__(6) - , define = __webpack_require__(299) - , create = __webpack_require__(44); +$export($export.S, 'Math', { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); - $export($export.S + $export.F, 'Object', { - make: function(proto, mixin){ - return define(create(proto), mixin); - } - }); -/***/ }, +/***/ }), /* 301 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(134)(Number, 'Number', function(iterated){ - this._l = +iterated; - this._i = 0; - }, function(){ - var i = this._i++ - , done = !(i < this._l); - return {done: done, value: done ? undefined : i}; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var scale = __webpack_require__(124); +var fround = __webpack_require__(106); + +$export($export.S, 'Math', { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); + + +/***/ }), /* 302 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/benjamingr/RexExp.escape - var $export = __webpack_require__(6) - , $re = __webpack_require__(303)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); - $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); +$export($export.S, 'Math', { + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; + } +}); -/***/ }, +/***/ }), /* 303 */ -/***/ function(module, exports) { - - module.exports = function(regExp, replace){ - var replacer = replace === Object(replace) ? function(part){ - return replace[part]; - } : replace; - return function(it){ - return String(it).replace(regExp, replacer); - }; - }; - -/***/ }, -/* 304 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6); - var $re = __webpack_require__(303)(/[&<>"']/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }); +$export($export.S, 'Math', { + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; + } +}); - $export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }}); -/***/ }, +/***/ }), +/* 304 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + imulh: function imulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); + } +}); + + +/***/ }), /* 305 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); + + +/***/ }), +/* 306 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var DEG_PER_RAD = Math.PI / 180; + +$export($export.S, 'Math', { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); + + +/***/ }), +/* 307 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { scale: __webpack_require__(124) }); + + +/***/ }), +/* 308 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + umulh: function umulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); + } +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, exports, __webpack_require__) { + +// http://jfbastien.github.io/papers/Math.signbit.html +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { signbit: function signbit(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; +} }); + + +/***/ }), +/* 310 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// https://github.com/tc39/proposal-promise-finally + +var $export = __webpack_require__(0); +var core = __webpack_require__(13); +var global = __webpack_require__(2); +var speciesConstructor = __webpack_require__(60); +var promiseResolve = __webpack_require__(112); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + + +/***/ }), +/* 311 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-promise-try +var $export = __webpack_require__(0); +var newPromiseCapability = __webpack_require__(91); +var perform = __webpack_require__(111); + +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); + + +/***/ }), +/* 312 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var toMetaKey = metadata.key; +var ordinaryDefineOwnMetadata = metadata.set; + +metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); +} }); + + +/***/ }), +/* 313 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var toMetaKey = metadata.key; +var getOrCreateMetadataMap = metadata.map; +var store = metadata.store; + +metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); +} }); + + +/***/ }), +/* 314 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(17); +var ordinaryHasOwnMetadata = metadata.has; +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; + +var ordinaryGetMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; +}; + +metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { + return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 315 */ +/***/ (function(module, exports, __webpack_require__) { + +var Set = __webpack_require__(115); +var from = __webpack_require__(123); +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(17); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; + +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; +}; + +metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { + return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); +} }); + + +/***/ }), +/* 316 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; + +metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { + return ordinaryGetOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 317 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; + +metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { + return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); +} }); + + +/***/ }), +/* 318 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(17); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; + +var ordinaryHasMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; +}; + +metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { + return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 319 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; + +metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { + return ordinaryHasOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 320 */ +/***/ (function(module, exports, __webpack_require__) { + +var $metadata = __webpack_require__(30); +var anObject = __webpack_require__(1); +var aFunction = __webpack_require__(10); +var toMetaKey = $metadata.key; +var ordinaryDefineOwnMetadata = $metadata.set; + +$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, targetKey) { + ordinaryDefineOwnMetadata( + metadataKey, metadataValue, + (targetKey !== undefined ? anObject : aFunction)(target), + toMetaKey(targetKey) + ); + }; +} }); + + +/***/ }), +/* 321 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask +var $export = __webpack_require__(0); +var microtask = __webpack_require__(90)(); +var process = __webpack_require__(2).process; +var isNode = __webpack_require__(20)(process) == 'process'; + +$export($export.G, { + asap: function asap(fn) { + var domain = isNode && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/zenparsing/es-observable +var $export = __webpack_require__(0); +var global = __webpack_require__(2); +var core = __webpack_require__(13); +var microtask = __webpack_require__(90)(); +var OBSERVABLE = __webpack_require__(5)('observable'); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var anInstance = __webpack_require__(42); +var redefineAll = __webpack_require__(43); +var hide = __webpack_require__(14); +var forOf = __webpack_require__(35); +var RETURN = forOf.RETURN; + +var getMethod = function (fn) { + return fn == null ? undefined : aFunction(fn); +}; + +var cleanupSubscription = function (subscription) { + var cleanup = subscription._c; + if (cleanup) { + subscription._c = undefined; + cleanup(); + } +}; + +var subscriptionClosed = function (subscription) { + return subscription._o === undefined; +}; + +var closeSubscription = function (subscription) { + if (!subscriptionClosed(subscription)) { + subscription._o = undefined; + cleanupSubscription(subscription); + } +}; + +var Subscription = function (observer, subscriber) { + anObject(observer); + this._c = undefined; + this._o = observer; + observer = new SubscriptionObserver(this); + try { + var cleanup = subscriber(observer); + var subscription = cleanup; + if (cleanup != null) { + if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; + else aFunction(cleanup); + this._c = cleanup; + } + } catch (e) { + observer.error(e); + return; + } if (subscriptionClosed(this)) cleanupSubscription(this); +}; + +Subscription.prototype = redefineAll({}, { + unsubscribe: function unsubscribe() { closeSubscription(this); } +}); + +var SubscriptionObserver = function (subscription) { + this._s = subscription; +}; + +SubscriptionObserver.prototype = redefineAll({}, { + next: function next(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + try { + var m = getMethod(observer.next); + if (m) return m.call(observer, value); + } catch (e) { + try { + closeSubscription(subscription); + } finally { + throw e; + } + } + } + }, + error: function error(value) { + var subscription = this._s; + if (subscriptionClosed(subscription)) throw value; + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.error); + if (!m) throw value; + value = m.call(observer, value); + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + } cleanupSubscription(subscription); + return value; + }, + complete: function complete(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.complete); + value = m ? m.call(observer, value) : undefined; + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + } cleanupSubscription(subscription); + return value; + } + } +}); + +var $Observable = function Observable(subscriber) { + anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); +}; + +redefineAll($Observable.prototype, { + subscribe: function subscribe(observer) { + return new Subscription(observer, this._f); + }, + forEach: function forEach(fn) { + var that = this; + return new (core.Promise || global.Promise)(function (resolve, reject) { + aFunction(fn); + var subscription = that.subscribe({ + next: function (value) { + try { + return fn(value); + } catch (e) { + reject(e); + subscription.unsubscribe(); + } + }, + error: reject, + complete: resolve + }); + }); + } +}); + +redefineAll($Observable, { + from: function from(x) { + var C = typeof this === 'function' ? this : $Observable; + var method = getMethod(anObject(x)[OBSERVABLE]); + if (method) { + var observable = anObject(method.call(x)); + return observable.constructor === C ? observable : new C(function (observer) { + return observable.subscribe(observer); + }); + } + return new C(function (observer) { + var done = false; + microtask(function () { + if (!done) { + try { + if (forOf(x, false, function (it) { + observer.next(it); + if (done) return RETURN; + }) === RETURN) return; + } catch (e) { + if (done) throw e; + observer.error(e); + return; + } observer.complete(); + } + }); + return function () { done = true; }; + }); + }, + of: function of() { + for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; + return new (typeof this === 'function' ? this : $Observable)(function (observer) { + var done = false; + microtask(function () { + if (!done) { + for (var j = 0; j < items.length; ++j) { + observer.next(items[j]); + if (done) return; + } observer.complete(); + } + }); + return function () { done = true; }; + }); + } +}); + +hide($Observable.prototype, OBSERVABLE, function () { return this; }); + +$export($export.G, { Observable: $Observable }); + +__webpack_require__(41)('Observable'); + + +/***/ }), +/* 323 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $task = __webpack_require__(89); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); + + +/***/ }), +/* 324 */ +/***/ (function(module, exports, __webpack_require__) { + +var $iterators = __webpack_require__(87); +var getKeys = __webpack_require__(27); +var redefine = __webpack_require__(15); +var global = __webpack_require__(2); +var hide = __webpack_require__(14); +var Iterators = __webpack_require__(40); +var wks = __webpack_require__(5); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; + +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + } +} + + +/***/ }), +/* 325 */ +/***/ (function(module, exports, __webpack_require__) { + +// ie9- setTimeout & setInterval additional parameters fix +var global = __webpack_require__(2); +var $export = __webpack_require__(0); +var userAgent = __webpack_require__(61); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); + + +/***/ }), +/* 326 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ctx = __webpack_require__(19); +var $export = __webpack_require__(0); +var createDesc = __webpack_require__(31); +var assign = __webpack_require__(72); +var create = __webpack_require__(28); +var getPrototypeOf = __webpack_require__(17); +var getKeys = __webpack_require__(27); +var dP = __webpack_require__(6); +var keyOf = __webpack_require__(327); +var aFunction = __webpack_require__(10); +var forOf = __webpack_require__(35); +var isIterable = __webpack_require__(125); +var $iterCreate = __webpack_require__(56); +var step = __webpack_require__(88); +var isObject = __webpack_require__(3); +var toIObject = __webpack_require__(11); +var DESCRIPTORS = __webpack_require__(7); +var has = __webpack_require__(12); + +// 0 -> Dict.forEach +// 1 -> Dict.map +// 2 -> Dict.filter +// 3 -> Dict.some +// 4 -> Dict.every +// 5 -> Dict.find +// 6 -> Dict.findKey +// 7 -> Dict.mapPairs +var createDictMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_EVERY = TYPE == 4; + return function (object, callbackfn, that /* = undefined */) { + var f = ctx(callbackfn, that, 3); + var O = toIObject(object); + var result = IS_MAP || TYPE == 7 || TYPE == 2 + ? new (typeof this == 'function' ? this : Dict)() : undefined; + var key, val, res; + for (key in O) if (has(O, key)) { + val = O[key]; + res = f(val, key, object); + if (TYPE) { + if (IS_MAP) result[key] = res; // map + else if (res) switch (TYPE) { + case 2: result[key] = val; break; // filter + case 3: return true; // some + case 5: return val; // find + case 6: return key; // findKey + case 7: result[res[0]] = res[1]; // mapPairs + } else if (IS_EVERY) return false; // every + } + } + return TYPE == 3 || IS_EVERY ? IS_EVERY : result; + }; +}; +var findKey = createDictMethod(6); + +var createDictIter = function (kind) { + return function (it) { + return new DictIterator(it, kind); + }; +}; +var DictIterator = function (iterated, kind) { + this._t = toIObject(iterated); // target + this._a = getKeys(iterated); // keys + this._i = 0; // next index + this._k = kind; // kind +}; +$iterCreate(DictIterator, 'Dict', function () { + var that = this; + var O = that._t; + var keys = that._a; + var kind = that._k; + var key; + do { + if (that._i >= keys.length) { + that._t = undefined; + return step(1); + } + } while (!has(O, key = keys[that._i++])); + if (kind == 'keys') return step(0, key); + if (kind == 'values') return step(0, O[key]); + return step(0, [key, O[key]]); +}); + +function Dict(iterable) { + var dict = create(null); + if (iterable != undefined) { + if (isIterable(iterable)) { + forOf(iterable, true, function (key, value) { + dict[key] = value; + }); + } else assign(dict, iterable); + } + return dict; +} +Dict.prototype = null; + +function reduce(object, mapfn, init) { + aFunction(mapfn); + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var memo, key; + if (arguments.length < 3) { + if (!length) throw TypeError('Reduce of empty object with no initial value'); + memo = O[keys[i++]]; + } else memo = Object(init); + while (length > i) if (has(O, key = keys[i++])) { + memo = mapfn(memo, O[key], key, object); + } + return memo; +} + +function includes(object, el) { + // eslint-disable-next-line no-self-compare + return (el == el ? keyOf(object, el) : findKey(object, function (it) { + // eslint-disable-next-line no-self-compare + return it != it; + })) !== undefined; +} + +function get(object, key) { + if (has(object, key)) return object[key]; +} +function set(object, key, value) { + if (DESCRIPTORS && key in Object) dP.f(object, key, createDesc(0, value)); + else object[key] = value; + return object; +} + +function isDict(it) { + return isObject(it) && getPrototypeOf(it) === Dict.prototype; +} + +$export($export.G + $export.F, { Dict: Dict }); + +$export($export.S, 'Dict', { + keys: createDictIter('keys'), + values: createDictIter('values'), + entries: createDictIter('entries'), + forEach: createDictMethod(0), + map: createDictMethod(1), + filter: createDictMethod(2), + some: createDictMethod(3), + every: createDictMethod(4), + find: createDictMethod(5), + findKey: findKey, + mapPairs: createDictMethod(7), + reduce: reduce, + keyOf: keyOf, + includes: includes, + has: has, + get: get, + set: set, + isDict: isDict +}); + + +/***/ }), +/* 327 */ +/***/ (function(module, exports, __webpack_require__) { + +var getKeys = __webpack_require__(27); +var toIObject = __webpack_require__(11); +module.exports = function (object, el) { + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var index = 0; + var key; + while (length > index) if (O[key = keys[index++]] === el) return key; +}; + + +/***/ }), +/* 328 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(1); +var get = __webpack_require__(49); +module.exports = __webpack_require__(13).getIterator = function (it) { + var iterFn = get(it); + if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!'); + return anObject(iterFn.call(it)); +}; + + +/***/ }), +/* 329 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(13); +var $export = __webpack_require__(0); +var partial = __webpack_require__(126); +// https://esdiscuss.org/topic/promise-returning-delay-function +$export($export.G + $export.F, { + delay: function delay(time) { + return new (core.Promise || global.Promise)(function (resolve) { + setTimeout(partial.call(resolve, true), time); + }); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, exports, __webpack_require__) { + +var path = __webpack_require__(127); +var $export = __webpack_require__(0); + +// Placeholder +__webpack_require__(13)._ = path._ = path._ || {}; + +$export($export.P + $export.F, 'Function', { part: __webpack_require__(126) }); + + +/***/ }), +/* 331 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); + +$export($export.S + $export.F, 'Object', { isObject: __webpack_require__(3) }); + + +/***/ }), +/* 332 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); + +$export($export.S + $export.F, 'Object', { classof: __webpack_require__(39) }); + + +/***/ }), +/* 333 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var define = __webpack_require__(128); + +$export($export.S + $export.F, 'Object', { define: define }); + + +/***/ }), +/* 334 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var define = __webpack_require__(128); +var create = __webpack_require__(28); + +$export($export.S + $export.F, 'Object', { + make: function (proto, mixin) { + return define(create(proto), mixin); + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +__webpack_require__(55)(Number, 'Number', function (iterated) { + this._l = +iterated; + this._i = 0; +}, function () { + var i = this._i++; + var done = !(i < this._l); + return { done: done, value: done ? undefined : i }; +}); + + +/***/ }), +/* 336 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/benjamingr/RexExp.escape +var $export = __webpack_require__(0); +var $re = __webpack_require__(94)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); + +$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } }); + + +/***/ }), +/* 337 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $re = __webpack_require__(94)(/[&<>"']/g, { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}); + +$export($export.P + $export.F, 'String', { escapeHTML: function escapeHTML() { return $re(this); } }); + + +/***/ }), +/* 338 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $re = __webpack_require__(94)(/&(?:amp|lt|gt|quot|apos);/g, { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" +}); - 'use strict'; - var $export = __webpack_require__(6); - var $re = __webpack_require__(303)(/&(?:amp|lt|gt|quot|apos);/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }); +$export($export.P + $export.F, 'String', { unescapeHTML: function unescapeHTML() { return $re(this); } }); - $export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }}); -/***/ } +/***/ }) /******/ ]); // CommonJS export -if(typeof module != 'undefined' && module.exports)module.exports = __e; +if (typeof module != 'undefined' && module.exports) module.exports = __e; // RequireJS export -else if(typeof define == 'function' && define.amd)define(function(){return __e}); +else if (typeof define == 'function' && define.amd) define(function () { return __e; }); // Export to global object else __g.core = __e; }(1, 1); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/core.min.js b/build/js-transpiled/node_modules/core-js/client/core.min.js index 4c43b467..eb4d971f 100644 --- a/build/js-transpiled/node_modules/core-js/client/core.min.js +++ b/build/js-transpiled/node_modules/core-js/client/core.min.js @@ -1,10 +1,10 @@ /** - * core-js 2.4.1 + * core-js 2.5.7 * https://github.com/zloirock/core-js * License: http://rock.mit-license.org - * © 2016 Denis Pushkarev + * © 2018 Denis Pushkarev */ -!function(a,b,c){"use strict";!function(a){function __webpack_require__(c){if(b[c])return b[c].exports;var d=b[c]={exports:{},id:c,loaded:!1};return a[c].call(d.exports,d,d.exports,__webpack_require__),d.loaded=!0,d.exports}var b={};return __webpack_require__.m=a,__webpack_require__.c=b,__webpack_require__.p="",__webpack_require__(0)}([function(a,b,c){c(1),c(50),c(51),c(52),c(54),c(55),c(58),c(59),c(60),c(61),c(62),c(63),c(64),c(65),c(66),c(68),c(70),c(72),c(74),c(77),c(78),c(79),c(83),c(86),c(87),c(88),c(89),c(91),c(92),c(93),c(94),c(95),c(97),c(99),c(100),c(101),c(103),c(104),c(105),c(107),c(108),c(109),c(111),c(112),c(113),c(114),c(115),c(116),c(117),c(118),c(119),c(120),c(121),c(122),c(123),c(124),c(126),c(130),c(131),c(132),c(133),c(137),c(139),c(140),c(141),c(142),c(143),c(144),c(145),c(146),c(147),c(148),c(149),c(150),c(151),c(152),c(158),c(159),c(161),c(162),c(163),c(167),c(168),c(169),c(170),c(171),c(173),c(174),c(175),c(176),c(179),c(181),c(182),c(183),c(185),c(187),c(189),c(190),c(191),c(193),c(194),c(195),c(196),c(203),c(206),c(207),c(209),c(210),c(211),c(212),c(213),c(214),c(215),c(216),c(217),c(218),c(219),c(220),c(222),c(223),c(224),c(225),c(226),c(227),c(228),c(229),c(231),c(234),c(235),c(237),c(238),c(239),c(240),c(241),c(242),c(243),c(244),c(245),c(246),c(247),c(249),c(250),c(251),c(252),c(253),c(254),c(255),c(256),c(258),c(259),c(261),c(262),c(263),c(264),c(267),c(268),c(269),c(270),c(271),c(272),c(273),c(274),c(276),c(277),c(278),c(279),c(280),c(281),c(282),c(283),c(284),c(285),c(286),c(287),c(288),c(291),c(156),c(293),c(292),c(294),c(295),c(296),c(297),c(298),c(300),c(301),c(302),c(304),a.exports=c(305)},function(a,b,d){var e=d(2),f=d(3),g=d(4),h=d(6),i=d(16),j=d(20).KEY,k=d(5),l=d(21),m=d(22),n=d(17),o=d(23),p=d(24),q=d(25),r=d(27),s=d(40),t=d(43),u=d(10),v=d(30),w=d(14),x=d(15),y=d(44),z=d(47),A=d(49),B=d(9),C=d(28),D=A.f,E=B.f,F=z.f,G=e.Symbol,H=e.JSON,I=H&&H.stringify,J="prototype",K=o("_hidden"),L=o("toPrimitive"),M={}.propertyIsEnumerable,N=l("symbol-registry"),O=l("symbols"),P=l("op-symbols"),Q=Object[J],R="function"==typeof G,S=e.QObject,T=!S||!S[J]||!S[J].findChild,U=g&&k(function(){return 7!=y(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(a,b,c){var d=D(Q,b);d&&delete Q[b],E(a,b,c),d&&a!==Q&&E(Q,b,d)}:E,V=function(a){var b=O[a]=y(G[J]);return b._k=a,b},W=R&&"symbol"==typeof G.iterator?function(a){return"symbol"==typeof a}:function(a){return a instanceof G},X=function defineProperty(a,b,c){return a===Q&&X(P,b,c),u(a),b=w(b,!0),u(c),f(O,b)?(c.enumerable?(f(a,K)&&a[K][b]&&(a[K][b]=!1),c=y(c,{enumerable:x(0,!1)})):(f(a,K)||E(a,K,x(1,{})),a[K][b]=!0),U(a,b,c)):E(a,b,c)},Y=function defineProperties(a,b){u(a);for(var c,d=s(b=v(b)),e=0,f=d.length;f>e;)X(a,c=d[e++],b[c]);return a},Z=function create(a,b){return b===c?y(a):Y(y(a),b)},$=function propertyIsEnumerable(a){var b=M.call(this,a=w(a,!0));return!(this===Q&&f(O,a)&&!f(P,a))&&(!(b||!f(this,a)||!f(O,a)||f(this,K)&&this[K][a])||b)},_=function getOwnPropertyDescriptor(a,b){if(a=v(a),b=w(b,!0),a!==Q||!f(O,b)||f(P,b)){var c=D(a,b);return!c||!f(O,b)||f(a,K)&&a[K][b]||(c.enumerable=!0),c}},aa=function getOwnPropertyNames(a){for(var b,c=F(v(a)),d=[],e=0;c.length>e;)f(O,b=c[e++])||b==K||b==j||d.push(b);return d},ba=function getOwnPropertySymbols(a){for(var b,c=a===Q,d=F(c?P:v(a)),e=[],g=0;d.length>g;)!f(O,b=d[g++])||c&&!f(Q,b)||e.push(O[b]);return e};R||(G=function Symbol(){if(this instanceof G)throw TypeError("Symbol is not a constructor!");var a=n(arguments.length>0?arguments[0]:c),b=function(c){this===Q&&b.call(P,c),f(this,K)&&f(this[K],a)&&(this[K][a]=!1),U(this,a,x(1,c))};return g&&T&&U(Q,a,{configurable:!0,set:b}),V(a)},i(G[J],"toString",function toString(){return this._k}),A.f=_,B.f=X,d(48).f=z.f=aa,d(42).f=$,d(41).f=ba,g&&!d(26)&&i(Q,"propertyIsEnumerable",$,!0),p.f=function(a){return V(o(a))}),h(h.G+h.W+h.F*!R,{Symbol:G});for(var ca="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),da=0;ca.length>da;)o(ca[da++]);for(var ca=C(o.store),da=0;ca.length>da;)q(ca[da++]);h(h.S+h.F*!R,"Symbol",{"for":function(a){return f(N,a+="")?N[a]:N[a]=G(a)},keyFor:function keyFor(a){if(W(a))return r(N,a);throw TypeError(a+" is not a symbol!")},useSetter:function(){T=!0},useSimple:function(){T=!1}}),h(h.S+h.F*!R,"Object",{create:Z,defineProperty:X,defineProperties:Y,getOwnPropertyDescriptor:_,getOwnPropertyNames:aa,getOwnPropertySymbols:ba}),H&&h(h.S+h.F*(!R||k(function(){var a=G();return"[null]"!=I([a])||"{}"!=I({a:a})||"{}"!=I(Object(a))})),"JSON",{stringify:function stringify(a){if(a!==c&&!W(a)){for(var b,d,e=[a],f=1;arguments.length>f;)e.push(arguments[f++]);return b=e[1],"function"==typeof b&&(d=b),!d&&t(b)||(b=function(a,b){if(d&&(b=d.call(this,a,b)),!W(b))return b}),e[1]=b,I.apply(H,e)}}}),G[J][L]||d(8)(G[J],L,G[J].valueOf),m(G,"Symbol"),m(Math,"Math",!0),m(e.JSON,"JSON",!0)},function(a,c){var d=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof b&&(b=d)},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b,c){a.exports=!c(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(a,b,d){var e=d(2),f=d(7),g=d(8),h=d(16),i=d(18),j="prototype",k=function(a,b,d){var l,m,n,o,p=a&k.F,q=a&k.G,r=a&k.S,s=a&k.P,t=a&k.B,u=q?e:r?e[b]||(e[b]={}):(e[b]||{})[j],v=q?f:f[b]||(f[b]={}),w=v[j]||(v[j]={});q&&(d=b);for(l in d)m=!p&&u&&u[l]!==c,n=(m?u:d)[l],o=t&&m?i(n,e):s&&"function"==typeof n?i(Function.call,n):n,u&&h(u,l,n,a&k.U),v[l]!=n&&g(v,l,o),s&&w[l]!=n&&(w[l]=n)};e.core=f,k.F=1,k.G=2,k.S=4,k.P=8,k.B=16,k.W=32,k.U=64,k.R=128,a.exports=k},function(b,c){var d=b.exports={version:"2.4.0"};"number"==typeof a&&(a=d)},function(a,b,c){var d=c(9),e=c(15);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b,c){var d=c(10),e=c(12),f=c(14),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function defineProperty(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(h){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(11);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b,c){a.exports=!c(4)&&!c(5)(function(){return 7!=Object.defineProperty(c(13)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(11),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b,c){var d=c(11);a.exports=function(a,b){if(!d(a))return a;var c,e;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;if("function"==typeof(c=a.valueOf)&&!d(e=c.call(a)))return e;if(!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(2),e=c(8),f=c(3),g=c(17)("src"),h="toString",i=Function[h],j=(""+i).split(h);c(7).inspectSource=function(a){return i.call(a)},(a.exports=function(a,b,c,h){var i="function"==typeof c;i&&(f(c,"name")||e(c,"name",b)),a[b]!==c&&(i&&(f(c,g)||e(c,g,a[b]?""+a[b]:j.join(String(b)))),a===d?a[b]=c:h?a[b]?a[b]=c:e(a,b,c):(delete a[b],e(a,b,c)))})(Function.prototype,h,function toString(){return"function"==typeof this&&this[g]||i.call(this)})},function(a,b){var d=0,e=Math.random();a.exports=function(a){return"Symbol(".concat(a===c?"":a,")_",(++d+e).toString(36))}},function(a,b,d){var e=d(19);a.exports=function(a,b,d){if(e(a),b===c)return a;switch(d){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b,c){var d=c(17)("meta"),e=c(11),f=c(3),g=c(9).f,h=0,i=Object.isExtensible||function(){return!0},j=!c(5)(function(){return i(Object.preventExtensions({}))}),k=function(a){g(a,d,{value:{i:"O"+ ++h,w:{}}})},l=function(a,b){if(!e(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!f(a,d)){if(!i(a))return"F";if(!b)return"E";k(a)}return a[d].i},m=function(a,b){if(!f(a,d)){if(!i(a))return!0;if(!b)return!1;k(a)}return a[d].w},n=function(a){return j&&o.NEED&&i(a)&&!f(a,d)&&k(a),a},o=a.exports={KEY:d,NEED:!1,fastKey:l,getWeak:m,onFreeze:n}},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d=c(9).f,e=c(3),f=c(23)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(21)("wks"),e=c(17),f=c(2).Symbol,g="function"==typeof f,h=a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))};h.store=d},function(a,b,c){b.f=c(23)},function(a,b,c){var d=c(2),e=c(7),f=c(26),g=c(24),h=c(9).f;a.exports=function(a){var b=e.Symbol||(e.Symbol=f?{}:d.Symbol||{});"_"==a.charAt(0)||a in b||h(b,a,{value:g.f(a)})}},function(a,b){a.exports=!1},function(a,b,c){var d=c(28),e=c(30);a.exports=function(a,b){for(var c,f=e(a),g=d(f),h=g.length,i=0;h>i;)if(f[c=g[i++]]===b)return c}},function(a,b,c){var d=c(29),e=c(39);a.exports=Object.keys||function keys(a){return d(a,e)}},function(a,b,c){var d=c(3),e=c(30),f=c(34)(!1),g=c(38)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(31),e=c(33);a.exports=function(a){return d(e(a))}},function(a,b,c){var d=c(32);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b){a.exports=function(a){if(a==c)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(30),e=c(35),f=c(37);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if(h=i[k++],h!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(36),e=Math.min;a.exports=function(a){return a>0?e(d(a),9007199254740991):0}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(36),e=Math.max,f=Math.min;a.exports=function(a,b){return a=d(a),a<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(21)("keys"),e=c(17);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(28),e=c(41),f=c(42);a.exports=function(a){var b=d(a),c=e.f;if(c)for(var g,h=c(a),i=f.f,j=0;h.length>j;)i.call(a,g=h[j++])&&b.push(g);return b}},function(a,b){b.f=Object.getOwnPropertySymbols},function(a,b){b.f={}.propertyIsEnumerable},function(a,b,c){var d=c(32);a.exports=Array.isArray||function isArray(a){return"Array"==d(a)}},function(a,b,d){var e=d(10),f=d(45),g=d(39),h=d(38)("IE_PROTO"),i=function(){},j="prototype",k=function(){var a,b=d(13)("iframe"),c=g.length,e="<",f=">";for(b.style.display="none",d(46).appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write(e+"script"+f+"document.F=Object"+e+"/script"+f),a.close(),k=a.F;c--;)delete k[j][g[c]];return k()};a.exports=Object.create||function create(a,b){var d;return null!==a?(i[j]=e(a),d=new i,i[j]=null,d[h]=a):d=k(),b===c?d:f(d,b)}},function(a,b,c){var d=c(9),e=c(10),f=c(28);a.exports=c(4)?Object.defineProperties:function defineProperties(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){var d=c(30),e=c(48).f,f={}.toString,g="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],h=function(a){try{return e(a)}catch(b){return g.slice()}};a.exports.f=function getOwnPropertyNames(a){return g&&"[object Window]"==f.call(a)?h(a):e(d(a))}},function(a,b,c){var d=c(29),e=c(39).concat("length","prototype");b.f=Object.getOwnPropertyNames||function getOwnPropertyNames(a){return d(a,e)}},function(a,b,c){var d=c(42),e=c(15),f=c(30),g=c(14),h=c(3),i=c(12),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function getOwnPropertyDescriptor(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(c){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(6);d(d.S+d.F*!c(4),"Object",{defineProperty:c(9).f})},function(a,b,c){var d=c(6);d(d.S+d.F*!c(4),"Object",{defineProperties:c(45)})},function(a,b,c){var d=c(30),e=c(49).f;c(53)("getOwnPropertyDescriptor",function(){return function getOwnPropertyDescriptor(a,b){return e(d(a),b)}})},function(a,b,c){var d=c(6),e=c(7),f=c(5);a.exports=function(a,b){var c=(e.Object||{})[a]||Object[a],g={};g[a]=b(c),d(d.S+d.F*f(function(){c(1)}),"Object",g)}},function(a,b,c){var d=c(6);d(d.S,"Object",{create:c(44)})},function(a,b,c){var d=c(56),e=c(57);c(53)("getPrototypeOf",function(){return function getPrototypeOf(a){return e(d(a))}})},function(a,b,c){var d=c(33);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(3),e=c(56),f=c(38)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return a=e(a),d(a,f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(56),e=c(28);c(53)("keys",function(){return function keys(a){return e(d(a))}})},function(a,b,c){c(53)("getOwnPropertyNames",function(){return c(47).f})},function(a,b,c){var d=c(11),e=c(20).onFreeze;c(53)("freeze",function(a){return function freeze(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(11),e=c(20).onFreeze;c(53)("seal",function(a){return function seal(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(11),e=c(20).onFreeze;c(53)("preventExtensions",function(a){return function preventExtensions(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(11);c(53)("isFrozen",function(a){return function isFrozen(b){return!d(b)||!!a&&a(b)}})},function(a,b,c){var d=c(11);c(53)("isSealed",function(a){return function isSealed(b){return!d(b)||!!a&&a(b)}})},function(a,b,c){var d=c(11);c(53)("isExtensible",function(a){return function isExtensible(b){return!!d(b)&&(!a||a(b))}})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{assign:c(67)})},function(a,b,c){var d=c(28),e=c(41),f=c(42),g=c(56),h=c(31),i=Object.assign;a.exports=!i||c(5)(function(){var a={},b={},c=Symbol(),d="abcdefghijklmnopqrst";return a[c]=7,d.split("").forEach(function(a){b[a]=a}),7!=i({},a)[c]||Object.keys(i({},b)).join("")!=d})?function assign(a,b){for(var c=g(a),i=arguments.length,j=1,k=e.f,l=f.f;i>j;)for(var m,n=h(arguments[j++]),o=k?d(n).concat(k(n)):d(n),p=o.length,q=0;p>q;)l.call(n,m=o[q++])&&(c[m]=n[m]);return c}:i},function(a,b,c){var d=c(6);d(d.S,"Object",{is:c(69)})},function(a,b){a.exports=Object.is||function is(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},function(a,b,c){var d=c(6);d(d.S,"Object",{setPrototypeOf:c(71).set})},function(a,b,d){var e=d(11),f=d(10),g=function(a,b){if(f(a),!e(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,c){try{c=d(18)(Function.call,d(49).f(Object.prototype,"__proto__").set,2),c(a,[]),b=!(a instanceof Array)}catch(e){b=!0}return function setPrototypeOf(a,d){return g(a,d),b?a.__proto__=d:c(a,d),a}}({},!1):c),check:g}},function(a,b,c){var d=c(73),e={};e[c(23)("toStringTag")]="z",e+""!="[object z]"&&c(16)(Object.prototype,"toString",function toString(){return"[object "+d(this)+"]"},!0)},function(a,b,d){var e=d(32),f=d(23)("toStringTag"),g="Arguments"==e(function(){return arguments}()),h=function(a,b){try{return a[b]}catch(c){}};a.exports=function(a){var b,d,i;return a===c?"Undefined":null===a?"Null":"string"==typeof(d=h(b=Object(a),f))?d:g?e(b):"Object"==(i=e(b))&&"function"==typeof b.callee?"Arguments":i}},function(a,b,c){var d=c(6);d(d.P,"Function",{bind:c(75)})},function(a,b,c){var d=c(19),e=c(11),f=c(76),g=[].slice,h={},i=function(a,b,c){if(!(b in h)){for(var d=[],e=0;e2){b=s?b.trim():m(b,3);var c,d,e,f=b.charCodeAt(0);if(43===f||45===f){if(c=b.charCodeAt(2),88===c||120===c)return NaN}else if(48===f){switch(b.charCodeAt(1)){case 66:case 98:d=2,e=49;break;case 79:case 111:d=8,e=55;break;default:return+b}for(var g,i=b.slice(2),j=0,k=i.length;je)return NaN;return parseInt(i,d)}}return+b};if(!o(" 0o1")||!o("0b1")||o("+0x1")){o=function Number(a){var b=arguments.length<1?0:a,c=this;return c instanceof o&&(r?i(function(){q.valueOf.call(c)}):f(c)!=n)?g(new p(t(b)),c,o):t(b)};for(var u,v=c(4)?j(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;v.length>w;w++)e(p,u=v[w])&&!e(o,u)&&l(o,u,k(p,u));o.prototype=q,q.constructor=o,c(16)(d,n,o)}},function(a,b,c){var d=c(11),e=c(71).set;a.exports=function(a,b,c){var f,g=b.constructor;return g!==c&&"function"==typeof g&&(f=g.prototype)!==c.prototype&&d(f)&&e&&e(a,f),a}},function(a,b,c){var d=c(6),e=c(33),f=c(5),g=c(82),h="["+g+"]",i="​…",j=RegExp("^"+h+h+"*"),k=RegExp(h+h+"*$"),l=function(a,b,c){var e={},h=f(function(){return!!g[a]()||i[a]()!=i}),j=e[a]=h?b(m):g[a];c&&(e[c]=j),d(d.P+d.F*h,"String",e)},m=l.trim=function(a,b){return a=String(e(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a};a.exports=l},function(a,b){a.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(a,b,c){var d=c(6),e=c(36),f=c(84),g=c(85),h=1..toFixed,i=Math.floor,j=[0,0,0,0,0,0],k="Number.toFixed: incorrect invocation!",l="0",m=function(a,b){for(var c=-1,d=b;++c<6;)d+=a*j[c],j[c]=d%1e7,d=i(d/1e7)},n=function(a){for(var b=6,c=0;--b>=0;)c+=j[b],j[b]=i(c/a),c=c%a*1e7},o=function(){for(var a=6,b="";--a>=0;)if(""!==b||0===a||0!==j[a]){var c=String(j[a]);b=""===b?c:b+g.call(l,7-c.length)+c}return b},p=function(a,b,c){return 0===b?c:b%2===1?p(a,b-1,c*a):p(a*a,b/2,c)},q=function(a){for(var b=0,c=a;c>=4096;)b+=12,c/=4096;for(;c>=2;)b+=1,c/=2;return b};d(d.P+d.F*(!!h&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c(5)(function(){h.call({})})),"Number",{toFixed:function toFixed(a){var b,c,d,h,i=f(this,k),j=e(a),r="",s=l;if(j<0||j>20)throw RangeError(k);if(i!=i)return"NaN";if(i<=-1e21||i>=1e21)return String(i);if(i<0&&(r="-",i=-i),i>1e-21)if(b=q(i*p(2,69,1))-69,c=b<0?i*p(2,-b,1):i/p(2,b,1),c*=4503599627370496,b=52-b,b>0){for(m(0,c),d=j;d>=7;)m(1e7,0),d-=7;for(m(p(10,d,1),0),d=b-1;d>=23;)n(1<<23),d-=23;n(1<0?(h=s.length,s=r+(h<=j?"0."+g.call(l,j-h)+s:s.slice(0,h-j)+"."+s.slice(h-j))):s=r+s,s}})},function(a,b,c){var d=c(32);a.exports=function(a,b){if("number"!=typeof a&&"Number"!=d(a))throw TypeError(b);return+a}},function(a,b,c){var d=c(36),e=c(33);a.exports=function repeat(a){var b=String(e(this)),c="",f=d(a);if(f<0||f==1/0)throw RangeError("Count can't be negative");for(;f>0;(f>>>=1)&&(b+=b))1&f&&(c+=b);return c}},function(a,b,d){var e=d(6),f=d(5),g=d(84),h=1..toPrecision;e(e.P+e.F*(f(function(){return"1"!==h.call(1,c)})||!f(function(){h.call({})})),"Number",{toPrecision:function toPrecision(a){var b=g(this,"Number#toPrecision: incorrect invocation!");return a===c?h.call(b):h.call(b,a)}})},function(a,b,c){var d=c(6);d(d.S,"Number",{EPSILON:Math.pow(2,-52)})},function(a,b,c){var d=c(6),e=c(2).isFinite;d(d.S,"Number",{isFinite:function isFinite(a){return"number"==typeof a&&e(a)}})},function(a,b,c){var d=c(6);d(d.S,"Number",{isInteger:c(90)})},function(a,b,c){var d=c(11),e=Math.floor;a.exports=function isInteger(a){return!d(a)&&isFinite(a)&&e(a)===a}},function(a,b,c){var d=c(6);d(d.S,"Number",{isNaN:function isNaN(a){return a!=a}})},function(a,b,c){var d=c(6),e=c(90),f=Math.abs;d(d.S,"Number",{isSafeInteger:function isSafeInteger(a){return e(a)&&f(a)<=9007199254740991}})},function(a,b,c){var d=c(6);d(d.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(a,b,c){var d=c(6);d(d.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(a,b,c){var d=c(6),e=c(96);d(d.S+d.F*(Number.parseFloat!=e),"Number",{parseFloat:e})},function(a,b,c){var d=c(2).parseFloat,e=c(81).trim;a.exports=1/d(c(82)+"-0")!==-(1/0)?function parseFloat(a){var b=e(String(a),3),c=d(b);return 0===c&&"-"==b.charAt(0)?-0:c}:d},function(a,b,c){var d=c(6),e=c(98);d(d.S+d.F*(Number.parseInt!=e),"Number",{parseInt:e})},function(a,b,c){var d=c(2).parseInt,e=c(81).trim,f=c(82),g=/^[\-+]?0[xX]/;a.exports=8!==d(f+"08")||22!==d(f+"0x16")?function parseInt(a,b){var c=e(String(a),3);return d(c,b>>>0||(g.test(c)?16:10))}:d},function(a,b,c){var d=c(6),e=c(98);d(d.G+d.F*(parseInt!=e),{parseInt:e})},function(a,b,c){var d=c(6),e=c(96);d(d.G+d.F*(parseFloat!=e),{parseFloat:e})},function(a,b,c){var d=c(6),e=c(102),f=Math.sqrt,g=Math.acosh;d(d.S+d.F*!(g&&710==Math.floor(g(Number.MAX_VALUE))&&g(1/0)==1/0),"Math",{acosh:function acosh(a){return(a=+a)<1?NaN:a>94906265.62425156?Math.log(a)+Math.LN2:e(a-1+f(a-1)*f(a+1))}})},function(a,b){a.exports=Math.log1p||function log1p(a){return(a=+a)>-1e-8&&a<1e-8?a-a*a/2:Math.log(1+a)}},function(a,b,c){function asinh(a){return isFinite(a=+a)&&0!=a?a<0?-asinh(-a):Math.log(a+Math.sqrt(a*a+1)):a}var d=c(6),e=Math.asinh;d(d.S+d.F*!(e&&1/e(0)>0),"Math",{asinh:asinh})},function(a,b,c){var d=c(6),e=Math.atanh;d(d.S+d.F*!(e&&1/e(-0)<0),"Math",{atanh:function atanh(a){return 0==(a=+a)?a:Math.log((1+a)/(1-a))/2}})},function(a,b,c){var d=c(6),e=c(106);d(d.S,"Math",{cbrt:function cbrt(a){return e(a=+a)*Math.pow(Math.abs(a),1/3)}})},function(a,b){a.exports=Math.sign||function sign(a){return 0==(a=+a)||a!=a?a:a<0?-1:1}},function(a,b,c){var d=c(6);d(d.S,"Math",{clz32:function clz32(a){return(a>>>=0)?31-Math.floor(Math.log(a+.5)*Math.LOG2E):32}})},function(a,b,c){var d=c(6),e=Math.exp;d(d.S,"Math",{cosh:function cosh(a){return(e(a=+a)+e(-a))/2}})},function(a,b,c){var d=c(6),e=c(110);d(d.S+d.F*(e!=Math.expm1),"Math",{expm1:e})},function(a,b){var c=Math.expm1;a.exports=!c||c(10)>22025.465794806718||c(10)<22025.465794806718||c(-2e-17)!=-2e-17?function expm1(a){return 0==(a=+a)?a:a>-1e-6&&a<1e-6?a+a*a/2:Math.exp(a)-1}:c},function(a,b,c){var d=c(6),e=c(106),f=Math.pow,g=f(2,-52),h=f(2,-23),i=f(2,127)*(2-h),j=f(2,-126),k=function(a){return a+1/g-1/g};d(d.S,"Math",{fround:function fround(a){var b,c,d=Math.abs(a),f=e(a);return di||c!=c?f*(1/0):f*c)}})},function(a,b,c){var d=c(6),e=Math.abs;d(d.S,"Math",{hypot:function hypot(a,b){for(var c,d,f=0,g=0,h=arguments.length,i=0;g0?(d=c/i,f+=d*d):f+=c;return i===1/0?1/0:i*Math.sqrt(f)}})},function(a,b,c){var d=c(6),e=Math.imul;d(d.S+d.F*c(5)(function(){return e(4294967295,5)!=-5||2!=e.length}),"Math",{imul:function imul(a,b){var c=65535,d=+a,e=+b,f=c&d,g=c&e;return 0|f*g+((c&d>>>16)*g+f*(c&e>>>16)<<16>>>0)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{log10:function log10(a){return Math.log(a)/Math.LN10}})},function(a,b,c){var d=c(6);d(d.S,"Math",{log1p:c(102)})},function(a,b,c){var d=c(6);d(d.S,"Math",{log2:function log2(a){return Math.log(a)/Math.LN2}})},function(a,b,c){var d=c(6);d(d.S,"Math",{sign:c(106)})},function(a,b,c){var d=c(6),e=c(110),f=Math.exp;d(d.S+d.F*c(5)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function sinh(a){return Math.abs(a=+a)<1?(e(a)-e(-a))/2:(f(a-1)-f(-a-1))*(Math.E/2)}})},function(a,b,c){var d=c(6),e=c(110),f=Math.exp;d(d.S,"Math",{tanh:function tanh(a){var b=e(a=+a),c=e(-a);return b==1/0?1:c==1/0?-1:(b-c)/(f(a)+f(-a))}})},function(a,b,c){var d=c(6);d(d.S,"Math",{trunc:function trunc(a){return(a>0?Math.floor:Math.ceil)(a)}})},function(a,b,c){var d=c(6),e=c(37),f=String.fromCharCode,g=String.fromCodePoint;d(d.S+d.F*(!!g&&1!=g.length),"String",{fromCodePoint:function fromCodePoint(a){for(var b,c=[],d=arguments.length,g=0;d>g;){if(b=+arguments[g++],e(b,1114111)!==b)throw RangeError(b+" is not a valid code point");c.push(b<65536?f(b):f(((b-=65536)>>10)+55296,b%1024+56320))}return c.join("")}})},function(a,b,c){var d=c(6),e=c(30),f=c(35);d(d.S,"String",{raw:function raw(a){for(var b=e(a.raw),c=f(b.length),d=arguments.length,g=[],h=0;c>h;)g.push(String(b[h++])),h=k?a?"":c:(g=i.charCodeAt(j),g<55296||g>56319||j+1===k||(h=i.charCodeAt(j+1))<56320||h>57343?a?i.charAt(j):g:a?i.slice(j,j+2):(g-55296<<10)+(h-56320)+65536)}}},function(a,b,d){var e=d(6),f=d(35),g=d(127),h="endsWith",i=""[h];e(e.P+e.F*d(129)(h),"String",{endsWith:function endsWith(a){var b=g(this,a,h),d=arguments.length>1?arguments[1]:c,e=f(b.length),j=d===c?e:Math.min(f(d),e),k=String(a);return i?i.call(b,k,j):b.slice(j-k.length,j)===k}})},function(a,b,c){var d=c(128),e=c(33);a.exports=function(a,b,c){if(d(b))throw TypeError("String#"+c+" doesn't accept regex!");return String(e(a))}},function(a,b,d){var e=d(11),f=d(32),g=d(23)("match");a.exports=function(a){var b;return e(a)&&((b=a[g])!==c?!!b:"RegExp"==f(a))}},function(a,b,c){var d=c(23)("match");a.exports=function(a){var b=/./;try{"/./"[a](b)}catch(c){try{return b[d]=!1,!"/./"[a](b)}catch(e){}}return!0}},function(a,b,d){var e=d(6),f=d(127),g="includes";e(e.P+e.F*d(129)(g),"String",{includes:function includes(a){return!!~f(this,a,g).indexOf(a,arguments.length>1?arguments[1]:c)}})},function(a,b,c){var d=c(6);d(d.P,"String",{repeat:c(85)})},function(a,b,d){var e=d(6),f=d(35),g=d(127),h="startsWith",i=""[h];e(e.P+e.F*d(129)(h),"String",{startsWith:function startsWith(a){var b=g(this,a,h),d=f(Math.min(arguments.length>1?arguments[1]:c,b.length)),e=String(a);return i?i.call(b,e,d):b.slice(d,d+e.length)===e}})},function(a,b,d){var e=d(125)(!0);d(134)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,d=this._i;return d>=b.length?{value:c,done:!0}:(a=e(b,d),this._i+=a.length,{value:a,done:!1})})},function(a,b,d){var e=d(26),f=d(6),g=d(16),h=d(8),i=d(3),j=d(135),k=d(136),l=d(22),m=d(57),n=d(23)("iterator"),o=!([].keys&&"next"in[].keys()),p="@@iterator",q="keys",r="values",s=function(){return this};a.exports=function(a,b,d,t,u,v,w){k(d,b,t);var x,y,z,A=function(a){if(!o&&a in E)return E[a];switch(a){case q:return function keys(){return new d(this,a)};case r:return function values(){return new d(this,a)}}return function entries(){return new d(this,a)}},B=b+" Iterator",C=u==r,D=!1,E=a.prototype,F=E[n]||E[p]||u&&E[u],G=F||A(u),H=u?C?A("entries"):G:c,I="Array"==b?E.entries||F:F;if(I&&(z=m(I.call(new a)),z!==Object.prototype&&(l(z,B,!0),e||i(z,n)||h(z,n,s))),C&&F&&F.name!==r&&(D=!0,G=function values(){return F.call(this)}),e&&!w||!o&&!D&&E[n]||h(E,n,G),j[b]=G,j[B]=s,u)if(x={values:C?G:A(r),keys:v?G:A(q),entries:H},w)for(y in x)y in E||g(E,y,x[y]);else f(f.P+f.F*(o||D),b,x);return x}},function(a,b){a.exports={}},function(a,b,c){var d=c(44),e=c(15),f=c(22),g={};c(8)(g,c(23)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){c(138)("anchor",function(a){return function anchor(b){return a(this,"a","name",b)}})},function(a,b,c){var d=c(6),e=c(5),f=c(33),g=/"/g,h=function(a,b,c,d){var e=String(f(a)),h="<"+b;return""!==c&&(h+=" "+c+'="'+String(d).replace(g,""")+'"'),h+">"+e+""};a.exports=function(a,b){var c={};c[a]=b(h),d(d.P+d.F*e(function(){var b=""[a]('"');return b!==b.toLowerCase()||b.split('"').length>3}),"String",c)}},function(a,b,c){c(138)("big",function(a){return function big(){return a(this,"big","","")}})},function(a,b,c){c(138)("blink",function(a){return function blink(){return a(this,"blink","","")}})},function(a,b,c){c(138)("bold",function(a){return function bold(){return a(this,"b","","")}})},function(a,b,c){c(138)("fixed",function(a){return function fixed(){return a(this,"tt","","")}})},function(a,b,c){c(138)("fontcolor",function(a){return function fontcolor(b){return a(this,"font","color",b)}})},function(a,b,c){c(138)("fontsize",function(a){return function fontsize(b){return a(this,"font","size",b)}})},function(a,b,c){c(138)("italics",function(a){return function italics(){return a(this,"i","","")}})},function(a,b,c){c(138)("link",function(a){return function link(b){return a(this,"a","href",b)}})},function(a,b,c){c(138)("small",function(a){return function small(){return a(this,"small","","")}})},function(a,b,c){c(138)("strike",function(a){return function strike(){return a(this,"strike","","")}})},function(a,b,c){c(138)("sub",function(a){return function sub(){return a(this,"sub","","")}})},function(a,b,c){c(138)("sup",function(a){return function sup(){return a(this,"sup","","")}})},function(a,b,c){var d=c(6);d(d.S,"Array",{isArray:c(43)})},function(a,b,d){var e=d(18),f=d(6),g=d(56),h=d(153),i=d(154),j=d(35),k=d(155),l=d(156);f(f.S+f.F*!d(157)(function(a){Array.from(a)}),"Array",{from:function from(a){var b,d,f,m,n=g(a),o="function"==typeof this?this:Array,p=arguments.length,q=p>1?arguments[1]:c,r=q!==c,s=0,t=l(n);if(r&&(q=e(q,p>2?arguments[2]:c,2)),t==c||o==Array&&i(t))for(b=j(n.length),d=new o(b);b>s;s++)k(d,s,r?q(n[s],s):n[s]);else for(m=t.call(n),d=new o;!(f=m.next()).done;s++)k(d,s,r?h(m,q,[f.value,s],!0):f.value);return d.length=s,d}})},function(a,b,d){var e=d(10);a.exports=function(a,b,d,f){try{return f?b(e(d)[0],d[1]):b(d)}catch(g){var h=a["return"];throw h!==c&&e(h.call(a)),g}}},function(a,b,d){var e=d(135),f=d(23)("iterator"),g=Array.prototype;a.exports=function(a){return a!==c&&(e.Array===a||g[f]===a)}},function(a,b,c){var d=c(9),e=c(15);a.exports=function(a,b,c){b in a?d.f(a,b,e(0,c)):a[b]=c}},function(a,b,d){var e=d(73),f=d(23)("iterator"),g=d(135);a.exports=d(7).getIteratorMethod=function(a){ -if(a!=c)return a[f]||a["@@iterator"]||g[e(a)]}},function(a,b,c){var d=c(23)("iterator"),e=!1;try{var f=[7][d]();f["return"]=function(){e=!0},Array.from(f,function(){throw 2})}catch(g){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(h){}return c}},function(a,b,c){var d=c(6),e=c(155);d(d.S+d.F*c(5)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var a=0,b=arguments.length,c=new("function"==typeof this?this:Array)(b);b>a;)e(c,a,arguments[a++]);return c.length=b,c}})},function(a,b,d){var e=d(6),f=d(30),g=[].join;e(e.P+e.F*(d(31)!=Object||!d(160)(g)),"Array",{join:function join(a){return g.call(f(this),a===c?",":a)}})},function(a,b,c){var d=c(5);a.exports=function(a,b){return!!a&&d(function(){b?a.call(null,function(){},1):a.call(null)})}},function(a,b,d){var e=d(6),f=d(46),g=d(32),h=d(37),i=d(35),j=[].slice;e(e.P+e.F*d(5)(function(){f&&j.call(f)}),"Array",{slice:function slice(a,b){var d=i(this.length),e=g(this);if(b=b===c?d:b,"Array"==e)return j.call(this,a,b);for(var f=h(a,d),k=h(b,d),l=i(k-f),m=Array(l),n=0;nw;w++)if((n||w in t)&&(q=t[w],r=u(q,w,s),a))if(d)x[w]=r;else if(r)switch(a){case 3:return!0;case 5:return q;case 6:return w;case 2:x.push(q)}else if(l)return!1;return m?-1:k||l?l:x}}},function(a,b,c){var d=c(166);a.exports=function(a,b){return new(d(a))(b)}},function(a,b,d){var e=d(11),f=d(43),g=d(23)("species");a.exports=function(a){var b;return f(a)&&(b=a.constructor,"function"!=typeof b||b!==Array&&!f(b.prototype)||(b=c),e(b)&&(b=b[g],null===b&&(b=c))),b===c?Array:b}},function(a,b,c){var d=c(6),e=c(164)(1);d(d.P+d.F*!c(160)([].map,!0),"Array",{map:function map(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(164)(2);d(d.P+d.F*!c(160)([].filter,!0),"Array",{filter:function filter(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(164)(3);d(d.P+d.F*!c(160)([].some,!0),"Array",{some:function some(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(164)(4);d(d.P+d.F*!c(160)([].every,!0),"Array",{every:function every(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(172);d(d.P+d.F*!c(160)([].reduce,!0),"Array",{reduce:function reduce(a){return e(this,a,arguments.length,arguments[1],!1)}})},function(a,b,c){var d=c(19),e=c(56),f=c(31),g=c(35);a.exports=function(a,b,c,h,i){d(b);var j=e(a),k=f(j),l=g(j.length),m=i?l-1:0,n=i?-1:1;if(c<2)for(;;){if(m in k){h=k[m],m+=n;break}if(m+=n,i?m<0:l<=m)throw TypeError("Reduce of empty array with no initial value")}for(;i?m>=0:l>m;m+=n)m in k&&(h=b(h,k[m],m,j));return h}},function(a,b,c){var d=c(6),e=c(172);d(d.P+d.F*!c(160)([].reduceRight,!0),"Array",{reduceRight:function reduceRight(a){return e(this,a,arguments.length,arguments[1],!0)}})},function(a,b,c){var d=c(6),e=c(34)(!1),f=[].indexOf,g=!!f&&1/[1].indexOf(1,-0)<0;d(d.P+d.F*(g||!c(160)(f)),"Array",{indexOf:function indexOf(a){return g?f.apply(this,arguments)||0:e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(30),f=c(36),g=c(35),h=[].lastIndexOf,i=!!h&&1/[1].lastIndexOf(1,-0)<0;d(d.P+d.F*(i||!c(160)(h)),"Array",{lastIndexOf:function lastIndexOf(a){if(i)return h.apply(this,arguments)||0;var b=e(this),c=g(b.length),d=c-1;for(arguments.length>1&&(d=Math.min(d,f(arguments[1]))),d<0&&(d=c+d);d>=0;d--)if(d in b&&b[d]===a)return d||0;return-1}})},function(a,b,c){var d=c(6);d(d.P,"Array",{copyWithin:c(177)}),c(178)("copyWithin")},function(a,b,d){var e=d(56),f=d(37),g=d(35);a.exports=[].copyWithin||function copyWithin(a,b){var d=e(this),h=g(d.length),i=f(a,h),j=f(b,h),k=arguments.length>2?arguments[2]:c,l=Math.min((k===c?h:f(k,h))-j,h-i),m=1;for(j0;)j in d?d[i]=d[j]:delete d[i],i+=m,j+=m;return d}},function(a,b,d){var e=d(23)("unscopables"),f=Array.prototype;f[e]==c&&d(8)(f,e,{}),a.exports=function(a){f[e][a]=!0}},function(a,b,c){var d=c(6);d(d.P,"Array",{fill:c(180)}),c(178)("fill")},function(a,b,d){var e=d(56),f=d(37),g=d(35);a.exports=function fill(a){for(var b=e(this),d=g(b.length),h=arguments.length,i=f(h>1?arguments[1]:c,d),j=h>2?arguments[2]:c,k=j===c?d:f(j,d);k>i;)b[i++]=a;return b}},function(a,b,d){var e=d(6),f=d(164)(5),g="find",h=!0;g in[]&&Array(1)[g](function(){h=!1}),e(e.P+e.F*h,"Array",{find:function find(a){return f(this,a,arguments.length>1?arguments[1]:c)}}),d(178)(g)},function(a,b,d){var e=d(6),f=d(164)(6),g="findIndex",h=!0;g in[]&&Array(1)[g](function(){h=!1}),e(e.P+e.F*h,"Array",{findIndex:function findIndex(a){return f(this,a,arguments.length>1?arguments[1]:c)}}),d(178)(g)},function(a,b,d){var e=d(178),f=d(184),g=d(135),h=d(30);a.exports=d(134)(Array,"Array",function(a,b){this._t=h(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,d=this._i++;return!a||d>=a.length?(this._t=c,f(1)):"keys"==b?f(0,d):"values"==b?f(0,a[d]):f(0,[d,a[d]])},"values"),g.Arguments=g.Array,e("keys"),e("values"),e("entries")},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){c(186)("Array")},function(a,b,c){var d=c(2),e=c(9),f=c(4),g=c(23)("species");a.exports=function(a){var b=d[a];f&&b&&!b[g]&&e.f(b,g,{configurable:!0,get:function(){return this}})}},function(a,b,d){var e=d(2),f=d(80),g=d(9).f,h=d(48).f,i=d(128),j=d(188),k=e.RegExp,l=k,m=k.prototype,n=/a/g,o=/a/g,p=new k(n)!==n;if(d(4)&&(!p||d(5)(function(){return o[d(23)("match")]=!1,k(n)!=n||k(o)==o||"/a/i"!=k(n,"i")}))){k=function RegExp(a,b){var d=this instanceof k,e=i(a),g=b===c;return!d&&e&&a.constructor===k&&g?a:f(p?new l(e&&!g?a.source:a,b):l((e=a instanceof k)?a.source:a,e&&g?j.call(a):b),d?this:m,k)};for(var q=(function(a){a in k||g(k,a,{configurable:!0,get:function(){return l[a]},set:function(b){l[a]=b}})}),r=h(l),s=0;r.length>s;)q(r[s++]);m.constructor=k,k.prototype=m,d(16)(e,"RegExp",k)}d(186)("RegExp")},function(a,b,c){var d=c(10);a.exports=function(){var a=d(this),b="";return a.global&&(b+="g"),a.ignoreCase&&(b+="i"),a.multiline&&(b+="m"),a.unicode&&(b+="u"),a.sticky&&(b+="y"),b}},function(a,b,d){d(190);var e=d(10),f=d(188),g=d(4),h="toString",i=/./[h],j=function(a){d(16)(RegExp.prototype,h,a,!0)};d(5)(function(){return"/a/b"!=i.call({source:"a",flags:"b"})})?j(function toString(){var a=e(this);return"/".concat(a.source,"/","flags"in a?a.flags:!g&&a instanceof RegExp?f.call(a):c)}):i.name!=h&&j(function toString(){return i.call(this)})},function(a,b,c){c(4)&&"g"!=/./g.flags&&c(9).f(RegExp.prototype,"flags",{configurable:!0,get:c(188)})},function(a,b,d){d(192)("match",1,function(a,b,d){return[function match(d){var e=a(this),f=d==c?c:d[b];return f!==c?f.call(d,e):new RegExp(d)[b](String(e))},d]})},function(a,b,c){var d=c(8),e=c(16),f=c(5),g=c(33),h=c(23);a.exports=function(a,b,c){var i=h(a),j=c(g,i,""[a]),k=j[0],l=j[1];f(function(){var b={};return b[i]=function(){return 7},7!=""[a](b)})&&(e(String.prototype,a,k),d(RegExp.prototype,i,2==b?function(a,b){return l.call(a,this,b)}:function(a){return l.call(a,this)}))}},function(a,b,d){d(192)("replace",2,function(a,b,d){return[function replace(e,f){var g=a(this),h=e==c?c:e[b];return h!==c?h.call(e,g,f):d.call(String(g),e,f)},d]})},function(a,b,d){d(192)("search",1,function(a,b,d){return[function search(d){var e=a(this),f=d==c?c:d[b];return f!==c?f.call(d,e):new RegExp(d)[b](String(e))},d]})},function(a,b,d){d(192)("split",2,function(a,b,e){var f=d(128),g=e,h=[].push,i="split",j="length",k="lastIndex";if("c"=="abbc"[i](/(b)*/)[1]||4!="test"[i](/(?:)/,-1)[j]||2!="ab"[i](/(?:ab)*/)[j]||4!="."[i](/(.?)(.?)/)[j]||"."[i](/()()/)[j]>1||""[i](/.?/)[j]){var l=/()??/.exec("")[1]===c;e=function(a,b){var d=String(this);if(a===c&&0===b)return[];if(!f(a))return g.call(d,a,b);var e,i,m,n,o,p=[],q=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(a.sticky?"y":""),r=0,s=b===c?4294967295:b>>>0,t=new RegExp(a.source,q+"g");for(l||(e=new RegExp("^"+t.source+"$(?!\\s)",q));(i=t.exec(d))&&(m=i.index+i[0][j],!(m>r&&(p.push(d.slice(r,i.index)),!l&&i[j]>1&&i[0].replace(e,function(){for(o=1;o1&&i.index=s)));)t[k]===i.index&&t[k]++;return r===d[j]?!n&&t.test("")||p.push(""):p.push(d.slice(r)),p[j]>s?p.slice(0,s):p}}else"0"[i](c,0)[j]&&(e=function(a,b){return a===c&&0===b?[]:g.call(this,a,b)});return[function split(d,f){var g=a(this),h=d==c?c:d[b];return h!==c?h.call(d,g,f):e.call(String(g),d,f)},e]})},function(a,b,d){var e,f,g,h=d(26),i=d(2),j=d(18),k=d(73),l=d(6),m=d(11),n=d(19),o=d(197),p=d(198),q=d(199),r=d(200).set,s=d(201)(),t="Promise",u=i.TypeError,v=i.process,w=i[t],v=i.process,x="process"==k(v),y=function(){},z=!!function(){try{var a=w.resolve(1),b=(a.constructor={})[d(23)("species")]=function(a){a(y,y)};return(x||"function"==typeof PromiseRejectionEvent)&&a.then(y)instanceof b}catch(c){}}(),A=function(a,b){return a===b||a===w&&b===g},B=function(a){var b;return!(!m(a)||"function"!=typeof(b=a.then))&&b},C=function(a){return A(w,a)?new D(a):new f(a)},D=f=function(a){var b,d;this.promise=new a(function(a,e){if(b!==c||d!==c)throw u("Bad Promise constructor");b=a,d=e}),this.resolve=n(b),this.reject=n(d)},E=function(a){try{a()}catch(b){return{error:b}}},F=function(a,b){if(!a._n){a._n=!0;var c=a._c;s(function(){for(var d=a._v,e=1==a._s,f=0,g=function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&I(a),a._h=1),g===!0?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(u("Promise-chain cycle")):(f=B(c))?f.call(c,h,i):h(c)):i(d)}catch(k){i(k)}};c.length>f;)g(c[f++]);a._c=[],a._n=!1,b&&!a._h&&G(a)})}},G=function(a){r.call(i,function(){var b,d,e,f=a._v;if(H(a)&&(b=E(function(){x?v.emit("unhandledRejection",f,a):(d=i.onunhandledrejection)?d({promise:a,reason:f}):(e=i.console)&&e.error&&e.error("Unhandled promise rejection",f)}),a._h=x||H(a)?2:1),a._a=c,b)throw b.error})},H=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if(b=c[d++],b.fail||!H(b.promise))return!1;return!0},I=function(a){r.call(i,function(){var b;x?v.emit("rejectionHandled",a):(b=i.onrejectionhandled)&&b({promise:a,reason:a._v})})},J=function(a){var b=this;b._d||(b._d=!0,b=b._w||b,b._v=a,b._s=2,b._a||(b._a=b._c.slice()),F(b,!0))},K=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw u("Promise can't be resolved itself");(b=B(a))?s(function(){var d={_w:c,_d:!1};try{b.call(a,j(K,d,1),j(J,d,1))}catch(e){J.call(d,e)}}):(c._v=a,c._s=1,F(c,!1))}catch(d){J.call({_w:c,_d:!1},d)}}};z||(w=function Promise(a){o(this,w,t,"_h"),n(a),e.call(this);try{a(j(K,this,1),j(J,this,1))}catch(b){J.call(this,b)}},e=function Promise(a){this._c=[],this._a=c,this._s=0,this._d=!1,this._v=c,this._h=0,this._n=!1},e.prototype=d(202)(w.prototype,{then:function then(a,b){var d=C(q(this,w));return d.ok="function"!=typeof a||a,d.fail="function"==typeof b&&b,d.domain=x?v.domain:c,this._c.push(d),this._a&&this._a.push(d),this._s&&F(this,!1),d.promise},"catch":function(a){return this.then(c,a)}}),D=function(){var a=new e;this.promise=a,this.resolve=j(K,a,1),this.reject=j(J,a,1)}),l(l.G+l.W+l.F*!z,{Promise:w}),d(22)(w,t),d(186)(t),g=d(7)[t],l(l.S+l.F*!z,t,{reject:function reject(a){var b=C(this),c=b.reject;return c(a),b.promise}}),l(l.S+l.F*(h||!z),t,{resolve:function resolve(a){if(a instanceof w&&A(a.constructor,this))return a;var b=C(this),c=b.resolve;return c(a),b.promise}}),l(l.S+l.F*!(z&&d(157)(function(a){w.all(a)["catch"](y)})),t,{all:function all(a){var b=this,d=C(b),e=d.resolve,f=d.reject,g=E(function(){var d=[],g=0,h=1;p(a,!1,function(a){var i=g++,j=!1;d.push(c),h++,b.resolve(a).then(function(a){j||(j=!0,d[i]=a,--h||e(d))},f)}),--h||e(d)});return g&&f(g.error),d.promise},race:function race(a){var b=this,c=C(b),d=c.reject,e=E(function(){p(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b){a.exports=function(a,b,d,e){if(!(a instanceof b)||e!==c&&e in a)throw TypeError(d+": incorrect invocation!");return a}},function(a,b,c){var d=c(18),e=c(153),f=c(154),g=c(10),h=c(35),i=c(156),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if(q=b?s(g(o=a[t])[0],o[1]):s(a[t]),q===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if(q=e(p,s,o.value,b),q===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b,d){var e=d(10),f=d(19),g=d(23)("species");a.exports=function(a,b){var d,h=e(a).constructor;return h===c||(d=e(h)[g])==c?b:f(d)}},function(a,b,c){var d,e,f,g=c(18),h=c(76),i=c(46),j=c(13),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function setImmediate(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function clearImmediate(a){delete q[a]},"process"==c(32)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(e=new o,f=e.port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,d){var e=d(2),f=d(200).set,g=e.MutationObserver||e.WebKitMutationObserver,h=e.process,i=e.Promise,j="process"==d(32)(h);a.exports=function(){var a,b,d,k=function(){var e,f;for(j&&(e=h.domain)&&e.exit();a;){f=a.fn,a=a.next;try{f()}catch(g){throw a?d():b=c,g}}b=c,e&&e.enter()};if(j)d=function(){h.nextTick(k)};else if(g){var l=!0,m=document.createTextNode("");new g(k).observe(m,{characterData:!0}),d=function(){m.data=l=!l}}else if(i&&i.resolve){var n=i.resolve();d=function(){n.then(k)}}else d=function(){f.call(e,k)};return function(e){var f={fn:e,next:c};b&&(b.next=f),a||(a=f,d()),b=f}}},function(a,b,c){var d=c(16);a.exports=function(a,b,c){for(var e in b)d(a,e,b[e],c);return a}},function(a,b,d){var e=d(204);a.exports=d(205)("Map",function(a){return function Map(){return a(this,arguments.length>0?arguments[0]:c)}},{get:function get(a){var b=e.getEntry(this,a);return b&&b.v},set:function set(a,b){return e.def(this,0===a?0:a,b)}},e,!0)},function(a,b,d){var e=d(9).f,f=d(44),g=d(202),h=d(18),i=d(197),j=d(33),k=d(198),l=d(134),m=d(184),n=d(186),o=d(4),p=d(20).fastKey,q=o?"_s":"size",r=function(a,b){var c,d=p(b);if("F"!==d)return a._i[d];for(c=a._f;c;c=c.n)if(c.k==b)return c};a.exports={getConstructor:function(a,b,d,l){var m=a(function(a,e){i(a,m,b,"_i"),a._i=f(null),a._f=c,a._l=c,a[q]=0,e!=c&&k(e,d,a[l],a)});return g(m.prototype,{clear:function clear(){for(var a=this,b=a._i,d=a._f;d;d=d.n)d.r=!0,d.p&&(d.p=d.p.n=c),delete b[d.i];a._f=a._l=c,a[q]=0},"delete":function(a){var b=this,c=r(b,a);if(c){var d=c.n,e=c.p;delete b._i[c.i],c.r=!0,e&&(e.n=d),d&&(d.p=e),b._f==c&&(b._f=d),b._l==c&&(b._l=e),b[q]--}return!!c},forEach:function forEach(a){i(this,m,"forEach");for(var b,d=h(a,arguments.length>1?arguments[1]:c,3);b=b?b.n:this._f;)for(d(b.v,b.k,this);b&&b.r;)b=b.p},has:function has(a){return!!r(this,a)}}),o&&e(m.prototype,"size",{get:function(){return j(this[q])}}),m},def:function(a,b,d){var e,f,g=r(a,b);return g?g.v=d:(a._l=g={i:f=p(b,!0),k:b,v:d,p:e=a._l,n:c,r:!1},a._f||(a._f=g),e&&(e.n=g),a[q]++,"F"!==f&&(a._i[f]=g)),a},getEntry:r,setStrong:function(a,b,d){l(a,b,function(a,b){this._t=a,this._k=b,this._l=c},function(){for(var a=this,b=a._k,d=a._l;d&&d.r;)d=d.p;return a._t&&(a._l=d=d?d.n:a._t._f)?"keys"==b?m(0,d.k):"values"==b?m(0,d.v):m(0,[d.k,d.v]):(a._t=c,m(1))},d?"entries":"values",!d,!0),n(b)}}},function(a,b,d){var e=d(2),f=d(6),g=d(16),h=d(202),i=d(20),j=d(198),k=d(197),l=d(11),m=d(5),n=d(157),o=d(22),p=d(80);a.exports=function(a,b,d,q,r,s){var t=e[a],u=t,v=r?"set":"add",w=u&&u.prototype,x={},y=function(a){var b=w[a];g(w,a,"delete"==a?function(a){return!(s&&!l(a))&&b.call(this,0===a?0:a)}:"has"==a?function has(a){return!(s&&!l(a))&&b.call(this,0===a?0:a)}:"get"==a?function get(a){return s&&!l(a)?c:b.call(this,0===a?0:a)}:"add"==a?function add(a){return b.call(this,0===a?0:a),this}:function set(a,c){return b.call(this,0===a?0:a,c),this})};if("function"==typeof u&&(s||w.forEach&&!m(function(){(new u).entries().next()}))){var z=new u,A=z[v](s?{}:-0,1)!=z,B=m(function(){z.has(1)}),C=n(function(a){new u(a)}),D=!s&&m(function(){for(var a=new u,b=5;b--;)a[v](b,b);return!a.has(-0)});C||(u=b(function(b,d){k(b,u,a);var e=p(new t,b,u);return d!=c&&j(d,r,e[v],e),e}),u.prototype=w,w.constructor=u),(B||D)&&(y("delete"),y("has"),r&&y("get")),(D||A)&&y(v),s&&w.clear&&delete w.clear}else u=q.getConstructor(b,a,r,v),h(u.prototype,d),i.NEED=!0;return o(u,a),x[a]=u,f(f.G+f.W+f.F*(u!=t),x),s||q.setStrong(u,a,r),u}},function(a,b,d){var e=d(204);a.exports=d(205)("Set",function(a){return function Set(){return a(this,arguments.length>0?arguments[0]:c)}},{add:function add(a){return e.def(this,a=0===a?0:a,a)}},e)},function(a,b,d){var e,f=d(164)(0),g=d(16),h=d(20),i=d(67),j=d(208),k=d(11),l=h.getWeak,m=Object.isExtensible,n=j.ufstore,o={},p=function(a){return function WeakMap(){return a(this,arguments.length>0?arguments[0]:c)}},q={get:function get(a){if(k(a)){var b=l(a);return b===!0?n(this).get(a):b?b[this._i]:c}},set:function set(a,b){return j.def(this,a,b)}},r=a.exports=d(205)("WeakMap",p,q,j,!0,!0);7!=(new r).set((Object.freeze||Object)(o),7).get(o)&&(e=j.getConstructor(p),i(e.prototype,q),h.NEED=!0,f(["delete","has","get","set"],function(a){var b=r.prototype,c=b[a];g(b,a,function(b,d){if(k(b)&&!m(b)){this._f||(this._f=new e);var f=this._f[a](b,d);return"set"==a?this:f}return c.call(this,b,d)})}))},function(a,b,d){var e=d(202),f=d(20).getWeak,g=d(10),h=d(11),i=d(197),j=d(198),k=d(164),l=d(3),m=k(5),n=k(6),o=0,p=function(a){return a._l||(a._l=new q)},q=function(){this.a=[]},r=function(a,b){return m(a.a,function(a){return a[0]===b})};q.prototype={get:function(a){var b=r(this,a);if(b)return b[1]},has:function(a){return!!r(this,a)},set:function(a,b){var c=r(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(a){var b=n(this.a,function(b){return b[0]===a});return~b&&this.a.splice(b,1),!!~b}},a.exports={getConstructor:function(a,b,d,g){var k=a(function(a,e){i(a,k,b,"_i"),a._i=o++,a._l=c,e!=c&&j(e,d,a[g],a)});return e(k.prototype,{"delete":function(a){if(!h(a))return!1;var b=f(a);return b===!0?p(this)["delete"](a):b&&l(b,this._i)&&delete b[this._i]},has:function has(a){if(!h(a))return!1;var b=f(a);return b===!0?p(this).has(a):b&&l(b,this._i)}}),k},def:function(a,b,c){var d=f(g(b),!0);return d===!0?p(a).set(b,c):d[a._i]=c,a},ufstore:p}},function(a,b,d){var e=d(208);d(205)("WeakSet",function(a){return function WeakSet(){return a(this,arguments.length>0?arguments[0]:c)}},{add:function add(a){return e.def(this,a,!0)}},e,!1,!0)},function(a,b,c){var d=c(6),e=c(19),f=c(10),g=(c(2).Reflect||{}).apply,h=Function.apply;d(d.S+d.F*!c(5)(function(){g(function(){})}),"Reflect",{apply:function apply(a,b,c){var d=e(a),i=f(c);return g?g(d,b,i):h.call(d,b,i)}})},function(a,b,c){var d=c(6),e=c(44),f=c(19),g=c(10),h=c(11),i=c(5),j=c(75),k=(c(2).Reflect||{}).construct,l=i(function(){function F(){}return!(k(function(){},[],F)instanceof F)}),m=!i(function(){k(function(){})});d(d.S+d.F*(l||m),"Reflect",{construct:function construct(a,b){f(a),g(b);var c=arguments.length<3?a:f(arguments[2]);if(m&&!l)return k(a,b,c);if(a==c){switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var d=[null];return d.push.apply(d,b),new(j.apply(a,d))}var i=c.prototype,n=e(h(i)?i:Object.prototype),o=Function.apply.call(a,n,b);return h(o)?o:n}})},function(a,b,c){var d=c(9),e=c(6),f=c(10),g=c(14);e(e.S+e.F*c(5)(function(){Reflect.defineProperty(d.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(a,b,c){f(a),b=g(b,!0),f(c);try{return d.f(a,b,c),!0}catch(e){return!1}}})},function(a,b,c){var d=c(6),e=c(49).f,f=c(10);d(d.S,"Reflect",{deleteProperty:function deleteProperty(a,b){var c=e(f(a),b);return!(c&&!c.configurable)&&delete a[b]}})},function(a,b,d){var e=d(6),f=d(10),g=function(a){this._t=f(a),this._i=0;var b,c=this._k=[];for(b in a)c.push(b)};d(136)(g,"Object",function(){var a,b=this,d=b._k;do if(b._i>=d.length)return{value:c,done:!0};while(!((a=d[b._i++])in b._t));return{value:a,done:!1}}),e(e.S,"Reflect",{enumerate:function enumerate(a){return new g(a)}})},function(a,b,d){function get(a,b){var d,h,k=arguments.length<3?a:arguments[2];return j(a)===k?a[b]:(d=e.f(a,b))?g(d,"value")?d.value:d.get!==c?d.get.call(k):c:i(h=f(a))?get(h,b,k):void 0}var e=d(49),f=d(57),g=d(3),h=d(6),i=d(11),j=d(10);h(h.S,"Reflect",{get:get})},function(a,b,c){var d=c(49),e=c(6),f=c(10);e(e.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(a,b){return d.f(f(a),b)}})},function(a,b,c){var d=c(6),e=c(57),f=c(10);d(d.S,"Reflect",{getPrototypeOf:function getPrototypeOf(a){return e(f(a))}})},function(a,b,c){var d=c(6);d(d.S,"Reflect",{has:function has(a,b){return b in a}})},function(a,b,c){var d=c(6),e=c(10),f=Object.isExtensible;d(d.S,"Reflect",{isExtensible:function isExtensible(a){return e(a),!f||f(a)}})},function(a,b,c){var d=c(6);d(d.S,"Reflect",{ownKeys:c(221)})},function(a,b,c){var d=c(48),e=c(41),f=c(10),g=c(2).Reflect;a.exports=g&&g.ownKeys||function ownKeys(a){var b=d.f(f(a)),c=e.f;return c?b.concat(c(a)):b}},function(a,b,c){var d=c(6),e=c(10),f=Object.preventExtensions;d(d.S,"Reflect",{preventExtensions:function preventExtensions(a){e(a);try{return f&&f(a),!0}catch(b){return!1}}})},function(a,b,d){function set(a,b,d){var i,m,n=arguments.length<4?a:arguments[3],o=f.f(k(a),b);if(!o){if(l(m=g(a)))return set(m,b,d,n);o=j(0)}return h(o,"value")?!(o.writable===!1||!l(n))&&(i=f.f(n,b)||j(0),i.value=d,e.f(n,b,i),!0):o.set!==c&&(o.set.call(n,d),!0)}var e=d(9),f=d(49),g=d(57),h=d(3),i=d(6),j=d(15),k=d(10),l=d(11);i(i.S,"Reflect",{set:set})},function(a,b,c){var d=c(6),e=c(71);e&&d(d.S,"Reflect",{setPrototypeOf:function setPrototypeOf(a,b){e.check(a,b);try{return e.set(a,b),!0}catch(c){return!1}}})},function(a,b,c){var d=c(6);d(d.S,"Date",{now:function(){return(new Date).getTime()}})},function(a,b,c){var d=c(6),e=c(56),f=c(14);d(d.P+d.F*c(5)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function toJSON(a){var b=e(this),c=f(b);return"number"!=typeof c||isFinite(c)?b.toISOString():null}})},function(a,b,c){var d=c(6),e=c(5),f=Date.prototype.getTime,g=function(a){return a>9?a:"0"+a};d(d.P+d.F*(e(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!e(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function toISOString(){if(!isFinite(f.call(this)))throw RangeError("Invalid time value");var a=this,b=a.getUTCFullYear(),c=a.getUTCMilliseconds(),d=b<0?"-":b>9999?"+":"";return d+("00000"+Math.abs(b)).slice(d?-6:-4)+"-"+g(a.getUTCMonth()+1)+"-"+g(a.getUTCDate())+"T"+g(a.getUTCHours())+":"+g(a.getUTCMinutes())+":"+g(a.getUTCSeconds())+"."+(c>99?c:"0"+g(c))+"Z"}})},function(a,b,c){var d=Date.prototype,e="Invalid Date",f="toString",g=d[f],h=d.getTime;new Date(NaN)+""!=e&&c(16)(d,f,function toString(){var a=h.call(this);return a===a?g.call(this):e})},function(a,b,c){var d=c(23)("toPrimitive"),e=Date.prototype;d in e||c(8)(e,d,c(230))},function(a,b,c){var d=c(10),e=c(14),f="number";a.exports=function(a){if("string"!==a&&a!==f&&"default"!==a)throw TypeError("Incorrect hint");return e(d(this),a!=f)}},function(a,b,d){var e=d(6),f=d(232),g=d(233),h=d(10),i=d(37),j=d(35),k=d(11),l=d(2).ArrayBuffer,m=d(199),n=g.ArrayBuffer,o=g.DataView,p=f.ABV&&l.isView,q=n.prototype.slice,r=f.VIEW,s="ArrayBuffer";e(e.G+e.W+e.F*(l!==n),{ArrayBuffer:n}),e(e.S+e.F*!f.CONSTR,s,{isView:function isView(a){return p&&p(a)||k(a)&&r in a}}),e(e.P+e.U+e.F*d(5)(function(){return!new n(2).slice(1,c).byteLength}),s,{slice:function slice(a,b){if(q!==c&&b===c)return q.call(h(this),a);for(var d=h(this).byteLength,e=i(a,d),f=i(b===c?d:b,d),g=new(m(this,n))(j(f-e)),k=new o(this),l=new o(g),p=0;e>1,k=23===b?E(2,-24)-E(2,-77):0,l=0,m=a<0||0===a&&1/a<0?1:0;for(a=D(a),a!=a||a===B?(e=a!=a?1:0,d=i):(d=F(G(a)/H),a*(f=E(2,-d))<1&&(d--,f*=2),a+=d+j>=1?k/f:k*E(2,1-j),a*f>=2&&(d++,f/=2),d+j>=i?(e=0,d=i):d+j>=1?(e=(a*f-1)*E(2,b),d+=j):(e=a*E(2,j-1)*E(2,b),d=0));b>=8;g[l++]=255&e,e/=256,b-=8);for(d=d<0;g[l++]=255&d,d/=256,h-=8);return g[--l]|=128*m,g},P=function(a,b,c){var d,e=8*c-b-1,f=(1<>1,h=e-7,i=c-1,j=a[i--],k=127&j;for(j>>=7;h>0;k=256*k+a[i],i--,h-=8);for(d=k&(1<<-h)-1,k>>=-h,h+=b;h>0;d=256*d+a[i],i--,h-=8);if(0===k)k=1-g;else{if(k===f)return d?NaN:j?-B:B;d+=E(2,b),k-=g}return(j?-1:1)*d*E(2,k-b)},Q=function(a){return a[3]<<24|a[2]<<16|a[1]<<8|a[0]},R=function(a){return[255&a]},S=function(a){return[255&a,a>>8&255]},T=function(a){return[255&a,a>>8&255,a>>16&255,a>>24&255]},U=function(a){return O(a,52,8)},V=function(a){return O(a,23,4)},W=function(a,b,c){p(a[u],b,{get:function(){return this[c]}})},X=function(a,b,c,d){var e=+c,f=m(e);if(e!=f||f<0||f+b>a[M])throw A(w);var g=a[L]._b,h=f+a[N],i=g.slice(h,h+b);return d?i:i.reverse()},Y=function(a,b,c,d,e,f){var g=+c,h=m(g);if(g!=h||h<0||h+b>a[M])throw A(w);for(var i=a[L]._b,j=h+a[N],k=d(+e),l=0;lba;)($=aa[ba++])in x||i(x,$,C[$]);g||(_.constructor=x)}var ca=new y(new x(2)),da=y[u].setInt8;ca.setInt8(0,2147483648),ca.setInt8(1,2147483649),!ca.getInt8(0)&&ca.getInt8(1)||j(y[u],{setInt8:function setInt8(a,b){da.call(this,a,b<<24>>24)},setUint8:function setUint8(a,b){da.call(this,a,b<<24>>24)}},!0)}else x=function ArrayBuffer(a){var b=Z(this,a);this._b=q.call(Array(b),0),this[M]=b},y=function DataView(a,b,d){l(this,y,t),l(a,x,t);var e=a[M],f=m(b);if(f<0||f>e)throw A("Wrong offset!");if(d=d===c?e-f:n(d),f+d>e)throw A(v);this[L]=a,this[N]=f,this[M]=d},f&&(W(x,J,"_l"),W(y,I,"_b"),W(y,J,"_l"),W(y,K,"_o")),j(y[u],{getInt8:function getInt8(a){return X(this,1,a)[0]<<24>>24},getUint8:function getUint8(a){return X(this,1,a)[0]},getInt16:function getInt16(a){var b=X(this,2,a,arguments[1]);return(b[1]<<8|b[0])<<16>>16},getUint16:function getUint16(a){var b=X(this,2,a,arguments[1]);return b[1]<<8|b[0]},getInt32:function getInt32(a){return Q(X(this,4,a,arguments[1]))},getUint32:function getUint32(a){return Q(X(this,4,a,arguments[1]))>>>0},getFloat32:function getFloat32(a){return P(X(this,4,a,arguments[1]),23,4)},getFloat64:function getFloat64(a){return P(X(this,8,a,arguments[1]),52,8)},setInt8:function setInt8(a,b){Y(this,1,a,R,b)},setUint8:function setUint8(a,b){Y(this,1,a,R,b)},setInt16:function setInt16(a,b){Y(this,2,a,S,b,arguments[2])},setUint16:function setUint16(a,b){Y(this,2,a,S,b,arguments[2])},setInt32:function setInt32(a,b){Y(this,4,a,T,b,arguments[2])},setUint32:function setUint32(a,b){Y(this,4,a,T,b,arguments[2])},setFloat32:function setFloat32(a,b){Y(this,4,a,V,b,arguments[2])},setFloat64:function setFloat64(a,b){Y(this,8,a,U,b,arguments[2])}});r(x,s),r(y,t),i(y[u],h.VIEW,!0),b[s]=x,b[t]=y},function(a,b,c){var d=c(6);d(d.G+d.W+d.F*!c(232).ABV,{DataView:c(233).DataView})},function(a,b,c){c(236)("Int8",1,function(a){return function Int8Array(b,c,d){return a(this,b,c,d)}})},function(a,b,d){if(d(4)){var e=d(26),f=d(2),g=d(5),h=d(6),i=d(232),j=d(233),k=d(18),l=d(197),m=d(15),n=d(8),o=d(202),p=d(36),q=d(35),r=d(37),s=d(14),t=d(3),u=d(69),v=d(73),w=d(11),x=d(56),y=d(154),z=d(44),A=d(57),B=d(48).f,C=d(156),D=d(17),E=d(23),F=d(164),G=d(34),H=d(199),I=d(183),J=d(135),K=d(157),L=d(186),M=d(180),N=d(177),O=d(9),P=d(49),Q=O.f,R=P.f,S=f.RangeError,T=f.TypeError,U=f.Uint8Array,V="ArrayBuffer",W="Shared"+V,X="BYTES_PER_ELEMENT",Y="prototype",Z=Array[Y],$=j.ArrayBuffer,_=j.DataView,aa=F(0),ba=F(2),ca=F(3),da=F(4),ea=F(5),fa=F(6),ga=G(!0),ha=G(!1),ia=I.values,ja=I.keys,ka=I.entries,la=Z.lastIndexOf,ma=Z.reduce,na=Z.reduceRight,oa=Z.join,pa=Z.sort,qa=Z.slice,ra=Z.toString,sa=Z.toLocaleString,ta=E("iterator"),ua=E("toStringTag"),va=D("typed_constructor"),wa=D("def_constructor"),xa=i.CONSTR,ya=i.TYPED,za=i.VIEW,Aa="Wrong length!",Ba=F(1,function(a,b){return Ha(H(a,a[wa]),b)}),Ca=g(function(){return 1===new U(new Uint16Array([1]).buffer)[0]}),Da=!!U&&!!U[Y].set&&g(function(){new U(1).set({})}),Ea=function(a,b){if(a===c)throw T(Aa);var d=+a,e=q(a);if(b&&!u(d,e))throw S(Aa);return e},Fa=function(a,b){var c=p(a);if(c<0||c%b)throw S("Wrong offset!");return c},Ga=function(a){if(w(a)&&ya in a)return a;throw T(a+" is not a typed array!")},Ha=function(a,b){if(!(w(a)&&va in a))throw T("It is not a typed array constructor!");return new a(b)},Ia=function(a,b){return Ja(H(a,a[wa]),b)},Ja=function(a,b){for(var c=0,d=b.length,e=Ha(a,d);d>c;)e[c]=b[c++];return e},Ka=function(a,b,c){Q(a,b,{get:function(){return this._d[c]}})},La=function from(a){var b,d,e,f,g,h,i=x(a),j=arguments.length,l=j>1?arguments[1]:c,m=l!==c,n=C(i);if(n!=c&&!y(n)){for(h=n.call(i),e=[],b=0;!(g=h.next()).done;b++)e.push(g.value);i=e}for(m&&j>2&&(l=k(l,arguments[2],2)),b=0,d=q(i.length),f=Ha(this,d);d>b;b++)f[b]=m?l(i[b],b):i[b];return f},Ma=function of(){for(var a=0,b=arguments.length,c=Ha(this,b);b>a;)c[a]=arguments[a++];return c},Na=!!U&&g(function(){sa.call(new U(1))}),Oa=function toLocaleString(){return sa.apply(Na?qa.call(Ga(this)):Ga(this),arguments)},Pa={copyWithin:function copyWithin(a,b){return N.call(Ga(this),a,b,arguments.length>2?arguments[2]:c)},every:function every(a){return da(Ga(this),a,arguments.length>1?arguments[1]:c)},fill:function fill(a){return M.apply(Ga(this),arguments)},filter:function filter(a){return Ia(this,ba(Ga(this),a,arguments.length>1?arguments[1]:c))},find:function find(a){return ea(Ga(this),a,arguments.length>1?arguments[1]:c)},findIndex:function findIndex(a){return fa(Ga(this),a,arguments.length>1?arguments[1]:c)},forEach:function forEach(a){aa(Ga(this),a,arguments.length>1?arguments[1]:c)},indexOf:function indexOf(a){return ha(Ga(this),a,arguments.length>1?arguments[1]:c)},includes:function includes(a){return ga(Ga(this),a,arguments.length>1?arguments[1]:c); -},join:function join(a){return oa.apply(Ga(this),arguments)},lastIndexOf:function lastIndexOf(a){return la.apply(Ga(this),arguments)},map:function map(a){return Ba(Ga(this),a,arguments.length>1?arguments[1]:c)},reduce:function reduce(a){return ma.apply(Ga(this),arguments)},reduceRight:function reduceRight(a){return na.apply(Ga(this),arguments)},reverse:function reverse(){for(var a,b=this,c=Ga(b).length,d=Math.floor(c/2),e=0;e1?arguments[1]:c)},sort:function sort(a){return pa.call(Ga(this),a)},subarray:function subarray(a,b){var d=Ga(this),e=d.length,f=r(a,e);return new(H(d,d[wa]))(d.buffer,d.byteOffset+f*d.BYTES_PER_ELEMENT,q((b===c?e:r(b,e))-f))}},Qa=function slice(a,b){return Ia(this,qa.call(Ga(this),a,b))},Ra=function set(a){Ga(this);var b=Fa(arguments[1],1),c=this.length,d=x(a),e=q(d.length),f=0;if(e+b>c)throw S(Aa);for(;f255?255:255&d),e.v[p](c*b+e.o,d,Ca)},E=function(a,b){Q(a,b,{get:function(){return C(this,b)},set:function(a){return D(this,b,a)},enumerable:!0})};u?(r=d(function(a,d,e,f){l(a,r,k,"_d");var g,h,i,j,m=0,o=0;if(w(d)){if(!(d instanceof $||(j=v(d))==V||j==W))return ya in d?Ja(r,d):La.call(r,d);g=d,o=Fa(e,b);var p=d.byteLength;if(f===c){if(p%b)throw S(Aa);if(h=p-o,h<0)throw S(Aa)}else if(h=q(f)*b,h+o>p)throw S(Aa);i=h/b}else i=Ea(d,!0),h=i*b,g=new $(h);for(n(a,"_d",{b:g,o:o,l:h,e:i,v:new _(g)});m1?arguments[1]:c)}}),d(178)("includes")},function(a,b,c){var d=c(6),e=c(125)(!0);d(d.P,"String",{at:function at(a){return e(this,a)}})},function(a,b,d){var e=d(6),f=d(248);e(e.P,"String",{padStart:function padStart(a){return f(this,a,arguments.length>1?arguments[1]:c,!0)}})},function(a,b,d){var e=d(35),f=d(85),g=d(33);a.exports=function(a,b,d,h){var i=String(g(a)),j=i.length,k=d===c?" ":String(d),l=e(b);if(l<=j||""==k)return i;var m=l-j,n=f.call(k,Math.ceil(m/k.length));return n.length>m&&(n=n.slice(0,m)),h?n+i:i+n}},function(a,b,d){var e=d(6),f=d(248);e(e.P,"String",{padEnd:function padEnd(a){return f(this,a,arguments.length>1?arguments[1]:c,!1)}})},function(a,b,c){c(81)("trimLeft",function(a){return function trimLeft(){return a(this,1)}},"trimStart")},function(a,b,c){c(81)("trimRight",function(a){return function trimRight(){return a(this,2)}},"trimEnd")},function(a,b,c){var d=c(6),e=c(33),f=c(35),g=c(128),h=c(188),i=RegExp.prototype,j=function(a,b){this._r=a,this._s=b};c(136)(j,"RegExp String",function next(){var a=this._r.exec(this._s);return{value:a,done:null===a}}),d(d.P,"String",{matchAll:function matchAll(a){if(e(this),!g(a))throw TypeError(a+" is not a regexp!");var b=String(this),c="flags"in i?String(a.flags):h.call(a),d=new RegExp(a.source,~c.indexOf("g")?c:"g"+c);return d.lastIndex=f(a.lastIndex),new j(d,b)}})},function(a,b,c){c(25)("asyncIterator")},function(a,b,c){c(25)("observable")},function(a,b,c){var d=c(6),e=c(221),f=c(30),g=c(49),h=c(155);d(d.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(a){for(var b,c=f(a),d=g.f,i=e(c),j={},k=0;i.length>k;)h(j,b=i[k++],d(c,b));return j}})},function(a,b,c){var d=c(6),e=c(257)(!1);d(d.S,"Object",{values:function values(a){return e(a)}})},function(a,b,c){var d=c(28),e=c(30),f=c(42).f;a.exports=function(a){return function(b){for(var c,g=e(b),h=d(g),i=h.length,j=0,k=[];i>j;)f.call(g,c=h[j++])&&k.push(a?[c,g[c]]:g[c]);return k}}},function(a,b,c){var d=c(6),e=c(257)(!0);d(d.S,"Object",{entries:function entries(a){return e(a)}})},function(a,b,c){var d=c(6),e=c(56),f=c(19),g=c(9);c(4)&&d(d.P+c(260),"Object",{__defineGetter__:function __defineGetter__(a,b){g.f(e(this),a,{get:f(b),enumerable:!0,configurable:!0})}})},function(a,b,c){a.exports=c(26)||!c(5)(function(){var a=Math.random();__defineSetter__.call(null,a,function(){}),delete c(2)[a]})},function(a,b,c){var d=c(6),e=c(56),f=c(19),g=c(9);c(4)&&d(d.P+c(260),"Object",{__defineSetter__:function __defineSetter__(a,b){g.f(e(this),a,{set:f(b),enumerable:!0,configurable:!0})}})},function(a,b,c){var d=c(6),e=c(56),f=c(14),g=c(57),h=c(49).f;c(4)&&d(d.P+c(260),"Object",{__lookupGetter__:function __lookupGetter__(a){var b,c=e(this),d=f(a,!0);do if(b=h(c,d))return b.get;while(c=g(c))}})},function(a,b,c){var d=c(6),e=c(56),f=c(14),g=c(57),h=c(49).f;c(4)&&d(d.P+c(260),"Object",{__lookupSetter__:function __lookupSetter__(a){var b,c=e(this),d=f(a,!0);do if(b=h(c,d))return b.set;while(c=g(c))}})},function(a,b,c){var d=c(6);d(d.P+d.R,"Map",{toJSON:c(265)("Map")})},function(a,b,c){var d=c(73),e=c(266);a.exports=function(a){return function toJSON(){if(d(this)!=a)throw TypeError(a+"#toJSON isn't generic");return e(this)}}},function(a,b,c){var d=c(198);a.exports=function(a,b){var c=[];return d(a,!1,c.push,c,b),c}},function(a,b,c){var d=c(6);d(d.P+d.R,"Set",{toJSON:c(265)("Set")})},function(a,b,c){var d=c(6);d(d.S,"System",{global:c(2)})},function(a,b,c){var d=c(6),e=c(32);d(d.S,"Error",{isError:function isError(a){return"Error"===e(a)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{iaddh:function iaddh(a,b,c,d){var e=a>>>0,f=b>>>0,g=c>>>0;return f+(d>>>0)+((e&g|(e|g)&~(e+g>>>0))>>>31)|0}})},function(a,b,c){var d=c(6);d(d.S,"Math",{isubh:function isubh(a,b,c,d){var e=a>>>0,f=b>>>0,g=c>>>0;return f-(d>>>0)-((~e&g|~(e^g)&e-g>>>0)>>>31)|0}})},function(a,b,c){var d=c(6);d(d.S,"Math",{imulh:function imulh(a,b){var c=65535,d=+a,e=+b,f=d&c,g=e&c,h=d>>16,i=e>>16,j=(h*g>>>0)+(f*g>>>16);return h*i+(j>>16)+((f*i>>>0)+(j&c)>>16)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{umulh:function umulh(a,b){var c=65535,d=+a,e=+b,f=d&c,g=e&c,h=d>>>16,i=e>>>16,j=(h*g>>>0)+(f*g>>>16);return h*i+(j>>>16)+((f*i>>>0)+(j&c)>>>16)}})},function(a,b,c){var d=c(275),e=c(10),f=d.key,g=d.set;d.exp({defineMetadata:function defineMetadata(a,b,c,d){g(a,b,e(c),f(d))}})},function(a,b,d){var e=d(203),f=d(6),g=d(21)("metadata"),h=g.store||(g.store=new(d(207))),i=function(a,b,d){var f=h.get(a);if(!f){if(!d)return c;h.set(a,f=new e)}var g=f.get(b);if(!g){if(!d)return c;f.set(b,g=new e)}return g},j=function(a,b,d){var e=i(b,d,!1);return e!==c&&e.has(a)},k=function(a,b,d){var e=i(b,d,!1);return e===c?c:e.get(a)},l=function(a,b,c,d){i(c,d,!0).set(a,b)},m=function(a,b){var c=i(a,b,!1),d=[];return c&&c.forEach(function(a,b){d.push(b)}),d},n=function(a){return a===c||"symbol"==typeof a?a:String(a)},o=function(a){f(f.S,"Reflect",a)};a.exports={store:h,map:i,has:j,get:k,set:l,keys:m,key:n,exp:o}},function(a,b,d){var e=d(275),f=d(10),g=e.key,h=e.map,i=e.store;e.exp({deleteMetadata:function deleteMetadata(a,b){var d=arguments.length<3?c:g(arguments[2]),e=h(f(b),d,!1);if(e===c||!e["delete"](a))return!1;if(e.size)return!0;var j=i.get(b);return j["delete"](d),!!j.size||i["delete"](b)}})},function(a,b,d){var e=d(275),f=d(10),g=d(57),h=e.has,i=e.get,j=e.key,k=function(a,b,d){var e=h(a,b,d);if(e)return i(a,b,d);var f=g(b);return null!==f?k(a,f,d):c};e.exp({getMetadata:function getMetadata(a,b){return k(a,f(b),arguments.length<3?c:j(arguments[2]))}})},function(a,b,d){var e=d(206),f=d(266),g=d(275),h=d(10),i=d(57),j=g.keys,k=g.key,l=function(a,b){var c=j(a,b),d=i(a);if(null===d)return c;var g=l(d,b);return g.length?c.length?f(new e(c.concat(g))):g:c};g.exp({getMetadataKeys:function getMetadataKeys(a){return l(h(a),arguments.length<2?c:k(arguments[1]))}})},function(a,b,d){var e=d(275),f=d(10),g=e.get,h=e.key;e.exp({getOwnMetadata:function getOwnMetadata(a,b){return g(a,f(b),arguments.length<3?c:h(arguments[2]))}})},function(a,b,d){var e=d(275),f=d(10),g=e.keys,h=e.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(a){return g(f(a),arguments.length<2?c:h(arguments[1]))}})},function(a,b,d){var e=d(275),f=d(10),g=d(57),h=e.has,i=e.key,j=function(a,b,c){var d=h(a,b,c);if(d)return!0;var e=g(b);return null!==e&&j(a,e,c)};e.exp({hasMetadata:function hasMetadata(a,b){return j(a,f(b),arguments.length<3?c:i(arguments[2]))}})},function(a,b,d){var e=d(275),f=d(10),g=e.has,h=e.key;e.exp({hasOwnMetadata:function hasOwnMetadata(a,b){return g(a,f(b),arguments.length<3?c:h(arguments[2]))}})},function(a,b,d){var e=d(275),f=d(10),g=d(19),h=e.key,i=e.set;e.exp({metadata:function metadata(a,b){return function decorator(d,e){i(a,b,(e!==c?f:g)(d),h(e))}}})},function(a,b,c){var d=c(6),e=c(201)(),f=c(2).process,g="process"==c(32)(f);d(d.G,{asap:function asap(a){var b=g&&f.domain;e(b?b.bind(a):a)}})},function(a,b,d){var e=d(6),f=d(2),g=d(7),h=d(201)(),i=d(23)("observable"),j=d(19),k=d(10),l=d(197),m=d(202),n=d(8),o=d(198),p=o.RETURN,q=function(a){return null==a?c:j(a)},r=function(a){var b=a._c;b&&(a._c=c,b())},s=function(a){return a._o===c},t=function(a){s(a)||(a._o=c,r(a))},u=function(a,b){k(a),this._c=c,this._o=a,a=new v(this);try{var d=b(a),e=d;null!=d&&("function"==typeof d.unsubscribe?d=function(){e.unsubscribe()}:j(d),this._c=d)}catch(f){return void a.error(f)}s(this)&&r(this)};u.prototype=m({},{unsubscribe:function unsubscribe(){t(this)}});var v=function(a){this._s=a};v.prototype=m({},{next:function next(a){var b=this._s;if(!s(b)){var c=b._o;try{var d=q(c.next);if(d)return d.call(c,a)}catch(e){try{t(b)}finally{throw e}}}},error:function error(a){var b=this._s;if(s(b))throw a;var d=b._o;b._o=c;try{var e=q(d.error);if(!e)throw a;a=e.call(d,a)}catch(f){try{r(b)}finally{throw f}}return r(b),a},complete:function complete(a){var b=this._s;if(!s(b)){var d=b._o;b._o=c;try{var e=q(d.complete);a=e?e.call(d,a):c}catch(f){try{r(b)}finally{throw f}}return r(b),a}}});var w=function Observable(a){l(this,w,"Observable","_f")._f=j(a)};m(w.prototype,{subscribe:function subscribe(a){return new u(a,this._f)},forEach:function forEach(a){var b=this;return new(g.Promise||f.Promise)(function(c,d){j(a);var e=b.subscribe({next:function(b){try{return a(b)}catch(c){d(c),e.unsubscribe()}},error:d,complete:c})})}}),m(w,{from:function from(a){var b="function"==typeof this?this:w,c=q(k(a)[i]);if(c){var d=k(c.call(a));return d.constructor===b?d:new b(function(a){return d.subscribe(a)})}return new b(function(b){var c=!1;return h(function(){if(!c){try{if(o(a,!1,function(a){if(b.next(a),c)return p})===p)return}catch(d){if(c)throw d;return void b.error(d)}b.complete()}}),function(){c=!0}})},of:function of(){for(var a=0,b=arguments.length,c=Array(b);ag;)(c[g]=arguments[g++])===h&&(i=!0);return function(){var d,f=this,g=arguments.length,j=0,k=0;if(!i&&!g)return e(a,c,f);if(d=c.slice(),i)for(;b>j;j++)d[j]===h&&(d[j]=arguments[k++]);for(;g>k;)d.push(arguments[k++]);return e(a,d,f)}}},function(a,b,c){a.exports=c(2)},function(a,b,d){function Dict(a){var b=i(null);return a!=c&&(p(a)?o(a,!0,function(a,c){b[a]=c}):h(b,a)),b}function reduce(a,b,c){n(b);var d,e,f=t(a),g=k(f),h=g.length,i=0;if(arguments.length<3){if(!h)throw TypeError("Reduce of empty object with no initial value");d=f[g[i++]]}else d=Object(c);for(;h>i;)v(f,e=g[i++])&&(d=b(d,f[e],e,a));return d}function includes(a,b){return(b==b?m(a,b):x(a,function(a){return a!=a}))!==c}function get(a,b){if(v(a,b))return a[b]}function set(a,b,c){return u&&b in Object?l.f(a,b,g(0,c)):a[b]=c,a}function isDict(a){return s(a)&&j(a)===Dict.prototype}var e=d(18),f=d(6),g=d(15),h=d(67),i=d(44),j=d(57),k=d(28),l=d(9),m=d(27),n=d(19),o=d(198),p=d(292),q=d(136),r=d(184),s=d(11),t=d(30),u=d(4),v=d(3),w=function(a){var b=1==a,d=4==a;return function(f,g,h){var i,j,k,l=e(g,h,3),m=t(f),n=b||7==a||2==a?new("function"==typeof this?this:Dict):c;for(i in m)if(v(m,i)&&(j=m[i],k=l(j,i,f),a))if(b)n[i]=k;else if(k)switch(a){case 2:n[i]=j;break;case 3:return!0;case 5:return j;case 6:return i;case 7:n[k[0]]=k[1]}else if(d)return!1;return 3==a||d?d:n}},x=w(6),y=function(a){return function(b){return new z(b,a)}},z=function(a,b){this._t=t(a),this._a=k(a),this._i=0,this._k=b};q(z,"Dict",function(){var a,b=this,d=b._t,e=b._a,f=b._k;do if(b._i>=e.length)return b._t=c,r(1);while(!v(d,a=e[b._i++]));return"keys"==f?r(0,a):"values"==f?r(0,d[a]):r(0,[a,d[a]])}),Dict.prototype=null,f(f.G+f.F,{Dict:Dict}),f(f.S,"Dict",{keys:y("keys"),values:y("values"),entries:y("entries"),forEach:w(0),map:w(1),filter:w(2),some:w(3),every:w(4),find:w(5),findKey:x,mapPairs:w(7),reduce:reduce,keyOf:m,includes:includes,has:v,get:get,set:set,isDict:isDict})},function(a,b,d){var e=d(73),f=d(23)("iterator"),g=d(135);a.exports=d(7).isIterable=function(a){var b=Object(a);return b[f]!==c||"@@iterator"in b||g.hasOwnProperty(e(b))}},function(a,b,c){var d=c(10),e=c(156);a.exports=c(7).getIterator=function(a){var b=e(a);if("function"!=typeof b)throw TypeError(a+" is not iterable!");return d(b.call(a))}},function(a,b,c){var d=c(2),e=c(7),f=c(6),g=c(289);f(f.G+f.F,{delay:function delay(a){return new(e.Promise||d.Promise)(function(b){setTimeout(g.call(b,!0),a)})}})},function(a,b,c){var d=c(290),e=c(6);c(7)._=d._=d._||{},e(e.P+e.F,"Function",{part:c(289)})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{isObject:c(11)})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{classof:c(73)})},function(a,b,c){var d=c(6),e=c(299);d(d.S+d.F,"Object",{define:e})},function(a,b,c){var d=c(9),e=c(49),f=c(221),g=c(30);a.exports=function define(a,b){for(var c,h=f(g(b)),i=h.length,j=0;i>j;)d.f(a,c=h[j++],e.f(b,c));return a}},function(a,b,c){var d=c(6),e=c(299),f=c(44);d(d.S+d.F,"Object",{make:function(a,b){return e(f(a),b)}})},function(a,b,d){d(134)(Number,"Number",function(a){this._l=+a,this._i=0},function(){var a=this._i++,b=!(a"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});d(d.P+d.F,"String",{escapeHTML:function escapeHTML(){return e(this)}})},function(a,b,c){var d=c(6),e=c(303)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});d(d.P+d.F,"String",{unescapeHTML:function unescapeHTML(){return e(this)}})}]),"undefined"!=typeof module&&module.exports?module.exports=a:"function"==typeof define&&define.amd?define(function(){return a}):b.core=a}(1,1); +!function(e,i,Jt){"use strict";!function(r){var e={};function __webpack_require__(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return r[t].call(n.exports,n,n.exports,__webpack_require__),n.l=!0,n.exports}__webpack_require__.m=r,__webpack_require__.c=e,__webpack_require__.d=function(t,n,r){__webpack_require__.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(t){var n=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=129)}([function(t,n,r){var v=r(2),g=r(13),y=r(14),d=r(15),_=r(19),b="prototype",S=function(t,n,r){var e,i,o,u,c=t&S.F,f=t&S.G,a=t&S.P,s=t&S.B,l=f?v:t&S.S?v[n]||(v[n]={}):(v[n]||{})[b],h=f?g:g[n]||(g[n]={}),p=h[b]||(h[b]={});for(e in f&&(r=n),r)o=((i=!c&&l&&l[e]!==Jt)?l:r)[e],u=s&&i?_(o,v):a&&"function"==typeof o?_(Function.call,o):o,l&&d(l,e,o,t&S.U),h[e]!=o&&y(h,e,u),a&&p[e]!=o&&(p[e]=o)};v.core=g,S.F=1,S.G=2,S.S=4,S.P=8,S.B=16,S.W=32,S.U=64,S.R=128,t.exports=S},function(t,n,r){var e=r(3);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof i&&(i=r)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n,r){var e=r(50)("wks"),i=r(36),o=r(2).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){var i=r(1),o=r(95),u=r(22),c=Object.defineProperty;n.f=r(7)?Object.defineProperty:function defineProperty(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){t.exports=!r(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n,r){var e=r(24),i=Math.min;t.exports=function(t){return 0"+i+""};t.exports=function(n,t){var r={};r[n]=t(o),e(e.P+e.F*i(function(){var t=""[n]('"');return t!==t.toLowerCase()||3document.F=Object<\/script>"),t.close(),s=t.F;r--;)delete s[a][u[r]];return s()};t.exports=Object.create||function create(t,n){var r;return null!==t?(f[a]=i(t),r=new f,f[a]=null,r[c]=t):r=s(),n===Jt?r:o(r,n)}},function(t,n,r){if(r(7)){var y=r(33),d=r(2),_=r(4),b=r(0),S=r(63),e=r(93),h=r(19),m=r(42),i=r(31),x=r(14),o=r(43),u=r(24),w=r(8),E=r(118),c=r(37),f=r(22),a=r(12),O=r(39),P=r(3),p=r(9),v=r(83),M=r(28),F=r(17),I=r(38).f,g=r(49),s=r(36),l=r(5),A=r(26),k=r(51),j=r(60),N=r(87),T=r(40),R=r(57),D=r(41),L=r(86),C=r(109),U=r(6),W=r(16),G=U.f,V=W.f,B=d.RangeError,q=d.TypeError,z=d.Uint8Array,K="ArrayBuffer",J="Shared"+K,H="BYTES_PER_ELEMENT",Y="prototype",X=Array[Y],$=e.ArrayBuffer,Z=e.DataView,Q=A(0),tt=A(2),nt=A(3),rt=A(4),et=A(5),it=A(6),ot=k(!0),ut=k(!1),ct=N.values,ft=N.keys,at=N.entries,st=X.lastIndexOf,lt=X.reduce,ht=X.reduceRight,pt=X.join,vt=X.sort,gt=X.slice,yt=X.toString,dt=X.toLocaleString,_t=l("iterator"),bt=l("toStringTag"),St=s("typed_constructor"),mt=s("def_constructor"),xt=S.CONSTR,wt=S.TYPED,Et=S.VIEW,Ot="Wrong length!",Pt=A(1,function(t,n){return kt(j(t,t[mt]),n)}),Mt=_(function(){return 1===new z(new Uint16Array([1]).buffer)[0]}),Ft=!!z&&!!z[Y].set&&_(function(){new z(1).set({})}),It=function(t,n){var r=u(t);if(r<0||r%n)throw B("Wrong offset!");return r},At=function(t){if(P(t)&&wt in t)return t;throw q(t+" is not a typed array!")},kt=function(t,n){if(!(P(t)&&St in t))throw q("It is not a typed array constructor!");return new t(n)},jt=function(t,n){return Nt(j(t,t[mt]),n)},Nt=function(t,n){for(var r=0,e=n.length,i=kt(t,e);r>>=1)&&(n+=n))1&e&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function sign(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||22025.465794806718>1,s=23===n?I(2,-24)-I(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=F(t))!=t||t===P?(i=t!=t?1:0,e=f):(e=A(k(t)/j),t*(o=I(2,-e))<1&&(e--,o*=2),2<=(t+=1<=e+a?s/o:s*I(2,1-a))*o&&(e++,o/=2),f<=e+a?(i=0,e=f):1<=e+a?(i=(t*o-1)*I(2,n),e+=a):(i=t*I(2,a-1)*I(2,n),e=0));8<=n;u[l++]=255&i,i/=256,n-=8);for(e=e<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;0>=-c,c+=n;0>8&255]}function packI32(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){g(t[S],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i=p(+r);if(t[D]>24)},setUint8:function setUint8(t,n){B.call(this,t,n<<24>>24)}},!0)}else x=function ArrayBuffer(t){s(this,x,_);var n=p(t);this._b=y.call(new Array(n),0),this[D]=n},w=function DataView(t,n,r){s(this,w,b),s(t,x,b);var e=t[D],i=l(n);if(i<0||e>24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n=get(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function getUint16(t){var n=get(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});d(x,_),d(w,b),c(w[S],u.VIEW,!0),n[_]=x,n[b]=w},function(t,n){t.exports=function(n,r){var e=r===Object(r)?function(t){return r[t]}:r;return function(t){return String(t).replace(n,e)}}},function(t,n,r){t.exports=!r(7)&&!r(4)(function(){return 7!=Object.defineProperty(r(67)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){n.f=r(5)},function(t,n,r){var u=r(12),c=r(11),f=r(51)(!1),a=r(69)("IE_PROTO");t.exports=function(t,n){var r,e=c(t),i=0,o=[];for(r in e)r!=a&&u(e,r)&&o.push(r);for(;i>>0||(u.test(r)?16:10))}:e},function(t,n){t.exports=Math.log1p||function log1p(t){return-1e-8<(t=+t)&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){var o=r(78),e=Math.pow,u=e(2,-52),c=e(2,-23),f=e(2,127)*(2-c),a=e(2,-126);t.exports=Math.fround||function fround(t){var n,r,e=Math.abs(t),i=o(t);return e>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(0),i=Math.exp;e(e.S,"Math",{cosh:function cosh(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(0),i=r(79);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(0);e(e.S,"Math",{fround:r(106)})},function(t,n,r){var e=r(0),f=Math.abs;e(e.S,"Math",{hypot:function hypot(t,n){for(var r,e,i=0,o=0,u=arguments.length,c=0;o>>16)*u+o*(r&i>>>16)<<16>>>0)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log1p:r(105)})},function(t,n,r){var e=r(0);e(e.S,"Math",{log2:function log2(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(0);e(e.S,"Math",{sign:r(78)})},function(t,n,r){var e=r(0),i=r(79),o=Math.exp;e(e.S+e.F*r(4)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(0),i=r(79),o=Math.exp;e(e.S,"Math",{tanh:function tanh(t){var n=i(t=+t),r=i(-t);return n==Infinity?1:r==Infinity?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(0);e(e.S,"Math",{trunc:function trunc(t){return(0>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(0),u=r(11),c=r(8);e(e.S,"String",{raw:function raw(t){for(var n=u(t.raw),r=c(n.length),e=arguments.length,i=[],o=0;o>>0,h=new RegExp(t.source,a+"g");for(_||(e=new RegExp("^"+h.source+"$(?!\\s)",a));(i=h.exec(r))&&!(s<(o=i.index+i[0][y])&&(f.push(r.slice(s,i.index)),!_&&1>>0,o=r>>>0;return(n>>>0)+(e>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{isubh:function isubh(t,n,r,e){var i=t>>>0,o=r>>>0;return(n>>>0)-(e>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{imulh:function imulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>16,c=e>>16,f=(u*o>>>0)+(i*o>>>16);return u*c+(f>>16)+((i*c>>>0)+(65535&f)>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,n,r){var e=r(0),i=Math.PI/180;e(e.S,"Math",{radians:function radians(t){return t*i}})},function(t,n,r){var e=r(0);e(e.S,"Math",{scale:r(124)})},function(t,n,r){var e=r(0);e(e.S,"Math",{umulh:function umulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>>16,c=e>>>16,f=(u*o>>>0)+(i*o>>>16);return u*c+(f>>>16)+((i*c>>>0)+(65535&f)>>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{signbit:function signbit(t){return(t=+t)!=t?t:0==t?1/t==Infinity:0"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});e(e.P+e.F,"String",{escapeHTML:function escapeHTML(){return i(this)}})},function(t,n,r){var e=r(0),i=r(94)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});e(e.P+e.F,"String",{unescapeHTML:function unescapeHTML(){return i(this)}})}]),"undefined"!=typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd?define(function(){return e}):i.core=e}(1,1); //# sourceMappingURL=core.min.js.map \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/core.min.js.map b/build/js-transpiled/node_modules/core-js/client/core.min.js.map index bc3ffc58..3d788029 100644 --- a/build/js-transpiled/node_modules/core-js/client/core.min.js.map +++ b/build/js-transpiled/node_modules/core-js/client/core.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["core.js"],"names":["__e","__g","undefined","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","global","has","DESCRIPTORS","$export","redefine","META","KEY","$fails","shared","setToStringTag","uid","wks","wksExt","wksDefine","keyOf","enumKeys","isArray","anObject","toIObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$DP","$keys","gOPD","f","dP","gOPN","$Symbol","Symbol","$JSON","JSON","_stringify","stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","Object","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","get","this","value","a","it","key","D","protoDesc","wrap","tag","sym","_k","isSymbol","iterator","$defineProperty","defineProperty","enumerable","$defineProperties","defineProperties","P","keys","i","l","length","$create","create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","$getOwnPropertyNames","getOwnPropertyNames","names","result","push","$getOwnPropertySymbols","getOwnPropertySymbols","IS_OP","TypeError","arguments","$set","configurable","set","toString","name","G","W","F","symbols","split","store","S","for","keyFor","useSetter","useSimple","replacer","$replacer","args","apply","valueOf","Math","window","self","Function","hasOwnProperty","exec","e","core","hide","ctx","type","source","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","B","target","expProto","U","R","version","object","IE8_DOM_DEFINE","O","Attributes","isObject","document","is","createElement","fn","val","bitmap","writable","SRC","TO_STRING","$toString","TPL","inspectSource","safe","isFunction","join","String","prototype","px","random","concat","aFunction","that","b","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","SHARED","def","TAG","stat","USE_SYMBOL","$exports","LIBRARY","charAt","getKeys","el","index","enumBugKeys","arrayIndexOf","IE_PROTO","IObject","defined","cof","slice","toLength","toIndex","IS_INCLUDES","$this","fromIndex","toInteger","min","ceil","floor","isNaN","max","gOPS","pIE","getSymbols","Array","arg","dPs","Empty","createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","documentElement","windowNames","getWindowNames","hiddenKeys","fails","toObject","$getPrototypeOf","getPrototypeOf","constructor","$freeze","freeze","$seal","seal","$preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","assign","$assign","A","K","forEach","k","T","aLen","j","x","y","setPrototypeOf","check","proto","test","buggy","__proto__","classof","ARG","tryGet","callee","bind","invoke","arraySlice","factories","construct","len","n","partArgs","bound","un","FProto","nameRE","NAME","match","HAS_INSTANCE","FunctionProto","inheritIfRequired","$trim","trim","NUMBER","$Number","Base","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","charCodeAt","NaN","code","digits","parseInt","Number","C","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","string","TYPE","replace","aNumberValue","repeat","$toFixed","toFixed","data","ERROR","ZERO","multiply","c2","divide","numToString","s","t","pow","acc","log","x2","fractionDigits","z","RangeError","msg","count","str","res","Infinity","$toPrecision","toPrecision","precision","EPSILON","_isFinite","isFinite","isInteger","number","abs","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","$parseFloat","parseFloat","$parseInt","ws","hex","log1p","sqrt","$acosh","acosh","MAX_VALUE","LN2","asinh","$asinh","$atanh","atanh","sign","cbrt","clz32","LOG2E","cosh","$expm1","expm1","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LN10","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","codePointAt","pos","context","ENDS_WITH","$endsWith","endsWith","searchString","endPosition","end","search","isRegExp","MATCH","re","INCLUDES","includes","indexOf","STARTS_WITH","$startsWith","startsWith","iterated","_t","_i","point","done","Iterators","$iterCreate","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","values","entries","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","descriptor","createHTML","anchor","quot","attribute","p1","toLowerCase","big","blink","bold","fixed","fontcolor","color","fontsize","size","italics","link","url","small","strike","sub","sup","isArrayIter","createProperty","getIterFn","iter","from","arrayLike","step","mapfn","mapping","iterFn","ret","ArrayProto","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","of","arrayJoin","separator","method","html","begin","klass","start","upTo","cloned","$sort","sort","comparefn","$forEach","STRICT","callbackfn","asc","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","speciesConstructor","original","SPECIES","$map","map","$filter","filter","$some","some","$every","every","$reduce","reduce","memo","isRight","reduceRight","$indexOf","NEGATIVE_ZERO","searchElement","lastIndexOf","copyWithin","to","inc","UNSCOPABLES","fill","endPos","$find","forced","find","findIndex","addToUnscopables","Arguments","$flags","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","proxy","ignoreCase","multiline","unicode","sticky","define","flags","$match","regexp","SYMBOL","fns","strfn","rxfn","REPLACE","$replace","searchValue","replaceValue","SEARCH","$search","SPLIT","$split","_split","$push","$SPLIT","LENGTH","LAST_INDEX","NPCG","limit","separator2","lastIndex","lastLength","output","lastLastIndex","splitLimit","separatorCopy","Internal","GenericPromiseCapability","Wrapper","anInstance","forOf","task","microtask","PROMISE","process","$Promise","isNode","empty","promise","resolve","FakePromise","PromiseRejectionEvent","then","sameConstructor","isThenable","newPromiseCapability","PromiseCapability","reject","$$resolve","$$reject","perform","error","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","abrupt","console","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","Promise","executor","err","onFulfilled","onRejected","catch","r","capability","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","defer","channel","port","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","counter","queue","ONREADYSTATECHANGE","listener","event","nextTick","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","clear","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","toggle","node","createTextNode","observe","characterData","strong","Map","entry","getEntry","v","redefineAll","$iterDefine","setSpecies","SIZE","_f","getConstructor","ADDER","_l","delete","prev","setStrong","$iterDetect","common","IS_WEAK","fixMethod","add","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","Set","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","WeakMap","$WeakMap","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","splice","WeakSet","rApply","Reflect","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","desc","Enumerate","enumerate","receiver","getProto","ownKeys","V","existingDescriptor","ownDesc","setProto","now","Date","getTime","toJSON","toISOString","pv","lz","num","d","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","INVALID_DATE","hint","$typed","buffer","ArrayBuffer","$ArrayBuffer","$DataView","DataView","$isView","ABV","isView","$slice","VIEW","ARRAY_BUFFER","CONSTR","byteLength","final","viewS","viewT","setUint8","getUint8","Typed","TYPED","TypedArrayConstructors","arrayFill","DATA_VIEW","WRONG_LENGTH","WRONG_INDEX","BaseBuffer","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","addGetter","internal","view","isLittleEndian","numIndex","intIndex","_b","pack","reverse","conversion","validateArrayBufferArguments","numberLength","ArrayBufferProto","$setInt8","setInt8","getInt8","byteOffset","bufferLength","offset","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","init","Int8Array","$buffer","propertyDesc","same","createArrayIncludes","ArrayIterators","arrayCopyWithin","Uint8Array","SHARED_BUFFER","BYTES_PER_ELEMENT","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","TYPED_ARRAY","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","strictToLength","SAME","toOffset","BYTES","validate","speciesFromList","list","fromList","$from","$of","TO_LOCALE_BUG","$toLocaleString","predicate","middle","subarray","$begin","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","ISNT_UINT8","GETTER","SETTER","TypedArray","TAC","TypedArrayPrototype","getter","o","round","addElement","$offset","$length","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","Uint8ClampedArray","Int16Array","Int32Array","Uint32Array","Float32Array","Float64Array","$includes","at","$pad","padStart","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","padEnd","trimLeft","trimRight","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","rx","getOwnPropertyDescriptors","getDesc","$values","isEntries","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","isError","iaddh","x0","x1","y0","y1","$x0","$x1","$y0","isubh","imulh","u","$u","$v","u0","v0","u1","v1","umulh","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","targetKey","getOrCreateMetadataMap","targetMetadata","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","_","deleteMetadata","ordinaryGetMetadata","hasOwn","getMetadata","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","decorator","asap","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","Observable","subscribe","observable","items","$task","TO_STRING_TAG","ArrayValues","collections","Collection","partial","navigator","MSIE","userAgent","time","setInterval","path","pargs","holder","Dict","dict","isIterable","findKey","isDict","createDictMethod","createDictIter","DictIterator","mapPairs","getIterator","delay","part","mixin","make","$re","escape","regExp","&","<",">","\"","'","escapeHTML","&","<",">",""","'","unescapeHTML","amd"],"mappings":";;;;;;CAMC,SAASA,EAAKC,EAAKC,GACpB,cACS,SAAUC,GAKT,QAASC,qBAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUE,OAGnC,IAAIC,GAASF,EAAiBD,IAC7BE,WACAE,GAAIJ,EACJK,QAAQ,EAUT,OANAP,GAAQE,GAAUM,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAASH,qBAG/DI,EAAOE,QAAS,EAGTF,EAAOD,QAvBf,GAAID,KAqCJ,OATAF,qBAAoBQ,EAAIT,EAGxBC,oBAAoBS,EAAIP,EAGxBF,oBAAoBU,EAAI,GAGjBV,oBAAoB,KAK/B,SAASI,EAAQD,EAASH,GAE/BA,EAAoB,GACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,K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","file":"core.min.js"} \ No newline at end of file +{"version":3,"sources":["core.js"],"names":["__e","__g","undefined","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","PROTOTYPE","$export","type","source","key","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_PROTO","P","IS_BIND","B","target","S","expProto","Function","U","W","R","isObject","it","TypeError","window","Math","self","exec","e","store","uid","Symbol","USE_SYMBOL","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","value","a","toInteger","min","defined","IObject","version","createDesc","has","SRC","TO_STRING","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","toString","this","pIE","toIObject","gOPD","getOwnPropertyDescriptor","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","fails","quot","createHTML","string","tag","attribute","p1","replace","NAME","test","toLowerCase","length","aFunction","fn","that","b","apply","arguments","slice","method","arg","valueOf","ceil","floor","isNaN","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","callbackfn","res","index","result","push","$keys","enumBugKeys","keys","dPs","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","document","open","write","lt","close","Properties","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ARRAY_BUFFER","SHARED_BUFFER","BYTES_PER_ELEMENT","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","WRONG_LENGTH","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","$slice","$set","arrayLike","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","TypedArrayPrototype","addElement","data","v","round","ABV","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","bitmap","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","UNSCOPABLES","BREAK","RETURN","iterable","px","random","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","DESCRIPTORS","SPECIES","Constructor","forbiddenField","def","stat","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","_t","propertyIsEnumerable","getIteratorMethod","SHARED","mode","copyright","IS_INCLUDES","el","fromIndex","getOwnPropertySymbols","isArray","MATCH","isRegExp","$iterCreate","setToStringTag","BUGGY","VALUES","returnThis","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","descriptor","SAFE_CLOSING","riter","skipClosing","arr","ignoreCase","multiline","unicode","sticky","SYMBOL","fns","strfn","rxfn","D","navigator","userAgent","forOf","inheritIfRequired","common","IS_WEAK","ADDER","fixMethod","add","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","K","__defineSetter__","COLLECTION","A","cb","mapFn","nextItem","is","createElement","wksExt","$Symbol","charAt","documentElement","getKeys","gOPS","$assign","assign","k","getSymbols","isEnum","j","check","setPrototypeOf","buggy","__proto__","args","un","repeat","count","str","Infinity","sign","x","$expm1","expm1","pos","charCodeAt","searchString","re","$defineProperty","original","endPos","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","resolve","promise","then","toggle","node","createTextNode","observe","characterData","task","PromiseCapability","reject","$$resolve","$$reject","Reflect","ownKeys","DATA_VIEW","WRONG_INDEX","BaseBuffer","abs","pow","log","LN2","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","pack","_b","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","regExp","replacer","part","names","defineProperties","windowNames","getWindowNames","factories","bind","partArgs","bound","construct","msg","isInteger","isFinite","$parseFloat","parseFloat","$trim","$parseInt","parseInt","ws","hex","radix","log1p","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","ret","memo","isRight","to","inc","flags","newPromiseCapability","promiseCapability","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","r","delete","prev","Set","InternalMap","each","weak","WEAK_MAP","uncaughtFrozenStore","ufstore","tmp","WeakMap","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","IS_CONCAT_SPREADABLE","flattenIntoArray","sourceLen","depth","mapper","thisArg","element","spreadable","targetIndex","sourceIndex","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","isEntries","toJSON","scale","inLow","inHigh","outLow","outHigh","isIterable","path","pargs","holder","define","mixin","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","$replacer","symbols","$getPrototypeOf","$freeze","$seal","seal","$preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","y","FProto","nameRE","match","HAS_INSTANCE","FunctionProto","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","Number","aNumberValue","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","t","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","codePointAt","context","ENDS_WITH","$endsWith","endsWith","endPosition","search","INCLUDES","STARTS_WITH","$startsWith","startsWith","point","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","size","italics","link","url","small","strike","sub","sup","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","forced","$flags","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","proxy","$match","regexp","REPLACE","$replace","searchValue","replaceValue","SEARCH","$search","SPLIT","$split","_split","$push","$SPLIT","LENGTH","LAST_INDEX","NPCG","limit","separator2","lastIndex","lastLength","output","lastLastIndex","splitLimit","separatorCopy","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","WEAK_SET","WeakSet","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","Date","getTime","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","INVALID_DATE","hint","$isView","isView","fin","viewS","viewT","init","Int8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint32Array","Float32Array","Float64Array","$includes","arraySpeciesCreate","flatMap","flatten","depthArg","at","$pad","padStart","padEnd","trimLeft","trimRight","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","rx","getOwnPropertyDescriptors","getDesc","$values","__defineGetter__","__lookupGetter__","__lookupSetter__","isError","clamp","lower","upper","DEG_PER_RAD","PI","RAD_PER_DEG","degrees","radians","fscale","iaddh","x0","x1","y0","y1","$x0","$y0","isubh","imulh","u","$u","$v","u0","v0","u1","v1","umulh","signbit","finally","onFinally","try","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","decorator","asap","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","Observable","subscribe","observable","items","$task","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","MSIE","time","boundArgs","setInterval","keyOf","createDictMethod","Dict","findKey","createDictIter","DictIterator","dict","mapPairs","isDict","getIterator","partial","delay","make","$re","escape","&","<",">","\"","'","escapeHTML","&","<",">",""","'","unescapeHTML","amd"],"mappings":"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ACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,IACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpB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","file":"core.min.js"} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/library.js b/build/js-transpiled/node_modules/core-js/client/library.js index b332abde..7179088e 100644 --- a/build/js-transpiled/node_modules/core-js/client/library.js +++ b/build/js-transpiled/node_modules/core-js/client/library.js @@ -1,7136 +1,8129 @@ /** - * core-js 2.4.1 + * core-js 2.5.7 * https://github.com/zloirock/core-js * License: http://rock.mit-license.org - * © 2016 Denis Pushkarev + * © 2018 Denis Pushkarev */ !function(__e, __g, undefined){ 'use strict'; /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; - +/******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { - +/******/ /******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) +/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; - +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} /******/ }; - +/******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - +/******/ /******/ // Flag the module as loaded -/******/ module.loaded = true; - +/******/ module.l = true; +/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } - - +/******/ +/******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; - +/******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; - +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; - +/******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __webpack_require__(__webpack_require__.s = 126); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(1); - __webpack_require__(50); - __webpack_require__(51); - __webpack_require__(52); - __webpack_require__(54); - __webpack_require__(55); - __webpack_require__(58); - __webpack_require__(59); - __webpack_require__(60); - __webpack_require__(61); - __webpack_require__(62); - __webpack_require__(63); - __webpack_require__(64); - __webpack_require__(65); - __webpack_require__(66); - __webpack_require__(68); - __webpack_require__(70); - __webpack_require__(72); - __webpack_require__(75); - __webpack_require__(76); - __webpack_require__(79); - __webpack_require__(80); - __webpack_require__(81); - __webpack_require__(82); - __webpack_require__(84); - __webpack_require__(85); - __webpack_require__(86); - __webpack_require__(87); - __webpack_require__(88); - __webpack_require__(92); - __webpack_require__(94); - __webpack_require__(95); - __webpack_require__(96); - __webpack_require__(98); - __webpack_require__(99); - __webpack_require__(100); - __webpack_require__(102); - __webpack_require__(103); - __webpack_require__(104); - __webpack_require__(106); - __webpack_require__(107); - __webpack_require__(108); - __webpack_require__(109); - __webpack_require__(110); - __webpack_require__(111); - __webpack_require__(112); - __webpack_require__(113); - __webpack_require__(114); - __webpack_require__(115); - __webpack_require__(116); - __webpack_require__(117); - __webpack_require__(118); - __webpack_require__(119); - __webpack_require__(121); - __webpack_require__(125); - __webpack_require__(126); - __webpack_require__(127); - __webpack_require__(128); - __webpack_require__(132); - __webpack_require__(134); - __webpack_require__(135); - __webpack_require__(136); - __webpack_require__(137); - __webpack_require__(138); - __webpack_require__(139); - __webpack_require__(140); - __webpack_require__(141); - __webpack_require__(142); - __webpack_require__(143); - __webpack_require__(144); - __webpack_require__(145); - __webpack_require__(146); - __webpack_require__(147); - __webpack_require__(154); - __webpack_require__(155); - __webpack_require__(157); - __webpack_require__(158); - __webpack_require__(159); - __webpack_require__(163); - __webpack_require__(164); - __webpack_require__(165); - __webpack_require__(166); - __webpack_require__(167); - __webpack_require__(169); - __webpack_require__(170); - __webpack_require__(171); - __webpack_require__(172); - __webpack_require__(175); - __webpack_require__(177); - __webpack_require__(178); - __webpack_require__(179); - __webpack_require__(181); - __webpack_require__(183); - __webpack_require__(190); - __webpack_require__(193); - __webpack_require__(194); - __webpack_require__(196); - __webpack_require__(197); - __webpack_require__(198); - __webpack_require__(199); - __webpack_require__(200); - __webpack_require__(201); - __webpack_require__(202); - __webpack_require__(203); - __webpack_require__(204); - __webpack_require__(205); - __webpack_require__(206); - __webpack_require__(207); - __webpack_require__(209); - __webpack_require__(210); - __webpack_require__(211); - __webpack_require__(212); - __webpack_require__(213); - __webpack_require__(214); - __webpack_require__(215); - __webpack_require__(218); - __webpack_require__(219); - __webpack_require__(221); - __webpack_require__(222); - __webpack_require__(223); - __webpack_require__(224); - __webpack_require__(225); - __webpack_require__(226); - __webpack_require__(227); - __webpack_require__(228); - __webpack_require__(229); - __webpack_require__(230); - __webpack_require__(231); - __webpack_require__(233); - __webpack_require__(234); - __webpack_require__(235); - __webpack_require__(236); - __webpack_require__(238); - __webpack_require__(239); - __webpack_require__(240); - __webpack_require__(241); - __webpack_require__(243); - __webpack_require__(244); - __webpack_require__(246); - __webpack_require__(247); - __webpack_require__(248); - __webpack_require__(249); - __webpack_require__(252); - __webpack_require__(253); - __webpack_require__(254); - __webpack_require__(255); - __webpack_require__(256); - __webpack_require__(257); - __webpack_require__(258); - __webpack_require__(259); - __webpack_require__(261); - __webpack_require__(262); - __webpack_require__(263); - __webpack_require__(264); - __webpack_require__(265); - __webpack_require__(266); - __webpack_require__(267); - __webpack_require__(268); - __webpack_require__(269); - __webpack_require__(270); - __webpack_require__(271); - __webpack_require__(272); - __webpack_require__(273); - __webpack_require__(276); - __webpack_require__(151); - __webpack_require__(278); - __webpack_require__(277); - __webpack_require__(279); - __webpack_require__(280); - __webpack_require__(281); - __webpack_require__(282); - __webpack_require__(283); - __webpack_require__(285); - __webpack_require__(286); - __webpack_require__(287); - __webpack_require__(289); - module.exports = __webpack_require__(290); - - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(12); +var ctx = __webpack_require__(16); +var hide = __webpack_require__(17); +var has = __webpack_require__(15); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + if (own && has(exports, key)) continue; + // export native or passed + out = own ? target[key] : source[key]; + // prevent global pollution for namespaces + exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] + // bind timers to global for call from export context + : IS_BIND && own ? ctx(out, global) + // wrap global constructors for prevent change them in library + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); + case 1: return new C(a); + case 2: return new C(a, b); + } return new C(a, b, c); + } return C.apply(this, arguments); + }; + F[PROTOTYPE] = C[PROTOTYPE]; + return F; + // make static versions for prototype methods + })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% + if (IS_PROTO) { + (exports.virtual || (exports.virtual = {}))[key] = out; + // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); + } + } +}; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + + +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // ECMAScript 6 symbols shim - var global = __webpack_require__(2) - , has = __webpack_require__(3) - , DESCRIPTORS = __webpack_require__(4) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(18) - , META = __webpack_require__(19).KEY - , $fails = __webpack_require__(5) - , shared = __webpack_require__(21) - , setToStringTag = __webpack_require__(22) - , uid = __webpack_require__(20) - , wks = __webpack_require__(23) - , wksExt = __webpack_require__(24) - , wksDefine = __webpack_require__(25) - , keyOf = __webpack_require__(27) - , enumKeys = __webpack_require__(40) - , isArray = __webpack_require__(43) - , anObject = __webpack_require__(12) - , toIObject = __webpack_require__(30) - , toPrimitive = __webpack_require__(16) - , createDesc = __webpack_require__(17) - , _create = __webpack_require__(44) - , gOPNExt = __webpack_require__(47) - , $GOPD = __webpack_require__(49) - , $DP = __webpack_require__(11) - , $keys = __webpack_require__(28) - , gOPD = $GOPD.f - , dP = $DP.f - , gOPN = gOPNExt.f - , $Symbol = global.Symbol - , $JSON = global.JSON - , _stringify = $JSON && $JSON.stringify - , PROTOTYPE = 'prototype' - , HIDDEN = wks('_hidden') - , TO_PRIMITIVE = wks('toPrimitive') - , isEnum = {}.propertyIsEnumerable - , SymbolRegistry = shared('symbol-registry') - , AllSymbols = shared('symbols') - , OPSymbols = shared('op-symbols') - , ObjectProto = Object[PROTOTYPE] - , USE_NATIVE = typeof $Symbol == 'function' - , QObject = global.QObject; - // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 - var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - var setSymbolDesc = DESCRIPTORS && $fails(function(){ - return _create(dP({}, 'a', { - get: function(){ return dP(this, 'a', {value: 7}).a; } - })).a != 7; - }) ? function(it, key, D){ - var protoDesc = gOPD(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; - dP(it, key, D); - if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc); - } : dP; - - var wrap = function(tag){ - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; - }; - - var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ - return typeof it == 'symbol'; - } : function(it){ - return it instanceof $Symbol; - }; - - var $defineProperty = function defineProperty(it, key, D){ - if(it === ObjectProto)$defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if(has(AllSymbols, key)){ - if(!D.enumerable){ - if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = _create(D, {enumerable: createDesc(0, false)}); - } return setSymbolDesc(it, key, D); - } return dP(it, key, D); - }; - var $defineProperties = function defineProperties(it, P){ - anObject(it); - var keys = enumKeys(P = toIObject(P)) - , i = 0 - , l = keys.length - , key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); - return it; - }; - var $create = function create(it, P){ - return P === undefined ? _create(it) : $defineProperties(_create(it), P); - }; - var $propertyIsEnumerable = function propertyIsEnumerable(key){ - var E = isEnum.call(this, key = toPrimitive(key, true)); - if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; - }; - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ - it = toIObject(it); - key = toPrimitive(key, true); - if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return; - var D = gOPD(it, key); - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; - return D; - }; - var $getOwnPropertyNames = function getOwnPropertyNames(it){ - var names = gOPN(toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); - } return result; - }; - var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ - var IS_OP = it === ObjectProto - , names = gOPN(IS_OP ? OPSymbols : toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]); - } return result; - }; - - // 19.4.1.1 Symbol([description]) - if(!USE_NATIVE){ - $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value){ - if(this === ObjectProto)$set.call(OPSymbols, value); - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set}); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString(){ - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - __webpack_require__(48).f = gOPNExt.f = $getOwnPropertyNames; - __webpack_require__(42).f = $propertyIsEnumerable; - __webpack_require__(41).f = $getOwnPropertySymbols; - - if(DESCRIPTORS && !__webpack_require__(26)){ - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function(name){ - return wrap(wks(name)); - } - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol}); - - for(var symbols = ( - // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' - ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]); - - for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]); - - $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function(key){ - return has(SymbolRegistry, key += '') - ? SymbolRegistry[key] - : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(key){ - if(isSymbol(key))return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); - }, - useSetter: function(){ setter = true; }, - useSimple: function(){ setter = false; } - }); - - $export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols - }); - - // 24.3.2 JSON.stringify(value [, replacer [, space]]) - $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){ - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; - })), 'JSON', { - stringify: function stringify(it){ - if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined - var args = [it] - , i = 1 - , replacer, $replacer; - while(arguments.length > i)args.push(arguments[i++]); - replacer = args[1]; - if(typeof replacer == 'function')$replacer = replacer; - if($replacer || !isArray(replacer))replacer = function(key, value){ - if($replacer)value = $replacer.call(this, key, value); - if(!isSymbol(value))return value; - }; - args[1] = replacer; - return _stringify.apply($JSON, args); - } - }); - - // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) - $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); - // 19.4.3.5 Symbol.prototype[@@toStringTag] - setToStringTag($Symbol, 'Symbol'); - // 20.2.1.9 Math[@@toStringTag] - setToStringTag(Math, 'Math', true); - // 24.3.3 JSON[@@toStringTag] - setToStringTag(global.JSON, 'JSON', true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(3); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; + + +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); - if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef -/***/ }, + +/***/ }), /* 3 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; - var hasOwnProperty = {}.hasOwnProperty; - module.exports = function(it, key){ - return hasOwnProperty.call(it, key); - }; -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // Thank's IE8 for his funny defineProperty - module.exports = !__webpack_require__(5)(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; - }); +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; -/***/ }, + +/***/ }), /* 5 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var store = __webpack_require__(49)('wks'); +var uid = __webpack_require__(40); +var Symbol = __webpack_require__(2).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; - module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } - }; -/***/ }, +/***/ }), /* 6 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , ctx = __webpack_require__(8) - , hide = __webpack_require__(10) - , PROTOTYPE = 'prototype'; - - var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , IS_WRAP = type & $export.W - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE] - , key, own, out; - if(IS_GLOBAL)source = name; - for(key in source){ - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - if(own && key in exports)continue; - // export native or passed - out = own ? target[key] : source[key]; - // prevent global pollution for namespaces - exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] - // bind timers to global for call from export context - : IS_BIND && own ? ctx(out, global) - // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? (function(C){ - var F = function(a, b, c){ - if(this instanceof C){ - switch(arguments.length){ - case 0: return new C; - case 1: return new C(a); - case 2: return new C(a, b); - } return new C(a, b, c); - } return C.apply(this, arguments); - }; - F[PROTOTYPE] = C[PROTOTYPE]; - return F; - // make static versions for prototype methods - })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if(IS_PROTO){ - (exports.virtual || (exports.virtual = {}))[key] = out; - // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out); - } - } - }; - // type bitmap - $export.F = 1; // forced - $export.G = 2; // global - $export.S = 4; // static - $export.P = 8; // proto - $export.B = 16; // bind - $export.W = 32; // wrap - $export.U = 64; // safe - $export.R = 128; // real proto method for `library` - module.exports = $export; - -/***/ }, -/* 7 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__(22); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; - var core = module.exports = {version: '2.4.0'}; - if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef -/***/ }, +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(1); +var IE8_DOM_DEFINE = __webpack_require__(90); +var toPrimitive = __webpack_require__(27); +var dP = Object.defineProperty; + +exports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), /* 8 */ -/***/ function(module, exports, __webpack_require__) { - - // optional / simple context binding - var aFunction = __webpack_require__(9); - module.exports = function(fn, that, length){ - aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ - return fn.call(that, a); - }; - case 2: return function(a, b){ - return fn.call(that, a, b); - }; - case 3: return function(a, b, c){ - return fn.call(that, a, b, c); - }; - } - return function(/* ...args */){ - return fn.apply(that, arguments); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(4)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), /* 9 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); - return it; - }; +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(24); +module.exports = function (it) { + return Object(defined(it)); +}; -/***/ }, + +/***/ }), /* 10 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11) - , createDesc = __webpack_require__(17); - module.exports = __webpack_require__(4) ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); - } : function(object, key, value){ - object[key] = value; - return object; - }; - -/***/ }, +/***/ (function(module, exports) { + +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; + + +/***/ }), /* 11 */ -/***/ function(module, exports, __webpack_require__) { - - var anObject = __webpack_require__(12) - , IE8_DOM_DEFINE = __webpack_require__(14) - , toPrimitive = __webpack_require__(16) - , dP = Object.defineProperty; - - exports.f = __webpack_require__(4) ? Object.defineProperty : function defineProperty(O, P, Attributes){ - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if(IE8_DOM_DEFINE)try { - return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(44); +var defined = __webpack_require__(24); +module.exports = function (it) { + return IObject(defined(it)); +}; + + +/***/ }), /* 12 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +var core = module.exports = { version: '2.5.7' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - var isObject = __webpack_require__(13); - module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); - return it; - }; -/***/ }, +/***/ }), /* 13 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; - }; +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = __webpack_require__(15); +var toObject = __webpack_require__(9); +var IE_PROTO = __webpack_require__(65)('IE_PROTO'); +var ObjectProto = Object.prototype; -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; - module.exports = !__webpack_require__(4) && !__webpack_require__(5)(function(){ - return Object.defineProperty(__webpack_require__(15)('div'), 'a', {get: function(){ return 7; }}).a != 7; - }); -/***/ }, +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var fails = __webpack_require__(4); +var defined = __webpack_require__(24); +var quot = /"/g; +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; +module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); +}; + + +/***/ }), /* 15 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var isObject = __webpack_require__(13) - , document = __webpack_require__(2).document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); - module.exports = function(it){ - return is ? document.createElement(it) : {}; - }; +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; -/***/ }, + +/***/ }), /* 16 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.1.1 ToPrimitive(input [, PreferredType]) - var isObject = __webpack_require__(13); - // instead of the ES6 spec version, we didn't implement @@toPrimitive case - // and the second argument - flag - preferred type is a string - module.exports = function(it, S){ - if(!isObject(it))return it; - var fn, val; - if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - throw TypeError("Can't convert object to primitive value"); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__(10); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), /* 17 */ -/***/ function(module, exports) { - - module.exports = function(bitmap, value){ - return { - enumerable : !(bitmap & 1), - configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value - }; - }; - -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(10); +var dP = __webpack_require__(7); +var createDesc = __webpack_require__(28); +module.exports = __webpack_require__(8) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; -/***/ }, + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +var pIE = __webpack_require__(45); +var createDesc = __webpack_require__(28); +var toIObject = __webpack_require__(11); +var toPrimitive = __webpack_require__(27); +var has = __webpack_require__(15); +var IE8_DOM_DEFINE = __webpack_require__(90); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = __webpack_require__(8) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + + +/***/ }), /* 19 */ -/***/ function(module, exports, __webpack_require__) { - - var META = __webpack_require__(20)('meta') - , isObject = __webpack_require__(13) - , has = __webpack_require__(3) - , setDesc = __webpack_require__(11).f - , id = 0; - var isExtensible = Object.isExtensible || function(){ - return true; - }; - var FREEZE = !__webpack_require__(5)(function(){ - return isExtensible(Object.preventExtensions({})); - }); - var setMeta = function(it){ - setDesc(it, META, {value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - }}); - }; - var fastKey = function(it, create){ - // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; - // not necessary to add metadata - if(!create)return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; - }; - var getWeak = function(it, create){ - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; - // not necessary to add metadata - if(!create)return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; - }; - // add metadata on freeze-family methods calling - var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); - return it; - }; - var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze - }; - -/***/ }, -/* 20 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(4); + +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); + }); +}; - var id = 0 - , px = Math.random(); - module.exports = function(key){ - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); - }; -/***/ }, +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = __webpack_require__(16); +var IObject = __webpack_require__(44); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(6); +var asc = __webpack_require__(80); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + + +/***/ }), /* 21 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +var toString = {}.toString; - var global = __webpack_require__(2) - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); - module.exports = function(key){ - return store[key] || (store[key] = {}); - }; +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; -/***/ }, + +/***/ }), /* 22 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var def = __webpack_require__(11).f - , has = __webpack_require__(3) - , TAG = __webpack_require__(23)('toStringTag'); +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; - module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); - }; -/***/ }, +/***/ }), /* 23 */ -/***/ function(module, exports, __webpack_require__) { - - var store = __webpack_require__(21)('wks') - , uid = __webpack_require__(20) - , Symbol = __webpack_require__(2).Symbol - , USE_SYMBOL = typeof Symbol == 'function'; +/***/ (function(module, exports, __webpack_require__) { - var $exports = module.exports = function(name){ - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); - }; +// most Object methods by ES6 should accept primitives +var $export = __webpack_require__(0); +var core = __webpack_require__(12); +var fails = __webpack_require__(4); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; - $exports.store = store; -/***/ }, +/***/ }), /* 24 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - exports.f = __webpack_require__(23); +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; -/***/ }, + +/***/ }), /* 25 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , LIBRARY = __webpack_require__(26) - , wksExt = __webpack_require__(24) - , defineProperty = __webpack_require__(11).f; - module.exports = function(name){ - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +if (__webpack_require__(8)) { + var LIBRARY = __webpack_require__(30); + var global = __webpack_require__(2); + var fails = __webpack_require__(4); + var $export = __webpack_require__(0); + var $typed = __webpack_require__(58); + var $buffer = __webpack_require__(88); + var ctx = __webpack_require__(16); + var anInstance = __webpack_require__(38); + var propertyDesc = __webpack_require__(28); + var hide = __webpack_require__(17); + var redefineAll = __webpack_require__(39); + var toInteger = __webpack_require__(22); + var toLength = __webpack_require__(6); + var toIndex = __webpack_require__(115); + var toAbsoluteIndex = __webpack_require__(35); + var toPrimitive = __webpack_require__(27); + var has = __webpack_require__(15); + var classof = __webpack_require__(37); + var isObject = __webpack_require__(3); + var toObject = __webpack_require__(9); + var isArrayIter = __webpack_require__(77); + var create = __webpack_require__(32); + var getPrototypeOf = __webpack_require__(13); + var gOPN = __webpack_require__(46).f; + var getIterFn = __webpack_require__(48); + var uid = __webpack_require__(40); + var wks = __webpack_require__(5); + var createArrayMethod = __webpack_require__(20); + var createArrayIncludes = __webpack_require__(50); + var speciesConstructor = __webpack_require__(55); + var ArrayIterators = __webpack_require__(82); + var Iterators = __webpack_require__(36); + var $iterDetect = __webpack_require__(79); + var setSpecies = __webpack_require__(42); + var arrayFill = __webpack_require__(81); + var arrayCopyWithin = __webpack_require__(106); + var $DP = __webpack_require__(7); + var $GOPD = __webpack_require__(18); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var toOffset = function (it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + } return new C(length); + }; + + var speciesFromList = function (O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; + return result; + }; + + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); + }; + + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + } O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; + return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /* , end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /* , thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /* , thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, + arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /* , thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /* , thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /* , thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /* , fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /* , fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /* , thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; + }, + some: function some(callbackfn /* , thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( + O.buffer, + O.byteOffset + $begin * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) + ); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /* , offset */) { + validate(this); + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function (target, key) { + return isObject(target) + && target[TYPED_ARRAY] + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) + ? propertyDesc(2, target[key]) + : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) + && isObject(desc) + && has(desc, 'value') + && !has(desc, 'get') + && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable + && (!has(desc, 'writable') || desc.writable) + && (!has(desc, 'enumerable') || desc.enumerable) + ) { + target[key] = desc.value; + return target; + } return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function () { return this[TYPED_ARRAY]; } + }); + + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function (that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function (that, index) { + dP(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined + ? new Base(data, toOffset($offset, BYTES), $length) + : $offset !== undefined + ? new Base(data, toOffset($offset, BYTES)) + : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function () { return NAME; } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), /* 26 */ -/***/ function(module, exports) { - - module.exports = true; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var Map = __webpack_require__(109); +var $export = __webpack_require__(0); +var shared = __webpack_require__(49)('metadata'); +var store = shared.store || (shared.store = new (__webpack_require__(112))()); + +var getOrCreateMetadataMap = function (target, targetKey, create) { + var targetMetadata = store.get(target); + if (!targetMetadata) { + if (!create) return undefined; + store.set(target, targetMetadata = new Map()); + } + var keyMetadata = targetMetadata.get(targetKey); + if (!keyMetadata) { + if (!create) return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map()); + } return keyMetadata; +}; +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); +}; +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); +}; +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); +}; +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); + return keys; +}; +var toMetaKey = function (it) { + return it === undefined || typeof it == 'symbol' ? it : String(it); +}; +var exp = function (O) { + $export($export.S, 'Reflect', O); +}; + +module.exports = { + store: store, + map: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + key: toMetaKey, + exp: exp +}; + + +/***/ }), /* 27 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(28) - , toIObject = __webpack_require__(30); - module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__(3); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), /* 28 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 19.1.2.14 / 15.2.3.14 Object.keys(O) - var $keys = __webpack_require__(29) - , enumBugKeys = __webpack_require__(39); +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; - module.exports = Object.keys || function keys(O){ - return $keys(O, enumBugKeys); - }; -/***/ }, +/***/ }), /* 29 */ -/***/ function(module, exports, __webpack_require__) { - - var has = __webpack_require__(3) - , toIObject = __webpack_require__(30) - , arrayIndexOf = __webpack_require__(34)(false) - , IE_PROTO = __webpack_require__(38)('IE_PROTO'); - - module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ - ~arrayIndexOf(result, key) || result.push(key); - } - return result; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var META = __webpack_require__(40)('meta'); +var isObject = __webpack_require__(3); +var has = __webpack_require__(15); +var setDesc = __webpack_require__(7).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !__webpack_require__(4)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + + +/***/ }), /* 30 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // to indexed object, toObject with fallback for non-array-like ES3 strings - var IObject = __webpack_require__(31) - , defined = __webpack_require__(33); - module.exports = function(it){ - return IObject(defined(it)); - }; +module.exports = true; -/***/ }, -/* 31 */ -/***/ function(module, exports, __webpack_require__) { - // fallback for non-array-like ES3 and non-enumerable old V8 strings - var cof = __webpack_require__(32); - module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ - return cof(it) == 'String' ? it.split('') : Object(it); - }; +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 32 */ -/***/ function(module, exports) { +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(92); +var enumBugKeys = __webpack_require__(66); - var toString = {}.toString; +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; - module.exports = function(it){ - return toString.call(it).slice(8, -1); - }; -/***/ }, +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(1); +var dPs = __webpack_require__(93); +var enumBugKeys = __webpack_require__(66); +var IE_PROTO = __webpack_require__(65)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(62)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(67).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + + +/***/ }), /* 33 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +module.exports = function () { /* empty */ }; - // 7.2.1 RequireObjectCoercible(argument) - module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); - return it; - }; -/***/ }, +/***/ }), /* 34 */ -/***/ function(module, exports, __webpack_require__) { - - // false -> Array#indexOf - // true -> Array#includes - var toIObject = __webpack_require__(30) - , toLength = __webpack_require__(35) - , toIndex = __webpack_require__(37); - module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; - // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ - value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(16); +var call = __webpack_require__(104); +var isArrayIter = __webpack_require__(77); +var anObject = __webpack_require__(1); +var toLength = __webpack_require__(6); +var getIterFn = __webpack_require__(48); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + + +/***/ }), /* 35 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 7.1.15 ToLength - var toInteger = __webpack_require__(36) - , min = Math.min; - module.exports = function(it){ - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 - }; +var toInteger = __webpack_require__(22); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; -/***/ }, -/* 36 */ -/***/ function(module, exports) { - // 7.1.4 ToInteger - var ceil = Math.ceil - , floor = Math.floor; - module.exports = function(it){ - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); - }; +/***/ }), +/* 36 */ +/***/ (function(module, exports) { -/***/ }, -/* 37 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = {}; - var toInteger = __webpack_require__(36) - , max = Math.max - , min = Math.min; - module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); - }; -/***/ }, +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { + +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = __webpack_require__(21); +var TAG = __webpack_require__(5)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + + +/***/ }), /* 38 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var shared = __webpack_require__(21)('keys') - , uid = __webpack_require__(20); - module.exports = function(key){ - return shared[key] || (shared[key] = uid(key)); - }; +module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { + throw TypeError(name + ': incorrect invocation!'); + } return it; +}; -/***/ }, + +/***/ }), /* 39 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var hide = __webpack_require__(17); +module.exports = function (target, src, safe) { + for (var key in src) { + if (safe && target[key]) target[key] = src[key]; + else hide(target, key, src[key]); + } return target; +}; - // IE 8- don't enum bug keys - module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' - ).split(','); -/***/ }, +/***/ }), /* 40 */ -/***/ function(module, exports, __webpack_require__) { - - // all enumerable object keys, includes symbols - var getKeys = __webpack_require__(28) - , gOPS = __webpack_require__(41) - , pIE = __webpack_require__(42); - module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); - } return result; - }; - -/***/ }, +/***/ (function(module, exports) { + +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + + +/***/ }), /* 41 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var def = __webpack_require__(7).f; +var has = __webpack_require__(15); +var TAG = __webpack_require__(5)('toStringTag'); - exports.f = Object.getOwnPropertySymbols; +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; -/***/ }, + +/***/ }), /* 42 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - exports.f = {}.propertyIsEnumerable; +var global = __webpack_require__(2); +var core = __webpack_require__(12); +var dP = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(8); +var SPECIES = __webpack_require__(5)('species'); -/***/ }, +module.exports = function (KEY) { + var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + + +/***/ }), /* 43 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 7.2.2 IsArray(argument) - var cof = __webpack_require__(32); - module.exports = Array.isArray || function isArray(arg){ - return cof(arg) == 'Array'; - }; +var isObject = __webpack_require__(3); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; -/***/ }, + +/***/ }), /* 44 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - var anObject = __webpack_require__(12) - , dPs = __webpack_require__(45) - , enumBugKeys = __webpack_require__(39) - , IE_PROTO = __webpack_require__(38)('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - - // Create object with fake `null` prototype: use iframe Object with cleared prototype - var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(15)('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(46).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); - }; - - module.exports = Object.create || function create(O, Properties){ - var result; - if(O !== null){ - Empty[PROTOTYPE] = anObject(O); - result = new Empty; - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); - }; - - -/***/ }, -/* 45 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11) - , anObject = __webpack_require__(12) - , getKeys = __webpack_require__(28); - - module.exports = __webpack_require__(4) ? Object.defineProperties : function defineProperties(O, Properties){ - anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; - }; - -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(2).document && document.documentElement; +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = __webpack_require__(21); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; -/***/ }, -/* 47 */ -/***/ function(module, exports, __webpack_require__) { - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - var toIObject = __webpack_require__(30) - , gOPN = __webpack_require__(48).f - , toString = {}.toString; +/***/ }), +/* 45 */ +/***/ (function(module, exports) { + +exports.f = {}.propertyIsEnumerable; - var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - var getWindowNames = function(it){ - try { - return gOPN(it); - } catch(e){ - return windowNames.slice(); - } - }; +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = __webpack_require__(92); +var hiddenKeys = __webpack_require__(66).concat('length', 'prototype'); - module.exports.f = function getOwnPropertyNames(it){ - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); - }; +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; -/***/ }, +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var defined = __webpack_require__(24); +var fails = __webpack_require__(4); +var spaces = __webpack_require__(71); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); + +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; + + +/***/ }), /* 48 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) - var $keys = __webpack_require__(29) - , hiddenKeys = __webpack_require__(39).concat('length', 'prototype'); +var classof = __webpack_require__(37); +var ITERATOR = __webpack_require__(5)('iterator'); +var Iterators = __webpack_require__(36); +module.exports = __webpack_require__(12).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; - exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ - return $keys(O, hiddenKeys); - }; -/***/ }, +/***/ }), /* 49 */ -/***/ function(module, exports, __webpack_require__) { - - var pIE = __webpack_require__(42) - , createDesc = __webpack_require__(17) - , toIObject = __webpack_require__(30) - , toPrimitive = __webpack_require__(16) - , has = __webpack_require__(3) - , IE8_DOM_DEFINE = __webpack_require__(14) - , gOPD = Object.getOwnPropertyDescriptor; - - exports.f = __webpack_require__(4) ? gOPD : function getOwnPropertyDescriptor(O, P){ - O = toIObject(O); - P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { - return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); - }; - -/***/ }, -/* 50 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); - // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) - $export($export.S + $export.F * !__webpack_require__(4), 'Object', {defineProperty: __webpack_require__(11).f}); +var core = __webpack_require__(12); +var global = __webpack_require__(2); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); -/***/ }, +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: __webpack_require__(30) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); + + +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { + +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__(11); +var toLength = __webpack_require__(6); +var toAbsoluteIndex = __webpack_require__(35); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + + +/***/ }), /* 51 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { + +exports.f = Object.getOwnPropertySymbols; - var $export = __webpack_require__(6); - // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) - $export($export.S + $export.F * !__webpack_require__(4), 'Object', {defineProperties: __webpack_require__(45)}); -/***/ }, +/***/ }), /* 52 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - var toIObject = __webpack_require__(30) - , $getOwnPropertyDescriptor = __webpack_require__(49).f; +// 7.2.2 IsArray(argument) +var cof = __webpack_require__(21); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; - __webpack_require__(53)('getOwnPropertyDescriptor', function(){ - return function getOwnPropertyDescriptor(it, key){ - return $getOwnPropertyDescriptor(toIObject(it), key); - }; - }); -/***/ }, +/***/ }), /* 53 */ -/***/ function(module, exports, __webpack_require__) { - - // most Object methods by ES6 should accept primitives - var $export = __webpack_require__(6) - , core = __webpack_require__(7) - , fails = __webpack_require__(5); - module.exports = function(KEY, exec){ - var fn = (core.Object || {})[KEY] || Object[KEY] - , exp = {}; - exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(30); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(63); +var hide = __webpack_require__(17); +var Iterators = __webpack_require__(36); +var $iterCreate = __webpack_require__(54); +var setToStringTag = __webpack_require__(41); +var getPrototypeOf = __webpack_require__(13); +var ITERATOR = __webpack_require__(5)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + + +/***/ }), /* 54 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var create = __webpack_require__(32); +var descriptor = __webpack_require__(28); +var setToStringTag = __webpack_require__(41); +var IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +__webpack_require__(17)(IteratorPrototype, __webpack_require__(5)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; - var $export = __webpack_require__(6) - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - $export($export.S, 'Object', {create: __webpack_require__(44)}); -/***/ }, +/***/ }), /* 55 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.9 Object.getPrototypeOf(O) - var toObject = __webpack_require__(56) - , $getPrototypeOf = __webpack_require__(57); +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = __webpack_require__(1); +var aFunction = __webpack_require__(10); +var SPECIES = __webpack_require__(5)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; - __webpack_require__(53)('getPrototypeOf', function(){ - return function getPrototypeOf(it){ - return $getPrototypeOf(toObject(it)); - }; - }); -/***/ }, +/***/ }), /* 56 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 7.1.13 ToObject(argument) - var defined = __webpack_require__(33); - module.exports = function(it){ - return Object(defined(it)); - }; +var global = __webpack_require__(2); +var navigator = global.navigator; -/***/ }, +module.exports = navigator && navigator.userAgent || ''; + + +/***/ }), /* 57 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) - var has = __webpack_require__(3) - , toObject = __webpack_require__(56) - , IE_PROTO = __webpack_require__(38)('IE_PROTO') - , ObjectProto = Object.prototype; - - module.exports = Object.getPrototypeOf || function(O){ - O = toObject(O); - if(has(O, IE_PROTO))return O[IE_PROTO]; - if(typeof O.constructor == 'function' && O instanceof O.constructor){ - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var $export = __webpack_require__(0); +var meta = __webpack_require__(29); +var fails = __webpack_require__(4); +var hide = __webpack_require__(17); +var redefineAll = __webpack_require__(39); +var forOf = __webpack_require__(34); +var anInstance = __webpack_require__(38); +var isObject = __webpack_require__(3); +var setToStringTag = __webpack_require__(41); +var dP = __webpack_require__(7).f; +var each = __webpack_require__(20)(0); +var DESCRIPTORS = __webpack_require__(8); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME, '_c'); + target._c = new Base(); + if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target); + }); + each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) { + var IS_ADDER = KEY == 'add' || KEY == 'set'; + if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) { + anInstance(this, C, KEY); + if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false; + var result = this._c[KEY](a === 0 ? 0 : a, b); + return IS_ADDER ? this : result; + }); + }); + IS_WEAK || dP(C.prototype, 'size', { + get: function () { + return this._c.size; + } + }); + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F, O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + + +/***/ }), /* 58 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.14 Object.keys(O) - var toObject = __webpack_require__(56) - , $keys = __webpack_require__(28); +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var hide = __webpack_require__(17); +var uid = __webpack_require__(40); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; + +var TypedArrayConstructors = ( + 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' +).split(','); + +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; +} + +module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(53)('keys', function(){ - return function keys(it){ - return $keys(toObject(it)); - }; - }); +"use strict"; -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { +// Forced replacement prototype accessors methods +module.exports = __webpack_require__(30) || !__webpack_require__(4)(function () { + var K = Math.random(); + // In FF throws only define methods + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, K, function () { /* empty */ }); + delete __webpack_require__(2)[K]; +}); - // 19.1.2.7 Object.getOwnPropertyNames(O) - __webpack_require__(53)('getOwnPropertyNames', function(){ - return __webpack_require__(47).f; - }); -/***/ }, +/***/ }), /* 60 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.5 Object.freeze(O) - var isObject = __webpack_require__(13) - , meta = __webpack_require__(19).onFreeze; +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(53)('freeze', function($freeze){ - return function freeze(it){ - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; - }); +"use strict"; -/***/ }, -/* 61 */ -/***/ function(module, exports, __webpack_require__) { +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(0); - // 19.1.2.17 Object.seal(O) - var isObject = __webpack_require__(13) - , meta = __webpack_require__(19).onFreeze; +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { of: function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); + } }); +}; - __webpack_require__(53)('seal', function($seal){ - return function seal(it){ - return $seal && isObject(it) ? $seal(meta(it)) : it; - }; - }); -/***/ }, +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var ctx = __webpack_require__(16); +var forOf = __webpack_require__(34); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; + + +/***/ }), /* 62 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.15 Object.preventExtensions(O) - var isObject = __webpack_require__(13) - , meta = __webpack_require__(19).onFreeze; +var isObject = __webpack_require__(3); +var document = __webpack_require__(2).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; - __webpack_require__(53)('preventExtensions', function($preventExtensions){ - return function preventExtensions(it){ - return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; - }; - }); -/***/ }, +/***/ }), /* 63 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.12 Object.isFrozen(O) - var isObject = __webpack_require__(13); +module.exports = __webpack_require__(17); - __webpack_require__(53)('isFrozen', function($isFrozen){ - return function isFrozen(it){ - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; - }; - }); -/***/ }, +/***/ }), /* 64 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.13 Object.isSealed(O) - var isObject = __webpack_require__(13); +var global = __webpack_require__(2); +var core = __webpack_require__(12); +var LIBRARY = __webpack_require__(30); +var wksExt = __webpack_require__(91); +var defineProperty = __webpack_require__(7).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; - __webpack_require__(53)('isSealed', function($isSealed){ - return function isSealed(it){ - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; - }; - }); -/***/ }, +/***/ }), /* 65 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.11 Object.isExtensible(O) - var isObject = __webpack_require__(13); +var shared = __webpack_require__(49)('keys'); +var uid = __webpack_require__(40); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; - __webpack_require__(53)('isExtensible', function($isExtensible){ - return function isExtensible(it){ - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; - }; - }); -/***/ }, +/***/ }), /* 66 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 19.1.3.1 Object.assign(target, source) - var $export = __webpack_require__(6); +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); - $export($export.S + $export.F, 'Object', {assign: __webpack_require__(67)}); -/***/ }, +/***/ }), /* 67 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.2.1 Object.assign(target, source, ...) - var getKeys = __webpack_require__(28) - , gOPS = __webpack_require__(41) - , pIE = __webpack_require__(42) - , toObject = __webpack_require__(56) - , IObject = __webpack_require__(31) - , $assign = Object.assign; - - // should work with symbols and should have deterministic property order (V8 bug) - module.exports = !$assign || __webpack_require__(5)(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; - }) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; - } return T; - } : $assign; - -/***/ }, -/* 68 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var document = __webpack_require__(2).document; +module.exports = document && document.documentElement; - // 19.1.3.10 Object.is(value1, value2) - var $export = __webpack_require__(6); - $export($export.S, 'Object', {is: __webpack_require__(69)}); -/***/ }, +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 19.1.2.1 Object.assign(target, source, ...) +var getKeys = __webpack_require__(31); +var gOPS = __webpack_require__(51); +var pIE = __webpack_require__(45); +var toObject = __webpack_require__(9); +var IObject = __webpack_require__(44); +var $assign = Object.assign; + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !$assign || __webpack_require__(4)(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } return T; +} : $assign; + + +/***/ }), /* 69 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { - // 7.2.9 SameValue(x, y) - module.exports = Object.is || function is(x, y){ - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; - }; +"use strict"; -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { +var toInteger = __webpack_require__(22); +var defined = __webpack_require__(24); + +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; + return res; +}; - // 19.1.3.19 Object.setPrototypeOf(O, proto) - var $export = __webpack_require__(6); - $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(71).set}); -/***/ }, +/***/ }), /* 71 */ -/***/ function(module, exports, __webpack_require__) { - - // Works with __proto__ only. Old v8 can't work with null proto objects. - /* eslint-disable no-proto */ - var isObject = __webpack_require__(13) - , anObject = __webpack_require__(12); - var check = function(O, proto){ - anObject(O); - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); - }; - module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function(test, buggy, set){ - try { - set = __webpack_require__(8)(Function.call, __webpack_require__(49).f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch(e){ buggy = true; } - return function setPrototypeOf(O, proto){ - check(O, proto); - if(buggy)O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check - }; - -/***/ }, +/***/ (function(module, exports) { + +module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), /* 72 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) - var $export = __webpack_require__(6); +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; - $export($export.P, 'Function', {bind: __webpack_require__(73)}); -/***/ }, +/***/ }), /* 73 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var aFunction = __webpack_require__(9) - , isObject = __webpack_require__(13) - , invoke = __webpack_require__(74) - , arraySlice = [].slice - , factories = {}; - - var construct = function(F, len, args){ - if(!(len in factories)){ - for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; - factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); - } return factories[len](F, args); - }; - - module.exports = Function.bind || function bind(that /*, args... */){ - var fn = aFunction(this) - , partArgs = arraySlice.call(arguments, 1); - var bound = function(/* args... */){ - var args = partArgs.concat(arraySlice.call(arguments)); - return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); - }; - if(isObject(fn.prototype))bound.prototype = fn.prototype; - return bound; - }; - -/***/ }, +/***/ (function(module, exports) { + +// 20.2.2.14 Math.expm1(x) +var $expm1 = Math.expm1; +module.exports = (!$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +} : $expm1; + + +/***/ }), /* 74 */ -/***/ function(module, exports) { - - // fast apply, http://jsperf.lnkit.com/fast-apply/5 - module.exports = function(fn, args, that){ - var un = that === undefined; - switch(args.length){ - case 0: return un ? fn() - : fn.call(that); - case 1: return un ? fn(args[0]) - : fn.call(that, args[0]); - case 2: return un ? fn(args[0], args[1]) - : fn.call(that, args[0], args[1]); - case 3: return un ? fn(args[0], args[1], args[2]) - : fn.call(that, args[0], args[1], args[2]); - case 4: return un ? fn(args[0], args[1], args[2], args[3]) - : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(22); +var defined = __webpack_require__(24); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + + +/***/ }), /* 75 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var isObject = __webpack_require__(13) - , getPrototypeOf = __webpack_require__(57) - , HAS_INSTANCE = __webpack_require__(23)('hasInstance') - , FunctionProto = Function.prototype; - // 19.2.3.6 Function.prototype[@@hasInstance](V) - if(!(HAS_INSTANCE in FunctionProto))__webpack_require__(11).f(FunctionProto, HAS_INSTANCE, {value: function(O){ - if(typeof this != 'function' || !isObject(O))return false; - if(!isObject(this.prototype))return O instanceof this; - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while(O = getPrototypeOf(O))if(this.prototype === O)return true; - return false; - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// helper for String#{startsWith, endsWith, includes} +var isRegExp = __webpack_require__(103); +var defined = __webpack_require__(24); + +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; + + +/***/ }), /* 76 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toInteger = __webpack_require__(36) - , aNumberValue = __webpack_require__(77) - , repeat = __webpack_require__(78) - , $toFixed = 1..toFixed - , floor = Math.floor - , data = [0, 0, 0, 0, 0, 0] - , ERROR = 'Number.toFixed: incorrect invocation!' - , ZERO = '0'; - - var multiply = function(n, c){ - var i = -1 - , c2 = c; - while(++i < 6){ - c2 += n * data[i]; - data[i] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - var divide = function(n){ - var i = 6 - , c = 0; - while(--i >= 0){ - c += data[i]; - data[i] = floor(c / n); - c = (c % n) * 1e7; - } - }; - var numToString = function(){ - var i = 6 - , s = ''; - while(--i >= 0){ - if(s !== '' || i === 0 || data[i] !== 0){ - var t = String(data[i]); - s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; - } - } return s; - }; - var pow = function(x, n, acc){ - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); - }; - var log = function(x){ - var n = 0 - , x2 = x; - while(x2 >= 4096){ - n += 12; - x2 /= 4096; - } - while(x2 >= 2){ - n += 1; - x2 /= 2; - } return n; - }; - - $export($export.P + $export.F * (!!$toFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128..toFixed(0) !== '1000000000000000128' - ) || !__webpack_require__(5)(function(){ - // V8 ~ Android 4.3- - $toFixed.call({}); - })), 'Number', { - toFixed: function toFixed(fractionDigits){ - var x = aNumberValue(this, ERROR) - , f = toInteger(fractionDigits) - , s = '' - , m = ZERO - , e, z, j, k; - if(f < 0 || f > 20)throw RangeError(ERROR); - if(x != x)return 'NaN'; - if(x <= -1e21 || x >= 1e21)return String(x); - if(x < 0){ - s = '-'; - x = -x; - } - if(x > 1e-21){ - e = log(x * pow(2, 69, 1)) - 69; - z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if(e > 0){ - multiply(0, z); - j = f; - while(j >= 7){ - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while(j >= 23){ - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = numToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - m = numToString() + repeat.call(ZERO, f); - } - } - if(f > 0){ - k = m.length; - m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); - } else { - m = s + m; - } return m; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var MATCH = __webpack_require__(5)('match'); +module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) { /* empty */ } + } return true; +}; + + +/***/ }), /* 77 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var cof = __webpack_require__(32); - module.exports = function(it, msg){ - if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg); - return +it; - }; +// check on default Array iterator +var Iterators = __webpack_require__(36); +var ITERATOR = __webpack_require__(5)('iterator'); +var ArrayProto = Array.prototype; -/***/ }, -/* 78 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var toInteger = __webpack_require__(36) - , defined = __webpack_require__(33); - - module.exports = function repeat(count){ - var str = String(defined(this)) - , res = '' - , n = toInteger(count); - if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); - for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; - return res; - }; - -/***/ }, -/* 79 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $fails = __webpack_require__(5) - , aNumberValue = __webpack_require__(77) - , $toPrecision = 1..toPrecision; - - $export($export.P + $export.F * ($fails(function(){ - // IE7- - return $toPrecision.call(1, undefined) !== '1'; - }) || !$fails(function(){ - // V8 ~ Android 4.3- - $toPrecision.call({}); - })), 'Number', { - toPrecision: function toPrecision(precision){ - var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); - } - }); - -/***/ }, -/* 80 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; - // 20.1.2.1 Number.EPSILON - var $export = __webpack_require__(6); - $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); +/***/ }), +/* 78 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 81 */ -/***/ function(module, exports, __webpack_require__) { +"use strict"; - // 20.1.2.2 Number.isFinite(number) - var $export = __webpack_require__(6) - , _isFinite = __webpack_require__(2).isFinite; +var $defineProperty = __webpack_require__(7); +var createDesc = __webpack_require__(28); - $export($export.S, 'Number', { - isFinite: function isFinite(it){ - return typeof it == 'number' && _isFinite(it); - } - }); +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; +}; -/***/ }, -/* 82 */ -/***/ function(module, exports, __webpack_require__) { - // 20.1.2.3 Number.isInteger(number) - var $export = __webpack_require__(6); +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + +var ITERATOR = __webpack_require__(5)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Number', {isInteger: __webpack_require__(83)}); +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = __webpack_require__(207); -/***/ }, -/* 83 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; - // 20.1.2.3 Number.isInteger(number) - var isObject = __webpack_require__(13) - , floor = Math.floor; - module.exports = function isInteger(it){ - return !isObject(it) && isFinite(it) && floor(it) === it; - }; -/***/ }, -/* 84 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 81 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) + +var toObject = __webpack_require__(9); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(6); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var addToUnscopables = __webpack_require__(33); +var step = __webpack_require__(83); +var Iterators = __webpack_require__(36); +var toIObject = __webpack_require__(11); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = __webpack_require__(53)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + + +/***/ }), +/* 83 */ +/***/ (function(module, exports) { - // 20.1.2.4 Number.isNaN(number) - var $export = __webpack_require__(6); +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; - $export($export.S, 'Number', { - isNaN: function isNaN(number){ - return number != number; - } - }); -/***/ }, +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(16); +var invoke = __webpack_require__(69); +var html = __webpack_require__(67); +var cel = __webpack_require__(62); +var global = __webpack_require__(2); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (__webpack_require__(21)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + + +/***/ }), /* 85 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var macrotask = __webpack_require__(84).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = __webpack_require__(21)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.1.2.5 Number.isSafeInteger(number) - var $export = __webpack_require__(6) - , isInteger = __webpack_require__(83) - , abs = Math.abs; +"use strict"; - $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number){ - return isInteger(number) && abs(number) <= 0x1fffffffffffff; - } - }); +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = __webpack_require__(10); -/***/ }, -/* 86 */ -/***/ function(module, exports, __webpack_require__) { +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} - // 20.1.2.6 Number.MAX_SAFE_INTEGER - var $export = __webpack_require__(6); +module.exports.f = function (C) { + return new PromiseCapability(C); +}; - $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); -/***/ }, +/***/ }), /* 87 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.1.2.10 Number.MIN_SAFE_INTEGER - var $export = __webpack_require__(6); +// all object keys, includes non-enumerable and symbols +var gOPN = __webpack_require__(46); +var gOPS = __webpack_require__(51); +var anObject = __webpack_require__(1); +var Reflect = __webpack_require__(2).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; - $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); -/***/ }, +/***/ }), /* 88 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , $parseFloat = __webpack_require__(89); - // 20.1.2.12 Number.parseFloat(string) - $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var DESCRIPTORS = __webpack_require__(8); +var LIBRARY = __webpack_require__(30); +var $typed = __webpack_require__(58); +var hide = __webpack_require__(17); +var redefineAll = __webpack_require__(39); +var fails = __webpack_require__(4); +var anInstance = __webpack_require__(38); +var toInteger = __webpack_require__(22); +var toLength = __webpack_require__(6); +var toIndex = __webpack_require__(115); +var gOPN = __webpack_require__(46).f; +var dP = __webpack_require__(7).f; +var arrayFill = __webpack_require__(81); +var setToStringTag = __webpack_require__(41); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + buffer[--i] |= s * 128; + return buffer; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + } return (s ? -1 : 1) * m * pow(2, e - mLen); +} + +function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; +} +function packI8(it) { + return [it & 0xff]; +} +function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; +} +function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; +} +function packF64(it) { + return packIEEE754(it, 52, 8); +} +function packF32(it) { + return packIEEE754(it, 23, 4); +} + +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} + +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} + +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); +} else { + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); +} +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); +hide($DataView[PROTOTYPE], $typed.VIEW, true); +exports[ARRAY_BUFFER] = $ArrayBuffer; +exports[DATA_VIEW] = $DataView; + + +/***/ }), /* 89 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var $parseFloat = __webpack_require__(2).parseFloat - , $trim = __webpack_require__(90).trim; +module.exports = function (regExp, replace) { + var replacer = replace === Object(replace) ? function (part) { + return replace[part]; + } : replace; + return function (it) { + return String(it).replace(regExp, replacer); + }; +}; - module.exports = 1 / $parseFloat(__webpack_require__(91) + '-0') !== -Infinity ? function parseFloat(str){ - var string = $trim(String(str), 3) - , result = $parseFloat(string); - return result === 0 && string.charAt(0) == '-' ? -0 : result; - } : $parseFloat; -/***/ }, +/***/ }), /* 90 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , defined = __webpack_require__(33) - , fails = __webpack_require__(5) - , spaces = __webpack_require__(91) - , space = '[' + spaces + ']' - , non = '\u200b\u0085' - , ltrim = RegExp('^' + space + space + '*') - , rtrim = RegExp(space + space + '*$'); - - var exporter = function(KEY, exec, ALIAS){ - var exp = {}; - var FORCE = fails(function(){ - return !!spaces[KEY]() || non[KEY]() != non; - }); - var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if(ALIAS)exp[ALIAS] = fn; - $export($export.P + $export.F * FORCE, 'String', exp); - }; - - // 1 -> String#trimLeft - // 2 -> String#trimRight - // 3 -> String#trim - var trim = exporter.trim = function(string, TYPE){ - string = String(defined(string)); - if(TYPE & 1)string = string.replace(ltrim, ''); - if(TYPE & 2)string = string.replace(rtrim, ''); - return string; - }; - - module.exports = exporter; - -/***/ }, -/* 91 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; +module.exports = !__webpack_require__(8) && !__webpack_require__(4)(function () { + return Object.defineProperty(__webpack_require__(62)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); -/***/ }, -/* 92 */ -/***/ function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , $parseInt = __webpack_require__(93); - // 20.1.2.13 Number.parseInt(string, radix) - $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt}); +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { + +exports.f = __webpack_require__(5); -/***/ }, + +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(15); +var toIObject = __webpack_require__(11); +var arrayIndexOf = __webpack_require__(50)(false); +var IE_PROTO = __webpack_require__(65)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), /* 93 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $parseInt = __webpack_require__(2).parseInt - , $trim = __webpack_require__(90).trim - , ws = __webpack_require__(91) - , hex = /^[\-+]?0[xX]/; +var dP = __webpack_require__(7); +var anObject = __webpack_require__(1); +var getKeys = __webpack_require__(31); - module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){ - var string = $trim(String(str), 3); - return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); - } : $parseInt; +module.exports = __webpack_require__(8) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; -/***/ }, + +/***/ }), /* 94 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , $parseInt = __webpack_require__(93); - // 18.2.5 parseInt(string, radix) - $export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt}); +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = __webpack_require__(11); +var gOPN = __webpack_require__(46).f; +var toString = {}.toString; -/***/ }, -/* 95 */ -/***/ function(module, exports, __webpack_require__) { +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; + +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; - var $export = __webpack_require__(6) - , $parseFloat = __webpack_require__(89); - // 18.2.4 parseFloat(string) - $export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat}); -/***/ }, +/***/ }), +/* 95 */ +/***/ (function(module, exports, __webpack_require__) { + +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = __webpack_require__(3); +var anObject = __webpack_require__(1); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = __webpack_require__(16)(Function.call, __webpack_require__(18).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + + +/***/ }), /* 96 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.3 Math.acosh(x) - var $export = __webpack_require__(6) - , log1p = __webpack_require__(97) - , sqrt = Math.sqrt - , $acosh = Math.acosh; - - $export($export.S + $export.F * !($acosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - && $acosh(Infinity) == Infinity - ), 'Math', { - acosh: function acosh(x){ - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? Math.log(x) + Math.LN2 - : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aFunction = __webpack_require__(10); +var isObject = __webpack_require__(3); +var invoke = __webpack_require__(69); +var arraySlice = [].slice; +var factories = {}; + +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } return factories[len](F, args); +}; + +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; +}; + + +/***/ }), /* 97 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.20 Math.log1p(x) - module.exports = Math.log1p || function log1p(x){ - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); - }; +var cof = __webpack_require__(21); +module.exports = function (it, msg) { + if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); + return +it; +}; -/***/ }, -/* 98 */ -/***/ function(module, exports, __webpack_require__) { - // 20.2.2.5 Math.asinh(x) - var $export = __webpack_require__(6) - , $asinh = Math.asinh; +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { - function asinh(x){ - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); - } +// 20.1.2.3 Number.isInteger(number) +var isObject = __webpack_require__(3); +var floor = Math.floor; +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; - // Tor Browser bug: Math.asinh(0) -> -0 - $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh}); -/***/ }, +/***/ }), /* 99 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.7 Math.atanh(x) - var $export = __webpack_require__(6) - , $atanh = Math.atanh; +var $parseFloat = __webpack_require__(2).parseFloat; +var $trim = __webpack_require__(47).trim; - // Tor Browser bug: Math.atanh(-0) -> 0 - $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x){ - return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; - } - }); +module.exports = 1 / $parseFloat(__webpack_require__(71) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; +} : $parseFloat; -/***/ }, -/* 100 */ -/***/ function(module, exports, __webpack_require__) { - // 20.2.2.9 Math.cbrt(x) - var $export = __webpack_require__(6) - , sign = __webpack_require__(101); +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Math', { - cbrt: function cbrt(x){ - return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); - } - }); +var $parseInt = __webpack_require__(2).parseInt; +var $trim = __webpack_require__(47).trim; +var ws = __webpack_require__(71); +var hex = /^[-+]?0[xX]/; -/***/ }, -/* 101 */ -/***/ function(module, exports) { +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); +} : $parseInt; - // 20.2.2.28 Math.sign(x) - module.exports = Math.sign || function sign(x){ - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; - }; -/***/ }, -/* 102 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 101 */ +/***/ (function(module, exports) { - // 20.2.2.11 Math.clz32(x) - var $export = __webpack_require__(6); +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; - $export($export.S, 'Math', { - clz32: function clz32(x){ - return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; - } - }); -/***/ }, +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.16 Math.fround(x) +var sign = __webpack_require__(72); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + + +/***/ }), /* 103 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.12 Math.cosh(x) - var $export = __webpack_require__(6) - , exp = Math.exp; +// 7.2.8 IsRegExp(argument) +var isObject = __webpack_require__(3); +var cof = __webpack_require__(21); +var MATCH = __webpack_require__(5)('match'); +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; - $export($export.S, 'Math', { - cosh: function cosh(x){ - return (exp(x = +x) + exp(-x)) / 2; - } - }); -/***/ }, +/***/ }), /* 104 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.14 Math.expm1(x) - var $export = __webpack_require__(6) - , $expm1 = __webpack_require__(105); - - $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// call something on iterator step with safe closing on error +var anObject = __webpack_require__(1); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + + +/***/ }), /* 105 */ -/***/ function(module, exports) { - - // 20.2.2.14 Math.expm1(x) - var $expm1 = Math.expm1; - module.exports = (!$expm1 - // Old FF bug - || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 - // Tor Browser bug - || $expm1(-2e-17) != -2e-17 - ) ? function expm1(x){ - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; - } : $expm1; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var aFunction = __webpack_require__(10); +var toObject = __webpack_require__(9); +var IObject = __webpack_require__(44); +var toLength = __webpack_require__(6); + +module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; +}; + + +/***/ }), /* 106 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.16 Math.fround(x) - var $export = __webpack_require__(6) - , sign = __webpack_require__(101) - , pow = Math.pow - , EPSILON = pow(2, -52) - , EPSILON32 = pow(2, -23) - , MAX32 = pow(2, 127) * (2 - EPSILON32) - , MIN32 = pow(2, -126); - - var roundTiesToEven = function(n){ - return n + 1 / EPSILON - 1 / EPSILON; - }; - - - $export($export.S, 'Math', { - fround: function fround(x){ - var $abs = Math.abs(x) - , $sign = sign(x) - , a, result; - if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - if(result > MAX32 || result != result)return $sign * Infinity; - return $sign * result; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) + +var toObject = __webpack_require__(9); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(6); + +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + + +/***/ }), /* 107 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) - var $export = __webpack_require__(6) - , abs = Math.abs; - - $export($export.S, 'Math', { - hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , aLen = arguments.length - , larg = 0 - , arg, div; - while(i < aLen){ - arg = abs(arguments[i++]); - if(larg < arg){ - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if(arg > 0){ - div = arg / larg; - sum += div * div; - } else sum += arg; - } - return larg === Infinity ? Infinity : larg * Math.sqrt(sum); - } - }); - -/***/ }, -/* 108 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.18 Math.imul(x, y) - var $export = __webpack_require__(6) - , $imul = Math.imul; - - // some WebKit versions fails with big numbers, some has wrong arity - $export($export.S + $export.F * __webpack_require__(5)(function(){ - return $imul(0xffffffff, 5) != -5 || $imul.length != 2; - }), 'Math', { - imul: function imul(x, y){ - var UINT16 = 0xffff - , xn = +x - , yn = +y - , xl = UINT16 & xn - , yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } - }); - -/***/ }, -/* 109 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 20.2.2.21 Math.log10(x) - var $export = __webpack_require__(6); +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; - $export($export.S, 'Math', { - log10: function log10(x){ - return Math.log(x) / Math.LN10; - } - }); -/***/ }, -/* 110 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 108 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.20 Math.log1p(x) - var $export = __webpack_require__(6); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var newPromiseCapability = __webpack_require__(86); - $export($export.S, 'Math', {log1p: __webpack_require__(97)}); +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; -/***/ }, -/* 111 */ -/***/ function(module, exports, __webpack_require__) { - // 20.2.2.22 Math.log2(x) - var $export = __webpack_require__(6); +/***/ }), +/* 109 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var strong = __webpack_require__(110); +var validate = __webpack_require__(43); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = __webpack_require__(57)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + + +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var dP = __webpack_require__(7).f; +var create = __webpack_require__(32); +var redefineAll = __webpack_require__(39); +var ctx = __webpack_require__(16); +var anInstance = __webpack_require__(38); +var forOf = __webpack_require__(34); +var $iterDefine = __webpack_require__(53); +var step = __webpack_require__(83); +var setSpecies = __webpack_require__(42); +var DESCRIPTORS = __webpack_require__(8); +var fastKey = __webpack_require__(29).fastKey; +var validate = __webpack_require__(43); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + + +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Math', { - log2: function log2(x){ - return Math.log(x) / Math.LN2; - } - }); +"use strict"; -/***/ }, -/* 112 */ -/***/ function(module, exports, __webpack_require__) { +var strong = __webpack_require__(110); +var validate = __webpack_require__(43); +var SET = 'Set'; - // 20.2.2.28 Math.sign(x) - var $export = __webpack_require__(6); +// 23.2 Set Objects +module.exports = __webpack_require__(57)(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); + } +}, strong); - $export($export.S, 'Math', {sign: __webpack_require__(101)}); -/***/ }, +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var each = __webpack_require__(20)(0); +var redefine = __webpack_require__(63); +var meta = __webpack_require__(29); +var assign = __webpack_require__(68); +var weak = __webpack_require__(113); +var isObject = __webpack_require__(3); +var fails = __webpack_require__(4); +var validate = __webpack_require__(43); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; +}; + +var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); + } +}; + +// 23.3 WeakMap Objects +var $WeakMap = module.exports = __webpack_require__(57)(WEAK_MAP, wrapper, methods, weak, true, true); + +// IE11 WeakMap frozen keys fix +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} + + +/***/ }), /* 113 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.30 Math.sinh(x) - var $export = __webpack_require__(6) - , expm1 = __webpack_require__(105) - , exp = Math.exp; - - // V8 near Chromium 38 has a problem with very small numbers - $export($export.S + $export.F * __webpack_require__(5)(function(){ - return !Math.sinh(-2e-17) != -2e-17; - }), 'Math', { - sinh: function sinh(x){ - return Math.abs(x = +x) < 1 - ? (expm1(x) - expm1(-x)) / 2 - : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var redefineAll = __webpack_require__(39); +var getWeak = __webpack_require__(29).getWeak; +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var anInstance = __webpack_require__(38); +var forOf = __webpack_require__(34); +var createArrayMethod = __webpack_require__(20); +var $has = __webpack_require__(15); +var validate = __webpack_require__(43); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); +}; +var UncaughtFrozenStore = function () { + this.a = []; +}; +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); +}; +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function (that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore +}; + + +/***/ }), /* 114 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.33 Math.tanh(x) - var $export = __webpack_require__(6) - , expm1 = __webpack_require__(105) - , exp = Math.exp; - - $export($export.S, 'Math', { - tanh: function tanh(x){ - var a = expm1(x = +x) - , b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = __webpack_require__(4); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; + + +/***/ }), /* 115 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.34 Math.trunc(x) - var $export = __webpack_require__(6); +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = __webpack_require__(22); +var toLength = __webpack_require__(6); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; - $export($export.S, 'Math', { - trunc: function trunc(it){ - return (it > 0 ? Math.floor : Math.ceil)(it); - } - }); -/***/ }, +/***/ }), /* 116 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , toIndex = __webpack_require__(37) - , fromCharCode = String.fromCharCode - , $fromCodePoint = String.fromCodePoint; - - // length should be 1, old FF problem - $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { - // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , aLen = arguments.length - , i = 0 - , code; - while(aLen > i){ - code = +arguments[i++]; - if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); - res.push(code < 0x10000 - ? fromCharCode(code) - : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) - ); - } return res.join(''); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var isArray = __webpack_require__(52); +var isObject = __webpack_require__(3); +var toLength = __webpack_require__(6); +var ctx = __webpack_require__(16); +var IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable'); + +function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; + var element, spreadable; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + spreadable = false; + if (isObject(element)) { + spreadable = element[IS_CONCAT_SPREADABLE]; + spreadable = spreadable !== undefined ? !!spreadable : isArray(element); + } + + if (spreadable && depth > 0) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1fffffffffffff) throw TypeError(); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +} + +module.exports = flattenIntoArray; + + +/***/ }), /* 117 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , toLength = __webpack_require__(35); - - $export($export.S, 'String', { - // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , aLen = arguments.length - , res = [] - , i = 0; - while(len > i){ - res.push(String(tpl[i++])); - if(i < aLen)res.push(String(arguments[i])); - } return res.join(''); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = __webpack_require__(6); +var repeat = __webpack_require__(70); +var defined = __webpack_require__(24); + +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; + + +/***/ }), /* 118 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var getKeys = __webpack_require__(31); +var toIObject = __webpack_require__(11); +var isEnum = __webpack_require__(45).f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // 21.1.3.25 String.prototype.trim() - __webpack_require__(90)('trim', function($trim){ - return function trim(){ - return $trim(this, 3); - }; - }); +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var classof = __webpack_require__(37); +var from = __webpack_require__(120); +module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); + return from(this); + }; +}; -/***/ }, -/* 119 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $at = __webpack_require__(120)(false); - $export($export.P, 'String', { - // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos){ - return $at(this, pos); - } - }); - -/***/ }, + +/***/ }), /* 120 */ -/***/ function(module, exports, __webpack_require__) { - - var toInteger = __webpack_require__(36) - , defined = __webpack_require__(33); - // true -> String#at - // false -> String#codePointAt - module.exports = function(TO_STRING){ - return function(that, pos){ - var s = String(defined(that)) - , i = toInteger(pos) - , l = s.length - , a, b; - if(i < 0 || i >= l)return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff - ? TO_STRING ? s.charAt(i) : a - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var forOf = __webpack_require__(34); + +module.exports = function (iter, ITERATOR) { + var result = []; + forOf(iter, false, result.push, result, ITERATOR); + return result; +}; + + +/***/ }), /* 121 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) - 'use strict'; - var $export = __webpack_require__(6) - , toLength = __webpack_require__(35) - , context = __webpack_require__(122) - , ENDS_WITH = 'endsWith' - , $endsWith = ''[ENDS_WITH]; - - $export($export.P + $export.F * __webpack_require__(124)(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, ENDS_WITH) - , endPosition = arguments.length > 1 ? arguments[1] : undefined - , len = toLength(that.length) - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) - , search = String(searchString); - return $endsWith - ? $endsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } - }); - -/***/ }, +/***/ (function(module, exports) { + +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + if ( + arguments.length === 0 + // eslint-disable-next-line no-self-compare + || x != x + // eslint-disable-next-line no-self-compare + || inLow != inLow + // eslint-disable-next-line no-self-compare + || inHigh != inHigh + // eslint-disable-next-line no-self-compare + || outLow != outLow + // eslint-disable-next-line no-self-compare + || outHigh != outHigh + ) return NaN; + if (x === Infinity || x === -Infinity) return x; + return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; +}; + + +/***/ }), /* 122 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // helper for String#{startsWith, endsWith, includes} - var isRegExp = __webpack_require__(123) - , defined = __webpack_require__(33); +var classof = __webpack_require__(37); +var ITERATOR = __webpack_require__(5)('iterator'); +var Iterators = __webpack_require__(36); +module.exports = __webpack_require__(12).isIterable = function (it) { + var O = Object(it); + return O[ITERATOR] !== undefined + || '@@iterator' in O + // eslint-disable-next-line no-prototype-builtins + || Iterators.hasOwnProperty(classof(O)); +}; - module.exports = function(that, searchString, NAME){ - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); - return String(defined(that)); - }; -/***/ }, +/***/ }), /* 123 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.2.8 IsRegExp(argument) - var isObject = __webpack_require__(13) - , cof = __webpack_require__(32) - , MATCH = __webpack_require__(23)('match'); - module.exports = function(it){ - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var path = __webpack_require__(124); +var invoke = __webpack_require__(69); +var aFunction = __webpack_require__(10); +module.exports = function (/* ...pargs */) { + var fn = aFunction(this); + var length = arguments.length; + var pargs = new Array(length); + var i = 0; + var _ = path._; + var holder = false; + while (length > i) if ((pargs[i] = arguments[i++]) === _) holder = true; + return function (/* ...args */) { + var that = this; + var aLen = arguments.length; + var j = 0; + var k = 0; + var args; + if (!holder && !aLen) return invoke(fn, pargs, that); + args = pargs.slice(); + if (holder) for (;length > j; j++) if (args[j] === _) args[j] = arguments[k++]; + while (aLen > k) args.push(arguments[k++]); + return invoke(fn, args, that); + }; +}; + + +/***/ }), /* 124 */ -/***/ function(module, exports, __webpack_require__) { - - var MATCH = __webpack_require__(23)('match'); - module.exports = function(KEY){ - var re = /./; - try { - '/./'[KEY](re); - } catch(e){ - try { - re[MATCH] = false; - return !'/./'[KEY](re); - } catch(f){ /* empty */ } - } return true; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(12); + + +/***/ }), /* 125 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.7 String.prototype.includes(searchString, position = 0) - 'use strict'; - var $export = __webpack_require__(6) - , context = __webpack_require__(122) - , INCLUDES = 'includes'; - - $export($export.P + $export.F * __webpack_require__(124)(INCLUDES), 'String', { - includes: function includes(searchString /*, position = 0 */){ - return !!~context(this, searchString, INCLUDES) - .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); - } - }); - -/***/ }, -/* 126 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(7); +var gOPD = __webpack_require__(18); +var ownKeys = __webpack_require__(87); +var toIObject = __webpack_require__(11); - var $export = __webpack_require__(6); +module.exports = function define(target, mixin) { + var keys = ownKeys(toIObject(mixin)); + var length = keys.length; + var i = 0; + var key; + while (length > i) dP.f(target, key = keys[i++], gOPD.f(mixin, key)); + return target; +}; - $export($export.P, 'String', { - // 21.1.3.13 String.prototype.repeat(count) - repeat: __webpack_require__(78) - }); -/***/ }, +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(127); +__webpack_require__(129); +__webpack_require__(130); +__webpack_require__(131); +__webpack_require__(132); +__webpack_require__(133); +__webpack_require__(134); +__webpack_require__(135); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(138); +__webpack_require__(139); +__webpack_require__(140); +__webpack_require__(141); +__webpack_require__(142); +__webpack_require__(143); +__webpack_require__(145); +__webpack_require__(146); +__webpack_require__(147); +__webpack_require__(148); +__webpack_require__(149); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(154); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(157); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(160); +__webpack_require__(161); +__webpack_require__(162); +__webpack_require__(163); +__webpack_require__(164); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(169); +__webpack_require__(170); +__webpack_require__(171); +__webpack_require__(172); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(175); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(179); +__webpack_require__(180); +__webpack_require__(181); +__webpack_require__(182); +__webpack_require__(183); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(189); +__webpack_require__(190); +__webpack_require__(191); +__webpack_require__(192); +__webpack_require__(193); +__webpack_require__(194); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(197); +__webpack_require__(198); +__webpack_require__(199); +__webpack_require__(200); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(206); +__webpack_require__(208); +__webpack_require__(209); +__webpack_require__(210); +__webpack_require__(211); +__webpack_require__(212); +__webpack_require__(213); +__webpack_require__(214); +__webpack_require__(215); +__webpack_require__(216); +__webpack_require__(217); +__webpack_require__(218); +__webpack_require__(219); +__webpack_require__(82); +__webpack_require__(220); +__webpack_require__(221); +__webpack_require__(109); +__webpack_require__(111); +__webpack_require__(112); +__webpack_require__(222); +__webpack_require__(223); +__webpack_require__(224); +__webpack_require__(225); +__webpack_require__(226); +__webpack_require__(227); +__webpack_require__(228); +__webpack_require__(229); +__webpack_require__(230); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(237); +__webpack_require__(238); +__webpack_require__(239); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(242); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(246); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(252); +__webpack_require__(253); +__webpack_require__(254); +__webpack_require__(255); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(264); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(271); +__webpack_require__(272); +__webpack_require__(273); +__webpack_require__(274); +__webpack_require__(275); +__webpack_require__(276); +__webpack_require__(277); +__webpack_require__(278); +__webpack_require__(279); +__webpack_require__(280); +__webpack_require__(281); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(287); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(293); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(302); +__webpack_require__(303); +__webpack_require__(304); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(307); +__webpack_require__(308); +__webpack_require__(309); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(48); +__webpack_require__(313); +__webpack_require__(122); +__webpack_require__(314); +__webpack_require__(315); +__webpack_require__(316); +__webpack_require__(317); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(322); +module.exports = __webpack_require__(323); + + +/***/ }), /* 127 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) - 'use strict'; - var $export = __webpack_require__(6) - , toLength = __webpack_require__(35) - , context = __webpack_require__(122) - , STARTS_WITH = 'startsWith' - , $startsWith = ''[STARTS_WITH]; - - $export($export.P + $export.F * __webpack_require__(124)(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, STARTS_WITH) - , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)) - , search = String(searchString); - return $startsWith - ? $startsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// ECMAScript 6 symbols shim +var global = __webpack_require__(2); +var has = __webpack_require__(15); +var DESCRIPTORS = __webpack_require__(8); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(63); +var META = __webpack_require__(29).KEY; +var $fails = __webpack_require__(4); +var shared = __webpack_require__(49); +var setToStringTag = __webpack_require__(41); +var uid = __webpack_require__(40); +var wks = __webpack_require__(5); +var wksExt = __webpack_require__(91); +var wksDefine = __webpack_require__(64); +var enumKeys = __webpack_require__(128); +var isArray = __webpack_require__(52); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var toIObject = __webpack_require__(11); +var toPrimitive = __webpack_require__(27); +var createDesc = __webpack_require__(28); +var _create = __webpack_require__(32); +var gOPNExt = __webpack_require__(94); +var $GOPD = __webpack_require__(18); +var $DP = __webpack_require__(7); +var $keys = __webpack_require__(31); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames; + __webpack_require__(45).f = $propertyIsEnumerable; + __webpack_require__(51).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !__webpack_require__(30)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(17)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + + +/***/ }), /* 128 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $at = __webpack_require__(120)(true); - - // 21.1.3.27 String.prototype[@@iterator]() - __webpack_require__(129)(String, 'String', function(iterated){ - this._t = String(iterated); // target - this._i = 0; // next index - // 21.1.5.2.1 %StringIteratorPrototype%.next() - }, function(){ - var O = this._t - , index = this._i - , point; - if(index >= O.length)return {value: undefined, done: true}; - point = $at(O, index); - this._i += point.length; - return {value: point, done: false}; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// all enumerable object keys, includes symbols +var getKeys = __webpack_require__(31); +var gOPS = __webpack_require__(51); +var pIE = __webpack_require__(45); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + + +/***/ }), /* 129 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(26) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(18) - , hide = __webpack_require__(10) - , has = __webpack_require__(3) - , Iterators = __webpack_require__(130) - , $iterCreate = __webpack_require__(131) - , setToStringTag = __webpack_require__(22) - , getPrototypeOf = __webpack_require__(57) - , ITERATOR = __webpack_require__(23)('iterator') - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; - - var returnThis = function(){ return this; }; - - module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ - $iterCreate(Constructor, NAME, next); - var getMethod = function(kind){ - if(!BUGGY && kind in proto)return proto[kind]; - switch(kind){ - case KEYS: return function keys(){ return new Constructor(this, kind); }; - case VALUES: return function values(){ return new Constructor(this, kind); }; - } return function entries(){ return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator' - , DEF_VALUES = DEFAULT == VALUES - , VALUES_BUG = false - , proto = Base.prototype - , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , $default = $native || getMethod(DEFAULT) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; - // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ - VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; - } - // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if(FORCED)for(key in methods){ - if(!(key in proto))redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !__webpack_require__(8), 'Object', { defineProperty: __webpack_require__(7).f }); + + +/***/ }), /* 130 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - module.exports = {}; +var $export = __webpack_require__(0); +// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) +$export($export.S + $export.F * !__webpack_require__(8), 'Object', { defineProperties: __webpack_require__(93) }); -/***/ }, + +/***/ }), /* 131 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var create = __webpack_require__(44) - , descriptor = __webpack_require__(17) - , setToStringTag = __webpack_require__(22) - , IteratorPrototype = {}; +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = __webpack_require__(11); +var $getOwnPropertyDescriptor = __webpack_require__(18).f; - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - __webpack_require__(10)(IteratorPrototype, __webpack_require__(23)('iterator'), function(){ return this; }); +__webpack_require__(23)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); - module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); - setToStringTag(Constructor, NAME + ' Iterator'); - }; -/***/ }, +/***/ }), /* 132 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: __webpack_require__(32) }); - 'use strict'; - // B.2.3.2 String.prototype.anchor(name) - __webpack_require__(133)('anchor', function(createHTML){ - return function anchor(name){ - return createHTML(this, 'a', 'name', name); - } - }); -/***/ }, +/***/ }), /* 133 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , fails = __webpack_require__(5) - , defined = __webpack_require__(33) - , quot = /"/g; - // B.2.3.2.1 CreateHTML(string, tag, attribute, value) - var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)) - , p1 = '<' + tag; - if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; - }; - module.exports = function(NAME, exec){ - var O = {}; - O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function(){ - var test = ''[NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }), 'String', O); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = __webpack_require__(9); +var $getPrototypeOf = __webpack_require__(13); + +__webpack_require__(23)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); + + +/***/ }), /* 134 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.3 String.prototype.big() - __webpack_require__(133)('big', function(createHTML){ - return function big(){ - return createHTML(this, 'big', '', ''); - } - }); +// 19.1.2.14 Object.keys(O) +var toObject = __webpack_require__(9); +var $keys = __webpack_require__(31); -/***/ }, +__webpack_require__(23)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); + + +/***/ }), /* 135 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.4 String.prototype.blink() - __webpack_require__(133)('blink', function(createHTML){ - return function blink(){ - return createHTML(this, 'blink', '', ''); - } - }); +// 19.1.2.7 Object.getOwnPropertyNames(O) +__webpack_require__(23)('getOwnPropertyNames', function () { + return __webpack_require__(94).f; +}); -/***/ }, + +/***/ }), /* 136 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.5 Object.freeze(O) +var isObject = __webpack_require__(3); +var meta = __webpack_require__(29).onFreeze; - 'use strict'; - // B.2.3.5 String.prototype.bold() - __webpack_require__(133)('bold', function(createHTML){ - return function bold(){ - return createHTML(this, 'b', '', ''); - } - }); +__webpack_require__(23)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; +}); -/***/ }, + +/***/ }), /* 137 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.17 Object.seal(O) +var isObject = __webpack_require__(3); +var meta = __webpack_require__(29).onFreeze; - 'use strict'; - // B.2.3.6 String.prototype.fixed() - __webpack_require__(133)('fixed', function(createHTML){ - return function fixed(){ - return createHTML(this, 'tt', '', ''); - } - }); +__webpack_require__(23)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; +}); -/***/ }, + +/***/ }), /* 138 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.15 Object.preventExtensions(O) +var isObject = __webpack_require__(3); +var meta = __webpack_require__(29).onFreeze; - 'use strict'; - // B.2.3.7 String.prototype.fontcolor(color) - __webpack_require__(133)('fontcolor', function(createHTML){ - return function fontcolor(color){ - return createHTML(this, 'font', 'color', color); - } - }); +__webpack_require__(23)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; +}); -/***/ }, + +/***/ }), /* 139 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.12 Object.isFrozen(O) +var isObject = __webpack_require__(3); - 'use strict'; - // B.2.3.8 String.prototype.fontsize(size) - __webpack_require__(133)('fontsize', function(createHTML){ - return function fontsize(size){ - return createHTML(this, 'font', 'size', size); - } - }); +__webpack_require__(23)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); -/***/ }, + +/***/ }), /* 140 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.13 Object.isSealed(O) +var isObject = __webpack_require__(3); - 'use strict'; - // B.2.3.9 String.prototype.italics() - __webpack_require__(133)('italics', function(createHTML){ - return function italics(){ - return createHTML(this, 'i', '', ''); - } - }); +__webpack_require__(23)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); -/***/ }, + +/***/ }), /* 141 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.11 Object.isExtensible(O) +var isObject = __webpack_require__(3); - 'use strict'; - // B.2.3.10 String.prototype.link(url) - __webpack_require__(133)('link', function(createHTML){ - return function link(url){ - return createHTML(this, 'a', 'href', url); - } - }); +__webpack_require__(23)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); -/***/ }, + +/***/ }), /* 142 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__(0); - 'use strict'; - // B.2.3.11 String.prototype.small() - __webpack_require__(133)('small', function(createHTML){ - return function small(){ - return createHTML(this, 'small', '', ''); - } - }); +$export($export.S + $export.F, 'Object', { assign: __webpack_require__(68) }); -/***/ }, + +/***/ }), /* 143 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.10 Object.is(value1, value2) +var $export = __webpack_require__(0); +$export($export.S, 'Object', { is: __webpack_require__(144) }); - 'use strict'; - // B.2.3.12 String.prototype.strike() - __webpack_require__(133)('strike', function(createHTML){ - return function strike(){ - return createHTML(this, 'strike', '', ''); - } - }); -/***/ }, +/***/ }), /* 144 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - 'use strict'; - // B.2.3.13 String.prototype.sub() - __webpack_require__(133)('sub', function(createHTML){ - return function sub(){ - return createHTML(this, 'sub', '', ''); - } - }); +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; -/***/ }, + +/***/ }), /* 145 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = __webpack_require__(0); +$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(95).set }); - 'use strict'; - // B.2.3.14 String.prototype.sup() - __webpack_require__(133)('sup', function(createHTML){ - return function sup(){ - return createHTML(this, 'sup', '', ''); - } - }); -/***/ }, +/***/ }), /* 146 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) - var $export = __webpack_require__(6); +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +var $export = __webpack_require__(0); - $export($export.S, 'Array', {isArray: __webpack_require__(43)}); +$export($export.P, 'Function', { bind: __webpack_require__(96) }); -/***/ }, + +/***/ }), /* 147 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(8) - , $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , call = __webpack_require__(148) - , isArrayIter = __webpack_require__(149) - , toLength = __webpack_require__(35) - , createProperty = __webpack_require__(150) - , getIterFn = __webpack_require__(151); - - $export($export.S + $export.F * !__webpack_require__(153)(function(iter){ Array.from(iter); }), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ - var O = toObject(arrayLike) - , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , index = 0 - , iterFn = getIterFn(O) - , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // if object isn't iterable or it's array with default iterator - use simple case - if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ - for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); - } - } else { - length = toLength(O.length); - for(result = new C(length); length > index; index++){ - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; - } - }); - - -/***/ }, -/* 148 */ -/***/ function(module, exports, __webpack_require__) { - - // call something on iterator step with safe closing on error - var anObject = __webpack_require__(12); - module.exports = function(iterator, fn, value, entries){ - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch(e){ - var ret = iterator['return']; - if(ret !== undefined)anObject(ret.call(iterator)); - throw e; - } - }; - -/***/ }, -/* 149 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // check on default Array iterator - var Iterators = __webpack_require__(130) - , ITERATOR = __webpack_require__(23)('iterator') - , ArrayProto = Array.prototype; +var isObject = __webpack_require__(3); +var getPrototypeOf = __webpack_require__(13); +var HAS_INSTANCE = __webpack_require__(5)('hasInstance'); +var FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(7).f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; +} }); - module.exports = function(it){ - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); - }; -/***/ }, +/***/ }), +/* 148 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toInteger = __webpack_require__(22); +var aNumberValue = __webpack_require__(97); +var repeat = __webpack_require__(70); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; + +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = (c % n) * 1e7; + } +}; +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + } return s; +}; +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +$export($export.P + $export.F * (!!$toFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !__webpack_require__(4)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); +})), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + } return m; + } +}); + + +/***/ }), +/* 149 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $fails = __webpack_require__(4); +var aNumberValue = __webpack_require__(97); +var $toPrecision = 1.0.toPrecision; + +$export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; +}) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); +})), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } +}); + + +/***/ }), /* 150 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $defineProperty = __webpack_require__(11) - , createDesc = __webpack_require__(17); +// 20.1.2.1 Number.EPSILON +var $export = __webpack_require__(0); - module.exports = function(object, index, value){ - if(index in object)$defineProperty.f(object, index, createDesc(0, value)); - else object[index] = value; - }; +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); -/***/ }, + +/***/ }), /* 151 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(152) - , ITERATOR = __webpack_require__(23)('iterator') - , Iterators = __webpack_require__(130); - module.exports = __webpack_require__(7).getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.2 Number.isFinite(number) +var $export = __webpack_require__(0); +var _isFinite = __webpack_require__(2).isFinite; + +$export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } +}); + + +/***/ }), /* 152 */ -/***/ function(module, exports, __webpack_require__) { - - // getting tag from 19.1.3.6 Object.prototype.toString() - var cof = __webpack_require__(32) - , TAG = __webpack_require__(23)('toStringTag') - // ES3 wrong here - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; - - // fallback for IE11 Script Access Denied error - var tryGet = function(it, key){ - try { - return it[key]; - } catch(e){ /* empty */ } - }; - - module.exports = function(it){ - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.3 Number.isInteger(number) +var $export = __webpack_require__(0); + +$export($export.S, 'Number', { isInteger: __webpack_require__(98) }); + + +/***/ }), /* 153 */ -/***/ function(module, exports, __webpack_require__) { - - var ITERATOR = __webpack_require__(23)('iterator') - , SAFE_CLOSING = false; - - try { - var riter = [7][ITERATOR](); - riter['return'] = function(){ SAFE_CLOSING = true; }; - Array.from(riter, function(){ throw 2; }); - } catch(e){ /* empty */ } - - module.exports = function(exec, skipClosing){ - if(!skipClosing && !SAFE_CLOSING)return false; - var safe = false; - try { - var arr = [7] - , iter = arr[ITERATOR](); - iter.next = function(){ return {done: safe = true}; }; - arr[ITERATOR] = function(){ return iter; }; - exec(arr); - } catch(e){ /* empty */ } - return safe; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.4 Number.isNaN(number) +var $export = __webpack_require__(0); + +$export($export.S, 'Number', { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); + + +/***/ }), /* 154 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , createProperty = __webpack_require__(150); - - // WebKit Array.of isn't generic - $export($export.S + $export.F * __webpack_require__(5)(function(){ - function F(){} - return !(Array.of.call(F) instanceof F); - }), 'Array', { - // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */){ - var index = 0 - , aLen = arguments.length - , result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); - result.length = aLen; - return result; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.5 Number.isSafeInteger(number) +var $export = __webpack_require__(0); +var isInteger = __webpack_require__(98); +var abs = Math.abs; + +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); + + +/***/ }), /* 155 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.13 Array.prototype.join(separator) - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , arrayJoin = [].join; - - // fallback for not array-like strings - $export($export.P + $export.F * (__webpack_require__(31) != Object || !__webpack_require__(156)(arrayJoin)), 'Array', { - join: function join(separator){ - return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = __webpack_require__(0); + +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); + + +/***/ }), /* 156 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = __webpack_require__(0); - var fails = __webpack_require__(5); +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); - module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); - }); - }; -/***/ }, +/***/ }), /* 157 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , html = __webpack_require__(46) - , cof = __webpack_require__(32) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35) - , arraySlice = [].slice; - - // fallback for not array-like ES3 strings and DOM objects - $export($export.P + $export.F * __webpack_require__(5)(function(){ - if(html)arraySlice.call(html); - }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); - end = end === undefined ? len : end; - if(klass == 'Array')return arraySlice.call(this, begin, end); - var start = toIndex(begin, len) - , upTo = toIndex(end, len) - , size = toLength(upTo - start) - , cloned = Array(size) - , i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' - ? this.charAt(start + i) - : this[start + i]; - return cloned; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseFloat = __webpack_require__(99); +// 20.1.2.12 Number.parseFloat(string) +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + + +/***/ }), /* 158 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , aFunction = __webpack_require__(9) - , toObject = __webpack_require__(56) - , fails = __webpack_require__(5) - , $sort = [].sort - , test = [1, 2, 3]; - - $export($export.P + $export.F * (fails(function(){ - // IE8- - test.sort(undefined); - }) || !fails(function(){ - // V8 bug - test.sort(null); - // Old WebKit - }) || !__webpack_require__(156)($sort)), 'Array', { - // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn){ - return comparefn === undefined - ? $sort.call(toObject(this)) - : $sort.call(toObject(this), aFunction(comparefn)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseInt = __webpack_require__(100); +// 20.1.2.13 Number.parseInt(string, radix) +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + + +/***/ }), /* 159 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $forEach = __webpack_require__(160)(0) - , STRICT = __webpack_require__(156)([].forEach, true); +var $export = __webpack_require__(0); +var $parseInt = __webpack_require__(100); +// 18.2.5 parseInt(string, radix) +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); - $export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ - return $forEach(this, callbackfn, arguments[1]); - } - }); -/***/ }, +/***/ }), /* 160 */ -/***/ function(module, exports, __webpack_require__) { - - // 0 -> Array#forEach - // 1 -> Array#map - // 2 -> Array#filter - // 3 -> Array#some - // 4 -> Array#every - // 5 -> Array#find - // 6 -> Array#findIndex - var ctx = __webpack_require__(8) - , IObject = __webpack_require__(31) - , toObject = __webpack_require__(56) - , toLength = __webpack_require__(35) - , asc = __webpack_require__(161); - module.exports = function(TYPE, $create){ - var IS_MAP = TYPE == 1 - , IS_FILTER = TYPE == 2 - , IS_SOME = TYPE == 3 - , IS_EVERY = TYPE == 4 - , IS_FIND_INDEX = TYPE == 6 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX - , create = $create || asc; - return function($this, callbackfn, that){ - var O = toObject($this) - , self = IObject(O) - , f = ctx(callbackfn, that, 3) - , length = toLength(self.length) - , index = 0 - , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined - , val, res; - for(;length > index; index++)if(NO_HOLES || index in self){ - val = self[index]; - res = f(val, index, O); - if(TYPE){ - if(IS_MAP)result[index] = res; // map - else if(res)switch(TYPE){ - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if(IS_EVERY)return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; - }; - -/***/ }, -/* 161 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 9.4.2.3 ArraySpeciesCreate(originalArray, length) - var speciesConstructor = __webpack_require__(162); +var $export = __webpack_require__(0); +var $parseFloat = __webpack_require__(99); +// 18.2.4 parseFloat(string) +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); - module.exports = function(original, length){ - return new (speciesConstructor(original))(length); - }; -/***/ }, +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.3 Math.acosh(x) +var $export = __webpack_require__(0); +var log1p = __webpack_require__(101); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; + +$export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity +), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + + +/***/ }), /* 162 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(13) - , isArray = __webpack_require__(43) - , SPECIES = __webpack_require__(23)('species'); - - module.exports = function(original){ - var C; - if(isArray(original)){ - C = original.constructor; - // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ - C = C[SPECIES]; - if(C === null)C = undefined; - } - } return C === undefined ? Array : C; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.5 Math.asinh(x) +var $export = __webpack_require__(0); +var $asinh = Math.asinh; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + + +/***/ }), /* 163 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.7 Math.atanh(x) +var $export = __webpack_require__(0); +var $atanh = Math.atanh; - 'use strict'; - var $export = __webpack_require__(6) - , $map = __webpack_require__(160)(1); +// Tor Browser bug: Math.atanh(-0) -> 0 +$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); - $export($export.P + $export.F * !__webpack_require__(156)([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ - return $map(this, callbackfn, arguments[1]); - } - }); -/***/ }, +/***/ }), /* 164 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $filter = __webpack_require__(160)(2); +// 20.2.2.9 Math.cbrt(x) +var $export = __webpack_require__(0); +var sign = __webpack_require__(72); - $export($export.P + $export.F * !__webpack_require__(156)([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ - return $filter(this, callbackfn, arguments[1]); - } - }); +$export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); -/***/ }, + +/***/ }), /* 165 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.11 Math.clz32(x) +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6) - , $some = __webpack_require__(160)(3); +$export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); - $export($export.P + $export.F * !__webpack_require__(156)([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ - return $some(this, callbackfn, arguments[1]); - } - }); -/***/ }, +/***/ }), /* 166 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $every = __webpack_require__(160)(4); +// 20.2.2.12 Math.cosh(x) +var $export = __webpack_require__(0); +var exp = Math.exp; - $export($export.P + $export.F * !__webpack_require__(156)([].every, true), 'Array', { - // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */){ - return $every(this, callbackfn, arguments[1]); - } - }); +$export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } +}); -/***/ }, + +/***/ }), /* 167 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.14 Math.expm1(x) +var $export = __webpack_require__(0); +var $expm1 = __webpack_require__(73); - 'use strict'; - var $export = __webpack_require__(6) - , $reduce = __webpack_require__(168); +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); - $export($export.P + $export.F * !__webpack_require__(156)([].reduce, true), 'Array', { - // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], false); - } - }); -/***/ }, +/***/ }), /* 168 */ -/***/ function(module, exports, __webpack_require__) { - - var aFunction = __webpack_require__(9) - , toObject = __webpack_require__(56) - , IObject = __webpack_require__(31) - , toLength = __webpack_require__(35); - - module.exports = function(that, callbackfn, aLen, memo, isRight){ - aFunction(callbackfn); - var O = toObject(that) - , self = IObject(O) - , length = toLength(O.length) - , index = isRight ? length - 1 : 0 - , i = isRight ? -1 : 1; - if(aLen < 2)for(;;){ - if(index in self){ - memo = self[index]; - index += i; - break; - } - index += i; - if(isRight ? index < 0 : length <= index){ - throw TypeError('Reduce of empty array with no initial value'); - } - } - for(;isRight ? index >= 0 : length > index; index += i)if(index in self){ - memo = callbackfn(memo, self[index], index, O); - } - return memo; - }; - -/***/ }, -/* 169 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.16 Math.fround(x) +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6) - , $reduce = __webpack_require__(168); +$export($export.S, 'Math', { fround: __webpack_require__(102) }); - $export($export.P + $export.F * !__webpack_require__(156)([].reduceRight, true), 'Array', { - // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], true); - } - }); -/***/ }, +/***/ }), +/* 169 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = __webpack_require__(0); +var abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); + + +/***/ }), /* 170 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $indexOf = __webpack_require__(34)(false) - , $native = [].indexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(156)($native)), 'Array', { - // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /*, fromIndex = 0 */){ - return NEGATIVE_ZERO - // convert -0 to +0 - ? $native.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments[1]); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.18 Math.imul(x, y) +var $export = __webpack_require__(0); +var $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * __webpack_require__(4)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), /* 171 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , $native = [].lastIndexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(156)($native)), 'Array', { - // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){ - // convert -0 to +0 - if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0; - var O = toIObject(this) - , length = toLength(O.length) - , index = length - 1; - if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1])); - if(index < 0)index = length + index; - for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0; - return -1; - } - }); - -/***/ }, -/* 172 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - var $export = __webpack_require__(6); +// 20.2.2.21 Math.log10(x) +var $export = __webpack_require__(0); - $export($export.P, 'Array', {copyWithin: __webpack_require__(173)}); +$export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; + } +}); - __webpack_require__(174)('copyWithin'); -/***/ }, -/* 173 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - 'use strict'; - var toObject = __webpack_require__(56) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35); - - module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ - var O = toObject(this) - , len = toLength(O.length) - , to = toIndex(target, len) - , from = toIndex(start, len) - , end = arguments.length > 2 ? arguments[2] : undefined - , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) - , inc = 1; - if(from < to && to < from + count){ - inc = -1; - from += count - 1; - to += count - 1; - } - while(count-- > 0){ - if(from in O)O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } return O; - }; - -/***/ }, -/* 174 */ -/***/ function(module, exports) { +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports = function(){ /* empty */ }; +// 20.2.2.20 Math.log1p(x) +var $export = __webpack_require__(0); -/***/ }, -/* 175 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Math', { log1p: __webpack_require__(101) }); + + +/***/ }), +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.22 Math.log2(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - var $export = __webpack_require__(6); +// 20.2.2.28 Math.sign(x) +var $export = __webpack_require__(0); - $export($export.P, 'Array', {fill: __webpack_require__(176)}); +$export($export.S, 'Math', { sign: __webpack_require__(72) }); - __webpack_require__(174)('fill'); -/***/ }, +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.30 Math.sinh(x) +var $export = __webpack_require__(0); +var expm1 = __webpack_require__(73); +var exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * __webpack_require__(4)(function () { + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); + + +/***/ }), /* 176 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - 'use strict'; - var toObject = __webpack_require__(56) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35); - module.exports = function fill(value /*, start = 0, end = @length */){ - var O = toObject(this) - , length = toLength(O.length) - , aLen = arguments.length - , index = toIndex(aLen > 1 ? arguments[1] : undefined, length) - , end = aLen > 2 ? arguments[2] : undefined - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.33 Math.tanh(x) +var $export = __webpack_require__(0); +var expm1 = __webpack_require__(73); +var exp = Math.exp; + +$export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + + +/***/ }), /* 177 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) - var $export = __webpack_require__(6) - , $find = __webpack_require__(160)(5) - , KEY = 'find' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(174)(KEY); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.34 Math.trunc(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); + + +/***/ }), /* 178 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) - var $export = __webpack_require__(6) - , $find = __webpack_require__(160)(6) - , KEY = 'findIndex' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(174)(KEY); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var toAbsoluteIndex = __webpack_require__(35); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); + + +/***/ }), /* 179 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var addToUnscopables = __webpack_require__(174) - , step = __webpack_require__(180) - , Iterators = __webpack_require__(130) - , toIObject = __webpack_require__(30); - - // 22.1.3.4 Array.prototype.entries() - // 22.1.3.13 Array.prototype.keys() - // 22.1.3.29 Array.prototype.values() - // 22.1.3.30 Array.prototype[@@iterator]() - module.exports = __webpack_require__(129)(Array, 'Array', function(iterated, kind){ - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind - // 22.1.5.2.1 %ArrayIteratorPrototype%.next() - }, function(){ - var O = this._t - , kind = this._k - , index = this._i++; - if(!O || index >= O.length){ - this._t = undefined; - return step(1); - } - if(kind == 'keys' )return step(0, index); - if(kind == 'values')return step(0, O[index]); - return step(0, [index, O[index]]); - }, 'values'); - - // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) - Iterators.Arguments = Iterators.Array; - - addToUnscopables('keys'); - addToUnscopables('values'); - addToUnscopables('entries'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(11); +var toLength = __webpack_require__(6); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + } return res.join(''); + } +}); + + +/***/ }), /* 180 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - module.exports = function(done, value){ - return {value: value, done: !!done}; - }; +// 21.1.3.25 String.prototype.trim() +__webpack_require__(47)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; +}); -/***/ }, + +/***/ }), /* 181 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $at = __webpack_require__(74)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } +}); - __webpack_require__(182)('Array'); -/***/ }, +/***/ }), /* 182 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , dP = __webpack_require__(11) - , DESCRIPTORS = __webpack_require__(4) - , SPECIES = __webpack_require__(23)('species'); - - module.exports = function(KEY){ - var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { - configurable: true, - get: function(){ return this; } - }); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) + +var $export = __webpack_require__(0); +var toLength = __webpack_require__(6); +var context = __webpack_require__(75); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * __webpack_require__(76)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + + +/***/ }), /* 183 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(26) - , global = __webpack_require__(2) - , ctx = __webpack_require__(8) - , classof = __webpack_require__(152) - , $export = __webpack_require__(6) - , isObject = __webpack_require__(13) - , aFunction = __webpack_require__(9) - , anInstance = __webpack_require__(184) - , forOf = __webpack_require__(185) - , speciesConstructor = __webpack_require__(186) - , task = __webpack_require__(187).set - , microtask = __webpack_require__(188)() - , PROMISE = 'Promise' - , TypeError = global.TypeError - , process = global.process - , $Promise = global[PROMISE] - , process = global.process - , isNode = classof(process) == 'process' - , empty = function(){ /* empty */ } - , Internal, GenericPromiseCapability, Wrapper; - - var USE_NATIVE = !!function(){ - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1) - , FakePromise = (promise.constructor = {})[__webpack_require__(23)('species')] = function(exec){ exec(empty, empty); }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; - } catch(e){ /* empty */ } - }(); - - // helpers - var sameConstructor = function(a, b){ - // with library wrapper special case - return a === b || a === $Promise && b === Wrapper; - }; - var isThenable = function(it){ - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; - }; - var newPromiseCapability = function(C){ - return sameConstructor($Promise, C) - ? new PromiseCapability(C) - : new GenericPromiseCapability(C); - }; - var PromiseCapability = GenericPromiseCapability = function(C){ - var resolve, reject; - this.promise = new C(function($$resolve, $$reject){ - if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); - }; - var perform = function(exec){ - try { - exec(); - } catch(e){ - return {error: e}; - } - }; - var notify = function(promise, isReject){ - if(promise._n)return; - promise._n = true; - var chain = promise._c; - microtask(function(){ - var value = promise._v - , ok = promise._s == 1 - , i = 0; - var run = function(reaction){ - var handler = ok ? reaction.ok : reaction.fail - , resolve = reaction.resolve - , reject = reaction.reject - , domain = reaction.domain - , result, then; - try { - if(handler){ - if(!ok){ - if(promise._h == 2)onHandleUnhandled(promise); - promise._h = 1; - } - if(handler === true)result = value; - else { - if(domain)domain.enter(); - result = handler(value); - if(domain)domain.exit(); - } - if(result === reaction.promise){ - reject(TypeError('Promise-chain cycle')); - } else if(then = isThenable(result)){ - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch(e){ - reject(e); - } - }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if(isReject && !promise._h)onUnhandled(promise); - }); - }; - var onUnhandled = function(promise){ - task.call(global, function(){ - var value = promise._v - , abrupt, handler, console; - if(isUnhandled(promise)){ - abrupt = perform(function(){ - if(isNode){ - process.emit('unhandledRejection', value, promise); - } else if(handler = global.onunhandledrejection){ - handler({promise: promise, reason: value}); - } else if((console = global.console) && console.error){ - console.error('Unhandled promise rejection', value); - } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } promise._a = undefined; - if(abrupt)throw abrupt.error; - }); - }; - var isUnhandled = function(promise){ - if(promise._h == 1)return false; - var chain = promise._a || promise._c - , i = 0 - , reaction; - while(chain.length > i){ - reaction = chain[i++]; - if(reaction.fail || !isUnhandled(reaction.promise))return false; - } return true; - }; - var onHandleUnhandled = function(promise){ - task.call(global, function(){ - var handler; - if(isNode){ - process.emit('rejectionHandled', promise); - } else if(handler = global.onrejectionhandled){ - handler({promise: promise, reason: promise._v}); - } - }); - }; - var $reject = function(value){ - var promise = this; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if(!promise._a)promise._a = promise._c.slice(); - notify(promise, true); - }; - var $resolve = function(value){ - var promise = this - , then; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if(promise === value)throw TypeError("Promise can't be resolved itself"); - if(then = isThenable(value)){ - microtask(function(){ - var wrapper = {_w: promise, _d: false}; // wrap - try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch(e){ - $reject.call(wrapper, e); - } - }); - } else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch(e){ - $reject.call({_w: promise, _d: false}, e); // wrap - } - }; - - // constructor polyfill - if(!USE_NATIVE){ - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor){ - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch(err){ - $reject.call(this, err); - } - }; - Internal = function Promise(executor){ - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = __webpack_require__(189)($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected){ - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if(this._a)this._a.push(reaction); - if(this._s)notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected){ - return this.then(undefined, onRejected); - } - }); - PromiseCapability = function(){ - var promise = new Internal; - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise}); - __webpack_require__(22)($Promise, PROMISE); - __webpack_require__(182)(PROMISE); - Wrapper = __webpack_require__(7)[PROMISE]; - - // statics - $export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r){ - var capability = newPromiseCapability(this) - , $$reject = capability.reject; - $$reject(r); - return capability.promise; - } - }); - $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x){ - // instanceof instead of internal slot check because we should fix it without replacement native Promise core - if(x instanceof $Promise && sameConstructor(x.constructor, this))return x; - var capability = newPromiseCapability(this) - , $$resolve = capability.resolve; - $$resolve(x); - return capability.promise; - } - }); - $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(153)(function(iter){ - $Promise.all(iter)['catch'](empty); - })), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable){ - var C = this - , capability = newPromiseCapability(C) - , resolve = capability.resolve - , reject = capability.reject; - var abrupt = perform(function(){ - var values = [] - , index = 0 - , remaining = 1; - forOf(iterable, false, function(promise){ - var $index = index++ - , alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function(value){ - if(alreadyCalled)return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable){ - var C = this - , capability = newPromiseCapability(C) - , reject = capability.reject; - var abrupt = perform(function(){ - forOf(iterable, false, function(promise){ - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.7 String.prototype.includes(searchString, position = 0) + +var $export = __webpack_require__(0); +var context = __webpack_require__(75); +var INCLUDES = 'includes'; + +$export($export.P + $export.F * __webpack_require__(76)(INCLUDES), 'String', { + includes: function includes(searchString /* , position = 0 */) { + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), /* 184 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); + +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: __webpack_require__(70) +}); - module.exports = function(it, Constructor, name, forbiddenField){ - if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){ - throw TypeError(name + ': incorrect invocation!'); - } return it; - }; -/***/ }, +/***/ }), /* 185 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(8) - , call = __webpack_require__(148) - , isArrayIter = __webpack_require__(149) - , anObject = __webpack_require__(12) - , toLength = __webpack_require__(35) - , getIterFn = __webpack_require__(151) - , BREAK = {} - , RETURN = {}; - var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ - var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) - , f = ctx(fn, that, entries ? 2 : 1) - , index = 0 - , length, step, iterator, result; - if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ - result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; - } - }; - exports.BREAK = BREAK; - exports.RETURN = RETURN; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) + +var $export = __webpack_require__(0); +var toLength = __webpack_require__(6); +var context = __webpack_require__(75); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * __webpack_require__(76)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + + +/***/ }), /* 186 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.3.20 SpeciesConstructor(O, defaultConstructor) - var anObject = __webpack_require__(12) - , aFunction = __webpack_require__(9) - , SPECIES = __webpack_require__(23)('species'); - module.exports = function(O, D){ - var C = anObject(O).constructor, S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $at = __webpack_require__(74)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +__webpack_require__(53)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + + +/***/ }), /* 187 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(8) - , invoke = __webpack_require__(74) - , html = __webpack_require__(46) - , cel = __webpack_require__(15) - , global = __webpack_require__(2) - , process = global.process - , setTask = global.setImmediate - , clearTask = global.clearImmediate - , MessageChannel = global.MessageChannel - , counter = 0 - , queue = {} - , ONREADYSTATECHANGE = 'onreadystatechange' - , defer, channel, port; - var run = function(){ - var id = +this; - if(queue.hasOwnProperty(id)){ - var fn = queue[id]; - delete queue[id]; - fn(); - } - }; - var listener = function(event){ - run.call(event.data); - }; - // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - if(!setTask || !clearTask){ - setTask = function setImmediate(fn){ - var args = [], i = 1; - while(arguments.length > i)args.push(arguments[i++]); - queue[++counter] = function(){ - invoke(typeof fn == 'function' ? fn : Function(fn), args); - }; - defer(counter); - return counter; - }; - clearTask = function clearImmediate(id){ - delete queue[id]; - }; - // Node.js 0.8- - if(__webpack_require__(32)(process) == 'process'){ - defer = function(id){ - process.nextTick(ctx(run, id, 1)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if(MessageChannel){ - channel = new MessageChannel; - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ - defer = function(id){ - global.postMessage(id + '', '*'); - }; - global.addEventListener('message', listener, false); - // IE8- - } else if(ONREADYSTATECHANGE in cel('script')){ - defer = function(id){ - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){ - html.removeChild(this); - run.call(id); - }; - }; - // Rest old browsers - } else { - defer = function(id){ - setTimeout(ctx(run, id, 1), 0); - }; - } - } - module.exports = { - set: setTask, - clear: clearTask - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.2 String.prototype.anchor(name) +__webpack_require__(14)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; +}); + + +/***/ }), /* 188 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , macrotask = __webpack_require__(187).set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , Promise = global.Promise - , isNode = __webpack_require__(32)(process) == 'process'; - - module.exports = function(){ - var head, last, notify; - - var flush = function(){ - var parent, fn; - if(isNode && (parent = process.domain))parent.exit(); - while(head){ - fn = head.fn; - head = head.next; - try { - fn(); - } catch(e){ - if(head)notify(); - else last = undefined; - throw e; - } - } last = undefined; - if(parent)parent.enter(); - }; - - // Node.js - if(isNode){ - notify = function(){ - process.nextTick(flush); - }; - // browsers with MutationObserver - } else if(Observer){ - var toggle = true - , node = document.createTextNode(''); - new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new - notify = function(){ - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if(Promise && Promise.resolve){ - var promise = Promise.resolve(); - notify = function(){ - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function(){ - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } - - return function(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ - head = task; - notify(); - } last = task; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.3 String.prototype.big() +__webpack_require__(14)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; +}); + + +/***/ }), /* 189 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.4 String.prototype.blink() +__webpack_require__(14)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; +}); - var hide = __webpack_require__(10); - module.exports = function(target, src, safe){ - for(var key in src){ - if(safe && target[key])target[key] = src[key]; - else hide(target, key, src[key]); - } return target; - }; -/***/ }, +/***/ }), /* 190 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(191); - - // 23.1 Map Objects - module.exports = __webpack_require__(192)('Map', function(get){ - return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key){ - var entry = strong.getEntry(this, key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value){ - return strong.def(this, key === 0 ? 0 : key, value); - } - }, strong, true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.5 String.prototype.bold() +__webpack_require__(14)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; +}); + + +/***/ }), /* 191 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var dP = __webpack_require__(11).f - , create = __webpack_require__(44) - , redefineAll = __webpack_require__(189) - , ctx = __webpack_require__(8) - , anInstance = __webpack_require__(184) - , defined = __webpack_require__(33) - , forOf = __webpack_require__(185) - , $iterDefine = __webpack_require__(129) - , step = __webpack_require__(180) - , setSpecies = __webpack_require__(182) - , DESCRIPTORS = __webpack_require__(4) - , fastKey = __webpack_require__(19).fastKey - , SIZE = DESCRIPTORS ? '_s' : 'size'; - - var getEntry = function(that, key){ - // fast case - var index = fastKey(key), entry; - if(index !== 'F')return that._i[index]; - // frozen object case - for(entry = that._f; entry; entry = entry.n){ - if(entry.k == key)return entry; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear(){ - for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ - entry.r = true; - if(entry.p)entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function(key){ - var that = this - , entry = getEntry(that, key); - if(entry){ - var next = entry.n - , prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if(prev)prev.n = next; - if(next)next.p = prev; - if(that._f == entry)that._f = next; - if(that._l == entry)that._l = prev; - that[SIZE]--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /*, that = undefined */){ - anInstance(this, C, 'forEach'); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) - , entry; - while(entry = entry ? entry.n : this._f){ - f(entry.v, entry.k, this); - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key){ - return !!getEntry(this, key); - } - }); - if(DESCRIPTORS)dP(C.prototype, 'size', { - get: function(){ - return defined(this[SIZE]); - } - }); - return C; - }, - def: function(that, key, value){ - var entry = getEntry(that, key) - , prev, index; - // change existing entry - if(entry){ - entry.v = value; - // create new entry - } else { - that._l = entry = { - i: index = fastKey(key, true), // <- index - k: key, // <- key - v: value, // <- value - p: prev = that._l, // <- previous entry - n: undefined, // <- next entry - r: false // <- removed - }; - if(!that._f)that._f = entry; - if(prev)prev.n = entry; - that[SIZE]++; - // add to index - if(index !== 'F')that._i[index] = entry; - } return that; - }, - getEntry: getEntry, - setStrong: function(C, NAME, IS_MAP){ - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function(iterated, kind){ - this._t = iterated; // target - this._k = kind; // kind - this._l = undefined; // previous - }, function(){ - var that = this - , kind = that._k - , entry = that._l; - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - // get next entry - if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if(kind == 'keys' )return step(0, entry.k); - if(kind == 'values')return step(0, entry.v); - return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.6 String.prototype.fixed() +__webpack_require__(14)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; +}); + + +/***/ }), /* 192 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , $export = __webpack_require__(6) - , meta = __webpack_require__(19) - , fails = __webpack_require__(5) - , hide = __webpack_require__(10) - , redefineAll = __webpack_require__(189) - , forOf = __webpack_require__(185) - , anInstance = __webpack_require__(184) - , isObject = __webpack_require__(13) - , setToStringTag = __webpack_require__(22) - , dP = __webpack_require__(11).f - , each = __webpack_require__(160)(0) - , DESCRIPTORS = __webpack_require__(4); - - module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ - var Base = global[NAME] - , C = Base - , ADDER = IS_MAP ? 'set' : 'add' - , proto = C && C.prototype - , O = {}; - if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ - new C().entries().next(); - }))){ - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - C = wrapper(function(target, iterable){ - anInstance(target, C, NAME, '_c'); - target._c = new Base; - if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target); - }); - each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','),function(KEY){ - var IS_ADDER = KEY == 'add' || KEY == 'set'; - if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){ - anInstance(this, C, KEY); - if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false; - var result = this._c[KEY](a === 0 ? 0 : a, b); - return IS_ADDER ? this : result; - }); - }); - if('size' in proto)dP(C.prototype, 'size', { - get: function(){ - return this._c.size; - } - }); - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F, O); - - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); - - return C; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.7 String.prototype.fontcolor(color) +__webpack_require__(14)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; +}); + + +/***/ }), /* 193 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(191); - - // 23.2 Set Objects - module.exports = __webpack_require__(192)('Set', function(get){ - return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); - } - }, strong); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.8 String.prototype.fontsize(size) +__webpack_require__(14)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; +}); + + +/***/ }), /* 194 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var each = __webpack_require__(160)(0) - , redefine = __webpack_require__(18) - , meta = __webpack_require__(19) - , assign = __webpack_require__(67) - , weak = __webpack_require__(195) - , isObject = __webpack_require__(13) - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; - - var wrapper = function(get){ - return function WeakMap(){ - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }; - - var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); - } - }; - - // 23.3 WeakMap Objects - var $WeakMap = module.exports = __webpack_require__(192)('WeakMap', wrapper, methods, weak, true, true); - - // IE11 WeakMap frozen keys fix - if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ - // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.9 String.prototype.italics() +__webpack_require__(14)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; +}); + + +/***/ }), /* 195 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var redefineAll = __webpack_require__(189) - , getWeak = __webpack_require__(19).getWeak - , anObject = __webpack_require__(12) - , isObject = __webpack_require__(13) - , anInstance = __webpack_require__(184) - , forOf = __webpack_require__(185) - , createArrayMethod = __webpack_require__(160) - , $has = __webpack_require__(3) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , id = 0; - - // fallback for uncaught frozen keys - var uncaughtFrozenStore = function(that){ - return that._l || (that._l = new UncaughtFrozenStore); - }; - var UncaughtFrozenStore = function(){ - this.a = []; - }; - var findUncaughtFrozen = function(store, key){ - return arrayFind(store.a, function(it){ - return it[0] === key; - }); - }; - UncaughtFrozenStore.prototype = { - get: function(key){ - var entry = findUncaughtFrozen(this, key); - if(entry)return entry[1]; - }, - has: function(key){ - return !!findUncaughtFrozen(this, key); - }, - set: function(key, value){ - var entry = findUncaughtFrozen(this, key); - if(entry)entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function(key){ - var index = arrayFindIndex(this.a, function(it){ - return it[0] === key; - }); - if(~index)this.a.splice(index, 1); - return !!~index; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this)['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function(that, key, value){ - var data = getWeak(anObject(key), true); - if(data === true)uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.10 String.prototype.link(url) +__webpack_require__(14)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; +}); + + +/***/ }), /* 196 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var weak = __webpack_require__(195); - - // 23.4 WeakSet Objects - __webpack_require__(192)('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value){ - return weak.def(this, value, true); - } - }, weak, false, true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.11 String.prototype.small() +__webpack_require__(14)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; +}); + + +/***/ }), /* 197 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) - var $export = __webpack_require__(6) - , aFunction = __webpack_require__(9) - , anObject = __webpack_require__(12) - , rApply = (__webpack_require__(2).Reflect || {}).apply - , fApply = Function.apply; - // MS Edge argumentsList argument is optional - $export($export.S + $export.F * !__webpack_require__(5)(function(){ - rApply(function(){}); - }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.12 String.prototype.strike() +__webpack_require__(14)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; +}); + + +/***/ }), /* 198 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) - var $export = __webpack_require__(6) - , create = __webpack_require__(44) - , aFunction = __webpack_require__(9) - , anObject = __webpack_require__(12) - , isObject = __webpack_require__(13) - , fails = __webpack_require__(5) - , bind = __webpack_require__(73) - , rConstruct = (__webpack_require__(2).Reflect || {}).construct; - - // MS Edge supports only 2 arguments and argumentsList argument is optional - // FF Nightly sets third argument as `new.target`, but does not create `this` from it - var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); - }); - var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); - }); - - $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - if(Target == newTarget){ - // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: return new Target; - case 1: return new Target(args[0]); - case 2: return new Target(args[0], args[1]); - case 3: return new Target(args[0], args[1], args[2]); - case 4: return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [null]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args)); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.13 String.prototype.sub() +__webpack_require__(14)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; +}); + + +/***/ }), /* 199 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) - var dP = __webpack_require__(11) - , $export = __webpack_require__(6) - , anObject = __webpack_require__(12) - , toPrimitive = __webpack_require__(16); - - // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - $export($export.S + $export.F * __webpack_require__(5)(function(){ - Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); - }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes){ - anObject(target); - propertyKey = toPrimitive(propertyKey, true); - anObject(attributes); - try { - dP.f(target, propertyKey, attributes); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.14 String.prototype.sup() +__webpack_require__(14)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; +}); + + +/***/ }), /* 200 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +var $export = __webpack_require__(0); - // 26.1.4 Reflect.deleteProperty(target, propertyKey) - var $export = __webpack_require__(6) - , gOPD = __webpack_require__(49).f - , anObject = __webpack_require__(12); +$export($export.S, 'Array', { isArray: __webpack_require__(52) }); - $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey){ - var desc = gOPD(anObject(target), propertyKey); - return desc && !desc.configurable ? false : delete target[propertyKey]; - } - }); -/***/ }, +/***/ }), /* 201 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 26.1.5 Reflect.enumerate(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(12); - var Enumerate = function(iterated){ - this._t = anObject(iterated); // target - this._i = 0; // next index - var keys = this._k = [] // keys - , key; - for(key in iterated)keys.push(key); - }; - __webpack_require__(131)(Enumerate, 'Object', function(){ - var that = this - , keys = that._k - , key; - do { - if(that._i >= keys.length)return {value: undefined, done: true}; - } while(!((key = keys[that._i++]) in that._t)); - return {value: key, done: false}; - }); - - $export($export.S, 'Reflect', { - enumerate: function enumerate(target){ - return new Enumerate(target); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ctx = __webpack_require__(16); +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var call = __webpack_require__(104); +var isArrayIter = __webpack_require__(77); +var toLength = __webpack_require__(6); +var createProperty = __webpack_require__(78); +var getIterFn = __webpack_require__(48); + +$export($export.S + $export.F * !__webpack_require__(79)(function (iter) { Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } +}); + + +/***/ }), /* 202 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.6 Reflect.get(target, propertyKey [, receiver]) - var gOPD = __webpack_require__(49) - , getPrototypeOf = __webpack_require__(57) - , has = __webpack_require__(3) - , $export = __webpack_require__(6) - , isObject = __webpack_require__(13) - , anObject = __webpack_require__(12); - - function get(target, propertyKey/*, receiver*/){ - var receiver = arguments.length < 3 ? target : arguments[2] - , desc, proto; - if(anObject(target) === receiver)return target[propertyKey]; - if(desc = gOPD.f(target, propertyKey))return has(desc, 'value') - ? desc.value - : desc.get !== undefined - ? desc.get.call(receiver) - : undefined; - if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver); - } - - $export($export.S, 'Reflect', {get: get}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var createProperty = __webpack_require__(78); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * __webpack_require__(4)(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); + result.length = aLen; + return result; + } +}); + + +/***/ }), /* 203 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) - var gOPD = __webpack_require__(49) - , $export = __webpack_require__(6) - , anObject = __webpack_require__(12); +"use strict"; - $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ - return gOPD.f(anObject(target), propertyKey); - } - }); +// 22.1.3.13 Array.prototype.join(separator) +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(11); +var arrayJoin = [].join; -/***/ }, -/* 204 */ -/***/ function(module, exports, __webpack_require__) { +// fallback for not array-like strings +$export($export.P + $export.F * (__webpack_require__(44) != Object || !__webpack_require__(19)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } +}); - // 26.1.8 Reflect.getPrototypeOf(target) - var $export = __webpack_require__(6) - , getProto = __webpack_require__(57) - , anObject = __webpack_require__(12); - $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target){ - return getProto(anObject(target)); - } - }); - -/***/ }, +/***/ }), +/* 204 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var html = __webpack_require__(67); +var cof = __webpack_require__(21); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(6); +var arraySlice = [].slice; + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * __webpack_require__(4)(function () { + if (html) arraySlice.call(html); +}), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); + + +/***/ }), /* 205 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.9 Reflect.has(target, propertyKey) - var $export = __webpack_require__(6); +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var toObject = __webpack_require__(9); +var fails = __webpack_require__(4); +var $sort = [].sort; +var test = [1, 2, 3]; + +$export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); +}) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit +}) || !__webpack_require__(19)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined + ? $sort.call(toObject(this)) + : $sort.call(toObject(this), aFunction(comparefn)); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Reflect', { - has: function has(target, propertyKey){ - return propertyKey in target; - } - }); +"use strict"; -/***/ }, -/* 206 */ -/***/ function(module, exports, __webpack_require__) { +var $export = __webpack_require__(0); +var $forEach = __webpack_require__(20)(0); +var STRICT = __webpack_require__(19)([].forEach, true); - // 26.1.10 Reflect.isExtensible(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(12) - , $isExtensible = Object.isExtensible; +$export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } +}); - $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target){ - anObject(target); - return $isExtensible ? $isExtensible(target) : true; - } - }); -/***/ }, +/***/ }), /* 207 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(3); +var isArray = __webpack_require__(52); +var SPECIES = __webpack_require__(5)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + + +/***/ }), +/* 208 */ +/***/ (function(module, exports, __webpack_require__) { - // 26.1.11 Reflect.ownKeys(target) - var $export = __webpack_require__(6); +"use strict"; - $export($export.S, 'Reflect', {ownKeys: __webpack_require__(208)}); +var $export = __webpack_require__(0); +var $map = __webpack_require__(20)(1); -/***/ }, -/* 208 */ -/***/ function(module, exports, __webpack_require__) { - - // all object keys, includes non-enumerable and symbols - var gOPN = __webpack_require__(48) - , gOPS = __webpack_require__(41) - , anObject = __webpack_require__(12) - , Reflect = __webpack_require__(2).Reflect; - module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ - var keys = gOPN.f(anObject(it)) - , getSymbols = gOPS.f; - return getSymbols ? keys.concat(getSymbols(it)) : keys; - }; - -/***/ }, +$export($export.P + $export.F * !__webpack_require__(19)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 209 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.12 Reflect.preventExtensions(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(12) - , $preventExtensions = Object.preventExtensions; - - $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target){ - anObject(target); - try { - if($preventExtensions)$preventExtensions(target); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $filter = __webpack_require__(20)(2); + +$export($export.P + $export.F * !__webpack_require__(19)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 210 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) - var dP = __webpack_require__(11) - , gOPD = __webpack_require__(49) - , getPrototypeOf = __webpack_require__(57) - , has = __webpack_require__(3) - , $export = __webpack_require__(6) - , createDesc = __webpack_require__(17) - , anObject = __webpack_require__(12) - , isObject = __webpack_require__(13); - - function set(target, propertyKey, V/*, receiver*/){ - var receiver = arguments.length < 4 ? target : arguments[3] - , ownDesc = gOPD.f(anObject(target), propertyKey) - , existingDescriptor, proto; - if(!ownDesc){ - if(isObject(proto = getPrototypeOf(target))){ - return set(proto, propertyKey, V, receiver); - } - ownDesc = createDesc(0); - } - if(has(ownDesc, 'value')){ - if(ownDesc.writable === false || !isObject(receiver))return false; - existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); - return true; - } - return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); - } - - $export($export.S, 'Reflect', {set: set}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $some = __webpack_require__(20)(3); + +$export($export.P + $export.F * !__webpack_require__(19)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 211 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.14 Reflect.setPrototypeOf(target, proto) - var $export = __webpack_require__(6) - , setProto = __webpack_require__(71); - - if(setProto)$export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto){ - setProto.check(target, proto); - try { - setProto.set(target, proto); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $every = __webpack_require__(20)(4); + +$export($export.P + $export.F * !__webpack_require__(19)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 212 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // 20.3.3.1 / 15.9.4.4 Date.now() - var $export = __webpack_require__(6); +var $export = __webpack_require__(0); +var $reduce = __webpack_require__(105); - $export($export.S, 'Date', {now: function(){ return new Date().getTime(); }}); +$export($export.P + $export.F * !__webpack_require__(19)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } +}); -/***/ }, + +/***/ }), /* 213 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(16); - - $export($export.P + $export.F * __webpack_require__(5)(function(){ - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1; - }), 'Date', { - toJSON: function toJSON(key){ - var O = toObject(this) - , pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $reduce = __webpack_require__(105); + +$export($export.P + $export.F * !__webpack_require__(19)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } +}); + + +/***/ }), /* 214 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() - var $export = __webpack_require__(6) - , fails = __webpack_require__(5) - , getTime = Date.prototype.getTime; - - var lz = function(num){ - return num > 9 ? num : '0' + num; - }; - - // PhantomJS / old WebKit has a broken implementations - $export($export.P + $export.F * (fails(function(){ - return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; - }) || !fails(function(){ - new Date(NaN).toISOString(); - })), 'Date', { - toISOString: function toISOString(){ - if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value'); - var d = this - , y = d.getUTCFullYear() - , m = d.getUTCMilliseconds() - , s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + - '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + - 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + - ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $indexOf = __webpack_require__(50)(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(19)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments[1]); + } +}); + + +/***/ }), /* 215 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $typed = __webpack_require__(216) - , buffer = __webpack_require__(217) - , anObject = __webpack_require__(12) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35) - , isObject = __webpack_require__(13) - , ArrayBuffer = __webpack_require__(2).ArrayBuffer - , speciesConstructor = __webpack_require__(186) - , $ArrayBuffer = buffer.ArrayBuffer - , $DataView = buffer.DataView - , $isView = $typed.ABV && ArrayBuffer.isView - , $slice = $ArrayBuffer.prototype.slice - , VIEW = $typed.VIEW - , ARRAY_BUFFER = 'ArrayBuffer'; - - $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer}); - - $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { - // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it){ - return $isView && $isView(it) || isObject(it) && VIEW in it; - } - }); - - $export($export.P + $export.U + $export.F * __webpack_require__(5)(function(){ - return !new $ArrayBuffer(2).slice(1, undefined).byteLength; - }), ARRAY_BUFFER, { - // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end){ - if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength - , first = toIndex(start, len) - , final = toIndex(end === undefined ? len : end, len) - , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)) - , viewS = new $DataView(this) - , viewT = new $DataView(result) - , index = 0; - while(first < final){ - viewT.setUint8(index++, viewS.getUint8(first++)); - } return result; - } - }); - - __webpack_require__(182)(ARRAY_BUFFER); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(11); +var toInteger = __webpack_require__(22); +var toLength = __webpack_require__(6); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(19)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; + return -1; + } +}); + + +/***/ }), /* 216 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , hide = __webpack_require__(10) - , uid = __webpack_require__(20) - , TYPED = uid('typed_array') - , VIEW = uid('view') - , ABV = !!(global.ArrayBuffer && global.DataView) - , CONSTR = ABV - , i = 0, l = 9, Typed; - - var TypedArrayConstructors = ( - 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' - ).split(','); - - while(i < l){ - if(Typed = global[TypedArrayConstructors[i++]]){ - hide(Typed.prototype, TYPED, true); - hide(Typed.prototype, VIEW, true); - } else CONSTR = false; - } - - module.exports = { - ABV: ABV, - CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = __webpack_require__(0); + +$export($export.P, 'Array', { copyWithin: __webpack_require__(106) }); + +__webpack_require__(33)('copyWithin'); + + +/***/ }), /* 217 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , DESCRIPTORS = __webpack_require__(4) - , LIBRARY = __webpack_require__(26) - , $typed = __webpack_require__(216) - , hide = __webpack_require__(10) - , redefineAll = __webpack_require__(189) - , fails = __webpack_require__(5) - , anInstance = __webpack_require__(184) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , gOPN = __webpack_require__(48).f - , dP = __webpack_require__(11).f - , arrayFill = __webpack_require__(176) - , setToStringTag = __webpack_require__(22) - , ARRAY_BUFFER = 'ArrayBuffer' - , DATA_VIEW = 'DataView' - , PROTOTYPE = 'prototype' - , WRONG_LENGTH = 'Wrong length!' - , WRONG_INDEX = 'Wrong index!' - , $ArrayBuffer = global[ARRAY_BUFFER] - , $DataView = global[DATA_VIEW] - , Math = global.Math - , RangeError = global.RangeError - , Infinity = global.Infinity - , BaseBuffer = $ArrayBuffer - , abs = Math.abs - , pow = Math.pow - , floor = Math.floor - , log = Math.log - , LN2 = Math.LN2 - , BUFFER = 'buffer' - , BYTE_LENGTH = 'byteLength' - , BYTE_OFFSET = 'byteOffset' - , $BUFFER = DESCRIPTORS ? '_b' : BUFFER - , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH - , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; - - // IEEE754 conversions based on https://github.com/feross/ieee754 - var packIEEE754 = function(value, mLen, nBytes){ - var buffer = Array(nBytes) - , eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0 - , i = 0 - , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0 - , e, m, c; - value = abs(value) - if(value != value || value === Infinity){ - m = value != value ? 1 : 0; - e = eMax; - } else { - e = floor(log(value) / LN2); - if(value * (c = pow(2, -e)) < 1){ - e--; - c *= 2; - } - if(e + eBias >= 1){ - value += rt / c; - } else { - value += rt * pow(2, 1 - eBias); - } - if(value * c >= 2){ - e++; - c /= 2; - } - if(e + eBias >= eMax){ - m = 0; - e = eMax; - } else if(e + eBias >= 1){ - m = (value * c - 1) * pow(2, mLen); - e = e + eBias; - } else { - m = value * pow(2, eBias - 1) * pow(2, mLen); - e = 0; - } - } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); - e = e << mLen | m; - eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); - buffer[--i] |= s * 128; - return buffer; - }; - var unpackIEEE754 = function(buffer, mLen, nBytes){ - var eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , nBits = eLen - 7 - , i = nBytes - 1 - , s = buffer[i--] - , e = s & 127 - , m; - s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if(e === 0){ - e = 1 - eBias; - } else if(e === eMax){ - return m ? NaN : s ? -Infinity : Infinity; - } else { - m = m + pow(2, mLen); - e = e - eBias; - } return (s ? -1 : 1) * m * pow(2, e - mLen); - }; - - var unpackI32 = function(bytes){ - return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; - }; - var packI8 = function(it){ - return [it & 0xff]; - }; - var packI16 = function(it){ - return [it & 0xff, it >> 8 & 0xff]; - }; - var packI32 = function(it){ - return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; - }; - var packF64 = function(it){ - return packIEEE754(it, 52, 8); - }; - var packF32 = function(it){ - return packIEEE754(it, 23, 4); - }; - - var addGetter = function(C, key, internal){ - dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }}); - }; - - var get = function(view, bytes, index, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = store.slice(start, start + bytes); - return isLittleEndian ? pack : pack.reverse(); - }; - var set = function(view, bytes, index, conversion, value, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; - }; - - var validateArrayBufferArguments = function(that, length){ - anInstance(that, $ArrayBuffer, ARRAY_BUFFER); - var numberLength = +length - , byteLength = toLength(numberLength); - if(numberLength != byteLength)throw RangeError(WRONG_LENGTH); - return byteLength; - }; - - if(!$typed.ABV){ - $ArrayBuffer = function ArrayBuffer(length){ - var byteLength = validateArrayBufferArguments(this, length); - this._b = arrayFill.call(Array(byteLength), 0); - this[$LENGTH] = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength){ - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH] - , offset = toInteger(byteOffset); - if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH); - this[$BUFFER] = buffer; - this[$OFFSET] = offset; - this[$LENGTH] = byteLength; - }; - - if(DESCRIPTORS){ - addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); - addGetter($DataView, BUFFER, '_b'); - addGetter($DataView, BYTE_LENGTH, '_l'); - addGetter($DataView, BYTE_OFFSET, '_o'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset){ - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset){ - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])); - }, - getUint32: function getUint32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); - }, - getFloat64: function getFloat64(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); - }, - setInt8: function setInt8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setUint8: function setUint8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setInt16: function setInt16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setUint16: function setUint16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setInt32: function setInt32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setUint32: function setUint32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packF32, value, arguments[2]); - }, - setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){ - set(this, 8, byteOffset, packF64, value, arguments[2]); - } - }); - } else { - if(!fails(function(){ - new $ArrayBuffer; // eslint-disable-line no-new - }) || !fails(function(){ - new $ArrayBuffer(.5); // eslint-disable-line no-new - })){ - $ArrayBuffer = function ArrayBuffer(length){ - return new BaseBuffer(validateArrayBufferArguments(this, length)); - }; - var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){ - if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]); - }; - if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)) - , $setInt8 = $DataView[PROTOTYPE].setInt8; - view.setInt8(0, 2147483648); - view.setInt8(1, 2147483649); - if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - } - }, true); - } - setToStringTag($ArrayBuffer, ARRAY_BUFFER); - setToStringTag($DataView, DATA_VIEW); - hide($DataView[PROTOTYPE], $typed.VIEW, true); - exports[ARRAY_BUFFER] = $ArrayBuffer; - exports[DATA_VIEW] = $DataView; - -/***/ }, -/* 218 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); - $export($export.G + $export.W + $export.F * !__webpack_require__(216).ABV, { - DataView: __webpack_require__(217).DataView - }); +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = __webpack_require__(0); -/***/ }, -/* 219 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.P, 'Array', { fill: __webpack_require__(81) }); + +__webpack_require__(33)('fill'); - __webpack_require__(220)('Int8', 1, function(init){ - return function Int8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), +/* 218 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = __webpack_require__(0); +var $find = __webpack_require__(20)(5); +var KEY = 'find'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +__webpack_require__(33)(KEY); + + +/***/ }), +/* 219 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = __webpack_require__(0); +var $find = __webpack_require__(20)(6); +var KEY = 'findIndex'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +__webpack_require__(33)(KEY); + + +/***/ }), /* 220 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - if(__webpack_require__(4)){ - var LIBRARY = __webpack_require__(26) - , global = __webpack_require__(2) - , fails = __webpack_require__(5) - , $export = __webpack_require__(6) - , $typed = __webpack_require__(216) - , $buffer = __webpack_require__(217) - , ctx = __webpack_require__(8) - , anInstance = __webpack_require__(184) - , propertyDesc = __webpack_require__(17) - , hide = __webpack_require__(10) - , redefineAll = __webpack_require__(189) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , toIndex = __webpack_require__(37) - , toPrimitive = __webpack_require__(16) - , has = __webpack_require__(3) - , same = __webpack_require__(69) - , classof = __webpack_require__(152) - , isObject = __webpack_require__(13) - , toObject = __webpack_require__(56) - , isArrayIter = __webpack_require__(149) - , create = __webpack_require__(44) - , getPrototypeOf = __webpack_require__(57) - , gOPN = __webpack_require__(48).f - , getIterFn = __webpack_require__(151) - , uid = __webpack_require__(20) - , wks = __webpack_require__(23) - , createArrayMethod = __webpack_require__(160) - , createArrayIncludes = __webpack_require__(34) - , speciesConstructor = __webpack_require__(186) - , ArrayIterators = __webpack_require__(179) - , Iterators = __webpack_require__(130) - , $iterDetect = __webpack_require__(153) - , setSpecies = __webpack_require__(182) - , arrayFill = __webpack_require__(176) - , arrayCopyWithin = __webpack_require__(173) - , $DP = __webpack_require__(11) - , $GOPD = __webpack_require__(49) - , dP = $DP.f - , gOPD = $GOPD.f - , RangeError = global.RangeError - , TypeError = global.TypeError - , Uint8Array = global.Uint8Array - , ARRAY_BUFFER = 'ArrayBuffer' - , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER - , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT' - , PROTOTYPE = 'prototype' - , ArrayProto = Array[PROTOTYPE] - , $ArrayBuffer = $buffer.ArrayBuffer - , $DataView = $buffer.DataView - , arrayForEach = createArrayMethod(0) - , arrayFilter = createArrayMethod(2) - , arraySome = createArrayMethod(3) - , arrayEvery = createArrayMethod(4) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , arrayIncludes = createArrayIncludes(true) - , arrayIndexOf = createArrayIncludes(false) - , arrayValues = ArrayIterators.values - , arrayKeys = ArrayIterators.keys - , arrayEntries = ArrayIterators.entries - , arrayLastIndexOf = ArrayProto.lastIndexOf - , arrayReduce = ArrayProto.reduce - , arrayReduceRight = ArrayProto.reduceRight - , arrayJoin = ArrayProto.join - , arraySort = ArrayProto.sort - , arraySlice = ArrayProto.slice - , arrayToString = ArrayProto.toString - , arrayToLocaleString = ArrayProto.toLocaleString - , ITERATOR = wks('iterator') - , TAG = wks('toStringTag') - , TYPED_CONSTRUCTOR = uid('typed_constructor') - , DEF_CONSTRUCTOR = uid('def_constructor') - , ALL_CONSTRUCTORS = $typed.CONSTR - , TYPED_ARRAY = $typed.TYPED - , VIEW = $typed.VIEW - , WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function(O, length){ - return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); - }); - - var LITTLE_ENDIAN = fails(function(){ - return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; - }); - - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){ - new Uint8Array(1).set({}); - }); - - var strictToLength = function(it, SAME){ - if(it === undefined)throw TypeError(WRONG_LENGTH); - var number = +it - , length = toLength(it); - if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH); - return length; - }; - - var toOffset = function(it, BYTES){ - var offset = toInteger(it); - if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!'); - return offset; - }; - - var validate = function(it){ - if(isObject(it) && TYPED_ARRAY in it)return it; - throw TypeError(it + ' is not a typed array!'); - }; - - var allocate = function(C, length){ - if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){ - throw TypeError('It is not a typed array constructor!'); - } return new C(length); - }; - - var speciesFromList = function(O, list){ - return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); - }; - - var fromList = function(C, list){ - var index = 0 - , length = list.length - , result = allocate(C, length); - while(length > index)result[index] = list[index++]; - return result; - }; - - var addGetter = function(it, key, internal){ - dP(it, key, {get: function(){ return this._d[internal]; }}); - }; - - var $from = function from(source /*, mapfn, thisArg */){ - var O = toObject(source) - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , iterFn = getIterFn(O) - , i, length, values, result, step, iterator; - if(iterFn != undefined && !isArrayIter(iterFn)){ - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){ - values.push(step.value); - } O = values; - } - if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){ - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; - }; - - var $of = function of(/*...items*/){ - var index = 0 - , length = arguments.length - , result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; - return result; - }; - - // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); }); - - var $toLocaleString = function toLocaleString(){ - return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); - }; - - var proto = { - copyWithin: function copyWithin(target, start /*, end */){ - return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }, - every: function every(callbackfn /*, thisArg */){ - return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars - return arrayFill.apply(validate(this), arguments); - }, - filter: function filter(callbackfn /*, thisArg */){ - return speciesFromList(this, arrayFilter(validate(this), callbackfn, - arguments.length > 1 ? arguments[1] : undefined)); - }, - find: function find(predicate /*, thisArg */){ - return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - findIndex: function findIndex(predicate /*, thisArg */){ - return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - forEach: function forEach(callbackfn /*, thisArg */){ - arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - indexOf: function indexOf(searchElement /*, fromIndex */){ - return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - includes: function includes(searchElement /*, fromIndex */){ - return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - join: function join(separator){ // eslint-disable-line no-unused-vars - return arrayJoin.apply(validate(this), arguments); - }, - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars - return arrayLastIndexOf.apply(validate(this), arguments); - }, - map: function map(mapfn /*, thisArg */){ - return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); - }, - reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduce.apply(validate(this), arguments); - }, - reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduceRight.apply(validate(this), arguments); - }, - reverse: function reverse(){ - var that = this - , length = validate(that).length - , middle = Math.floor(length / 2) - , index = 0 - , value; - while(index < middle){ - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; - }, - some: function some(callbackfn /*, thisArg */){ - return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - sort: function sort(comparefn){ - return arraySort.call(validate(this), comparefn); - }, - subarray: function subarray(begin, end){ - var O = validate(this) - , length = O.length - , $begin = toIndex(begin, length); - return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( - O.buffer, - O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toIndex(end, length)) - $begin) - ); - } - }; - - var $slice = function slice(start, end){ - return speciesFromList(this, arraySlice.call(validate(this), start, end)); - }; - - var $set = function set(arrayLike /*, offset */){ - validate(this); - var offset = toOffset(arguments[1], 1) - , length = this.length - , src = toObject(arrayLike) - , len = toLength(src.length) - , index = 0; - if(len + offset > length)throw RangeError(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; - }; - - var $iterators = { - entries: function entries(){ - return arrayEntries.call(validate(this)); - }, - keys: function keys(){ - return arrayKeys.call(validate(this)); - }, - values: function values(){ - return arrayValues.call(validate(this)); - } - }; - - var isTAIndex = function(target, key){ - return isObject(target) - && target[TYPED_ARRAY] - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); - }; - var $getDesc = function getOwnPropertyDescriptor(target, key){ - return isTAIndex(target, key = toPrimitive(key, true)) - ? propertyDesc(2, target[key]) - : gOPD(target, key); - }; - var $setDesc = function defineProperty(target, key, desc){ - if(isTAIndex(target, key = toPrimitive(key, true)) - && isObject(desc) - && has(desc, 'value') - && !has(desc, 'get') - && !has(desc, 'set') - // TODO: add validation descriptor w/o calling accessors - && !desc.configurable - && (!has(desc, 'writable') || desc.writable) - && (!has(desc, 'enumerable') || desc.enumerable) - ){ - target[key] = desc.value; - return target; - } else return dP(target, key, desc); - }; - - if(!ALL_CONSTRUCTORS){ - $GOPD.f = $getDesc; - $DP.f = $setDesc; - } - - $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { - getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc - }); - - if(fails(function(){ arrayToString.call({}); })){ - arrayToString = arrayToLocaleString = function toString(){ - return arrayJoin.call(this); - } - } - - var $TypedArrayPrototype$ = redefineAll({}, proto); - redefineAll($TypedArrayPrototype$, $iterators); - hide($TypedArrayPrototype$, ITERATOR, $iterators.values); - redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function(){ /* noop */ }, - toString: arrayToString, - toLocaleString: $toLocaleString - }); - addGetter($TypedArrayPrototype$, 'buffer', 'b'); - addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); - addGetter($TypedArrayPrototype$, 'byteLength', 'l'); - addGetter($TypedArrayPrototype$, 'length', 'e'); - dP($TypedArrayPrototype$, TAG, { - get: function(){ return this[TYPED_ARRAY]; } - }); - - module.exports = function(KEY, BYTES, wrapper, CLAMPED){ - CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array' - , ISNT_UINT8 = NAME != 'Uint8Array' - , GETTER = 'get' + KEY - , SETTER = 'set' + KEY - , TypedArray = global[NAME] - , Base = TypedArray || {} - , TAC = TypedArray && getPrototypeOf(TypedArray) - , FORCED = !TypedArray || !$typed.ABV - , O = {} - , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index){ - var data = that._d; - return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); - }; - var setter = function(that, index, value){ - var data = that._d; - if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; - data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); - }; - var addElement = function(that, index){ - dP(that, index, { - get: function(){ - return getter(this, index); - }, - set: function(value){ - return setter(this, index, value); - }, - enumerable: true - }); - }; - if(FORCED){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME, '_d'); - var index = 0 - , offset = 0 - , buffer, byteLength, length, klass; - if(!isObject(data)){ - length = strictToLength(data, true) - byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - buffer = data; - offset = toOffset($offset, BYTES); - var $len = data.byteLength; - if($length === undefined){ - if($len % BYTES)throw RangeError(WRONG_LENGTH); - byteLength = $len - offset; - if(byteLength < 0)throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if(TYPED_ARRAY in data){ - return fromList(TypedArray, data); - } else { - return $from.call(TypedArray, data); - } - hide(that, '_d', { - b: buffer, - o: offset, - l: byteLength, - e: length, - v: new $DataView(buffer) - }); - while(index < length)addElement(that, index++); - }); - TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); - hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if(!$iterDetect(function(iter){ - // V8 works with iterators, but fails in many other cases - // https://code.google.com/p/v8/issues/detail?id=4552 - new TypedArray(null); // eslint-disable-line no-new - new TypedArray(iter); // eslint-disable-line no-new - }, true)){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME); - var klass; - // `ws` module bug, temporarily remove validation length for Uint8Array - // https://github.com/websockets/ws/pull/645 - if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8)); - if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - return $length !== undefined - ? new Base(data, toOffset($offset, BYTES), $length) - : $offset !== undefined - ? new Base(data, toOffset($offset, BYTES)) - : new Base(data); - } - if(TYPED_ARRAY in data)return fromList(TypedArray, data); - return $from.call(TypedArray, data); - }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){ - if(!(key in TypedArray))hide(TypedArray, key, Base[key]); - }); - TypedArray[PROTOTYPE] = TypedArrayPrototype; - if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray; - } - var $nativeIterator = TypedArrayPrototype[ITERATOR] - , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined) - , $iterator = $iterators.values; - hide(TypedArray, TYPED_CONSTRUCTOR, true); - hide(TypedArrayPrototype, TYPED_ARRAY, NAME); - hide(TypedArrayPrototype, VIEW, true); - hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - - if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){ - dP(TypedArrayPrototype, TAG, { - get: function(){ return NAME; } - }); - } - - O[NAME] = TypedArray; - - $export($export.G + $export.W + $export.F * (TypedArray != Base), O); - - $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES, - from: $from, - of: $of - }); - - if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); - - $export($export.P, NAME, proto); - - setSpecies(NAME); - - $export($export.P + $export.F * FORCED_SET, NAME, {set: $set}); - - $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - - $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString}); - - $export($export.P + $export.F * fails(function(){ - new TypedArray(1).slice(); - }), NAME, {slice: $slice}); - - $export($export.P + $export.F * (fails(function(){ - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString() - }) || !fails(function(){ - TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, {toLocaleString: $toLocaleString}); - - Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator); - }; - } else module.exports = function(){ /* empty */ }; - -/***/ }, -/* 221 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(220)('Uint8', 1, function(init){ - return function Uint8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +__webpack_require__(42)('Array'); -/***/ }, + +/***/ }), +/* 221 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(30); +var global = __webpack_require__(2); +var ctx = __webpack_require__(16); +var classof = __webpack_require__(37); +var $export = __webpack_require__(0); +var isObject = __webpack_require__(3); +var aFunction = __webpack_require__(10); +var anInstance = __webpack_require__(38); +var forOf = __webpack_require__(34); +var speciesConstructor = __webpack_require__(55); +var task = __webpack_require__(84).set; +var microtask = __webpack_require__(85)(); +var newPromiseCapabilityModule = __webpack_require__(86); +var perform = __webpack_require__(107); +var userAgent = __webpack_require__(56); +var promiseResolve = __webpack_require__(108); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[__webpack_require__(5)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = __webpack_require__(39)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +__webpack_require__(41)($Promise, PROMISE); +__webpack_require__(42)(PROMISE); +Wrapper = __webpack_require__(12)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(79)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + + +/***/ }), /* 222 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(220)('Uint8', 1, function(init){ - return function Uint8ClampedArray(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }, true); +"use strict"; -/***/ }, -/* 223 */ -/***/ function(module, exports, __webpack_require__) { +var weak = __webpack_require__(113); +var validate = __webpack_require__(43); +var WEAK_SET = 'WeakSet'; - __webpack_require__(220)('Int16', 2, function(init){ - return function Int16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 224 */ -/***/ function(module, exports, __webpack_require__) { +// 23.4 WeakSet Objects +__webpack_require__(57)(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); + } +}, weak, false, true); - __webpack_require__(220)('Uint16', 2, function(init){ - return function Uint16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), +/* 223 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var rApply = (__webpack_require__(2).Reflect || {}).apply; +var fApply = Function.apply; +// MS Edge argumentsList argument is optional +$export($export.S + $export.F * !__webpack_require__(4)(function () { + rApply(function () { /* empty */ }); +}), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } +}); + + +/***/ }), +/* 224 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $export = __webpack_require__(0); +var create = __webpack_require__(32); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); +var fails = __webpack_require__(4); +var bind = __webpack_require__(96); +var rConstruct = (__webpack_require__(2).Reflect || {}).construct; + +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); +}); + +$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), /* 225 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(220)('Int32', 4, function(init){ - return function Int32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = __webpack_require__(7); +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var toPrimitive = __webpack_require__(27); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * __webpack_require__(4)(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), /* 226 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(220)('Uint32', 4, function(init){ - return function Uint32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = __webpack_require__(0); +var gOPD = __webpack_require__(18).f; +var anObject = __webpack_require__(1); -/***/ }, -/* 227 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); - __webpack_require__(220)('Float32', 4, function(init){ - return function Float32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 26.1.5 Reflect.enumerate(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var Enumerate = function (iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); +}; +__webpack_require__(54)(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } +}); + + +/***/ }), /* 228 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(220)('Float64', 8, function(init){ - return function Float64Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var gOPD = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(13); +var has = __webpack_require__(15); +var $export = __webpack_require__(0); +var isObject = __webpack_require__(3); +var anObject = __webpack_require__(1); + +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', { get: get }); + + +/***/ }), /* 229 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // https://github.com/tc39/Array.prototype.includes - var $export = __webpack_require__(6) - , $includes = __webpack_require__(34)(true); +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var gOPD = __webpack_require__(18); +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); - $export($export.P, 'Array', { - includes: function includes(el /*, fromIndex = 0 */){ - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } - }); +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } +}); - __webpack_require__(174)('includes'); -/***/ }, +/***/ }), /* 230 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // https://github.com/mathiasbynens/String.prototype.at - var $export = __webpack_require__(6) - , $at = __webpack_require__(120)(true); +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = __webpack_require__(0); +var getProto = __webpack_require__(13); +var anObject = __webpack_require__(1); - $export($export.P, 'String', { - at: function at(pos){ - return $at(this, pos); - } - }); +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } +}); -/***/ }, + +/***/ }), /* 231 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.9 Reflect.has(target, propertyKey) +var $export = __webpack_require__(0); - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(6) - , $pad = __webpack_require__(232); +$export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); - $export($export.P, 'String', { - padStart: function padStart(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); - } - }); -/***/ }, +/***/ }), /* 232 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-string-pad-start-end - var toLength = __webpack_require__(35) - , repeat = __webpack_require__(78) - , defined = __webpack_require__(33); - - module.exports = function(that, maxLength, fillString, left){ - var S = String(defined(that)) - , stringLength = S.length - , fillStr = fillString === undefined ? ' ' : String(fillString) - , intMaxLength = toLength(maxLength); - if(intMaxLength <= stringLength || fillStr == '')return S; - var fillLen = intMaxLength - stringLength - , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); - return left ? stringFiller + S : S + stringFiller; - }; - - -/***/ }, -/* 233 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(6) - , $pad = __webpack_require__(232); +// 26.1.10 Reflect.isExtensible(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var $isExtensible = Object.isExtensible; - $export($export.P, 'String', { - padEnd: function padEnd(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); - } - }); +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); -/***/ }, -/* 234 */ -/***/ function(module, exports, __webpack_require__) { - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(90)('trimLeft', function($trim){ - return function trimLeft(){ - return $trim(this, 1); - }; - }, 'trimStart'); +/***/ }), +/* 233 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 235 */ -/***/ function(module, exports, __webpack_require__) { +// 26.1.11 Reflect.ownKeys(target) +var $export = __webpack_require__(0); + +$export($export.S, 'Reflect', { ownKeys: __webpack_require__(87) }); - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(90)('trimRight', function($trim){ - return function trimRight(){ - return $trim(this, 2); - }; - }, 'trimEnd'); -/***/ }, +/***/ }), +/* 234 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.12 Reflect.preventExtensions(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var dP = __webpack_require__(7); +var gOPD = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(13); +var has = __webpack_require__(15); +var $export = __webpack_require__(0); +var createDesc = __webpack_require__(28); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(3); + +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', { set: set }); + + +/***/ }), /* 236 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://tc39.github.io/String.prototype.matchAll/ - var $export = __webpack_require__(6) - , defined = __webpack_require__(33) - , toLength = __webpack_require__(35) - , isRegExp = __webpack_require__(123) - , getFlags = __webpack_require__(237) - , RegExpProto = RegExp.prototype; - - var $RegExpStringIterator = function(regexp, string){ - this._r = regexp; - this._s = string; - }; - - __webpack_require__(131)($RegExpStringIterator, 'RegExp String', function next(){ - var match = this._r.exec(this._s); - return {value: match, done: match === null}; - }); - - $export($export.P, 'String', { - matchAll: function matchAll(regexp){ - defined(this); - if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); - var S = String(this) - , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) - , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); - rx.lastIndex = toLength(regexp.lastIndex); - return new $RegExpStringIterator(rx, S); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = __webpack_require__(0); +var setProto = __webpack_require__(95); + +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), /* 237 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 21.2.5.3 get RegExp.prototype.flags - var anObject = __webpack_require__(12); - module.exports = function(){ - var that = anObject(this) - , result = ''; - if(that.global) result += 'g'; - if(that.ignoreCase) result += 'i'; - if(that.multiline) result += 'm'; - if(that.unicode) result += 'u'; - if(that.sticky) result += 'y'; - return result; - }; - -/***/ }, -/* 238 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.3.3.1 / 15.9.4.4 Date.now() +var $export = __webpack_require__(0); - __webpack_require__(25)('asyncIterator'); +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); -/***/ }, + +/***/ }), +/* 238 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(27); +var toISOString = __webpack_require__(114); +var classof = __webpack_require__(37); + +$export($export.P + $export.F * __webpack_require__(4)(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : + (!('toISOString' in O) && classof(O) == 'Date') ? toISOString.call(O) : O.toISOString(); + } +}); + + +/***/ }), /* 239 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var $export = __webpack_require__(0); +var toISOString = __webpack_require__(114); - __webpack_require__(25)('observable'); +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); -/***/ }, + +/***/ }), /* 240 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-object-getownpropertydescriptors - var $export = __webpack_require__(6) - , ownKeys = __webpack_require__(208) - , toIObject = __webpack_require__(30) - , gOPD = __webpack_require__(49) - , createProperty = __webpack_require__(150); - - $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ - var O = toIObject(object) - , getDesc = gOPD.f - , keys = ownKeys(O) - , result = {} - , i = 0 - , key; - while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); - return result; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $typed = __webpack_require__(58); +var buffer = __webpack_require__(88); +var anObject = __webpack_require__(1); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(6); +var isObject = __webpack_require__(3); +var ArrayBuffer = __webpack_require__(2).ArrayBuffer; +var speciesConstructor = __webpack_require__(55); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; + +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + +$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } +}); + +$export($export.P + $export.U + $export.F * __webpack_require__(4)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; +}), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { + viewT.setUint8(index++, viewS.getUint8(first++)); + } return result; + } +}); + +__webpack_require__(42)(ARRAY_BUFFER); + + +/***/ }), /* 241 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(6) - , $values = __webpack_require__(242)(false); +var $export = __webpack_require__(0); +$export($export.G + $export.W + $export.F * !__webpack_require__(58).ABV, { + DataView: __webpack_require__(88).DataView +}); - $export($export.S, 'Object', { - values: function values(it){ - return $values(it); - } - }); -/***/ }, +/***/ }), /* 242 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(28) - , toIObject = __webpack_require__(30) - , isEnum = __webpack_require__(42).f; - module.exports = function(isEntries){ - return function(it){ - var O = toIObject(it) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , result = [] - , key; - while(length > i)if(isEnum.call(O, key = keys[i++])){ - result.push(isEntries ? [key, O[key]] : O[key]); - } return result; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(25)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 243 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(6) - , $entries = __webpack_require__(242)(true); +__webpack_require__(25)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - $export($export.S, 'Object', { - entries: function entries(it){ - return $entries(it); - } - }); -/***/ }, +/***/ }), /* 244 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , aFunction = __webpack_require__(9) - , $defineProperty = __webpack_require__(11); - - // B.2.2.2 Object.prototype.__defineGetter__(P, getter) - __webpack_require__(4) && $export($export.P + __webpack_require__(245), 'Object', { - __defineGetter__: function __defineGetter__(P, getter){ - $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(25)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), /* 245 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // Forced replacement prototype accessors methods - module.exports = __webpack_require__(26)|| !__webpack_require__(5)(function(){ - var K = Math.random(); - // In FF throws only define methods - __defineSetter__.call(null, K, function(){ /* empty */}); - delete __webpack_require__(2)[K]; - }); +__webpack_require__(25)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); -/***/ }, + +/***/ }), /* 246 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , aFunction = __webpack_require__(9) - , $defineProperty = __webpack_require__(11); - - // B.2.2.3 Object.prototype.__defineSetter__(P, setter) - __webpack_require__(4) && $export($export.P + __webpack_require__(245), 'Object', { - __defineSetter__: function __defineSetter__(P, setter){ - $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(25)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 247 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(16) - , getPrototypeOf = __webpack_require__(57) - , getOwnPropertyDescriptor = __webpack_require__(49).f; - - // B.2.2.4 Object.prototype.__lookupGetter__(P) - __webpack_require__(4) && $export($export.P + __webpack_require__(245), 'Object', { - __lookupGetter__: function __lookupGetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.get; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(25)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 248 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(16) - , getPrototypeOf = __webpack_require__(57) - , getOwnPropertyDescriptor = __webpack_require__(49).f; - - // B.2.2.5 Object.prototype.__lookupSetter__(P) - __webpack_require__(4) && $export($export.P + __webpack_require__(245), 'Object', { - __lookupSetter__: function __lookupSetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.set; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(25)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 249 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(6); +__webpack_require__(25)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - $export($export.P + $export.R, 'Map', {toJSON: __webpack_require__(250)('Map')}); -/***/ }, +/***/ }), /* 250 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var classof = __webpack_require__(152) - , from = __webpack_require__(251); - module.exports = function(NAME){ - return function toJSON(){ - if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); - return from(this); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(25)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 251 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/Array.prototype.includes +var $export = __webpack_require__(0); +var $includes = __webpack_require__(50)(true); - var forOf = __webpack_require__(185); +$export($export.P, 'Array', { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); - module.exports = function(iter, ITERATOR){ - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; - }; +__webpack_require__(33)('includes'); -/***/ }, +/***/ }), /* 252 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap +var $export = __webpack_require__(0); +var flattenIntoArray = __webpack_require__(116); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(6); +var aFunction = __webpack_require__(10); +var arraySpeciesCreate = __webpack_require__(80); + +$export($export.P, 'Array', { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen, A; + aFunction(callbackfn); + sourceLen = toLength(O.length); + A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); + return A; + } +}); + +__webpack_require__(33)('flatMap'); + + +/***/ }), +/* 253 */ +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(6); +"use strict"; - $export($export.P + $export.R, 'Set', {toJSON: __webpack_require__(250)('Set')}); +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten +var $export = __webpack_require__(0); +var flattenIntoArray = __webpack_require__(116); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(6); +var toInteger = __webpack_require__(22); +var arraySpeciesCreate = __webpack_require__(80); -/***/ }, -/* 253 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.P, 'Array', { + flatten: function flatten(/* depthArg = 1 */) { + var depthArg = arguments[0]; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); - // https://github.com/ljharb/proposal-global - var $export = __webpack_require__(6); +__webpack_require__(33)('flatten'); - $export($export.S, 'System', {global: __webpack_require__(2)}); -/***/ }, +/***/ }), /* 254 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://github.com/ljharb/proposal-is-error - var $export = __webpack_require__(6) - , cof = __webpack_require__(32); +// https://github.com/mathiasbynens/String.prototype.at +var $export = __webpack_require__(0); +var $at = __webpack_require__(74)(true); - $export($export.S, 'Error', { - isError: function isError(it){ - return cof(it) === 'Error'; - } - }); +$export($export.P, 'String', { + at: function at(pos) { + return $at(this, pos); + } +}); -/***/ }, + +/***/ }), /* 255 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); +// https://github.com/tc39/proposal-string-pad-start-end +var $export = __webpack_require__(0); +var $pad = __webpack_require__(117); +var userAgent = __webpack_require__(56); - $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } - }); +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); -/***/ }, + +/***/ }), /* 256 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-string-pad-start-end +var $export = __webpack_require__(0); +var $pad = __webpack_require__(117); +var userAgent = __webpack_require__(56); - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); - $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } - }); -/***/ }, +/***/ }), /* 257 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - imulh: function imulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >> 16 - , v1 = $v >> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +__webpack_require__(47)('trimLeft', function ($trim) { + return function trimLeft() { + return $trim(this, 1); + }; +}, 'trimStart'); + + +/***/ }), /* 258 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - umulh: function umulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >>> 16 - , v1 = $v >>> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } - }); - -/***/ }, -/* 259 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +"use strict"; - metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); - }}); +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +__webpack_require__(47)('trimRight', function ($trim) { + return function trimRight() { + return $trim(this, 2); + }; +}, 'trimEnd'); -/***/ }, + +/***/ }), +/* 259 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/String.prototype.matchAll/ +var $export = __webpack_require__(0); +var defined = __webpack_require__(24); +var toLength = __webpack_require__(6); +var isRegExp = __webpack_require__(103); +var getFlags = __webpack_require__(260); +var RegExpProto = RegExp.prototype; + +var $RegExpStringIterator = function (regexp, string) { + this._r = regexp; + this._s = string; +}; + +__webpack_require__(54)($RegExpStringIterator, 'RegExp String', function next() { + var match = this._r.exec(this._s); + return { value: match, done: match === null }; +}); + +$export($export.P, 'String', { + matchAll: function matchAll(regexp) { + defined(this); + if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); + var S = String(this); + var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); + var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + rx.lastIndex = toLength(regexp.lastIndex); + return new $RegExpStringIterator(rx, S); + } +}); + + +/***/ }), /* 260 */ -/***/ function(module, exports, __webpack_require__) { - - var Map = __webpack_require__(190) - , $export = __webpack_require__(6) - , shared = __webpack_require__(21)('metadata') - , store = shared.store || (shared.store = new (__webpack_require__(194))); - - var getOrCreateMetadataMap = function(target, targetKey, create){ - var targetMetadata = store.get(target); - if(!targetMetadata){ - if(!create)return undefined; - store.set(target, targetMetadata = new Map); - } - var keyMetadata = targetMetadata.get(targetKey); - if(!keyMetadata){ - if(!create)return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map); - } return keyMetadata; - }; - var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); - }; - var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); - }; - var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); - }; - var ordinaryOwnMetadataKeys = function(target, targetKey){ - var metadataMap = getOrCreateMetadataMap(target, targetKey, false) - , keys = []; - if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); - return keys; - }; - var toMetaKey = function(it){ - return it === undefined || typeof it == 'symbol' ? it : String(it); - }; - var exp = function(O){ - $export($export.S, 'Reflect', O); - }; - - module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 21.2.5.3 get RegExp.prototype.flags +var anObject = __webpack_require__(1); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), /* 261 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , toMetaKey = metadata.key - , getOrCreateMetadataMap = metadata.map - , store = metadata.store; - - metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) - , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; - if(metadataMap.size)return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(64)('asyncIterator'); + + +/***/ }), /* 262 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , getPrototypeOf = __webpack_require__(57) - , ordinaryHasOwnMetadata = metadata.has - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; - - var ordinaryGetMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; - }; - - metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(64)('observable'); + + +/***/ }), /* 263 */ -/***/ function(module, exports, __webpack_require__) { - - var Set = __webpack_require__(193) - , from = __webpack_require__(251) - , metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , getPrototypeOf = __webpack_require__(57) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; - - var ordinaryMetadataKeys = function(O, P){ - var oKeys = ordinaryOwnMetadataKeys(O, P) - , parent = getPrototypeOf(O); - if(parent === null)return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; - }; - - metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-getownpropertydescriptors +var $export = __webpack_require__(0); +var ownKeys = __webpack_require__(87); +var toIObject = __webpack_require__(11); +var gOPD = __webpack_require__(18); +var createProperty = __webpack_require__(78); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } + return result; + } +}); + + +/***/ }), /* 264 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__(0); +var $values = __webpack_require__(118)(false); - metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); -/***/ }, + +/***/ }), /* 265 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__(0); +var $entries = __webpack_require__(118)(true); - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +$export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } +}); - metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); -/***/ }, +/***/ }), /* 266 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , getPrototypeOf = __webpack_require__(57) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; - - var ordinaryHasMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; - }; - - metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var aFunction = __webpack_require__(10); +var $defineProperty = __webpack_require__(7); + +// B.2.2.2 Object.prototype.__defineGetter__(P, getter) +__webpack_require__(8) && $export($export.P + __webpack_require__(59), 'Object', { + __defineGetter__: function __defineGetter__(P, getter) { + $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); + } +}); + + +/***/ }), /* 267 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var aFunction = __webpack_require__(10); +var $defineProperty = __webpack_require__(7); - metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); +// B.2.2.3 Object.prototype.__defineSetter__(P, setter) +__webpack_require__(8) && $export($export.P + __webpack_require__(59), 'Object', { + __defineSetter__: function __defineSetter__(P, setter) { + $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); + } +}); -/***/ }, + +/***/ }), /* 268 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(260) - , anObject = __webpack_require__(12) - , aFunction = __webpack_require__(9) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; - - metadata.exp({metadata: function metadata(metadataKey, metadataValue){ - return function decorator(target, targetKey){ - ordinaryDefineOwnMetadata( - metadataKey, metadataValue, - (targetKey !== undefined ? anObject : aFunction)(target), - toMetaKey(targetKey) - ); - }; - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(27); +var getPrototypeOf = __webpack_require__(13); +var getOwnPropertyDescriptor = __webpack_require__(18).f; + +// B.2.2.4 Object.prototype.__lookupGetter__(P) +__webpack_require__(8) && $export($export.P + __webpack_require__(59), 'Object', { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.get; + } while (O = getPrototypeOf(O)); + } +}); + + +/***/ }), /* 269 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask - var $export = __webpack_require__(6) - , microtask = __webpack_require__(188)() - , process = __webpack_require__(2).process - , isNode = __webpack_require__(32)(process) == 'process'; - - $export($export.G, { - asap: function asap(fn){ - var domain = isNode && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(27); +var getPrototypeOf = __webpack_require__(13); +var getOwnPropertyDescriptor = __webpack_require__(18).f; + +// B.2.2.5 Object.prototype.__lookupSetter__(P) +__webpack_require__(8) && $export($export.P + __webpack_require__(59), 'Object', { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.set; + } while (O = getPrototypeOf(O)); + } +}); + + +/***/ }), /* 270 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/zenparsing/es-observable - var $export = __webpack_require__(6) - , global = __webpack_require__(2) - , core = __webpack_require__(7) - , microtask = __webpack_require__(188)() - , OBSERVABLE = __webpack_require__(23)('observable') - , aFunction = __webpack_require__(9) - , anObject = __webpack_require__(12) - , anInstance = __webpack_require__(184) - , redefineAll = __webpack_require__(189) - , hide = __webpack_require__(10) - , forOf = __webpack_require__(185) - , RETURN = forOf.RETURN; - - var getMethod = function(fn){ - return fn == null ? undefined : aFunction(fn); - }; - - var cleanupSubscription = function(subscription){ - var cleanup = subscription._c; - if(cleanup){ - subscription._c = undefined; - cleanup(); - } - }; - - var subscriptionClosed = function(subscription){ - return subscription._o === undefined; - }; - - var closeSubscription = function(subscription){ - if(!subscriptionClosed(subscription)){ - subscription._o = undefined; - cleanupSubscription(subscription); - } - }; - - var Subscription = function(observer, subscriber){ - anObject(observer); - this._c = undefined; - this._o = observer; - observer = new SubscriptionObserver(this); - try { - var cleanup = subscriber(observer) - , subscription = cleanup; - if(cleanup != null){ - if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); }; - else aFunction(cleanup); - this._c = cleanup; - } - } catch(e){ - observer.error(e); - return; - } if(subscriptionClosed(this))cleanupSubscription(this); - }; - - Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe(){ closeSubscription(this); } - }); - - var SubscriptionObserver = function(subscription){ - this._s = subscription; - }; - - SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - try { - var m = getMethod(observer.next); - if(m)return m.call(observer, value); - } catch(e){ - try { - closeSubscription(subscription); - } finally { - throw e; - } - } - } - }, - error: function error(value){ - var subscription = this._s; - if(subscriptionClosed(subscription))throw value; - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.error); - if(!m)throw value; - value = m.call(observer, value); - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - }, - complete: function complete(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.complete); - value = m ? m.call(observer, value) : undefined; - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - } - } - }); - - var $Observable = function Observable(subscriber){ - anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); - }; - - redefineAll($Observable.prototype, { - subscribe: function subscribe(observer){ - return new Subscription(observer, this._f); - }, - forEach: function forEach(fn){ - var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject){ - aFunction(fn); - var subscription = that.subscribe({ - next : function(value){ - try { - return fn(value); - } catch(e){ - reject(e); - subscription.unsubscribe(); - } - }, - error: reject, - complete: resolve - }); - }); - } - }); - - redefineAll($Observable, { - from: function from(x){ - var C = typeof this === 'function' ? this : $Observable; - var method = getMethod(anObject(x)[OBSERVABLE]); - if(method){ - var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer){ - return observable.subscribe(observer); - }); - } - return new C(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - try { - if(forOf(x, false, function(it){ - observer.next(it); - if(done)return RETURN; - }) === RETURN)return; - } catch(e){ - if(done)throw e; - observer.error(e); - return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - }, - of: function of(){ - for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - for(var i = 0; i < items.length; ++i){ - observer.next(items[i]); - if(done)return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - } - }); - - hide($Observable.prototype, OBSERVABLE, function(){ return this; }); - - $export($export.G, {Observable: $Observable}); - - __webpack_require__(182)('Observable'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(0); + +$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(119)('Map') }); + + +/***/ }), /* 271 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(0); + +$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(119)('Set') }); - var $export = __webpack_require__(6) - , $task = __webpack_require__(187); - $export($export.G + $export.B, { - setImmediate: $task.set, - clearImmediate: $task.clear - }); -/***/ }, +/***/ }), /* 272 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(179); - var global = __webpack_require__(2) - , hide = __webpack_require__(10) - , Iterators = __webpack_require__(130) - , TO_STRING_TAG = __webpack_require__(23)('toStringTag'); - - for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype; - if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = Iterators.Array; - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +__webpack_require__(60)('Map'); + + +/***/ }), /* 273 */ -/***/ function(module, exports, __webpack_require__) { - - // ie9- setTimeout & setInterval additional parameters fix - var global = __webpack_require__(2) - , $export = __webpack_require__(6) - , invoke = __webpack_require__(74) - , partial = __webpack_require__(274) - , navigator = global.navigator - , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check - var wrap = function(set){ - return MSIE ? function(fn, time /*, ...args */){ - return set(invoke( - partial, - [].slice.call(arguments, 2), - typeof fn == 'function' ? fn : Function(fn) - ), time); - } : set; - }; - $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), - setInterval: wrap(global.setInterval) - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +__webpack_require__(60)('Set'); + + +/***/ }), /* 274 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var path = __webpack_require__(275) - , invoke = __webpack_require__(74) - , aFunction = __webpack_require__(9); - module.exports = function(/* ...pargs */){ - var fn = aFunction(this) - , length = arguments.length - , pargs = Array(length) - , i = 0 - , _ = path._ - , holder = false; - while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; - return function(/* ...args */){ - var that = this - , aLen = arguments.length - , j = 0, k = 0, args; - if(!holder && !aLen)return invoke(fn, pargs, that); - args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(aLen > k)args.push(arguments[k++]); - return invoke(fn, args, that); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +__webpack_require__(60)('WeakMap'); + + +/***/ }), /* 275 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +__webpack_require__(60)('WeakSet'); - module.exports = __webpack_require__(7); -/***/ }, +/***/ }), /* 276 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(8) - , $export = __webpack_require__(6) - , createDesc = __webpack_require__(17) - , assign = __webpack_require__(67) - , create = __webpack_require__(44) - , getPrototypeOf = __webpack_require__(57) - , getKeys = __webpack_require__(28) - , dP = __webpack_require__(11) - , keyOf = __webpack_require__(27) - , aFunction = __webpack_require__(9) - , forOf = __webpack_require__(185) - , isIterable = __webpack_require__(277) - , $iterCreate = __webpack_require__(131) - , step = __webpack_require__(180) - , isObject = __webpack_require__(13) - , toIObject = __webpack_require__(30) - , DESCRIPTORS = __webpack_require__(4) - , has = __webpack_require__(3); - - // 0 -> Dict.forEach - // 1 -> Dict.map - // 2 -> Dict.filter - // 3 -> Dict.some - // 4 -> Dict.every - // 5 -> Dict.find - // 6 -> Dict.findKey - // 7 -> Dict.mapPairs - var createDictMethod = function(TYPE){ - var IS_MAP = TYPE == 1 - , IS_EVERY = TYPE == 4; - return function(object, callbackfn, that /* = undefined */){ - var f = ctx(callbackfn, that, 3) - , O = toIObject(object) - , result = IS_MAP || TYPE == 7 || TYPE == 2 - ? new (typeof this == 'function' ? this : Dict) : undefined - , key, val, res; - for(key in O)if(has(O, key)){ - val = O[key]; - res = f(val, key, object); - if(TYPE){ - if(IS_MAP)result[key] = res; // map - else if(res)switch(TYPE){ - case 2: result[key] = val; break; // filter - case 3: return true; // some - case 5: return val; // find - case 6: return key; // findKey - case 7: result[res[0]] = res[1]; // mapPairs - } else if(IS_EVERY)return false; // every - } - } - return TYPE == 3 || IS_EVERY ? IS_EVERY : result; - }; - }; - var findKey = createDictMethod(6); - - var createDictIter = function(kind){ - return function(it){ - return new DictIterator(it, kind); - }; - }; - var DictIterator = function(iterated, kind){ - this._t = toIObject(iterated); // target - this._a = getKeys(iterated); // keys - this._i = 0; // next index - this._k = kind; // kind - }; - $iterCreate(DictIterator, 'Dict', function(){ - var that = this - , O = that._t - , keys = that._a - , kind = that._k - , key; - do { - if(that._i >= keys.length){ - that._t = undefined; - return step(1); - } - } while(!has(O, key = keys[that._i++])); - if(kind == 'keys' )return step(0, key); - if(kind == 'values')return step(0, O[key]); - return step(0, [key, O[key]]); - }); - - function Dict(iterable){ - var dict = create(null); - if(iterable != undefined){ - if(isIterable(iterable)){ - forOf(iterable, true, function(key, value){ - dict[key] = value; - }); - } else assign(dict, iterable); - } - return dict; - } - Dict.prototype = null; - - function reduce(object, mapfn, init){ - aFunction(mapfn); - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , memo, key; - if(arguments.length < 3){ - if(!length)throw TypeError('Reduce of empty object with no initial value'); - memo = O[keys[i++]]; - } else memo = Object(init); - while(length > i)if(has(O, key = keys[i++])){ - memo = mapfn(memo, O[key], key, object); - } - return memo; - } - - function includes(object, el){ - return (el == el ? keyOf(object, el) : findKey(object, function(it){ - return it != it; - })) !== undefined; - } - - function get(object, key){ - if(has(object, key))return object[key]; - } - function set(object, key, value){ - if(DESCRIPTORS && key in Object)dP.f(object, key, createDesc(0, value)); - else object[key] = value; - return object; - } - - function isDict(it){ - return isObject(it) && getPrototypeOf(it) === Dict.prototype; - } - - $export($export.G + $export.F, {Dict: Dict}); - - $export($export.S, 'Dict', { - keys: createDictIter('keys'), - values: createDictIter('values'), - entries: createDictIter('entries'), - forEach: createDictMethod(0), - map: createDictMethod(1), - filter: createDictMethod(2), - some: createDictMethod(3), - every: createDictMethod(4), - find: createDictMethod(5), - findKey: findKey, - mapPairs: createDictMethod(7), - reduce: reduce, - keyOf: keyOf, - includes: includes, - has: has, - get: get, - set: set, - isDict: isDict - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +__webpack_require__(61)('Map'); + + +/***/ }), /* 277 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(152) - , ITERATOR = __webpack_require__(23)('iterator') - , Iterators = __webpack_require__(130); - module.exports = __webpack_require__(7).isIterable = function(it){ - var O = Object(it); - return O[ITERATOR] !== undefined - || '@@iterator' in O - || Iterators.hasOwnProperty(classof(O)); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +__webpack_require__(61)('Set'); + + +/***/ }), /* 278 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +__webpack_require__(61)('WeakMap'); - var anObject = __webpack_require__(12) - , get = __webpack_require__(151); - module.exports = __webpack_require__(7).getIterator = function(it){ - var iterFn = get(it); - if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!'); - return anObject(iterFn.call(it)); - }; -/***/ }, +/***/ }), /* 279 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , $export = __webpack_require__(6) - , partial = __webpack_require__(274); - // https://esdiscuss.org/topic/promise-returning-delay-function - $export($export.G + $export.F, { - delay: function delay(time){ - return new (core.Promise || global.Promise)(function(resolve){ - setTimeout(partial.call(resolve, true), time); - }); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +__webpack_require__(61)('WeakSet'); + + +/***/ }), /* 280 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var path = __webpack_require__(275) - , $export = __webpack_require__(6); +// https://github.com/tc39/proposal-global +var $export = __webpack_require__(0); - // Placeholder - __webpack_require__(7)._ = path._ = path._ || {}; +$export($export.G, { global: __webpack_require__(2) }); - $export($export.P + $export.F, 'Function', {part: __webpack_require__(274)}); -/***/ }, +/***/ }), /* 281 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-global +var $export = __webpack_require__(0); - var $export = __webpack_require__(6); +$export($export.S, 'System', { global: __webpack_require__(2) }); - $export($export.S + $export.F, 'Object', {isObject: __webpack_require__(13)}); -/***/ }, +/***/ }), /* 282 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/ljharb/proposal-is-error +var $export = __webpack_require__(0); +var cof = __webpack_require__(21); - var $export = __webpack_require__(6); +$export($export.S, 'Error', { + isError: function isError(it) { + return cof(it) === 'Error'; + } +}); - $export($export.S + $export.F, 'Object', {classof: __webpack_require__(152)}); -/***/ }, +/***/ }), /* 283 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , define = __webpack_require__(284); +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); - $export($export.S + $export.F, 'Object', {define: define}); +$export($export.S, 'Math', { + clamp: function clamp(x, lower, upper) { + return Math.min(upper, Math.max(lower, x)); + } +}); -/***/ }, + +/***/ }), /* 284 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11) - , gOPD = __webpack_require__(49) - , ownKeys = __webpack_require__(208) - , toIObject = __webpack_require__(30); - - module.exports = function define(target, mixin){ - var keys = ownKeys(toIObject(mixin)) - , length = keys.length - , i = 0, key; - while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key)); - return target; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); + + +/***/ }), /* 285 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , define = __webpack_require__(284) - , create = __webpack_require__(44); +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var RAD_PER_DEG = 180 / Math.PI; - $export($export.S + $export.F, 'Object', { - make: function(proto, mixin){ - return define(create(proto), mixin); - } - }); +$export($export.S, 'Math', { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); -/***/ }, + +/***/ }), /* 286 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(129)(Number, 'Number', function(iterated){ - this._l = +iterated; - this._i = 0; - }, function(){ - var i = this._i++ - , done = !(i < this._l); - return {done: done, value: done ? undefined : i}; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var scale = __webpack_require__(121); +var fround = __webpack_require__(102); + +$export($export.S, 'Math', { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); + + +/***/ }), /* 287 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/benjamingr/RexExp.escape - var $export = __webpack_require__(6) - , $re = __webpack_require__(288)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); - $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); +$export($export.S, 'Math', { + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; + } +}); -/***/ }, +/***/ }), /* 288 */ -/***/ function(module, exports) { - - module.exports = function(regExp, replace){ - var replacer = replace === Object(replace) ? function(part){ - return replace[part]; - } : replace; - return function(it){ - return String(it).replace(regExp, replacer); - }; - }; - -/***/ }, -/* 289 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6); - var $re = __webpack_require__(288)(/[&<>"']/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }); +$export($export.S, 'Math', { + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; + } +}); - $export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }}); -/***/ }, +/***/ }), +/* 289 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + imulh: function imulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); + } +}); + + +/***/ }), /* 290 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); + + +/***/ }), +/* 291 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var DEG_PER_RAD = Math.PI / 180; + +$export($export.S, 'Math', { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { scale: __webpack_require__(121) }); + + +/***/ }), +/* 293 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + umulh: function umulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); + } +}); + + +/***/ }), +/* 294 */ +/***/ (function(module, exports, __webpack_require__) { + +// http://jfbastien.github.io/papers/Math.signbit.html +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { signbit: function signbit(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; +} }); + + +/***/ }), +/* 295 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// https://github.com/tc39/proposal-promise-finally + +var $export = __webpack_require__(0); +var core = __webpack_require__(12); +var global = __webpack_require__(2); +var speciesConstructor = __webpack_require__(55); +var promiseResolve = __webpack_require__(108); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + + +/***/ }), +/* 296 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-promise-try +var $export = __webpack_require__(0); +var newPromiseCapability = __webpack_require__(86); +var perform = __webpack_require__(107); + +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); + + +/***/ }), +/* 297 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var toMetaKey = metadata.key; +var ordinaryDefineOwnMetadata = metadata.set; + +metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); +} }); + + +/***/ }), +/* 298 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var toMetaKey = metadata.key; +var getOrCreateMetadataMap = metadata.map; +var store = metadata.store; + +metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); +} }); + + +/***/ }), +/* 299 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(13); +var ordinaryHasOwnMetadata = metadata.has; +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; + +var ordinaryGetMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; +}; + +metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { + return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 300 */ +/***/ (function(module, exports, __webpack_require__) { + +var Set = __webpack_require__(111); +var from = __webpack_require__(120); +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(13); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; + +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; +}; + +metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { + return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); +} }); + + +/***/ }), +/* 301 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; + +metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { + return ordinaryGetOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 302 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; + +metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { + return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); +} }); + + +/***/ }), +/* 303 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(13); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; + +var ordinaryHasMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; +}; + +metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { + return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 304 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; + +metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { + return ordinaryHasOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 305 */ +/***/ (function(module, exports, __webpack_require__) { + +var $metadata = __webpack_require__(26); +var anObject = __webpack_require__(1); +var aFunction = __webpack_require__(10); +var toMetaKey = $metadata.key; +var ordinaryDefineOwnMetadata = $metadata.set; + +$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, targetKey) { + ordinaryDefineOwnMetadata( + metadataKey, metadataValue, + (targetKey !== undefined ? anObject : aFunction)(target), + toMetaKey(targetKey) + ); + }; +} }); + + +/***/ }), +/* 306 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask +var $export = __webpack_require__(0); +var microtask = __webpack_require__(85)(); +var process = __webpack_require__(2).process; +var isNode = __webpack_require__(21)(process) == 'process'; + +$export($export.G, { + asap: function asap(fn) { + var domain = isNode && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } +}); + + +/***/ }), +/* 307 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/zenparsing/es-observable +var $export = __webpack_require__(0); +var global = __webpack_require__(2); +var core = __webpack_require__(12); +var microtask = __webpack_require__(85)(); +var OBSERVABLE = __webpack_require__(5)('observable'); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var anInstance = __webpack_require__(38); +var redefineAll = __webpack_require__(39); +var hide = __webpack_require__(17); +var forOf = __webpack_require__(34); +var RETURN = forOf.RETURN; + +var getMethod = function (fn) { + return fn == null ? undefined : aFunction(fn); +}; + +var cleanupSubscription = function (subscription) { + var cleanup = subscription._c; + if (cleanup) { + subscription._c = undefined; + cleanup(); + } +}; + +var subscriptionClosed = function (subscription) { + return subscription._o === undefined; +}; + +var closeSubscription = function (subscription) { + if (!subscriptionClosed(subscription)) { + subscription._o = undefined; + cleanupSubscription(subscription); + } +}; + +var Subscription = function (observer, subscriber) { + anObject(observer); + this._c = undefined; + this._o = observer; + observer = new SubscriptionObserver(this); + try { + var cleanup = subscriber(observer); + var subscription = cleanup; + if (cleanup != null) { + if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; + else aFunction(cleanup); + this._c = cleanup; + } + } catch (e) { + observer.error(e); + return; + } if (subscriptionClosed(this)) cleanupSubscription(this); +}; + +Subscription.prototype = redefineAll({}, { + unsubscribe: function unsubscribe() { closeSubscription(this); } +}); + +var SubscriptionObserver = function (subscription) { + this._s = subscription; +}; + +SubscriptionObserver.prototype = redefineAll({}, { + next: function next(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + try { + var m = getMethod(observer.next); + if (m) return m.call(observer, value); + } catch (e) { + try { + closeSubscription(subscription); + } finally { + throw e; + } + } + } + }, + error: function error(value) { + var subscription = this._s; + if (subscriptionClosed(subscription)) throw value; + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.error); + if (!m) throw value; + value = m.call(observer, value); + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + } cleanupSubscription(subscription); + return value; + }, + complete: function complete(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.complete); + value = m ? m.call(observer, value) : undefined; + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + } cleanupSubscription(subscription); + return value; + } + } +}); + +var $Observable = function Observable(subscriber) { + anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); +}; + +redefineAll($Observable.prototype, { + subscribe: function subscribe(observer) { + return new Subscription(observer, this._f); + }, + forEach: function forEach(fn) { + var that = this; + return new (core.Promise || global.Promise)(function (resolve, reject) { + aFunction(fn); + var subscription = that.subscribe({ + next: function (value) { + try { + return fn(value); + } catch (e) { + reject(e); + subscription.unsubscribe(); + } + }, + error: reject, + complete: resolve + }); + }); + } +}); + +redefineAll($Observable, { + from: function from(x) { + var C = typeof this === 'function' ? this : $Observable; + var method = getMethod(anObject(x)[OBSERVABLE]); + if (method) { + var observable = anObject(method.call(x)); + return observable.constructor === C ? observable : new C(function (observer) { + return observable.subscribe(observer); + }); + } + return new C(function (observer) { + var done = false; + microtask(function () { + if (!done) { + try { + if (forOf(x, false, function (it) { + observer.next(it); + if (done) return RETURN; + }) === RETURN) return; + } catch (e) { + if (done) throw e; + observer.error(e); + return; + } observer.complete(); + } + }); + return function () { done = true; }; + }); + }, + of: function of() { + for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; + return new (typeof this === 'function' ? this : $Observable)(function (observer) { + var done = false; + microtask(function () { + if (!done) { + for (var j = 0; j < items.length; ++j) { + observer.next(items[j]); + if (done) return; + } observer.complete(); + } + }); + return function () { done = true; }; + }); + } +}); + +hide($Observable.prototype, OBSERVABLE, function () { return this; }); + +$export($export.G, { Observable: $Observable }); + +__webpack_require__(42)('Observable'); + + +/***/ }), +/* 308 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $task = __webpack_require__(84); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(82); +var global = __webpack_require__(2); +var hide = __webpack_require__(17); +var Iterators = __webpack_require__(36); +var TO_STRING_TAG = __webpack_require__(5)('toStringTag'); + +var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + + 'TextTrackList,TouchList').split(','); + +for (var i = 0; i < DOMIterables.length; i++) { + var NAME = DOMIterables[i]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = Iterators.Array; +} + + +/***/ }), +/* 310 */ +/***/ (function(module, exports, __webpack_require__) { + +// ie9- setTimeout & setInterval additional parameters fix +var global = __webpack_require__(2); +var $export = __webpack_require__(0); +var userAgent = __webpack_require__(56); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); + + +/***/ }), +/* 311 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ctx = __webpack_require__(16); +var $export = __webpack_require__(0); +var createDesc = __webpack_require__(28); +var assign = __webpack_require__(68); +var create = __webpack_require__(32); +var getPrototypeOf = __webpack_require__(13); +var getKeys = __webpack_require__(31); +var dP = __webpack_require__(7); +var keyOf = __webpack_require__(312); +var aFunction = __webpack_require__(10); +var forOf = __webpack_require__(34); +var isIterable = __webpack_require__(122); +var $iterCreate = __webpack_require__(54); +var step = __webpack_require__(83); +var isObject = __webpack_require__(3); +var toIObject = __webpack_require__(11); +var DESCRIPTORS = __webpack_require__(8); +var has = __webpack_require__(15); + +// 0 -> Dict.forEach +// 1 -> Dict.map +// 2 -> Dict.filter +// 3 -> Dict.some +// 4 -> Dict.every +// 5 -> Dict.find +// 6 -> Dict.findKey +// 7 -> Dict.mapPairs +var createDictMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_EVERY = TYPE == 4; + return function (object, callbackfn, that /* = undefined */) { + var f = ctx(callbackfn, that, 3); + var O = toIObject(object); + var result = IS_MAP || TYPE == 7 || TYPE == 2 + ? new (typeof this == 'function' ? this : Dict)() : undefined; + var key, val, res; + for (key in O) if (has(O, key)) { + val = O[key]; + res = f(val, key, object); + if (TYPE) { + if (IS_MAP) result[key] = res; // map + else if (res) switch (TYPE) { + case 2: result[key] = val; break; // filter + case 3: return true; // some + case 5: return val; // find + case 6: return key; // findKey + case 7: result[res[0]] = res[1]; // mapPairs + } else if (IS_EVERY) return false; // every + } + } + return TYPE == 3 || IS_EVERY ? IS_EVERY : result; + }; +}; +var findKey = createDictMethod(6); + +var createDictIter = function (kind) { + return function (it) { + return new DictIterator(it, kind); + }; +}; +var DictIterator = function (iterated, kind) { + this._t = toIObject(iterated); // target + this._a = getKeys(iterated); // keys + this._i = 0; // next index + this._k = kind; // kind +}; +$iterCreate(DictIterator, 'Dict', function () { + var that = this; + var O = that._t; + var keys = that._a; + var kind = that._k; + var key; + do { + if (that._i >= keys.length) { + that._t = undefined; + return step(1); + } + } while (!has(O, key = keys[that._i++])); + if (kind == 'keys') return step(0, key); + if (kind == 'values') return step(0, O[key]); + return step(0, [key, O[key]]); +}); + +function Dict(iterable) { + var dict = create(null); + if (iterable != undefined) { + if (isIterable(iterable)) { + forOf(iterable, true, function (key, value) { + dict[key] = value; + }); + } else assign(dict, iterable); + } + return dict; +} +Dict.prototype = null; + +function reduce(object, mapfn, init) { + aFunction(mapfn); + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var memo, key; + if (arguments.length < 3) { + if (!length) throw TypeError('Reduce of empty object with no initial value'); + memo = O[keys[i++]]; + } else memo = Object(init); + while (length > i) if (has(O, key = keys[i++])) { + memo = mapfn(memo, O[key], key, object); + } + return memo; +} + +function includes(object, el) { + // eslint-disable-next-line no-self-compare + return (el == el ? keyOf(object, el) : findKey(object, function (it) { + // eslint-disable-next-line no-self-compare + return it != it; + })) !== undefined; +} + +function get(object, key) { + if (has(object, key)) return object[key]; +} +function set(object, key, value) { + if (DESCRIPTORS && key in Object) dP.f(object, key, createDesc(0, value)); + else object[key] = value; + return object; +} + +function isDict(it) { + return isObject(it) && getPrototypeOf(it) === Dict.prototype; +} + +$export($export.G + $export.F, { Dict: Dict }); + +$export($export.S, 'Dict', { + keys: createDictIter('keys'), + values: createDictIter('values'), + entries: createDictIter('entries'), + forEach: createDictMethod(0), + map: createDictMethod(1), + filter: createDictMethod(2), + some: createDictMethod(3), + every: createDictMethod(4), + find: createDictMethod(5), + findKey: findKey, + mapPairs: createDictMethod(7), + reduce: reduce, + keyOf: keyOf, + includes: includes, + has: has, + get: get, + set: set, + isDict: isDict +}); + + +/***/ }), +/* 312 */ +/***/ (function(module, exports, __webpack_require__) { + +var getKeys = __webpack_require__(31); +var toIObject = __webpack_require__(11); +module.exports = function (object, el) { + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var index = 0; + var key; + while (length > index) if (O[key = keys[index++]] === el) return key; +}; + + +/***/ }), +/* 313 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(1); +var get = __webpack_require__(48); +module.exports = __webpack_require__(12).getIterator = function (it) { + var iterFn = get(it); + if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!'); + return anObject(iterFn.call(it)); +}; + + +/***/ }), +/* 314 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(12); +var $export = __webpack_require__(0); +var partial = __webpack_require__(123); +// https://esdiscuss.org/topic/promise-returning-delay-function +$export($export.G + $export.F, { + delay: function delay(time) { + return new (core.Promise || global.Promise)(function (resolve) { + setTimeout(partial.call(resolve, true), time); + }); + } +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, exports, __webpack_require__) { + +var path = __webpack_require__(124); +var $export = __webpack_require__(0); + +// Placeholder +__webpack_require__(12)._ = path._ = path._ || {}; + +$export($export.P + $export.F, 'Function', { part: __webpack_require__(123) }); + + +/***/ }), +/* 316 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); + +$export($export.S + $export.F, 'Object', { isObject: __webpack_require__(3) }); + + +/***/ }), +/* 317 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); + +$export($export.S + $export.F, 'Object', { classof: __webpack_require__(37) }); + + +/***/ }), +/* 318 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var define = __webpack_require__(125); + +$export($export.S + $export.F, 'Object', { define: define }); + + +/***/ }), +/* 319 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var define = __webpack_require__(125); +var create = __webpack_require__(32); + +$export($export.S + $export.F, 'Object', { + make: function (proto, mixin) { + return define(create(proto), mixin); + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +__webpack_require__(53)(Number, 'Number', function (iterated) { + this._l = +iterated; + this._i = 0; +}, function () { + var i = this._i++; + var done = !(i < this._l); + return { done: done, value: done ? undefined : i }; +}); + + +/***/ }), +/* 321 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/benjamingr/RexExp.escape +var $export = __webpack_require__(0); +var $re = __webpack_require__(89)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); + +$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } }); + + +/***/ }), +/* 322 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $re = __webpack_require__(89)(/[&<>"']/g, { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}); + +$export($export.P + $export.F, 'String', { escapeHTML: function escapeHTML() { return $re(this); } }); + + +/***/ }), +/* 323 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $re = __webpack_require__(89)(/&(?:amp|lt|gt|quot|apos);/g, { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" +}); - 'use strict'; - var $export = __webpack_require__(6); - var $re = __webpack_require__(288)(/&(?:amp|lt|gt|quot|apos);/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }); +$export($export.P + $export.F, 'String', { unescapeHTML: function unescapeHTML() { return $re(this); } }); - $export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }}); -/***/ } +/***/ }) /******/ ]); // CommonJS export -if(typeof module != 'undefined' && module.exports)module.exports = __e; +if (typeof module != 'undefined' && module.exports) module.exports = __e; // RequireJS export -else if(typeof define == 'function' && define.amd)define(function(){return __e}); +else if (typeof define == 'function' && define.amd) define(function () { return __e; }); // Export to global object else __g.core = __e; }(1, 1); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/library.min.js b/build/js-transpiled/node_modules/core-js/client/library.min.js index d69a0de9..f49c0a02 100644 --- a/build/js-transpiled/node_modules/core-js/client/library.min.js +++ b/build/js-transpiled/node_modules/core-js/client/library.min.js @@ -1,10 +1,10 @@ /** - * core-js 2.4.1 + * core-js 2.5.7 * https://github.com/zloirock/core-js * License: http://rock.mit-license.org - * © 2016 Denis Pushkarev + * © 2018 Denis Pushkarev */ -!function(a,b,c){"use strict";!function(a){function __webpack_require__(c){if(b[c])return b[c].exports;var d=b[c]={exports:{},id:c,loaded:!1};return a[c].call(d.exports,d,d.exports,__webpack_require__),d.loaded=!0,d.exports}var b={};return __webpack_require__.m=a,__webpack_require__.c=b,__webpack_require__.p="",__webpack_require__(0)}([function(a,b,c){c(1),c(50),c(51),c(52),c(54),c(55),c(58),c(59),c(60),c(61),c(62),c(63),c(64),c(65),c(66),c(68),c(70),c(72),c(75),c(76),c(79),c(80),c(81),c(82),c(84),c(85),c(86),c(87),c(88),c(92),c(94),c(95),c(96),c(98),c(99),c(100),c(102),c(103),c(104),c(106),c(107),c(108),c(109),c(110),c(111),c(112),c(113),c(114),c(115),c(116),c(117),c(118),c(119),c(121),c(125),c(126),c(127),c(128),c(132),c(134),c(135),c(136),c(137),c(138),c(139),c(140),c(141),c(142),c(143),c(144),c(145),c(146),c(147),c(154),c(155),c(157),c(158),c(159),c(163),c(164),c(165),c(166),c(167),c(169),c(170),c(171),c(172),c(175),c(177),c(178),c(179),c(181),c(183),c(190),c(193),c(194),c(196),c(197),c(198),c(199),c(200),c(201),c(202),c(203),c(204),c(205),c(206),c(207),c(209),c(210),c(211),c(212),c(213),c(214),c(215),c(218),c(219),c(221),c(222),c(223),c(224),c(225),c(226),c(227),c(228),c(229),c(230),c(231),c(233),c(234),c(235),c(236),c(238),c(239),c(240),c(241),c(243),c(244),c(246),c(247),c(248),c(249),c(252),c(253),c(254),c(255),c(256),c(257),c(258),c(259),c(261),c(262),c(263),c(264),c(265),c(266),c(267),c(268),c(269),c(270),c(271),c(272),c(273),c(276),c(151),c(278),c(277),c(279),c(280),c(281),c(282),c(283),c(285),c(286),c(287),c(289),a.exports=c(290)},function(a,b,d){var e=d(2),f=d(3),g=d(4),h=d(6),i=d(18),j=d(19).KEY,k=d(5),l=d(21),m=d(22),n=d(20),o=d(23),p=d(24),q=d(25),r=d(27),s=d(40),t=d(43),u=d(12),v=d(30),w=d(16),x=d(17),y=d(44),z=d(47),A=d(49),B=d(11),C=d(28),D=A.f,E=B.f,F=z.f,G=e.Symbol,H=e.JSON,I=H&&H.stringify,J="prototype",K=o("_hidden"),L=o("toPrimitive"),M={}.propertyIsEnumerable,N=l("symbol-registry"),O=l("symbols"),P=l("op-symbols"),Q=Object[J],R="function"==typeof G,S=e.QObject,T=!S||!S[J]||!S[J].findChild,U=g&&k(function(){return 7!=y(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(a,b,c){var d=D(Q,b);d&&delete Q[b],E(a,b,c),d&&a!==Q&&E(Q,b,d)}:E,V=function(a){var b=O[a]=y(G[J]);return b._k=a,b},W=R&&"symbol"==typeof G.iterator?function(a){return"symbol"==typeof a}:function(a){return a instanceof G},X=function defineProperty(a,b,c){return a===Q&&X(P,b,c),u(a),b=w(b,!0),u(c),f(O,b)?(c.enumerable?(f(a,K)&&a[K][b]&&(a[K][b]=!1),c=y(c,{enumerable:x(0,!1)})):(f(a,K)||E(a,K,x(1,{})),a[K][b]=!0),U(a,b,c)):E(a,b,c)},Y=function defineProperties(a,b){u(a);for(var c,d=s(b=v(b)),e=0,f=d.length;f>e;)X(a,c=d[e++],b[c]);return a},Z=function create(a,b){return b===c?y(a):Y(y(a),b)},$=function propertyIsEnumerable(a){var b=M.call(this,a=w(a,!0));return!(this===Q&&f(O,a)&&!f(P,a))&&(!(b||!f(this,a)||!f(O,a)||f(this,K)&&this[K][a])||b)},_=function getOwnPropertyDescriptor(a,b){if(a=v(a),b=w(b,!0),a!==Q||!f(O,b)||f(P,b)){var c=D(a,b);return!c||!f(O,b)||f(a,K)&&a[K][b]||(c.enumerable=!0),c}},aa=function getOwnPropertyNames(a){for(var b,c=F(v(a)),d=[],e=0;c.length>e;)f(O,b=c[e++])||b==K||b==j||d.push(b);return d},ba=function getOwnPropertySymbols(a){for(var b,c=a===Q,d=F(c?P:v(a)),e=[],g=0;d.length>g;)!f(O,b=d[g++])||c&&!f(Q,b)||e.push(O[b]);return e};R||(G=function Symbol(){if(this instanceof G)throw TypeError("Symbol is not a constructor!");var a=n(arguments.length>0?arguments[0]:c),b=function(c){this===Q&&b.call(P,c),f(this,K)&&f(this[K],a)&&(this[K][a]=!1),U(this,a,x(1,c))};return g&&T&&U(Q,a,{configurable:!0,set:b}),V(a)},i(G[J],"toString",function toString(){return this._k}),A.f=_,B.f=X,d(48).f=z.f=aa,d(42).f=$,d(41).f=ba,g&&!d(26)&&i(Q,"propertyIsEnumerable",$,!0),p.f=function(a){return V(o(a))}),h(h.G+h.W+h.F*!R,{Symbol:G});for(var ca="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),da=0;ca.length>da;)o(ca[da++]);for(var ca=C(o.store),da=0;ca.length>da;)q(ca[da++]);h(h.S+h.F*!R,"Symbol",{"for":function(a){return f(N,a+="")?N[a]:N[a]=G(a)},keyFor:function keyFor(a){if(W(a))return r(N,a);throw TypeError(a+" is not a symbol!")},useSetter:function(){T=!0},useSimple:function(){T=!1}}),h(h.S+h.F*!R,"Object",{create:Z,defineProperty:X,defineProperties:Y,getOwnPropertyDescriptor:_,getOwnPropertyNames:aa,getOwnPropertySymbols:ba}),H&&h(h.S+h.F*(!R||k(function(){var a=G();return"[null]"!=I([a])||"{}"!=I({a:a})||"{}"!=I(Object(a))})),"JSON",{stringify:function stringify(a){if(a!==c&&!W(a)){for(var b,d,e=[a],f=1;arguments.length>f;)e.push(arguments[f++]);return b=e[1],"function"==typeof b&&(d=b),!d&&t(b)||(b=function(a,b){if(d&&(b=d.call(this,a,b)),!W(b))return b}),e[1]=b,I.apply(H,e)}}}),G[J][L]||d(10)(G[J],L,G[J].valueOf),m(G,"Symbol"),m(Math,"Math",!0),m(e.JSON,"JSON",!0)},function(a,c){var d=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof b&&(b=d)},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b,c){a.exports=!c(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(a,b,d){var e=d(2),f=d(7),g=d(8),h=d(10),i="prototype",j=function(a,b,d){var k,l,m,n=a&j.F,o=a&j.G,p=a&j.S,q=a&j.P,r=a&j.B,s=a&j.W,t=o?f:f[b]||(f[b]={}),u=t[i],v=o?e:p?e[b]:(e[b]||{})[i];o&&(d=b);for(k in d)l=!n&&v&&v[k]!==c,l&&k in t||(m=l?v[k]:d[k],t[k]=o&&"function"!=typeof v[k]?d[k]:r&&l?g(m,e):s&&v[k]==m?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[i]=a[i],b}(m):q&&"function"==typeof m?g(Function.call,m):m,q&&((t.virtual||(t.virtual={}))[k]=m,a&j.R&&u&&!u[k]&&h(u,k,m)))};j.F=1,j.G=2,j.S=4,j.P=8,j.B=16,j.W=32,j.U=64,j.R=128,a.exports=j},function(b,c){var d=b.exports={version:"2.4.0"};"number"==typeof a&&(a=d)},function(a,b,d){var e=d(9);a.exports=function(a,b,d){if(e(a),b===c)return a;switch(d){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b,c){var d=c(11),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b,c){var d=c(12),e=c(14),f=c(16),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function defineProperty(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(h){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(13);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b,c){a.exports=!c(4)&&!c(5)(function(){return 7!=Object.defineProperty(c(15)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(13),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b,c){var d=c(13);a.exports=function(a,b){if(!d(a))return a;var c,e;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;if("function"==typeof(c=a.valueOf)&&!d(e=c.call(a)))return e;if(!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){a.exports=c(10)},function(a,b,c){var d=c(20)("meta"),e=c(13),f=c(3),g=c(11).f,h=0,i=Object.isExtensible||function(){return!0},j=!c(5)(function(){return i(Object.preventExtensions({}))}),k=function(a){g(a,d,{value:{i:"O"+ ++h,w:{}}})},l=function(a,b){if(!e(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!f(a,d)){if(!i(a))return"F";if(!b)return"E";k(a)}return a[d].i},m=function(a,b){if(!f(a,d)){if(!i(a))return!0;if(!b)return!1;k(a)}return a[d].w},n=function(a){return j&&o.NEED&&i(a)&&!f(a,d)&&k(a),a},o=a.exports={KEY:d,NEED:!1,fastKey:l,getWeak:m,onFreeze:n}},function(a,b){var d=0,e=Math.random();a.exports=function(a){return"Symbol(".concat(a===c?"":a,")_",(++d+e).toString(36))}},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d=c(11).f,e=c(3),f=c(23)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(21)("wks"),e=c(20),f=c(2).Symbol,g="function"==typeof f,h=a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))};h.store=d},function(a,b,c){b.f=c(23)},function(a,b,c){var d=c(2),e=c(7),f=c(26),g=c(24),h=c(11).f;a.exports=function(a){var b=e.Symbol||(e.Symbol=f?{}:d.Symbol||{});"_"==a.charAt(0)||a in b||h(b,a,{value:g.f(a)})}},function(a,b){a.exports=!0},function(a,b,c){var d=c(28),e=c(30);a.exports=function(a,b){for(var c,f=e(a),g=d(f),h=g.length,i=0;h>i;)if(f[c=g[i++]]===b)return c}},function(a,b,c){var d=c(29),e=c(39);a.exports=Object.keys||function keys(a){return d(a,e)}},function(a,b,c){var d=c(3),e=c(30),f=c(34)(!1),g=c(38)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(31),e=c(33);a.exports=function(a){return d(e(a))}},function(a,b,c){var d=c(32);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b){a.exports=function(a){if(a==c)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(30),e=c(35),f=c(37);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if(h=i[k++],h!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(36),e=Math.min;a.exports=function(a){return a>0?e(d(a),9007199254740991):0}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(36),e=Math.max,f=Math.min;a.exports=function(a,b){return a=d(a),a<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(21)("keys"),e=c(20);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(28),e=c(41),f=c(42);a.exports=function(a){var b=d(a),c=e.f;if(c)for(var g,h=c(a),i=f.f,j=0;h.length>j;)i.call(a,g=h[j++])&&b.push(g);return b}},function(a,b){b.f=Object.getOwnPropertySymbols},function(a,b){b.f={}.propertyIsEnumerable},function(a,b,c){var d=c(32);a.exports=Array.isArray||function isArray(a){return"Array"==d(a)}},function(a,b,d){var e=d(12),f=d(45),g=d(39),h=d(38)("IE_PROTO"),i=function(){},j="prototype",k=function(){var a,b=d(15)("iframe"),c=g.length,e="<",f=">";for(b.style.display="none",d(46).appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write(e+"script"+f+"document.F=Object"+e+"/script"+f),a.close(),k=a.F;c--;)delete k[j][g[c]];return k()};a.exports=Object.create||function create(a,b){var d;return null!==a?(i[j]=e(a),d=new i,i[j]=null,d[h]=a):d=k(),b===c?d:f(d,b)}},function(a,b,c){var d=c(11),e=c(12),f=c(28);a.exports=c(4)?Object.defineProperties:function defineProperties(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){var d=c(30),e=c(48).f,f={}.toString,g="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],h=function(a){try{return e(a)}catch(b){return g.slice()}};a.exports.f=function getOwnPropertyNames(a){return g&&"[object Window]"==f.call(a)?h(a):e(d(a))}},function(a,b,c){var d=c(29),e=c(39).concat("length","prototype");b.f=Object.getOwnPropertyNames||function getOwnPropertyNames(a){return d(a,e)}},function(a,b,c){var d=c(42),e=c(17),f=c(30),g=c(16),h=c(3),i=c(14),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function getOwnPropertyDescriptor(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(c){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(6);d(d.S+d.F*!c(4),"Object",{defineProperty:c(11).f})},function(a,b,c){var d=c(6);d(d.S+d.F*!c(4),"Object",{defineProperties:c(45)})},function(a,b,c){var d=c(30),e=c(49).f;c(53)("getOwnPropertyDescriptor",function(){return function getOwnPropertyDescriptor(a,b){return e(d(a),b)}})},function(a,b,c){var d=c(6),e=c(7),f=c(5);a.exports=function(a,b){var c=(e.Object||{})[a]||Object[a],g={};g[a]=b(c),d(d.S+d.F*f(function(){c(1)}),"Object",g)}},function(a,b,c){var d=c(6);d(d.S,"Object",{create:c(44)})},function(a,b,c){var d=c(56),e=c(57);c(53)("getPrototypeOf",function(){return function getPrototypeOf(a){return e(d(a))}})},function(a,b,c){var d=c(33);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(3),e=c(56),f=c(38)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return a=e(a),d(a,f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(56),e=c(28);c(53)("keys",function(){return function keys(a){return e(d(a))}})},function(a,b,c){c(53)("getOwnPropertyNames",function(){return c(47).f})},function(a,b,c){var d=c(13),e=c(19).onFreeze;c(53)("freeze",function(a){return function freeze(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(13),e=c(19).onFreeze;c(53)("seal",function(a){return function seal(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(13),e=c(19).onFreeze;c(53)("preventExtensions",function(a){return function preventExtensions(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(13);c(53)("isFrozen",function(a){return function isFrozen(b){return!d(b)||!!a&&a(b)}})},function(a,b,c){var d=c(13);c(53)("isSealed",function(a){return function isSealed(b){return!d(b)||!!a&&a(b)}})},function(a,b,c){var d=c(13);c(53)("isExtensible",function(a){return function isExtensible(b){return!!d(b)&&(!a||a(b))}})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{assign:c(67)})},function(a,b,c){var d=c(28),e=c(41),f=c(42),g=c(56),h=c(31),i=Object.assign;a.exports=!i||c(5)(function(){var a={},b={},c=Symbol(),d="abcdefghijklmnopqrst";return a[c]=7,d.split("").forEach(function(a){b[a]=a}),7!=i({},a)[c]||Object.keys(i({},b)).join("")!=d})?function assign(a,b){for(var c=g(a),i=arguments.length,j=1,k=e.f,l=f.f;i>j;)for(var m,n=h(arguments[j++]),o=k?d(n).concat(k(n)):d(n),p=o.length,q=0;p>q;)l.call(n,m=o[q++])&&(c[m]=n[m]);return c}:i},function(a,b,c){var d=c(6);d(d.S,"Object",{is:c(69)})},function(a,b){a.exports=Object.is||function is(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},function(a,b,c){var d=c(6);d(d.S,"Object",{setPrototypeOf:c(71).set})},function(a,b,d){var e=d(13),f=d(12),g=function(a,b){if(f(a),!e(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,c){try{c=d(8)(Function.call,d(49).f(Object.prototype,"__proto__").set,2),c(a,[]),b=!(a instanceof Array)}catch(e){b=!0}return function setPrototypeOf(a,d){return g(a,d),b?a.__proto__=d:c(a,d),a}}({},!1):c),check:g}},function(a,b,c){var d=c(6);d(d.P,"Function",{bind:c(73)})},function(a,b,c){var d=c(9),e=c(13),f=c(74),g=[].slice,h={},i=function(a,b,c){if(!(b in h)){for(var d=[],e=0;e=0;)c+=j[b],j[b]=i(c/a),c=c%a*1e7},o=function(){for(var a=6,b="";--a>=0;)if(""!==b||0===a||0!==j[a]){var c=String(j[a]);b=""===b?c:b+g.call(l,7-c.length)+c}return b},p=function(a,b,c){return 0===b?c:b%2===1?p(a,b-1,c*a):p(a*a,b/2,c)},q=function(a){for(var b=0,c=a;c>=4096;)b+=12,c/=4096;for(;c>=2;)b+=1,c/=2;return b};d(d.P+d.F*(!!h&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c(5)(function(){h.call({})})),"Number",{toFixed:function toFixed(a){var b,c,d,h,i=f(this,k),j=e(a),r="",s=l;if(j<0||j>20)throw RangeError(k);if(i!=i)return"NaN";if(i<=-1e21||i>=1e21)return String(i);if(i<0&&(r="-",i=-i),i>1e-21)if(b=q(i*p(2,69,1))-69,c=b<0?i*p(2,-b,1):i/p(2,b,1),c*=4503599627370496,b=52-b,b>0){for(m(0,c),d=j;d>=7;)m(1e7,0),d-=7;for(m(p(10,d,1),0),d=b-1;d>=23;)n(1<<23),d-=23;n(1<0?(h=s.length,s=r+(h<=j?"0."+g.call(l,j-h)+s:s.slice(0,h-j)+"."+s.slice(h-j))):s=r+s,s}})},function(a,b,c){var d=c(32);a.exports=function(a,b){if("number"!=typeof a&&"Number"!=d(a))throw TypeError(b);return+a}},function(a,b,c){var d=c(36),e=c(33);a.exports=function repeat(a){var b=String(e(this)),c="",f=d(a);if(f<0||f==1/0)throw RangeError("Count can't be negative");for(;f>0;(f>>>=1)&&(b+=b))1&f&&(c+=b);return c}},function(a,b,d){var e=d(6),f=d(5),g=d(77),h=1..toPrecision;e(e.P+e.F*(f(function(){return"1"!==h.call(1,c)})||!f(function(){h.call({})})),"Number",{toPrecision:function toPrecision(a){var b=g(this,"Number#toPrecision: incorrect invocation!");return a===c?h.call(b):h.call(b,a)}})},function(a,b,c){var d=c(6);d(d.S,"Number",{EPSILON:Math.pow(2,-52)})},function(a,b,c){var d=c(6),e=c(2).isFinite;d(d.S,"Number",{isFinite:function isFinite(a){return"number"==typeof a&&e(a)}})},function(a,b,c){var d=c(6);d(d.S,"Number",{isInteger:c(83)})},function(a,b,c){var d=c(13),e=Math.floor;a.exports=function isInteger(a){return!d(a)&&isFinite(a)&&e(a)===a}},function(a,b,c){var d=c(6);d(d.S,"Number",{isNaN:function isNaN(a){return a!=a}})},function(a,b,c){var d=c(6),e=c(83),f=Math.abs;d(d.S,"Number",{isSafeInteger:function isSafeInteger(a){return e(a)&&f(a)<=9007199254740991}})},function(a,b,c){var d=c(6);d(d.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(a,b,c){var d=c(6);d(d.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(a,b,c){var d=c(6),e=c(89);d(d.S+d.F*(Number.parseFloat!=e),"Number",{parseFloat:e})},function(a,b,c){var d=c(2).parseFloat,e=c(90).trim;a.exports=1/d(c(91)+"-0")!==-(1/0)?function parseFloat(a){var b=e(String(a),3),c=d(b);return 0===c&&"-"==b.charAt(0)?-0:c}:d},function(a,b,c){var d=c(6),e=c(33),f=c(5),g=c(91),h="["+g+"]",i="​…",j=RegExp("^"+h+h+"*"),k=RegExp(h+h+"*$"),l=function(a,b,c){var e={},h=f(function(){return!!g[a]()||i[a]()!=i}),j=e[a]=h?b(m):g[a];c&&(e[c]=j),d(d.P+d.F*h,"String",e)},m=l.trim=function(a,b){return a=String(e(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a};a.exports=l},function(a,b){a.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(a,b,c){var d=c(6),e=c(93);d(d.S+d.F*(Number.parseInt!=e),"Number",{parseInt:e})},function(a,b,c){var d=c(2).parseInt,e=c(90).trim,f=c(91),g=/^[\-+]?0[xX]/;a.exports=8!==d(f+"08")||22!==d(f+"0x16")?function parseInt(a,b){var c=e(String(a),3);return d(c,b>>>0||(g.test(c)?16:10))}:d},function(a,b,c){var d=c(6),e=c(93);d(d.G+d.F*(parseInt!=e),{parseInt:e})},function(a,b,c){var d=c(6),e=c(89);d(d.G+d.F*(parseFloat!=e),{parseFloat:e})},function(a,b,c){var d=c(6),e=c(97),f=Math.sqrt,g=Math.acosh;d(d.S+d.F*!(g&&710==Math.floor(g(Number.MAX_VALUE))&&g(1/0)==1/0),"Math",{acosh:function acosh(a){return(a=+a)<1?NaN:a>94906265.62425156?Math.log(a)+Math.LN2:e(a-1+f(a-1)*f(a+1))}})},function(a,b){a.exports=Math.log1p||function log1p(a){return(a=+a)>-1e-8&&a<1e-8?a-a*a/2:Math.log(1+a)}},function(a,b,c){function asinh(a){return isFinite(a=+a)&&0!=a?a<0?-asinh(-a):Math.log(a+Math.sqrt(a*a+1)):a}var d=c(6),e=Math.asinh;d(d.S+d.F*!(e&&1/e(0)>0),"Math",{asinh:asinh})},function(a,b,c){var d=c(6),e=Math.atanh;d(d.S+d.F*!(e&&1/e(-0)<0),"Math",{atanh:function atanh(a){return 0==(a=+a)?a:Math.log((1+a)/(1-a))/2}})},function(a,b,c){var d=c(6),e=c(101);d(d.S,"Math",{cbrt:function cbrt(a){return e(a=+a)*Math.pow(Math.abs(a),1/3)}})},function(a,b){a.exports=Math.sign||function sign(a){return 0==(a=+a)||a!=a?a:a<0?-1:1}},function(a,b,c){var d=c(6);d(d.S,"Math",{clz32:function clz32(a){return(a>>>=0)?31-Math.floor(Math.log(a+.5)*Math.LOG2E):32}})},function(a,b,c){var d=c(6),e=Math.exp;d(d.S,"Math",{cosh:function cosh(a){return(e(a=+a)+e(-a))/2}})},function(a,b,c){var d=c(6),e=c(105);d(d.S+d.F*(e!=Math.expm1),"Math",{expm1:e})},function(a,b){var c=Math.expm1;a.exports=!c||c(10)>22025.465794806718||c(10)<22025.465794806718||c(-2e-17)!=-2e-17?function expm1(a){return 0==(a=+a)?a:a>-1e-6&&a<1e-6?a+a*a/2:Math.exp(a)-1}:c},function(a,b,c){var d=c(6),e=c(101),f=Math.pow,g=f(2,-52),h=f(2,-23),i=f(2,127)*(2-h),j=f(2,-126),k=function(a){return a+1/g-1/g};d(d.S,"Math",{fround:function fround(a){var b,c,d=Math.abs(a),f=e(a);return di||c!=c?f*(1/0):f*c)}})},function(a,b,c){var d=c(6),e=Math.abs;d(d.S,"Math",{hypot:function hypot(a,b){for(var c,d,f=0,g=0,h=arguments.length,i=0;g0?(d=c/i,f+=d*d):f+=c;return i===1/0?1/0:i*Math.sqrt(f)}})},function(a,b,c){var d=c(6),e=Math.imul;d(d.S+d.F*c(5)(function(){return e(4294967295,5)!=-5||2!=e.length}),"Math",{imul:function imul(a,b){var c=65535,d=+a,e=+b,f=c&d,g=c&e;return 0|f*g+((c&d>>>16)*g+f*(c&e>>>16)<<16>>>0)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{log10:function log10(a){return Math.log(a)/Math.LN10}})},function(a,b,c){var d=c(6);d(d.S,"Math",{log1p:c(97)})},function(a,b,c){var d=c(6);d(d.S,"Math",{log2:function log2(a){return Math.log(a)/Math.LN2}})},function(a,b,c){var d=c(6);d(d.S,"Math",{sign:c(101)})},function(a,b,c){var d=c(6),e=c(105),f=Math.exp;d(d.S+d.F*c(5)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function sinh(a){return Math.abs(a=+a)<1?(e(a)-e(-a))/2:(f(a-1)-f(-a-1))*(Math.E/2)}})},function(a,b,c){var d=c(6),e=c(105),f=Math.exp;d(d.S,"Math",{tanh:function tanh(a){var b=e(a=+a),c=e(-a);return b==1/0?1:c==1/0?-1:(b-c)/(f(a)+f(-a))}})},function(a,b,c){var d=c(6);d(d.S,"Math",{trunc:function trunc(a){return(a>0?Math.floor:Math.ceil)(a)}})},function(a,b,c){var d=c(6),e=c(37),f=String.fromCharCode,g=String.fromCodePoint;d(d.S+d.F*(!!g&&1!=g.length),"String",{fromCodePoint:function fromCodePoint(a){for(var b,c=[],d=arguments.length,g=0;d>g;){if(b=+arguments[g++],e(b,1114111)!==b)throw RangeError(b+" is not a valid code point");c.push(b<65536?f(b):f(((b-=65536)>>10)+55296,b%1024+56320))}return c.join("")}})},function(a,b,c){var d=c(6),e=c(30),f=c(35);d(d.S,"String",{raw:function raw(a){for(var b=e(a.raw),c=f(b.length),d=arguments.length,g=[],h=0;c>h;)g.push(String(b[h++])),h=k?a?"":c:(g=i.charCodeAt(j),g<55296||g>56319||j+1===k||(h=i.charCodeAt(j+1))<56320||h>57343?a?i.charAt(j):g:a?i.slice(j,j+2):(g-55296<<10)+(h-56320)+65536)}}},function(a,b,d){var e=d(6),f=d(35),g=d(122),h="endsWith",i=""[h];e(e.P+e.F*d(124)(h),"String",{endsWith:function endsWith(a){var b=g(this,a,h),d=arguments.length>1?arguments[1]:c,e=f(b.length),j=d===c?e:Math.min(f(d),e),k=String(a);return i?i.call(b,k,j):b.slice(j-k.length,j)===k}})},function(a,b,c){var d=c(123),e=c(33);a.exports=function(a,b,c){if(d(b))throw TypeError("String#"+c+" doesn't accept regex!");return String(e(a))}},function(a,b,d){var e=d(13),f=d(32),g=d(23)("match");a.exports=function(a){var b;return e(a)&&((b=a[g])!==c?!!b:"RegExp"==f(a))}},function(a,b,c){var d=c(23)("match");a.exports=function(a){var b=/./;try{"/./"[a](b)}catch(c){try{return b[d]=!1,!"/./"[a](b)}catch(e){}}return!0}},function(a,b,d){var e=d(6),f=d(122),g="includes";e(e.P+e.F*d(124)(g),"String",{includes:function includes(a){return!!~f(this,a,g).indexOf(a,arguments.length>1?arguments[1]:c)}})},function(a,b,c){var d=c(6);d(d.P,"String",{repeat:c(78)})},function(a,b,d){var e=d(6),f=d(35),g=d(122),h="startsWith",i=""[h];e(e.P+e.F*d(124)(h),"String",{startsWith:function startsWith(a){var b=g(this,a,h),d=f(Math.min(arguments.length>1?arguments[1]:c,b.length)),e=String(a);return i?i.call(b,e,d):b.slice(d,d+e.length)===e}})},function(a,b,d){var e=d(120)(!0);d(129)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,d=this._i;return d>=b.length?{value:c,done:!0}:(a=e(b,d),this._i+=a.length,{value:a,done:!1})})},function(a,b,d){var e=d(26),f=d(6),g=d(18),h=d(10),i=d(3),j=d(130),k=d(131),l=d(22),m=d(57),n=d(23)("iterator"),o=!([].keys&&"next"in[].keys()),p="@@iterator",q="keys",r="values",s=function(){return this};a.exports=function(a,b,d,t,u,v,w){k(d,b,t);var x,y,z,A=function(a){if(!o&&a in E)return E[a];switch(a){case q:return function keys(){return new d(this,a)};case r:return function values(){return new d(this,a)}}return function entries(){return new d(this,a)}},B=b+" Iterator",C=u==r,D=!1,E=a.prototype,F=E[n]||E[p]||u&&E[u],G=F||A(u),H=u?C?A("entries"):G:c,I="Array"==b?E.entries||F:F;if(I&&(z=m(I.call(new a)),z!==Object.prototype&&(l(z,B,!0),e||i(z,n)||h(z,n,s))),C&&F&&F.name!==r&&(D=!0,G=function values(){return F.call(this)}),e&&!w||!o&&!D&&E[n]||h(E,n,G),j[b]=G,j[B]=s,u)if(x={values:C?G:A(r),keys:v?G:A(q),entries:H},w)for(y in x)y in E||g(E,y,x[y]);else f(f.P+f.F*(o||D),b,x);return x}},function(a,b){a.exports={}},function(a,b,c){var d=c(44),e=c(17),f=c(22),g={};c(10)(g,c(23)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){c(133)("anchor",function(a){return function anchor(b){return a(this,"a","name",b)}})},function(a,b,c){var d=c(6),e=c(5),f=c(33),g=/"/g,h=function(a,b,c,d){var e=String(f(a)),h="<"+b;return""!==c&&(h+=" "+c+'="'+String(d).replace(g,""")+'"'),h+">"+e+""};a.exports=function(a,b){var c={};c[a]=b(h),d(d.P+d.F*e(function(){var b=""[a]('"');return b!==b.toLowerCase()||b.split('"').length>3}),"String",c)}},function(a,b,c){c(133)("big",function(a){return function big(){return a(this,"big","","")}})},function(a,b,c){c(133)("blink",function(a){return function blink(){return a(this,"blink","","")}})},function(a,b,c){c(133)("bold",function(a){return function bold(){return a(this,"b","","")}})},function(a,b,c){c(133)("fixed",function(a){return function fixed(){return a(this,"tt","","")}})},function(a,b,c){c(133)("fontcolor",function(a){return function fontcolor(b){return a(this,"font","color",b)}})},function(a,b,c){c(133)("fontsize",function(a){return function fontsize(b){return a(this,"font","size",b)}})},function(a,b,c){c(133)("italics",function(a){return function italics(){return a(this,"i","","")}})},function(a,b,c){c(133)("link",function(a){return function link(b){return a(this,"a","href",b)}})},function(a,b,c){c(133)("small",function(a){return function small(){return a(this,"small","","")}})},function(a,b,c){c(133)("strike",function(a){return function strike(){return a(this,"strike","","")}})},function(a,b,c){c(133)("sub",function(a){return function sub(){return a(this,"sub","","")}})},function(a,b,c){c(133)("sup",function(a){return function sup(){return a(this,"sup","","")}})},function(a,b,c){var d=c(6);d(d.S,"Array",{isArray:c(43)})},function(a,b,d){var e=d(8),f=d(6),g=d(56),h=d(148),i=d(149),j=d(35),k=d(150),l=d(151);f(f.S+f.F*!d(153)(function(a){Array.from(a)}),"Array",{from:function from(a){var b,d,f,m,n=g(a),o="function"==typeof this?this:Array,p=arguments.length,q=p>1?arguments[1]:c,r=q!==c,s=0,t=l(n);if(r&&(q=e(q,p>2?arguments[2]:c,2)),t==c||o==Array&&i(t))for(b=j(n.length),d=new o(b);b>s;s++)k(d,s,r?q(n[s],s):n[s]);else for(m=t.call(n),d=new o;!(f=m.next()).done;s++)k(d,s,r?h(m,q,[f.value,s],!0):f.value);return d.length=s,d}})},function(a,b,d){var e=d(12);a.exports=function(a,b,d,f){try{return f?b(e(d)[0],d[1]):b(d)}catch(g){var h=a["return"];throw h!==c&&e(h.call(a)),g}}},function(a,b,d){var e=d(130),f=d(23)("iterator"),g=Array.prototype;a.exports=function(a){return a!==c&&(e.Array===a||g[f]===a)}},function(a,b,c){var d=c(11),e=c(17);a.exports=function(a,b,c){b in a?d.f(a,b,e(0,c)):a[b]=c}},function(a,b,d){var e=d(152),f=d(23)("iterator"),g=d(130);a.exports=d(7).getIteratorMethod=function(a){if(a!=c)return a[f]||a["@@iterator"]||g[e(a)]}},function(a,b,d){var e=d(32),f=d(23)("toStringTag"),g="Arguments"==e(function(){return arguments}()),h=function(a,b){try{return a[b]}catch(c){}};a.exports=function(a){var b,d,i;return a===c?"Undefined":null===a?"Null":"string"==typeof(d=h(b=Object(a),f))?d:g?e(b):"Object"==(i=e(b))&&"function"==typeof b.callee?"Arguments":i}},function(a,b,c){var d=c(23)("iterator"),e=!1;try{var f=[7][d]();f["return"]=function(){e=!0},Array.from(f,function(){throw 2})}catch(g){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(h){}return c}},function(a,b,c){var d=c(6),e=c(150);d(d.S+d.F*c(5)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var a=0,b=arguments.length,c=new("function"==typeof this?this:Array)(b);b>a;)e(c,a,arguments[a++]);return c.length=b,c}})},function(a,b,d){var e=d(6),f=d(30),g=[].join;e(e.P+e.F*(d(31)!=Object||!d(156)(g)),"Array",{join:function join(a){return g.call(f(this),a===c?",":a)}})},function(a,b,c){var d=c(5);a.exports=function(a,b){return!!a&&d(function(){b?a.call(null,function(){},1):a.call(null)})}},function(a,b,d){var e=d(6),f=d(46),g=d(32),h=d(37),i=d(35),j=[].slice;e(e.P+e.F*d(5)(function(){f&&j.call(f)}),"Array",{slice:function slice(a,b){var d=i(this.length),e=g(this);if(b=b===c?d:b,"Array"==e)return j.call(this,a,b);for(var f=h(a,d),k=h(b,d),l=i(k-f),m=Array(l),n=0;nw;w++)if((n||w in t)&&(q=t[w],r=u(q,w,s),a))if(d)x[w]=r;else if(r)switch(a){case 3:return!0;case 5: -return q;case 6:return w;case 2:x.push(q)}else if(l)return!1;return m?-1:k||l?l:x}}},function(a,b,c){var d=c(162);a.exports=function(a,b){return new(d(a))(b)}},function(a,b,d){var e=d(13),f=d(43),g=d(23)("species");a.exports=function(a){var b;return f(a)&&(b=a.constructor,"function"!=typeof b||b!==Array&&!f(b.prototype)||(b=c),e(b)&&(b=b[g],null===b&&(b=c))),b===c?Array:b}},function(a,b,c){var d=c(6),e=c(160)(1);d(d.P+d.F*!c(156)([].map,!0),"Array",{map:function map(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(160)(2);d(d.P+d.F*!c(156)([].filter,!0),"Array",{filter:function filter(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(160)(3);d(d.P+d.F*!c(156)([].some,!0),"Array",{some:function some(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(160)(4);d(d.P+d.F*!c(156)([].every,!0),"Array",{every:function every(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(168);d(d.P+d.F*!c(156)([].reduce,!0),"Array",{reduce:function reduce(a){return e(this,a,arguments.length,arguments[1],!1)}})},function(a,b,c){var d=c(9),e=c(56),f=c(31),g=c(35);a.exports=function(a,b,c,h,i){d(b);var j=e(a),k=f(j),l=g(j.length),m=i?l-1:0,n=i?-1:1;if(c<2)for(;;){if(m in k){h=k[m],m+=n;break}if(m+=n,i?m<0:l<=m)throw TypeError("Reduce of empty array with no initial value")}for(;i?m>=0:l>m;m+=n)m in k&&(h=b(h,k[m],m,j));return h}},function(a,b,c){var d=c(6),e=c(168);d(d.P+d.F*!c(156)([].reduceRight,!0),"Array",{reduceRight:function reduceRight(a){return e(this,a,arguments.length,arguments[1],!0)}})},function(a,b,c){var d=c(6),e=c(34)(!1),f=[].indexOf,g=!!f&&1/[1].indexOf(1,-0)<0;d(d.P+d.F*(g||!c(156)(f)),"Array",{indexOf:function indexOf(a){return g?f.apply(this,arguments)||0:e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(30),f=c(36),g=c(35),h=[].lastIndexOf,i=!!h&&1/[1].lastIndexOf(1,-0)<0;d(d.P+d.F*(i||!c(156)(h)),"Array",{lastIndexOf:function lastIndexOf(a){if(i)return h.apply(this,arguments)||0;var b=e(this),c=g(b.length),d=c-1;for(arguments.length>1&&(d=Math.min(d,f(arguments[1]))),d<0&&(d=c+d);d>=0;d--)if(d in b&&b[d]===a)return d||0;return-1}})},function(a,b,c){var d=c(6);d(d.P,"Array",{copyWithin:c(173)}),c(174)("copyWithin")},function(a,b,d){var e=d(56),f=d(37),g=d(35);a.exports=[].copyWithin||function copyWithin(a,b){var d=e(this),h=g(d.length),i=f(a,h),j=f(b,h),k=arguments.length>2?arguments[2]:c,l=Math.min((k===c?h:f(k,h))-j,h-i),m=1;for(j0;)j in d?d[i]=d[j]:delete d[i],i+=m,j+=m;return d}},function(a,b){a.exports=function(){}},function(a,b,c){var d=c(6);d(d.P,"Array",{fill:c(176)}),c(174)("fill")},function(a,b,d){var e=d(56),f=d(37),g=d(35);a.exports=function fill(a){for(var b=e(this),d=g(b.length),h=arguments.length,i=f(h>1?arguments[1]:c,d),j=h>2?arguments[2]:c,k=j===c?d:f(j,d);k>i;)b[i++]=a;return b}},function(a,b,d){var e=d(6),f=d(160)(5),g="find",h=!0;g in[]&&Array(1)[g](function(){h=!1}),e(e.P+e.F*h,"Array",{find:function find(a){return f(this,a,arguments.length>1?arguments[1]:c)}}),d(174)(g)},function(a,b,d){var e=d(6),f=d(160)(6),g="findIndex",h=!0;g in[]&&Array(1)[g](function(){h=!1}),e(e.P+e.F*h,"Array",{findIndex:function findIndex(a){return f(this,a,arguments.length>1?arguments[1]:c)}}),d(174)(g)},function(a,b,d){var e=d(174),f=d(180),g=d(130),h=d(30);a.exports=d(129)(Array,"Array",function(a,b){this._t=h(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,d=this._i++;return!a||d>=a.length?(this._t=c,f(1)):"keys"==b?f(0,d):"values"==b?f(0,a[d]):f(0,[d,a[d]])},"values"),g.Arguments=g.Array,e("keys"),e("values"),e("entries")},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){c(182)("Array")},function(a,b,c){var d=c(2),e=c(7),f=c(11),g=c(4),h=c(23)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,d){var e,f,g,h=d(26),i=d(2),j=d(8),k=d(152),l=d(6),m=d(13),n=d(9),o=d(184),p=d(185),q=d(186),r=d(187).set,s=d(188)(),t="Promise",u=i.TypeError,v=i.process,w=i[t],v=i.process,x="process"==k(v),y=function(){},z=!!function(){try{var a=w.resolve(1),b=(a.constructor={})[d(23)("species")]=function(a){a(y,y)};return(x||"function"==typeof PromiseRejectionEvent)&&a.then(y)instanceof b}catch(c){}}(),A=function(a,b){return a===b||a===w&&b===g},B=function(a){var b;return!(!m(a)||"function"!=typeof(b=a.then))&&b},C=function(a){return A(w,a)?new D(a):new f(a)},D=f=function(a){var b,d;this.promise=new a(function(a,e){if(b!==c||d!==c)throw u("Bad Promise constructor");b=a,d=e}),this.resolve=n(b),this.reject=n(d)},E=function(a){try{a()}catch(b){return{error:b}}},F=function(a,b){if(!a._n){a._n=!0;var c=a._c;s(function(){for(var d=a._v,e=1==a._s,f=0,g=function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&I(a),a._h=1),g===!0?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(u("Promise-chain cycle")):(f=B(c))?f.call(c,h,i):h(c)):i(d)}catch(k){i(k)}};c.length>f;)g(c[f++]);a._c=[],a._n=!1,b&&!a._h&&G(a)})}},G=function(a){r.call(i,function(){var b,d,e,f=a._v;if(H(a)&&(b=E(function(){x?v.emit("unhandledRejection",f,a):(d=i.onunhandledrejection)?d({promise:a,reason:f}):(e=i.console)&&e.error&&e.error("Unhandled promise rejection",f)}),a._h=x||H(a)?2:1),a._a=c,b)throw b.error})},H=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if(b=c[d++],b.fail||!H(b.promise))return!1;return!0},I=function(a){r.call(i,function(){var b;x?v.emit("rejectionHandled",a):(b=i.onrejectionhandled)&&b({promise:a,reason:a._v})})},J=function(a){var b=this;b._d||(b._d=!0,b=b._w||b,b._v=a,b._s=2,b._a||(b._a=b._c.slice()),F(b,!0))},K=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw u("Promise can't be resolved itself");(b=B(a))?s(function(){var d={_w:c,_d:!1};try{b.call(a,j(K,d,1),j(J,d,1))}catch(e){J.call(d,e)}}):(c._v=a,c._s=1,F(c,!1))}catch(d){J.call({_w:c,_d:!1},d)}}};z||(w=function Promise(a){o(this,w,t,"_h"),n(a),e.call(this);try{a(j(K,this,1),j(J,this,1))}catch(b){J.call(this,b)}},e=function Promise(a){this._c=[],this._a=c,this._s=0,this._d=!1,this._v=c,this._h=0,this._n=!1},e.prototype=d(189)(w.prototype,{then:function then(a,b){var d=C(q(this,w));return d.ok="function"!=typeof a||a,d.fail="function"==typeof b&&b,d.domain=x?v.domain:c,this._c.push(d),this._a&&this._a.push(d),this._s&&F(this,!1),d.promise},"catch":function(a){return this.then(c,a)}}),D=function(){var a=new e;this.promise=a,this.resolve=j(K,a,1),this.reject=j(J,a,1)}),l(l.G+l.W+l.F*!z,{Promise:w}),d(22)(w,t),d(182)(t),g=d(7)[t],l(l.S+l.F*!z,t,{reject:function reject(a){var b=C(this),c=b.reject;return c(a),b.promise}}),l(l.S+l.F*(h||!z),t,{resolve:function resolve(a){if(a instanceof w&&A(a.constructor,this))return a;var b=C(this),c=b.resolve;return c(a),b.promise}}),l(l.S+l.F*!(z&&d(153)(function(a){w.all(a)["catch"](y)})),t,{all:function all(a){var b=this,d=C(b),e=d.resolve,f=d.reject,g=E(function(){var d=[],g=0,h=1;p(a,!1,function(a){var i=g++,j=!1;d.push(c),h++,b.resolve(a).then(function(a){j||(j=!0,d[i]=a,--h||e(d))},f)}),--h||e(d)});return g&&f(g.error),d.promise},race:function race(a){var b=this,c=C(b),d=c.reject,e=E(function(){p(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b){a.exports=function(a,b,d,e){if(!(a instanceof b)||e!==c&&e in a)throw TypeError(d+": incorrect invocation!");return a}},function(a,b,c){var d=c(8),e=c(148),f=c(149),g=c(12),h=c(35),i=c(151),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if(q=b?s(g(o=a[t])[0],o[1]):s(a[t]),q===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if(q=e(p,s,o.value,b),q===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b,d){var e=d(12),f=d(9),g=d(23)("species");a.exports=function(a,b){var d,h=e(a).constructor;return h===c||(d=e(h)[g])==c?b:f(d)}},function(a,b,c){var d,e,f,g=c(8),h=c(74),i=c(46),j=c(15),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function setImmediate(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function clearImmediate(a){delete q[a]},"process"==c(32)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(e=new o,f=e.port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,d){var e=d(2),f=d(187).set,g=e.MutationObserver||e.WebKitMutationObserver,h=e.process,i=e.Promise,j="process"==d(32)(h);a.exports=function(){var a,b,d,k=function(){var e,f;for(j&&(e=h.domain)&&e.exit();a;){f=a.fn,a=a.next;try{f()}catch(g){throw a?d():b=c,g}}b=c,e&&e.enter()};if(j)d=function(){h.nextTick(k)};else if(g){var l=!0,m=document.createTextNode("");new g(k).observe(m,{characterData:!0}),d=function(){m.data=l=!l}}else if(i&&i.resolve){var n=i.resolve();d=function(){n.then(k)}}else d=function(){f.call(e,k)};return function(e){var f={fn:e,next:c};b&&(b.next=f),a||(a=f,d()),b=f}}},function(a,b,c){var d=c(10);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,d){var e=d(191);a.exports=d(192)("Map",function(a){return function Map(){return a(this,arguments.length>0?arguments[0]:c)}},{get:function get(a){var b=e.getEntry(this,a);return b&&b.v},set:function set(a,b){return e.def(this,0===a?0:a,b)}},e,!0)},function(a,b,d){var e=d(11).f,f=d(44),g=d(189),h=d(8),i=d(184),j=d(33),k=d(185),l=d(129),m=d(180),n=d(182),o=d(4),p=d(19).fastKey,q=o?"_s":"size",r=function(a,b){var c,d=p(b);if("F"!==d)return a._i[d];for(c=a._f;c;c=c.n)if(c.k==b)return c};a.exports={getConstructor:function(a,b,d,l){var m=a(function(a,e){i(a,m,b,"_i"),a._i=f(null),a._f=c,a._l=c,a[q]=0,e!=c&&k(e,d,a[l],a)});return g(m.prototype,{clear:function clear(){for(var a=this,b=a._i,d=a._f;d;d=d.n)d.r=!0,d.p&&(d.p=d.p.n=c),delete b[d.i];a._f=a._l=c,a[q]=0},"delete":function(a){var b=this,c=r(b,a);if(c){var d=c.n,e=c.p;delete b._i[c.i],c.r=!0,e&&(e.n=d),d&&(d.p=e),b._f==c&&(b._f=d),b._l==c&&(b._l=e),b[q]--}return!!c},forEach:function forEach(a){i(this,m,"forEach");for(var b,d=h(a,arguments.length>1?arguments[1]:c,3);b=b?b.n:this._f;)for(d(b.v,b.k,this);b&&b.r;)b=b.p},has:function has(a){return!!r(this,a)}}),o&&e(m.prototype,"size",{get:function(){return j(this[q])}}),m},def:function(a,b,d){var e,f,g=r(a,b);return g?g.v=d:(a._l=g={i:f=p(b,!0),k:b,v:d,p:e=a._l,n:c,r:!1},a._f||(a._f=g),e&&(e.n=g),a[q]++,"F"!==f&&(a._i[f]=g)),a},getEntry:r,setStrong:function(a,b,d){l(a,b,function(a,b){this._t=a,this._k=b,this._l=c},function(){for(var a=this,b=a._k,d=a._l;d&&d.r;)d=d.p;return a._t&&(a._l=d=d?d.n:a._t._f)?"keys"==b?m(0,d.k):"values"==b?m(0,d.v):m(0,[d.k,d.v]):(a._t=c,m(1))},d?"entries":"values",!d,!0),n(b)}}},function(a,b,d){var e=d(2),f=d(6),g=d(19),h=d(5),i=d(10),j=d(189),k=d(185),l=d(184),m=d(13),n=d(22),o=d(11).f,p=d(160)(0),q=d(4);a.exports=function(a,b,d,r,s,t){var u=e[a],v=u,w=s?"set":"add",x=v&&v.prototype,y={};return q&&"function"==typeof v&&(t||x.forEach&&!h(function(){(new v).entries().next()}))?(v=b(function(b,d){l(b,v,a,"_c"),b._c=new u,d!=c&&k(d,s,b[w],b)}),p("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(a){var b="add"==a||"set"==a;a in x&&(!t||"clear"!=a)&&i(v.prototype,a,function(d,e){if(l(this,v,a),!b&&t&&!m(d))return"get"==a&&c;var f=this._c[a](0===d?0:d,e);return b?this:f})}),"size"in x&&o(v.prototype,"size",{get:function(){return this._c.size}})):(v=r.getConstructor(b,a,s,w),j(v.prototype,d),g.NEED=!0),n(v,a),y[a]=v,f(f.G+f.W+f.F,y),t||r.setStrong(v,a,s),v}},function(a,b,d){var e=d(191);a.exports=d(192)("Set",function(a){return function Set(){return a(this,arguments.length>0?arguments[0]:c)}},{add:function add(a){return e.def(this,a=0===a?0:a,a)}},e)},function(a,b,d){var e,f=d(160)(0),g=d(18),h=d(19),i=d(67),j=d(195),k=d(13),l=h.getWeak,m=Object.isExtensible,n=j.ufstore,o={},p=function(a){return function WeakMap(){return a(this,arguments.length>0?arguments[0]:c)}},q={get:function get(a){if(k(a)){var b=l(a);return b===!0?n(this).get(a):b?b[this._i]:c}},set:function set(a,b){return j.def(this,a,b)}},r=a.exports=d(192)("WeakMap",p,q,j,!0,!0);7!=(new r).set((Object.freeze||Object)(o),7).get(o)&&(e=j.getConstructor(p),i(e.prototype,q),h.NEED=!0,f(["delete","has","get","set"],function(a){var b=r.prototype,c=b[a];g(b,a,function(b,d){if(k(b)&&!m(b)){this._f||(this._f=new e);var f=this._f[a](b,d);return"set"==a?this:f}return c.call(this,b,d)})}))},function(a,b,d){var e=d(189),f=d(19).getWeak,g=d(12),h=d(13),i=d(184),j=d(185),k=d(160),l=d(3),m=k(5),n=k(6),o=0,p=function(a){return a._l||(a._l=new q)},q=function(){this.a=[]},r=function(a,b){return m(a.a,function(a){return a[0]===b})};q.prototype={get:function(a){var b=r(this,a);if(b)return b[1]},has:function(a){return!!r(this,a)},set:function(a,b){var c=r(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(a){var b=n(this.a,function(b){return b[0]===a});return~b&&this.a.splice(b,1),!!~b}},a.exports={getConstructor:function(a,b,d,g){var k=a(function(a,e){i(a,k,b,"_i"),a._i=o++,a._l=c,e!=c&&j(e,d,a[g],a)});return e(k.prototype,{"delete":function(a){if(!h(a))return!1;var b=f(a);return b===!0?p(this)["delete"](a):b&&l(b,this._i)&&delete b[this._i]},has:function has(a){if(!h(a))return!1;var b=f(a);return b===!0?p(this).has(a):b&&l(b,this._i)}}),k},def:function(a,b,c){var d=f(g(b),!0);return d===!0?p(a).set(b,c):d[a._i]=c,a},ufstore:p}},function(a,b,d){var e=d(195);d(192)("WeakSet",function(a){return function WeakSet(){return a(this,arguments.length>0?arguments[0]:c)}},{add:function add(a){return e.def(this,a,!0)}},e,!1,!0)},function(a,b,c){var d=c(6),e=c(9),f=c(12),g=(c(2).Reflect||{}).apply,h=Function.apply;d(d.S+d.F*!c(5)(function(){g(function(){})}),"Reflect",{apply:function apply(a,b,c){var d=e(a),i=f(c);return g?g(d,b,i):h.call(d,b,i)}})},function(a,b,c){var d=c(6),e=c(44),f=c(9),g=c(12),h=c(13),i=c(5),j=c(73),k=(c(2).Reflect||{}).construct,l=i(function(){function F(){}return!(k(function(){},[],F)instanceof F)}),m=!i(function(){k(function(){})});d(d.S+d.F*(l||m),"Reflect",{construct:function construct(a,b){f(a),g(b);var c=arguments.length<3?a:f(arguments[2]);if(m&&!l)return k(a,b,c);if(a==c){switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var d=[null];return d.push.apply(d,b),new(j.apply(a,d))}var i=c.prototype,n=e(h(i)?i:Object.prototype),o=Function.apply.call(a,n,b);return h(o)?o:n}})},function(a,b,c){var d=c(11),e=c(6),f=c(12),g=c(16);e(e.S+e.F*c(5)(function(){Reflect.defineProperty(d.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(a,b,c){f(a),b=g(b,!0),f(c);try{return d.f(a,b,c),!0}catch(e){return!1}}})},function(a,b,c){var d=c(6),e=c(49).f,f=c(12);d(d.S,"Reflect",{deleteProperty:function deleteProperty(a,b){var c=e(f(a),b);return!(c&&!c.configurable)&&delete a[b]}})},function(a,b,d){var e=d(6),f=d(12),g=function(a){this._t=f(a),this._i=0;var b,c=this._k=[];for(b in a)c.push(b)};d(131)(g,"Object",function(){var a,b=this,d=b._k;do if(b._i>=d.length)return{value:c,done:!0};while(!((a=d[b._i++])in b._t));return{value:a,done:!1}}),e(e.S,"Reflect",{enumerate:function enumerate(a){return new g(a)}})},function(a,b,d){function get(a,b){var d,h,k=arguments.length<3?a:arguments[2];return j(a)===k?a[b]:(d=e.f(a,b))?g(d,"value")?d.value:d.get!==c?d.get.call(k):c:i(h=f(a))?get(h,b,k):void 0}var e=d(49),f=d(57),g=d(3),h=d(6),i=d(13),j=d(12);h(h.S,"Reflect",{get:get})},function(a,b,c){var d=c(49),e=c(6),f=c(12);e(e.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(a,b){return d.f(f(a),b)}})},function(a,b,c){var d=c(6),e=c(57),f=c(12);d(d.S,"Reflect",{getPrototypeOf:function getPrototypeOf(a){return e(f(a))}})},function(a,b,c){var d=c(6);d(d.S,"Reflect",{has:function has(a,b){return b in a}})},function(a,b,c){var d=c(6),e=c(12),f=Object.isExtensible;d(d.S,"Reflect",{isExtensible:function isExtensible(a){return e(a),!f||f(a)}})},function(a,b,c){var d=c(6);d(d.S,"Reflect",{ownKeys:c(208)})},function(a,b,c){var d=c(48),e=c(41),f=c(12),g=c(2).Reflect;a.exports=g&&g.ownKeys||function ownKeys(a){var b=d.f(f(a)),c=e.f;return c?b.concat(c(a)):b}},function(a,b,c){var d=c(6),e=c(12),f=Object.preventExtensions;d(d.S,"Reflect",{preventExtensions:function preventExtensions(a){e(a);try{return f&&f(a),!0}catch(b){return!1}}})},function(a,b,d){function set(a,b,d){var i,m,n=arguments.length<4?a:arguments[3],o=f.f(k(a),b);if(!o){if(l(m=g(a)))return set(m,b,d,n);o=j(0)}return h(o,"value")?!(o.writable===!1||!l(n))&&(i=f.f(n,b)||j(0),i.value=d,e.f(n,b,i),!0):o.set!==c&&(o.set.call(n,d),!0)}var e=d(11),f=d(49),g=d(57),h=d(3),i=d(6),j=d(17),k=d(12),l=d(13);i(i.S,"Reflect",{set:set})},function(a,b,c){var d=c(6),e=c(71);e&&d(d.S,"Reflect",{setPrototypeOf:function setPrototypeOf(a,b){e.check(a,b);try{return e.set(a,b),!0}catch(c){return!1}}})},function(a,b,c){var d=c(6);d(d.S,"Date",{now:function(){return(new Date).getTime()}})},function(a,b,c){var d=c(6),e=c(56),f=c(16);d(d.P+d.F*c(5)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function toJSON(a){var b=e(this),c=f(b);return"number"!=typeof c||isFinite(c)?b.toISOString():null}})},function(a,b,c){var d=c(6),e=c(5),f=Date.prototype.getTime,g=function(a){return a>9?a:"0"+a};d(d.P+d.F*(e(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!e(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function toISOString(){if(!isFinite(f.call(this)))throw RangeError("Invalid time value");var a=this,b=a.getUTCFullYear(),c=a.getUTCMilliseconds(),d=b<0?"-":b>9999?"+":"";return d+("00000"+Math.abs(b)).slice(d?-6:-4)+"-"+g(a.getUTCMonth()+1)+"-"+g(a.getUTCDate())+"T"+g(a.getUTCHours())+":"+g(a.getUTCMinutes())+":"+g(a.getUTCSeconds())+"."+(c>99?c:"0"+g(c))+"Z"}})},function(a,b,d){var e=d(6),f=d(216),g=d(217),h=d(12),i=d(37),j=d(35),k=d(13),l=d(2).ArrayBuffer,m=d(186),n=g.ArrayBuffer,o=g.DataView,p=f.ABV&&l.isView,q=n.prototype.slice,r=f.VIEW,s="ArrayBuffer";e(e.G+e.W+e.F*(l!==n),{ArrayBuffer:n}),e(e.S+e.F*!f.CONSTR,s,{isView:function isView(a){return p&&p(a)||k(a)&&r in a}}),e(e.P+e.U+e.F*d(5)(function(){return!new n(2).slice(1,c).byteLength}),s,{slice:function slice(a,b){if(q!==c&&b===c)return q.call(h(this),a);for(var d=h(this).byteLength,e=i(a,d),f=i(b===c?d:b,d),g=new(m(this,n))(j(f-e)),k=new o(this),l=new o(g),p=0;e>1,k=23===b?E(2,-24)-E(2,-77):0,l=0,m=a<0||0===a&&1/a<0?1:0;for(a=D(a),a!=a||a===B?(e=a!=a?1:0,d=i):(d=F(G(a)/H),a*(f=E(2,-d))<1&&(d--,f*=2),a+=d+j>=1?k/f:k*E(2,1-j),a*f>=2&&(d++,f/=2),d+j>=i?(e=0,d=i):d+j>=1?(e=(a*f-1)*E(2,b),d+=j):(e=a*E(2,j-1)*E(2,b),d=0));b>=8;g[l++]=255&e,e/=256,b-=8);for(d=d<0;g[l++]=255&d,d/=256,h-=8);return g[--l]|=128*m,g},P=function(a,b,c){var d,e=8*c-b-1,f=(1<>1,h=e-7,i=c-1,j=a[i--],k=127&j;for(j>>=7;h>0;k=256*k+a[i],i--,h-=8);for(d=k&(1<<-h)-1,k>>=-h,h+=b;h>0;d=256*d+a[i],i--,h-=8);if(0===k)k=1-g;else{if(k===f)return d?NaN:j?-B:B;d+=E(2,b),k-=g}return(j?-1:1)*d*E(2,k-b)},Q=function(a){return a[3]<<24|a[2]<<16|a[1]<<8|a[0]},R=function(a){return[255&a]},S=function(a){return[255&a,a>>8&255]},T=function(a){return[255&a,a>>8&255,a>>16&255,a>>24&255]},U=function(a){return O(a,52,8)},V=function(a){return O(a,23,4)},W=function(a,b,c){p(a[u],b,{get:function(){return this[c]}})},X=function(a,b,c,d){var e=+c,f=m(e);if(e!=f||f<0||f+b>a[M])throw A(w);var g=a[L]._b,h=f+a[N],i=g.slice(h,h+b);return d?i:i.reverse()},Y=function(a,b,c,d,e,f){var g=+c,h=m(g);if(g!=h||h<0||h+b>a[M])throw A(w);for(var i=a[L]._b,j=h+a[N],k=d(+e),l=0;lba;)($=aa[ba++])in x||i(x,$,C[$]);g||(_.constructor=x)}var ca=new y(new x(2)),da=y[u].setInt8;ca.setInt8(0,2147483648),ca.setInt8(1,2147483649),!ca.getInt8(0)&&ca.getInt8(1)||j(y[u],{setInt8:function setInt8(a,b){da.call(this,a,b<<24>>24)},setUint8:function setUint8(a,b){da.call(this,a,b<<24>>24)}},!0)}else x=function ArrayBuffer(a){var b=Z(this,a);this._b=q.call(Array(b),0),this[M]=b},y=function DataView(a,b,d){l(this,y,t),l(a,x,t);var e=a[M],f=m(b);if(f<0||f>e)throw A("Wrong offset!");if(d=d===c?e-f:n(d),f+d>e)throw A(v);this[L]=a,this[N]=f,this[M]=d},f&&(W(x,J,"_l"),W(y,I,"_b"),W(y,J,"_l"),W(y,K,"_o")),j(y[u],{getInt8:function getInt8(a){return X(this,1,a)[0]<<24>>24},getUint8:function getUint8(a){return X(this,1,a)[0]},getInt16:function getInt16(a){var b=X(this,2,a,arguments[1]);return(b[1]<<8|b[0])<<16>>16},getUint16:function getUint16(a){var b=X(this,2,a,arguments[1]);return b[1]<<8|b[0]},getInt32:function getInt32(a){return Q(X(this,4,a,arguments[1]))},getUint32:function getUint32(a){return Q(X(this,4,a,arguments[1]))>>>0},getFloat32:function getFloat32(a){return P(X(this,4,a,arguments[1]),23,4)},getFloat64:function getFloat64(a){return P(X(this,8,a,arguments[1]),52,8)},setInt8:function setInt8(a,b){Y(this,1,a,R,b)},setUint8:function setUint8(a,b){Y(this,1,a,R,b)},setInt16:function setInt16(a,b){Y(this,2,a,S,b,arguments[2])},setUint16:function setUint16(a,b){Y(this,2,a,S,b,arguments[2])},setInt32:function setInt32(a,b){Y(this,4,a,T,b,arguments[2])},setUint32:function setUint32(a,b){Y(this,4,a,T,b,arguments[2])},setFloat32:function setFloat32(a,b){Y(this,4,a,V,b,arguments[2])},setFloat64:function setFloat64(a,b){Y(this,8,a,U,b,arguments[2])}});r(x,s),r(y,t),i(y[u],h.VIEW,!0),b[s]=x,b[t]=y},function(a,b,c){var d=c(6);d(d.G+d.W+d.F*!c(216).ABV,{DataView:c(217).DataView})},function(a,b,c){c(220)("Int8",1,function(a){return function Int8Array(b,c,d){return a(this,b,c,d)}})},function(a,b,d){if(d(4)){var e=d(26),f=d(2),g=d(5),h=d(6),i=d(216),j=d(217),k=d(8),l=d(184),m=d(17),n=d(10),o=d(189),p=d(36),q=d(35),r=d(37),s=d(16),t=d(3),u=d(69),v=d(152),w=d(13),x=d(56),y=d(149),z=d(44),A=d(57),B=d(48).f,C=d(151),D=d(20),E=d(23),F=d(160),G=d(34),H=d(186),I=d(179),J=d(130),K=d(153),L=d(182),M=d(176),N=d(173),O=d(11),P=d(49),Q=O.f,R=P.f,S=f.RangeError,T=f.TypeError,U=f.Uint8Array,V="ArrayBuffer",W="Shared"+V,X="BYTES_PER_ELEMENT",Y="prototype",Z=Array[Y],$=j.ArrayBuffer,_=j.DataView,aa=F(0),ba=F(2),ca=F(3),da=F(4),ea=F(5),fa=F(6),ga=G(!0),ha=G(!1),ia=I.values,ja=I.keys,ka=I.entries,la=Z.lastIndexOf,ma=Z.reduce,na=Z.reduceRight,oa=Z.join,pa=Z.sort,qa=Z.slice,ra=Z.toString,sa=Z.toLocaleString,ta=E("iterator"),ua=E("toStringTag"),va=D("typed_constructor"),wa=D("def_constructor"),xa=i.CONSTR,ya=i.TYPED,za=i.VIEW,Aa="Wrong length!",Ba=F(1,function(a,b){return Ha(H(a,a[wa]),b)}),Ca=g(function(){return 1===new U(new Uint16Array([1]).buffer)[0]}),Da=!!U&&!!U[Y].set&&g(function(){new U(1).set({})}),Ea=function(a,b){if(a===c)throw T(Aa);var d=+a,e=q(a);if(b&&!u(d,e))throw S(Aa);return e},Fa=function(a,b){var c=p(a);if(c<0||c%b)throw S("Wrong offset!");return c},Ga=function(a){if(w(a)&&ya in a)return a;throw T(a+" is not a typed array!")},Ha=function(a,b){if(!(w(a)&&va in a))throw T("It is not a typed array constructor!");return new a(b)},Ia=function(a,b){return Ja(H(a,a[wa]),b)},Ja=function(a,b){for(var c=0,d=b.length,e=Ha(a,d);d>c;)e[c]=b[c++];return e},Ka=function(a,b,c){Q(a,b,{get:function(){return this._d[c]}})},La=function from(a){var b,d,e,f,g,h,i=x(a),j=arguments.length,l=j>1?arguments[1]:c,m=l!==c,n=C(i);if(n!=c&&!y(n)){for(h=n.call(i),e=[],b=0;!(g=h.next()).done;b++)e.push(g.value);i=e}for(m&&j>2&&(l=k(l,arguments[2],2)),b=0,d=q(i.length),f=Ha(this,d);d>b;b++)f[b]=m?l(i[b],b):i[b];return f},Ma=function of(){for(var a=0,b=arguments.length,c=Ha(this,b);b>a;)c[a]=arguments[a++];return c},Na=!!U&&g(function(){sa.call(new U(1))}),Oa=function toLocaleString(){return sa.apply(Na?qa.call(Ga(this)):Ga(this),arguments)},Pa={copyWithin:function copyWithin(a,b){return N.call(Ga(this),a,b,arguments.length>2?arguments[2]:c)},every:function every(a){return da(Ga(this),a,arguments.length>1?arguments[1]:c)},fill:function fill(a){return M.apply(Ga(this),arguments)},filter:function filter(a){return Ia(this,ba(Ga(this),a,arguments.length>1?arguments[1]:c))},find:function find(a){return ea(Ga(this),a,arguments.length>1?arguments[1]:c)},findIndex:function findIndex(a){return fa(Ga(this),a,arguments.length>1?arguments[1]:c)},forEach:function forEach(a){aa(Ga(this),a,arguments.length>1?arguments[1]:c)},indexOf:function indexOf(a){return ha(Ga(this),a,arguments.length>1?arguments[1]:c)},includes:function includes(a){return ga(Ga(this),a,arguments.length>1?arguments[1]:c)},join:function join(a){return oa.apply(Ga(this),arguments)},lastIndexOf:function lastIndexOf(a){return la.apply(Ga(this),arguments)},map:function map(a){return Ba(Ga(this),a,arguments.length>1?arguments[1]:c)},reduce:function reduce(a){return ma.apply(Ga(this),arguments)},reduceRight:function reduceRight(a){return na.apply(Ga(this),arguments)},reverse:function reverse(){for(var a,b=this,c=Ga(b).length,d=Math.floor(c/2),e=0;e1?arguments[1]:c)},sort:function sort(a){return pa.call(Ga(this),a)},subarray:function subarray(a,b){var d=Ga(this),e=d.length,f=r(a,e);return new(H(d,d[wa]))(d.buffer,d.byteOffset+f*d.BYTES_PER_ELEMENT,q((b===c?e:r(b,e))-f))}},Qa=function slice(a,b){return Ia(this,qa.call(Ga(this),a,b))},Ra=function set(a){Ga(this);var b=Fa(arguments[1],1),c=this.length,d=x(a),e=q(d.length),f=0;if(e+b>c)throw S(Aa);for(;f255?255:255&d),e.v[p](c*b+e.o,d,Ca)},E=function(a,b){Q(a,b,{get:function(){return C(this,b)},set:function(a){return D(this,b,a)},enumerable:!0})};u?(r=d(function(a,d,e,f){l(a,r,k,"_d");var g,h,i,j,m=0,o=0;if(w(d)){if(!(d instanceof $||(j=v(d))==V||j==W))return ya in d?Ja(r,d):La.call(r,d);g=d,o=Fa(e,b);var p=d.byteLength;if(f===c){if(p%b)throw S(Aa);if(h=p-o,h<0)throw S(Aa)}else if(h=q(f)*b,h+o>p)throw S(Aa);i=h/b}else i=Ea(d,!0),h=i*b,g=new $(h);for(n(a,"_d",{b:g,o:o,l:h,e:i,v:new _(g)});m1?arguments[1]:c)}}),d(174)("includes")},function(a,b,c){var d=c(6),e=c(120)(!0);d(d.P,"String",{at:function at(a){return e(this,a)}})},function(a,b,d){var e=d(6),f=d(232);e(e.P,"String",{padStart:function padStart(a){return f(this,a,arguments.length>1?arguments[1]:c,!0)}})},function(a,b,d){var e=d(35),f=d(78),g=d(33);a.exports=function(a,b,d,h){var i=String(g(a)),j=i.length,k=d===c?" ":String(d),l=e(b);if(l<=j||""==k)return i;var m=l-j,n=f.call(k,Math.ceil(m/k.length));return n.length>m&&(n=n.slice(0,m)),h?n+i:i+n}},function(a,b,d){var e=d(6),f=d(232);e(e.P,"String",{padEnd:function padEnd(a){return f(this,a,arguments.length>1?arguments[1]:c,!1)}})},function(a,b,c){c(90)("trimLeft",function(a){return function trimLeft(){return a(this,1)}},"trimStart")},function(a,b,c){c(90)("trimRight",function(a){return function trimRight(){return a(this,2)}},"trimEnd")},function(a,b,c){var d=c(6),e=c(33),f=c(35),g=c(123),h=c(237),i=RegExp.prototype,j=function(a,b){this._r=a,this._s=b};c(131)(j,"RegExp String",function next(){var a=this._r.exec(this._s);return{value:a,done:null===a}}),d(d.P,"String",{matchAll:function matchAll(a){if(e(this),!g(a))throw TypeError(a+" is not a regexp!");var b=String(this),c="flags"in i?String(a.flags):h.call(a),d=new RegExp(a.source,~c.indexOf("g")?c:"g"+c); -return d.lastIndex=f(a.lastIndex),new j(d,b)}})},function(a,b,c){var d=c(12);a.exports=function(){var a=d(this),b="";return a.global&&(b+="g"),a.ignoreCase&&(b+="i"),a.multiline&&(b+="m"),a.unicode&&(b+="u"),a.sticky&&(b+="y"),b}},function(a,b,c){c(25)("asyncIterator")},function(a,b,c){c(25)("observable")},function(a,b,c){var d=c(6),e=c(208),f=c(30),g=c(49),h=c(150);d(d.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(a){for(var b,c=f(a),d=g.f,i=e(c),j={},k=0;i.length>k;)h(j,b=i[k++],d(c,b));return j}})},function(a,b,c){var d=c(6),e=c(242)(!1);d(d.S,"Object",{values:function values(a){return e(a)}})},function(a,b,c){var d=c(28),e=c(30),f=c(42).f;a.exports=function(a){return function(b){for(var c,g=e(b),h=d(g),i=h.length,j=0,k=[];i>j;)f.call(g,c=h[j++])&&k.push(a?[c,g[c]]:g[c]);return k}}},function(a,b,c){var d=c(6),e=c(242)(!0);d(d.S,"Object",{entries:function entries(a){return e(a)}})},function(a,b,c){var d=c(6),e=c(56),f=c(9),g=c(11);c(4)&&d(d.P+c(245),"Object",{__defineGetter__:function __defineGetter__(a,b){g.f(e(this),a,{get:f(b),enumerable:!0,configurable:!0})}})},function(a,b,c){a.exports=c(26)||!c(5)(function(){var a=Math.random();__defineSetter__.call(null,a,function(){}),delete c(2)[a]})},function(a,b,c){var d=c(6),e=c(56),f=c(9),g=c(11);c(4)&&d(d.P+c(245),"Object",{__defineSetter__:function __defineSetter__(a,b){g.f(e(this),a,{set:f(b),enumerable:!0,configurable:!0})}})},function(a,b,c){var d=c(6),e=c(56),f=c(16),g=c(57),h=c(49).f;c(4)&&d(d.P+c(245),"Object",{__lookupGetter__:function __lookupGetter__(a){var b,c=e(this),d=f(a,!0);do if(b=h(c,d))return b.get;while(c=g(c))}})},function(a,b,c){var d=c(6),e=c(56),f=c(16),g=c(57),h=c(49).f;c(4)&&d(d.P+c(245),"Object",{__lookupSetter__:function __lookupSetter__(a){var b,c=e(this),d=f(a,!0);do if(b=h(c,d))return b.set;while(c=g(c))}})},function(a,b,c){var d=c(6);d(d.P+d.R,"Map",{toJSON:c(250)("Map")})},function(a,b,c){var d=c(152),e=c(251);a.exports=function(a){return function toJSON(){if(d(this)!=a)throw TypeError(a+"#toJSON isn't generic");return e(this)}}},function(a,b,c){var d=c(185);a.exports=function(a,b){var c=[];return d(a,!1,c.push,c,b),c}},function(a,b,c){var d=c(6);d(d.P+d.R,"Set",{toJSON:c(250)("Set")})},function(a,b,c){var d=c(6);d(d.S,"System",{global:c(2)})},function(a,b,c){var d=c(6),e=c(32);d(d.S,"Error",{isError:function isError(a){return"Error"===e(a)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{iaddh:function iaddh(a,b,c,d){var e=a>>>0,f=b>>>0,g=c>>>0;return f+(d>>>0)+((e&g|(e|g)&~(e+g>>>0))>>>31)|0}})},function(a,b,c){var d=c(6);d(d.S,"Math",{isubh:function isubh(a,b,c,d){var e=a>>>0,f=b>>>0,g=c>>>0;return f-(d>>>0)-((~e&g|~(e^g)&e-g>>>0)>>>31)|0}})},function(a,b,c){var d=c(6);d(d.S,"Math",{imulh:function imulh(a,b){var c=65535,d=+a,e=+b,f=d&c,g=e&c,h=d>>16,i=e>>16,j=(h*g>>>0)+(f*g>>>16);return h*i+(j>>16)+((f*i>>>0)+(j&c)>>16)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{umulh:function umulh(a,b){var c=65535,d=+a,e=+b,f=d&c,g=e&c,h=d>>>16,i=e>>>16,j=(h*g>>>0)+(f*g>>>16);return h*i+(j>>>16)+((f*i>>>0)+(j&c)>>>16)}})},function(a,b,c){var d=c(260),e=c(12),f=d.key,g=d.set;d.exp({defineMetadata:function defineMetadata(a,b,c,d){g(a,b,e(c),f(d))}})},function(a,b,d){var e=d(190),f=d(6),g=d(21)("metadata"),h=g.store||(g.store=new(d(194))),i=function(a,b,d){var f=h.get(a);if(!f){if(!d)return c;h.set(a,f=new e)}var g=f.get(b);if(!g){if(!d)return c;f.set(b,g=new e)}return g},j=function(a,b,d){var e=i(b,d,!1);return e!==c&&e.has(a)},k=function(a,b,d){var e=i(b,d,!1);return e===c?c:e.get(a)},l=function(a,b,c,d){i(c,d,!0).set(a,b)},m=function(a,b){var c=i(a,b,!1),d=[];return c&&c.forEach(function(a,b){d.push(b)}),d},n=function(a){return a===c||"symbol"==typeof a?a:String(a)},o=function(a){f(f.S,"Reflect",a)};a.exports={store:h,map:i,has:j,get:k,set:l,keys:m,key:n,exp:o}},function(a,b,d){var e=d(260),f=d(12),g=e.key,h=e.map,i=e.store;e.exp({deleteMetadata:function deleteMetadata(a,b){var d=arguments.length<3?c:g(arguments[2]),e=h(f(b),d,!1);if(e===c||!e["delete"](a))return!1;if(e.size)return!0;var j=i.get(b);return j["delete"](d),!!j.size||i["delete"](b)}})},function(a,b,d){var e=d(260),f=d(12),g=d(57),h=e.has,i=e.get,j=e.key,k=function(a,b,d){var e=h(a,b,d);if(e)return i(a,b,d);var f=g(b);return null!==f?k(a,f,d):c};e.exp({getMetadata:function getMetadata(a,b){return k(a,f(b),arguments.length<3?c:j(arguments[2]))}})},function(a,b,d){var e=d(193),f=d(251),g=d(260),h=d(12),i=d(57),j=g.keys,k=g.key,l=function(a,b){var c=j(a,b),d=i(a);if(null===d)return c;var g=l(d,b);return g.length?c.length?f(new e(c.concat(g))):g:c};g.exp({getMetadataKeys:function getMetadataKeys(a){return l(h(a),arguments.length<2?c:k(arguments[1]))}})},function(a,b,d){var e=d(260),f=d(12),g=e.get,h=e.key;e.exp({getOwnMetadata:function getOwnMetadata(a,b){return g(a,f(b),arguments.length<3?c:h(arguments[2]))}})},function(a,b,d){var e=d(260),f=d(12),g=e.keys,h=e.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(a){return g(f(a),arguments.length<2?c:h(arguments[1]))}})},function(a,b,d){var e=d(260),f=d(12),g=d(57),h=e.has,i=e.key,j=function(a,b,c){var d=h(a,b,c);if(d)return!0;var e=g(b);return null!==e&&j(a,e,c)};e.exp({hasMetadata:function hasMetadata(a,b){return j(a,f(b),arguments.length<3?c:i(arguments[2]))}})},function(a,b,d){var e=d(260),f=d(12),g=e.has,h=e.key;e.exp({hasOwnMetadata:function hasOwnMetadata(a,b){return g(a,f(b),arguments.length<3?c:h(arguments[2]))}})},function(a,b,d){var e=d(260),f=d(12),g=d(9),h=e.key,i=e.set;e.exp({metadata:function metadata(a,b){return function decorator(d,e){i(a,b,(e!==c?f:g)(d),h(e))}}})},function(a,b,c){var d=c(6),e=c(188)(),f=c(2).process,g="process"==c(32)(f);d(d.G,{asap:function asap(a){var b=g&&f.domain;e(b?b.bind(a):a)}})},function(a,b,d){var e=d(6),f=d(2),g=d(7),h=d(188)(),i=d(23)("observable"),j=d(9),k=d(12),l=d(184),m=d(189),n=d(10),o=d(185),p=o.RETURN,q=function(a){return null==a?c:j(a)},r=function(a){var b=a._c;b&&(a._c=c,b())},s=function(a){return a._o===c},t=function(a){s(a)||(a._o=c,r(a))},u=function(a,b){k(a),this._c=c,this._o=a,a=new v(this);try{var d=b(a),e=d;null!=d&&("function"==typeof d.unsubscribe?d=function(){e.unsubscribe()}:j(d),this._c=d)}catch(f){return void a.error(f)}s(this)&&r(this)};u.prototype=m({},{unsubscribe:function unsubscribe(){t(this)}});var v=function(a){this._s=a};v.prototype=m({},{next:function next(a){var b=this._s;if(!s(b)){var c=b._o;try{var d=q(c.next);if(d)return d.call(c,a)}catch(e){try{t(b)}finally{throw e}}}},error:function error(a){var b=this._s;if(s(b))throw a;var d=b._o;b._o=c;try{var e=q(d.error);if(!e)throw a;a=e.call(d,a)}catch(f){try{r(b)}finally{throw f}}return r(b),a},complete:function complete(a){var b=this._s;if(!s(b)){var d=b._o;b._o=c;try{var e=q(d.complete);a=e?e.call(d,a):c}catch(f){try{r(b)}finally{throw f}}return r(b),a}}});var w=function Observable(a){l(this,w,"Observable","_f")._f=j(a)};m(w.prototype,{subscribe:function subscribe(a){return new u(a,this._f)},forEach:function forEach(a){var b=this;return new(g.Promise||f.Promise)(function(c,d){j(a);var e=b.subscribe({next:function(b){try{return a(b)}catch(c){d(c),e.unsubscribe()}},error:d,complete:c})})}}),m(w,{from:function from(a){var b="function"==typeof this?this:w,c=q(k(a)[i]);if(c){var d=k(c.call(a));return d.constructor===b?d:new b(function(a){return d.subscribe(a)})}return new b(function(b){var c=!1;return h(function(){if(!c){try{if(o(a,!1,function(a){if(b.next(a),c)return p})===p)return}catch(d){if(c)throw d;return void b.error(d)}b.complete()}}),function(){c=!0}})},of:function of(){for(var a=0,b=arguments.length,c=Array(b);ag;)(c[g]=arguments[g++])===h&&(i=!0);return function(){var d,f=this,g=arguments.length,j=0,k=0;if(!i&&!g)return e(a,c,f);if(d=c.slice(),i)for(;b>j;j++)d[j]===h&&(d[j]=arguments[k++]);for(;g>k;)d.push(arguments[k++]);return e(a,d,f)}}},function(a,b,c){a.exports=c(7)},function(a,b,d){function Dict(a){var b=i(null);return a!=c&&(p(a)?o(a,!0,function(a,c){b[a]=c}):h(b,a)),b}function reduce(a,b,c){n(b);var d,e,f=t(a),g=k(f),h=g.length,i=0;if(arguments.length<3){if(!h)throw TypeError("Reduce of empty object with no initial value");d=f[g[i++]]}else d=Object(c);for(;h>i;)v(f,e=g[i++])&&(d=b(d,f[e],e,a));return d}function includes(a,b){return(b==b?m(a,b):x(a,function(a){return a!=a}))!==c}function get(a,b){if(v(a,b))return a[b]}function set(a,b,c){return u&&b in Object?l.f(a,b,g(0,c)):a[b]=c,a}function isDict(a){return s(a)&&j(a)===Dict.prototype}var e=d(8),f=d(6),g=d(17),h=d(67),i=d(44),j=d(57),k=d(28),l=d(11),m=d(27),n=d(9),o=d(185),p=d(277),q=d(131),r=d(180),s=d(13),t=d(30),u=d(4),v=d(3),w=function(a){var b=1==a,d=4==a;return function(f,g,h){var i,j,k,l=e(g,h,3),m=t(f),n=b||7==a||2==a?new("function"==typeof this?this:Dict):c;for(i in m)if(v(m,i)&&(j=m[i],k=l(j,i,f),a))if(b)n[i]=k;else if(k)switch(a){case 2:n[i]=j;break;case 3:return!0;case 5:return j;case 6:return i;case 7:n[k[0]]=k[1]}else if(d)return!1;return 3==a||d?d:n}},x=w(6),y=function(a){return function(b){return new z(b,a)}},z=function(a,b){this._t=t(a),this._a=k(a),this._i=0,this._k=b};q(z,"Dict",function(){var a,b=this,d=b._t,e=b._a,f=b._k;do if(b._i>=e.length)return b._t=c,r(1);while(!v(d,a=e[b._i++]));return"keys"==f?r(0,a):"values"==f?r(0,d[a]):r(0,[a,d[a]])}),Dict.prototype=null,f(f.G+f.F,{Dict:Dict}),f(f.S,"Dict",{keys:y("keys"),values:y("values"),entries:y("entries"),forEach:w(0),map:w(1),filter:w(2),some:w(3),every:w(4),find:w(5),findKey:x,mapPairs:w(7),reduce:reduce,keyOf:m,includes:includes,has:v,get:get,set:set,isDict:isDict})},function(a,b,d){var e=d(152),f=d(23)("iterator"),g=d(130);a.exports=d(7).isIterable=function(a){var b=Object(a);return b[f]!==c||"@@iterator"in b||g.hasOwnProperty(e(b))}},function(a,b,c){var d=c(12),e=c(151);a.exports=c(7).getIterator=function(a){var b=e(a);if("function"!=typeof b)throw TypeError(a+" is not iterable!");return d(b.call(a))}},function(a,b,c){var d=c(2),e=c(7),f=c(6),g=c(274);f(f.G+f.F,{delay:function delay(a){return new(e.Promise||d.Promise)(function(b){setTimeout(g.call(b,!0),a)})}})},function(a,b,c){var d=c(275),e=c(6);c(7)._=d._=d._||{},e(e.P+e.F,"Function",{part:c(274)})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{isObject:c(13)})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{classof:c(152)})},function(a,b,c){var d=c(6),e=c(284);d(d.S+d.F,"Object",{define:e})},function(a,b,c){var d=c(11),e=c(49),f=c(208),g=c(30);a.exports=function define(a,b){for(var c,h=f(g(b)),i=h.length,j=0;i>j;)d.f(a,c=h[j++],e.f(b,c));return a}},function(a,b,c){var d=c(6),e=c(284),f=c(44);d(d.S+d.F,"Object",{make:function(a,b){return e(f(a),b)}})},function(a,b,d){d(129)(Number,"Number",function(a){this._l=+a,this._i=0},function(){var a=this._i++,b=!(a"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});d(d.P+d.F,"String",{escapeHTML:function escapeHTML(){return e(this)}})},function(a,b,c){var d=c(6),e=c(288)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});d(d.P+d.F,"String",{unescapeHTML:function unescapeHTML(){return e(this)}})}]),"undefined"!=typeof module&&module.exports?module.exports=a:"function"==typeof define&&define.amd?define(function(){return a}):b.core=a}(1,1); +!function(e,i,Jt){"use strict";!function(r){var e={};function __webpack_require__(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return r[t].call(n.exports,n,n.exports,__webpack_require__),n.l=!0,n.exports}__webpack_require__.m=r,__webpack_require__.c=e,__webpack_require__.d=function(t,n,r){__webpack_require__.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(t){var n=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=126)}([function(t,n,r){var y=r(2),g=r(12),d=r(16),_=r(17),b=r(15),S="prototype",m=function(t,n,r){var e,i,o,u=t&m.F,c=t&m.G,f=t&m.S,a=t&m.P,s=t&m.B,l=t&m.W,h=c?g:g[n]||(g[n]={}),p=h[S],v=c?y:f?y[n]:(y[n]||{})[S];for(e in c&&(r=n),r)(i=!u&&v&&v[e]!==Jt)&&b(h,e)||(o=i?v[e]:r[e],h[e]=c&&"function"!=typeof v[e]?r[e]:s&&i?d(o,y):l&&v[e]==o?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t[S]=e[S],t}(o):a&&"function"==typeof o?d(Function.call,o):o,a&&((h.virtual||(h.virtual={}))[e]=o,t&m.R&&p&&!p[e]&&_(p,e,o)))};m.F=1,m.G=2,m.S=4,m.P=8,m.B=16,m.W=32,m.U=64,m.R=128,t.exports=m},function(t,n,r){var e=r(3);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof i&&(i=r)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n,r){var e=r(49)("wks"),i=r(40),o=r(2).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){var e=r(22),i=Math.min;t.exports=function(t){return 0"+i+""};t.exports=function(n,t){var r={};r[n]=t(o),e(e.P+e.F*i(function(){var t=""[n]('"');return t!==t.toLowerCase()||3document.F=Object<\/script>"),t.close(),s=t.F;r--;)delete s[a][u[r]];return s()};t.exports=Object.create||function create(t,n){var r;return null!==t?(f[a]=i(t),r=new f,f[a]=null,r[c]=t):r=s(),n===Jt?r:o(r,n)}},function(t,n){t.exports=function(){}},function(t,n,r){var h=r(16),p=r(104),v=r(77),y=r(1),g=r(6),d=r(48),_={},b={};(n=t.exports=function(t,n,r,e,i){var o,u,c,f,a=i?function(){return t}:d(t),s=h(r,e,n?2:1),l=0;if("function"!=typeof a)throw TypeError(t+" is not iterable!");if(v(a)){for(o=g(t.length);l>>=1)&&(n+=n))1&e&&(r+=n);return r}},function(t,n){t.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(t,n){t.exports=Math.sign||function sign(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||22025.465794806718>1,s=23===n?I(2,-24)-I(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=F(t))!=t||t===M?(i=t!=t?1:0,e=f):(e=k(A(t)/j),t*(o=I(2,-e))<1&&(e--,o*=2),2<=(t+=1<=e+a?s/o:s*I(2,1-a))*o&&(e++,o/=2),f<=e+a?(i=0,e=f):1<=e+a?(i=(t*o-1)*I(2,n),e+=a):(i=t*I(2,a-1)*I(2,n),e=0));8<=n;u[l++]=255&i,i/=256,n-=8);for(e=e<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;0>=-c,c+=n;0>8&255]}function packI32(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){y(t[S],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i=p(+r);if(t[D]>24)},setUint8:function setUint8(t,n){B.call(this,t,n<<24>>24)}},!0)}else w=function ArrayBuffer(t){s(this,w,_);var n=p(t);this._b=g.call(new Array(n),0),this[D]=n},x=function DataView(t,n,r){s(this,x,b),s(t,w,b);var e=t[D],i=l(n);if(i<0||e>24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n=get(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function getUint16(t){var n=get(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});d(w,_),d(x,b),c(x[S],u.VIEW,!0),n[_]=w,n[b]=x},function(t,n){t.exports=function(n,r){var e=r===Object(r)?function(t){return r[t]}:r;return function(t){return String(t).replace(n,e)}}},function(t,n,r){t.exports=!r(8)&&!r(4)(function(){return 7!=Object.defineProperty(r(62)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){n.f=r(5)},function(t,n,r){var u=r(15),c=r(11),f=r(50)(!1),a=r(65)("IE_PROTO");t.exports=function(t,n){var r,e=c(t),i=0,o=[];for(r in e)r!=a&&u(e,r)&&o.push(r);for(;i>>0||(u.test(r)?16:10))}:e},function(t,n){t.exports=Math.log1p||function log1p(t){return-1e-8<(t=+t)&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){var o=r(72),e=Math.pow,u=e(2,-52),c=e(2,-23),f=e(2,127)*(2-c),a=e(2,-126);t.exports=Math.fround||function fround(t){var n,r,e=Math.abs(t),i=o(t);return e>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(0),i=Math.exp;e(e.S,"Math",{cosh:function cosh(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(0),i=r(73);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(0);e(e.S,"Math",{fround:r(102)})},function(t,n,r){var e=r(0),f=Math.abs;e(e.S,"Math",{hypot:function hypot(t,n){for(var r,e,i=0,o=0,u=arguments.length,c=0;o>>16)*u+o*(r&i>>>16)<<16>>>0)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log1p:r(101)})},function(t,n,r){var e=r(0);e(e.S,"Math",{log2:function log2(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(0);e(e.S,"Math",{sign:r(72)})},function(t,n,r){var e=r(0),i=r(73),o=Math.exp;e(e.S+e.F*r(4)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(0),i=r(73),o=Math.exp;e(e.S,"Math",{tanh:function tanh(t){var n=i(t=+t),r=i(-t);return n==Infinity?1:r==Infinity?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(0);e(e.S,"Math",{trunc:function trunc(t){return(0>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(0),u=r(11),c=r(6);e(e.S,"String",{raw:function raw(t){for(var n=u(t.raw),r=c(n.length),e=arguments.length,i=[],o=0;o>>0,o=r>>>0;return(n>>>0)+(e>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{isubh:function isubh(t,n,r,e){var i=t>>>0,o=r>>>0;return(n>>>0)-(e>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{imulh:function imulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>16,c=e>>16,f=(u*o>>>0)+(i*o>>>16);return u*c+(f>>16)+((i*c>>>0)+(65535&f)>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,n,r){var e=r(0),i=Math.PI/180;e(e.S,"Math",{radians:function radians(t){return t*i}})},function(t,n,r){var e=r(0);e(e.S,"Math",{scale:r(121)})},function(t,n,r){var e=r(0);e(e.S,"Math",{umulh:function umulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>>16,c=e>>>16,f=(u*o>>>0)+(i*o>>>16);return u*c+(f>>>16)+((i*c>>>0)+(65535&f)>>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{signbit:function signbit(t){return(t=+t)!=t?t:0==t?1/t==Infinity:0"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});e(e.P+e.F,"String",{escapeHTML:function escapeHTML(){return i(this)}})},function(t,n,r){var e=r(0),i=r(89)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});e(e.P+e.F,"String",{unescapeHTML:function unescapeHTML(){return i(this)}})}]),"undefined"!=typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd?define(function(){return e}):i.core=e}(1,1); //# sourceMappingURL=library.min.js.map \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/library.min.js.map b/build/js-transpiled/node_modules/core-js/client/library.min.js.map index d62fab82..eda6ec32 100644 --- a/build/js-transpiled/node_modules/core-js/client/library.min.js.map +++ b/build/js-transpiled/node_modules/core-js/client/library.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["library.js"],"names":["__e","__g","undefined","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","global","has","DESCRIPTORS","$export","redefine","META","KEY","$fails","shared","setToStringTag","uid","wks","wksExt","wksDefine","keyOf","enumKeys","isArray","anObject","toIObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$DP","$keys","gOPD","f","dP","gOPN","$Symbol","Symbol","$JSON","JSON","_stringify","stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","Object","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","get","this","value","a","it","key","D","protoDesc","wrap","tag","sym","_k","isSymbol","iterator","$defineProperty","defineProperty","enumerable","$defineProperties","defineProperties","P","keys","i","l","length","$create","create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","$getOwnPropertyNames","getOwnPropertyNames","names","result","push","$getOwnPropertySymbols","getOwnPropertySymbols","IS_OP","TypeError","arguments","$set","configurable","set","toString","name","G","W","F","symbols","split","store","S","for","keyFor","useSetter","useSimple","replacer","$replacer","args","apply","valueOf","Math","window","self","Function","hasOwnProperty","exec","e","core","ctx","hide","type","source","own","out","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","B","IS_WRAP","expProto","target","C","b","virtual","R","U","version","aFunction","fn","that","object","IE8_DOM_DEFINE","O","Attributes","isObject","document","is","createElement","val","bitmap","writable","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","px","random","concat","SHARED","def","TAG","stat","prototype","USE_SYMBOL","$exports","LIBRARY","charAt","getKeys","el","index","enumBugKeys","arrayIndexOf","IE_PROTO","IObject","defined","cof","slice","toLength","toIndex","IS_INCLUDES","$this","fromIndex","toInteger","min","ceil","floor","isNaN","max","gOPS","pIE","getSymbols","Array","arg","dPs","Empty","createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","documentElement","windowNames","getWindowNames","hiddenKeys","fails","exp","toObject","$getPrototypeOf","getPrototypeOf","constructor","$freeze","freeze","$seal","seal","$preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","assign","$assign","A","K","forEach","k","join","T","aLen","j","x","y","setPrototypeOf","check","proto","test","buggy","__proto__","bind","invoke","arraySlice","factories","construct","len","n","partArgs","bound","un","HAS_INSTANCE","FunctionProto","aNumberValue","repeat","$toFixed","toFixed","data","ERROR","ZERO","multiply","c2","divide","numToString","s","t","String","pow","acc","log","x2","fractionDigits","z","RangeError","msg","count","str","res","Infinity","$toPrecision","toPrecision","precision","EPSILON","_isFinite","isFinite","isInteger","number","abs","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","$parseFloat","Number","parseFloat","$trim","trim","string","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","TYPE","replace","$parseInt","parseInt","ws","hex","radix","log1p","sqrt","$acosh","acosh","MAX_VALUE","NaN","LN2","asinh","$asinh","$atanh","atanh","sign","cbrt","clz32","LOG2E","cosh","$expm1","expm1","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LN10","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","code","raw","callSite","tpl","$at","codePointAt","pos","TO_STRING","charCodeAt","context","ENDS_WITH","$endsWith","endsWith","searchString","endPosition","end","search","isRegExp","NAME","MATCH","re","INCLUDES","includes","indexOf","STARTS_WITH","$startsWith","startsWith","iterated","_t","_i","point","done","Iterators","$iterCreate","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","values","entries","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","descriptor","createHTML","anchor","quot","attribute","p1","toLowerCase","big","blink","bold","fixed","fontcolor","color","fontsize","size","italics","link","url","small","strike","sub","sup","isArrayIter","createProperty","getIterFn","iter","from","arrayLike","step","mapfn","mapping","iterFn","ret","ArrayProto","classof","getIteratorMethod","ARG","tryGet","callee","SAFE_CLOSING","riter","skipClosing","safe","arr","of","arrayJoin","separator","method","html","begin","klass","start","upTo","cloned","$sort","sort","comparefn","$forEach","STRICT","callbackfn","asc","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","speciesConstructor","original","SPECIES","$map","map","$filter","filter","$some","some","$every","every","$reduce","reduce","memo","isRight","reduceRight","$indexOf","NEGATIVE_ZERO","searchElement","lastIndexOf","copyWithin","to","inc","fill","endPos","$find","forced","find","findIndex","addToUnscopables","Arguments","Internal","GenericPromiseCapability","Wrapper","anInstance","forOf","task","microtask","PROMISE","process","$Promise","isNode","empty","promise","resolve","FakePromise","PromiseRejectionEvent","then","sameConstructor","isThenable","newPromiseCapability","PromiseCapability","reject","$$resolve","$$reject","perform","error","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","abrupt","console","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","Promise","executor","err","onFulfilled","onRejected","catch","r","capability","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","defer","channel","port","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","counter","queue","ONREADYSTATECHANGE","listener","event","nextTick","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","clear","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","toggle","node","createTextNode","observe","characterData","strong","Map","entry","getEntry","v","redefineAll","$iterDefine","setSpecies","SIZE","_f","getConstructor","ADDER","_l","delete","prev","setStrong","each","common","IS_WEAK","IS_ADDER","Set","add","InternalMap","weak","uncaughtFrozenStore","ufstore","tmp","WeakMap","$WeakMap","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","splice","WeakSet","rApply","Reflect","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","instance","propertyKey","attributes","deleteProperty","desc","Enumerate","enumerate","receiver","getProto","ownKeys","V","existingDescriptor","ownDesc","setProto","now","Date","getTime","toJSON","toISOString","pv","lz","num","d","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","$typed","buffer","ArrayBuffer","$ArrayBuffer","$DataView","DataView","$isView","ABV","isView","$slice","VIEW","ARRAY_BUFFER","CONSTR","byteLength","first","final","viewS","viewT","setUint8","getUint8","Typed","TYPED","TypedArrayConstructors","arrayFill","DATA_VIEW","WRONG_LENGTH","WRONG_INDEX","BaseBuffer","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","addGetter","internal","view","isLittleEndian","numIndex","intIndex","_b","pack","reverse","conversion","validateArrayBufferArguments","numberLength","ArrayBufferProto","$setInt8","setInt8","getInt8","byteOffset","bufferLength","offset","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","init","Int8Array","$buffer","propertyDesc","same","createArrayIncludes","ArrayIterators","$iterDetect","arrayCopyWithin","Uint8Array","SHARED_BUFFER","BYTES_PER_ELEMENT","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","TYPED_ARRAY","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","strictToLength","SAME","toOffset","BYTES","validate","speciesFromList","list","fromList","$from","$of","TO_LOCALE_BUG","$toLocaleString","predicate","middle","subarray","$begin","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","ISNT_UINT8","GETTER","SETTER","TypedArray","TAC","TypedArrayPrototype","getter","o","round","addElement","$offset","$length","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","Uint8ClampedArray","Int16Array","Int32Array","Uint32Array","Float32Array","Float64Array","$includes","at","$pad","padStart","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","padEnd","trimLeft","trimRight","getFlags","RegExpProto","$RegExpStringIterator","regexp","_r","match","matchAll","flags","rx","lastIndex","ignoreCase","multiline","unicode","sticky","getOwnPropertyDescriptors","getDesc","$values","isEntries","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","isError","iaddh","x0","x1","y0","y1","$x0","$x1","$y0","isubh","imulh","u","$u","$v","u0","v0","u1","v1","umulh","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","targetKey","getOrCreateMetadataMap","targetMetadata","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","_","deleteMetadata","ordinaryGetMetadata","hasOwn","getMetadata","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","decorator","asap","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","Observable","subscribe","observable","items","$task","TO_STRING_TAG","collections","Collection","partial","navigator","MSIE","userAgent","time","setInterval","path","pargs","holder","Dict","dict","isIterable","findKey","isDict","createDictMethod","createDictIter","DictIterator","mapPairs","getIterator","delay","part","define","mixin","make","$re","escape","regExp","&","<",">","\"","'","escapeHTML","&","<",">",""","'","unescapeHTML","amd"],"mappings":";;;;;;CAMC,SAASA,EAAKC,EAAKC,GACpB,cACS,SAAUC,GAKT,QAASC,qBAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUE,OAGnC,IAAIC,GAASF,EAAiBD,IAC7BE,WACAE,GAAIJ,EACJK,QAAQ,EAUT,OANAP,GAAQE,GAAUM,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAASH,qBAG/DI,EAAOE,QAAS,EAGTF,EAAOD,QAvBf,GAAID,KAqCJ,OATAF,qBAAoBQ,EAAIT,EAGxBC,oBAAoBS,EAAIP,EAGxBF,oBAAoBU,EAAI,GAGjBV,oBAAoB,KAK/B,SAASI,EAAQD,EAASH,GAE/BA,EAAoB,GACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,K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","file":"library.min.js"} \ No newline at end of file +{"version":3,"sources":["library.js"],"names":["__e","__g","undefined","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","global","core","ctx","hide","has","PROTOTYPE","$export","type","source","key","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","C","a","b","this","arguments","length","apply","Function","virtual","R","U","isObject","it","TypeError","window","Math","self","exec","e","store","uid","Symbol","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","value","defined","IObject","version","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","aFunction","fn","that","createDesc","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","callbackfn","val","res","index","result","push","toString","slice","ceil","floor","isNaN","KEY","exp","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ARRAY_BUFFER","SHARED_BUFFER","BYTES_PER_ELEMENT","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","join","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","WRONG_LENGTH","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","speciesFromList","list","fromList","addGetter","internal","_d","$from","from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","TypedArrayPrototype","addElement","data","v","round","ABV","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","valueOf","bitmap","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","$keys","enumBugKeys","dPs","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","BREAK","RETURN","iterable","max","cof","ARG","T","tryGet","callee","Constructor","forbiddenField","safe","px","random","def","stat","DESCRIPTORS","SPECIES","_t","propertyIsEnumerable","hiddenKeys","getOwnPropertyNames","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","getIteratorMethod","SHARED","mode","copyright","IS_INCLUDES","el","fromIndex","getOwnPropertySymbols","isArray","redefine","$iterCreate","setToStringTag","BUGGY","VALUES","returnThis","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","descriptor","D","navigator","userAgent","forOf","each","common","IS_WEAK","ADDER","_c","IS_ADDER","size","getConstructor","setStrong","Typed","TypedArrayConstructors","K","__defineSetter__","COLLECTION","A","cb","mapFn","nextItem","is","createElement","wksExt","$Symbol","charAt","documentElement","getKeys","gOPS","$assign","assign","k","getSymbols","isEnum","j","args","un","repeat","count","str","Infinity","sign","x","$expm1","expm1","TO_STRING","pos","charCodeAt","isRegExp","searchString","MATCH","re","$defineProperty","SAFE_CLOSING","riter","skipClosing","arr","original","endPos","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","clear","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","resolve","promise","then","toggle","node","createTextNode","observe","characterData","task","PromiseCapability","reject","$$resolve","$$reject","Reflect","ownKeys","DATA_VIEW","WRONG_INDEX","BaseBuffer","abs","pow","log","LN2","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","pack","_b","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","regExp","replacer","part","names","defineProperties","windowNames","getWindowNames","check","setPrototypeOf","buggy","__proto__","factories","bind","partArgs","bound","construct","msg","isInteger","isFinite","$parseFloat","parseFloat","$trim","$parseInt","parseInt","ws","hex","radix","log1p","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","ret","memo","isRight","to","inc","newPromiseCapability","promiseCapability","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","r","delete","prev","Set","add","InternalMap","weak","WEAK_MAP","uncaughtFrozenStore","ufstore","tmp","WeakMap","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","getTime","Date","$toISOString","toISOString","lz","num","y","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","number","IS_CONCAT_SPREADABLE","flattenIntoArray","sourceLen","depth","mapper","thisArg","element","spreadable","targetIndex","sourceIndex","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","isEntries","toJSON","scale","inLow","inHigh","outLow","outHigh","isIterable","path","pargs","holder","define","mixin","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","$replacer","symbols","$getPrototypeOf","$freeze","$seal","seal","$preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","HAS_INSTANCE","FunctionProto","aNumberValue","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","t","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","code","raw","callSite","tpl","$at","codePointAt","context","ENDS_WITH","$endsWith","endsWith","endPosition","search","INCLUDES","STARTS_WITH","$startsWith","startsWith","point","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","forced","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","WEAK_SET","WeakSet","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","instance","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","pv","$isView","isView","first","fin","viewS","viewT","init","Int8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint32Array","Float32Array","Float64Array","$includes","arraySpeciesCreate","flatMap","flatten","depthArg","at","$pad","padStart","padEnd","trimLeft","trimRight","getFlags","RegExpProto","$RegExpStringIterator","regexp","_r","match","matchAll","flags","rx","lastIndex","ignoreCase","multiline","unicode","sticky","getOwnPropertyDescriptors","getDesc","$values","__defineGetter__","__lookupGetter__","__lookupSetter__","isError","clamp","lower","upper","DEG_PER_RAD","PI","RAD_PER_DEG","degrees","radians","fscale","iaddh","x0","x1","y0","y1","$x0","$y0","isubh","imulh","u","$u","$v","u0","v0","u1","v1","umulh","signbit","finally","onFinally","isFunction","try","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","decorator","asap","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","Observable","subscribe","observable","items","$task","TO_STRING_TAG","DOMIterables","Collection","MSIE","time","boundArgs","setInterval","keyOf","createDictMethod","Dict","findKey","createDictIter","DictIterator","dict","mapPairs","isDict","getIterator","partial","delay","make","$re","escape","&","<",">","\"","'","escapeHTML","&","<",">",""","'","unescapeHTML","amd"],"mappings":"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AAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,IACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB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","file":"library.min.js"} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/shim.js b/build/js-transpiled/node_modules/core-js/client/shim.js index 2947f937..0fd6a20e 100644 --- a/build/js-transpiled/node_modules/core-js/client/shim.js +++ b/build/js-transpiled/node_modules/core-js/client/shim.js @@ -1,7258 +1,8213 @@ /** - * core-js 2.4.1 + * core-js 2.5.7 * https://github.com/zloirock/core-js * License: http://rock.mit-license.org - * © 2016 Denis Pushkarev + * © 2018 Denis Pushkarev */ !function(__e, __g, undefined){ 'use strict'; /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; - +/******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { - +/******/ /******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) +/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; - +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} /******/ }; - +/******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - +/******/ /******/ // Flag the module as loaded -/******/ module.loaded = true; - +/******/ module.l = true; +/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } - - +/******/ +/******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; - +/******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; - +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; - +/******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __webpack_require__(__webpack_require__.s = 124); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(1); - __webpack_require__(50); - __webpack_require__(51); - __webpack_require__(52); - __webpack_require__(54); - __webpack_require__(55); - __webpack_require__(58); - __webpack_require__(59); - __webpack_require__(60); - __webpack_require__(61); - __webpack_require__(62); - __webpack_require__(63); - __webpack_require__(64); - __webpack_require__(65); - __webpack_require__(66); - __webpack_require__(68); - __webpack_require__(70); - __webpack_require__(72); - __webpack_require__(74); - __webpack_require__(77); - __webpack_require__(78); - __webpack_require__(79); - __webpack_require__(83); - __webpack_require__(86); - __webpack_require__(87); - __webpack_require__(88); - __webpack_require__(89); - __webpack_require__(91); - __webpack_require__(92); - __webpack_require__(93); - __webpack_require__(94); - __webpack_require__(95); - __webpack_require__(97); - __webpack_require__(99); - __webpack_require__(100); - __webpack_require__(101); - __webpack_require__(103); - __webpack_require__(104); - __webpack_require__(105); - __webpack_require__(107); - __webpack_require__(108); - __webpack_require__(109); - __webpack_require__(111); - __webpack_require__(112); - __webpack_require__(113); - __webpack_require__(114); - __webpack_require__(115); - __webpack_require__(116); - __webpack_require__(117); - __webpack_require__(118); - __webpack_require__(119); - __webpack_require__(120); - __webpack_require__(121); - __webpack_require__(122); - __webpack_require__(123); - __webpack_require__(124); - __webpack_require__(126); - __webpack_require__(130); - __webpack_require__(131); - __webpack_require__(132); - __webpack_require__(133); - __webpack_require__(137); - __webpack_require__(139); - __webpack_require__(140); - __webpack_require__(141); - __webpack_require__(142); - __webpack_require__(143); - __webpack_require__(144); - __webpack_require__(145); - __webpack_require__(146); - __webpack_require__(147); - __webpack_require__(148); - __webpack_require__(149); - __webpack_require__(150); - __webpack_require__(151); - __webpack_require__(152); - __webpack_require__(158); - __webpack_require__(159); - __webpack_require__(161); - __webpack_require__(162); - __webpack_require__(163); - __webpack_require__(167); - __webpack_require__(168); - __webpack_require__(169); - __webpack_require__(170); - __webpack_require__(171); - __webpack_require__(173); - __webpack_require__(174); - __webpack_require__(175); - __webpack_require__(176); - __webpack_require__(179); - __webpack_require__(181); - __webpack_require__(182); - __webpack_require__(183); - __webpack_require__(185); - __webpack_require__(187); - __webpack_require__(189); - __webpack_require__(190); - __webpack_require__(191); - __webpack_require__(193); - __webpack_require__(194); - __webpack_require__(195); - __webpack_require__(196); - __webpack_require__(203); - __webpack_require__(206); - __webpack_require__(207); - __webpack_require__(209); - __webpack_require__(210); - __webpack_require__(211); - __webpack_require__(212); - __webpack_require__(213); - __webpack_require__(214); - __webpack_require__(215); - __webpack_require__(216); - __webpack_require__(217); - __webpack_require__(218); - __webpack_require__(219); - __webpack_require__(220); - __webpack_require__(222); - __webpack_require__(223); - __webpack_require__(224); - __webpack_require__(225); - __webpack_require__(226); - __webpack_require__(227); - __webpack_require__(228); - __webpack_require__(229); - __webpack_require__(231); - __webpack_require__(234); - __webpack_require__(235); - __webpack_require__(237); - __webpack_require__(238); - __webpack_require__(239); - __webpack_require__(240); - __webpack_require__(241); - __webpack_require__(242); - __webpack_require__(243); - __webpack_require__(244); - __webpack_require__(245); - __webpack_require__(246); - __webpack_require__(247); - __webpack_require__(249); - __webpack_require__(250); - __webpack_require__(251); - __webpack_require__(252); - __webpack_require__(253); - __webpack_require__(254); - __webpack_require__(255); - __webpack_require__(256); - __webpack_require__(258); - __webpack_require__(259); - __webpack_require__(261); - __webpack_require__(262); - __webpack_require__(263); - __webpack_require__(264); - __webpack_require__(267); - __webpack_require__(268); - __webpack_require__(269); - __webpack_require__(270); - __webpack_require__(271); - __webpack_require__(272); - __webpack_require__(273); - __webpack_require__(274); - __webpack_require__(276); - __webpack_require__(277); - __webpack_require__(278); - __webpack_require__(279); - __webpack_require__(280); - __webpack_require__(281); - __webpack_require__(282); - __webpack_require__(283); - __webpack_require__(284); - __webpack_require__(285); - __webpack_require__(286); - __webpack_require__(287); - module.exports = __webpack_require__(288); - - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(26); +var hide = __webpack_require__(11); +var redefine = __webpack_require__(12); +var ctx = __webpack_require__(18); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if (target) redefine(target, key, out, type & $export.U); + // export + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + + +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // ECMAScript 6 symbols shim - var global = __webpack_require__(2) - , has = __webpack_require__(3) - , DESCRIPTORS = __webpack_require__(4) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(16) - , META = __webpack_require__(20).KEY - , $fails = __webpack_require__(5) - , shared = __webpack_require__(21) - , setToStringTag = __webpack_require__(22) - , uid = __webpack_require__(17) - , wks = __webpack_require__(23) - , wksExt = __webpack_require__(24) - , wksDefine = __webpack_require__(25) - , keyOf = __webpack_require__(27) - , enumKeys = __webpack_require__(40) - , isArray = __webpack_require__(43) - , anObject = __webpack_require__(10) - , toIObject = __webpack_require__(30) - , toPrimitive = __webpack_require__(14) - , createDesc = __webpack_require__(15) - , _create = __webpack_require__(44) - , gOPNExt = __webpack_require__(47) - , $GOPD = __webpack_require__(49) - , $DP = __webpack_require__(9) - , $keys = __webpack_require__(28) - , gOPD = $GOPD.f - , dP = $DP.f - , gOPN = gOPNExt.f - , $Symbol = global.Symbol - , $JSON = global.JSON - , _stringify = $JSON && $JSON.stringify - , PROTOTYPE = 'prototype' - , HIDDEN = wks('_hidden') - , TO_PRIMITIVE = wks('toPrimitive') - , isEnum = {}.propertyIsEnumerable - , SymbolRegistry = shared('symbol-registry') - , AllSymbols = shared('symbols') - , OPSymbols = shared('op-symbols') - , ObjectProto = Object[PROTOTYPE] - , USE_NATIVE = typeof $Symbol == 'function' - , QObject = global.QObject; - // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 - var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - var setSymbolDesc = DESCRIPTORS && $fails(function(){ - return _create(dP({}, 'a', { - get: function(){ return dP(this, 'a', {value: 7}).a; } - })).a != 7; - }) ? function(it, key, D){ - var protoDesc = gOPD(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; - dP(it, key, D); - if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc); - } : dP; - - var wrap = function(tag){ - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; - }; - - var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ - return typeof it == 'symbol'; - } : function(it){ - return it instanceof $Symbol; - }; - - var $defineProperty = function defineProperty(it, key, D){ - if(it === ObjectProto)$defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if(has(AllSymbols, key)){ - if(!D.enumerable){ - if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = _create(D, {enumerable: createDesc(0, false)}); - } return setSymbolDesc(it, key, D); - } return dP(it, key, D); - }; - var $defineProperties = function defineProperties(it, P){ - anObject(it); - var keys = enumKeys(P = toIObject(P)) - , i = 0 - , l = keys.length - , key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); - return it; - }; - var $create = function create(it, P){ - return P === undefined ? _create(it) : $defineProperties(_create(it), P); - }; - var $propertyIsEnumerable = function propertyIsEnumerable(key){ - var E = isEnum.call(this, key = toPrimitive(key, true)); - if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; - }; - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ - it = toIObject(it); - key = toPrimitive(key, true); - if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return; - var D = gOPD(it, key); - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; - return D; - }; - var $getOwnPropertyNames = function getOwnPropertyNames(it){ - var names = gOPN(toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); - } return result; - }; - var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ - var IS_OP = it === ObjectProto - , names = gOPN(IS_OP ? OPSymbols : toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]); - } return result; - }; - - // 19.4.1.1 Symbol([description]) - if(!USE_NATIVE){ - $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value){ - if(this === ObjectProto)$set.call(OPSymbols, value); - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set}); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString(){ - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - __webpack_require__(48).f = gOPNExt.f = $getOwnPropertyNames; - __webpack_require__(42).f = $propertyIsEnumerable; - __webpack_require__(41).f = $getOwnPropertySymbols; - - if(DESCRIPTORS && !__webpack_require__(26)){ - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function(name){ - return wrap(wks(name)); - } - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol}); - - for(var symbols = ( - // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' - ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]); - - for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]); - - $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function(key){ - return has(SymbolRegistry, key += '') - ? SymbolRegistry[key] - : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(key){ - if(isSymbol(key))return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); - }, - useSetter: function(){ setter = true; }, - useSimple: function(){ setter = false; } - }); - - $export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols - }); - - // 24.3.2 JSON.stringify(value [, replacer [, space]]) - $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){ - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; - })), 'JSON', { - stringify: function stringify(it){ - if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined - var args = [it] - , i = 1 - , replacer, $replacer; - while(arguments.length > i)args.push(arguments[i++]); - replacer = args[1]; - if(typeof replacer == 'function')$replacer = replacer; - if($replacer || !isArray(replacer))replacer = function(key, value){ - if($replacer)value = $replacer.call(this, key, value); - if(!isSymbol(value))return value; - }; - args[1] = replacer; - return _stringify.apply($JSON, args); - } - }); - - // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) - $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(8)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); - // 19.4.3.5 Symbol.prototype[@@toStringTag] - setToStringTag($Symbol, 'Symbol'); - // 20.2.1.9 Math[@@toStringTag] - setToStringTag(Math, 'Math', true); - // 24.3.3 JSON[@@toStringTag] - setToStringTag(global.JSON, 'JSON', true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(4); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; + + +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); - if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef -/***/ }, + +/***/ }), /* 3 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; - var hasOwnProperty = {}.hasOwnProperty; - module.exports = function(it, key){ - return hasOwnProperty.call(it, key); - }; -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // Thank's IE8 for his funny defineProperty - module.exports = !__webpack_require__(5)(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; - }); +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; -/***/ }, + +/***/ }), /* 5 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var store = __webpack_require__(49)('wks'); +var uid = __webpack_require__(33); +var Symbol = __webpack_require__(2).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; - module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } - }; -/***/ }, +/***/ }), /* 6 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , hide = __webpack_require__(8) - , redefine = __webpack_require__(16) - , ctx = __webpack_require__(18) - , PROTOTYPE = 'prototype'; - - var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}) - , key, own, out, exp; - if(IS_GLOBAL)source = name; - for(key in source){ - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if(target)redefine(target, key, out, type & $export.U); - // export - if(exports[key] != out)hide(exports, key, exp); - if(IS_PROTO && expProto[key] != out)expProto[key] = out; - } - }; - global.core = core; - // type bitmap - $export.F = 1; // forced - $export.G = 2; // global - $export.S = 4; // static - $export.P = 8; // proto - $export.B = 16; // bind - $export.W = 32; // wrap - $export.U = 64; // safe - $export.R = 128; // real proto method for `library` - module.exports = $export; - -/***/ }, -/* 7 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(3)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); - var core = module.exports = {version: '2.4.0'}; - if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef -/***/ }, +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(1); +var IE8_DOM_DEFINE = __webpack_require__(90); +var toPrimitive = __webpack_require__(21); +var dP = Object.defineProperty; + +exports.f = __webpack_require__(6) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), /* 8 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9) - , createDesc = __webpack_require__(15); - module.exports = __webpack_require__(4) ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); - } : function(object, key, value){ - object[key] = value; - return object; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__(23); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + + +/***/ }), /* 9 */ -/***/ function(module, exports, __webpack_require__) { - - var anObject = __webpack_require__(10) - , IE8_DOM_DEFINE = __webpack_require__(12) - , toPrimitive = __webpack_require__(14) - , dP = Object.defineProperty; - - exports.f = __webpack_require__(4) ? Object.defineProperty : function defineProperty(O, P, Attributes){ - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if(IE8_DOM_DEFINE)try { - return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(22); +module.exports = function (it) { + return Object(defined(it)); +}; + + +/***/ }), /* 10 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var isObject = __webpack_require__(11); - module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); - return it; - }; +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; -/***/ }, -/* 11 */ -/***/ function(module, exports) { - module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; - }; +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { +var dP = __webpack_require__(7); +var createDesc = __webpack_require__(32); +module.exports = __webpack_require__(6) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; - module.exports = !__webpack_require__(4) && !__webpack_require__(5)(function(){ - return Object.defineProperty(__webpack_require__(13)('div'), 'a', {get: function(){ return 7; }}).a != 7; - }); -/***/ }, +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var hide = __webpack_require__(11); +var has = __webpack_require__(14); +var SRC = __webpack_require__(33)('src'); +var TO_STRING = 'toString'; +var $toString = Function[TO_STRING]; +var TPL = ('' + $toString).split(TO_STRING); + +__webpack_require__(26).inspectSource = function (it) { + return $toString.call(it); +}; + +(module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + hide(O, key, val); + } +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); + + +/***/ }), /* 13 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var fails = __webpack_require__(3); +var defined = __webpack_require__(22); +var quot = /"/g; +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; +module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); +}; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { - var isObject = __webpack_require__(11) - , document = __webpack_require__(2).document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); - module.exports = function(it){ - return is ? document.createElement(it) : {}; - }; +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.1.1 ToPrimitive(input [, PreferredType]) - var isObject = __webpack_require__(11); - // instead of the ES6 spec version, we didn't implement @@toPrimitive case - // and the second argument - flag - preferred type is a string - module.exports = function(it, S){ - if(!isObject(it))return it; - var fn, val; - if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - throw TypeError("Can't convert object to primitive value"); - }; - -/***/ }, + +/***/ }), /* 15 */ -/***/ function(module, exports) { - - module.exports = function(bitmap, value){ - return { - enumerable : !(bitmap & 1), - configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(46); +var defined = __webpack_require__(22); +module.exports = function (it) { + return IObject(defined(it)); +}; + + +/***/ }), /* 16 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , hide = __webpack_require__(8) - , has = __webpack_require__(3) - , SRC = __webpack_require__(17)('src') - , TO_STRING = 'toString' - , $toString = Function[TO_STRING] - , TPL = ('' + $toString).split(TO_STRING); - - __webpack_require__(7).inspectSource = function(it){ - return $toString.call(it); - }; - - (module.exports = function(O, key, val, safe){ - var isFunction = typeof val == 'function'; - if(isFunction)has(val, 'name') || hide(val, 'name', key); - if(O[key] === val)return; - if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if(O === global){ - O[key] = val; - } else { - if(!safe){ - delete O[key]; - hide(O, key, val); - } else { - if(O[key])O[key] = val; - else hide(O, key, val); - } - } - // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative - })(Function.prototype, TO_STRING, function toString(){ - return typeof this == 'function' && this[SRC] || $toString.call(this); - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var pIE = __webpack_require__(47); +var createDesc = __webpack_require__(32); +var toIObject = __webpack_require__(15); +var toPrimitive = __webpack_require__(21); +var has = __webpack_require__(14); +var IE8_DOM_DEFINE = __webpack_require__(90); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = __webpack_require__(6) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + + +/***/ }), /* 17 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = __webpack_require__(14); +var toObject = __webpack_require__(9); +var IE_PROTO = __webpack_require__(66)('IE_PROTO'); +var ObjectProto = Object.prototype; - var id = 0 - , px = Math.random(); - module.exports = function(key){ - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); - }; +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; -/***/ }, + +/***/ }), /* 18 */ -/***/ function(module, exports, __webpack_require__) { - - // optional / simple context binding - var aFunction = __webpack_require__(19); - module.exports = function(fn, that, length){ - aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ - return fn.call(that, a); - }; - case 2: return function(a, b){ - return fn.call(that, a, b); - }; - case 3: return function(a, b, c){ - return fn.call(that, a, b, c); - }; - } - return function(/* ...args */){ - return fn.apply(that, arguments); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__(10); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), /* 19 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +var toString = {}.toString; - module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); - return it; - }; +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; -/***/ }, + +/***/ }), /* 20 */ -/***/ function(module, exports, __webpack_require__) { - - var META = __webpack_require__(17)('meta') - , isObject = __webpack_require__(11) - , has = __webpack_require__(3) - , setDesc = __webpack_require__(9).f - , id = 0; - var isExtensible = Object.isExtensible || function(){ - return true; - }; - var FREEZE = !__webpack_require__(5)(function(){ - return isExtensible(Object.preventExtensions({})); - }); - var setMeta = function(it){ - setDesc(it, META, {value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - }}); - }; - var fastKey = function(it, create){ - // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; - // not necessary to add metadata - if(!create)return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; - }; - var getWeak = function(it, create){ - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; - // not necessary to add metadata - if(!create)return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; - }; - // add metadata on freeze-family methods calling - var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); - return it; - }; - var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze - }; - -/***/ }, -/* 21 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var global = __webpack_require__(2) - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); - module.exports = function(key){ - return store[key] || (store[key] = {}); - }; +"use strict"; -/***/ }, +var fails = __webpack_require__(3); + +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); + }); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__(4); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), /* 22 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var def = __webpack_require__(9).f - , has = __webpack_require__(3) - , TAG = __webpack_require__(23)('toStringTag'); +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; - module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); - }; -/***/ }, +/***/ }), /* 23 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var store = __webpack_require__(21)('wks') - , uid = __webpack_require__(17) - , Symbol = __webpack_require__(2).Symbol - , USE_SYMBOL = typeof Symbol == 'function'; +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; - var $exports = module.exports = function(name){ - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); - }; - $exports.store = store; - -/***/ }, +/***/ }), /* 24 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// most Object methods by ES6 should accept primitives +var $export = __webpack_require__(0); +var core = __webpack_require__(26); +var fails = __webpack_require__(3); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; - exports.f = __webpack_require__(23); -/***/ }, +/***/ }), /* 25 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , core = __webpack_require__(7) - , LIBRARY = __webpack_require__(26) - , wksExt = __webpack_require__(24) - , defineProperty = __webpack_require__(9).f; - module.exports = function(name){ - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = __webpack_require__(18); +var IObject = __webpack_require__(46); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(8); +var asc = __webpack_require__(83); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + + +/***/ }), /* 26 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - module.exports = false; +var core = module.exports = { version: '2.5.7' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef -/***/ }, + +/***/ }), /* 27 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(28) - , toIObject = __webpack_require__(30); - module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +if (__webpack_require__(6)) { + var LIBRARY = __webpack_require__(30); + var global = __webpack_require__(2); + var fails = __webpack_require__(3); + var $export = __webpack_require__(0); + var $typed = __webpack_require__(60); + var $buffer = __webpack_require__(89); + var ctx = __webpack_require__(18); + var anInstance = __webpack_require__(39); + var propertyDesc = __webpack_require__(32); + var hide = __webpack_require__(11); + var redefineAll = __webpack_require__(41); + var toInteger = __webpack_require__(23); + var toLength = __webpack_require__(8); + var toIndex = __webpack_require__(117); + var toAbsoluteIndex = __webpack_require__(35); + var toPrimitive = __webpack_require__(21); + var has = __webpack_require__(14); + var classof = __webpack_require__(48); + var isObject = __webpack_require__(4); + var toObject = __webpack_require__(9); + var isArrayIter = __webpack_require__(80); + var create = __webpack_require__(36); + var getPrototypeOf = __webpack_require__(17); + var gOPN = __webpack_require__(37).f; + var getIterFn = __webpack_require__(82); + var uid = __webpack_require__(33); + var wks = __webpack_require__(5); + var createArrayMethod = __webpack_require__(25); + var createArrayIncludes = __webpack_require__(50); + var speciesConstructor = __webpack_require__(57); + var ArrayIterators = __webpack_require__(85); + var Iterators = __webpack_require__(44); + var $iterDetect = __webpack_require__(54); + var setSpecies = __webpack_require__(38); + var arrayFill = __webpack_require__(84); + var arrayCopyWithin = __webpack_require__(106); + var $DP = __webpack_require__(7); + var $GOPD = __webpack_require__(16); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var toOffset = function (it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + } return new C(length); + }; + + var speciesFromList = function (O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; + return result; + }; + + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); + }; + + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + } O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; + return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /* , end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /* , thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /* , thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, + arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /* , thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /* , thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /* , thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /* , fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /* , fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /* , thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; + }, + some: function some(callbackfn /* , thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( + O.buffer, + O.byteOffset + $begin * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) + ); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /* , offset */) { + validate(this); + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function (target, key) { + return isObject(target) + && target[TYPED_ARRAY] + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) + ? propertyDesc(2, target[key]) + : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) + && isObject(desc) + && has(desc, 'value') + && !has(desc, 'get') + && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable + && (!has(desc, 'writable') || desc.writable) + && (!has(desc, 'enumerable') || desc.enumerable) + ) { + target[key] = desc.value; + return target; + } return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function () { return this[TYPED_ARRAY]; } + }); + + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function (that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function (that, index) { + dP(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined + ? new Base(data, toOffset($offset, BYTES), $length) + : $offset !== undefined + ? new Base(data, toOffset($offset, BYTES)) + : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function () { return NAME; } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), /* 28 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.14 / 15.2.3.14 Object.keys(O) - var $keys = __webpack_require__(29) - , enumBugKeys = __webpack_require__(39); - - module.exports = Object.keys || function keys(O){ - return $keys(O, enumBugKeys); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var Map = __webpack_require__(111); +var $export = __webpack_require__(0); +var shared = __webpack_require__(49)('metadata'); +var store = shared.store || (shared.store = new (__webpack_require__(114))()); + +var getOrCreateMetadataMap = function (target, targetKey, create) { + var targetMetadata = store.get(target); + if (!targetMetadata) { + if (!create) return undefined; + store.set(target, targetMetadata = new Map()); + } + var keyMetadata = targetMetadata.get(targetKey); + if (!keyMetadata) { + if (!create) return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map()); + } return keyMetadata; +}; +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); +}; +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); +}; +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); +}; +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); + return keys; +}; +var toMetaKey = function (it) { + return it === undefined || typeof it == 'symbol' ? it : String(it); +}; +var exp = function (O) { + $export($export.S, 'Reflect', O); +}; + +module.exports = { + store: store, + map: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + key: toMetaKey, + exp: exp +}; + + +/***/ }), /* 29 */ -/***/ function(module, exports, __webpack_require__) { - - var has = __webpack_require__(3) - , toIObject = __webpack_require__(30) - , arrayIndexOf = __webpack_require__(34)(false) - , IE_PROTO = __webpack_require__(38)('IE_PROTO'); - - module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ - ~arrayIndexOf(result, key) || result.push(key); - } - return result; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var META = __webpack_require__(33)('meta'); +var isObject = __webpack_require__(4); +var has = __webpack_require__(14); +var setDesc = __webpack_require__(7).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !__webpack_require__(3)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + + +/***/ }), /* 30 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // to indexed object, toObject with fallback for non-array-like ES3 strings - var IObject = __webpack_require__(31) - , defined = __webpack_require__(33); - module.exports = function(it){ - return IObject(defined(it)); - }; +module.exports = false; -/***/ }, + +/***/ }), /* 31 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.3.31 Array.prototype[@@unscopables] +var UNSCOPABLES = __webpack_require__(5)('unscopables'); +var ArrayProto = Array.prototype; +if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(11)(ArrayProto, UNSCOPABLES, {}); +module.exports = function (key) { + ArrayProto[UNSCOPABLES][key] = true; +}; - // fallback for non-array-like ES3 and non-enumerable old V8 strings - var cof = __webpack_require__(32); - module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ - return cof(it) == 'String' ? it.split('') : Object(it); - }; -/***/ }, +/***/ }), /* 32 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - var toString = {}.toString; +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; - module.exports = function(it){ - return toString.call(it).slice(8, -1); - }; -/***/ }, +/***/ }), /* 33 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - // 7.2.1 RequireObjectCoercible(argument) - module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); - return it; - }; +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; -/***/ }, + +/***/ }), /* 34 */ -/***/ function(module, exports, __webpack_require__) { - - // false -> Array#indexOf - // true -> Array#includes - var toIObject = __webpack_require__(30) - , toLength = __webpack_require__(35) - , toIndex = __webpack_require__(37); - module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; - // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ - value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(92); +var enumBugKeys = __webpack_require__(67); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + + +/***/ }), /* 35 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(23); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; - // 7.1.15 ToLength - var toInteger = __webpack_require__(36) - , min = Math.min; - module.exports = function(it){ - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 - }; -/***/ }, +/***/ }), /* 36 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(1); +var dPs = __webpack_require__(93); +var enumBugKeys = __webpack_require__(67); +var IE_PROTO = __webpack_require__(66)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(64)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(68).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + + +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { - // 7.1.4 ToInteger - var ceil = Math.ceil - , floor = Math.floor; - module.exports = function(it){ - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); - }; +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = __webpack_require__(92); +var hiddenKeys = __webpack_require__(67).concat('length', 'prototype'); -/***/ }, -/* 37 */ -/***/ function(module, exports, __webpack_require__) { +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; - var toInteger = __webpack_require__(36) - , max = Math.max - , min = Math.min; - module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); - }; -/***/ }, +/***/ }), /* 38 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var shared = __webpack_require__(21)('keys') - , uid = __webpack_require__(17); - module.exports = function(key){ - return shared[key] || (shared[key] = uid(key)); - }; +"use strict"; -/***/ }, +var global = __webpack_require__(2); +var dP = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); +var SPECIES = __webpack_require__(5)('species'); + +module.exports = function (KEY) { + var C = global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + + +/***/ }), /* 39 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { + +module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { + throw TypeError(name + ': incorrect invocation!'); + } return it; +}; - // IE 8- don't enum bug keys - module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' - ).split(','); -/***/ }, +/***/ }), /* 40 */ -/***/ function(module, exports, __webpack_require__) { - - // all enumerable object keys, includes symbols - var getKeys = __webpack_require__(28) - , gOPS = __webpack_require__(41) - , pIE = __webpack_require__(42); - module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); - } return result; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(18); +var call = __webpack_require__(104); +var isArrayIter = __webpack_require__(80); +var anObject = __webpack_require__(1); +var toLength = __webpack_require__(8); +var getIterFn = __webpack_require__(82); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + + +/***/ }), /* 41 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - exports.f = Object.getOwnPropertySymbols; +var redefine = __webpack_require__(12); +module.exports = function (target, src, safe) { + for (var key in src) redefine(target, key, src[key], safe); + return target; +}; -/***/ }, + +/***/ }), /* 42 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { - exports.f = {}.propertyIsEnumerable; +var def = __webpack_require__(7).f; +var has = __webpack_require__(14); +var TAG = __webpack_require__(5)('toStringTag'); -/***/ }, -/* 43 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; - // 7.2.2 IsArray(argument) - var cof = __webpack_require__(32); - module.exports = Array.isArray || function isArray(arg){ - return cof(arg) == 'Array'; - }; -/***/ }, +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var defined = __webpack_require__(22); +var fails = __webpack_require__(3); +var spaces = __webpack_require__(71); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); + +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; + + +/***/ }), /* 44 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - var anObject = __webpack_require__(10) - , dPs = __webpack_require__(45) - , enumBugKeys = __webpack_require__(39) - , IE_PROTO = __webpack_require__(38)('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - - // Create object with fake `null` prototype: use iframe Object with cleared prototype - var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(13)('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(46).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); - }; - - module.exports = Object.create || function create(O, Properties){ - var result; - if(O !== null){ - Empty[PROTOTYPE] = anObject(O); - result = new Empty; - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); - }; - - -/***/ }, -/* 45 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9) - , anObject = __webpack_require__(10) - , getKeys = __webpack_require__(28); - - module.exports = __webpack_require__(4) ? Object.defineProperties : function defineProperties(O, Properties){ - anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; - }; - -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - module.exports = __webpack_require__(2).document && document.documentElement; +module.exports = {}; -/***/ }, -/* 47 */ -/***/ function(module, exports, __webpack_require__) { - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - var toIObject = __webpack_require__(30) - , gOPN = __webpack_require__(48).f - , toString = {}.toString; +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(4); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; - var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - var getWindowNames = function(it){ - try { - return gOPN(it); - } catch(e){ - return windowNames.slice(); - } - }; +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports.f = function getOwnPropertyNames(it){ - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); - }; +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = __webpack_require__(19); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; -/***/ }, -/* 48 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 47 */ +/***/ (function(module, exports) { - // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) - var $keys = __webpack_require__(29) - , hiddenKeys = __webpack_require__(39).concat('length', 'prototype'); +exports.f = {}.propertyIsEnumerable; - exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ - return $keys(O, hiddenKeys); - }; -/***/ }, +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { + +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = __webpack_require__(19); +var TAG = __webpack_require__(5)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + + +/***/ }), /* 49 */ -/***/ function(module, exports, __webpack_require__) { - - var pIE = __webpack_require__(42) - , createDesc = __webpack_require__(15) - , toIObject = __webpack_require__(30) - , toPrimitive = __webpack_require__(14) - , has = __webpack_require__(3) - , IE8_DOM_DEFINE = __webpack_require__(12) - , gOPD = Object.getOwnPropertyDescriptor; - - exports.f = __webpack_require__(4) ? gOPD : function getOwnPropertyDescriptor(O, P){ - O = toIObject(O); - P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { - return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); - }; - -/***/ }, -/* 50 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var core = __webpack_require__(26); +var global = __webpack_require__(2); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); - var $export = __webpack_require__(6); - // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) - $export($export.S + $export.F * !__webpack_require__(4), 'Object', {defineProperty: __webpack_require__(9).f}); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: __webpack_require__(30) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); -/***/ }, + +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { + +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__(15); +var toLength = __webpack_require__(8); +var toAbsoluteIndex = __webpack_require__(35); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + + +/***/ }), /* 51 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - var $export = __webpack_require__(6); - // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) - $export($export.S + $export.F * !__webpack_require__(4), 'Object', {defineProperties: __webpack_require__(45)}); +exports.f = Object.getOwnPropertySymbols; -/***/ }, + +/***/ }), /* 52 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - var toIObject = __webpack_require__(30) - , $getOwnPropertyDescriptor = __webpack_require__(49).f; +// 7.2.2 IsArray(argument) +var cof = __webpack_require__(19); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; - __webpack_require__(53)('getOwnPropertyDescriptor', function(){ - return function getOwnPropertyDescriptor(it, key){ - return $getOwnPropertyDescriptor(toIObject(it), key); - }; - }); -/***/ }, +/***/ }), /* 53 */ -/***/ function(module, exports, __webpack_require__) { - - // most Object methods by ES6 should accept primitives - var $export = __webpack_require__(6) - , core = __webpack_require__(7) - , fails = __webpack_require__(5); - module.exports = function(KEY, exec){ - var fn = (core.Object || {})[KEY] || Object[KEY] - , exp = {}; - exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); - }; - -/***/ }, -/* 54 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - $export($export.S, 'Object', {create: __webpack_require__(44)}); +// 7.2.8 IsRegExp(argument) +var isObject = __webpack_require__(4); +var cof = __webpack_require__(19); +var MATCH = __webpack_require__(5)('match'); +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; -/***/ }, -/* 55 */ -/***/ function(module, exports, __webpack_require__) { - // 19.1.2.9 Object.getPrototypeOf(O) - var toObject = __webpack_require__(56) - , $getPrototypeOf = __webpack_require__(57); +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { + +var ITERATOR = __webpack_require__(5)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + + +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(53)('getPrototypeOf', function(){ - return function getPrototypeOf(it){ - return $getPrototypeOf(toObject(it)); - }; - }); +"use strict"; -/***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { +// 21.2.5.3 get RegExp.prototype.flags +var anObject = __webpack_require__(1); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; - // 7.1.13 ToObject(argument) - var defined = __webpack_require__(33); - module.exports = function(it){ - return Object(defined(it)); - }; -/***/ }, +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var hide = __webpack_require__(11); +var redefine = __webpack_require__(12); +var fails = __webpack_require__(3); +var defined = __webpack_require__(22); +var wks = __webpack_require__(5); + +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + var fns = exec(defined, SYMBOL, ''[KEY]); + var strfn = fns[0]; + var rxfn = fns[1]; + if (fails(function () { + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + })) { + redefine(String.prototype, KEY, strfn); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return rxfn.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return rxfn.call(string, this); } + ); + } +}; + + +/***/ }), /* 57 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) - var has = __webpack_require__(3) - , toObject = __webpack_require__(56) - , IE_PROTO = __webpack_require__(38)('IE_PROTO') - , ObjectProto = Object.prototype; - - module.exports = Object.getPrototypeOf || function(O){ - O = toObject(O); - if(has(O, IE_PROTO))return O[IE_PROTO]; - if(typeof O.constructor == 'function' && O instanceof O.constructor){ - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; - }; - -/***/ }, -/* 58 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.14 Object.keys(O) - var toObject = __webpack_require__(56) - , $keys = __webpack_require__(28); +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = __webpack_require__(1); +var aFunction = __webpack_require__(10); +var SPECIES = __webpack_require__(5)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; - __webpack_require__(53)('keys', function(){ - return function keys(it){ - return $keys(toObject(it)); - }; - }); -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.7 Object.getOwnPropertyNames(O) - __webpack_require__(53)('getOwnPropertyNames', function(){ - return __webpack_require__(47).f; - }); +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 60 */ -/***/ function(module, exports, __webpack_require__) { +var global = __webpack_require__(2); +var navigator = global.navigator; - // 19.1.2.5 Object.freeze(O) - var isObject = __webpack_require__(11) - , meta = __webpack_require__(20).onFreeze; +module.exports = navigator && navigator.userAgent || ''; - __webpack_require__(53)('freeze', function($freeze){ - return function freeze(it){ - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; - }); -/***/ }, +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(12); +var redefineAll = __webpack_require__(41); +var meta = __webpack_require__(29); +var forOf = __webpack_require__(40); +var anInstance = __webpack_require__(39); +var isObject = __webpack_require__(4); +var fails = __webpack_require__(3); +var $iterDetect = __webpack_require__(54); +var setToStringTag = __webpack_require__(42); +var inheritIfRequired = __webpack_require__(70); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + var fixMethod = function (KEY) { + var fn = proto[KEY]; + redefine(proto, KEY, + KEY == 'delete' ? function (a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a) { + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } + ); + }; + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + var instance = new C(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + // weak collections should not contains .clear method + if (IS_WEAK && proto.clear) delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var hide = __webpack_require__(11); +var uid = __webpack_require__(33); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; + +var TypedArrayConstructors = ( + 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' +).split(','); + +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; +} + +module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW +}; + + +/***/ }), /* 61 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.17 Object.seal(O) - var isObject = __webpack_require__(11) - , meta = __webpack_require__(20).onFreeze; +"use strict"; - __webpack_require__(53)('seal', function($seal){ - return function seal(it){ - return $seal && isObject(it) ? $seal(meta(it)) : it; - }; - }); +// Forced replacement prototype accessors methods +module.exports = __webpack_require__(30) || !__webpack_require__(3)(function () { + var K = Math.random(); + // In FF throws only define methods + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, K, function () { /* empty */ }); + delete __webpack_require__(2)[K]; +}); -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { - // 19.1.2.15 Object.preventExtensions(O) - var isObject = __webpack_require__(11) - , meta = __webpack_require__(20).onFreeze; +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(53)('preventExtensions', function($preventExtensions){ - return function preventExtensions(it){ - return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; - }; - }); +"use strict"; -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(0); - // 19.1.2.12 Object.isFrozen(O) - var isObject = __webpack_require__(11); +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { of: function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); + } }); +}; - __webpack_require__(53)('isFrozen', function($isFrozen){ - return function isFrozen(it){ - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; - }; - }); -/***/ }, +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var ctx = __webpack_require__(18); +var forOf = __webpack_require__(40); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; + + +/***/ }), /* 64 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.13 Object.isSealed(O) - var isObject = __webpack_require__(11); +var isObject = __webpack_require__(4); +var document = __webpack_require__(2).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; - __webpack_require__(53)('isSealed', function($isSealed){ - return function isSealed(it){ - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; - }; - }); -/***/ }, +/***/ }), /* 65 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.2.11 Object.isExtensible(O) - var isObject = __webpack_require__(11); +var global = __webpack_require__(2); +var core = __webpack_require__(26); +var LIBRARY = __webpack_require__(30); +var wksExt = __webpack_require__(91); +var defineProperty = __webpack_require__(7).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; - __webpack_require__(53)('isExtensible', function($isExtensible){ - return function isExtensible(it){ - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; - }; - }); -/***/ }, +/***/ }), /* 66 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.3.1 Object.assign(target, source) - var $export = __webpack_require__(6); +var shared = __webpack_require__(49)('keys'); +var uid = __webpack_require__(33); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; - $export($export.S + $export.F, 'Object', {assign: __webpack_require__(67)}); -/***/ }, +/***/ }), /* 67 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.2.1 Object.assign(target, source, ...) - var getKeys = __webpack_require__(28) - , gOPS = __webpack_require__(41) - , pIE = __webpack_require__(42) - , toObject = __webpack_require__(56) - , IObject = __webpack_require__(31) - , $assign = Object.assign; - - // should work with symbols and should have deterministic property order (V8 bug) - module.exports = !$assign || __webpack_require__(5)(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; - }) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; - } return T; - } : $assign; - -/***/ }, -/* 68 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 19.1.3.10 Object.is(value1, value2) - var $export = __webpack_require__(6); - $export($export.S, 'Object', {is: __webpack_require__(69)}); +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); -/***/ }, -/* 69 */ -/***/ function(module, exports) { - // 7.2.9 SameValue(x, y) - module.exports = Object.is || function is(x, y){ - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; - }; +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { + +var document = __webpack_require__(2).document; +module.exports = document && document.documentElement; -/***/ }, + +/***/ }), +/* 69 */ +/***/ (function(module, exports, __webpack_require__) { + +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = __webpack_require__(4); +var anObject = __webpack_require__(1); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = __webpack_require__(18)(Function.call, __webpack_require__(16).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + + +/***/ }), /* 70 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 19.1.3.19 Object.setPrototypeOf(O, proto) - var $export = __webpack_require__(6); - $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(71).set}); +var isObject = __webpack_require__(4); +var setPrototypeOf = __webpack_require__(69).set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { + setPrototypeOf(that, P); + } return that; +}; -/***/ }, + +/***/ }), /* 71 */ -/***/ function(module, exports, __webpack_require__) { - - // Works with __proto__ only. Old v8 can't work with null proto objects. - /* eslint-disable no-proto */ - var isObject = __webpack_require__(11) - , anObject = __webpack_require__(10); - var check = function(O, proto){ - anObject(O); - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); - }; - module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function(test, buggy, set){ - try { - set = __webpack_require__(18)(Function.call, __webpack_require__(49).f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch(e){ buggy = true; } - return function setPrototypeOf(O, proto){ - check(O, proto); - if(buggy)O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check - }; - -/***/ }, +/***/ (function(module, exports) { + +module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), /* 72 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.3.6 Object.prototype.toString() - var classof = __webpack_require__(73) - , test = {}; - test[__webpack_require__(23)('toStringTag')] = 'z'; - if(test + '' != '[object z]'){ - __webpack_require__(16)(Object.prototype, 'toString', function toString(){ - return '[object ' + classof(this) + ']'; - }, true); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toInteger = __webpack_require__(23); +var defined = __webpack_require__(22); + +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; + return res; +}; + + +/***/ }), /* 73 */ -/***/ function(module, exports, __webpack_require__) { - - // getting tag from 19.1.3.6 Object.prototype.toString() - var cof = __webpack_require__(32) - , TAG = __webpack_require__(23)('toStringTag') - // ES3 wrong here - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; - - // fallback for IE11 Script Access Denied error - var tryGet = function(it, key){ - try { - return it[key]; - } catch(e){ /* empty */ } - }; - - module.exports = function(it){ - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; - }; - -/***/ }, +/***/ (function(module, exports) { + +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + + +/***/ }), /* 74 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) - var $export = __webpack_require__(6); +// 20.2.2.14 Math.expm1(x) +var $expm1 = Math.expm1; +module.exports = (!$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +} : $expm1; - $export($export.P, 'Function', {bind: __webpack_require__(75)}); -/***/ }, +/***/ }), /* 75 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var aFunction = __webpack_require__(19) - , isObject = __webpack_require__(11) - , invoke = __webpack_require__(76) - , arraySlice = [].slice - , factories = {}; - - var construct = function(F, len, args){ - if(!(len in factories)){ - for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; - factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); - } return factories[len](F, args); - }; - - module.exports = Function.bind || function bind(that /*, args... */){ - var fn = aFunction(this) - , partArgs = arraySlice.call(arguments, 1); - var bound = function(/* args... */){ - var args = partArgs.concat(arraySlice.call(arguments)); - return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); - }; - if(isObject(fn.prototype))bound.prototype = fn.prototype; - return bound; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(23); +var defined = __webpack_require__(22); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + + +/***/ }), /* 76 */ -/***/ function(module, exports) { - - // fast apply, http://jsperf.lnkit.com/fast-apply/5 - module.exports = function(fn, args, that){ - var un = that === undefined; - switch(args.length){ - case 0: return un ? fn() - : fn.call(that); - case 1: return un ? fn(args[0]) - : fn.call(that, args[0]); - case 2: return un ? fn(args[0], args[1]) - : fn.call(that, args[0], args[1]); - case 3: return un ? fn(args[0], args[1], args[2]) - : fn.call(that, args[0], args[1], args[2]); - case 4: return un ? fn(args[0], args[1], args[2], args[3]) - : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// helper for String#{startsWith, endsWith, includes} +var isRegExp = __webpack_require__(53); +var defined = __webpack_require__(22); + +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; + + +/***/ }), /* 77 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(9).f - , createDesc = __webpack_require__(15) - , has = __webpack_require__(3) - , FProto = Function.prototype - , nameRE = /^\s*function ([^ (]*)/ - , NAME = 'name'; - - var isExtensible = Object.isExtensible || function(){ - return true; - }; - - // 19.2.4.2 name - NAME in FProto || __webpack_require__(4) && dP(FProto, NAME, { - configurable: true, - get: function(){ - try { - var that = this - , name = ('' + that).match(nameRE)[1]; - has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name)); - return name; - } catch(e){ - return ''; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var MATCH = __webpack_require__(5)('match'); +module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) { /* empty */ } + } return true; +}; + + +/***/ }), /* 78 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var isObject = __webpack_require__(11) - , getPrototypeOf = __webpack_require__(57) - , HAS_INSTANCE = __webpack_require__(23)('hasInstance') - , FunctionProto = Function.prototype; - // 19.2.3.6 Function.prototype[@@hasInstance](V) - if(!(HAS_INSTANCE in FunctionProto))__webpack_require__(9).f(FunctionProto, HAS_INSTANCE, {value: function(O){ - if(typeof this != 'function' || !isObject(O))return false; - if(!isObject(this.prototype))return O instanceof this; - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while(O = getPrototypeOf(O))if(this.prototype === O)return true; - return false; - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(30); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(12); +var hide = __webpack_require__(11); +var Iterators = __webpack_require__(44); +var $iterCreate = __webpack_require__(79); +var setToStringTag = __webpack_require__(42); +var getPrototypeOf = __webpack_require__(17); +var ITERATOR = __webpack_require__(5)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + + +/***/ }), /* 79 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , has = __webpack_require__(3) - , cof = __webpack_require__(32) - , inheritIfRequired = __webpack_require__(80) - , toPrimitive = __webpack_require__(14) - , fails = __webpack_require__(5) - , gOPN = __webpack_require__(48).f - , gOPD = __webpack_require__(49).f - , dP = __webpack_require__(9).f - , $trim = __webpack_require__(81).trim - , NUMBER = 'Number' - , $Number = global[NUMBER] - , Base = $Number - , proto = $Number.prototype - // Opera ~12 has broken Object#toString - , BROKEN_COF = cof(__webpack_require__(44)(proto)) == NUMBER - , TRIM = 'trim' in String.prototype; - - // 7.1.3 ToNumber(argument) - var toNumber = function(argument){ - var it = toPrimitive(argument, false); - if(typeof it == 'string' && it.length > 2){ - it = TRIM ? it.trim() : $trim(it, 3); - var first = it.charCodeAt(0) - , third, radix, maxCode; - if(first === 43 || first === 45){ - third = it.charCodeAt(2); - if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if(first === 48){ - switch(it.charCodeAt(1)){ - case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i - case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i - default : return +it; - } - for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){ - code = digits.charCodeAt(i); - // parseInt parses a string to a first unavailable symbol - // but ToNumber should return NaN if a string contains unavailable symbols - if(code < 48 || code > maxCode)return NaN; - } return parseInt(digits, radix); - } - } return +it; - }; - - if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){ - $Number = function Number(value){ - var it = arguments.length < 1 ? 0 : value - , that = this; - return that instanceof $Number - // check on 1..constructor(foo) case - && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER) - ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); - }; - for(var keys = __webpack_require__(4) ? gOPN(Base) : ( - // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + - // ES6 (in case, if modules with ES6 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + - 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), j = 0, key; keys.length > j; j++){ - if(has(Base, key = keys[j]) && !has($Number, key)){ - dP($Number, key, gOPD(Base, key)); - } - } - $Number.prototype = proto; - proto.constructor = $Number; - __webpack_require__(16)(global, NUMBER, $Number); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var create = __webpack_require__(36); +var descriptor = __webpack_require__(32); +var setToStringTag = __webpack_require__(42); +var IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +__webpack_require__(11)(IteratorPrototype, __webpack_require__(5)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; + + +/***/ }), /* 80 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(11) - , setPrototypeOf = __webpack_require__(71).set; - module.exports = function(that, target, C){ - var P, S = target.constructor; - if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ - setPrototypeOf(that, P); - } return that; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// check on default Array iterator +var Iterators = __webpack_require__(44); +var ITERATOR = __webpack_require__(5)('iterator'); +var ArrayProto = Array.prototype; + +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; + + +/***/ }), /* 81 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , defined = __webpack_require__(33) - , fails = __webpack_require__(5) - , spaces = __webpack_require__(82) - , space = '[' + spaces + ']' - , non = '\u200b\u0085' - , ltrim = RegExp('^' + space + space + '*') - , rtrim = RegExp(space + space + '*$'); - - var exporter = function(KEY, exec, ALIAS){ - var exp = {}; - var FORCE = fails(function(){ - return !!spaces[KEY]() || non[KEY]() != non; - }); - var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if(ALIAS)exp[ALIAS] = fn; - $export($export.P + $export.F * FORCE, 'String', exp); - }; - - // 1 -> String#trimLeft - // 2 -> String#trimRight - // 3 -> String#trim - var trim = exporter.trim = function(string, TYPE){ - string = String(defined(string)); - if(TYPE & 1)string = string.replace(ltrim, ''); - if(TYPE & 2)string = string.replace(rtrim, ''); - return string; - }; - - module.exports = exporter; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $defineProperty = __webpack_require__(7); +var createDesc = __webpack_require__(32); + +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; +}; + + +/***/ }), /* 82 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +var classof = __webpack_require__(48); +var ITERATOR = __webpack_require__(5)('iterator'); +var Iterators = __webpack_require__(44); +module.exports = __webpack_require__(26).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; - module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; -/***/ }, +/***/ }), /* 83 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toInteger = __webpack_require__(36) - , aNumberValue = __webpack_require__(84) - , repeat = __webpack_require__(85) - , $toFixed = 1..toFixed - , floor = Math.floor - , data = [0, 0, 0, 0, 0, 0] - , ERROR = 'Number.toFixed: incorrect invocation!' - , ZERO = '0'; - - var multiply = function(n, c){ - var i = -1 - , c2 = c; - while(++i < 6){ - c2 += n * data[i]; - data[i] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - var divide = function(n){ - var i = 6 - , c = 0; - while(--i >= 0){ - c += data[i]; - data[i] = floor(c / n); - c = (c % n) * 1e7; - } - }; - var numToString = function(){ - var i = 6 - , s = ''; - while(--i >= 0){ - if(s !== '' || i === 0 || data[i] !== 0){ - var t = String(data[i]); - s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; - } - } return s; - }; - var pow = function(x, n, acc){ - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); - }; - var log = function(x){ - var n = 0 - , x2 = x; - while(x2 >= 4096){ - n += 12; - x2 /= 4096; - } - while(x2 >= 2){ - n += 1; - x2 /= 2; - } return n; - }; - - $export($export.P + $export.F * (!!$toFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128..toFixed(0) !== '1000000000000000128' - ) || !__webpack_require__(5)(function(){ - // V8 ~ Android 4.3- - $toFixed.call({}); - })), 'Number', { - toFixed: function toFixed(fractionDigits){ - var x = aNumberValue(this, ERROR) - , f = toInteger(fractionDigits) - , s = '' - , m = ZERO - , e, z, j, k; - if(f < 0 || f > 20)throw RangeError(ERROR); - if(x != x)return 'NaN'; - if(x <= -1e21 || x >= 1e21)return String(x); - if(x < 0){ - s = '-'; - x = -x; - } - if(x > 1e-21){ - e = log(x * pow(2, 69, 1)) - 69; - z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if(e > 0){ - multiply(0, z); - j = f; - while(j >= 7){ - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while(j >= 23){ - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = numToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - m = numToString() + repeat.call(ZERO, f); - } - } - if(f > 0){ - k = m.length; - m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); - } else { - m = s + m; - } return m; - } - }); - -/***/ }, -/* 84 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = __webpack_require__(208); - var cof = __webpack_require__(32); - module.exports = function(it, msg){ - if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg); - return +it; - }; +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; -/***/ }, + +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) + +var toObject = __webpack_require__(9); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(8); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), /* 85 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var toInteger = __webpack_require__(36) - , defined = __webpack_require__(33); - - module.exports = function repeat(count){ - var str = String(defined(this)) - , res = '' - , n = toInteger(count); - if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); - for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; - return res; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var addToUnscopables = __webpack_require__(31); +var step = __webpack_require__(107); +var Iterators = __webpack_require__(44); +var toIObject = __webpack_require__(15); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = __webpack_require__(78)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + + +/***/ }), /* 86 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $fails = __webpack_require__(5) - , aNumberValue = __webpack_require__(84) - , $toPrecision = 1..toPrecision; - - $export($export.P + $export.F * ($fails(function(){ - // IE7- - return $toPrecision.call(1, undefined) !== '1'; - }) || !$fails(function(){ - // V8 ~ Android 4.3- - $toPrecision.call({}); - })), 'Number', { - toPrecision: function toPrecision(precision){ - var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(18); +var invoke = __webpack_require__(97); +var html = __webpack_require__(68); +var cel = __webpack_require__(64); +var global = __webpack_require__(2); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (__webpack_require__(19)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + + +/***/ }), /* 87 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.1 Number.EPSILON - var $export = __webpack_require__(6); - - $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var macrotask = __webpack_require__(86).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = __webpack_require__(19)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + + +/***/ }), /* 88 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.1.2.2 Number.isFinite(number) - var $export = __webpack_require__(6) - , _isFinite = __webpack_require__(2).isFinite; +"use strict"; - $export($export.S, 'Number', { - isFinite: function isFinite(it){ - return typeof it == 'number' && _isFinite(it); - } - }); +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = __webpack_require__(10); -/***/ }, -/* 89 */ -/***/ function(module, exports, __webpack_require__) { +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} - // 20.1.2.3 Number.isInteger(number) - var $export = __webpack_require__(6); +module.exports.f = function (C) { + return new PromiseCapability(C); +}; - $export($export.S, 'Number', {isInteger: __webpack_require__(90)}); -/***/ }, +/***/ }), +/* 89 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var DESCRIPTORS = __webpack_require__(6); +var LIBRARY = __webpack_require__(30); +var $typed = __webpack_require__(60); +var hide = __webpack_require__(11); +var redefineAll = __webpack_require__(41); +var fails = __webpack_require__(3); +var anInstance = __webpack_require__(39); +var toInteger = __webpack_require__(23); +var toLength = __webpack_require__(8); +var toIndex = __webpack_require__(117); +var gOPN = __webpack_require__(37).f; +var dP = __webpack_require__(7).f; +var arrayFill = __webpack_require__(84); +var setToStringTag = __webpack_require__(42); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + buffer[--i] |= s * 128; + return buffer; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + } return (s ? -1 : 1) * m * pow(2, e - mLen); +} + +function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; +} +function packI8(it) { + return [it & 0xff]; +} +function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; +} +function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; +} +function packF64(it) { + return packIEEE754(it, 52, 8); +} +function packF32(it) { + return packIEEE754(it, 23, 4); +} + +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} + +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} + +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); +} else { + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); +} +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); +hide($DataView[PROTOTYPE], $typed.VIEW, true); +exports[ARRAY_BUFFER] = $ArrayBuffer; +exports[DATA_VIEW] = $DataView; + + +/***/ }), /* 90 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +module.exports = !__webpack_require__(6) && !__webpack_require__(3)(function () { + return Object.defineProperty(__webpack_require__(64)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); - // 20.1.2.3 Number.isInteger(number) - var isObject = __webpack_require__(11) - , floor = Math.floor; - module.exports = function isInteger(it){ - return !isObject(it) && isFinite(it) && floor(it) === it; - }; -/***/ }, +/***/ }), /* 91 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.1.2.4 Number.isNaN(number) - var $export = __webpack_require__(6); +exports.f = __webpack_require__(5); - $export($export.S, 'Number', { - isNaN: function isNaN(number){ - return number != number; - } - }); -/***/ }, +/***/ }), /* 92 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.5 Number.isSafeInteger(number) - var $export = __webpack_require__(6) - , isInteger = __webpack_require__(90) - , abs = Math.abs; - - $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number){ - return isInteger(number) && abs(number) <= 0x1fffffffffffff; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(14); +var toIObject = __webpack_require__(15); +var arrayIndexOf = __webpack_require__(50)(false); +var IE_PROTO = __webpack_require__(66)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), /* 93 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.6 Number.MAX_SAFE_INTEGER - var $export = __webpack_require__(6); +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); +var dP = __webpack_require__(7); +var anObject = __webpack_require__(1); +var getKeys = __webpack_require__(34); -/***/ }, -/* 94 */ -/***/ function(module, exports, __webpack_require__) { +module.exports = __webpack_require__(6) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; - // 20.1.2.10 Number.MIN_SAFE_INTEGER - var $export = __webpack_require__(6); - $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); +/***/ }), +/* 94 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 95 */ -/***/ function(module, exports, __webpack_require__) { +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = __webpack_require__(15); +var gOPN = __webpack_require__(37).f; +var toString = {}.toString; - var $export = __webpack_require__(6) - , $parseFloat = __webpack_require__(96); - // 20.1.2.12 Number.parseFloat(string) - $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat}); +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; -/***/ }, -/* 96 */ -/***/ function(module, exports, __webpack_require__) { +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; - var $parseFloat = __webpack_require__(2).parseFloat - , $trim = __webpack_require__(81).trim; +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; - module.exports = 1 / $parseFloat(__webpack_require__(82) + '-0') !== -Infinity ? function parseFloat(str){ - var string = $trim(String(str), 3) - , result = $parseFloat(string); - return result === 0 && string.charAt(0) == '-' ? -0 : result; - } : $parseFloat; -/***/ }, +/***/ }), +/* 95 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 19.1.2.1 Object.assign(target, source, ...) +var getKeys = __webpack_require__(34); +var gOPS = __webpack_require__(51); +var pIE = __webpack_require__(47); +var toObject = __webpack_require__(9); +var IObject = __webpack_require__(46); +var $assign = Object.assign; + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !$assign || __webpack_require__(3)(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } return T; +} : $assign; + + +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aFunction = __webpack_require__(10); +var isObject = __webpack_require__(4); +var invoke = __webpack_require__(97); +var arraySlice = [].slice; +var factories = {}; + +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } return factories[len](F, args); +}; + +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; +}; + + +/***/ }), /* 97 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , $parseInt = __webpack_require__(98); - // 20.1.2.13 Number.parseInt(string, radix) - $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt}); - -/***/ }, +/***/ (function(module, exports) { + +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + + +/***/ }), /* 98 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $parseInt = __webpack_require__(2).parseInt - , $trim = __webpack_require__(81).trim - , ws = __webpack_require__(82) - , hex = /^[\-+]?0[xX]/; +var cof = __webpack_require__(19); +module.exports = function (it, msg) { + if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); + return +it; +}; - module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){ - var string = $trim(String(str), 3); - return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); - } : $parseInt; -/***/ }, +/***/ }), /* 99 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , $parseInt = __webpack_require__(98); - // 18.2.5 parseInt(string, radix) - $export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt}); +// 20.1.2.3 Number.isInteger(number) +var isObject = __webpack_require__(4); +var floor = Math.floor; +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; -/***/ }, + +/***/ }), /* 100 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6) - , $parseFloat = __webpack_require__(96); - // 18.2.4 parseFloat(string) - $export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat}); +var $parseFloat = __webpack_require__(2).parseFloat; +var $trim = __webpack_require__(43).trim; -/***/ }, -/* 101 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.3 Math.acosh(x) - var $export = __webpack_require__(6) - , log1p = __webpack_require__(102) - , sqrt = Math.sqrt - , $acosh = Math.acosh; - - $export($export.S + $export.F * !($acosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - && $acosh(Infinity) == Infinity - ), 'Math', { - acosh: function acosh(x){ - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? Math.log(x) + Math.LN2 - : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } - }); - -/***/ }, -/* 102 */ -/***/ function(module, exports) { +module.exports = 1 / $parseFloat(__webpack_require__(71) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; +} : $parseFloat; - // 20.2.2.20 Math.log1p(x) - module.exports = Math.log1p || function log1p(x){ - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); - }; -/***/ }, -/* 103 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 101 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.5 Math.asinh(x) - var $export = __webpack_require__(6) - , $asinh = Math.asinh; +var $parseInt = __webpack_require__(2).parseInt; +var $trim = __webpack_require__(43).trim; +var ws = __webpack_require__(71); +var hex = /^[-+]?0[xX]/; - function asinh(x){ - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); - } +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); +} : $parseInt; - // Tor Browser bug: Math.asinh(0) -> -0 - $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh}); -/***/ }, -/* 104 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 102 */ +/***/ (function(module, exports) { - // 20.2.2.7 Math.atanh(x) - var $export = __webpack_require__(6) - , $atanh = Math.atanh; +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; - // Tor Browser bug: Math.atanh(-0) -> 0 - $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x){ - return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; - } - }); -/***/ }, +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.16 Math.fround(x) +var sign = __webpack_require__(73); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + + +/***/ }), +/* 104 */ +/***/ (function(module, exports, __webpack_require__) { + +// call something on iterator step with safe closing on error +var anObject = __webpack_require__(1); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + + +/***/ }), /* 105 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.9 Math.cbrt(x) - var $export = __webpack_require__(6) - , sign = __webpack_require__(106); - - $export($export.S, 'Math', { - cbrt: function cbrt(x){ - return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var aFunction = __webpack_require__(10); +var toObject = __webpack_require__(9); +var IObject = __webpack_require__(46); +var toLength = __webpack_require__(8); + +module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; +}; + + +/***/ }), /* 106 */ -/***/ function(module, exports) { - - // 20.2.2.28 Math.sign(x) - module.exports = Math.sign || function sign(x){ - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) + +var toObject = __webpack_require__(9); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(8); + +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + + +/***/ }), /* 107 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 20.2.2.11 Math.clz32(x) - var $export = __webpack_require__(6); +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; - $export($export.S, 'Math', { - clz32: function clz32(x){ - return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; - } - }); -/***/ }, +/***/ }), /* 108 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.12 Math.cosh(x) - var $export = __webpack_require__(6) - , exp = Math.exp; +// 21.2.5.3 get RegExp.prototype.flags() +if (__webpack_require__(6) && /./g.flags != 'g') __webpack_require__(7).f(RegExp.prototype, 'flags', { + configurable: true, + get: __webpack_require__(55) +}); - $export($export.S, 'Math', { - cosh: function cosh(x){ - return (exp(x = +x) + exp(-x)) / 2; - } - }); -/***/ }, +/***/ }), /* 109 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - // 20.2.2.14 Math.expm1(x) - var $export = __webpack_require__(6) - , $expm1 = __webpack_require__(110); +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; - $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1}); -/***/ }, +/***/ }), /* 110 */ -/***/ function(module, exports) { - - // 20.2.2.14 Math.expm1(x) - var $expm1 = Math.expm1; - module.exports = (!$expm1 - // Old FF bug - || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 - // Tor Browser bug - || $expm1(-2e-17) != -2e-17 - ) ? function expm1(x){ - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; - } : $expm1; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(4); +var newPromiseCapability = __webpack_require__(88); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), /* 111 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.16 Math.fround(x) - var $export = __webpack_require__(6) - , sign = __webpack_require__(106) - , pow = Math.pow - , EPSILON = pow(2, -52) - , EPSILON32 = pow(2, -23) - , MAX32 = pow(2, 127) * (2 - EPSILON32) - , MIN32 = pow(2, -126); - - var roundTiesToEven = function(n){ - return n + 1 / EPSILON - 1 / EPSILON; - }; - - - $export($export.S, 'Math', { - fround: function fround(x){ - var $abs = Math.abs(x) - , $sign = sign(x) - , a, result; - if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - if(result > MAX32 || result != result)return $sign * Infinity; - return $sign * result; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var strong = __webpack_require__(112); +var validate = __webpack_require__(45); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = __webpack_require__(59)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + + +/***/ }), /* 112 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) - var $export = __webpack_require__(6) - , abs = Math.abs; - - $export($export.S, 'Math', { - hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , aLen = arguments.length - , larg = 0 - , arg, div; - while(i < aLen){ - arg = abs(arguments[i++]); - if(larg < arg){ - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if(arg > 0){ - div = arg / larg; - sum += div * div; - } else sum += arg; - } - return larg === Infinity ? Infinity : larg * Math.sqrt(sum); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var dP = __webpack_require__(7).f; +var create = __webpack_require__(36); +var redefineAll = __webpack_require__(41); +var ctx = __webpack_require__(18); +var anInstance = __webpack_require__(39); +var forOf = __webpack_require__(40); +var $iterDefine = __webpack_require__(78); +var step = __webpack_require__(107); +var setSpecies = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = __webpack_require__(29).fastKey; +var validate = __webpack_require__(45); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + + +/***/ }), /* 113 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.18 Math.imul(x, y) - var $export = __webpack_require__(6) - , $imul = Math.imul; - - // some WebKit versions fails with big numbers, some has wrong arity - $export($export.S + $export.F * __webpack_require__(5)(function(){ - return $imul(0xffffffff, 5) != -5 || $imul.length != 2; - }), 'Math', { - imul: function imul(x, y){ - var UINT16 = 0xffff - , xn = +x - , yn = +y - , xl = UINT16 & xn - , yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } - }); - -/***/ }, -/* 114 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.21 Math.log10(x) - var $export = __webpack_require__(6); +/***/ (function(module, exports, __webpack_require__) { - $export($export.S, 'Math', { - log10: function log10(x){ - return Math.log(x) / Math.LN10; - } - }); +"use strict"; -/***/ }, -/* 115 */ -/***/ function(module, exports, __webpack_require__) { +var strong = __webpack_require__(112); +var validate = __webpack_require__(45); +var SET = 'Set'; - // 20.2.2.20 Math.log1p(x) - var $export = __webpack_require__(6); +// 23.2 Set Objects +module.exports = __webpack_require__(59)(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); + } +}, strong); - $export($export.S, 'Math', {log1p: __webpack_require__(102)}); -/***/ }, +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var each = __webpack_require__(25)(0); +var redefine = __webpack_require__(12); +var meta = __webpack_require__(29); +var assign = __webpack_require__(95); +var weak = __webpack_require__(115); +var isObject = __webpack_require__(4); +var fails = __webpack_require__(3); +var validate = __webpack_require__(45); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; +}; + +var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); + } +}; + +// 23.3 WeakMap Objects +var $WeakMap = module.exports = __webpack_require__(59)(WEAK_MAP, wrapper, methods, weak, true, true); + +// IE11 WeakMap frozen keys fix +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var redefineAll = __webpack_require__(41); +var getWeak = __webpack_require__(29).getWeak; +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(4); +var anInstance = __webpack_require__(39); +var forOf = __webpack_require__(40); +var createArrayMethod = __webpack_require__(25); +var $has = __webpack_require__(14); +var validate = __webpack_require__(45); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); +}; +var UncaughtFrozenStore = function () { + this.a = []; +}; +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); +}; +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function (that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore +}; + + +/***/ }), /* 116 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.22 Math.log2(x) - var $export = __webpack_require__(6); +// all object keys, includes non-enumerable and symbols +var gOPN = __webpack_require__(37); +var gOPS = __webpack_require__(51); +var anObject = __webpack_require__(1); +var Reflect = __webpack_require__(2).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; - $export($export.S, 'Math', { - log2: function log2(x){ - return Math.log(x) / Math.LN2; - } - }); -/***/ }, +/***/ }), /* 117 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.28 Math.sign(x) - var $export = __webpack_require__(6); +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = __webpack_require__(23); +var toLength = __webpack_require__(8); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; - $export($export.S, 'Math', {sign: __webpack_require__(106)}); -/***/ }, +/***/ }), /* 118 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.30 Math.sinh(x) - var $export = __webpack_require__(6) - , expm1 = __webpack_require__(110) - , exp = Math.exp; - - // V8 near Chromium 38 has a problem with very small numbers - $export($export.S + $export.F * __webpack_require__(5)(function(){ - return !Math.sinh(-2e-17) != -2e-17; - }), 'Math', { - sinh: function sinh(x){ - return Math.abs(x = +x) < 1 - ? (expm1(x) - expm1(-x)) / 2 - : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var isArray = __webpack_require__(52); +var isObject = __webpack_require__(4); +var toLength = __webpack_require__(8); +var ctx = __webpack_require__(18); +var IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable'); + +function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; + var element, spreadable; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + spreadable = false; + if (isObject(element)) { + spreadable = element[IS_CONCAT_SPREADABLE]; + spreadable = spreadable !== undefined ? !!spreadable : isArray(element); + } + + if (spreadable && depth > 0) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1fffffffffffff) throw TypeError(); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +} + +module.exports = flattenIntoArray; + + +/***/ }), /* 119 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.33 Math.tanh(x) - var $export = __webpack_require__(6) - , expm1 = __webpack_require__(110) - , exp = Math.exp; - - $export($export.S, 'Math', { - tanh: function tanh(x){ - var a = expm1(x = +x) - , b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = __webpack_require__(8); +var repeat = __webpack_require__(72); +var defined = __webpack_require__(22); + +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; + + +/***/ }), /* 120 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var getKeys = __webpack_require__(34); +var toIObject = __webpack_require__(15); +var isEnum = __webpack_require__(47).f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { - // 20.2.2.34 Math.trunc(x) - var $export = __webpack_require__(6); +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var classof = __webpack_require__(48); +var from = __webpack_require__(122); +module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); + return from(this); + }; +}; - $export($export.S, 'Math', { - trunc: function trunc(it){ - return (it > 0 ? Math.floor : Math.ceil)(it); - } - }); -/***/ }, -/* 121 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , toIndex = __webpack_require__(37) - , fromCharCode = String.fromCharCode - , $fromCodePoint = String.fromCodePoint; - - // length should be 1, old FF problem - $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { - // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , aLen = arguments.length - , i = 0 - , code; - while(aLen > i){ - code = +arguments[i++]; - if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); - res.push(code < 0x10000 - ? fromCharCode(code) - : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) - ); - } return res.join(''); - } - }); - -/***/ }, +/***/ }), /* 122 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , toLength = __webpack_require__(35); - - $export($export.S, 'String', { - // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , aLen = arguments.length - , res = [] - , i = 0; - while(len > i){ - res.push(String(tpl[i++])); - if(i < aLen)res.push(String(arguments[i])); - } return res.join(''); - } - }); - -/***/ }, -/* 123 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // 21.1.3.25 String.prototype.trim() - __webpack_require__(81)('trim', function($trim){ - return function trim(){ - return $trim(this, 3); - }; - }); +var forOf = __webpack_require__(40); -/***/ }, +module.exports = function (iter, ITERATOR) { + var result = []; + forOf(iter, false, result.push, result, ITERATOR); + return result; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, exports) { + +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + if ( + arguments.length === 0 + // eslint-disable-next-line no-self-compare + || x != x + // eslint-disable-next-line no-self-compare + || inLow != inLow + // eslint-disable-next-line no-self-compare + || inHigh != inHigh + // eslint-disable-next-line no-self-compare + || outLow != outLow + // eslint-disable-next-line no-self-compare + || outHigh != outHigh + ) return NaN; + if (x === Infinity || x === -Infinity) return x; + return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; +}; + + +/***/ }), /* 124 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $at = __webpack_require__(125)(false); - $export($export.P, 'String', { - // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos){ - return $at(this, pos); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(125); +__webpack_require__(127); +__webpack_require__(128); +__webpack_require__(129); +__webpack_require__(130); +__webpack_require__(131); +__webpack_require__(132); +__webpack_require__(133); +__webpack_require__(134); +__webpack_require__(135); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(138); +__webpack_require__(139); +__webpack_require__(140); +__webpack_require__(141); +__webpack_require__(143); +__webpack_require__(144); +__webpack_require__(145); +__webpack_require__(146); +__webpack_require__(147); +__webpack_require__(148); +__webpack_require__(149); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(154); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(157); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(160); +__webpack_require__(161); +__webpack_require__(162); +__webpack_require__(163); +__webpack_require__(164); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(169); +__webpack_require__(170); +__webpack_require__(171); +__webpack_require__(172); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(175); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(179); +__webpack_require__(180); +__webpack_require__(181); +__webpack_require__(182); +__webpack_require__(183); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(189); +__webpack_require__(190); +__webpack_require__(191); +__webpack_require__(192); +__webpack_require__(193); +__webpack_require__(194); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(197); +__webpack_require__(198); +__webpack_require__(199); +__webpack_require__(200); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(206); +__webpack_require__(207); +__webpack_require__(209); +__webpack_require__(210); +__webpack_require__(211); +__webpack_require__(212); +__webpack_require__(213); +__webpack_require__(214); +__webpack_require__(215); +__webpack_require__(216); +__webpack_require__(217); +__webpack_require__(218); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(85); +__webpack_require__(221); +__webpack_require__(222); +__webpack_require__(223); +__webpack_require__(108); +__webpack_require__(224); +__webpack_require__(225); +__webpack_require__(226); +__webpack_require__(227); +__webpack_require__(228); +__webpack_require__(111); +__webpack_require__(113); +__webpack_require__(114); +__webpack_require__(229); +__webpack_require__(230); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(237); +__webpack_require__(238); +__webpack_require__(239); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(242); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(246); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(251); +__webpack_require__(252); +__webpack_require__(253); +__webpack_require__(254); +__webpack_require__(255); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(260); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(264); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(271); +__webpack_require__(272); +__webpack_require__(273); +__webpack_require__(274); +__webpack_require__(275); +__webpack_require__(276); +__webpack_require__(277); +__webpack_require__(278); +__webpack_require__(279); +__webpack_require__(280); +__webpack_require__(281); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(287); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(293); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(302); +__webpack_require__(303); +__webpack_require__(304); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(307); +__webpack_require__(308); +__webpack_require__(309); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(315); +__webpack_require__(316); +__webpack_require__(317); +__webpack_require__(318); +__webpack_require__(319); +module.exports = __webpack_require__(320); + + +/***/ }), /* 125 */ -/***/ function(module, exports, __webpack_require__) { - - var toInteger = __webpack_require__(36) - , defined = __webpack_require__(33); - // true -> String#at - // false -> String#codePointAt - module.exports = function(TO_STRING){ - return function(that, pos){ - var s = String(defined(that)) - , i = toInteger(pos) - , l = s.length - , a, b; - if(i < 0 || i >= l)return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff - ? TO_STRING ? s.charAt(i) : a - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// ECMAScript 6 symbols shim +var global = __webpack_require__(2); +var has = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var $export = __webpack_require__(0); +var redefine = __webpack_require__(12); +var META = __webpack_require__(29).KEY; +var $fails = __webpack_require__(3); +var shared = __webpack_require__(49); +var setToStringTag = __webpack_require__(42); +var uid = __webpack_require__(33); +var wks = __webpack_require__(5); +var wksExt = __webpack_require__(91); +var wksDefine = __webpack_require__(65); +var enumKeys = __webpack_require__(126); +var isArray = __webpack_require__(52); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(4); +var toIObject = __webpack_require__(15); +var toPrimitive = __webpack_require__(21); +var createDesc = __webpack_require__(32); +var _create = __webpack_require__(36); +var gOPNExt = __webpack_require__(94); +var $GOPD = __webpack_require__(16); +var $DP = __webpack_require__(7); +var $keys = __webpack_require__(34); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + __webpack_require__(37).f = gOPNExt.f = $getOwnPropertyNames; + __webpack_require__(47).f = $propertyIsEnumerable; + __webpack_require__(51).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !__webpack_require__(30)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(11)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + + +/***/ }), /* 126 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) - 'use strict'; - var $export = __webpack_require__(6) - , toLength = __webpack_require__(35) - , context = __webpack_require__(127) - , ENDS_WITH = 'endsWith' - , $endsWith = ''[ENDS_WITH]; - - $export($export.P + $export.F * __webpack_require__(129)(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, ENDS_WITH) - , endPosition = arguments.length > 1 ? arguments[1] : undefined - , len = toLength(that.length) - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) - , search = String(searchString); - return $endsWith - ? $endsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// all enumerable object keys, includes symbols +var getKeys = __webpack_require__(34); +var gOPS = __webpack_require__(51); +var pIE = __webpack_require__(47); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + + +/***/ }), /* 127 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // helper for String#{startsWith, endsWith, includes} - var isRegExp = __webpack_require__(128) - , defined = __webpack_require__(33); +var $export = __webpack_require__(0); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !__webpack_require__(6), 'Object', { defineProperty: __webpack_require__(7).f }); - module.exports = function(that, searchString, NAME){ - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); - return String(defined(that)); - }; -/***/ }, +/***/ }), /* 128 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.2.8 IsRegExp(argument) - var isObject = __webpack_require__(11) - , cof = __webpack_require__(32) - , MATCH = __webpack_require__(23)('match'); - module.exports = function(it){ - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) +$export($export.S + $export.F * !__webpack_require__(6), 'Object', { defineProperties: __webpack_require__(93) }); + + +/***/ }), /* 129 */ -/***/ function(module, exports, __webpack_require__) { - - var MATCH = __webpack_require__(23)('match'); - module.exports = function(KEY){ - var re = /./; - try { - '/./'[KEY](re); - } catch(e){ - try { - re[MATCH] = false; - return !'/./'[KEY](re); - } catch(f){ /* empty */ } - } return true; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = __webpack_require__(15); +var $getOwnPropertyDescriptor = __webpack_require__(16).f; + +__webpack_require__(24)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); + + +/***/ }), /* 130 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.7 String.prototype.includes(searchString, position = 0) - 'use strict'; - var $export = __webpack_require__(6) - , context = __webpack_require__(127) - , INCLUDES = 'includes'; - - $export($export.P + $export.F * __webpack_require__(129)(INCLUDES), 'String', { - includes: function includes(searchString /*, position = 0 */){ - return !!~context(this, searchString, INCLUDES) - .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: __webpack_require__(36) }); + + +/***/ }), /* 131 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = __webpack_require__(9); +var $getPrototypeOf = __webpack_require__(17); - var $export = __webpack_require__(6); +__webpack_require__(24)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); - $export($export.P, 'String', { - // 21.1.3.13 String.prototype.repeat(count) - repeat: __webpack_require__(85) - }); -/***/ }, +/***/ }), /* 132 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) - 'use strict'; - var $export = __webpack_require__(6) - , toLength = __webpack_require__(35) - , context = __webpack_require__(127) - , STARTS_WITH = 'startsWith' - , $startsWith = ''[STARTS_WITH]; - - $export($export.P + $export.F * __webpack_require__(129)(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, STARTS_WITH) - , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)) - , search = String(searchString); - return $startsWith - ? $startsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 Object.keys(O) +var toObject = __webpack_require__(9); +var $keys = __webpack_require__(34); + +__webpack_require__(24)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); + + +/***/ }), /* 133 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $at = __webpack_require__(125)(true); - - // 21.1.3.27 String.prototype[@@iterator]() - __webpack_require__(134)(String, 'String', function(iterated){ - this._t = String(iterated); // target - this._i = 0; // next index - // 21.1.5.2.1 %StringIteratorPrototype%.next() - }, function(){ - var O = this._t - , index = this._i - , point; - if(index >= O.length)return {value: undefined, done: true}; - point = $at(O, index); - this._i += point.length; - return {value: point, done: false}; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.7 Object.getOwnPropertyNames(O) +__webpack_require__(24)('getOwnPropertyNames', function () { + return __webpack_require__(94).f; +}); + + +/***/ }), /* 134 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(26) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(16) - , hide = __webpack_require__(8) - , has = __webpack_require__(3) - , Iterators = __webpack_require__(135) - , $iterCreate = __webpack_require__(136) - , setToStringTag = __webpack_require__(22) - , getPrototypeOf = __webpack_require__(57) - , ITERATOR = __webpack_require__(23)('iterator') - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; - - var returnThis = function(){ return this; }; - - module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ - $iterCreate(Constructor, NAME, next); - var getMethod = function(kind){ - if(!BUGGY && kind in proto)return proto[kind]; - switch(kind){ - case KEYS: return function keys(){ return new Constructor(this, kind); }; - case VALUES: return function values(){ return new Constructor(this, kind); }; - } return function entries(){ return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator' - , DEF_VALUES = DEFAULT == VALUES - , VALUES_BUG = false - , proto = Base.prototype - , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , $default = $native || getMethod(DEFAULT) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; - // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ - VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; - } - // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if(FORCED)for(key in methods){ - if(!(key in proto))redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.5 Object.freeze(O) +var isObject = __webpack_require__(4); +var meta = __webpack_require__(29).onFreeze; + +__webpack_require__(24)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; +}); + + +/***/ }), /* 135 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.17 Object.seal(O) +var isObject = __webpack_require__(4); +var meta = __webpack_require__(29).onFreeze; - module.exports = {}; +__webpack_require__(24)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; +}); -/***/ }, + +/***/ }), /* 136 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var create = __webpack_require__(44) - , descriptor = __webpack_require__(15) - , setToStringTag = __webpack_require__(22) - , IteratorPrototype = {}; +// 19.1.2.15 Object.preventExtensions(O) +var isObject = __webpack_require__(4); +var meta = __webpack_require__(29).onFreeze; - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - __webpack_require__(8)(IteratorPrototype, __webpack_require__(23)('iterator'), function(){ return this; }); +__webpack_require__(24)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; +}); - module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); - setToStringTag(Constructor, NAME + ' Iterator'); - }; -/***/ }, +/***/ }), /* 137 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.12 Object.isFrozen(O) +var isObject = __webpack_require__(4); - 'use strict'; - // B.2.3.2 String.prototype.anchor(name) - __webpack_require__(138)('anchor', function(createHTML){ - return function anchor(name){ - return createHTML(this, 'a', 'name', name); - } - }); +__webpack_require__(24)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); -/***/ }, + +/***/ }), /* 138 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(6) - , fails = __webpack_require__(5) - , defined = __webpack_require__(33) - , quot = /"/g; - // B.2.3.2.1 CreateHTML(string, tag, attribute, value) - var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)) - , p1 = '<' + tag; - if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; - }; - module.exports = function(NAME, exec){ - var O = {}; - O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function(){ - var test = ''[NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }), 'String', O); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.13 Object.isSealed(O) +var isObject = __webpack_require__(4); + +__webpack_require__(24)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); + + +/***/ }), /* 139 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.11 Object.isExtensible(O) +var isObject = __webpack_require__(4); - 'use strict'; - // B.2.3.3 String.prototype.big() - __webpack_require__(138)('big', function(createHTML){ - return function big(){ - return createHTML(this, 'big', '', ''); - } - }); +__webpack_require__(24)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); -/***/ }, + +/***/ }), /* 140 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__(0); - 'use strict'; - // B.2.3.4 String.prototype.blink() - __webpack_require__(138)('blink', function(createHTML){ - return function blink(){ - return createHTML(this, 'blink', '', ''); - } - }); +$export($export.S + $export.F, 'Object', { assign: __webpack_require__(95) }); -/***/ }, + +/***/ }), /* 141 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.10 Object.is(value1, value2) +var $export = __webpack_require__(0); +$export($export.S, 'Object', { is: __webpack_require__(142) }); - 'use strict'; - // B.2.3.5 String.prototype.bold() - __webpack_require__(138)('bold', function(createHTML){ - return function bold(){ - return createHTML(this, 'b', '', ''); - } - }); -/***/ }, +/***/ }), /* 142 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - 'use strict'; - // B.2.3.6 String.prototype.fixed() - __webpack_require__(138)('fixed', function(createHTML){ - return function fixed(){ - return createHTML(this, 'tt', '', ''); - } - }); +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; -/***/ }, + +/***/ }), /* 143 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = __webpack_require__(0); +$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(69).set }); - 'use strict'; - // B.2.3.7 String.prototype.fontcolor(color) - __webpack_require__(138)('fontcolor', function(createHTML){ - return function fontcolor(color){ - return createHTML(this, 'font', 'color', color); - } - }); -/***/ }, +/***/ }), /* 144 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.8 String.prototype.fontsize(size) - __webpack_require__(138)('fontsize', function(createHTML){ - return function fontsize(size){ - return createHTML(this, 'font', 'size', size); - } - }); +"use strict"; -/***/ }, +// 19.1.3.6 Object.prototype.toString() +var classof = __webpack_require__(48); +var test = {}; +test[__webpack_require__(5)('toStringTag')] = 'z'; +if (test + '' != '[object z]') { + __webpack_require__(12)(Object.prototype, 'toString', function toString() { + return '[object ' + classof(this) + ']'; + }, true); +} + + +/***/ }), /* 145 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.9 String.prototype.italics() - __webpack_require__(138)('italics', function(createHTML){ - return function italics(){ - return createHTML(this, 'i', '', ''); - } - }); +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +var $export = __webpack_require__(0); -/***/ }, -/* 146 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.P, 'Function', { bind: __webpack_require__(96) }); - 'use strict'; - // B.2.3.10 String.prototype.link(url) - __webpack_require__(138)('link', function(createHTML){ - return function link(url){ - return createHTML(this, 'a', 'href', url); - } - }); -/***/ }, +/***/ }), +/* 146 */ +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(7).f; +var FProto = Function.prototype; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// 19.2.4.2 name +NAME in FProto || __webpack_require__(6) && dP(FProto, NAME, { + configurable: true, + get: function () { + try { + return ('' + this).match(nameRE)[1]; + } catch (e) { + return ''; + } + } +}); + + +/***/ }), /* 147 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.11 String.prototype.small() - __webpack_require__(138)('small', function(createHTML){ - return function small(){ - return createHTML(this, 'small', '', ''); - } - }); +"use strict"; -/***/ }, -/* 148 */ -/***/ function(module, exports, __webpack_require__) { +var isObject = __webpack_require__(4); +var getPrototypeOf = __webpack_require__(17); +var HAS_INSTANCE = __webpack_require__(5)('hasInstance'); +var FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(7).f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; +} }); - 'use strict'; - // B.2.3.12 String.prototype.strike() - __webpack_require__(138)('strike', function(createHTML){ - return function strike(){ - return createHTML(this, 'strike', '', ''); - } - }); -/***/ }, +/***/ }), +/* 148 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var has = __webpack_require__(14); +var cof = __webpack_require__(19); +var inheritIfRequired = __webpack_require__(70); +var toPrimitive = __webpack_require__(21); +var fails = __webpack_require__(3); +var gOPN = __webpack_require__(37).f; +var gOPD = __webpack_require__(16).f; +var dP = __webpack_require__(7).f; +var $trim = __webpack_require__(43).trim; +var NUMBER = 'Number'; +var $Number = global[NUMBER]; +var Base = $Number; +var proto = $Number.prototype; +// Opera ~12 has broken Object#toString +var BROKEN_COF = cof(__webpack_require__(36)(proto)) == NUMBER; +var TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + if (typeof it == 'string' && it.length > 2) { + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0); + var third, radix, maxCode; + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default: return +it; + } + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) + ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); + }; + for (var keys = __webpack_require__(6) ? gOPN(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { + dP($Number, key, gOPD(Base, key)); + } + } + $Number.prototype = proto; + proto.constructor = $Number; + __webpack_require__(12)(global, NUMBER, $Number); +} + + +/***/ }), /* 149 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toInteger = __webpack_require__(23); +var aNumberValue = __webpack_require__(98); +var repeat = __webpack_require__(72); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; + +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = (c % n) * 1e7; + } +}; +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + } return s; +}; +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +$export($export.P + $export.F * (!!$toFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !__webpack_require__(3)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); +})), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + } return m; + } +}); + + +/***/ }), +/* 150 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $fails = __webpack_require__(3); +var aNumberValue = __webpack_require__(98); +var $toPrecision = 1.0.toPrecision; + +$export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; +}) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); +})), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // B.2.3.13 String.prototype.sub() - __webpack_require__(138)('sub', function(createHTML){ - return function sub(){ - return createHTML(this, 'sub', '', ''); - } - }); +// 20.1.2.1 Number.EPSILON +var $export = __webpack_require__(0); -/***/ }, -/* 150 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); - 'use strict'; - // B.2.3.14 String.prototype.sup() - __webpack_require__(138)('sup', function(createHTML){ - return function sup(){ - return createHTML(this, 'sup', '', ''); - } - }); -/***/ }, -/* 151 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 152 */ +/***/ (function(module, exports, __webpack_require__) { - // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) - var $export = __webpack_require__(6); +// 20.1.2.2 Number.isFinite(number) +var $export = __webpack_require__(0); +var _isFinite = __webpack_require__(2).isFinite; - $export($export.S, 'Array', {isArray: __webpack_require__(43)}); +$export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } +}); -/***/ }, -/* 152 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(18) - , $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , call = __webpack_require__(153) - , isArrayIter = __webpack_require__(154) - , toLength = __webpack_require__(35) - , createProperty = __webpack_require__(155) - , getIterFn = __webpack_require__(156); - - $export($export.S + $export.F * !__webpack_require__(157)(function(iter){ Array.from(iter); }), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ - var O = toObject(arrayLike) - , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , index = 0 - , iterFn = getIterFn(O) - , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // if object isn't iterable or it's array with default iterator - use simple case - if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ - for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); - } - } else { - length = toLength(O.length); - for(result = new C(length); length > index; index++){ - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; - } - }); - - -/***/ }, + +/***/ }), /* 153 */ -/***/ function(module, exports, __webpack_require__) { - - // call something on iterator step with safe closing on error - var anObject = __webpack_require__(10); - module.exports = function(iterator, fn, value, entries){ - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch(e){ - var ret = iterator['return']; - if(ret !== undefined)anObject(ret.call(iterator)); - throw e; - } - }; - -/***/ }, -/* 154 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // check on default Array iterator - var Iterators = __webpack_require__(135) - , ITERATOR = __webpack_require__(23)('iterator') - , ArrayProto = Array.prototype; +// 20.1.2.3 Number.isInteger(number) +var $export = __webpack_require__(0); - module.exports = function(it){ - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); - }; +$export($export.S, 'Number', { isInteger: __webpack_require__(99) }); -/***/ }, -/* 155 */ -/***/ function(module, exports, __webpack_require__) { - 'use strict'; - var $defineProperty = __webpack_require__(9) - , createDesc = __webpack_require__(15); +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports = function(object, index, value){ - if(index in object)$defineProperty.f(object, index, createDesc(0, value)); - else object[index] = value; - }; +// 20.1.2.4 Number.isNaN(number) +var $export = __webpack_require__(0); -/***/ }, -/* 156 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(73) - , ITERATOR = __webpack_require__(23)('iterator') - , Iterators = __webpack_require__(135); - module.exports = __webpack_require__(7).getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; - }; - -/***/ }, -/* 157 */ -/***/ function(module, exports, __webpack_require__) { - - var ITERATOR = __webpack_require__(23)('iterator') - , SAFE_CLOSING = false; - - try { - var riter = [7][ITERATOR](); - riter['return'] = function(){ SAFE_CLOSING = true; }; - Array.from(riter, function(){ throw 2; }); - } catch(e){ /* empty */ } - - module.exports = function(exec, skipClosing){ - if(!skipClosing && !SAFE_CLOSING)return false; - var safe = false; - try { - var arr = [7] - , iter = arr[ITERATOR](); - iter.next = function(){ return {done: safe = true}; }; - arr[ITERATOR] = function(){ return iter; }; - exec(arr); - } catch(e){ /* empty */ } - return safe; - }; - -/***/ }, -/* 158 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , createProperty = __webpack_require__(155); - - // WebKit Array.of isn't generic - $export($export.S + $export.F * __webpack_require__(5)(function(){ - function F(){} - return !(Array.of.call(F) instanceof F); - }), 'Array', { - // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */){ - var index = 0 - , aLen = arguments.length - , result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); - result.length = aLen; - return result; - } - }); - -/***/ }, -/* 159 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.13 Array.prototype.join(separator) - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , arrayJoin = [].join; - - // fallback for not array-like strings - $export($export.P + $export.F * (__webpack_require__(31) != Object || !__webpack_require__(160)(arrayJoin)), 'Array', { - join: function join(separator){ - return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); - } - }); - -/***/ }, -/* 160 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Number', { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); - var fails = __webpack_require__(5); - module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); - }); - }; +/***/ }), +/* 155 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 161 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , html = __webpack_require__(46) - , cof = __webpack_require__(32) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35) - , arraySlice = [].slice; - - // fallback for not array-like ES3 strings and DOM objects - $export($export.P + $export.F * __webpack_require__(5)(function(){ - if(html)arraySlice.call(html); - }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); - end = end === undefined ? len : end; - if(klass == 'Array')return arraySlice.call(this, begin, end); - var start = toIndex(begin, len) - , upTo = toIndex(end, len) - , size = toLength(upTo - start) - , cloned = Array(size) - , i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' - ? this.charAt(start + i) - : this[start + i]; - return cloned; - } - }); - -/***/ }, -/* 162 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , aFunction = __webpack_require__(19) - , toObject = __webpack_require__(56) - , fails = __webpack_require__(5) - , $sort = [].sort - , test = [1, 2, 3]; - - $export($export.P + $export.F * (fails(function(){ - // IE8- - test.sort(undefined); - }) || !fails(function(){ - // V8 bug - test.sort(null); - // Old WebKit - }) || !__webpack_require__(160)($sort)), 'Array', { - // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn){ - return comparefn === undefined - ? $sort.call(toObject(this)) - : $sort.call(toObject(this), aFunction(comparefn)); - } - }); - -/***/ }, -/* 163 */ -/***/ function(module, exports, __webpack_require__) { +// 20.1.2.5 Number.isSafeInteger(number) +var $export = __webpack_require__(0); +var isInteger = __webpack_require__(99); +var abs = Math.abs; - 'use strict'; - var $export = __webpack_require__(6) - , $forEach = __webpack_require__(164)(0) - , STRICT = __webpack_require__(160)([].forEach, true); +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); - $export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ - return $forEach(this, callbackfn, arguments[1]); - } - }); -/***/ }, -/* 164 */ -/***/ function(module, exports, __webpack_require__) { - - // 0 -> Array#forEach - // 1 -> Array#map - // 2 -> Array#filter - // 3 -> Array#some - // 4 -> Array#every - // 5 -> Array#find - // 6 -> Array#findIndex - var ctx = __webpack_require__(18) - , IObject = __webpack_require__(31) - , toObject = __webpack_require__(56) - , toLength = __webpack_require__(35) - , asc = __webpack_require__(165); - module.exports = function(TYPE, $create){ - var IS_MAP = TYPE == 1 - , IS_FILTER = TYPE == 2 - , IS_SOME = TYPE == 3 - , IS_EVERY = TYPE == 4 - , IS_FIND_INDEX = TYPE == 6 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX - , create = $create || asc; - return function($this, callbackfn, that){ - var O = toObject($this) - , self = IObject(O) - , f = ctx(callbackfn, that, 3) - , length = toLength(self.length) - , index = 0 - , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined - , val, res; - for(;length > index; index++)if(NO_HOLES || index in self){ - val = self[index]; - res = f(val, index, O); - if(TYPE){ - if(IS_MAP)result[index] = res; // map - else if(res)switch(TYPE){ - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if(IS_EVERY)return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; - }; - -/***/ }, -/* 165 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 156 */ +/***/ (function(module, exports, __webpack_require__) { - // 9.4.2.3 ArraySpeciesCreate(originalArray, length) - var speciesConstructor = __webpack_require__(166); +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = __webpack_require__(0); - module.exports = function(original, length){ - return new (speciesConstructor(original))(length); - }; +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); -/***/ }, + +/***/ }), +/* 157 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = __webpack_require__(0); + +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); + + +/***/ }), +/* 158 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseFloat = __webpack_require__(100); +// 20.1.2.12 Number.parseFloat(string) +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + + +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseInt = __webpack_require__(101); +// 20.1.2.13 Number.parseInt(string, radix) +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + + +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseInt = __webpack_require__(101); +// 18.2.5 parseInt(string, radix) +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); + + +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $parseFloat = __webpack_require__(100); +// 18.2.4 parseFloat(string) +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); + + +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.3 Math.acosh(x) +var $export = __webpack_require__(0); +var log1p = __webpack_require__(102); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; + +$export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity +), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + + +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.5 Math.asinh(x) +var $export = __webpack_require__(0); +var $asinh = Math.asinh; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + + +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.7 Math.atanh(x) +var $export = __webpack_require__(0); +var $atanh = Math.atanh; + +// Tor Browser bug: Math.atanh(-0) -> 0 +$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); + + +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.9 Math.cbrt(x) +var $export = __webpack_require__(0); +var sign = __webpack_require__(73); + +$export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); + + +/***/ }), /* 166 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(11) - , isArray = __webpack_require__(43) - , SPECIES = __webpack_require__(23)('species'); - - module.exports = function(original){ - var C; - if(isArray(original)){ - C = original.constructor; - // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ - C = C[SPECIES]; - if(C === null)C = undefined; - } - } return C === undefined ? Array : C; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.11 Math.clz32(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); + + +/***/ }), /* 167 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $map = __webpack_require__(164)(1); +// 20.2.2.12 Math.cosh(x) +var $export = __webpack_require__(0); +var exp = Math.exp; - $export($export.P + $export.F * !__webpack_require__(160)([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ - return $map(this, callbackfn, arguments[1]); - } - }); +$export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } +}); -/***/ }, -/* 168 */ -/***/ function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $filter = __webpack_require__(164)(2); +/***/ }), +/* 168 */ +/***/ (function(module, exports, __webpack_require__) { - $export($export.P + $export.F * !__webpack_require__(160)([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ - return $filter(this, callbackfn, arguments[1]); - } - }); +// 20.2.2.14 Math.expm1(x) +var $export = __webpack_require__(0); +var $expm1 = __webpack_require__(74); -/***/ }, -/* 169 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); - 'use strict'; - var $export = __webpack_require__(6) - , $some = __webpack_require__(164)(3); - $export($export.P + $export.F * !__webpack_require__(160)([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ - return $some(this, callbackfn, arguments[1]); - } - }); +/***/ }), +/* 169 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 170 */ -/***/ function(module, exports, __webpack_require__) { +// 20.2.2.16 Math.fround(x) +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6) - , $every = __webpack_require__(164)(4); +$export($export.S, 'Math', { fround: __webpack_require__(103) }); - $export($export.P + $export.F * !__webpack_require__(160)([].every, true), 'Array', { - // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */){ - return $every(this, callbackfn, arguments[1]); - } - }); -/***/ }, +/***/ }), +/* 170 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = __webpack_require__(0); +var abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); + + +/***/ }), /* 171 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.18 Math.imul(x, y) +var $export = __webpack_require__(0); +var $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * __webpack_require__(3)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - var $export = __webpack_require__(6) - , $reduce = __webpack_require__(172); +// 20.2.2.21 Math.log10(x) +var $export = __webpack_require__(0); - $export($export.P + $export.F * !__webpack_require__(160)([].reduce, true), 'Array', { - // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], false); - } - }); +$export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; + } +}); -/***/ }, -/* 172 */ -/***/ function(module, exports, __webpack_require__) { - - var aFunction = __webpack_require__(19) - , toObject = __webpack_require__(56) - , IObject = __webpack_require__(31) - , toLength = __webpack_require__(35); - - module.exports = function(that, callbackfn, aLen, memo, isRight){ - aFunction(callbackfn); - var O = toObject(that) - , self = IObject(O) - , length = toLength(O.length) - , index = isRight ? length - 1 : 0 - , i = isRight ? -1 : 1; - if(aLen < 2)for(;;){ - if(index in self){ - memo = self[index]; - index += i; - break; - } - index += i; - if(isRight ? index < 0 : length <= index){ - throw TypeError('Reduce of empty array with no initial value'); - } - } - for(;isRight ? index >= 0 : length > index; index += i)if(index in self){ - memo = callbackfn(memo, self[index], index, O); - } - return memo; - }; - -/***/ }, + +/***/ }), /* 173 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.20 Math.log1p(x) +var $export = __webpack_require__(0); - 'use strict'; - var $export = __webpack_require__(6) - , $reduce = __webpack_require__(172); +$export($export.S, 'Math', { log1p: __webpack_require__(102) }); - $export($export.P + $export.F * !__webpack_require__(160)([].reduceRight, true), 'Array', { - // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], true); - } - }); -/***/ }, +/***/ }), /* 174 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $indexOf = __webpack_require__(34)(false) - , $native = [].indexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(160)($native)), 'Array', { - // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /*, fromIndex = 0 */){ - return NEGATIVE_ZERO - // convert -0 to +0 - ? $native.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments[1]); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.22 Math.log2(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } +}); + + +/***/ }), /* 175 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toIObject = __webpack_require__(30) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , $native = [].lastIndexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(160)($native)), 'Array', { - // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){ - // convert -0 to +0 - if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0; - var O = toIObject(this) - , length = toLength(O.length) - , index = length - 1; - if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1])); - if(index < 0)index = length + index; - for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0; - return -1; - } - }); - -/***/ }, -/* 176 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - var $export = __webpack_require__(6); +// 20.2.2.28 Math.sign(x) +var $export = __webpack_require__(0); - $export($export.P, 'Array', {copyWithin: __webpack_require__(177)}); +$export($export.S, 'Math', { sign: __webpack_require__(73) }); - __webpack_require__(178)('copyWithin'); -/***/ }, +/***/ }), +/* 176 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.30 Math.sinh(x) +var $export = __webpack_require__(0); +var expm1 = __webpack_require__(74); +var exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * __webpack_require__(3)(function () { + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); + + +/***/ }), /* 177 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - 'use strict'; - var toObject = __webpack_require__(56) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35); - - module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ - var O = toObject(this) - , len = toLength(O.length) - , to = toIndex(target, len) - , from = toIndex(start, len) - , end = arguments.length > 2 ? arguments[2] : undefined - , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) - , inc = 1; - if(from < to && to < from + count){ - inc = -1; - from += count - 1; - to += count - 1; - } - while(count-- > 0){ - if(from in O)O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } return O; - }; - -/***/ }, -/* 178 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 22.1.3.31 Array.prototype[@@unscopables] - var UNSCOPABLES = __webpack_require__(23)('unscopables') - , ArrayProto = Array.prototype; - if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(8)(ArrayProto, UNSCOPABLES, {}); - module.exports = function(key){ - ArrayProto[UNSCOPABLES][key] = true; - }; +// 20.2.2.33 Math.tanh(x) +var $export = __webpack_require__(0); +var expm1 = __webpack_require__(74); +var exp = Math.exp; -/***/ }, -/* 179 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - var $export = __webpack_require__(6); - $export($export.P, 'Array', {fill: __webpack_require__(180)}); +/***/ }), +/* 178 */ +/***/ (function(module, exports, __webpack_require__) { + +// 20.2.2.34 Math.trunc(x) +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); - __webpack_require__(178)('fill'); -/***/ }, +/***/ }), +/* 179 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var toAbsoluteIndex = __webpack_require__(35); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); + + +/***/ }), /* 180 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - 'use strict'; - var toObject = __webpack_require__(56) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35); - module.exports = function fill(value /*, start = 0, end = @length */){ - var O = toObject(this) - , length = toLength(O.length) - , aLen = arguments.length - , index = toIndex(aLen > 1 ? arguments[1] : undefined, length) - , end = aLen > 2 ? arguments[2] : undefined - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; - return O; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(15); +var toLength = __webpack_require__(8); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + } return res.join(''); + } +}); + + +/***/ }), /* 181 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) - var $export = __webpack_require__(6) - , $find = __webpack_require__(164)(5) - , KEY = 'find' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(178)(KEY); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 21.1.3.25 String.prototype.trim() +__webpack_require__(43)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; +}); + + +/***/ }), /* 182 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) - var $export = __webpack_require__(6) - , $find = __webpack_require__(164)(6) - , KEY = 'findIndex' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(178)(KEY); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $at = __webpack_require__(75)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } +}); + + +/***/ }), /* 183 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var addToUnscopables = __webpack_require__(178) - , step = __webpack_require__(184) - , Iterators = __webpack_require__(135) - , toIObject = __webpack_require__(30); - - // 22.1.3.4 Array.prototype.entries() - // 22.1.3.13 Array.prototype.keys() - // 22.1.3.29 Array.prototype.values() - // 22.1.3.30 Array.prototype[@@iterator]() - module.exports = __webpack_require__(134)(Array, 'Array', function(iterated, kind){ - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind - // 22.1.5.2.1 %ArrayIteratorPrototype%.next() - }, function(){ - var O = this._t - , kind = this._k - , index = this._i++; - if(!O || index >= O.length){ - this._t = undefined; - return step(1); - } - if(kind == 'keys' )return step(0, index); - if(kind == 'values')return step(0, O[index]); - return step(0, [index, O[index]]); - }, 'values'); - - // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) - Iterators.Arguments = Iterators.Array; - - addToUnscopables('keys'); - addToUnscopables('values'); - addToUnscopables('entries'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) + +var $export = __webpack_require__(0); +var toLength = __webpack_require__(8); +var context = __webpack_require__(76); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * __webpack_require__(77)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + + +/***/ }), /* 184 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.7 String.prototype.includes(searchString, position = 0) + +var $export = __webpack_require__(0); +var context = __webpack_require__(76); +var INCLUDES = 'includes'; - module.exports = function(done, value){ - return {value: value, done: !!done}; - }; +$export($export.P + $export.F * __webpack_require__(77)(INCLUDES), 'String', { + includes: function includes(searchString /* , position = 0 */) { + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); -/***/ }, + +/***/ }), /* 185 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); - __webpack_require__(186)('Array'); +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: __webpack_require__(72) +}); -/***/ }, + +/***/ }), /* 186 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , dP = __webpack_require__(9) - , DESCRIPTORS = __webpack_require__(4) - , SPECIES = __webpack_require__(23)('species'); - - module.exports = function(KEY){ - var C = global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { - configurable: true, - get: function(){ return this; } - }); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) + +var $export = __webpack_require__(0); +var toLength = __webpack_require__(8); +var context = __webpack_require__(76); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * __webpack_require__(77)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + + +/***/ }), /* 187 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , inheritIfRequired = __webpack_require__(80) - , dP = __webpack_require__(9).f - , gOPN = __webpack_require__(48).f - , isRegExp = __webpack_require__(128) - , $flags = __webpack_require__(188) - , $RegExp = global.RegExp - , Base = $RegExp - , proto = $RegExp.prototype - , re1 = /a/g - , re2 = /a/g - // "new" creates a new object, old webkit buggy here - , CORRECT_NEW = new $RegExp(re1) !== re1; - - if(__webpack_require__(4) && (!CORRECT_NEW || __webpack_require__(5)(function(){ - re2[__webpack_require__(23)('match')] = false; - // RegExp constructor can alter flags and IsRegExp works correct with @@match - return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; - }))){ - $RegExp = function RegExp(p, f){ - var tiRE = this instanceof $RegExp - , piRE = isRegExp(p) - , fiU = f === undefined; - return !tiRE && piRE && p.constructor === $RegExp && fiU ? p - : inheritIfRequired(CORRECT_NEW - ? new Base(piRE && !fiU ? p.source : p, f) - : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) - , tiRE ? this : proto, $RegExp); - }; - var proxy = function(key){ - key in $RegExp || dP($RegExp, key, { - configurable: true, - get: function(){ return Base[key]; }, - set: function(it){ Base[key] = it; } - }); - }; - for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]); - proto.constructor = $RegExp; - $RegExp.prototype = proto; - __webpack_require__(16)(global, 'RegExp', $RegExp); - } - - __webpack_require__(186)('RegExp'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $at = __webpack_require__(75)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +__webpack_require__(78)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + + +/***/ }), /* 188 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 21.2.5.3 get RegExp.prototype.flags - var anObject = __webpack_require__(10); - module.exports = function(){ - var that = anObject(this) - , result = ''; - if(that.global) result += 'g'; - if(that.ignoreCase) result += 'i'; - if(that.multiline) result += 'm'; - if(that.unicode) result += 'u'; - if(that.sticky) result += 'y'; - return result; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.2 String.prototype.anchor(name) +__webpack_require__(13)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; +}); + + +/***/ }), /* 189 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(190); - var anObject = __webpack_require__(10) - , $flags = __webpack_require__(188) - , DESCRIPTORS = __webpack_require__(4) - , TO_STRING = 'toString' - , $toString = /./[TO_STRING]; - - var define = function(fn){ - __webpack_require__(16)(RegExp.prototype, TO_STRING, fn, true); - }; - - // 21.2.5.14 RegExp.prototype.toString() - if(__webpack_require__(5)(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){ - define(function toString(){ - var R = anObject(this); - return '/'.concat(R.source, '/', - 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); - }); - // FF44- RegExp#toString has a wrong name - } else if($toString.name != TO_STRING){ - define(function toString(){ - return $toString.call(this); - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.3 String.prototype.big() +__webpack_require__(13)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; +}); + + +/***/ }), /* 190 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.4 String.prototype.blink() +__webpack_require__(13)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; +}); - // 21.2.5.3 get RegExp.prototype.flags() - if(__webpack_require__(4) && /./g.flags != 'g')__webpack_require__(9).f(RegExp.prototype, 'flags', { - configurable: true, - get: __webpack_require__(188) - }); -/***/ }, +/***/ }), /* 191 */ -/***/ function(module, exports, __webpack_require__) { - - // @@match logic - __webpack_require__(192)('match', 1, function(defined, MATCH, $match){ - // 21.1.3.11 String.prototype.match(regexp) - return [function match(regexp){ - 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, $match]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.5 String.prototype.bold() +__webpack_require__(13)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; +}); + + +/***/ }), /* 192 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var hide = __webpack_require__(8) - , redefine = __webpack_require__(16) - , fails = __webpack_require__(5) - , defined = __webpack_require__(33) - , wks = __webpack_require__(23); - - module.exports = function(KEY, length, exec){ - var SYMBOL = wks(KEY) - , fns = exec(defined, SYMBOL, ''[KEY]) - , strfn = fns[0] - , rxfn = fns[1]; - if(fails(function(){ - var O = {}; - O[SYMBOL] = function(){ return 7; }; - return ''[KEY](O) != 7; - })){ - redefine(String.prototype, KEY, strfn); - hide(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function(string, arg){ return rxfn.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function(string){ return rxfn.call(string, this); } - ); - } - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.6 String.prototype.fixed() +__webpack_require__(13)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; +}); + + +/***/ }), /* 193 */ -/***/ function(module, exports, __webpack_require__) { - - // @@replace logic - __webpack_require__(192)('replace', 2, function(defined, REPLACE, $replace){ - // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) - return [function replace(searchValue, replaceValue){ - 'use strict'; - var O = defined(this) - , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; - return fn !== undefined - ? fn.call(searchValue, O, replaceValue) - : $replace.call(String(O), searchValue, replaceValue); - }, $replace]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.7 String.prototype.fontcolor(color) +__webpack_require__(13)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; +}); + + +/***/ }), /* 194 */ -/***/ function(module, exports, __webpack_require__) { - - // @@search logic - __webpack_require__(192)('search', 1, function(defined, SEARCH, $search){ - // 21.1.3.15 String.prototype.search(regexp) - return [function search(regexp){ - 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[SEARCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, $search]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.8 String.prototype.fontsize(size) +__webpack_require__(13)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; +}); + + +/***/ }), /* 195 */ -/***/ function(module, exports, __webpack_require__) { - - // @@split logic - __webpack_require__(192)('split', 2, function(defined, SPLIT, $split){ - 'use strict'; - var isRegExp = __webpack_require__(128) - , _split = $split - , $push = [].push - , $SPLIT = 'split' - , LENGTH = 'length' - , LAST_INDEX = 'lastIndex'; - if( - 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || - 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || - 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || - '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || - '.'[$SPLIT](/()()/)[LENGTH] > 1 || - ''[$SPLIT](/.?/)[LENGTH] - ){ - var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group - // based on es5-shim implementation, need to rework it - $split = function(separator, limit){ - var string = String(this); - if(separator === undefined && limit === 0)return []; - // If `separator` is not a regex, use native split - if(!isRegExp(separator))return _split.call(string, separator, limit); - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var separator2, match, lastIndex, lastLength, i; - // Doesn't need flags gy, but they don't hurt - if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); - while(match = separatorCopy.exec(string)){ - // `separatorCopy.lastIndex` is not reliable cross-browser - lastIndex = match.index + match[0][LENGTH]; - if(lastIndex > lastLastIndex){ - output.push(string.slice(lastLastIndex, match.index)); - // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG - if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){ - for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined; - }); - if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1)); - lastLength = match[0][LENGTH]; - lastLastIndex = lastIndex; - if(output[LENGTH] >= splitLimit)break; - } - if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop - } - if(lastLastIndex === string[LENGTH]){ - if(lastLength || !separatorCopy.test(''))output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; - }; - // Chakra, V8 - } else if('0'[$SPLIT](undefined, 0)[LENGTH]){ - $split = function(separator, limit){ - return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); - }; - } - // 21.1.3.17 String.prototype.split(separator, limit) - return [function split(separator, limit){ - var O = defined(this) - , fn = separator == undefined ? undefined : separator[SPLIT]; - return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); - }, $split]; - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.9 String.prototype.italics() +__webpack_require__(13)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; +}); + + +/***/ }), /* 196 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(26) - , global = __webpack_require__(2) - , ctx = __webpack_require__(18) - , classof = __webpack_require__(73) - , $export = __webpack_require__(6) - , isObject = __webpack_require__(11) - , aFunction = __webpack_require__(19) - , anInstance = __webpack_require__(197) - , forOf = __webpack_require__(198) - , speciesConstructor = __webpack_require__(199) - , task = __webpack_require__(200).set - , microtask = __webpack_require__(201)() - , PROMISE = 'Promise' - , TypeError = global.TypeError - , process = global.process - , $Promise = global[PROMISE] - , process = global.process - , isNode = classof(process) == 'process' - , empty = function(){ /* empty */ } - , Internal, GenericPromiseCapability, Wrapper; - - var USE_NATIVE = !!function(){ - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1) - , FakePromise = (promise.constructor = {})[__webpack_require__(23)('species')] = function(exec){ exec(empty, empty); }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; - } catch(e){ /* empty */ } - }(); - - // helpers - var sameConstructor = function(a, b){ - // with library wrapper special case - return a === b || a === $Promise && b === Wrapper; - }; - var isThenable = function(it){ - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; - }; - var newPromiseCapability = function(C){ - return sameConstructor($Promise, C) - ? new PromiseCapability(C) - : new GenericPromiseCapability(C); - }; - var PromiseCapability = GenericPromiseCapability = function(C){ - var resolve, reject; - this.promise = new C(function($$resolve, $$reject){ - if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); - }; - var perform = function(exec){ - try { - exec(); - } catch(e){ - return {error: e}; - } - }; - var notify = function(promise, isReject){ - if(promise._n)return; - promise._n = true; - var chain = promise._c; - microtask(function(){ - var value = promise._v - , ok = promise._s == 1 - , i = 0; - var run = function(reaction){ - var handler = ok ? reaction.ok : reaction.fail - , resolve = reaction.resolve - , reject = reaction.reject - , domain = reaction.domain - , result, then; - try { - if(handler){ - if(!ok){ - if(promise._h == 2)onHandleUnhandled(promise); - promise._h = 1; - } - if(handler === true)result = value; - else { - if(domain)domain.enter(); - result = handler(value); - if(domain)domain.exit(); - } - if(result === reaction.promise){ - reject(TypeError('Promise-chain cycle')); - } else if(then = isThenable(result)){ - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch(e){ - reject(e); - } - }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if(isReject && !promise._h)onUnhandled(promise); - }); - }; - var onUnhandled = function(promise){ - task.call(global, function(){ - var value = promise._v - , abrupt, handler, console; - if(isUnhandled(promise)){ - abrupt = perform(function(){ - if(isNode){ - process.emit('unhandledRejection', value, promise); - } else if(handler = global.onunhandledrejection){ - handler({promise: promise, reason: value}); - } else if((console = global.console) && console.error){ - console.error('Unhandled promise rejection', value); - } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } promise._a = undefined; - if(abrupt)throw abrupt.error; - }); - }; - var isUnhandled = function(promise){ - if(promise._h == 1)return false; - var chain = promise._a || promise._c - , i = 0 - , reaction; - while(chain.length > i){ - reaction = chain[i++]; - if(reaction.fail || !isUnhandled(reaction.promise))return false; - } return true; - }; - var onHandleUnhandled = function(promise){ - task.call(global, function(){ - var handler; - if(isNode){ - process.emit('rejectionHandled', promise); - } else if(handler = global.onrejectionhandled){ - handler({promise: promise, reason: promise._v}); - } - }); - }; - var $reject = function(value){ - var promise = this; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if(!promise._a)promise._a = promise._c.slice(); - notify(promise, true); - }; - var $resolve = function(value){ - var promise = this - , then; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if(promise === value)throw TypeError("Promise can't be resolved itself"); - if(then = isThenable(value)){ - microtask(function(){ - var wrapper = {_w: promise, _d: false}; // wrap - try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch(e){ - $reject.call(wrapper, e); - } - }); - } else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch(e){ - $reject.call({_w: promise, _d: false}, e); // wrap - } - }; - - // constructor polyfill - if(!USE_NATIVE){ - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor){ - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch(err){ - $reject.call(this, err); - } - }; - Internal = function Promise(executor){ - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = __webpack_require__(202)($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected){ - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if(this._a)this._a.push(reaction); - if(this._s)notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected){ - return this.then(undefined, onRejected); - } - }); - PromiseCapability = function(){ - var promise = new Internal; - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise}); - __webpack_require__(22)($Promise, PROMISE); - __webpack_require__(186)(PROMISE); - Wrapper = __webpack_require__(7)[PROMISE]; - - // statics - $export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r){ - var capability = newPromiseCapability(this) - , $$reject = capability.reject; - $$reject(r); - return capability.promise; - } - }); - $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x){ - // instanceof instead of internal slot check because we should fix it without replacement native Promise core - if(x instanceof $Promise && sameConstructor(x.constructor, this))return x; - var capability = newPromiseCapability(this) - , $$resolve = capability.resolve; - $$resolve(x); - return capability.promise; - } - }); - $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(157)(function(iter){ - $Promise.all(iter)['catch'](empty); - })), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable){ - var C = this - , capability = newPromiseCapability(C) - , resolve = capability.resolve - , reject = capability.reject; - var abrupt = perform(function(){ - var values = [] - , index = 0 - , remaining = 1; - forOf(iterable, false, function(promise){ - var $index = index++ - , alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function(value){ - if(alreadyCalled)return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable){ - var C = this - , capability = newPromiseCapability(C) - , reject = capability.reject; - var abrupt = perform(function(){ - forOf(iterable, false, function(promise){ - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.10 String.prototype.link(url) +__webpack_require__(13)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; +}); + + +/***/ }), /* 197 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - module.exports = function(it, Constructor, name, forbiddenField){ - if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){ - throw TypeError(name + ': incorrect invocation!'); - } return it; - }; +// B.2.3.11 String.prototype.small() +__webpack_require__(13)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; +}); -/***/ }, + +/***/ }), /* 198 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(18) - , call = __webpack_require__(153) - , isArrayIter = __webpack_require__(154) - , anObject = __webpack_require__(10) - , toLength = __webpack_require__(35) - , getIterFn = __webpack_require__(156) - , BREAK = {} - , RETURN = {}; - var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ - var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) - , f = ctx(fn, that, entries ? 2 : 1) - , index = 0 - , length, step, iterator, result; - if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ - result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; - } - }; - exports.BREAK = BREAK; - exports.RETURN = RETURN; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.12 String.prototype.strike() +__webpack_require__(13)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; +}); + + +/***/ }), /* 199 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.3.20 SpeciesConstructor(O, defaultConstructor) - var anObject = __webpack_require__(10) - , aFunction = __webpack_require__(19) - , SPECIES = __webpack_require__(23)('species'); - module.exports = function(O, D){ - var C = anObject(O).constructor, S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.13 String.prototype.sub() +__webpack_require__(13)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; +}); + + +/***/ }), /* 200 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(18) - , invoke = __webpack_require__(76) - , html = __webpack_require__(46) - , cel = __webpack_require__(13) - , global = __webpack_require__(2) - , process = global.process - , setTask = global.setImmediate - , clearTask = global.clearImmediate - , MessageChannel = global.MessageChannel - , counter = 0 - , queue = {} - , ONREADYSTATECHANGE = 'onreadystatechange' - , defer, channel, port; - var run = function(){ - var id = +this; - if(queue.hasOwnProperty(id)){ - var fn = queue[id]; - delete queue[id]; - fn(); - } - }; - var listener = function(event){ - run.call(event.data); - }; - // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - if(!setTask || !clearTask){ - setTask = function setImmediate(fn){ - var args = [], i = 1; - while(arguments.length > i)args.push(arguments[i++]); - queue[++counter] = function(){ - invoke(typeof fn == 'function' ? fn : Function(fn), args); - }; - defer(counter); - return counter; - }; - clearTask = function clearImmediate(id){ - delete queue[id]; - }; - // Node.js 0.8- - if(__webpack_require__(32)(process) == 'process'){ - defer = function(id){ - process.nextTick(ctx(run, id, 1)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if(MessageChannel){ - channel = new MessageChannel; - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ - defer = function(id){ - global.postMessage(id + '', '*'); - }; - global.addEventListener('message', listener, false); - // IE8- - } else if(ONREADYSTATECHANGE in cel('script')){ - defer = function(id){ - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){ - html.removeChild(this); - run.call(id); - }; - }; - // Rest old browsers - } else { - defer = function(id){ - setTimeout(ctx(run, id, 1), 0); - }; - } - } - module.exports = { - set: setTask, - clear: clearTask - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// B.2.3.14 String.prototype.sup() +__webpack_require__(13)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; +}); + + +/***/ }), /* 201 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , macrotask = __webpack_require__(200).set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , Promise = global.Promise - , isNode = __webpack_require__(32)(process) == 'process'; - - module.exports = function(){ - var head, last, notify; - - var flush = function(){ - var parent, fn; - if(isNode && (parent = process.domain))parent.exit(); - while(head){ - fn = head.fn; - head = head.next; - try { - fn(); - } catch(e){ - if(head)notify(); - else last = undefined; - throw e; - } - } last = undefined; - if(parent)parent.enter(); - }; - - // Node.js - if(isNode){ - notify = function(){ - process.nextTick(flush); - }; - // browsers with MutationObserver - } else if(Observer){ - var toggle = true - , node = document.createTextNode(''); - new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new - notify = function(){ - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if(Promise && Promise.resolve){ - var promise = Promise.resolve(); - notify = function(){ - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function(){ - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } - - return function(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ - head = task; - notify(); - } last = task; - }; - }; - -/***/ }, -/* 202 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +var $export = __webpack_require__(0); + +$export($export.S, 'Array', { isArray: __webpack_require__(52) }); - var redefine = __webpack_require__(16); - module.exports = function(target, src, safe){ - for(var key in src)redefine(target, key, src[key], safe); - return target; - }; -/***/ }, +/***/ }), +/* 202 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ctx = __webpack_require__(18); +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var call = __webpack_require__(104); +var isArrayIter = __webpack_require__(80); +var toLength = __webpack_require__(8); +var createProperty = __webpack_require__(81); +var getIterFn = __webpack_require__(82); + +$export($export.S + $export.F * !__webpack_require__(54)(function (iter) { Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } +}); + + +/***/ }), /* 203 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(204); - - // 23.1 Map Objects - module.exports = __webpack_require__(205)('Map', function(get){ - return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key){ - var entry = strong.getEntry(this, key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value){ - return strong.def(this, key === 0 ? 0 : key, value); - } - }, strong, true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var createProperty = __webpack_require__(81); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * __webpack_require__(3)(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); + result.length = aLen; + return result; + } +}); + + +/***/ }), /* 204 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var dP = __webpack_require__(9).f - , create = __webpack_require__(44) - , redefineAll = __webpack_require__(202) - , ctx = __webpack_require__(18) - , anInstance = __webpack_require__(197) - , defined = __webpack_require__(33) - , forOf = __webpack_require__(198) - , $iterDefine = __webpack_require__(134) - , step = __webpack_require__(184) - , setSpecies = __webpack_require__(186) - , DESCRIPTORS = __webpack_require__(4) - , fastKey = __webpack_require__(20).fastKey - , SIZE = DESCRIPTORS ? '_s' : 'size'; - - var getEntry = function(that, key){ - // fast case - var index = fastKey(key), entry; - if(index !== 'F')return that._i[index]; - // frozen object case - for(entry = that._f; entry; entry = entry.n){ - if(entry.k == key)return entry; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear(){ - for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ - entry.r = true; - if(entry.p)entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function(key){ - var that = this - , entry = getEntry(that, key); - if(entry){ - var next = entry.n - , prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if(prev)prev.n = next; - if(next)next.p = prev; - if(that._f == entry)that._f = next; - if(that._l == entry)that._l = prev; - that[SIZE]--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /*, that = undefined */){ - anInstance(this, C, 'forEach'); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) - , entry; - while(entry = entry ? entry.n : this._f){ - f(entry.v, entry.k, this); - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key){ - return !!getEntry(this, key); - } - }); - if(DESCRIPTORS)dP(C.prototype, 'size', { - get: function(){ - return defined(this[SIZE]); - } - }); - return C; - }, - def: function(that, key, value){ - var entry = getEntry(that, key) - , prev, index; - // change existing entry - if(entry){ - entry.v = value; - // create new entry - } else { - that._l = entry = { - i: index = fastKey(key, true), // <- index - k: key, // <- key - v: value, // <- value - p: prev = that._l, // <- previous entry - n: undefined, // <- next entry - r: false // <- removed - }; - if(!that._f)that._f = entry; - if(prev)prev.n = entry; - that[SIZE]++; - // add to index - if(index !== 'F')that._i[index] = entry; - } return that; - }, - getEntry: getEntry, - setStrong: function(C, NAME, IS_MAP){ - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function(iterated, kind){ - this._t = iterated; // target - this._k = kind; // kind - this._l = undefined; // previous - }, function(){ - var that = this - , kind = that._k - , entry = that._l; - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - // get next entry - if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if(kind == 'keys' )return step(0, entry.k); - if(kind == 'values')return step(0, entry.v); - return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.13 Array.prototype.join(separator) +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(15); +var arrayJoin = [].join; + +// fallback for not array-like strings +$export($export.P + $export.F * (__webpack_require__(46) != Object || !__webpack_require__(20)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), /* 205 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , $export = __webpack_require__(6) - , redefine = __webpack_require__(16) - , redefineAll = __webpack_require__(202) - , meta = __webpack_require__(20) - , forOf = __webpack_require__(198) - , anInstance = __webpack_require__(197) - , isObject = __webpack_require__(11) - , fails = __webpack_require__(5) - , $iterDetect = __webpack_require__(157) - , setToStringTag = __webpack_require__(22) - , inheritIfRequired = __webpack_require__(80); - - module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ - var Base = global[NAME] - , C = Base - , ADDER = IS_MAP ? 'set' : 'add' - , proto = C && C.prototype - , O = {}; - var fixMethod = function(KEY){ - var fn = proto[KEY]; - redefine(proto, KEY, - KEY == 'delete' ? function(a){ - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a){ - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a){ - return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } - ); - }; - if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ - new C().entries().next(); - }))){ - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - var instance = new C - // early implementations not supports chaining - , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); }) - // most early implementations doesn't supports iterables, most modern - not close it correctly - , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - , BUGGY_ZERO = !IS_WEAK && fails(function(){ - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C() - , index = 5; - while(index--)$instance[ADDER](index, index); - return !$instance.has(-0); - }); - if(!ACCEPT_ITERABLES){ - C = wrapper(function(target, iterable){ - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base, target, C); - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); - // weak collections should not contains .clear method - if(IS_WEAK && proto.clear)delete proto.clear; - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); - - return C; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var html = __webpack_require__(68); +var cof = __webpack_require__(19); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(8); +var arraySlice = [].slice; + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * __webpack_require__(3)(function () { + if (html) arraySlice.call(html); +}), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); + + +/***/ }), /* 206 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(204); - - // 23.2 Set Objects - module.exports = __webpack_require__(205)('Set', function(get){ - return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); - } - }, strong); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var toObject = __webpack_require__(9); +var fails = __webpack_require__(3); +var $sort = [].sort; +var test = [1, 2, 3]; + +$export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); +}) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit +}) || !__webpack_require__(20)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined + ? $sort.call(toObject(this)) + : $sort.call(toObject(this), aFunction(comparefn)); + } +}); + + +/***/ }), /* 207 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var each = __webpack_require__(164)(0) - , redefine = __webpack_require__(16) - , meta = __webpack_require__(20) - , assign = __webpack_require__(67) - , weak = __webpack_require__(208) - , isObject = __webpack_require__(11) - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; - - var wrapper = function(get){ - return function WeakMap(){ - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }; - - var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); - } - }; - - // 23.3 WeakMap Objects - var $WeakMap = module.exports = __webpack_require__(205)('WeakMap', wrapper, methods, weak, true, true); - - // IE11 WeakMap frozen keys fix - if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ - // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $forEach = __webpack_require__(25)(0); +var STRICT = __webpack_require__(20)([].forEach, true); + +$export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 208 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var redefineAll = __webpack_require__(202) - , getWeak = __webpack_require__(20).getWeak - , anObject = __webpack_require__(10) - , isObject = __webpack_require__(11) - , anInstance = __webpack_require__(197) - , forOf = __webpack_require__(198) - , createArrayMethod = __webpack_require__(164) - , $has = __webpack_require__(3) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , id = 0; - - // fallback for uncaught frozen keys - var uncaughtFrozenStore = function(that){ - return that._l || (that._l = new UncaughtFrozenStore); - }; - var UncaughtFrozenStore = function(){ - this.a = []; - }; - var findUncaughtFrozen = function(store, key){ - return arrayFind(store.a, function(it){ - return it[0] === key; - }); - }; - UncaughtFrozenStore.prototype = { - get: function(key){ - var entry = findUncaughtFrozen(this, key); - if(entry)return entry[1]; - }, - has: function(key){ - return !!findUncaughtFrozen(this, key); - }, - set: function(key, value){ - var entry = findUncaughtFrozen(this, key); - if(entry)entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function(key){ - var index = arrayFindIndex(this.a, function(it){ - return it[0] === key; - }); - if(~index)this.a.splice(index, 1); - return !!~index; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this)['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function(that, key, value){ - var data = getWeak(anObject(key), true); - if(data === true)uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(4); +var isArray = __webpack_require__(52); +var SPECIES = __webpack_require__(5)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + + +/***/ }), /* 209 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var weak = __webpack_require__(208); - - // 23.4 WeakSet Objects - __webpack_require__(205)('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value){ - return weak.def(this, value, true); - } - }, weak, false, true); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $map = __webpack_require__(25)(1); + +$export($export.P + $export.F * !__webpack_require__(20)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 210 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) - var $export = __webpack_require__(6) - , aFunction = __webpack_require__(19) - , anObject = __webpack_require__(10) - , rApply = (__webpack_require__(2).Reflect || {}).apply - , fApply = Function.apply; - // MS Edge argumentsList argument is optional - $export($export.S + $export.F * !__webpack_require__(5)(function(){ - rApply(function(){}); - }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $filter = __webpack_require__(25)(2); + +$export($export.P + $export.F * !__webpack_require__(20)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 211 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) - var $export = __webpack_require__(6) - , create = __webpack_require__(44) - , aFunction = __webpack_require__(19) - , anObject = __webpack_require__(10) - , isObject = __webpack_require__(11) - , fails = __webpack_require__(5) - , bind = __webpack_require__(75) - , rConstruct = (__webpack_require__(2).Reflect || {}).construct; - - // MS Edge supports only 2 arguments and argumentsList argument is optional - // FF Nightly sets third argument as `new.target`, but does not create `this` from it - var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); - }); - var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); - }); - - $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - if(Target == newTarget){ - // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: return new Target; - case 1: return new Target(args[0]); - case 2: return new Target(args[0], args[1]); - case 3: return new Target(args[0], args[1], args[2]); - case 4: return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [null]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args)); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $some = __webpack_require__(25)(3); + +$export($export.P + $export.F * !__webpack_require__(20)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 212 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) - var dP = __webpack_require__(9) - , $export = __webpack_require__(6) - , anObject = __webpack_require__(10) - , toPrimitive = __webpack_require__(14); - - // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - $export($export.S + $export.F * __webpack_require__(5)(function(){ - Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); - }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes){ - anObject(target); - propertyKey = toPrimitive(propertyKey, true); - anObject(attributes); - try { - dP.f(target, propertyKey, attributes); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $every = __webpack_require__(25)(4); + +$export($export.P + $export.F * !__webpack_require__(20)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } +}); + + +/***/ }), /* 213 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $reduce = __webpack_require__(105); - // 26.1.4 Reflect.deleteProperty(target, propertyKey) - var $export = __webpack_require__(6) - , gOPD = __webpack_require__(49).f - , anObject = __webpack_require__(10); +$export($export.P + $export.F * !__webpack_require__(20)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } +}); - $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey){ - var desc = gOPD(anObject(target), propertyKey); - return desc && !desc.configurable ? false : delete target[propertyKey]; - } - }); -/***/ }, +/***/ }), /* 214 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 26.1.5 Reflect.enumerate(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(10); - var Enumerate = function(iterated){ - this._t = anObject(iterated); // target - this._i = 0; // next index - var keys = this._k = [] // keys - , key; - for(key in iterated)keys.push(key); - }; - __webpack_require__(136)(Enumerate, 'Object', function(){ - var that = this - , keys = that._k - , key; - do { - if(that._i >= keys.length)return {value: undefined, done: true}; - } while(!((key = keys[that._i++]) in that._t)); - return {value: key, done: false}; - }); - - $export($export.S, 'Reflect', { - enumerate: function enumerate(target){ - return new Enumerate(target); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $reduce = __webpack_require__(105); + +$export($export.P + $export.F * !__webpack_require__(20)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } +}); + + +/***/ }), /* 215 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.6 Reflect.get(target, propertyKey [, receiver]) - var gOPD = __webpack_require__(49) - , getPrototypeOf = __webpack_require__(57) - , has = __webpack_require__(3) - , $export = __webpack_require__(6) - , isObject = __webpack_require__(11) - , anObject = __webpack_require__(10); - - function get(target, propertyKey/*, receiver*/){ - var receiver = arguments.length < 3 ? target : arguments[2] - , desc, proto; - if(anObject(target) === receiver)return target[propertyKey]; - if(desc = gOPD.f(target, propertyKey))return has(desc, 'value') - ? desc.value - : desc.get !== undefined - ? desc.get.call(receiver) - : undefined; - if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver); - } - - $export($export.S, 'Reflect', {get: get}); - -/***/ }, -/* 216 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) - var gOPD = __webpack_require__(49) - , $export = __webpack_require__(6) - , anObject = __webpack_require__(10); +var $export = __webpack_require__(0); +var $indexOf = __webpack_require__(50)(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; - $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ - return gOPD.f(anObject(target), propertyKey); - } - }); +$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(20)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments[1]); + } +}); -/***/ }, + +/***/ }), +/* 216 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toIObject = __webpack_require__(15); +var toInteger = __webpack_require__(23); +var toLength = __webpack_require__(8); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(20)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; + return -1; + } +}); + + +/***/ }), /* 217 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 26.1.8 Reflect.getPrototypeOf(target) - var $export = __webpack_require__(6) - , getProto = __webpack_require__(57) - , anObject = __webpack_require__(10); +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = __webpack_require__(0); - $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target){ - return getProto(anObject(target)); - } - }); +$export($export.P, 'Array', { copyWithin: __webpack_require__(106) }); -/***/ }, -/* 218 */ -/***/ function(module, exports, __webpack_require__) { +__webpack_require__(31)('copyWithin'); - // 26.1.9 Reflect.has(target, propertyKey) - var $export = __webpack_require__(6); - $export($export.S, 'Reflect', { - has: function has(target, propertyKey){ - return propertyKey in target; - } - }); +/***/ }), +/* 218 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 219 */ -/***/ function(module, exports, __webpack_require__) { +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = __webpack_require__(0); + +$export($export.P, 'Array', { fill: __webpack_require__(84) }); - // 26.1.10 Reflect.isExtensible(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(10) - , $isExtensible = Object.isExtensible; +__webpack_require__(31)('fill'); - $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target){ - anObject(target); - return $isExtensible ? $isExtensible(target) : true; - } - }); -/***/ }, +/***/ }), +/* 219 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = __webpack_require__(0); +var $find = __webpack_require__(25)(5); +var KEY = 'find'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +__webpack_require__(31)(KEY); + + +/***/ }), /* 220 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = __webpack_require__(0); +var $find = __webpack_require__(25)(6); +var KEY = 'findIndex'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +__webpack_require__(31)(KEY); + + +/***/ }), +/* 221 */ +/***/ (function(module, exports, __webpack_require__) { - // 26.1.11 Reflect.ownKeys(target) - var $export = __webpack_require__(6); +__webpack_require__(38)('Array'); - $export($export.S, 'Reflect', {ownKeys: __webpack_require__(221)}); -/***/ }, -/* 221 */ -/***/ function(module, exports, __webpack_require__) { - - // all object keys, includes non-enumerable and symbols - var gOPN = __webpack_require__(48) - , gOPS = __webpack_require__(41) - , anObject = __webpack_require__(10) - , Reflect = __webpack_require__(2).Reflect; - module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ - var keys = gOPN.f(anObject(it)) - , getSymbols = gOPS.f; - return getSymbols ? keys.concat(getSymbols(it)) : keys; - }; - -/***/ }, +/***/ }), /* 222 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.12 Reflect.preventExtensions(target) - var $export = __webpack_require__(6) - , anObject = __webpack_require__(10) - , $preventExtensions = Object.preventExtensions; - - $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target){ - anObject(target); - try { - if($preventExtensions)$preventExtensions(target); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var inheritIfRequired = __webpack_require__(70); +var dP = __webpack_require__(7).f; +var gOPN = __webpack_require__(37).f; +var isRegExp = __webpack_require__(53); +var $flags = __webpack_require__(55); +var $RegExp = global.RegExp; +var Base = $RegExp; +var proto = $RegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; +// "new" creates a new object, old webkit buggy here +var CORRECT_NEW = new $RegExp(re1) !== re1; + +if (__webpack_require__(6) && (!CORRECT_NEW || __webpack_require__(3)(function () { + re2[__webpack_require__(5)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp; + var piRE = isRegExp(p); + var fiU = f === undefined; + return !tiRE && piRE && p.constructor === $RegExp && fiU ? p + : inheritIfRequired(CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) + , tiRE ? this : proto, $RegExp); + }; + var proxy = function (key) { + key in $RegExp || dP($RegExp, key, { + configurable: true, + get: function () { return Base[key]; }, + set: function (it) { Base[key] = it; } + }); + }; + for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + __webpack_require__(12)(global, 'RegExp', $RegExp); +} + +__webpack_require__(38)('RegExp'); + + +/***/ }), /* 223 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) - var dP = __webpack_require__(9) - , gOPD = __webpack_require__(49) - , getPrototypeOf = __webpack_require__(57) - , has = __webpack_require__(3) - , $export = __webpack_require__(6) - , createDesc = __webpack_require__(15) - , anObject = __webpack_require__(10) - , isObject = __webpack_require__(11); - - function set(target, propertyKey, V/*, receiver*/){ - var receiver = arguments.length < 4 ? target : arguments[3] - , ownDesc = gOPD.f(anObject(target), propertyKey) - , existingDescriptor, proto; - if(!ownDesc){ - if(isObject(proto = getPrototypeOf(target))){ - return set(proto, propertyKey, V, receiver); - } - ownDesc = createDesc(0); - } - if(has(ownDesc, 'value')){ - if(ownDesc.writable === false || !isObject(receiver))return false; - existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); - return true; - } - return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); - } - - $export($export.S, 'Reflect', {set: set}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +__webpack_require__(108); +var anObject = __webpack_require__(1); +var $flags = __webpack_require__(55); +var DESCRIPTORS = __webpack_require__(6); +var TO_STRING = 'toString'; +var $toString = /./[TO_STRING]; + +var define = function (fn) { + __webpack_require__(12)(RegExp.prototype, TO_STRING, fn, true); +}; + +// 21.2.5.14 RegExp.prototype.toString() +if (__webpack_require__(3)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { + define(function toString() { + var R = anObject(this); + return '/'.concat(R.source, '/', + 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); + }); +// FF44- RegExp#toString has a wrong name +} else if ($toString.name != TO_STRING) { + define(function toString() { + return $toString.call(this); + }); +} + + +/***/ }), /* 224 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.14 Reflect.setPrototypeOf(target, proto) - var $export = __webpack_require__(6) - , setProto = __webpack_require__(71); - - if(setProto)$export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto){ - setProto.check(target, proto); - try { - setProto.set(target, proto); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, -/* 225 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // 20.3.3.1 / 15.9.4.4 Date.now() - var $export = __webpack_require__(6); +// @@match logic +__webpack_require__(56)('match', 1, function (defined, MATCH, $match) { + // 21.1.3.11 String.prototype.match(regexp) + return [function match(regexp) { + 'use strict'; + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, $match]; +}); - $export($export.S, 'Date', {now: function(){ return new Date().getTime(); }}); -/***/ }, +/***/ }), +/* 225 */ +/***/ (function(module, exports, __webpack_require__) { + +// @@replace logic +__webpack_require__(56)('replace', 2, function (defined, REPLACE, $replace) { + // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) + return [function replace(searchValue, replaceValue) { + 'use strict'; + var O = defined(this); + var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined + ? fn.call(searchValue, O, replaceValue) + : $replace.call(String(O), searchValue, replaceValue); + }, $replace]; +}); + + +/***/ }), /* 226 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(14); - - $export($export.P + $export.F * __webpack_require__(5)(function(){ - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1; - }), 'Date', { - toJSON: function toJSON(key){ - var O = toObject(this) - , pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// @@search logic +__webpack_require__(56)('search', 1, function (defined, SEARCH, $search) { + // 21.1.3.15 String.prototype.search(regexp) + return [function search(regexp) { + 'use strict'; + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, $search]; +}); + + +/***/ }), /* 227 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() - var $export = __webpack_require__(6) - , fails = __webpack_require__(5) - , getTime = Date.prototype.getTime; - - var lz = function(num){ - return num > 9 ? num : '0' + num; - }; - - // PhantomJS / old WebKit has a broken implementations - $export($export.P + $export.F * (fails(function(){ - return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; - }) || !fails(function(){ - new Date(NaN).toISOString(); - })), 'Date', { - toISOString: function toISOString(){ - if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value'); - var d = this - , y = d.getUTCFullYear() - , m = d.getUTCMilliseconds() - , s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + - '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + - 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + - ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// @@split logic +__webpack_require__(56)('split', 2, function (defined, SPLIT, $split) { + 'use strict'; + var isRegExp = __webpack_require__(53); + var _split = $split; + var $push = [].push; + var $SPLIT = 'split'; + var LENGTH = 'length'; + var LAST_INDEX = 'lastIndex'; + if ( + 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || + 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || + 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || + '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || + '.'[$SPLIT](/()()/)[LENGTH] > 1 || + ''[$SPLIT](/.?/)[LENGTH] + ) { + var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group + // based on es5-shim implementation, need to rework it + $split = function (separator, limit) { + var string = String(this); + if (separator === undefined && limit === 0) return []; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) return _split.call(string, separator, limit); + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var separator2, match, lastIndex, lastLength, i; + // Doesn't need flags gy, but they don't hurt + if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); + while (match = separatorCopy.exec(string)) { + // `separatorCopy.lastIndex` is not reliable cross-browser + lastIndex = match.index + match[0][LENGTH]; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG + // eslint-disable-next-line no-loop-func + if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () { + for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined; + }); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); + lastLength = match[0][LENGTH]; + lastLastIndex = lastIndex; + if (output[LENGTH] >= splitLimit) break; + } + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + } + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; + }; + // Chakra, V8 + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + $split = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); + }; + } + // 21.1.3.17 String.prototype.split(separator, limit) + return [function split(separator, limit) { + var O = defined(this); + var fn = separator == undefined ? undefined : separator[SPLIT]; + return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); + }, $split]; +}); + + +/***/ }), /* 228 */ -/***/ function(module, exports, __webpack_require__) { - - var DateProto = Date.prototype - , INVALID_DATE = 'Invalid Date' - , TO_STRING = 'toString' - , $toString = DateProto[TO_STRING] - , getTime = DateProto.getTime; - if(new Date(NaN) + '' != INVALID_DATE){ - __webpack_require__(16)(DateProto, TO_STRING, function toString(){ - var value = getTime.call(this); - return value === value ? $toString.call(this) : INVALID_DATE; - }); - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(30); +var global = __webpack_require__(2); +var ctx = __webpack_require__(18); +var classof = __webpack_require__(48); +var $export = __webpack_require__(0); +var isObject = __webpack_require__(4); +var aFunction = __webpack_require__(10); +var anInstance = __webpack_require__(39); +var forOf = __webpack_require__(40); +var speciesConstructor = __webpack_require__(57); +var task = __webpack_require__(86).set; +var microtask = __webpack_require__(87)(); +var newPromiseCapabilityModule = __webpack_require__(88); +var perform = __webpack_require__(109); +var userAgent = __webpack_require__(58); +var promiseResolve = __webpack_require__(110); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[__webpack_require__(5)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = __webpack_require__(41)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +__webpack_require__(42)($Promise, PROMISE); +__webpack_require__(38)(PROMISE); +Wrapper = __webpack_require__(26)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(54)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + + +/***/ }), /* 229 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var TO_PRIMITIVE = __webpack_require__(23)('toPrimitive') - , proto = Date.prototype; +"use strict"; - if(!(TO_PRIMITIVE in proto))__webpack_require__(8)(proto, TO_PRIMITIVE, __webpack_require__(230)); +var weak = __webpack_require__(115); +var validate = __webpack_require__(45); +var WEAK_SET = 'WeakSet'; -/***/ }, -/* 230 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var anObject = __webpack_require__(10) - , toPrimitive = __webpack_require__(14) - , NUMBER = 'number'; +// 23.4 WeakSet Objects +__webpack_require__(59)(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); + } +}, weak, false, true); - module.exports = function(hint){ - if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint'); - return toPrimitive(anObject(this), hint != NUMBER); - }; -/***/ }, +/***/ }), +/* 230 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = __webpack_require__(0); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var rApply = (__webpack_require__(2).Reflect || {}).apply; +var fApply = Function.apply; +// MS Edge argumentsList argument is optional +$export($export.S + $export.F * !__webpack_require__(3)(function () { + rApply(function () { /* empty */ }); +}), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } +}); + + +/***/ }), /* 231 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , $typed = __webpack_require__(232) - , buffer = __webpack_require__(233) - , anObject = __webpack_require__(10) - , toIndex = __webpack_require__(37) - , toLength = __webpack_require__(35) - , isObject = __webpack_require__(11) - , ArrayBuffer = __webpack_require__(2).ArrayBuffer - , speciesConstructor = __webpack_require__(199) - , $ArrayBuffer = buffer.ArrayBuffer - , $DataView = buffer.DataView - , $isView = $typed.ABV && ArrayBuffer.isView - , $slice = $ArrayBuffer.prototype.slice - , VIEW = $typed.VIEW - , ARRAY_BUFFER = 'ArrayBuffer'; - - $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer}); - - $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { - // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it){ - return $isView && $isView(it) || isObject(it) && VIEW in it; - } - }); - - $export($export.P + $export.U + $export.F * __webpack_require__(5)(function(){ - return !new $ArrayBuffer(2).slice(1, undefined).byteLength; - }), ARRAY_BUFFER, { - // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end){ - if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength - , first = toIndex(start, len) - , final = toIndex(end === undefined ? len : end, len) - , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)) - , viewS = new $DataView(this) - , viewT = new $DataView(result) - , index = 0; - while(first < final){ - viewT.setUint8(index++, viewS.getUint8(first++)); - } return result; - } - }); - - __webpack_require__(186)(ARRAY_BUFFER); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $export = __webpack_require__(0); +var create = __webpack_require__(36); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(4); +var fails = __webpack_require__(3); +var bind = __webpack_require__(96); +var rConstruct = (__webpack_require__(2).Reflect || {}).construct; + +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); +}); + +$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), /* 232 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(2) - , hide = __webpack_require__(8) - , uid = __webpack_require__(17) - , TYPED = uid('typed_array') - , VIEW = uid('view') - , ABV = !!(global.ArrayBuffer && global.DataView) - , CONSTR = ABV - , i = 0, l = 9, Typed; - - var TypedArrayConstructors = ( - 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' - ).split(','); - - while(i < l){ - if(Typed = global[TypedArrayConstructors[i++]]){ - hide(Typed.prototype, TYPED, true); - hide(Typed.prototype, VIEW, true); - } else CONSTR = false; - } - - module.exports = { - ABV: ABV, - CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = __webpack_require__(7); +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var toPrimitive = __webpack_require__(21); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * __webpack_require__(3)(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), /* 233 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(2) - , DESCRIPTORS = __webpack_require__(4) - , LIBRARY = __webpack_require__(26) - , $typed = __webpack_require__(232) - , hide = __webpack_require__(8) - , redefineAll = __webpack_require__(202) - , fails = __webpack_require__(5) - , anInstance = __webpack_require__(197) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , gOPN = __webpack_require__(48).f - , dP = __webpack_require__(9).f - , arrayFill = __webpack_require__(180) - , setToStringTag = __webpack_require__(22) - , ARRAY_BUFFER = 'ArrayBuffer' - , DATA_VIEW = 'DataView' - , PROTOTYPE = 'prototype' - , WRONG_LENGTH = 'Wrong length!' - , WRONG_INDEX = 'Wrong index!' - , $ArrayBuffer = global[ARRAY_BUFFER] - , $DataView = global[DATA_VIEW] - , Math = global.Math - , RangeError = global.RangeError - , Infinity = global.Infinity - , BaseBuffer = $ArrayBuffer - , abs = Math.abs - , pow = Math.pow - , floor = Math.floor - , log = Math.log - , LN2 = Math.LN2 - , BUFFER = 'buffer' - , BYTE_LENGTH = 'byteLength' - , BYTE_OFFSET = 'byteOffset' - , $BUFFER = DESCRIPTORS ? '_b' : BUFFER - , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH - , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; - - // IEEE754 conversions based on https://github.com/feross/ieee754 - var packIEEE754 = function(value, mLen, nBytes){ - var buffer = Array(nBytes) - , eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0 - , i = 0 - , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0 - , e, m, c; - value = abs(value) - if(value != value || value === Infinity){ - m = value != value ? 1 : 0; - e = eMax; - } else { - e = floor(log(value) / LN2); - if(value * (c = pow(2, -e)) < 1){ - e--; - c *= 2; - } - if(e + eBias >= 1){ - value += rt / c; - } else { - value += rt * pow(2, 1 - eBias); - } - if(value * c >= 2){ - e++; - c /= 2; - } - if(e + eBias >= eMax){ - m = 0; - e = eMax; - } else if(e + eBias >= 1){ - m = (value * c - 1) * pow(2, mLen); - e = e + eBias; - } else { - m = value * pow(2, eBias - 1) * pow(2, mLen); - e = 0; - } - } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); - e = e << mLen | m; - eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); - buffer[--i] |= s * 128; - return buffer; - }; - var unpackIEEE754 = function(buffer, mLen, nBytes){ - var eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , nBits = eLen - 7 - , i = nBytes - 1 - , s = buffer[i--] - , e = s & 127 - , m; - s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if(e === 0){ - e = 1 - eBias; - } else if(e === eMax){ - return m ? NaN : s ? -Infinity : Infinity; - } else { - m = m + pow(2, mLen); - e = e - eBias; - } return (s ? -1 : 1) * m * pow(2, e - mLen); - }; - - var unpackI32 = function(bytes){ - return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; - }; - var packI8 = function(it){ - return [it & 0xff]; - }; - var packI16 = function(it){ - return [it & 0xff, it >> 8 & 0xff]; - }; - var packI32 = function(it){ - return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; - }; - var packF64 = function(it){ - return packIEEE754(it, 52, 8); - }; - var packF32 = function(it){ - return packIEEE754(it, 23, 4); - }; - - var addGetter = function(C, key, internal){ - dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }}); - }; - - var get = function(view, bytes, index, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = store.slice(start, start + bytes); - return isLittleEndian ? pack : pack.reverse(); - }; - var set = function(view, bytes, index, conversion, value, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; - }; - - var validateArrayBufferArguments = function(that, length){ - anInstance(that, $ArrayBuffer, ARRAY_BUFFER); - var numberLength = +length - , byteLength = toLength(numberLength); - if(numberLength != byteLength)throw RangeError(WRONG_LENGTH); - return byteLength; - }; - - if(!$typed.ABV){ - $ArrayBuffer = function ArrayBuffer(length){ - var byteLength = validateArrayBufferArguments(this, length); - this._b = arrayFill.call(Array(byteLength), 0); - this[$LENGTH] = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength){ - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH] - , offset = toInteger(byteOffset); - if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH); - this[$BUFFER] = buffer; - this[$OFFSET] = offset; - this[$LENGTH] = byteLength; - }; - - if(DESCRIPTORS){ - addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); - addGetter($DataView, BUFFER, '_b'); - addGetter($DataView, BYTE_LENGTH, '_l'); - addGetter($DataView, BYTE_OFFSET, '_o'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset){ - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset){ - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])); - }, - getUint32: function getUint32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); - }, - getFloat64: function getFloat64(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); - }, - setInt8: function setInt8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setUint8: function setUint8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setInt16: function setInt16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setUint16: function setUint16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setInt32: function setInt32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setUint32: function setUint32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packF32, value, arguments[2]); - }, - setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){ - set(this, 8, byteOffset, packF64, value, arguments[2]); - } - }); - } else { - if(!fails(function(){ - new $ArrayBuffer; // eslint-disable-line no-new - }) || !fails(function(){ - new $ArrayBuffer(.5); // eslint-disable-line no-new - })){ - $ArrayBuffer = function ArrayBuffer(length){ - return new BaseBuffer(validateArrayBufferArguments(this, length)); - }; - var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){ - if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]); - }; - if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)) - , $setInt8 = $DataView[PROTOTYPE].setInt8; - view.setInt8(0, 2147483648); - view.setInt8(1, 2147483649); - if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - } - }, true); - } - setToStringTag($ArrayBuffer, ARRAY_BUFFER); - setToStringTag($DataView, DATA_VIEW); - hide($DataView[PROTOTYPE], $typed.VIEW, true); - exports[ARRAY_BUFFER] = $ArrayBuffer; - exports[DATA_VIEW] = $DataView; - -/***/ }, -/* 234 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var $export = __webpack_require__(6); - $export($export.G + $export.W + $export.F * !__webpack_require__(232).ABV, { - DataView: __webpack_require__(233).DataView - }); +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = __webpack_require__(0); +var gOPD = __webpack_require__(16).f; +var anObject = __webpack_require__(1); -/***/ }, -/* 235 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); - __webpack_require__(236)('Int8', 1, function(init){ - return function Int8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), +/* 234 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 26.1.5 Reflect.enumerate(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var Enumerate = function (iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); +}; +__webpack_require__(79)(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var gOPD = __webpack_require__(16); +var getPrototypeOf = __webpack_require__(17); +var has = __webpack_require__(14); +var $export = __webpack_require__(0); +var isObject = __webpack_require__(4); +var anObject = __webpack_require__(1); + +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', { get: get }); + + +/***/ }), /* 236 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - if(__webpack_require__(4)){ - var LIBRARY = __webpack_require__(26) - , global = __webpack_require__(2) - , fails = __webpack_require__(5) - , $export = __webpack_require__(6) - , $typed = __webpack_require__(232) - , $buffer = __webpack_require__(233) - , ctx = __webpack_require__(18) - , anInstance = __webpack_require__(197) - , propertyDesc = __webpack_require__(15) - , hide = __webpack_require__(8) - , redefineAll = __webpack_require__(202) - , toInteger = __webpack_require__(36) - , toLength = __webpack_require__(35) - , toIndex = __webpack_require__(37) - , toPrimitive = __webpack_require__(14) - , has = __webpack_require__(3) - , same = __webpack_require__(69) - , classof = __webpack_require__(73) - , isObject = __webpack_require__(11) - , toObject = __webpack_require__(56) - , isArrayIter = __webpack_require__(154) - , create = __webpack_require__(44) - , getPrototypeOf = __webpack_require__(57) - , gOPN = __webpack_require__(48).f - , getIterFn = __webpack_require__(156) - , uid = __webpack_require__(17) - , wks = __webpack_require__(23) - , createArrayMethod = __webpack_require__(164) - , createArrayIncludes = __webpack_require__(34) - , speciesConstructor = __webpack_require__(199) - , ArrayIterators = __webpack_require__(183) - , Iterators = __webpack_require__(135) - , $iterDetect = __webpack_require__(157) - , setSpecies = __webpack_require__(186) - , arrayFill = __webpack_require__(180) - , arrayCopyWithin = __webpack_require__(177) - , $DP = __webpack_require__(9) - , $GOPD = __webpack_require__(49) - , dP = $DP.f - , gOPD = $GOPD.f - , RangeError = global.RangeError - , TypeError = global.TypeError - , Uint8Array = global.Uint8Array - , ARRAY_BUFFER = 'ArrayBuffer' - , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER - , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT' - , PROTOTYPE = 'prototype' - , ArrayProto = Array[PROTOTYPE] - , $ArrayBuffer = $buffer.ArrayBuffer - , $DataView = $buffer.DataView - , arrayForEach = createArrayMethod(0) - , arrayFilter = createArrayMethod(2) - , arraySome = createArrayMethod(3) - , arrayEvery = createArrayMethod(4) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , arrayIncludes = createArrayIncludes(true) - , arrayIndexOf = createArrayIncludes(false) - , arrayValues = ArrayIterators.values - , arrayKeys = ArrayIterators.keys - , arrayEntries = ArrayIterators.entries - , arrayLastIndexOf = ArrayProto.lastIndexOf - , arrayReduce = ArrayProto.reduce - , arrayReduceRight = ArrayProto.reduceRight - , arrayJoin = ArrayProto.join - , arraySort = ArrayProto.sort - , arraySlice = ArrayProto.slice - , arrayToString = ArrayProto.toString - , arrayToLocaleString = ArrayProto.toLocaleString - , ITERATOR = wks('iterator') - , TAG = wks('toStringTag') - , TYPED_CONSTRUCTOR = uid('typed_constructor') - , DEF_CONSTRUCTOR = uid('def_constructor') - , ALL_CONSTRUCTORS = $typed.CONSTR - , TYPED_ARRAY = $typed.TYPED - , VIEW = $typed.VIEW - , WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function(O, length){ - return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); - }); - - var LITTLE_ENDIAN = fails(function(){ - return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; - }); - - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){ - new Uint8Array(1).set({}); - }); - - var strictToLength = function(it, SAME){ - if(it === undefined)throw TypeError(WRONG_LENGTH); - var number = +it - , length = toLength(it); - if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH); - return length; - }; - - var toOffset = function(it, BYTES){ - var offset = toInteger(it); - if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!'); - return offset; - }; - - var validate = function(it){ - if(isObject(it) && TYPED_ARRAY in it)return it; - throw TypeError(it + ' is not a typed array!'); - }; - - var allocate = function(C, length){ - if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){ - throw TypeError('It is not a typed array constructor!'); - } return new C(length); - }; - - var speciesFromList = function(O, list){ - return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); - }; - - var fromList = function(C, list){ - var index = 0 - , length = list.length - , result = allocate(C, length); - while(length > index)result[index] = list[index++]; - return result; - }; - - var addGetter = function(it, key, internal){ - dP(it, key, {get: function(){ return this._d[internal]; }}); - }; - - var $from = function from(source /*, mapfn, thisArg */){ - var O = toObject(source) - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , iterFn = getIterFn(O) - , i, length, values, result, step, iterator; - if(iterFn != undefined && !isArrayIter(iterFn)){ - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){ - values.push(step.value); - } O = values; - } - if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){ - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; - }; - - var $of = function of(/*...items*/){ - var index = 0 - , length = arguments.length - , result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; - return result; - }; - - // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); }); - - var $toLocaleString = function toLocaleString(){ - return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); - }; - - var proto = { - copyWithin: function copyWithin(target, start /*, end */){ - return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }, - every: function every(callbackfn /*, thisArg */){ - return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars - return arrayFill.apply(validate(this), arguments); - }, - filter: function filter(callbackfn /*, thisArg */){ - return speciesFromList(this, arrayFilter(validate(this), callbackfn, - arguments.length > 1 ? arguments[1] : undefined)); - }, - find: function find(predicate /*, thisArg */){ - return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - findIndex: function findIndex(predicate /*, thisArg */){ - return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - forEach: function forEach(callbackfn /*, thisArg */){ - arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - indexOf: function indexOf(searchElement /*, fromIndex */){ - return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - includes: function includes(searchElement /*, fromIndex */){ - return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - join: function join(separator){ // eslint-disable-line no-unused-vars - return arrayJoin.apply(validate(this), arguments); - }, - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars - return arrayLastIndexOf.apply(validate(this), arguments); - }, - map: function map(mapfn /*, thisArg */){ - return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); - }, - reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduce.apply(validate(this), arguments); - }, - reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduceRight.apply(validate(this), arguments); - }, - reverse: function reverse(){ - var that = this - , length = validate(that).length - , middle = Math.floor(length / 2) - , index = 0 - , value; - while(index < middle){ - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; - }, - some: function some(callbackfn /*, thisArg */){ - return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - sort: function sort(comparefn){ - return arraySort.call(validate(this), comparefn); - }, - subarray: function subarray(begin, end){ - var O = validate(this) - , length = O.length - , $begin = toIndex(begin, length); - return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( - O.buffer, - O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toIndex(end, length)) - $begin) - ); - } - }; - - var $slice = function slice(start, end){ - return speciesFromList(this, arraySlice.call(validate(this), start, end)); - }; - - var $set = function set(arrayLike /*, offset */){ - validate(this); - var offset = toOffset(arguments[1], 1) - , length = this.length - , src = toObject(arrayLike) - , len = toLength(src.length) - , index = 0; - if(len + offset > length)throw RangeError(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; - }; - - var $iterators = { - entries: function entries(){ - return arrayEntries.call(validate(this)); - }, - keys: function keys(){ - return arrayKeys.call(validate(this)); - }, - values: function values(){ - return arrayValues.call(validate(this)); - } - }; - - var isTAIndex = function(target, key){ - return isObject(target) - && target[TYPED_ARRAY] - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); - }; - var $getDesc = function getOwnPropertyDescriptor(target, key){ - return isTAIndex(target, key = toPrimitive(key, true)) - ? propertyDesc(2, target[key]) - : gOPD(target, key); - }; - var $setDesc = function defineProperty(target, key, desc){ - if(isTAIndex(target, key = toPrimitive(key, true)) - && isObject(desc) - && has(desc, 'value') - && !has(desc, 'get') - && !has(desc, 'set') - // TODO: add validation descriptor w/o calling accessors - && !desc.configurable - && (!has(desc, 'writable') || desc.writable) - && (!has(desc, 'enumerable') || desc.enumerable) - ){ - target[key] = desc.value; - return target; - } else return dP(target, key, desc); - }; - - if(!ALL_CONSTRUCTORS){ - $GOPD.f = $getDesc; - $DP.f = $setDesc; - } - - $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { - getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc - }); - - if(fails(function(){ arrayToString.call({}); })){ - arrayToString = arrayToLocaleString = function toString(){ - return arrayJoin.call(this); - } - } - - var $TypedArrayPrototype$ = redefineAll({}, proto); - redefineAll($TypedArrayPrototype$, $iterators); - hide($TypedArrayPrototype$, ITERATOR, $iterators.values); - redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function(){ /* noop */ }, - toString: arrayToString, - toLocaleString: $toLocaleString - }); - addGetter($TypedArrayPrototype$, 'buffer', 'b'); - addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); - addGetter($TypedArrayPrototype$, 'byteLength', 'l'); - addGetter($TypedArrayPrototype$, 'length', 'e'); - dP($TypedArrayPrototype$, TAG, { - get: function(){ return this[TYPED_ARRAY]; } - }); - - module.exports = function(KEY, BYTES, wrapper, CLAMPED){ - CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array' - , ISNT_UINT8 = NAME != 'Uint8Array' - , GETTER = 'get' + KEY - , SETTER = 'set' + KEY - , TypedArray = global[NAME] - , Base = TypedArray || {} - , TAC = TypedArray && getPrototypeOf(TypedArray) - , FORCED = !TypedArray || !$typed.ABV - , O = {} - , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index){ - var data = that._d; - return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); - }; - var setter = function(that, index, value){ - var data = that._d; - if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; - data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); - }; - var addElement = function(that, index){ - dP(that, index, { - get: function(){ - return getter(this, index); - }, - set: function(value){ - return setter(this, index, value); - }, - enumerable: true - }); - }; - if(FORCED){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME, '_d'); - var index = 0 - , offset = 0 - , buffer, byteLength, length, klass; - if(!isObject(data)){ - length = strictToLength(data, true) - byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - buffer = data; - offset = toOffset($offset, BYTES); - var $len = data.byteLength; - if($length === undefined){ - if($len % BYTES)throw RangeError(WRONG_LENGTH); - byteLength = $len - offset; - if(byteLength < 0)throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if(TYPED_ARRAY in data){ - return fromList(TypedArray, data); - } else { - return $from.call(TypedArray, data); - } - hide(that, '_d', { - b: buffer, - o: offset, - l: byteLength, - e: length, - v: new $DataView(buffer) - }); - while(index < length)addElement(that, index++); - }); - TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); - hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if(!$iterDetect(function(iter){ - // V8 works with iterators, but fails in many other cases - // https://code.google.com/p/v8/issues/detail?id=4552 - new TypedArray(null); // eslint-disable-line no-new - new TypedArray(iter); // eslint-disable-line no-new - }, true)){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME); - var klass; - // `ws` module bug, temporarily remove validation length for Uint8Array - // https://github.com/websockets/ws/pull/645 - if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8)); - if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - return $length !== undefined - ? new Base(data, toOffset($offset, BYTES), $length) - : $offset !== undefined - ? new Base(data, toOffset($offset, BYTES)) - : new Base(data); - } - if(TYPED_ARRAY in data)return fromList(TypedArray, data); - return $from.call(TypedArray, data); - }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){ - if(!(key in TypedArray))hide(TypedArray, key, Base[key]); - }); - TypedArray[PROTOTYPE] = TypedArrayPrototype; - if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray; - } - var $nativeIterator = TypedArrayPrototype[ITERATOR] - , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined) - , $iterator = $iterators.values; - hide(TypedArray, TYPED_CONSTRUCTOR, true); - hide(TypedArrayPrototype, TYPED_ARRAY, NAME); - hide(TypedArrayPrototype, VIEW, true); - hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - - if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){ - dP(TypedArrayPrototype, TAG, { - get: function(){ return NAME; } - }); - } - - O[NAME] = TypedArray; - - $export($export.G + $export.W + $export.F * (TypedArray != Base), O); - - $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES, - from: $from, - of: $of - }); - - if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); - - $export($export.P, NAME, proto); - - setSpecies(NAME); - - $export($export.P + $export.F * FORCED_SET, NAME, {set: $set}); - - $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - - $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString}); - - $export($export.P + $export.F * fails(function(){ - new TypedArray(1).slice(); - }), NAME, {slice: $slice}); - - $export($export.P + $export.F * (fails(function(){ - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString() - }) || !fails(function(){ - TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, {toLocaleString: $toLocaleString}); - - Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator); - }; - } else module.exports = function(){ /* empty */ }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var gOPD = __webpack_require__(16); +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); + +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } +}); + + +/***/ }), /* 237 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Uint8', 1, function(init){ - return function Uint8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = __webpack_require__(0); +var getProto = __webpack_require__(17); +var anObject = __webpack_require__(1); -/***/ }, +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } +}); + + +/***/ }), /* 238 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.9 Reflect.has(target, propertyKey) +var $export = __webpack_require__(0); - __webpack_require__(236)('Uint8', 1, function(init){ - return function Uint8ClampedArray(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }, true); +$export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); -/***/ }, + +/***/ }), /* 239 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Int16', 2, function(init){ - return function Int16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.10 Reflect.isExtensible(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var $isExtensible = Object.isExtensible; -/***/ }, -/* 240 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); - __webpack_require__(236)('Uint16', 2, function(init){ - return function Uint16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, -/* 241 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 240 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Int32', 4, function(init){ - return function Int32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 26.1.11 Reflect.ownKeys(target) +var $export = __webpack_require__(0); -/***/ }, -/* 242 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Reflect', { ownKeys: __webpack_require__(116) }); - __webpack_require__(236)('Uint32', 4, function(init){ - return function Uint32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), +/* 241 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.12 Reflect.preventExtensions(target) +var $export = __webpack_require__(0); +var anObject = __webpack_require__(1); +var $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), +/* 242 */ +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var dP = __webpack_require__(7); +var gOPD = __webpack_require__(16); +var getPrototypeOf = __webpack_require__(17); +var has = __webpack_require__(14); +var $export = __webpack_require__(0); +var createDesc = __webpack_require__(32); +var anObject = __webpack_require__(1); +var isObject = __webpack_require__(4); + +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', { set: set }); + + +/***/ }), /* 243 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = __webpack_require__(0); +var setProto = __webpack_require__(69); + +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } +}); + + +/***/ }), +/* 244 */ +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(236)('Float32', 4, function(init){ - return function Float32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); +// 20.3.3.1 / 15.9.4.4 Date.now() +var $export = __webpack_require__(0); -/***/ }, -/* 244 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); - __webpack_require__(236)('Float64', 8, function(init){ - return function Float64Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); -/***/ }, +/***/ }), /* 245 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/tc39/Array.prototype.includes - var $export = __webpack_require__(6) - , $includes = __webpack_require__(34)(true); +/***/ (function(module, exports, __webpack_require__) { - $export($export.P, 'Array', { - includes: function includes(el /*, fromIndex = 0 */){ - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } - }); +"use strict"; - __webpack_require__(178)('includes'); +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(21); -/***/ }, -/* 246 */ -/***/ function(module, exports, __webpack_require__) { +$export($export.P + $export.F * __webpack_require__(3)(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); - 'use strict'; - // https://github.com/mathiasbynens/String.prototype.at - var $export = __webpack_require__(6) - , $at = __webpack_require__(125)(true); - $export($export.P, 'String', { - at: function at(pos){ - return $at(this, pos); - } - }); +/***/ }), +/* 246 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 247 */ -/***/ function(module, exports, __webpack_require__) { +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var $export = __webpack_require__(0); +var toISOString = __webpack_require__(247); - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(6) - , $pad = __webpack_require__(248); +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); - $export($export.P, 'String', { - padStart: function padStart(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); - } - }); -/***/ }, +/***/ }), +/* 247 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = __webpack_require__(3); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; + + +/***/ }), /* 248 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-string-pad-start-end - var toLength = __webpack_require__(35) - , repeat = __webpack_require__(85) - , defined = __webpack_require__(33); - - module.exports = function(that, maxLength, fillString, left){ - var S = String(defined(that)) - , stringLength = S.length - , fillStr = fillString === undefined ? ' ' : String(fillString) - , intMaxLength = toLength(maxLength); - if(intMaxLength <= stringLength || fillStr == '')return S; - var fillLen = intMaxLength - stringLength - , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); - return left ? stringFiller + S : S + stringFiller; - }; - - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var DateProto = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var $toString = DateProto[TO_STRING]; +var getTime = DateProto.getTime; +if (new Date(NaN) + '' != INVALID_DATE) { + __webpack_require__(12)(DateProto, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? $toString.call(this) : INVALID_DATE; + }); +} + + +/***/ }), /* 249 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(6) - , $pad = __webpack_require__(248); +var TO_PRIMITIVE = __webpack_require__(5)('toPrimitive'); +var proto = Date.prototype; - $export($export.P, 'String', { - padEnd: function padEnd(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); - } - }); +if (!(TO_PRIMITIVE in proto)) __webpack_require__(11)(proto, TO_PRIMITIVE, __webpack_require__(250)); -/***/ }, + +/***/ }), /* 250 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(81)('trimLeft', function($trim){ - return function trimLeft(){ - return $trim(this, 1); - }; - }, 'trimStart'); +"use strict"; -/***/ }, -/* 251 */ -/***/ function(module, exports, __webpack_require__) { +var anObject = __webpack_require__(1); +var toPrimitive = __webpack_require__(21); +var NUMBER = 'number'; - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(81)('trimRight', function($trim){ - return function trimRight(){ - return $trim(this, 2); - }; - }, 'trimEnd'); +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); + return toPrimitive(anObject(this), hint != NUMBER); +}; -/***/ }, + +/***/ }), +/* 251 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var $typed = __webpack_require__(60); +var buffer = __webpack_require__(89); +var anObject = __webpack_require__(1); +var toAbsoluteIndex = __webpack_require__(35); +var toLength = __webpack_require__(8); +var isObject = __webpack_require__(4); +var ArrayBuffer = __webpack_require__(2).ArrayBuffer; +var speciesConstructor = __webpack_require__(57); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; + +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + +$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } +}); + +$export($export.P + $export.U + $export.F * __webpack_require__(3)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; +}), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { + viewT.setUint8(index++, viewS.getUint8(first++)); + } return result; + } +}); + +__webpack_require__(38)(ARRAY_BUFFER); + + +/***/ }), /* 252 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://tc39.github.io/String.prototype.matchAll/ - var $export = __webpack_require__(6) - , defined = __webpack_require__(33) - , toLength = __webpack_require__(35) - , isRegExp = __webpack_require__(128) - , getFlags = __webpack_require__(188) - , RegExpProto = RegExp.prototype; - - var $RegExpStringIterator = function(regexp, string){ - this._r = regexp; - this._s = string; - }; - - __webpack_require__(136)($RegExpStringIterator, 'RegExp String', function next(){ - var match = this._r.exec(this._s); - return {value: match, done: match === null}; - }); - - $export($export.P, 'String', { - matchAll: function matchAll(regexp){ - defined(this); - if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); - var S = String(this) - , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) - , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); - rx.lastIndex = toLength(regexp.lastIndex); - return new $RegExpStringIterator(rx, S); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +$export($export.G + $export.W + $export.F * !__webpack_require__(60).ABV, { + DataView: __webpack_require__(89).DataView +}); + + +/***/ }), /* 253 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(27)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - __webpack_require__(25)('asyncIterator'); -/***/ }, +/***/ }), /* 254 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - __webpack_require__(25)('observable'); +__webpack_require__(27)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); -/***/ }, + +/***/ }), /* 255 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-object-getownpropertydescriptors - var $export = __webpack_require__(6) - , ownKeys = __webpack_require__(221) - , toIObject = __webpack_require__(30) - , gOPD = __webpack_require__(49) - , createProperty = __webpack_require__(155); - - $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ - var O = toIObject(object) - , getDesc = gOPD.f - , keys = ownKeys(O) - , result = {} - , i = 0 - , key; - while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); - return result; - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(27)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), /* 256 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(6) - , $values = __webpack_require__(257)(false); +__webpack_require__(27)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - $export($export.S, 'Object', { - values: function values(it){ - return $values(it); - } - }); -/***/ }, +/***/ }), /* 257 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(28) - , toIObject = __webpack_require__(30) - , isEnum = __webpack_require__(42).f; - module.exports = function(isEntries){ - return function(it){ - var O = toIObject(it) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , result = [] - , key; - while(length > i)if(isEnum.call(O, key = keys[i++])){ - result.push(isEntries ? [key, O[key]] : O[key]); - } return result; - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(27)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 258 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(6) - , $entries = __webpack_require__(257)(true); +__webpack_require__(27)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - $export($export.S, 'Object', { - entries: function entries(it){ - return $entries(it); - } - }); -/***/ }, +/***/ }), /* 259 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , aFunction = __webpack_require__(19) - , $defineProperty = __webpack_require__(9); - - // B.2.2.2 Object.prototype.__defineGetter__(P, getter) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __defineGetter__: function __defineGetter__(P, getter){ - $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(27)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 260 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(27)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); - // Forced replacement prototype accessors methods - module.exports = __webpack_require__(26)|| !__webpack_require__(5)(function(){ - var K = Math.random(); - // In FF throws only define methods - __defineSetter__.call(null, K, function(){ /* empty */}); - delete __webpack_require__(2)[K]; - }); -/***/ }, +/***/ }), /* 261 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , aFunction = __webpack_require__(19) - , $defineProperty = __webpack_require__(9); - - // B.2.2.3 Object.prototype.__defineSetter__(P, setter) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __defineSetter__: function __defineSetter__(P, setter){ - $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(27)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), /* 262 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(14) - , getPrototypeOf = __webpack_require__(57) - , getOwnPropertyDescriptor = __webpack_require__(49).f; - - // B.2.2.4 Object.prototype.__lookupGetter__(P) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __lookupGetter__: function __lookupGetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.get; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/Array.prototype.includes +var $export = __webpack_require__(0); +var $includes = __webpack_require__(50)(true); + +$export($export.P, 'Array', { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +__webpack_require__(31)('includes'); + + +/***/ }), /* 263 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(6) - , toObject = __webpack_require__(56) - , toPrimitive = __webpack_require__(14) - , getPrototypeOf = __webpack_require__(57) - , getOwnPropertyDescriptor = __webpack_require__(49).f; - - // B.2.2.5 Object.prototype.__lookupSetter__(P) - __webpack_require__(4) && $export($export.P + __webpack_require__(260), 'Object', { - __lookupSetter__: function __lookupSetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.set; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap +var $export = __webpack_require__(0); +var flattenIntoArray = __webpack_require__(118); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(8); +var aFunction = __webpack_require__(10); +var arraySpeciesCreate = __webpack_require__(83); + +$export($export.P, 'Array', { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen, A; + aFunction(callbackfn); + sourceLen = toLength(O.length); + A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); + return A; + } +}); + +__webpack_require__(31)('flatMap'); + + +/***/ }), /* 264 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten +var $export = __webpack_require__(0); +var flattenIntoArray = __webpack_require__(118); +var toObject = __webpack_require__(9); +var toLength = __webpack_require__(8); +var toInteger = __webpack_require__(23); +var arraySpeciesCreate = __webpack_require__(83); - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(6); +$export($export.P, 'Array', { + flatten: function flatten(/* depthArg = 1 */) { + var depthArg = arguments[0]; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); - $export($export.P + $export.R, 'Map', {toJSON: __webpack_require__(265)('Map')}); +__webpack_require__(31)('flatten'); -/***/ }, + +/***/ }), /* 265 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var classof = __webpack_require__(73) - , from = __webpack_require__(266); - module.exports = function(NAME){ - return function toJSON(){ - if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); - return from(this); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/mathiasbynens/String.prototype.at +var $export = __webpack_require__(0); +var $at = __webpack_require__(75)(true); + +$export($export.P, 'String', { + at: function at(pos) { + return $at(this, pos); + } +}); + + +/***/ }), /* 266 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - var forOf = __webpack_require__(198); +// https://github.com/tc39/proposal-string-pad-start-end +var $export = __webpack_require__(0); +var $pad = __webpack_require__(119); +var userAgent = __webpack_require__(58); - module.exports = function(iter, ITERATOR){ - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; - }; +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); -/***/ }, +/***/ }), /* 267 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(6); +// https://github.com/tc39/proposal-string-pad-start-end +var $export = __webpack_require__(0); +var $pad = __webpack_require__(119); +var userAgent = __webpack_require__(58); - $export($export.P + $export.R, 'Set', {toJSON: __webpack_require__(265)('Set')}); +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); -/***/ }, + +/***/ }), /* 268 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - // https://github.com/ljharb/proposal-global - var $export = __webpack_require__(6); +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +__webpack_require__(43)('trimLeft', function ($trim) { + return function trimLeft() { + return $trim(this, 1); + }; +}, 'trimStart'); - $export($export.S, 'System', {global: __webpack_require__(2)}); -/***/ }, +/***/ }), /* 269 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - // https://github.com/ljharb/proposal-is-error - var $export = __webpack_require__(6) - , cof = __webpack_require__(32); +"use strict"; - $export($export.S, 'Error', { - isError: function isError(it){ - return cof(it) === 'Error'; - } - }); +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +__webpack_require__(43)('trimRight', function ($trim) { + return function trimRight() { + return $trim(this, 2); + }; +}, 'trimEnd'); -/***/ }, + +/***/ }), /* 270 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/String.prototype.matchAll/ +var $export = __webpack_require__(0); +var defined = __webpack_require__(22); +var toLength = __webpack_require__(8); +var isRegExp = __webpack_require__(53); +var getFlags = __webpack_require__(55); +var RegExpProto = RegExp.prototype; + +var $RegExpStringIterator = function (regexp, string) { + this._r = regexp; + this._s = string; +}; + +__webpack_require__(79)($RegExpStringIterator, 'RegExp String', function next() { + var match = this._r.exec(this._s); + return { value: match, done: match === null }; +}); + +$export($export.P, 'String', { + matchAll: function matchAll(regexp) { + defined(this); + if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); + var S = String(this); + var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); + var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + rx.lastIndex = toLength(regexp.lastIndex); + return new $RegExpStringIterator(rx, S); + } +}); + + +/***/ }), +/* 271 */ +/***/ (function(module, exports, __webpack_require__) { - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); +__webpack_require__(65)('asyncIterator'); - $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } - }); -/***/ }, -/* 271 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 272 */ +/***/ (function(module, exports, __webpack_require__) { - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); +__webpack_require__(65)('observable'); - $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } - }); -/***/ }, -/* 272 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - imulh: function imulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >> 16 - , v1 = $v >> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } - }); - -/***/ }, +/***/ }), /* 273 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(6); - - $export($export.S, 'Math', { - umulh: function umulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >>> 16 - , v1 = $v >>> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-getownpropertydescriptors +var $export = __webpack_require__(0); +var ownKeys = __webpack_require__(116); +var toIObject = __webpack_require__(15); +var gOPD = __webpack_require__(16); +var createProperty = __webpack_require__(81); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } + return result; + } +}); + + +/***/ }), /* 274 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__(0); +var $values = __webpack_require__(120)(false); - metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); - }}); +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); -/***/ }, + +/***/ }), /* 275 */ -/***/ function(module, exports, __webpack_require__) { - - var Map = __webpack_require__(203) - , $export = __webpack_require__(6) - , shared = __webpack_require__(21)('metadata') - , store = shared.store || (shared.store = new (__webpack_require__(207))); - - var getOrCreateMetadataMap = function(target, targetKey, create){ - var targetMetadata = store.get(target); - if(!targetMetadata){ - if(!create)return undefined; - store.set(target, targetMetadata = new Map); - } - var keyMetadata = targetMetadata.get(targetKey); - if(!keyMetadata){ - if(!create)return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map); - } return keyMetadata; - }; - var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); - }; - var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); - }; - var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); - }; - var ordinaryOwnMetadataKeys = function(target, targetKey){ - var metadataMap = getOrCreateMetadataMap(target, targetKey, false) - , keys = []; - if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); - return keys; - }; - var toMetaKey = function(it){ - return it === undefined || typeof it == 'symbol' ? it : String(it); - }; - var exp = function(O){ - $export($export.S, 'Reflect', O); - }; - - module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__(0); +var $entries = __webpack_require__(120)(true); + +$export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } +}); + + +/***/ }), /* 276 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , toMetaKey = metadata.key - , getOrCreateMetadataMap = metadata.map - , store = metadata.store; - - metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) - , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; - if(metadataMap.size)return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var aFunction = __webpack_require__(10); +var $defineProperty = __webpack_require__(7); + +// B.2.2.2 Object.prototype.__defineGetter__(P, getter) +__webpack_require__(6) && $export($export.P + __webpack_require__(61), 'Object', { + __defineGetter__: function __defineGetter__(P, getter) { + $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); + } +}); + + +/***/ }), /* 277 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , getPrototypeOf = __webpack_require__(57) - , ordinaryHasOwnMetadata = metadata.has - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; - - var ordinaryGetMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; - }; - - metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, -/* 278 */ -/***/ function(module, exports, __webpack_require__) { - - var Set = __webpack_require__(206) - , from = __webpack_require__(266) - , metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , getPrototypeOf = __webpack_require__(57) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; - - var ordinaryMetadataKeys = function(O, P){ - var oKeys = ordinaryOwnMetadataKeys(O, P) - , parent = getPrototypeOf(O); - if(parent === null)return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; - }; - - metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); - -/***/ }, -/* 279 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var aFunction = __webpack_require__(10); +var $defineProperty = __webpack_require__(7); - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +// B.2.2.3 Object.prototype.__defineSetter__(P, setter) +__webpack_require__(6) && $export($export.P + __webpack_require__(61), 'Object', { + __defineSetter__: function __defineSetter__(P, setter) { + $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); + } +}); - metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); -/***/ }, +/***/ }), +/* 278 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(17); +var getOwnPropertyDescriptor = __webpack_require__(16).f; + +// B.2.2.4 Object.prototype.__lookupGetter__(P) +__webpack_require__(6) && $export($export.P + __webpack_require__(61), 'Object', { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.get; + } while (O = getPrototypeOf(O)); + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $export = __webpack_require__(0); +var toObject = __webpack_require__(9); +var toPrimitive = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(17); +var getOwnPropertyDescriptor = __webpack_require__(16).f; + +// B.2.2.5 Object.prototype.__lookupSetter__(P) +__webpack_require__(6) && $export($export.P + __webpack_require__(61), 'Object', { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.set; + } while (O = getPrototypeOf(O)); + } +}); + + +/***/ }), /* 280 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(0); - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(121)('Map') }); - metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); -/***/ }, +/***/ }), /* 281 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , getPrototypeOf = __webpack_require__(57) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; - - var ordinaryHasMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; - }; - - metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(0); + +$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(121)('Set') }); + + +/***/ }), /* 282 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +__webpack_require__(62)('Map'); - metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); -/***/ }, +/***/ }), /* 283 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(275) - , anObject = __webpack_require__(10) - , aFunction = __webpack_require__(19) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; - - metadata.exp({metadata: function metadata(metadataKey, metadataValue){ - return function decorator(target, targetKey){ - ordinaryDefineOwnMetadata( - metadataKey, metadataValue, - (targetKey !== undefined ? anObject : aFunction)(target), - toMetaKey(targetKey) - ); - }; - }}); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +__webpack_require__(62)('Set'); + + +/***/ }), /* 284 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask - var $export = __webpack_require__(6) - , microtask = __webpack_require__(201)() - , process = __webpack_require__(2).process - , isNode = __webpack_require__(32)(process) == 'process'; - - $export($export.G, { - asap: function asap(fn){ - var domain = isNode && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +__webpack_require__(62)('WeakMap'); + + +/***/ }), /* 285 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/zenparsing/es-observable - var $export = __webpack_require__(6) - , global = __webpack_require__(2) - , core = __webpack_require__(7) - , microtask = __webpack_require__(201)() - , OBSERVABLE = __webpack_require__(23)('observable') - , aFunction = __webpack_require__(19) - , anObject = __webpack_require__(10) - , anInstance = __webpack_require__(197) - , redefineAll = __webpack_require__(202) - , hide = __webpack_require__(8) - , forOf = __webpack_require__(198) - , RETURN = forOf.RETURN; - - var getMethod = function(fn){ - return fn == null ? undefined : aFunction(fn); - }; - - var cleanupSubscription = function(subscription){ - var cleanup = subscription._c; - if(cleanup){ - subscription._c = undefined; - cleanup(); - } - }; - - var subscriptionClosed = function(subscription){ - return subscription._o === undefined; - }; - - var closeSubscription = function(subscription){ - if(!subscriptionClosed(subscription)){ - subscription._o = undefined; - cleanupSubscription(subscription); - } - }; - - var Subscription = function(observer, subscriber){ - anObject(observer); - this._c = undefined; - this._o = observer; - observer = new SubscriptionObserver(this); - try { - var cleanup = subscriber(observer) - , subscription = cleanup; - if(cleanup != null){ - if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); }; - else aFunction(cleanup); - this._c = cleanup; - } - } catch(e){ - observer.error(e); - return; - } if(subscriptionClosed(this))cleanupSubscription(this); - }; - - Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe(){ closeSubscription(this); } - }); - - var SubscriptionObserver = function(subscription){ - this._s = subscription; - }; - - SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - try { - var m = getMethod(observer.next); - if(m)return m.call(observer, value); - } catch(e){ - try { - closeSubscription(subscription); - } finally { - throw e; - } - } - } - }, - error: function error(value){ - var subscription = this._s; - if(subscriptionClosed(subscription))throw value; - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.error); - if(!m)throw value; - value = m.call(observer, value); - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - }, - complete: function complete(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.complete); - value = m ? m.call(observer, value) : undefined; - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - } - } - }); - - var $Observable = function Observable(subscriber){ - anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); - }; - - redefineAll($Observable.prototype, { - subscribe: function subscribe(observer){ - return new Subscription(observer, this._f); - }, - forEach: function forEach(fn){ - var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject){ - aFunction(fn); - var subscription = that.subscribe({ - next : function(value){ - try { - return fn(value); - } catch(e){ - reject(e); - subscription.unsubscribe(); - } - }, - error: reject, - complete: resolve - }); - }); - } - }); - - redefineAll($Observable, { - from: function from(x){ - var C = typeof this === 'function' ? this : $Observable; - var method = getMethod(anObject(x)[OBSERVABLE]); - if(method){ - var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer){ - return observable.subscribe(observer); - }); - } - return new C(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - try { - if(forOf(x, false, function(it){ - observer.next(it); - if(done)return RETURN; - }) === RETURN)return; - } catch(e){ - if(done)throw e; - observer.error(e); - return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - }, - of: function of(){ - for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - for(var i = 0; i < items.length; ++i){ - observer.next(items[i]); - if(done)return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - } - }); - - hide($Observable.prototype, OBSERVABLE, function(){ return this; }); - - $export($export.G, {Observable: $Observable}); - - __webpack_require__(186)('Observable'); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +__webpack_require__(62)('WeakSet'); + + +/***/ }), /* 286 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +__webpack_require__(63)('Map'); - var $export = __webpack_require__(6) - , $task = __webpack_require__(200); - $export($export.G + $export.B, { - setImmediate: $task.set, - clearImmediate: $task.clear - }); -/***/ }, +/***/ }), /* 287 */ -/***/ function(module, exports, __webpack_require__) { - - var $iterators = __webpack_require__(183) - , redefine = __webpack_require__(16) - , global = __webpack_require__(2) - , hide = __webpack_require__(8) - , Iterators = __webpack_require__(135) - , wks = __webpack_require__(23) - , ITERATOR = wks('iterator') - , TO_STRING_TAG = wks('toStringTag') - , ArrayValues = Iterators.Array; - - for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype - , key; - if(proto){ - if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues); - if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = ArrayValues; - for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true); - } - } - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +__webpack_require__(63)('Set'); + + +/***/ }), /* 288 */ -/***/ function(module, exports, __webpack_require__) { - - // ie9- setTimeout & setInterval additional parameters fix - var global = __webpack_require__(2) - , $export = __webpack_require__(6) - , invoke = __webpack_require__(76) - , partial = __webpack_require__(289) - , navigator = global.navigator - , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check - var wrap = function(set){ - return MSIE ? function(fn, time /*, ...args */){ - return set(invoke( - partial, - [].slice.call(arguments, 2), - typeof fn == 'function' ? fn : Function(fn) - ), time); - } : set; - }; - $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), - setInterval: wrap(global.setInterval) - }); - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +__webpack_require__(63)('WeakMap'); + + +/***/ }), /* 289 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var path = __webpack_require__(290) - , invoke = __webpack_require__(76) - , aFunction = __webpack_require__(19); - module.exports = function(/* ...pargs */){ - var fn = aFunction(this) - , length = arguments.length - , pargs = Array(length) - , i = 0 - , _ = path._ - , holder = false; - while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; - return function(/* ...args */){ - var that = this - , aLen = arguments.length - , j = 0, k = 0, args; - if(!holder && !aLen)return invoke(fn, pargs, that); - args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(aLen > k)args.push(arguments[k++]); - return invoke(fn, args, that); - }; - }; - -/***/ }, +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +__webpack_require__(63)('WeakSet'); + + +/***/ }), /* 290 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-global +var $export = __webpack_require__(0); + +$export($export.G, { global: __webpack_require__(2) }); + + +/***/ }), +/* 291 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-global +var $export = __webpack_require__(0); + +$export($export.S, 'System', { global: __webpack_require__(2) }); + + +/***/ }), +/* 292 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/ljharb/proposal-is-error +var $export = __webpack_require__(0); +var cof = __webpack_require__(19); + +$export($export.S, 'Error', { + isError: function isError(it) { + return cof(it) === 'Error'; + } +}); + + +/***/ }), +/* 293 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + clamp: function clamp(x, lower, upper) { + return Math.min(upper, Math.max(lower, x)); + } +}); + + +/***/ }), +/* 294 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); + + +/***/ }), +/* 295 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var RAD_PER_DEG = 180 / Math.PI; + +$export($export.S, 'Math', { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var scale = __webpack_require__(123); +var fround = __webpack_require__(103); + +$export($export.S, 'Math', { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); + + +/***/ }), +/* 297 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { + imulh: function imulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); + } +}); + + +/***/ }), +/* 300 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); + + +/***/ }), +/* 301 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); +var DEG_PER_RAD = Math.PI / 180; + +$export($export.S, 'Math', { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); + + +/***/ }), +/* 302 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { scale: __webpack_require__(123) }); + - module.exports = __webpack_require__(2); +/***/ }), +/* 303 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +var $export = __webpack_require__(0); -/***/ } +$export($export.S, 'Math', { + umulh: function umulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); + } +}); + + +/***/ }), +/* 304 */ +/***/ (function(module, exports, __webpack_require__) { + +// http://jfbastien.github.io/papers/Math.signbit.html +var $export = __webpack_require__(0); + +$export($export.S, 'Math', { signbit: function signbit(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; +} }); + + +/***/ }), +/* 305 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// https://github.com/tc39/proposal-promise-finally + +var $export = __webpack_require__(0); +var core = __webpack_require__(26); +var global = __webpack_require__(2); +var speciesConstructor = __webpack_require__(57); +var promiseResolve = __webpack_require__(110); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + + +/***/ }), +/* 306 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-promise-try +var $export = __webpack_require__(0); +var newPromiseCapability = __webpack_require__(88); +var perform = __webpack_require__(109); + +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); + + +/***/ }), +/* 307 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var toMetaKey = metadata.key; +var ordinaryDefineOwnMetadata = metadata.set; + +metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); +} }); + + +/***/ }), +/* 308 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var toMetaKey = metadata.key; +var getOrCreateMetadataMap = metadata.map; +var store = metadata.store; + +metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); +} }); + + +/***/ }), +/* 309 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(17); +var ordinaryHasOwnMetadata = metadata.has; +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; + +var ordinaryGetMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; +}; + +metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { + return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 310 */ +/***/ (function(module, exports, __webpack_require__) { + +var Set = __webpack_require__(113); +var from = __webpack_require__(122); +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(17); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; + +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; +}; + +metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { + return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); +} }); + + +/***/ }), +/* 311 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; + +metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { + return ordinaryGetOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 312 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; + +metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { + return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); +} }); + + +/***/ }), +/* 313 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var getPrototypeOf = __webpack_require__(17); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; + +var ordinaryHasMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; +}; + +metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { + return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 314 */ +/***/ (function(module, exports, __webpack_require__) { + +var metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; + +metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { + return ordinaryHasOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); +} }); + + +/***/ }), +/* 315 */ +/***/ (function(module, exports, __webpack_require__) { + +var $metadata = __webpack_require__(28); +var anObject = __webpack_require__(1); +var aFunction = __webpack_require__(10); +var toMetaKey = $metadata.key; +var ordinaryDefineOwnMetadata = $metadata.set; + +$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, targetKey) { + ordinaryDefineOwnMetadata( + metadataKey, metadataValue, + (targetKey !== undefined ? anObject : aFunction)(target), + toMetaKey(targetKey) + ); + }; +} }); + + +/***/ }), +/* 316 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask +var $export = __webpack_require__(0); +var microtask = __webpack_require__(87)(); +var process = __webpack_require__(2).process; +var isNode = __webpack_require__(19)(process) == 'process'; + +$export($export.G, { + asap: function asap(fn) { + var domain = isNode && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/zenparsing/es-observable +var $export = __webpack_require__(0); +var global = __webpack_require__(2); +var core = __webpack_require__(26); +var microtask = __webpack_require__(87)(); +var OBSERVABLE = __webpack_require__(5)('observable'); +var aFunction = __webpack_require__(10); +var anObject = __webpack_require__(1); +var anInstance = __webpack_require__(39); +var redefineAll = __webpack_require__(41); +var hide = __webpack_require__(11); +var forOf = __webpack_require__(40); +var RETURN = forOf.RETURN; + +var getMethod = function (fn) { + return fn == null ? undefined : aFunction(fn); +}; + +var cleanupSubscription = function (subscription) { + var cleanup = subscription._c; + if (cleanup) { + subscription._c = undefined; + cleanup(); + } +}; + +var subscriptionClosed = function (subscription) { + return subscription._o === undefined; +}; + +var closeSubscription = function (subscription) { + if (!subscriptionClosed(subscription)) { + subscription._o = undefined; + cleanupSubscription(subscription); + } +}; + +var Subscription = function (observer, subscriber) { + anObject(observer); + this._c = undefined; + this._o = observer; + observer = new SubscriptionObserver(this); + try { + var cleanup = subscriber(observer); + var subscription = cleanup; + if (cleanup != null) { + if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; + else aFunction(cleanup); + this._c = cleanup; + } + } catch (e) { + observer.error(e); + return; + } if (subscriptionClosed(this)) cleanupSubscription(this); +}; + +Subscription.prototype = redefineAll({}, { + unsubscribe: function unsubscribe() { closeSubscription(this); } +}); + +var SubscriptionObserver = function (subscription) { + this._s = subscription; +}; + +SubscriptionObserver.prototype = redefineAll({}, { + next: function next(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + try { + var m = getMethod(observer.next); + if (m) return m.call(observer, value); + } catch (e) { + try { + closeSubscription(subscription); + } finally { + throw e; + } + } + } + }, + error: function error(value) { + var subscription = this._s; + if (subscriptionClosed(subscription)) throw value; + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.error); + if (!m) throw value; + value = m.call(observer, value); + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + } cleanupSubscription(subscription); + return value; + }, + complete: function complete(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.complete); + value = m ? m.call(observer, value) : undefined; + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + } cleanupSubscription(subscription); + return value; + } + } +}); + +var $Observable = function Observable(subscriber) { + anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); +}; + +redefineAll($Observable.prototype, { + subscribe: function subscribe(observer) { + return new Subscription(observer, this._f); + }, + forEach: function forEach(fn) { + var that = this; + return new (core.Promise || global.Promise)(function (resolve, reject) { + aFunction(fn); + var subscription = that.subscribe({ + next: function (value) { + try { + return fn(value); + } catch (e) { + reject(e); + subscription.unsubscribe(); + } + }, + error: reject, + complete: resolve + }); + }); + } +}); + +redefineAll($Observable, { + from: function from(x) { + var C = typeof this === 'function' ? this : $Observable; + var method = getMethod(anObject(x)[OBSERVABLE]); + if (method) { + var observable = anObject(method.call(x)); + return observable.constructor === C ? observable : new C(function (observer) { + return observable.subscribe(observer); + }); + } + return new C(function (observer) { + var done = false; + microtask(function () { + if (!done) { + try { + if (forOf(x, false, function (it) { + observer.next(it); + if (done) return RETURN; + }) === RETURN) return; + } catch (e) { + if (done) throw e; + observer.error(e); + return; + } observer.complete(); + } + }); + return function () { done = true; }; + }); + }, + of: function of() { + for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; + return new (typeof this === 'function' ? this : $Observable)(function (observer) { + var done = false; + microtask(function () { + if (!done) { + for (var j = 0; j < items.length; ++j) { + observer.next(items[j]); + if (done) return; + } observer.complete(); + } + }); + return function () { done = true; }; + }); + } +}); + +hide($Observable.prototype, OBSERVABLE, function () { return this; }); + +$export($export.G, { Observable: $Observable }); + +__webpack_require__(38)('Observable'); + + +/***/ }), +/* 318 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(0); +var $task = __webpack_require__(86); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); + + +/***/ }), +/* 319 */ +/***/ (function(module, exports, __webpack_require__) { + +var $iterators = __webpack_require__(85); +var getKeys = __webpack_require__(34); +var redefine = __webpack_require__(12); +var global = __webpack_require__(2); +var hide = __webpack_require__(11); +var Iterators = __webpack_require__(44); +var wks = __webpack_require__(5); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; + +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + } +} + + +/***/ }), +/* 320 */ +/***/ (function(module, exports, __webpack_require__) { + +// ie9- setTimeout & setInterval additional parameters fix +var global = __webpack_require__(2); +var $export = __webpack_require__(0); +var userAgent = __webpack_require__(58); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); + + +/***/ }) /******/ ]); // CommonJS export -if(typeof module != 'undefined' && module.exports)module.exports = __e; +if (typeof module != 'undefined' && module.exports) module.exports = __e; // RequireJS export -else if(typeof define == 'function' && define.amd)define(function(){return __e}); +else if (typeof define == 'function' && define.amd) define(function () { return __e; }); // Export to global object else __g.core = __e; }(1, 1); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/client/shim.min.js b/build/js-transpiled/node_modules/core-js/client/shim.min.js index e532c683..bc9b13fb 100644 --- a/build/js-transpiled/node_modules/core-js/client/shim.min.js +++ b/build/js-transpiled/node_modules/core-js/client/shim.min.js @@ -1,10 +1,10 @@ /** - * core-js 2.4.1 + * core-js 2.5.7 * https://github.com/zloirock/core-js * License: http://rock.mit-license.org - * © 2016 Denis Pushkarev + * © 2018 Denis Pushkarev */ -!function(a,b,c){"use strict";!function(a){function __webpack_require__(c){if(b[c])return b[c].exports;var d=b[c]={exports:{},id:c,loaded:!1};return a[c].call(d.exports,d,d.exports,__webpack_require__),d.loaded=!0,d.exports}var b={};return __webpack_require__.m=a,__webpack_require__.c=b,__webpack_require__.p="",__webpack_require__(0)}([function(a,b,c){c(1),c(50),c(51),c(52),c(54),c(55),c(58),c(59),c(60),c(61),c(62),c(63),c(64),c(65),c(66),c(68),c(70),c(72),c(74),c(77),c(78),c(79),c(83),c(86),c(87),c(88),c(89),c(91),c(92),c(93),c(94),c(95),c(97),c(99),c(100),c(101),c(103),c(104),c(105),c(107),c(108),c(109),c(111),c(112),c(113),c(114),c(115),c(116),c(117),c(118),c(119),c(120),c(121),c(122),c(123),c(124),c(126),c(130),c(131),c(132),c(133),c(137),c(139),c(140),c(141),c(142),c(143),c(144),c(145),c(146),c(147),c(148),c(149),c(150),c(151),c(152),c(158),c(159),c(161),c(162),c(163),c(167),c(168),c(169),c(170),c(171),c(173),c(174),c(175),c(176),c(179),c(181),c(182),c(183),c(185),c(187),c(189),c(190),c(191),c(193),c(194),c(195),c(196),c(203),c(206),c(207),c(209),c(210),c(211),c(212),c(213),c(214),c(215),c(216),c(217),c(218),c(219),c(220),c(222),c(223),c(224),c(225),c(226),c(227),c(228),c(229),c(231),c(234),c(235),c(237),c(238),c(239),c(240),c(241),c(242),c(243),c(244),c(245),c(246),c(247),c(249),c(250),c(251),c(252),c(253),c(254),c(255),c(256),c(258),c(259),c(261),c(262),c(263),c(264),c(267),c(268),c(269),c(270),c(271),c(272),c(273),c(274),c(276),c(277),c(278),c(279),c(280),c(281),c(282),c(283),c(284),c(285),c(286),c(287),a.exports=c(288)},function(a,b,d){var e=d(2),f=d(3),g=d(4),h=d(6),i=d(16),j=d(20).KEY,k=d(5),l=d(21),m=d(22),n=d(17),o=d(23),p=d(24),q=d(25),r=d(27),s=d(40),t=d(43),u=d(10),v=d(30),w=d(14),x=d(15),y=d(44),z=d(47),A=d(49),B=d(9),C=d(28),D=A.f,E=B.f,F=z.f,G=e.Symbol,H=e.JSON,I=H&&H.stringify,J="prototype",K=o("_hidden"),L=o("toPrimitive"),M={}.propertyIsEnumerable,N=l("symbol-registry"),O=l("symbols"),P=l("op-symbols"),Q=Object[J],R="function"==typeof G,S=e.QObject,T=!S||!S[J]||!S[J].findChild,U=g&&k(function(){return 7!=y(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(a,b,c){var d=D(Q,b);d&&delete Q[b],E(a,b,c),d&&a!==Q&&E(Q,b,d)}:E,V=function(a){var b=O[a]=y(G[J]);return b._k=a,b},W=R&&"symbol"==typeof G.iterator?function(a){return"symbol"==typeof a}:function(a){return a instanceof G},X=function defineProperty(a,b,c){return a===Q&&X(P,b,c),u(a),b=w(b,!0),u(c),f(O,b)?(c.enumerable?(f(a,K)&&a[K][b]&&(a[K][b]=!1),c=y(c,{enumerable:x(0,!1)})):(f(a,K)||E(a,K,x(1,{})),a[K][b]=!0),U(a,b,c)):E(a,b,c)},Y=function defineProperties(a,b){u(a);for(var c,d=s(b=v(b)),e=0,f=d.length;f>e;)X(a,c=d[e++],b[c]);return a},Z=function create(a,b){return b===c?y(a):Y(y(a),b)},$=function propertyIsEnumerable(a){var b=M.call(this,a=w(a,!0));return!(this===Q&&f(O,a)&&!f(P,a))&&(!(b||!f(this,a)||!f(O,a)||f(this,K)&&this[K][a])||b)},_=function getOwnPropertyDescriptor(a,b){if(a=v(a),b=w(b,!0),a!==Q||!f(O,b)||f(P,b)){var c=D(a,b);return!c||!f(O,b)||f(a,K)&&a[K][b]||(c.enumerable=!0),c}},aa=function getOwnPropertyNames(a){for(var b,c=F(v(a)),d=[],e=0;c.length>e;)f(O,b=c[e++])||b==K||b==j||d.push(b);return d},ba=function getOwnPropertySymbols(a){for(var b,c=a===Q,d=F(c?P:v(a)),e=[],g=0;d.length>g;)!f(O,b=d[g++])||c&&!f(Q,b)||e.push(O[b]);return e};R||(G=function Symbol(){if(this instanceof G)throw TypeError("Symbol is not a constructor!");var a=n(arguments.length>0?arguments[0]:c),b=function(c){this===Q&&b.call(P,c),f(this,K)&&f(this[K],a)&&(this[K][a]=!1),U(this,a,x(1,c))};return g&&T&&U(Q,a,{configurable:!0,set:b}),V(a)},i(G[J],"toString",function toString(){return this._k}),A.f=_,B.f=X,d(48).f=z.f=aa,d(42).f=$,d(41).f=ba,g&&!d(26)&&i(Q,"propertyIsEnumerable",$,!0),p.f=function(a){return V(o(a))}),h(h.G+h.W+h.F*!R,{Symbol:G});for(var ca="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),da=0;ca.length>da;)o(ca[da++]);for(var ca=C(o.store),da=0;ca.length>da;)q(ca[da++]);h(h.S+h.F*!R,"Symbol",{"for":function(a){return f(N,a+="")?N[a]:N[a]=G(a)},keyFor:function keyFor(a){if(W(a))return r(N,a);throw TypeError(a+" is not a symbol!")},useSetter:function(){T=!0},useSimple:function(){T=!1}}),h(h.S+h.F*!R,"Object",{create:Z,defineProperty:X,defineProperties:Y,getOwnPropertyDescriptor:_,getOwnPropertyNames:aa,getOwnPropertySymbols:ba}),H&&h(h.S+h.F*(!R||k(function(){var a=G();return"[null]"!=I([a])||"{}"!=I({a:a})||"{}"!=I(Object(a))})),"JSON",{stringify:function stringify(a){if(a!==c&&!W(a)){for(var b,d,e=[a],f=1;arguments.length>f;)e.push(arguments[f++]);return b=e[1],"function"==typeof b&&(d=b),!d&&t(b)||(b=function(a,b){if(d&&(b=d.call(this,a,b)),!W(b))return b}),e[1]=b,I.apply(H,e)}}}),G[J][L]||d(8)(G[J],L,G[J].valueOf),m(G,"Symbol"),m(Math,"Math",!0),m(e.JSON,"JSON",!0)},function(a,c){var d=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof b&&(b=d)},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b,c){a.exports=!c(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(a,b,d){var e=d(2),f=d(7),g=d(8),h=d(16),i=d(18),j="prototype",k=function(a,b,d){var l,m,n,o,p=a&k.F,q=a&k.G,r=a&k.S,s=a&k.P,t=a&k.B,u=q?e:r?e[b]||(e[b]={}):(e[b]||{})[j],v=q?f:f[b]||(f[b]={}),w=v[j]||(v[j]={});q&&(d=b);for(l in d)m=!p&&u&&u[l]!==c,n=(m?u:d)[l],o=t&&m?i(n,e):s&&"function"==typeof n?i(Function.call,n):n,u&&h(u,l,n,a&k.U),v[l]!=n&&g(v,l,o),s&&w[l]!=n&&(w[l]=n)};e.core=f,k.F=1,k.G=2,k.S=4,k.P=8,k.B=16,k.W=32,k.U=64,k.R=128,a.exports=k},function(b,c){var d=b.exports={version:"2.4.0"};"number"==typeof a&&(a=d)},function(a,b,c){var d=c(9),e=c(15);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b,c){var d=c(10),e=c(12),f=c(14),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function defineProperty(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(h){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(11);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b,c){a.exports=!c(4)&&!c(5)(function(){return 7!=Object.defineProperty(c(13)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(11),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b,c){var d=c(11);a.exports=function(a,b){if(!d(a))return a;var c,e;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;if("function"==typeof(c=a.valueOf)&&!d(e=c.call(a)))return e;if(!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(2),e=c(8),f=c(3),g=c(17)("src"),h="toString",i=Function[h],j=(""+i).split(h);c(7).inspectSource=function(a){return i.call(a)},(a.exports=function(a,b,c,h){var i="function"==typeof c;i&&(f(c,"name")||e(c,"name",b)),a[b]!==c&&(i&&(f(c,g)||e(c,g,a[b]?""+a[b]:j.join(String(b)))),a===d?a[b]=c:h?a[b]?a[b]=c:e(a,b,c):(delete a[b],e(a,b,c)))})(Function.prototype,h,function toString(){return"function"==typeof this&&this[g]||i.call(this)})},function(a,b){var d=0,e=Math.random();a.exports=function(a){return"Symbol(".concat(a===c?"":a,")_",(++d+e).toString(36))}},function(a,b,d){var e=d(19);a.exports=function(a,b,d){if(e(a),b===c)return a;switch(d){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b,c){var d=c(17)("meta"),e=c(11),f=c(3),g=c(9).f,h=0,i=Object.isExtensible||function(){return!0},j=!c(5)(function(){return i(Object.preventExtensions({}))}),k=function(a){g(a,d,{value:{i:"O"+ ++h,w:{}}})},l=function(a,b){if(!e(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!f(a,d)){if(!i(a))return"F";if(!b)return"E";k(a)}return a[d].i},m=function(a,b){if(!f(a,d)){if(!i(a))return!0;if(!b)return!1;k(a)}return a[d].w},n=function(a){return j&&o.NEED&&i(a)&&!f(a,d)&&k(a),a},o=a.exports={KEY:d,NEED:!1,fastKey:l,getWeak:m,onFreeze:n}},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d=c(9).f,e=c(3),f=c(23)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(21)("wks"),e=c(17),f=c(2).Symbol,g="function"==typeof f,h=a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))};h.store=d},function(a,b,c){b.f=c(23)},function(a,b,c){var d=c(2),e=c(7),f=c(26),g=c(24),h=c(9).f;a.exports=function(a){var b=e.Symbol||(e.Symbol=f?{}:d.Symbol||{});"_"==a.charAt(0)||a in b||h(b,a,{value:g.f(a)})}},function(a,b){a.exports=!1},function(a,b,c){var d=c(28),e=c(30);a.exports=function(a,b){for(var c,f=e(a),g=d(f),h=g.length,i=0;h>i;)if(f[c=g[i++]]===b)return c}},function(a,b,c){var d=c(29),e=c(39);a.exports=Object.keys||function keys(a){return d(a,e)}},function(a,b,c){var d=c(3),e=c(30),f=c(34)(!1),g=c(38)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(31),e=c(33);a.exports=function(a){return d(e(a))}},function(a,b,c){var d=c(32);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b){a.exports=function(a){if(a==c)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(30),e=c(35),f=c(37);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if(h=i[k++],h!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(36),e=Math.min;a.exports=function(a){return a>0?e(d(a),9007199254740991):0}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(36),e=Math.max,f=Math.min;a.exports=function(a,b){return a=d(a),a<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(21)("keys"),e=c(17);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(28),e=c(41),f=c(42);a.exports=function(a){var b=d(a),c=e.f;if(c)for(var g,h=c(a),i=f.f,j=0;h.length>j;)i.call(a,g=h[j++])&&b.push(g);return b}},function(a,b){b.f=Object.getOwnPropertySymbols},function(a,b){b.f={}.propertyIsEnumerable},function(a,b,c){var d=c(32);a.exports=Array.isArray||function isArray(a){return"Array"==d(a)}},function(a,b,d){var e=d(10),f=d(45),g=d(39),h=d(38)("IE_PROTO"),i=function(){},j="prototype",k=function(){var a,b=d(13)("iframe"),c=g.length,e="<",f=">";for(b.style.display="none",d(46).appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write(e+"script"+f+"document.F=Object"+e+"/script"+f),a.close(),k=a.F;c--;)delete k[j][g[c]];return k()};a.exports=Object.create||function create(a,b){var d;return null!==a?(i[j]=e(a),d=new i,i[j]=null,d[h]=a):d=k(),b===c?d:f(d,b)}},function(a,b,c){var d=c(9),e=c(10),f=c(28);a.exports=c(4)?Object.defineProperties:function defineProperties(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){var d=c(30),e=c(48).f,f={}.toString,g="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],h=function(a){try{return e(a)}catch(b){return g.slice()}};a.exports.f=function getOwnPropertyNames(a){return g&&"[object Window]"==f.call(a)?h(a):e(d(a))}},function(a,b,c){var d=c(29),e=c(39).concat("length","prototype");b.f=Object.getOwnPropertyNames||function getOwnPropertyNames(a){return d(a,e)}},function(a,b,c){var d=c(42),e=c(15),f=c(30),g=c(14),h=c(3),i=c(12),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function getOwnPropertyDescriptor(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(c){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(6);d(d.S+d.F*!c(4),"Object",{defineProperty:c(9).f})},function(a,b,c){var d=c(6);d(d.S+d.F*!c(4),"Object",{defineProperties:c(45)})},function(a,b,c){var d=c(30),e=c(49).f;c(53)("getOwnPropertyDescriptor",function(){return function getOwnPropertyDescriptor(a,b){return e(d(a),b)}})},function(a,b,c){var d=c(6),e=c(7),f=c(5);a.exports=function(a,b){var c=(e.Object||{})[a]||Object[a],g={};g[a]=b(c),d(d.S+d.F*f(function(){c(1)}),"Object",g)}},function(a,b,c){var d=c(6);d(d.S,"Object",{create:c(44)})},function(a,b,c){var d=c(56),e=c(57);c(53)("getPrototypeOf",function(){return function getPrototypeOf(a){return e(d(a))}})},function(a,b,c){var d=c(33);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(3),e=c(56),f=c(38)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return a=e(a),d(a,f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(56),e=c(28);c(53)("keys",function(){return function keys(a){return e(d(a))}})},function(a,b,c){c(53)("getOwnPropertyNames",function(){return c(47).f})},function(a,b,c){var d=c(11),e=c(20).onFreeze;c(53)("freeze",function(a){return function freeze(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(11),e=c(20).onFreeze;c(53)("seal",function(a){return function seal(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(11),e=c(20).onFreeze;c(53)("preventExtensions",function(a){return function preventExtensions(b){return a&&d(b)?a(e(b)):b}})},function(a,b,c){var d=c(11);c(53)("isFrozen",function(a){return function isFrozen(b){return!d(b)||!!a&&a(b)}})},function(a,b,c){var d=c(11);c(53)("isSealed",function(a){return function isSealed(b){return!d(b)||!!a&&a(b)}})},function(a,b,c){var d=c(11);c(53)("isExtensible",function(a){return function isExtensible(b){return!!d(b)&&(!a||a(b))}})},function(a,b,c){var d=c(6);d(d.S+d.F,"Object",{assign:c(67)})},function(a,b,c){var d=c(28),e=c(41),f=c(42),g=c(56),h=c(31),i=Object.assign;a.exports=!i||c(5)(function(){var a={},b={},c=Symbol(),d="abcdefghijklmnopqrst";return a[c]=7,d.split("").forEach(function(a){b[a]=a}),7!=i({},a)[c]||Object.keys(i({},b)).join("")!=d})?function assign(a,b){for(var c=g(a),i=arguments.length,j=1,k=e.f,l=f.f;i>j;)for(var m,n=h(arguments[j++]),o=k?d(n).concat(k(n)):d(n),p=o.length,q=0;p>q;)l.call(n,m=o[q++])&&(c[m]=n[m]);return c}:i},function(a,b,c){var d=c(6);d(d.S,"Object",{is:c(69)})},function(a,b){a.exports=Object.is||function is(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},function(a,b,c){var d=c(6);d(d.S,"Object",{setPrototypeOf:c(71).set})},function(a,b,d){var e=d(11),f=d(10),g=function(a,b){if(f(a),!e(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,c){try{c=d(18)(Function.call,d(49).f(Object.prototype,"__proto__").set,2),c(a,[]),b=!(a instanceof Array)}catch(e){b=!0}return function setPrototypeOf(a,d){return g(a,d),b?a.__proto__=d:c(a,d),a}}({},!1):c),check:g}},function(a,b,c){var d=c(73),e={};e[c(23)("toStringTag")]="z",e+""!="[object z]"&&c(16)(Object.prototype,"toString",function toString(){return"[object "+d(this)+"]"},!0)},function(a,b,d){var e=d(32),f=d(23)("toStringTag"),g="Arguments"==e(function(){return arguments}()),h=function(a,b){try{return a[b]}catch(c){}};a.exports=function(a){var b,d,i;return a===c?"Undefined":null===a?"Null":"string"==typeof(d=h(b=Object(a),f))?d:g?e(b):"Object"==(i=e(b))&&"function"==typeof b.callee?"Arguments":i}},function(a,b,c){var d=c(6);d(d.P,"Function",{bind:c(75)})},function(a,b,c){var d=c(19),e=c(11),f=c(76),g=[].slice,h={},i=function(a,b,c){if(!(b in h)){for(var d=[],e=0;e2){b=s?b.trim():m(b,3);var c,d,e,f=b.charCodeAt(0);if(43===f||45===f){if(c=b.charCodeAt(2),88===c||120===c)return NaN}else if(48===f){switch(b.charCodeAt(1)){case 66:case 98:d=2,e=49;break;case 79:case 111:d=8,e=55;break;default:return+b}for(var g,i=b.slice(2),j=0,k=i.length;je)return NaN;return parseInt(i,d)}}return+b};if(!o(" 0o1")||!o("0b1")||o("+0x1")){o=function Number(a){var b=arguments.length<1?0:a,c=this;return c instanceof o&&(r?i(function(){q.valueOf.call(c)}):f(c)!=n)?g(new p(t(b)),c,o):t(b)};for(var u,v=c(4)?j(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;v.length>w;w++)e(p,u=v[w])&&!e(o,u)&&l(o,u,k(p,u));o.prototype=q,q.constructor=o,c(16)(d,n,o)}},function(a,b,c){var d=c(11),e=c(71).set;a.exports=function(a,b,c){var f,g=b.constructor;return g!==c&&"function"==typeof g&&(f=g.prototype)!==c.prototype&&d(f)&&e&&e(a,f),a}},function(a,b,c){var d=c(6),e=c(33),f=c(5),g=c(82),h="["+g+"]",i="​…",j=RegExp("^"+h+h+"*"),k=RegExp(h+h+"*$"),l=function(a,b,c){var e={},h=f(function(){return!!g[a]()||i[a]()!=i}),j=e[a]=h?b(m):g[a];c&&(e[c]=j),d(d.P+d.F*h,"String",e)},m=l.trim=function(a,b){return a=String(e(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a};a.exports=l},function(a,b){a.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(a,b,c){var d=c(6),e=c(36),f=c(84),g=c(85),h=1..toFixed,i=Math.floor,j=[0,0,0,0,0,0],k="Number.toFixed: incorrect invocation!",l="0",m=function(a,b){for(var c=-1,d=b;++c<6;)d+=a*j[c],j[c]=d%1e7,d=i(d/1e7)},n=function(a){for(var b=6,c=0;--b>=0;)c+=j[b],j[b]=i(c/a),c=c%a*1e7},o=function(){for(var a=6,b="";--a>=0;)if(""!==b||0===a||0!==j[a]){var c=String(j[a]);b=""===b?c:b+g.call(l,7-c.length)+c}return b},p=function(a,b,c){return 0===b?c:b%2===1?p(a,b-1,c*a):p(a*a,b/2,c)},q=function(a){for(var b=0,c=a;c>=4096;)b+=12,c/=4096;for(;c>=2;)b+=1,c/=2;return b};d(d.P+d.F*(!!h&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c(5)(function(){h.call({})})),"Number",{toFixed:function toFixed(a){var b,c,d,h,i=f(this,k),j=e(a),r="",s=l;if(j<0||j>20)throw RangeError(k);if(i!=i)return"NaN";if(i<=-1e21||i>=1e21)return String(i);if(i<0&&(r="-",i=-i),i>1e-21)if(b=q(i*p(2,69,1))-69,c=b<0?i*p(2,-b,1):i/p(2,b,1),c*=4503599627370496,b=52-b,b>0){for(m(0,c),d=j;d>=7;)m(1e7,0),d-=7;for(m(p(10,d,1),0),d=b-1;d>=23;)n(1<<23),d-=23;n(1<0?(h=s.length,s=r+(h<=j?"0."+g.call(l,j-h)+s:s.slice(0,h-j)+"."+s.slice(h-j))):s=r+s,s}})},function(a,b,c){var d=c(32);a.exports=function(a,b){if("number"!=typeof a&&"Number"!=d(a))throw TypeError(b);return+a}},function(a,b,c){var d=c(36),e=c(33);a.exports=function repeat(a){var b=String(e(this)),c="",f=d(a);if(f<0||f==1/0)throw RangeError("Count can't be negative");for(;f>0;(f>>>=1)&&(b+=b))1&f&&(c+=b);return c}},function(a,b,d){var e=d(6),f=d(5),g=d(84),h=1..toPrecision;e(e.P+e.F*(f(function(){return"1"!==h.call(1,c)})||!f(function(){h.call({})})),"Number",{toPrecision:function toPrecision(a){var b=g(this,"Number#toPrecision: incorrect invocation!");return a===c?h.call(b):h.call(b,a)}})},function(a,b,c){var d=c(6);d(d.S,"Number",{EPSILON:Math.pow(2,-52)})},function(a,b,c){var d=c(6),e=c(2).isFinite;d(d.S,"Number",{isFinite:function isFinite(a){return"number"==typeof a&&e(a)}})},function(a,b,c){var d=c(6);d(d.S,"Number",{isInteger:c(90)})},function(a,b,c){var d=c(11),e=Math.floor;a.exports=function isInteger(a){return!d(a)&&isFinite(a)&&e(a)===a}},function(a,b,c){var d=c(6);d(d.S,"Number",{isNaN:function isNaN(a){return a!=a}})},function(a,b,c){var d=c(6),e=c(90),f=Math.abs;d(d.S,"Number",{isSafeInteger:function isSafeInteger(a){return e(a)&&f(a)<=9007199254740991}})},function(a,b,c){var d=c(6);d(d.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(a,b,c){var d=c(6);d(d.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(a,b,c){var d=c(6),e=c(96);d(d.S+d.F*(Number.parseFloat!=e),"Number",{parseFloat:e})},function(a,b,c){var d=c(2).parseFloat,e=c(81).trim;a.exports=1/d(c(82)+"-0")!==-(1/0)?function parseFloat(a){var b=e(String(a),3),c=d(b);return 0===c&&"-"==b.charAt(0)?-0:c}:d},function(a,b,c){var d=c(6),e=c(98);d(d.S+d.F*(Number.parseInt!=e),"Number",{parseInt:e})},function(a,b,c){var d=c(2).parseInt,e=c(81).trim,f=c(82),g=/^[\-+]?0[xX]/;a.exports=8!==d(f+"08")||22!==d(f+"0x16")?function parseInt(a,b){var c=e(String(a),3);return d(c,b>>>0||(g.test(c)?16:10))}:d},function(a,b,c){var d=c(6),e=c(98);d(d.G+d.F*(parseInt!=e),{parseInt:e})},function(a,b,c){var d=c(6),e=c(96);d(d.G+d.F*(parseFloat!=e),{parseFloat:e})},function(a,b,c){var d=c(6),e=c(102),f=Math.sqrt,g=Math.acosh;d(d.S+d.F*!(g&&710==Math.floor(g(Number.MAX_VALUE))&&g(1/0)==1/0),"Math",{acosh:function acosh(a){return(a=+a)<1?NaN:a>94906265.62425156?Math.log(a)+Math.LN2:e(a-1+f(a-1)*f(a+1))}})},function(a,b){a.exports=Math.log1p||function log1p(a){return(a=+a)>-1e-8&&a<1e-8?a-a*a/2:Math.log(1+a)}},function(a,b,c){function asinh(a){return isFinite(a=+a)&&0!=a?a<0?-asinh(-a):Math.log(a+Math.sqrt(a*a+1)):a}var d=c(6),e=Math.asinh;d(d.S+d.F*!(e&&1/e(0)>0),"Math",{asinh:asinh})},function(a,b,c){var d=c(6),e=Math.atanh;d(d.S+d.F*!(e&&1/e(-0)<0),"Math",{atanh:function atanh(a){return 0==(a=+a)?a:Math.log((1+a)/(1-a))/2}})},function(a,b,c){var d=c(6),e=c(106);d(d.S,"Math",{cbrt:function cbrt(a){return e(a=+a)*Math.pow(Math.abs(a),1/3)}})},function(a,b){a.exports=Math.sign||function sign(a){return 0==(a=+a)||a!=a?a:a<0?-1:1}},function(a,b,c){var d=c(6);d(d.S,"Math",{clz32:function clz32(a){return(a>>>=0)?31-Math.floor(Math.log(a+.5)*Math.LOG2E):32}})},function(a,b,c){var d=c(6),e=Math.exp;d(d.S,"Math",{cosh:function cosh(a){return(e(a=+a)+e(-a))/2}})},function(a,b,c){var d=c(6),e=c(110);d(d.S+d.F*(e!=Math.expm1),"Math",{expm1:e})},function(a,b){var c=Math.expm1;a.exports=!c||c(10)>22025.465794806718||c(10)<22025.465794806718||c(-2e-17)!=-2e-17?function expm1(a){return 0==(a=+a)?a:a>-1e-6&&a<1e-6?a+a*a/2:Math.exp(a)-1}:c},function(a,b,c){var d=c(6),e=c(106),f=Math.pow,g=f(2,-52),h=f(2,-23),i=f(2,127)*(2-h),j=f(2,-126),k=function(a){return a+1/g-1/g};d(d.S,"Math",{fround:function fround(a){var b,c,d=Math.abs(a),f=e(a);return di||c!=c?f*(1/0):f*c)}})},function(a,b,c){var d=c(6),e=Math.abs;d(d.S,"Math",{hypot:function hypot(a,b){for(var c,d,f=0,g=0,h=arguments.length,i=0;g0?(d=c/i,f+=d*d):f+=c;return i===1/0?1/0:i*Math.sqrt(f)}})},function(a,b,c){var d=c(6),e=Math.imul;d(d.S+d.F*c(5)(function(){return e(4294967295,5)!=-5||2!=e.length}),"Math",{imul:function imul(a,b){var c=65535,d=+a,e=+b,f=c&d,g=c&e;return 0|f*g+((c&d>>>16)*g+f*(c&e>>>16)<<16>>>0)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{log10:function log10(a){return Math.log(a)/Math.LN10}})},function(a,b,c){var d=c(6);d(d.S,"Math",{log1p:c(102)})},function(a,b,c){var d=c(6);d(d.S,"Math",{log2:function log2(a){return Math.log(a)/Math.LN2}})},function(a,b,c){var d=c(6);d(d.S,"Math",{sign:c(106)})},function(a,b,c){var d=c(6),e=c(110),f=Math.exp;d(d.S+d.F*c(5)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function sinh(a){return Math.abs(a=+a)<1?(e(a)-e(-a))/2:(f(a-1)-f(-a-1))*(Math.E/2)}})},function(a,b,c){var d=c(6),e=c(110),f=Math.exp;d(d.S,"Math",{tanh:function tanh(a){var b=e(a=+a),c=e(-a);return b==1/0?1:c==1/0?-1:(b-c)/(f(a)+f(-a))}})},function(a,b,c){var d=c(6);d(d.S,"Math",{trunc:function trunc(a){return(a>0?Math.floor:Math.ceil)(a)}})},function(a,b,c){var d=c(6),e=c(37),f=String.fromCharCode,g=String.fromCodePoint;d(d.S+d.F*(!!g&&1!=g.length),"String",{fromCodePoint:function fromCodePoint(a){for(var b,c=[],d=arguments.length,g=0;d>g;){if(b=+arguments[g++],e(b,1114111)!==b)throw RangeError(b+" is not a valid code point");c.push(b<65536?f(b):f(((b-=65536)>>10)+55296,b%1024+56320))}return c.join("")}})},function(a,b,c){var d=c(6),e=c(30),f=c(35);d(d.S,"String",{raw:function raw(a){for(var b=e(a.raw),c=f(b.length),d=arguments.length,g=[],h=0;c>h;)g.push(String(b[h++])),h=k?a?"":c:(g=i.charCodeAt(j),g<55296||g>56319||j+1===k||(h=i.charCodeAt(j+1))<56320||h>57343?a?i.charAt(j):g:a?i.slice(j,j+2):(g-55296<<10)+(h-56320)+65536)}}},function(a,b,d){var e=d(6),f=d(35),g=d(127),h="endsWith",i=""[h];e(e.P+e.F*d(129)(h),"String",{endsWith:function endsWith(a){var b=g(this,a,h),d=arguments.length>1?arguments[1]:c,e=f(b.length),j=d===c?e:Math.min(f(d),e),k=String(a);return i?i.call(b,k,j):b.slice(j-k.length,j)===k}})},function(a,b,c){var d=c(128),e=c(33);a.exports=function(a,b,c){if(d(b))throw TypeError("String#"+c+" doesn't accept regex!");return String(e(a))}},function(a,b,d){var e=d(11),f=d(32),g=d(23)("match");a.exports=function(a){var b;return e(a)&&((b=a[g])!==c?!!b:"RegExp"==f(a))}},function(a,b,c){var d=c(23)("match");a.exports=function(a){var b=/./;try{"/./"[a](b)}catch(c){try{return b[d]=!1,!"/./"[a](b)}catch(e){}}return!0}},function(a,b,d){var e=d(6),f=d(127),g="includes";e(e.P+e.F*d(129)(g),"String",{includes:function includes(a){return!!~f(this,a,g).indexOf(a,arguments.length>1?arguments[1]:c)}})},function(a,b,c){var d=c(6);d(d.P,"String",{repeat:c(85)})},function(a,b,d){var e=d(6),f=d(35),g=d(127),h="startsWith",i=""[h];e(e.P+e.F*d(129)(h),"String",{startsWith:function startsWith(a){var b=g(this,a,h),d=f(Math.min(arguments.length>1?arguments[1]:c,b.length)),e=String(a);return i?i.call(b,e,d):b.slice(d,d+e.length)===e}})},function(a,b,d){var e=d(125)(!0);d(134)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,d=this._i;return d>=b.length?{value:c,done:!0}:(a=e(b,d),this._i+=a.length,{value:a,done:!1})})},function(a,b,d){var e=d(26),f=d(6),g=d(16),h=d(8),i=d(3),j=d(135),k=d(136),l=d(22),m=d(57),n=d(23)("iterator"),o=!([].keys&&"next"in[].keys()),p="@@iterator",q="keys",r="values",s=function(){return this};a.exports=function(a,b,d,t,u,v,w){k(d,b,t);var x,y,z,A=function(a){if(!o&&a in E)return E[a];switch(a){case q:return function keys(){return new d(this,a)};case r:return function values(){return new d(this,a)}}return function entries(){return new d(this,a)}},B=b+" Iterator",C=u==r,D=!1,E=a.prototype,F=E[n]||E[p]||u&&E[u],G=F||A(u),H=u?C?A("entries"):G:c,I="Array"==b?E.entries||F:F;if(I&&(z=m(I.call(new a)),z!==Object.prototype&&(l(z,B,!0),e||i(z,n)||h(z,n,s))),C&&F&&F.name!==r&&(D=!0,G=function values(){return F.call(this)}),e&&!w||!o&&!D&&E[n]||h(E,n,G),j[b]=G,j[B]=s,u)if(x={values:C?G:A(r),keys:v?G:A(q),entries:H},w)for(y in x)y in E||g(E,y,x[y]);else f(f.P+f.F*(o||D),b,x);return x}},function(a,b){a.exports={}},function(a,b,c){var d=c(44),e=c(15),f=c(22),g={};c(8)(g,c(23)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){c(138)("anchor",function(a){return function anchor(b){return a(this,"a","name",b)}})},function(a,b,c){var d=c(6),e=c(5),f=c(33),g=/"/g,h=function(a,b,c,d){var e=String(f(a)),h="<"+b;return""!==c&&(h+=" "+c+'="'+String(d).replace(g,""")+'"'),h+">"+e+""};a.exports=function(a,b){var c={};c[a]=b(h),d(d.P+d.F*e(function(){var b=""[a]('"');return b!==b.toLowerCase()||b.split('"').length>3}),"String",c)}},function(a,b,c){c(138)("big",function(a){return function big(){return a(this,"big","","")}})},function(a,b,c){c(138)("blink",function(a){return function blink(){return a(this,"blink","","")}})},function(a,b,c){c(138)("bold",function(a){return function bold(){return a(this,"b","","")}})},function(a,b,c){c(138)("fixed",function(a){return function fixed(){return a(this,"tt","","")}})},function(a,b,c){c(138)("fontcolor",function(a){return function fontcolor(b){return a(this,"font","color",b)}})},function(a,b,c){c(138)("fontsize",function(a){return function fontsize(b){return a(this,"font","size",b)}})},function(a,b,c){c(138)("italics",function(a){return function italics(){return a(this,"i","","")}})},function(a,b,c){c(138)("link",function(a){return function link(b){return a(this,"a","href",b)}})},function(a,b,c){c(138)("small",function(a){return function small(){return a(this,"small","","")}})},function(a,b,c){c(138)("strike",function(a){return function strike(){return a(this,"strike","","")}})},function(a,b,c){c(138)("sub",function(a){return function sub(){return a(this,"sub","","")}})},function(a,b,c){c(138)("sup",function(a){return function sup(){return a(this,"sup","","")}})},function(a,b,c){var d=c(6);d(d.S,"Array",{isArray:c(43)})},function(a,b,d){var e=d(18),f=d(6),g=d(56),h=d(153),i=d(154),j=d(35),k=d(155),l=d(156);f(f.S+f.F*!d(157)(function(a){Array.from(a)}),"Array",{from:function from(a){var b,d,f,m,n=g(a),o="function"==typeof this?this:Array,p=arguments.length,q=p>1?arguments[1]:c,r=q!==c,s=0,t=l(n);if(r&&(q=e(q,p>2?arguments[2]:c,2)),t==c||o==Array&&i(t))for(b=j(n.length),d=new o(b);b>s;s++)k(d,s,r?q(n[s],s):n[s]);else for(m=t.call(n),d=new o;!(f=m.next()).done;s++)k(d,s,r?h(m,q,[f.value,s],!0):f.value);return d.length=s,d}})},function(a,b,d){var e=d(10);a.exports=function(a,b,d,f){try{return f?b(e(d)[0],d[1]):b(d)}catch(g){var h=a["return"];throw h!==c&&e(h.call(a)),g}}},function(a,b,d){var e=d(135),f=d(23)("iterator"),g=Array.prototype;a.exports=function(a){return a!==c&&(e.Array===a||g[f]===a)}},function(a,b,c){var d=c(9),e=c(15);a.exports=function(a,b,c){b in a?d.f(a,b,e(0,c)):a[b]=c}},function(a,b,d){var e=d(73),f=d(23)("iterator"),g=d(135);a.exports=d(7).getIteratorMethod=function(a){if(a!=c)return a[f]||a["@@iterator"]||g[e(a)]}},function(a,b,c){var d=c(23)("iterator"),e=!1; -try{var f=[7][d]();f["return"]=function(){e=!0},Array.from(f,function(){throw 2})}catch(g){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(h){}return c}},function(a,b,c){var d=c(6),e=c(155);d(d.S+d.F*c(5)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var a=0,b=arguments.length,c=new("function"==typeof this?this:Array)(b);b>a;)e(c,a,arguments[a++]);return c.length=b,c}})},function(a,b,d){var e=d(6),f=d(30),g=[].join;e(e.P+e.F*(d(31)!=Object||!d(160)(g)),"Array",{join:function join(a){return g.call(f(this),a===c?",":a)}})},function(a,b,c){var d=c(5);a.exports=function(a,b){return!!a&&d(function(){b?a.call(null,function(){},1):a.call(null)})}},function(a,b,d){var e=d(6),f=d(46),g=d(32),h=d(37),i=d(35),j=[].slice;e(e.P+e.F*d(5)(function(){f&&j.call(f)}),"Array",{slice:function slice(a,b){var d=i(this.length),e=g(this);if(b=b===c?d:b,"Array"==e)return j.call(this,a,b);for(var f=h(a,d),k=h(b,d),l=i(k-f),m=Array(l),n=0;nw;w++)if((n||w in t)&&(q=t[w],r=u(q,w,s),a))if(d)x[w]=r;else if(r)switch(a){case 3:return!0;case 5:return q;case 6:return w;case 2:x.push(q)}else if(l)return!1;return m?-1:k||l?l:x}}},function(a,b,c){var d=c(166);a.exports=function(a,b){return new(d(a))(b)}},function(a,b,d){var e=d(11),f=d(43),g=d(23)("species");a.exports=function(a){var b;return f(a)&&(b=a.constructor,"function"!=typeof b||b!==Array&&!f(b.prototype)||(b=c),e(b)&&(b=b[g],null===b&&(b=c))),b===c?Array:b}},function(a,b,c){var d=c(6),e=c(164)(1);d(d.P+d.F*!c(160)([].map,!0),"Array",{map:function map(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(164)(2);d(d.P+d.F*!c(160)([].filter,!0),"Array",{filter:function filter(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(164)(3);d(d.P+d.F*!c(160)([].some,!0),"Array",{some:function some(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(164)(4);d(d.P+d.F*!c(160)([].every,!0),"Array",{every:function every(a){return e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(172);d(d.P+d.F*!c(160)([].reduce,!0),"Array",{reduce:function reduce(a){return e(this,a,arguments.length,arguments[1],!1)}})},function(a,b,c){var d=c(19),e=c(56),f=c(31),g=c(35);a.exports=function(a,b,c,h,i){d(b);var j=e(a),k=f(j),l=g(j.length),m=i?l-1:0,n=i?-1:1;if(c<2)for(;;){if(m in k){h=k[m],m+=n;break}if(m+=n,i?m<0:l<=m)throw TypeError("Reduce of empty array with no initial value")}for(;i?m>=0:l>m;m+=n)m in k&&(h=b(h,k[m],m,j));return h}},function(a,b,c){var d=c(6),e=c(172);d(d.P+d.F*!c(160)([].reduceRight,!0),"Array",{reduceRight:function reduceRight(a){return e(this,a,arguments.length,arguments[1],!0)}})},function(a,b,c){var d=c(6),e=c(34)(!1),f=[].indexOf,g=!!f&&1/[1].indexOf(1,-0)<0;d(d.P+d.F*(g||!c(160)(f)),"Array",{indexOf:function indexOf(a){return g?f.apply(this,arguments)||0:e(this,a,arguments[1])}})},function(a,b,c){var d=c(6),e=c(30),f=c(36),g=c(35),h=[].lastIndexOf,i=!!h&&1/[1].lastIndexOf(1,-0)<0;d(d.P+d.F*(i||!c(160)(h)),"Array",{lastIndexOf:function lastIndexOf(a){if(i)return h.apply(this,arguments)||0;var b=e(this),c=g(b.length),d=c-1;for(arguments.length>1&&(d=Math.min(d,f(arguments[1]))),d<0&&(d=c+d);d>=0;d--)if(d in b&&b[d]===a)return d||0;return-1}})},function(a,b,c){var d=c(6);d(d.P,"Array",{copyWithin:c(177)}),c(178)("copyWithin")},function(a,b,d){var e=d(56),f=d(37),g=d(35);a.exports=[].copyWithin||function copyWithin(a,b){var d=e(this),h=g(d.length),i=f(a,h),j=f(b,h),k=arguments.length>2?arguments[2]:c,l=Math.min((k===c?h:f(k,h))-j,h-i),m=1;for(j0;)j in d?d[i]=d[j]:delete d[i],i+=m,j+=m;return d}},function(a,b,d){var e=d(23)("unscopables"),f=Array.prototype;f[e]==c&&d(8)(f,e,{}),a.exports=function(a){f[e][a]=!0}},function(a,b,c){var d=c(6);d(d.P,"Array",{fill:c(180)}),c(178)("fill")},function(a,b,d){var e=d(56),f=d(37),g=d(35);a.exports=function fill(a){for(var b=e(this),d=g(b.length),h=arguments.length,i=f(h>1?arguments[1]:c,d),j=h>2?arguments[2]:c,k=j===c?d:f(j,d);k>i;)b[i++]=a;return b}},function(a,b,d){var e=d(6),f=d(164)(5),g="find",h=!0;g in[]&&Array(1)[g](function(){h=!1}),e(e.P+e.F*h,"Array",{find:function find(a){return f(this,a,arguments.length>1?arguments[1]:c)}}),d(178)(g)},function(a,b,d){var e=d(6),f=d(164)(6),g="findIndex",h=!0;g in[]&&Array(1)[g](function(){h=!1}),e(e.P+e.F*h,"Array",{findIndex:function findIndex(a){return f(this,a,arguments.length>1?arguments[1]:c)}}),d(178)(g)},function(a,b,d){var e=d(178),f=d(184),g=d(135),h=d(30);a.exports=d(134)(Array,"Array",function(a,b){this._t=h(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,d=this._i++;return!a||d>=a.length?(this._t=c,f(1)):"keys"==b?f(0,d):"values"==b?f(0,a[d]):f(0,[d,a[d]])},"values"),g.Arguments=g.Array,e("keys"),e("values"),e("entries")},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){c(186)("Array")},function(a,b,c){var d=c(2),e=c(9),f=c(4),g=c(23)("species");a.exports=function(a){var b=d[a];f&&b&&!b[g]&&e.f(b,g,{configurable:!0,get:function(){return this}})}},function(a,b,d){var e=d(2),f=d(80),g=d(9).f,h=d(48).f,i=d(128),j=d(188),k=e.RegExp,l=k,m=k.prototype,n=/a/g,o=/a/g,p=new k(n)!==n;if(d(4)&&(!p||d(5)(function(){return o[d(23)("match")]=!1,k(n)!=n||k(o)==o||"/a/i"!=k(n,"i")}))){k=function RegExp(a,b){var d=this instanceof k,e=i(a),g=b===c;return!d&&e&&a.constructor===k&&g?a:f(p?new l(e&&!g?a.source:a,b):l((e=a instanceof k)?a.source:a,e&&g?j.call(a):b),d?this:m,k)};for(var q=(function(a){a in k||g(k,a,{configurable:!0,get:function(){return l[a]},set:function(b){l[a]=b}})}),r=h(l),s=0;r.length>s;)q(r[s++]);m.constructor=k,k.prototype=m,d(16)(e,"RegExp",k)}d(186)("RegExp")},function(a,b,c){var d=c(10);a.exports=function(){var a=d(this),b="";return a.global&&(b+="g"),a.ignoreCase&&(b+="i"),a.multiline&&(b+="m"),a.unicode&&(b+="u"),a.sticky&&(b+="y"),b}},function(a,b,d){d(190);var e=d(10),f=d(188),g=d(4),h="toString",i=/./[h],j=function(a){d(16)(RegExp.prototype,h,a,!0)};d(5)(function(){return"/a/b"!=i.call({source:"a",flags:"b"})})?j(function toString(){var a=e(this);return"/".concat(a.source,"/","flags"in a?a.flags:!g&&a instanceof RegExp?f.call(a):c)}):i.name!=h&&j(function toString(){return i.call(this)})},function(a,b,c){c(4)&&"g"!=/./g.flags&&c(9).f(RegExp.prototype,"flags",{configurable:!0,get:c(188)})},function(a,b,d){d(192)("match",1,function(a,b,d){return[function match(d){var e=a(this),f=d==c?c:d[b];return f!==c?f.call(d,e):new RegExp(d)[b](String(e))},d]})},function(a,b,c){var d=c(8),e=c(16),f=c(5),g=c(33),h=c(23);a.exports=function(a,b,c){var i=h(a),j=c(g,i,""[a]),k=j[0],l=j[1];f(function(){var b={};return b[i]=function(){return 7},7!=""[a](b)})&&(e(String.prototype,a,k),d(RegExp.prototype,i,2==b?function(a,b){return l.call(a,this,b)}:function(a){return l.call(a,this)}))}},function(a,b,d){d(192)("replace",2,function(a,b,d){return[function replace(e,f){var g=a(this),h=e==c?c:e[b];return h!==c?h.call(e,g,f):d.call(String(g),e,f)},d]})},function(a,b,d){d(192)("search",1,function(a,b,d){return[function search(d){var e=a(this),f=d==c?c:d[b];return f!==c?f.call(d,e):new RegExp(d)[b](String(e))},d]})},function(a,b,d){d(192)("split",2,function(a,b,e){var f=d(128),g=e,h=[].push,i="split",j="length",k="lastIndex";if("c"=="abbc"[i](/(b)*/)[1]||4!="test"[i](/(?:)/,-1)[j]||2!="ab"[i](/(?:ab)*/)[j]||4!="."[i](/(.?)(.?)/)[j]||"."[i](/()()/)[j]>1||""[i](/.?/)[j]){var l=/()??/.exec("")[1]===c;e=function(a,b){var d=String(this);if(a===c&&0===b)return[];if(!f(a))return g.call(d,a,b);var e,i,m,n,o,p=[],q=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(a.sticky?"y":""),r=0,s=b===c?4294967295:b>>>0,t=new RegExp(a.source,q+"g");for(l||(e=new RegExp("^"+t.source+"$(?!\\s)",q));(i=t.exec(d))&&(m=i.index+i[0][j],!(m>r&&(p.push(d.slice(r,i.index)),!l&&i[j]>1&&i[0].replace(e,function(){for(o=1;o1&&i.index=s)));)t[k]===i.index&&t[k]++;return r===d[j]?!n&&t.test("")||p.push(""):p.push(d.slice(r)),p[j]>s?p.slice(0,s):p}}else"0"[i](c,0)[j]&&(e=function(a,b){return a===c&&0===b?[]:g.call(this,a,b)});return[function split(d,f){var g=a(this),h=d==c?c:d[b];return h!==c?h.call(d,g,f):e.call(String(g),d,f)},e]})},function(a,b,d){var e,f,g,h=d(26),i=d(2),j=d(18),k=d(73),l=d(6),m=d(11),n=d(19),o=d(197),p=d(198),q=d(199),r=d(200).set,s=d(201)(),t="Promise",u=i.TypeError,v=i.process,w=i[t],v=i.process,x="process"==k(v),y=function(){},z=!!function(){try{var a=w.resolve(1),b=(a.constructor={})[d(23)("species")]=function(a){a(y,y)};return(x||"function"==typeof PromiseRejectionEvent)&&a.then(y)instanceof b}catch(c){}}(),A=function(a,b){return a===b||a===w&&b===g},B=function(a){var b;return!(!m(a)||"function"!=typeof(b=a.then))&&b},C=function(a){return A(w,a)?new D(a):new f(a)},D=f=function(a){var b,d;this.promise=new a(function(a,e){if(b!==c||d!==c)throw u("Bad Promise constructor");b=a,d=e}),this.resolve=n(b),this.reject=n(d)},E=function(a){try{a()}catch(b){return{error:b}}},F=function(a,b){if(!a._n){a._n=!0;var c=a._c;s(function(){for(var d=a._v,e=1==a._s,f=0,g=function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&I(a),a._h=1),g===!0?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(u("Promise-chain cycle")):(f=B(c))?f.call(c,h,i):h(c)):i(d)}catch(k){i(k)}};c.length>f;)g(c[f++]);a._c=[],a._n=!1,b&&!a._h&&G(a)})}},G=function(a){r.call(i,function(){var b,d,e,f=a._v;if(H(a)&&(b=E(function(){x?v.emit("unhandledRejection",f,a):(d=i.onunhandledrejection)?d({promise:a,reason:f}):(e=i.console)&&e.error&&e.error("Unhandled promise rejection",f)}),a._h=x||H(a)?2:1),a._a=c,b)throw b.error})},H=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if(b=c[d++],b.fail||!H(b.promise))return!1;return!0},I=function(a){r.call(i,function(){var b;x?v.emit("rejectionHandled",a):(b=i.onrejectionhandled)&&b({promise:a,reason:a._v})})},J=function(a){var b=this;b._d||(b._d=!0,b=b._w||b,b._v=a,b._s=2,b._a||(b._a=b._c.slice()),F(b,!0))},K=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw u("Promise can't be resolved itself");(b=B(a))?s(function(){var d={_w:c,_d:!1};try{b.call(a,j(K,d,1),j(J,d,1))}catch(e){J.call(d,e)}}):(c._v=a,c._s=1,F(c,!1))}catch(d){J.call({_w:c,_d:!1},d)}}};z||(w=function Promise(a){o(this,w,t,"_h"),n(a),e.call(this);try{a(j(K,this,1),j(J,this,1))}catch(b){J.call(this,b)}},e=function Promise(a){this._c=[],this._a=c,this._s=0,this._d=!1,this._v=c,this._h=0,this._n=!1},e.prototype=d(202)(w.prototype,{then:function then(a,b){var d=C(q(this,w));return d.ok="function"!=typeof a||a,d.fail="function"==typeof b&&b,d.domain=x?v.domain:c,this._c.push(d),this._a&&this._a.push(d),this._s&&F(this,!1),d.promise},"catch":function(a){return this.then(c,a)}}),D=function(){var a=new e;this.promise=a,this.resolve=j(K,a,1),this.reject=j(J,a,1)}),l(l.G+l.W+l.F*!z,{Promise:w}),d(22)(w,t),d(186)(t),g=d(7)[t],l(l.S+l.F*!z,t,{reject:function reject(a){var b=C(this),c=b.reject;return c(a),b.promise}}),l(l.S+l.F*(h||!z),t,{resolve:function resolve(a){if(a instanceof w&&A(a.constructor,this))return a;var b=C(this),c=b.resolve;return c(a),b.promise}}),l(l.S+l.F*!(z&&d(157)(function(a){w.all(a)["catch"](y)})),t,{all:function all(a){var b=this,d=C(b),e=d.resolve,f=d.reject,g=E(function(){var d=[],g=0,h=1;p(a,!1,function(a){var i=g++,j=!1;d.push(c),h++,b.resolve(a).then(function(a){j||(j=!0,d[i]=a,--h||e(d))},f)}),--h||e(d)});return g&&f(g.error),d.promise},race:function race(a){var b=this,c=C(b),d=c.reject,e=E(function(){p(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b){a.exports=function(a,b,d,e){if(!(a instanceof b)||e!==c&&e in a)throw TypeError(d+": incorrect invocation!");return a}},function(a,b,c){var d=c(18),e=c(153),f=c(154),g=c(10),h=c(35),i=c(156),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if(q=b?s(g(o=a[t])[0],o[1]):s(a[t]),q===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if(q=e(p,s,o.value,b),q===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b,d){var e=d(10),f=d(19),g=d(23)("species");a.exports=function(a,b){var d,h=e(a).constructor;return h===c||(d=e(h)[g])==c?b:f(d)}},function(a,b,c){var d,e,f,g=c(18),h=c(76),i=c(46),j=c(13),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function setImmediate(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function clearImmediate(a){delete q[a]},"process"==c(32)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(e=new o,f=e.port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,d){var e=d(2),f=d(200).set,g=e.MutationObserver||e.WebKitMutationObserver,h=e.process,i=e.Promise,j="process"==d(32)(h);a.exports=function(){var a,b,d,k=function(){var e,f;for(j&&(e=h.domain)&&e.exit();a;){f=a.fn,a=a.next;try{f()}catch(g){throw a?d():b=c,g}}b=c,e&&e.enter()};if(j)d=function(){h.nextTick(k)};else if(g){var l=!0,m=document.createTextNode("");new g(k).observe(m,{characterData:!0}),d=function(){m.data=l=!l}}else if(i&&i.resolve){var n=i.resolve();d=function(){n.then(k)}}else d=function(){f.call(e,k)};return function(e){var f={fn:e,next:c};b&&(b.next=f),a||(a=f,d()),b=f}}},function(a,b,c){var d=c(16);a.exports=function(a,b,c){for(var e in b)d(a,e,b[e],c);return a}},function(a,b,d){var e=d(204);a.exports=d(205)("Map",function(a){return function Map(){return a(this,arguments.length>0?arguments[0]:c)}},{get:function get(a){var b=e.getEntry(this,a);return b&&b.v},set:function set(a,b){return e.def(this,0===a?0:a,b)}},e,!0)},function(a,b,d){var e=d(9).f,f=d(44),g=d(202),h=d(18),i=d(197),j=d(33),k=d(198),l=d(134),m=d(184),n=d(186),o=d(4),p=d(20).fastKey,q=o?"_s":"size",r=function(a,b){var c,d=p(b);if("F"!==d)return a._i[d];for(c=a._f;c;c=c.n)if(c.k==b)return c};a.exports={getConstructor:function(a,b,d,l){var m=a(function(a,e){i(a,m,b,"_i"),a._i=f(null),a._f=c,a._l=c,a[q]=0,e!=c&&k(e,d,a[l],a)});return g(m.prototype,{clear:function clear(){for(var a=this,b=a._i,d=a._f;d;d=d.n)d.r=!0,d.p&&(d.p=d.p.n=c),delete b[d.i];a._f=a._l=c,a[q]=0},"delete":function(a){var b=this,c=r(b,a);if(c){var d=c.n,e=c.p;delete b._i[c.i],c.r=!0,e&&(e.n=d),d&&(d.p=e),b._f==c&&(b._f=d),b._l==c&&(b._l=e),b[q]--}return!!c},forEach:function forEach(a){i(this,m,"forEach");for(var b,d=h(a,arguments.length>1?arguments[1]:c,3);b=b?b.n:this._f;)for(d(b.v,b.k,this);b&&b.r;)b=b.p},has:function has(a){return!!r(this,a)}}),o&&e(m.prototype,"size",{get:function(){return j(this[q])}}),m},def:function(a,b,d){var e,f,g=r(a,b);return g?g.v=d:(a._l=g={i:f=p(b,!0),k:b,v:d,p:e=a._l,n:c,r:!1},a._f||(a._f=g),e&&(e.n=g),a[q]++,"F"!==f&&(a._i[f]=g)),a},getEntry:r,setStrong:function(a,b,d){l(a,b,function(a,b){this._t=a,this._k=b,this._l=c},function(){for(var a=this,b=a._k,d=a._l;d&&d.r;)d=d.p;return a._t&&(a._l=d=d?d.n:a._t._f)?"keys"==b?m(0,d.k):"values"==b?m(0,d.v):m(0,[d.k,d.v]):(a._t=c,m(1))},d?"entries":"values",!d,!0),n(b)}}},function(a,b,d){var e=d(2),f=d(6),g=d(16),h=d(202),i=d(20),j=d(198),k=d(197),l=d(11),m=d(5),n=d(157),o=d(22),p=d(80);a.exports=function(a,b,d,q,r,s){var t=e[a],u=t,v=r?"set":"add",w=u&&u.prototype,x={},y=function(a){var b=w[a];g(w,a,"delete"==a?function(a){return!(s&&!l(a))&&b.call(this,0===a?0:a)}:"has"==a?function has(a){return!(s&&!l(a))&&b.call(this,0===a?0:a)}:"get"==a?function get(a){return s&&!l(a)?c:b.call(this,0===a?0:a)}:"add"==a?function add(a){return b.call(this,0===a?0:a),this}:function set(a,c){return b.call(this,0===a?0:a,c),this})};if("function"==typeof u&&(s||w.forEach&&!m(function(){(new u).entries().next()}))){var z=new u,A=z[v](s?{}:-0,1)!=z,B=m(function(){z.has(1)}),C=n(function(a){new u(a)}),D=!s&&m(function(){for(var a=new u,b=5;b--;)a[v](b,b);return!a.has(-0)});C||(u=b(function(b,d){k(b,u,a);var e=p(new t,b,u);return d!=c&&j(d,r,e[v],e),e}),u.prototype=w,w.constructor=u),(B||D)&&(y("delete"),y("has"),r&&y("get")),(D||A)&&y(v),s&&w.clear&&delete w.clear}else u=q.getConstructor(b,a,r,v),h(u.prototype,d),i.NEED=!0;return o(u,a),x[a]=u,f(f.G+f.W+f.F*(u!=t),x),s||q.setStrong(u,a,r),u}},function(a,b,d){var e=d(204);a.exports=d(205)("Set",function(a){return function Set(){return a(this,arguments.length>0?arguments[0]:c)}},{add:function add(a){return e.def(this,a=0===a?0:a,a)}},e)},function(a,b,d){var e,f=d(164)(0),g=d(16),h=d(20),i=d(67),j=d(208),k=d(11),l=h.getWeak,m=Object.isExtensible,n=j.ufstore,o={},p=function(a){return function WeakMap(){return a(this,arguments.length>0?arguments[0]:c)}},q={get:function get(a){if(k(a)){var b=l(a);return b===!0?n(this).get(a):b?b[this._i]:c}},set:function set(a,b){return j.def(this,a,b)}},r=a.exports=d(205)("WeakMap",p,q,j,!0,!0);7!=(new r).set((Object.freeze||Object)(o),7).get(o)&&(e=j.getConstructor(p),i(e.prototype,q),h.NEED=!0,f(["delete","has","get","set"],function(a){var b=r.prototype,c=b[a];g(b,a,function(b,d){if(k(b)&&!m(b)){this._f||(this._f=new e);var f=this._f[a](b,d);return"set"==a?this:f}return c.call(this,b,d)})}))},function(a,b,d){var e=d(202),f=d(20).getWeak,g=d(10),h=d(11),i=d(197),j=d(198),k=d(164),l=d(3),m=k(5),n=k(6),o=0,p=function(a){return a._l||(a._l=new q)},q=function(){this.a=[]},r=function(a,b){return m(a.a,function(a){return a[0]===b})};q.prototype={get:function(a){var b=r(this,a);if(b)return b[1]},has:function(a){return!!r(this,a)},set:function(a,b){var c=r(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(a){var b=n(this.a,function(b){return b[0]===a});return~b&&this.a.splice(b,1),!!~b}},a.exports={getConstructor:function(a,b,d,g){var k=a(function(a,e){i(a,k,b,"_i"),a._i=o++,a._l=c,e!=c&&j(e,d,a[g],a)});return e(k.prototype,{"delete":function(a){if(!h(a))return!1;var b=f(a);return b===!0?p(this)["delete"](a):b&&l(b,this._i)&&delete b[this._i]},has:function has(a){if(!h(a))return!1;var b=f(a);return b===!0?p(this).has(a):b&&l(b,this._i)}}),k},def:function(a,b,c){var d=f(g(b),!0);return d===!0?p(a).set(b,c):d[a._i]=c,a},ufstore:p}},function(a,b,d){var e=d(208);d(205)("WeakSet",function(a){return function WeakSet(){return a(this,arguments.length>0?arguments[0]:c)}},{add:function add(a){return e.def(this,a,!0)}},e,!1,!0)},function(a,b,c){var d=c(6),e=c(19),f=c(10),g=(c(2).Reflect||{}).apply,h=Function.apply;d(d.S+d.F*!c(5)(function(){g(function(){})}),"Reflect",{apply:function apply(a,b,c){var d=e(a),i=f(c);return g?g(d,b,i):h.call(d,b,i)}})},function(a,b,c){var d=c(6),e=c(44),f=c(19),g=c(10),h=c(11),i=c(5),j=c(75),k=(c(2).Reflect||{}).construct,l=i(function(){function F(){}return!(k(function(){},[],F)instanceof F)}),m=!i(function(){k(function(){})});d(d.S+d.F*(l||m),"Reflect",{construct:function construct(a,b){f(a),g(b);var c=arguments.length<3?a:f(arguments[2]);if(m&&!l)return k(a,b,c);if(a==c){switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var d=[null];return d.push.apply(d,b),new(j.apply(a,d))}var i=c.prototype,n=e(h(i)?i:Object.prototype),o=Function.apply.call(a,n,b);return h(o)?o:n}})},function(a,b,c){var d=c(9),e=c(6),f=c(10),g=c(14);e(e.S+e.F*c(5)(function(){Reflect.defineProperty(d.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(a,b,c){f(a),b=g(b,!0),f(c);try{return d.f(a,b,c),!0}catch(e){return!1}}})},function(a,b,c){var d=c(6),e=c(49).f,f=c(10);d(d.S,"Reflect",{deleteProperty:function deleteProperty(a,b){var c=e(f(a),b);return!(c&&!c.configurable)&&delete a[b]}})},function(a,b,d){var e=d(6),f=d(10),g=function(a){this._t=f(a),this._i=0;var b,c=this._k=[];for(b in a)c.push(b)};d(136)(g,"Object",function(){var a,b=this,d=b._k;do if(b._i>=d.length)return{value:c,done:!0};while(!((a=d[b._i++])in b._t));return{value:a,done:!1}}),e(e.S,"Reflect",{enumerate:function enumerate(a){return new g(a)}})},function(a,b,d){function get(a,b){var d,h,k=arguments.length<3?a:arguments[2];return j(a)===k?a[b]:(d=e.f(a,b))?g(d,"value")?d.value:d.get!==c?d.get.call(k):c:i(h=f(a))?get(h,b,k):void 0}var e=d(49),f=d(57),g=d(3),h=d(6),i=d(11),j=d(10);h(h.S,"Reflect",{get:get})},function(a,b,c){var d=c(49),e=c(6),f=c(10);e(e.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(a,b){return d.f(f(a),b)}})},function(a,b,c){var d=c(6),e=c(57),f=c(10);d(d.S,"Reflect",{getPrototypeOf:function getPrototypeOf(a){return e(f(a))}})},function(a,b,c){var d=c(6);d(d.S,"Reflect",{has:function has(a,b){return b in a}})},function(a,b,c){var d=c(6),e=c(10),f=Object.isExtensible;d(d.S,"Reflect",{isExtensible:function isExtensible(a){return e(a),!f||f(a)}})},function(a,b,c){var d=c(6);d(d.S,"Reflect",{ownKeys:c(221)})},function(a,b,c){var d=c(48),e=c(41),f=c(10),g=c(2).Reflect;a.exports=g&&g.ownKeys||function ownKeys(a){var b=d.f(f(a)),c=e.f;return c?b.concat(c(a)):b}},function(a,b,c){var d=c(6),e=c(10),f=Object.preventExtensions;d(d.S,"Reflect",{preventExtensions:function preventExtensions(a){e(a);try{return f&&f(a),!0}catch(b){return!1}}})},function(a,b,d){function set(a,b,d){var i,m,n=arguments.length<4?a:arguments[3],o=f.f(k(a),b);if(!o){if(l(m=g(a)))return set(m,b,d,n);o=j(0)}return h(o,"value")?!(o.writable===!1||!l(n))&&(i=f.f(n,b)||j(0),i.value=d,e.f(n,b,i),!0):o.set!==c&&(o.set.call(n,d),!0)}var e=d(9),f=d(49),g=d(57),h=d(3),i=d(6),j=d(15),k=d(10),l=d(11);i(i.S,"Reflect",{set:set})},function(a,b,c){var d=c(6),e=c(71);e&&d(d.S,"Reflect",{setPrototypeOf:function setPrototypeOf(a,b){e.check(a,b);try{return e.set(a,b),!0}catch(c){return!1}}})},function(a,b,c){var d=c(6);d(d.S,"Date",{now:function(){return(new Date).getTime()}})},function(a,b,c){var d=c(6),e=c(56),f=c(14);d(d.P+d.F*c(5)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function toJSON(a){var b=e(this),c=f(b);return"number"!=typeof c||isFinite(c)?b.toISOString():null}})},function(a,b,c){var d=c(6),e=c(5),f=Date.prototype.getTime,g=function(a){return a>9?a:"0"+a};d(d.P+d.F*(e(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!e(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function toISOString(){if(!isFinite(f.call(this)))throw RangeError("Invalid time value");var a=this,b=a.getUTCFullYear(),c=a.getUTCMilliseconds(),d=b<0?"-":b>9999?"+":"";return d+("00000"+Math.abs(b)).slice(d?-6:-4)+"-"+g(a.getUTCMonth()+1)+"-"+g(a.getUTCDate())+"T"+g(a.getUTCHours())+":"+g(a.getUTCMinutes())+":"+g(a.getUTCSeconds())+"."+(c>99?c:"0"+g(c))+"Z"}})},function(a,b,c){var d=Date.prototype,e="Invalid Date",f="toString",g=d[f],h=d.getTime;new Date(NaN)+""!=e&&c(16)(d,f,function toString(){var a=h.call(this);return a===a?g.call(this):e})},function(a,b,c){var d=c(23)("toPrimitive"),e=Date.prototype;d in e||c(8)(e,d,c(230))},function(a,b,c){var d=c(10),e=c(14),f="number";a.exports=function(a){if("string"!==a&&a!==f&&"default"!==a)throw TypeError("Incorrect hint");return e(d(this),a!=f)}},function(a,b,d){var e=d(6),f=d(232),g=d(233),h=d(10),i=d(37),j=d(35),k=d(11),l=d(2).ArrayBuffer,m=d(199),n=g.ArrayBuffer,o=g.DataView,p=f.ABV&&l.isView,q=n.prototype.slice,r=f.VIEW,s="ArrayBuffer";e(e.G+e.W+e.F*(l!==n),{ArrayBuffer:n}),e(e.S+e.F*!f.CONSTR,s,{isView:function isView(a){return p&&p(a)||k(a)&&r in a}}),e(e.P+e.U+e.F*d(5)(function(){return!new n(2).slice(1,c).byteLength}),s,{slice:function slice(a,b){if(q!==c&&b===c)return q.call(h(this),a);for(var d=h(this).byteLength,e=i(a,d),f=i(b===c?d:b,d),g=new(m(this,n))(j(f-e)),k=new o(this),l=new o(g),p=0;e>1,k=23===b?E(2,-24)-E(2,-77):0,l=0,m=a<0||0===a&&1/a<0?1:0;for(a=D(a),a!=a||a===B?(e=a!=a?1:0,d=i):(d=F(G(a)/H),a*(f=E(2,-d))<1&&(d--,f*=2),a+=d+j>=1?k/f:k*E(2,1-j),a*f>=2&&(d++,f/=2),d+j>=i?(e=0,d=i):d+j>=1?(e=(a*f-1)*E(2,b),d+=j):(e=a*E(2,j-1)*E(2,b),d=0));b>=8;g[l++]=255&e,e/=256,b-=8);for(d=d<0;g[l++]=255&d,d/=256,h-=8);return g[--l]|=128*m,g},P=function(a,b,c){var d,e=8*c-b-1,f=(1<>1,h=e-7,i=c-1,j=a[i--],k=127&j;for(j>>=7;h>0;k=256*k+a[i],i--,h-=8);for(d=k&(1<<-h)-1,k>>=-h,h+=b;h>0;d=256*d+a[i],i--,h-=8);if(0===k)k=1-g;else{if(k===f)return d?NaN:j?-B:B;d+=E(2,b),k-=g}return(j?-1:1)*d*E(2,k-b)},Q=function(a){return a[3]<<24|a[2]<<16|a[1]<<8|a[0]},R=function(a){return[255&a]},S=function(a){return[255&a,a>>8&255]},T=function(a){return[255&a,a>>8&255,a>>16&255,a>>24&255]},U=function(a){return O(a,52,8)},V=function(a){return O(a,23,4)},W=function(a,b,c){p(a[u],b,{get:function(){return this[c]}})},X=function(a,b,c,d){var e=+c,f=m(e);if(e!=f||f<0||f+b>a[M])throw A(w);var g=a[L]._b,h=f+a[N],i=g.slice(h,h+b);return d?i:i.reverse()},Y=function(a,b,c,d,e,f){var g=+c,h=m(g);if(g!=h||h<0||h+b>a[M])throw A(w);for(var i=a[L]._b,j=h+a[N],k=d(+e),l=0;lba;)($=aa[ba++])in x||i(x,$,C[$]);g||(_.constructor=x)}var ca=new y(new x(2)),da=y[u].setInt8;ca.setInt8(0,2147483648),ca.setInt8(1,2147483649),!ca.getInt8(0)&&ca.getInt8(1)||j(y[u],{setInt8:function setInt8(a,b){da.call(this,a,b<<24>>24)},setUint8:function setUint8(a,b){da.call(this,a,b<<24>>24)}},!0)}else x=function ArrayBuffer(a){var b=Z(this,a);this._b=q.call(Array(b),0),this[M]=b},y=function DataView(a,b,d){l(this,y,t),l(a,x,t);var e=a[M],f=m(b);if(f<0||f>e)throw A("Wrong offset!");if(d=d===c?e-f:n(d),f+d>e)throw A(v);this[L]=a,this[N]=f,this[M]=d},f&&(W(x,J,"_l"),W(y,I,"_b"),W(y,J,"_l"),W(y,K,"_o")),j(y[u],{getInt8:function getInt8(a){return X(this,1,a)[0]<<24>>24},getUint8:function getUint8(a){return X(this,1,a)[0]},getInt16:function getInt16(a){var b=X(this,2,a,arguments[1]);return(b[1]<<8|b[0])<<16>>16},getUint16:function getUint16(a){var b=X(this,2,a,arguments[1]);return b[1]<<8|b[0]},getInt32:function getInt32(a){return Q(X(this,4,a,arguments[1]))},getUint32:function getUint32(a){return Q(X(this,4,a,arguments[1]))>>>0},getFloat32:function getFloat32(a){return P(X(this,4,a,arguments[1]),23,4)},getFloat64:function getFloat64(a){return P(X(this,8,a,arguments[1]),52,8)},setInt8:function setInt8(a,b){Y(this,1,a,R,b)},setUint8:function setUint8(a,b){Y(this,1,a,R,b)},setInt16:function setInt16(a,b){Y(this,2,a,S,b,arguments[2])},setUint16:function setUint16(a,b){Y(this,2,a,S,b,arguments[2])},setInt32:function setInt32(a,b){Y(this,4,a,T,b,arguments[2])},setUint32:function setUint32(a,b){Y(this,4,a,T,b,arguments[2])},setFloat32:function setFloat32(a,b){Y(this,4,a,V,b,arguments[2])},setFloat64:function setFloat64(a,b){Y(this,8,a,U,b,arguments[2])}});r(x,s),r(y,t),i(y[u],h.VIEW,!0),b[s]=x,b[t]=y},function(a,b,c){var d=c(6);d(d.G+d.W+d.F*!c(232).ABV,{DataView:c(233).DataView})},function(a,b,c){c(236)("Int8",1,function(a){return function Int8Array(b,c,d){return a(this,b,c,d)}})},function(a,b,d){if(d(4)){var e=d(26),f=d(2),g=d(5),h=d(6),i=d(232),j=d(233),k=d(18),l=d(197),m=d(15),n=d(8),o=d(202),p=d(36),q=d(35),r=d(37),s=d(14),t=d(3),u=d(69),v=d(73),w=d(11),x=d(56),y=d(154),z=d(44),A=d(57),B=d(48).f,C=d(156),D=d(17),E=d(23),F=d(164),G=d(34),H=d(199),I=d(183),J=d(135),K=d(157),L=d(186),M=d(180),N=d(177),O=d(9),P=d(49),Q=O.f,R=P.f,S=f.RangeError,T=f.TypeError,U=f.Uint8Array,V="ArrayBuffer",W="Shared"+V,X="BYTES_PER_ELEMENT",Y="prototype",Z=Array[Y],$=j.ArrayBuffer,_=j.DataView,aa=F(0),ba=F(2),ca=F(3),da=F(4),ea=F(5),fa=F(6),ga=G(!0),ha=G(!1),ia=I.values,ja=I.keys,ka=I.entries,la=Z.lastIndexOf,ma=Z.reduce,na=Z.reduceRight,oa=Z.join,pa=Z.sort,qa=Z.slice,ra=Z.toString,sa=Z.toLocaleString,ta=E("iterator"),ua=E("toStringTag"),va=D("typed_constructor"),wa=D("def_constructor"),xa=i.CONSTR,ya=i.TYPED,za=i.VIEW,Aa="Wrong length!",Ba=F(1,function(a,b){return Ha(H(a,a[wa]),b)}),Ca=g(function(){return 1===new U(new Uint16Array([1]).buffer)[0]}),Da=!!U&&!!U[Y].set&&g(function(){new U(1).set({})}),Ea=function(a,b){if(a===c)throw T(Aa);var d=+a,e=q(a);if(b&&!u(d,e))throw S(Aa);return e},Fa=function(a,b){var c=p(a);if(c<0||c%b)throw S("Wrong offset!");return c},Ga=function(a){if(w(a)&&ya in a)return a;throw T(a+" is not a typed array!")},Ha=function(a,b){if(!(w(a)&&va in a))throw T("It is not a typed array constructor!");return new a(b)},Ia=function(a,b){return Ja(H(a,a[wa]),b)},Ja=function(a,b){for(var c=0,d=b.length,e=Ha(a,d);d>c;)e[c]=b[c++];return e},Ka=function(a,b,c){Q(a,b,{get:function(){return this._d[c]}})},La=function from(a){var b,d,e,f,g,h,i=x(a),j=arguments.length,l=j>1?arguments[1]:c,m=l!==c,n=C(i);if(n!=c&&!y(n)){for(h=n.call(i),e=[],b=0;!(g=h.next()).done;b++)e.push(g.value);i=e}for(m&&j>2&&(l=k(l,arguments[2],2)),b=0,d=q(i.length),f=Ha(this,d);d>b;b++)f[b]=m?l(i[b],b):i[b];return f},Ma=function of(){for(var a=0,b=arguments.length,c=Ha(this,b);b>a;)c[a]=arguments[a++];return c},Na=!!U&&g(function(){sa.call(new U(1))}),Oa=function toLocaleString(){return sa.apply(Na?qa.call(Ga(this)):Ga(this),arguments)},Pa={copyWithin:function copyWithin(a,b){return N.call(Ga(this),a,b,arguments.length>2?arguments[2]:c)},every:function every(a){return da(Ga(this),a,arguments.length>1?arguments[1]:c)},fill:function fill(a){return M.apply(Ga(this),arguments)},filter:function filter(a){return Ia(this,ba(Ga(this),a,arguments.length>1?arguments[1]:c))},find:function find(a){return ea(Ga(this),a,arguments.length>1?arguments[1]:c)},findIndex:function findIndex(a){return fa(Ga(this),a,arguments.length>1?arguments[1]:c)},forEach:function forEach(a){aa(Ga(this),a,arguments.length>1?arguments[1]:c)},indexOf:function indexOf(a){return ha(Ga(this),a,arguments.length>1?arguments[1]:c)},includes:function includes(a){return ga(Ga(this),a,arguments.length>1?arguments[1]:c)},join:function join(a){return oa.apply(Ga(this),arguments)},lastIndexOf:function lastIndexOf(a){ -return la.apply(Ga(this),arguments)},map:function map(a){return Ba(Ga(this),a,arguments.length>1?arguments[1]:c)},reduce:function reduce(a){return ma.apply(Ga(this),arguments)},reduceRight:function reduceRight(a){return na.apply(Ga(this),arguments)},reverse:function reverse(){for(var a,b=this,c=Ga(b).length,d=Math.floor(c/2),e=0;e1?arguments[1]:c)},sort:function sort(a){return pa.call(Ga(this),a)},subarray:function subarray(a,b){var d=Ga(this),e=d.length,f=r(a,e);return new(H(d,d[wa]))(d.buffer,d.byteOffset+f*d.BYTES_PER_ELEMENT,q((b===c?e:r(b,e))-f))}},Qa=function slice(a,b){return Ia(this,qa.call(Ga(this),a,b))},Ra=function set(a){Ga(this);var b=Fa(arguments[1],1),c=this.length,d=x(a),e=q(d.length),f=0;if(e+b>c)throw S(Aa);for(;f255?255:255&d),e.v[p](c*b+e.o,d,Ca)},E=function(a,b){Q(a,b,{get:function(){return C(this,b)},set:function(a){return D(this,b,a)},enumerable:!0})};u?(r=d(function(a,d,e,f){l(a,r,k,"_d");var g,h,i,j,m=0,o=0;if(w(d)){if(!(d instanceof $||(j=v(d))==V||j==W))return ya in d?Ja(r,d):La.call(r,d);g=d,o=Fa(e,b);var p=d.byteLength;if(f===c){if(p%b)throw S(Aa);if(h=p-o,h<0)throw S(Aa)}else if(h=q(f)*b,h+o>p)throw S(Aa);i=h/b}else i=Ea(d,!0),h=i*b,g=new $(h);for(n(a,"_d",{b:g,o:o,l:h,e:i,v:new _(g)});m1?arguments[1]:c)}}),d(178)("includes")},function(a,b,c){var d=c(6),e=c(125)(!0);d(d.P,"String",{at:function at(a){return e(this,a)}})},function(a,b,d){var e=d(6),f=d(248);e(e.P,"String",{padStart:function padStart(a){return f(this,a,arguments.length>1?arguments[1]:c,!0)}})},function(a,b,d){var e=d(35),f=d(85),g=d(33);a.exports=function(a,b,d,h){var i=String(g(a)),j=i.length,k=d===c?" ":String(d),l=e(b);if(l<=j||""==k)return i;var m=l-j,n=f.call(k,Math.ceil(m/k.length));return n.length>m&&(n=n.slice(0,m)),h?n+i:i+n}},function(a,b,d){var e=d(6),f=d(248);e(e.P,"String",{padEnd:function padEnd(a){return f(this,a,arguments.length>1?arguments[1]:c,!1)}})},function(a,b,c){c(81)("trimLeft",function(a){return function trimLeft(){return a(this,1)}},"trimStart")},function(a,b,c){c(81)("trimRight",function(a){return function trimRight(){return a(this,2)}},"trimEnd")},function(a,b,c){var d=c(6),e=c(33),f=c(35),g=c(128),h=c(188),i=RegExp.prototype,j=function(a,b){this._r=a,this._s=b};c(136)(j,"RegExp String",function next(){var a=this._r.exec(this._s);return{value:a,done:null===a}}),d(d.P,"String",{matchAll:function matchAll(a){if(e(this),!g(a))throw TypeError(a+" is not a regexp!");var b=String(this),c="flags"in i?String(a.flags):h.call(a),d=new RegExp(a.source,~c.indexOf("g")?c:"g"+c);return d.lastIndex=f(a.lastIndex),new j(d,b)}})},function(a,b,c){c(25)("asyncIterator")},function(a,b,c){c(25)("observable")},function(a,b,c){var d=c(6),e=c(221),f=c(30),g=c(49),h=c(155);d(d.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(a){for(var b,c=f(a),d=g.f,i=e(c),j={},k=0;i.length>k;)h(j,b=i[k++],d(c,b));return j}})},function(a,b,c){var d=c(6),e=c(257)(!1);d(d.S,"Object",{values:function values(a){return e(a)}})},function(a,b,c){var d=c(28),e=c(30),f=c(42).f;a.exports=function(a){return function(b){for(var c,g=e(b),h=d(g),i=h.length,j=0,k=[];i>j;)f.call(g,c=h[j++])&&k.push(a?[c,g[c]]:g[c]);return k}}},function(a,b,c){var d=c(6),e=c(257)(!0);d(d.S,"Object",{entries:function entries(a){return e(a)}})},function(a,b,c){var d=c(6),e=c(56),f=c(19),g=c(9);c(4)&&d(d.P+c(260),"Object",{__defineGetter__:function __defineGetter__(a,b){g.f(e(this),a,{get:f(b),enumerable:!0,configurable:!0})}})},function(a,b,c){a.exports=c(26)||!c(5)(function(){var a=Math.random();__defineSetter__.call(null,a,function(){}),delete c(2)[a]})},function(a,b,c){var d=c(6),e=c(56),f=c(19),g=c(9);c(4)&&d(d.P+c(260),"Object",{__defineSetter__:function __defineSetter__(a,b){g.f(e(this),a,{set:f(b),enumerable:!0,configurable:!0})}})},function(a,b,c){var d=c(6),e=c(56),f=c(14),g=c(57),h=c(49).f;c(4)&&d(d.P+c(260),"Object",{__lookupGetter__:function __lookupGetter__(a){var b,c=e(this),d=f(a,!0);do if(b=h(c,d))return b.get;while(c=g(c))}})},function(a,b,c){var d=c(6),e=c(56),f=c(14),g=c(57),h=c(49).f;c(4)&&d(d.P+c(260),"Object",{__lookupSetter__:function __lookupSetter__(a){var b,c=e(this),d=f(a,!0);do if(b=h(c,d))return b.set;while(c=g(c))}})},function(a,b,c){var d=c(6);d(d.P+d.R,"Map",{toJSON:c(265)("Map")})},function(a,b,c){var d=c(73),e=c(266);a.exports=function(a){return function toJSON(){if(d(this)!=a)throw TypeError(a+"#toJSON isn't generic");return e(this)}}},function(a,b,c){var d=c(198);a.exports=function(a,b){var c=[];return d(a,!1,c.push,c,b),c}},function(a,b,c){var d=c(6);d(d.P+d.R,"Set",{toJSON:c(265)("Set")})},function(a,b,c){var d=c(6);d(d.S,"System",{global:c(2)})},function(a,b,c){var d=c(6),e=c(32);d(d.S,"Error",{isError:function isError(a){return"Error"===e(a)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{iaddh:function iaddh(a,b,c,d){var e=a>>>0,f=b>>>0,g=c>>>0;return f+(d>>>0)+((e&g|(e|g)&~(e+g>>>0))>>>31)|0}})},function(a,b,c){var d=c(6);d(d.S,"Math",{isubh:function isubh(a,b,c,d){var e=a>>>0,f=b>>>0,g=c>>>0;return f-(d>>>0)-((~e&g|~(e^g)&e-g>>>0)>>>31)|0}})},function(a,b,c){var d=c(6);d(d.S,"Math",{imulh:function imulh(a,b){var c=65535,d=+a,e=+b,f=d&c,g=e&c,h=d>>16,i=e>>16,j=(h*g>>>0)+(f*g>>>16);return h*i+(j>>16)+((f*i>>>0)+(j&c)>>16)}})},function(a,b,c){var d=c(6);d(d.S,"Math",{umulh:function umulh(a,b){var c=65535,d=+a,e=+b,f=d&c,g=e&c,h=d>>>16,i=e>>>16,j=(h*g>>>0)+(f*g>>>16);return h*i+(j>>>16)+((f*i>>>0)+(j&c)>>>16)}})},function(a,b,c){var d=c(275),e=c(10),f=d.key,g=d.set;d.exp({defineMetadata:function defineMetadata(a,b,c,d){g(a,b,e(c),f(d))}})},function(a,b,d){var e=d(203),f=d(6),g=d(21)("metadata"),h=g.store||(g.store=new(d(207))),i=function(a,b,d){var f=h.get(a);if(!f){if(!d)return c;h.set(a,f=new e)}var g=f.get(b);if(!g){if(!d)return c;f.set(b,g=new e)}return g},j=function(a,b,d){var e=i(b,d,!1);return e!==c&&e.has(a)},k=function(a,b,d){var e=i(b,d,!1);return e===c?c:e.get(a)},l=function(a,b,c,d){i(c,d,!0).set(a,b)},m=function(a,b){var c=i(a,b,!1),d=[];return c&&c.forEach(function(a,b){d.push(b)}),d},n=function(a){return a===c||"symbol"==typeof a?a:String(a)},o=function(a){f(f.S,"Reflect",a)};a.exports={store:h,map:i,has:j,get:k,set:l,keys:m,key:n,exp:o}},function(a,b,d){var e=d(275),f=d(10),g=e.key,h=e.map,i=e.store;e.exp({deleteMetadata:function deleteMetadata(a,b){var d=arguments.length<3?c:g(arguments[2]),e=h(f(b),d,!1);if(e===c||!e["delete"](a))return!1;if(e.size)return!0;var j=i.get(b);return j["delete"](d),!!j.size||i["delete"](b)}})},function(a,b,d){var e=d(275),f=d(10),g=d(57),h=e.has,i=e.get,j=e.key,k=function(a,b,d){var e=h(a,b,d);if(e)return i(a,b,d);var f=g(b);return null!==f?k(a,f,d):c};e.exp({getMetadata:function getMetadata(a,b){return k(a,f(b),arguments.length<3?c:j(arguments[2]))}})},function(a,b,d){var e=d(206),f=d(266),g=d(275),h=d(10),i=d(57),j=g.keys,k=g.key,l=function(a,b){var c=j(a,b),d=i(a);if(null===d)return c;var g=l(d,b);return g.length?c.length?f(new e(c.concat(g))):g:c};g.exp({getMetadataKeys:function getMetadataKeys(a){return l(h(a),arguments.length<2?c:k(arguments[1]))}})},function(a,b,d){var e=d(275),f=d(10),g=e.get,h=e.key;e.exp({getOwnMetadata:function getOwnMetadata(a,b){return g(a,f(b),arguments.length<3?c:h(arguments[2]))}})},function(a,b,d){var e=d(275),f=d(10),g=e.keys,h=e.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(a){return g(f(a),arguments.length<2?c:h(arguments[1]))}})},function(a,b,d){var e=d(275),f=d(10),g=d(57),h=e.has,i=e.key,j=function(a,b,c){var d=h(a,b,c);if(d)return!0;var e=g(b);return null!==e&&j(a,e,c)};e.exp({hasMetadata:function hasMetadata(a,b){return j(a,f(b),arguments.length<3?c:i(arguments[2]))}})},function(a,b,d){var e=d(275),f=d(10),g=e.has,h=e.key;e.exp({hasOwnMetadata:function hasOwnMetadata(a,b){return g(a,f(b),arguments.length<3?c:h(arguments[2]))}})},function(a,b,d){var e=d(275),f=d(10),g=d(19),h=e.key,i=e.set;e.exp({metadata:function metadata(a,b){return function decorator(d,e){i(a,b,(e!==c?f:g)(d),h(e))}}})},function(a,b,c){var d=c(6),e=c(201)(),f=c(2).process,g="process"==c(32)(f);d(d.G,{asap:function asap(a){var b=g&&f.domain;e(b?b.bind(a):a)}})},function(a,b,d){var e=d(6),f=d(2),g=d(7),h=d(201)(),i=d(23)("observable"),j=d(19),k=d(10),l=d(197),m=d(202),n=d(8),o=d(198),p=o.RETURN,q=function(a){return null==a?c:j(a)},r=function(a){var b=a._c;b&&(a._c=c,b())},s=function(a){return a._o===c},t=function(a){s(a)||(a._o=c,r(a))},u=function(a,b){k(a),this._c=c,this._o=a,a=new v(this);try{var d=b(a),e=d;null!=d&&("function"==typeof d.unsubscribe?d=function(){e.unsubscribe()}:j(d),this._c=d)}catch(f){return void a.error(f)}s(this)&&r(this)};u.prototype=m({},{unsubscribe:function unsubscribe(){t(this)}});var v=function(a){this._s=a};v.prototype=m({},{next:function next(a){var b=this._s;if(!s(b)){var c=b._o;try{var d=q(c.next);if(d)return d.call(c,a)}catch(e){try{t(b)}finally{throw e}}}},error:function error(a){var b=this._s;if(s(b))throw a;var d=b._o;b._o=c;try{var e=q(d.error);if(!e)throw a;a=e.call(d,a)}catch(f){try{r(b)}finally{throw f}}return r(b),a},complete:function complete(a){var b=this._s;if(!s(b)){var d=b._o;b._o=c;try{var e=q(d.complete);a=e?e.call(d,a):c}catch(f){try{r(b)}finally{throw f}}return r(b),a}}});var w=function Observable(a){l(this,w,"Observable","_f")._f=j(a)};m(w.prototype,{subscribe:function subscribe(a){return new u(a,this._f)},forEach:function forEach(a){var b=this;return new(g.Promise||f.Promise)(function(c,d){j(a);var e=b.subscribe({next:function(b){try{return a(b)}catch(c){d(c),e.unsubscribe()}},error:d,complete:c})})}}),m(w,{from:function from(a){var b="function"==typeof this?this:w,c=q(k(a)[i]);if(c){var d=k(c.call(a));return d.constructor===b?d:new b(function(a){return d.subscribe(a)})}return new b(function(b){var c=!1;return h(function(){if(!c){try{if(o(a,!1,function(a){if(b.next(a),c)return p})===p)return}catch(d){if(c)throw d;return void b.error(d)}b.complete()}}),function(){c=!0}})},of:function of(){for(var a=0,b=arguments.length,c=Array(b);ag;)(c[g]=arguments[g++])===h&&(i=!0);return function(){var d,f=this,g=arguments.length,j=0,k=0;if(!i&&!g)return e(a,c,f);if(d=c.slice(),i)for(;b>j;j++)d[j]===h&&(d[j]=arguments[k++]);for(;g>k;)d.push(arguments[k++]);return e(a,d,f)}}},function(a,b,c){a.exports=c(2)}]),"undefined"!=typeof module&&module.exports?module.exports=a:"function"==typeof define&&define.amd?define(function(){return a}):b.core=a}(1,1); +!function(e,i,Jt){"use strict";!function(r){var e={};function __webpack_require__(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return r[t].call(n.exports,n,n.exports,__webpack_require__),n.l=!0,n.exports}__webpack_require__.m=r,__webpack_require__.c=e,__webpack_require__.d=function(t,n,r){__webpack_require__.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(t){var n=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=124)}([function(t,n,r){var v=r(2),g=r(26),y=r(11),d=r(12),_=r(18),b="prototype",S=function(t,n,r){var e,i,o,u,c=t&S.F,f=t&S.G,a=t&S.P,s=t&S.B,l=f?v:t&S.S?v[n]||(v[n]={}):(v[n]||{})[b],h=f?g:g[n]||(g[n]={}),p=h[b]||(h[b]={});for(e in f&&(r=n),r)o=((i=!c&&l&&l[e]!==Jt)?l:r)[e],u=s&&i?_(o,v):a&&"function"==typeof o?_(Function.call,o):o,l&&d(l,e,o,t&S.U),h[e]!=o&&y(h,e,u),a&&p[e]!=o&&(p[e]=o)};v.core=g,S.F=1,S.G=2,S.S=4,S.P=8,S.B=16,S.W=32,S.U=64,S.R=128,t.exports=S},function(t,n,r){var e=r(4);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof i&&(i=r)},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(49)("wks"),i=r(33),o=r(2).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){t.exports=!r(3)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n,r){var i=r(1),o=r(90),u=r(21),c=Object.defineProperty;n.f=r(6)?Object.defineProperty:function defineProperty(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){var e=r(23),i=Math.min;t.exports=function(t){return 0"+i+""};t.exports=function(n,t){var r={};r[n]=t(o),e(e.P+e.F*i(function(){var t=""[n]('"');return t!==t.toLowerCase()||3document.F=Object<\/script>"),t.close(),s=t.F;r--;)delete s[a][u[r]];return s()};t.exports=Object.create||function create(t,n){var r;return null!==t?(f[a]=i(t),r=new f,f[a]=null,r[c]=t):r=s(),n===Jt?r:o(r,n)}},function(t,n,r){var e=r(92),i=r(67).concat("length","prototype");n.f=Object.getOwnPropertyNames||function getOwnPropertyNames(t){return e(t,i)}},function(t,n,r){var e=r(2),i=r(7),o=r(6),u=r(5)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||e!==Jt&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var h=r(18),p=r(104),v=r(80),g=r(1),y=r(8),d=r(82),_={},b={};(n=t.exports=function(t,n,r,e,i){var o,u,c,f,a=i?function(){return t}:d(t),s=h(r,e,n?2:1),l=0;if("function"!=typeof a)throw TypeError(t+" is not iterable!");if(v(a)){for(o=y(t.length);l>>=1)&&(n+=n))1&e&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function sign(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||22025.465794806718>1,s=23===n?I(2,-24)-I(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=F(t))!=t||t===M?(i=t!=t?1:0,e=f):(e=A(k(t)/N),t*(o=I(2,-e))<1&&(e--,o*=2),2<=(t+=1<=e+a?s/o:s*I(2,1-a))*o&&(e++,o/=2),f<=e+a?(i=0,e=f):1<=e+a?(i=(t*o-1)*I(2,n),e+=a):(i=t*I(2,a-1)*I(2,n),e=0));8<=n;u[l++]=255&i,i/=256,n-=8);for(e=e<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;0>=-c,c+=n;0>8&255]}function packI32(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){g(t[S],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i=p(+r);if(t[L]>24)},setUint8:function setUint8(t,n){B.call(this,t,n<<24>>24)}},!0)}else x=function ArrayBuffer(t){s(this,x,_);var n=p(t);this._b=y.call(new Array(n),0),this[L]=n},w=function DataView(t,n,r){s(this,w,b),s(t,x,b);var e=t[L],i=l(n);if(i<0||e>24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n=get(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function getUint16(t){var n=get(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});d(x,_),d(w,b),c(w[S],u.VIEW,!0),n[_]=x,n[b]=w},function(t,n,r){t.exports=!r(6)&&!r(3)(function(){return 7!=Object.defineProperty(r(64)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){n.f=r(5)},function(t,n,r){var u=r(14),c=r(15),f=r(50)(!1),a=r(66)("IE_PROTO");t.exports=function(t,n){var r,e=c(t),i=0,o=[];for(r in e)r!=a&&u(e,r)&&o.push(r);for(;i>>0||(u.test(r)?16:10))}:e},function(t,n){t.exports=Math.log1p||function log1p(t){return-1e-8<(t=+t)&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){var o=r(73),e=Math.pow,u=e(2,-52),c=e(2,-23),f=e(2,127)*(2-c),a=e(2,-126);t.exports=Math.fround||function fround(t){var n,r,e=Math.abs(t),i=o(t);return e>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(0),i=Math.exp;e(e.S,"Math",{cosh:function cosh(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(0),i=r(74);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(0);e(e.S,"Math",{fround:r(103)})},function(t,n,r){var e=r(0),f=Math.abs;e(e.S,"Math",{hypot:function hypot(t,n){for(var r,e,i=0,o=0,u=arguments.length,c=0;o>>16)*u+o*(r&i>>>16)<<16>>>0)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log1p:r(102)})},function(t,n,r){var e=r(0);e(e.S,"Math",{log2:function log2(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(0);e(e.S,"Math",{sign:r(73)})},function(t,n,r){var e=r(0),i=r(74),o=Math.exp;e(e.S+e.F*r(3)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(0),i=r(74),o=Math.exp;e(e.S,"Math",{tanh:function tanh(t){var n=i(t=+t),r=i(-t);return n==Infinity?1:r==Infinity?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(0);e(e.S,"Math",{trunc:function trunc(t){return(0>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(0),u=r(15),c=r(8);e(e.S,"String",{raw:function raw(t){for(var n=u(t.raw),r=c(n.length),e=arguments.length,i=[],o=0;o>>0,h=new RegExp(t.source,a+"g");for(_||(e=new RegExp("^"+h.source+"$(?!\\s)",a));(i=h.exec(r))&&!(s<(o=i.index+i[0][y])&&(f.push(r.slice(s,i.index)),!_&&1>>0,o=r>>>0;return(n>>>0)+(e>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{isubh:function isubh(t,n,r,e){var i=t>>>0,o=r>>>0;return(n>>>0)-(e>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{imulh:function imulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>16,c=e>>16,f=(u*o>>>0)+(i*o>>>16);return u*c+(f>>16)+((i*c>>>0)+(65535&f)>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,n,r){var e=r(0),i=Math.PI/180;e(e.S,"Math",{radians:function radians(t){return t*i}})},function(t,n,r){var e=r(0);e(e.S,"Math",{scale:r(123)})},function(t,n,r){var e=r(0);e(e.S,"Math",{umulh:function umulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>>16,c=e>>>16,f=(u*o>>>0)+(i*o>>>16);return u*c+(f>>>16)+((i*c>>>0)+(65535&f)>>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{signbit:function signbit(t){return(t=+t)!=t?t:0==t?1/t==Infinity:0 2 ? arguments[2] : undefined - , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) - , inc = 1; - if(from < to && to < from + count){ - inc = -1; +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; from += count - 1; - to += count - 1; + to += count - 1; } - while(count-- > 0){ - if(from in O)O[to] = O[from]; + while (count-- > 0) { + if (from in O) O[to] = O[from]; else delete O[to]; - to += inc; + to += inc; from += inc; } return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-fill.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-fill.js index b21bb7ed..0753c36a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-fill.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-fill.js @@ -1,15 +1,15 @@ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) 'use strict'; -var toObject = require('./_to-object') - , toIndex = require('./_to-index') - , toLength = require('./_to-length'); -module.exports = function fill(value /*, start = 0, end = @length */){ - var O = toObject(this) - , length = toLength(O.length) - , aLen = arguments.length - , index = toIndex(aLen > 1 ? arguments[1] : undefined, length) - , end = aLen > 2 ? arguments[2] : undefined - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; +var toObject = require('./_to-object'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-from-iterable.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-from-iterable.js index b5c454fb..08be255f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-from-iterable.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-from-iterable.js @@ -1,6 +1,6 @@ var forOf = require('./_for-of'); -module.exports = function(iter, ITERATOR){ +module.exports = function (iter, ITERATOR) { var result = []; forOf(iter, false, result.push, result, ITERATOR); return result; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-includes.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-includes.js index c70b064d..0ef3efeb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-includes.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-includes.js @@ -1,21 +1,23 @@ // false -> Array#indexOf // true -> Array#includes -var toIObject = require('./_to-iobject') - , toLength = require('./_to-length') - , toIndex = require('./_to-index'); -module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; +var toIObject = require('./_to-iobject'); +var toLength = require('./_to-length'); +var toAbsoluteIndex = require('./_to-absolute-index'); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-methods.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-methods.js index 8ffbe116..ae7f447d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-methods.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-methods.js @@ -5,40 +5,40 @@ // 4 -> Array#every // 5 -> Array#find // 6 -> Array#findIndex -var ctx = require('./_ctx') - , IObject = require('./_iobject') - , toObject = require('./_to-object') - , toLength = require('./_to-length') - , asc = require('./_array-species-create'); -module.exports = function(TYPE, $create){ - var IS_MAP = TYPE == 1 - , IS_FILTER = TYPE == 2 - , IS_SOME = TYPE == 3 - , IS_EVERY = TYPE == 4 - , IS_FIND_INDEX = TYPE == 6 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX - , create = $create || asc; - return function($this, callbackfn, that){ - var O = toObject($this) - , self = IObject(O) - , f = ctx(callbackfn, that, 3) - , length = toLength(self.length) - , index = 0 - , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined - , val, res; - for(;length > index; index++)if(NO_HOLES || index in self){ +var ctx = require('./_ctx'); +var IObject = require('./_iobject'); +var toObject = require('./_to-object'); +var toLength = require('./_to-length'); +var asc = require('./_array-species-create'); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { val = self[index]; res = f(val, index, O); - if(TYPE){ - if(IS_MAP)result[index] = res; // map - else if(res)switch(TYPE){ - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if(IS_EVERY)return false; // every + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every } } return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-reduce.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-reduce.js index c807d544..8596ac70 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-reduce.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-reduce.js @@ -1,28 +1,28 @@ -var aFunction = require('./_a-function') - , toObject = require('./_to-object') - , IObject = require('./_iobject') - , toLength = require('./_to-length'); +var aFunction = require('./_a-function'); +var toObject = require('./_to-object'); +var IObject = require('./_iobject'); +var toLength = require('./_to-length'); -module.exports = function(that, callbackfn, aLen, memo, isRight){ +module.exports = function (that, callbackfn, aLen, memo, isRight) { aFunction(callbackfn); - var O = toObject(that) - , self = IObject(O) - , length = toLength(O.length) - , index = isRight ? length - 1 : 0 - , i = isRight ? -1 : 1; - if(aLen < 2)for(;;){ - if(index in self){ + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { memo = self[index]; index += i; break; } index += i; - if(isRight ? index < 0 : length <= index){ + if (isRight ? index < 0 : length <= index) { throw TypeError('Reduce of empty array with no initial value'); } } - for(;isRight ? index >= 0 : length > index; index += i)if(index in self){ + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { memo = callbackfn(memo, self[index], index, O); } return memo; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-species-constructor.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-species-constructor.js index a715389f..0771c236 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-species-constructor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-species-constructor.js @@ -1,16 +1,16 @@ -var isObject = require('./_is-object') - , isArray = require('./_is-array') - , SPECIES = require('./_wks')('species'); +var isObject = require('./_is-object'); +var isArray = require('./_is-array'); +var SPECIES = require('./_wks')('species'); -module.exports = function(original){ +module.exports = function (original) { var C; - if(isArray(original)){ + if (isArray(original)) { C = original.constructor; // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { C = C[SPECIES]; - if(C === null)C = undefined; + if (C === null) C = undefined; } } return C === undefined ? Array : C; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_array-species-create.js b/build/js-transpiled/node_modules/core-js/library/modules/_array-species-create.js index cbd18bc6..36ed58bd 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_array-species-create.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_array-species-create.js @@ -1,6 +1,6 @@ // 9.4.2.3 ArraySpeciesCreate(originalArray, length) var speciesConstructor = require('./_array-species-constructor'); -module.exports = function(original, length){ +module.exports = function (original, length) { return new (speciesConstructor(original))(length); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_bind.js b/build/js-transpiled/node_modules/core-js/library/modules/_bind.js index 1f7b0174..3cf1e5ae 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_bind.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_bind.js @@ -1,24 +1,25 @@ 'use strict'; -var aFunction = require('./_a-function') - , isObject = require('./_is-object') - , invoke = require('./_invoke') - , arraySlice = [].slice - , factories = {}; +var aFunction = require('./_a-function'); +var isObject = require('./_is-object'); +var invoke = require('./_invoke'); +var arraySlice = [].slice; +var factories = {}; -var construct = function(F, len, args){ - if(!(len in factories)){ - for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); } return factories[len](F, args); }; -module.exports = Function.bind || function bind(that /*, args... */){ - var fn = aFunction(this) - , partArgs = arraySlice.call(arguments, 1); - var bound = function(/* args... */){ +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { var args = partArgs.concat(arraySlice.call(arguments)); return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); }; - if(isObject(fn.prototype))bound.prototype = fn.prototype; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; return bound; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_classof.js b/build/js-transpiled/node_modules/core-js/library/modules/_classof.js index dab3a80f..d106d5be 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_classof.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_classof.js @@ -1,17 +1,17 @@ // getting tag from 19.1.3.6 Object.prototype.toString() -var cof = require('./_cof') - , TAG = require('./_wks')('toStringTag') - // ES3 wrong here - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; +var cof = require('./_cof'); +var TAG = require('./_wks')('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; // fallback for IE11 Script Access Denied error -var tryGet = function(it, key){ +var tryGet = function (it, key) { try { return it[key]; - } catch(e){ /* empty */ } + } catch (e) { /* empty */ } }; -module.exports = function(it){ +module.exports = function (it) { var O, T, B; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case @@ -20,4 +20,4 @@ module.exports = function(it){ : ARG ? cof(O) // ES3 arguments fallback : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_cof.js b/build/js-transpiled/node_modules/core-js/library/modules/_cof.js index 1dd2779a..332c0bc0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_cof.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_cof.js @@ -1,5 +1,5 @@ var toString = {}.toString; -module.exports = function(it){ +module.exports = function (it) { return toString.call(it).slice(8, -1); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_collection-strong.js b/build/js-transpiled/node_modules/core-js/library/modules/_collection-strong.js index 55e4b615..68ce63f0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_collection-strong.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_collection-strong.js @@ -1,45 +1,47 @@ 'use strict'; -var dP = require('./_object-dp').f - , create = require('./_object-create') - , redefineAll = require('./_redefine-all') - , ctx = require('./_ctx') - , anInstance = require('./_an-instance') - , defined = require('./_defined') - , forOf = require('./_for-of') - , $iterDefine = require('./_iter-define') - , step = require('./_iter-step') - , setSpecies = require('./_set-species') - , DESCRIPTORS = require('./_descriptors') - , fastKey = require('./_meta').fastKey - , SIZE = DESCRIPTORS ? '_s' : 'size'; +var dP = require('./_object-dp').f; +var create = require('./_object-create'); +var redefineAll = require('./_redefine-all'); +var ctx = require('./_ctx'); +var anInstance = require('./_an-instance'); +var forOf = require('./_for-of'); +var $iterDefine = require('./_iter-define'); +var step = require('./_iter-step'); +var setSpecies = require('./_set-species'); +var DESCRIPTORS = require('./_descriptors'); +var fastKey = require('./_meta').fastKey; +var validate = require('./_validate-collection'); +var SIZE = DESCRIPTORS ? '_s' : 'size'; -var getEntry = function(that, key){ +var getEntry = function (that, key) { // fast case - var index = fastKey(key), entry; - if(index !== 'F')return that._i[index]; + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; // frozen object case - for(entry = that._f; entry; entry = entry.n){ - if(entry.k == key)return entry; + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; } }; module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type that._i = create(null); // index that._f = undefined; // first entry that._l = undefined; // last entry that[SIZE] = 0; // size - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); }); redefineAll(C.prototype, { // 23.1.3.1 Map.prototype.clear() // 23.2.3.2 Set.prototype.clear() - clear: function clear(){ - for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { entry.r = true; - if(entry.p)entry.p = entry.p.n = undefined; + if (entry.p) entry.p = entry.p.n = undefined; delete data[entry.i]; } that._f = that._l = undefined; @@ -47,51 +49,51 @@ module.exports = { }, // 23.1.3.3 Map.prototype.delete(key) // 23.2.3.4 Set.prototype.delete(value) - 'delete': function(key){ - var that = this - , entry = getEntry(that, key); - if(entry){ - var next = entry.n - , prev = entry.p; + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; delete that._i[entry.i]; entry.r = true; - if(prev)prev.n = next; - if(next)next.p = prev; - if(that._f == entry)that._f = next; - if(that._l == entry)that._l = prev; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; that[SIZE]--; } return !!entry; }, // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /*, that = undefined */){ - anInstance(this, C, 'forEach'); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) - , entry; - while(entry = entry ? entry.n : this._f){ + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { f(entry.v, entry.k, this); // revert to the last existing entry - while(entry && entry.r)entry = entry.p; + while (entry && entry.r) entry = entry.p; } }, // 23.1.3.7 Map.prototype.has(key) // 23.2.3.7 Set.prototype.has(value) - has: function has(key){ - return !!getEntry(this, key); + has: function has(key) { + return !!getEntry(validate(this, NAME), key); } }); - if(DESCRIPTORS)dP(C.prototype, 'size', { - get: function(){ - return defined(this[SIZE]); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; } }); return C; }, - def: function(that, key, value){ - var entry = getEntry(that, key) - , prev, index; + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; // change existing entry - if(entry){ + if (entry) { entry.v = value; // create new entry } else { @@ -103,40 +105,40 @@ module.exports = { n: undefined, // <- next entry r: false // <- removed }; - if(!that._f)that._f = entry; - if(prev)prev.n = entry; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; that[SIZE]++; // add to index - if(index !== 'F')that._i[index] = entry; + if (index !== 'F') that._i[index] = entry; } return that; }, getEntry: getEntry, - setStrong: function(C, NAME, IS_MAP){ + setStrong: function (C, NAME, IS_MAP) { // add .keys, .values, .entries, [@@iterator] // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function(iterated, kind){ - this._t = iterated; // target - this._k = kind; // kind - this._l = undefined; // previous - }, function(){ - var that = this - , kind = that._k - , entry = that._l; + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; // revert to the last existing entry - while(entry && entry.r)entry = entry.p; + while (entry && entry.r) entry = entry.p; // get next entry - if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { // or finish the iteration that._t = undefined; return step(1); } // return step by kind - if(kind == 'keys' )return step(0, entry.k); - if(kind == 'values')return step(0, entry.v); + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); // add [@@species], 23.1.2.2, 23.2.2.2 setSpecies(NAME); } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_collection-to-json.js b/build/js-transpiled/node_modules/core-js/library/modules/_collection-to-json.js index ce0282f6..a6ee0029 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_collection-to-json.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_collection-to-json.js @@ -1,9 +1,9 @@ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var classof = require('./_classof') - , from = require('./_array-from-iterable'); -module.exports = function(NAME){ - return function toJSON(){ - if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); +var classof = require('./_classof'); +var from = require('./_array-from-iterable'); +module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); return from(this); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_collection-weak.js b/build/js-transpiled/node_modules/core-js/library/modules/_collection-weak.js index a8597e64..04d3af5a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_collection-weak.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_collection-weak.js @@ -1,83 +1,85 @@ 'use strict'; -var redefineAll = require('./_redefine-all') - , getWeak = require('./_meta').getWeak - , anObject = require('./_an-object') - , isObject = require('./_is-object') - , anInstance = require('./_an-instance') - , forOf = require('./_for-of') - , createArrayMethod = require('./_array-methods') - , $has = require('./_has') - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , id = 0; +var redefineAll = require('./_redefine-all'); +var getWeak = require('./_meta').getWeak; +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var anInstance = require('./_an-instance'); +var forOf = require('./_for-of'); +var createArrayMethod = require('./_array-methods'); +var $has = require('./_has'); +var validate = require('./_validate-collection'); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; // fallback for uncaught frozen keys -var uncaughtFrozenStore = function(that){ - return that._l || (that._l = new UncaughtFrozenStore); +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); }; -var UncaughtFrozenStore = function(){ +var UncaughtFrozenStore = function () { this.a = []; }; -var findUncaughtFrozen = function(store, key){ - return arrayFind(store.a, function(it){ +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { return it[0] === key; }); }; UncaughtFrozenStore.prototype = { - get: function(key){ + get: function (key) { var entry = findUncaughtFrozen(this, key); - if(entry)return entry[1]; + if (entry) return entry[1]; }, - has: function(key){ + has: function (key) { return !!findUncaughtFrozen(this, key); }, - set: function(key, value){ + set: function (key, value) { var entry = findUncaughtFrozen(this, key); - if(entry)entry[1] = value; + if (entry) entry[1] = value; else this.a.push([key, value]); }, - 'delete': function(key){ - var index = arrayFindIndex(this.a, function(it){ + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { return it[0] === key; }); - if(~index)this.a.splice(index, 1); + if (~index) this.a.splice(index, 1); return !!~index; } }; module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type that._i = id++; // collection id that._l = undefined; // leak store for uncaught frozen objects - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); }); redefineAll(C.prototype, { // 23.3.3.2 WeakMap.prototype.delete(key) // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key){ - if(!isObject(key))return false; + 'delete': function (key) { + if (!isObject(key)) return false; var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this)['delete'](key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); return data && $has(data, this._i) && delete data[this._i]; }, // 23.3.3.4 WeakMap.prototype.has(key) // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key){ - if(!isObject(key))return false; + has: function has(key) { + if (!isObject(key)) return false; var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).has(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); return data && $has(data, this._i); } }); return C; }, - def: function(that, key, value){ + def: function (that, key, value) { var data = getWeak(anObject(key), true); - if(data === true)uncaughtFrozenStore(that).set(key, value); + if (data === true) uncaughtFrozenStore(that).set(key, value); else data[that._i] = value; return that; }, ufstore: uncaughtFrozenStore -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_collection.js b/build/js-transpiled/node_modules/core-js/library/modules/_collection.js index 0bdd7fcb..31a36b87 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_collection.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_collection.js @@ -1,48 +1,48 @@ 'use strict'; -var global = require('./_global') - , $export = require('./_export') - , meta = require('./_meta') - , fails = require('./_fails') - , hide = require('./_hide') - , redefineAll = require('./_redefine-all') - , forOf = require('./_for-of') - , anInstance = require('./_an-instance') - , isObject = require('./_is-object') - , setToStringTag = require('./_set-to-string-tag') - , dP = require('./_object-dp').f - , each = require('./_array-methods')(0) - , DESCRIPTORS = require('./_descriptors'); +var global = require('./_global'); +var $export = require('./_export'); +var meta = require('./_meta'); +var fails = require('./_fails'); +var hide = require('./_hide'); +var redefineAll = require('./_redefine-all'); +var forOf = require('./_for-of'); +var anInstance = require('./_an-instance'); +var isObject = require('./_is-object'); +var setToStringTag = require('./_set-to-string-tag'); +var dP = require('./_object-dp').f; +var each = require('./_array-methods')(0); +var DESCRIPTORS = require('./_descriptors'); -module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ - var Base = global[NAME] - , C = Base - , ADDER = IS_MAP ? 'set' : 'add' - , proto = C && C.prototype - , O = {}; - if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { new C().entries().next(); - }))){ + }))) { // create collection constructor C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); redefineAll(C.prototype, methods); meta.NEED = true; } else { - C = wrapper(function(target, iterable){ + C = wrapper(function (target, iterable) { anInstance(target, C, NAME, '_c'); - target._c = new Base; - if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target); + target._c = new Base(); + if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target); }); - each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','),function(KEY){ + each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) { var IS_ADDER = KEY == 'add' || KEY == 'set'; - if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){ + if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) { anInstance(this, C, KEY); - if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false; + if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false; var result = this._c[KEY](a === 0 ? 0 : a, b); return IS_ADDER ? this : result; }); }); - if('size' in proto)dP(C.prototype, 'size', { - get: function(){ + IS_WEAK || dP(C.prototype, 'size', { + get: function () { return this._c.size; } }); @@ -53,7 +53,7 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ O[NAME] = C; $export($export.G + $export.W + $export.F, O); - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); return C; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_core.js b/build/js-transpiled/node_modules/core-js/library/modules/_core.js index 23d6aede..c61ad510 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_core.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_core.js @@ -1,2 +1,2 @@ -var core = module.exports = {version: '2.4.0'}; -if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef \ No newline at end of file +var core = module.exports = { version: '2.5.7' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_create-property.js b/build/js-transpiled/node_modules/core-js/library/modules/_create-property.js index 3d1bf730..fd0ea8c9 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_create-property.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_create-property.js @@ -1,8 +1,8 @@ 'use strict'; -var $defineProperty = require('./_object-dp') - , createDesc = require('./_property-desc'); +var $defineProperty = require('./_object-dp'); +var createDesc = require('./_property-desc'); -module.exports = function(object, index, value){ - if(index in object)$defineProperty.f(object, index, createDesc(0, value)); +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); else object[index] = value; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_ctx.js b/build/js-transpiled/node_modules/core-js/library/modules/_ctx.js index b52d85ff..0a100ff3 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_ctx.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_ctx.js @@ -1,20 +1,20 @@ // optional / simple context binding var aFunction = require('./_a-function'); -module.exports = function(fn, that, length){ +module.exports = function (fn, that, length) { aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { return fn.call(that, a); }; - case 2: return function(a, b){ + case 2: return function (a, b) { return fn.call(that, a, b); }; - case 3: return function(a, b, c){ + case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } - return function(/* ...args */){ + return function (/* ...args */) { return fn.apply(that, arguments); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_date-to-iso-string.js b/build/js-transpiled/node_modules/core-js/library/modules/_date-to-iso-string.js new file mode 100644 index 00000000..95a02e22 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_date-to-iso-string.js @@ -0,0 +1,26 @@ +'use strict'; +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = require('./_fails'); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_date-to-primitive.js b/build/js-transpiled/node_modules/core-js/library/modules/_date-to-primitive.js index 561079a1..57c32030 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_date-to-primitive.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_date-to-primitive.js @@ -1,9 +1,9 @@ 'use strict'; -var anObject = require('./_an-object') - , toPrimitive = require('./_to-primitive') - , NUMBER = 'number'; +var anObject = require('./_an-object'); +var toPrimitive = require('./_to-primitive'); +var NUMBER = 'number'; -module.exports = function(hint){ - if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint'); +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); return toPrimitive(anObject(this), hint != NUMBER); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_defined.js b/build/js-transpiled/node_modules/core-js/library/modules/_defined.js index cfa476b9..66c7ed32 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_defined.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_defined.js @@ -1,5 +1,5 @@ // 7.2.1 RequireObjectCoercible(argument) -module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); return it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_descriptors.js b/build/js-transpiled/node_modules/core-js/library/modules/_descriptors.js index 6ccb7ee2..04697406 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_descriptors.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_descriptors.js @@ -1,4 +1,4 @@ // Thank's IE8 for his funny defineProperty -module.exports = !require('./_fails')(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; -}); \ No newline at end of file +module.exports = !require('./_fails')(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_dom-create.js b/build/js-transpiled/node_modules/core-js/library/modules/_dom-create.js index 909b5ff0..39ca2569 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_dom-create.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_dom-create.js @@ -1,7 +1,7 @@ -var isObject = require('./_is-object') - , document = require('./_global').document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); -module.exports = function(it){ +var isObject = require('./_is-object'); +var document = require('./_global').document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { return is ? document.createElement(it) : {}; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_entry-virtual.js b/build/js-transpiled/node_modules/core-js/library/modules/_entry-virtual.js index 0ec61272..7a734390 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_entry-virtual.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_entry-virtual.js @@ -1,5 +1,5 @@ var core = require('./_core'); -module.exports = function(CONSTRUCTOR){ +module.exports = function (CONSTRUCTOR) { var C = core[CONSTRUCTOR]; return (C.virtual || C.prototype); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_enum-bug-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/_enum-bug-keys.js index 928b9fb0..d9ad8551 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_enum-bug-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_enum-bug-keys.js @@ -1,4 +1,4 @@ // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); \ No newline at end of file +).split(','); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_enum-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/_enum-keys.js index 3bf8069c..3e7053d1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_enum-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_enum-keys.js @@ -1,15 +1,15 @@ // all enumerable object keys, includes symbols -var getKeys = require('./_object-keys') - , gOPS = require('./_object-gops') - , pIE = require('./_object-pie'); -module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); +var getKeys = require('./_object-keys'); +var gOPS = require('./_object-gops'); +var pIE = require('./_object-pie'); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); } return result; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_export.js b/build/js-transpiled/node_modules/core-js/library/modules/_export.js index dc084b4c..02bddc0a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_export.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_export.js @@ -1,25 +1,26 @@ -var global = require('./_global') - , core = require('./_core') - , ctx = require('./_ctx') - , hide = require('./_hide') - , PROTOTYPE = 'prototype'; +var global = require('./_global'); +var core = require('./_core'); +var ctx = require('./_ctx'); +var hide = require('./_hide'); +var has = require('./_has'); +var PROTOTYPE = 'prototype'; -var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , IS_WRAP = type & $export.W - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE] - , key, own, out; - if(IS_GLOBAL)source = name; - for(key in source){ +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; - if(own && key in exports)continue; + if (own && has(exports, key)) continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces @@ -27,11 +28,11 @@ var $export = function(type, name, source){ // bind timers to global for call from export context : IS_BIND && own ? ctx(out, global) // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? (function(C){ - var F = function(a, b, c){ - if(this instanceof C){ - switch(arguments.length){ - case 0: return new C; + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); @@ -42,10 +43,10 @@ var $export = function(type, name, source){ // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if(IS_PROTO){ + if (IS_PROTO) { (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out); + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); } } }; @@ -57,5 +58,5 @@ $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; \ No newline at end of file +$export.R = 128; // real proto method for `library` +module.exports = $export; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_fails-is-regexp.js b/build/js-transpiled/node_modules/core-js/library/modules/_fails-is-regexp.js index 130436bf..8eec2e47 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_fails-is-regexp.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_fails-is-regexp.js @@ -1,12 +1,12 @@ var MATCH = require('./_wks')('match'); -module.exports = function(KEY){ +module.exports = function (KEY) { var re = /./; try { '/./'[KEY](re); - } catch(e){ + } catch (e) { try { re[MATCH] = false; return !'/./'[KEY](re); - } catch(f){ /* empty */ } + } catch (f) { /* empty */ } } return true; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_fails.js b/build/js-transpiled/node_modules/core-js/library/modules/_fails.js index 184e5ea8..3b4cdf67 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_fails.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_fails.js @@ -1,7 +1,7 @@ -module.exports = function(exec){ +module.exports = function (exec) { try { return !!exec(); - } catch(e){ + } catch (e) { return true; } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_fix-re-wks.js b/build/js-transpiled/node_modules/core-js/library/modules/_fix-re-wks.js index d29368ce..9a62380b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_fix-re-wks.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_fix-re-wks.js @@ -1,28 +1,28 @@ 'use strict'; -var hide = require('./_hide') - , redefine = require('./_redefine') - , fails = require('./_fails') - , defined = require('./_defined') - , wks = require('./_wks'); +var hide = require('./_hide'); +var redefine = require('./_redefine'); +var fails = require('./_fails'); +var defined = require('./_defined'); +var wks = require('./_wks'); -module.exports = function(KEY, length, exec){ - var SYMBOL = wks(KEY) - , fns = exec(defined, SYMBOL, ''[KEY]) - , strfn = fns[0] - , rxfn = fns[1]; - if(fails(function(){ +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + var fns = exec(defined, SYMBOL, ''[KEY]); + var strfn = fns[0]; + var rxfn = fns[1]; + if (fails(function () { var O = {}; - O[SYMBOL] = function(){ return 7; }; + O[SYMBOL] = function () { return 7; }; return ''[KEY](O) != 7; - })){ + })) { redefine(String.prototype, KEY, strfn); hide(RegExp.prototype, SYMBOL, length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function(string, arg){ return rxfn.call(string, this, arg); } + ? function (string, arg) { return rxfn.call(string, this, arg); } // 21.2.5.6 RegExp.prototype[@@match](string) // 21.2.5.9 RegExp.prototype[@@search](string) - : function(string){ return rxfn.call(string, this); } + : function (string) { return rxfn.call(string, this); } ); } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_flags.js b/build/js-transpiled/node_modules/core-js/library/modules/_flags.js index 054f9088..b6fc324b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_flags.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_flags.js @@ -1,13 +1,13 @@ 'use strict'; // 21.2.5.3 get RegExp.prototype.flags var anObject = require('./_an-object'); -module.exports = function(){ - var that = anObject(this) - , result = ''; - if(that.global) result += 'g'; - if(that.ignoreCase) result += 'i'; - if(that.multiline) result += 'm'; - if(that.unicode) result += 'u'; - if(that.sticky) result += 'y'; +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; return result; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_flatten-into-array.js b/build/js-transpiled/node_modules/core-js/library/modules/_flatten-into-array.js new file mode 100644 index 00000000..1838517a --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_flatten-into-array.js @@ -0,0 +1,39 @@ +'use strict'; +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var isArray = require('./_is-array'); +var isObject = require('./_is-object'); +var toLength = require('./_to-length'); +var ctx = require('./_ctx'); +var IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable'); + +function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; + var element, spreadable; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + spreadable = false; + if (isObject(element)) { + spreadable = element[IS_CONCAT_SPREADABLE]; + spreadable = spreadable !== undefined ? !!spreadable : isArray(element); + } + + if (spreadable && depth > 0) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1fffffffffffff) throw TypeError(); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +} + +module.exports = flattenIntoArray; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_for-of.js b/build/js-transpiled/node_modules/core-js/library/modules/_for-of.js index b4824fef..9ed22818 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_for-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_for-of.js @@ -1,25 +1,25 @@ -var ctx = require('./_ctx') - , call = require('./_iter-call') - , isArrayIter = require('./_is-array-iter') - , anObject = require('./_an-object') - , toLength = require('./_to-length') - , getIterFn = require('./core.get-iterator-method') - , BREAK = {} - , RETURN = {}; -var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ - var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) - , f = ctx(fn, that, entries ? 2 : 1) - , index = 0 - , length, step, iterator, result; - if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); +var ctx = require('./_ctx'); +var call = require('./_iter-call'); +var isArrayIter = require('./_is-array-iter'); +var anObject = require('./_an-object'); +var toLength = require('./_to-length'); +var getIterFn = require('./core.get-iterator-method'); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); // fast case for arrays with default iterator - if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; + if (result === BREAK || result === RETURN) return result; } }; -exports.BREAK = BREAK; -exports.RETURN = RETURN; \ No newline at end of file +exports.BREAK = BREAK; +exports.RETURN = RETURN; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_global.js b/build/js-transpiled/node_modules/core-js/library/modules/_global.js index df6efb47..bf85b44a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_global.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_global.js @@ -1,4 +1,6 @@ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); -if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef \ No newline at end of file + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_has.js b/build/js-transpiled/node_modules/core-js/library/modules/_has.js index 870b40e7..2a37d8b7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_has.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_has.js @@ -1,4 +1,4 @@ var hasOwnProperty = {}.hasOwnProperty; -module.exports = function(it, key){ +module.exports = function (it, key) { return hasOwnProperty.call(it, key); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_hide.js b/build/js-transpiled/node_modules/core-js/library/modules/_hide.js index 4031e808..cec258a0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_hide.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_hide.js @@ -1,8 +1,8 @@ -var dP = require('./_object-dp') - , createDesc = require('./_property-desc'); -module.exports = require('./_descriptors') ? function(object, key, value){ +var dP = require('./_object-dp'); +var createDesc = require('./_property-desc'); +module.exports = require('./_descriptors') ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); -} : function(object, key, value){ +} : function (object, key, value) { object[key] = value; return object; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_html.js b/build/js-transpiled/node_modules/core-js/library/modules/_html.js index 98f5142c..7daff14c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_html.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_html.js @@ -1 +1,2 @@ -module.exports = require('./_global').document && document.documentElement; \ No newline at end of file +var document = require('./_global').document; +module.exports = document && document.documentElement; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_ie8-dom-define.js b/build/js-transpiled/node_modules/core-js/library/modules/_ie8-dom-define.js index 18ffd59d..a3805cb7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_ie8-dom-define.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_ie8-dom-define.js @@ -1,3 +1,3 @@ -module.exports = !require('./_descriptors') && !require('./_fails')(function(){ - return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; -}); \ No newline at end of file +module.exports = !require('./_descriptors') && !require('./_fails')(function () { + return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_inherit-if-required.js b/build/js-transpiled/node_modules/core-js/library/modules/_inherit-if-required.js index d3948405..b95fcd98 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_inherit-if-required.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_inherit-if-required.js @@ -1,8 +1,9 @@ -var isObject = require('./_is-object') - , setPrototypeOf = require('./_set-proto').set; -module.exports = function(that, target, C){ - var P, S = target.constructor; - if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ +var isObject = require('./_is-object'); +var setPrototypeOf = require('./_set-proto').set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { setPrototypeOf(that, P); } return that; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_invoke.js b/build/js-transpiled/node_modules/core-js/library/modules/_invoke.js index 08e307fd..6cccebdc 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_invoke.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_invoke.js @@ -1,7 +1,7 @@ // fast apply, http://jsperf.lnkit.com/fast-apply/5 -module.exports = function(fn, args, that){ +module.exports = function (fn, args, that) { var un = that === undefined; - switch(args.length){ + switch (args.length) { case 0: return un ? fn() : fn.call(that); case 1: return un ? fn(args[0]) @@ -12,5 +12,5 @@ module.exports = function(fn, args, that){ : fn.call(that, args[0], args[1], args[2]); case 4: return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); -}; \ No newline at end of file + } return fn.apply(that, args); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iobject.js b/build/js-transpiled/node_modules/core-js/library/modules/_iobject.js index b58db489..2b57c8a0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iobject.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iobject.js @@ -1,5 +1,6 @@ // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = require('./_cof'); -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_is-array-iter.js b/build/js-transpiled/node_modules/core-js/library/modules/_is-array-iter.js index 8139d71c..6f67d905 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_is-array-iter.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_is-array-iter.js @@ -1,8 +1,8 @@ // check on default Array iterator -var Iterators = require('./_iterators') - , ITERATOR = require('./_wks')('iterator') - , ArrayProto = Array.prototype; +var Iterators = require('./_iterators'); +var ITERATOR = require('./_wks')('iterator'); +var ArrayProto = Array.prototype; -module.exports = function(it){ +module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_is-array.js b/build/js-transpiled/node_modules/core-js/library/modules/_is-array.js index b4a3a8ed..0581dc2e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_is-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_is-array.js @@ -1,5 +1,5 @@ // 7.2.2 IsArray(argument) var cof = require('./_cof'); -module.exports = Array.isArray || function isArray(arg){ +module.exports = Array.isArray || function isArray(arg) { return cof(arg) == 'Array'; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_is-integer.js b/build/js-transpiled/node_modules/core-js/library/modules/_is-integer.js index 22db67ed..0074ae97 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_is-integer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_is-integer.js @@ -1,6 +1,6 @@ // 20.1.2.3 Number.isInteger(number) -var isObject = require('./_is-object') - , floor = Math.floor; -module.exports = function isInteger(it){ +var isObject = require('./_is-object'); +var floor = Math.floor; +module.exports = function isInteger(it) { return !isObject(it) && isFinite(it) && floor(it) === it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_is-object.js b/build/js-transpiled/node_modules/core-js/library/modules/_is-object.js index ee694be2..dda6e04d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_is-object.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_is-object.js @@ -1,3 +1,3 @@ -module.exports = function(it){ +module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_is-regexp.js b/build/js-transpiled/node_modules/core-js/library/modules/_is-regexp.js index 55b2c629..598d159d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_is-regexp.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_is-regexp.js @@ -1,8 +1,8 @@ // 7.2.8 IsRegExp(argument) -var isObject = require('./_is-object') - , cof = require('./_cof') - , MATCH = require('./_wks')('match'); -module.exports = function(it){ +var isObject = require('./_is-object'); +var cof = require('./_cof'); +var MATCH = require('./_wks')('match'); +module.exports = function (it) { var isRegExp; return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iter-call.js b/build/js-transpiled/node_modules/core-js/library/modules/_iter-call.js index e3565ba9..a7026e34 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iter-call.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iter-call.js @@ -1,12 +1,12 @@ // call something on iterator step with safe closing on error var anObject = require('./_an-object'); -module.exports = function(iterator, fn, value, entries){ +module.exports = function (iterator, fn, value, entries) { try { return entries ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion) - } catch(e){ + } catch (e) { var ret = iterator['return']; - if(ret !== undefined)anObject(ret.call(iterator)); + if (ret !== undefined) anObject(ret.call(iterator)); throw e; } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iter-create.js b/build/js-transpiled/node_modules/core-js/library/modules/_iter-create.js index 9a9aa4fb..04708c83 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iter-create.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iter-create.js @@ -1,13 +1,13 @@ 'use strict'; -var create = require('./_object-create') - , descriptor = require('./_property-desc') - , setToStringTag = require('./_set-to-string-tag') - , IteratorPrototype = {}; +var create = require('./_object-create'); +var descriptor = require('./_property-desc'); +var setToStringTag = require('./_set-to-string-tag'); +var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; }); +require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; }); -module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); setToStringTag(Constructor, NAME + ' Iterator'); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iter-define.js b/build/js-transpiled/node_modules/core-js/library/modules/_iter-define.js index f72a5021..578dfb73 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iter-define.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iter-define.js @@ -1,70 +1,69 @@ 'use strict'; -var LIBRARY = require('./_library') - , $export = require('./_export') - , redefine = require('./_redefine') - , hide = require('./_hide') - , has = require('./_has') - , Iterators = require('./_iterators') - , $iterCreate = require('./_iter-create') - , setToStringTag = require('./_set-to-string-tag') - , getPrototypeOf = require('./_object-gpo') - , ITERATOR = require('./_wks')('iterator') - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; +var LIBRARY = require('./_library'); +var $export = require('./_export'); +var redefine = require('./_redefine'); +var hide = require('./_hide'); +var Iterators = require('./_iterators'); +var $iterCreate = require('./_iter-create'); +var setToStringTag = require('./_set-to-string-tag'); +var getPrototypeOf = require('./_object-gpo'); +var ITERATOR = require('./_wks')('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; -var returnThis = function(){ return this; }; +var returnThis = function () { return this; }; -module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { $iterCreate(Constructor, NAME, next); - var getMethod = function(kind){ - if(!BUGGY && kind in proto)return proto[kind]; - switch(kind){ - case KEYS: return function keys(){ return new Constructor(this, kind); }; - case VALUES: return function values(){ return new Constructor(this, kind); }; - } return function entries(){ return new Constructor(this, kind); }; + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; }; - var TAG = NAME + ' Iterator' - , DEF_VALUES = DEFAULT == VALUES - , VALUES_BUG = false - , proto = Base.prototype - , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , $default = $native || getMethod(DEFAULT) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ + if (DEF_VALUES && $native && $native.name !== VALUES) { VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; + $default = function values() { return $native.call(this); }; } // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { hide(proto, ITERATOR, $default); } // Plug for library Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ + Iterators[TAG] = returnThis; + if (DEFAULT) { methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; - if(FORCED)for(key in methods){ - if(!(key in proto))redefine(proto, key, methods[key]); + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iter-detect.js b/build/js-transpiled/node_modules/core-js/library/modules/_iter-detect.js index 87c7aecf..5cb34973 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iter-detect.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iter-detect.js @@ -1,21 +1,22 @@ -var ITERATOR = require('./_wks')('iterator') - , SAFE_CLOSING = false; +var ITERATOR = require('./_wks')('iterator'); +var SAFE_CLOSING = false; try { var riter = [7][ITERATOR](); - riter['return'] = function(){ SAFE_CLOSING = true; }; - Array.from(riter, function(){ throw 2; }); -} catch(e){ /* empty */ } + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } -module.exports = function(exec, skipClosing){ - if(!skipClosing && !SAFE_CLOSING)return false; +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; var safe = false; try { - var arr = [7] - , iter = arr[ITERATOR](); - iter.next = function(){ return {done: safe = true}; }; - arr[ITERATOR] = function(){ return iter; }; + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; exec(arr); - } catch(e){ /* empty */ } + } catch (e) { /* empty */ } return safe; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iter-step.js b/build/js-transpiled/node_modules/core-js/library/modules/_iter-step.js index 6ff0dc51..b0691c88 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iter-step.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iter-step.js @@ -1,3 +1,3 @@ -module.exports = function(done, value){ - return {value: value, done: !!done}; -}; \ No newline at end of file +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_iterators.js b/build/js-transpiled/node_modules/core-js/library/modules/_iterators.js index a0995453..f053ebf7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_iterators.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_iterators.js @@ -1 +1 @@ -module.exports = {}; \ No newline at end of file +module.exports = {}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_keyof.js b/build/js-transpiled/node_modules/core-js/library/modules/_keyof.js index 7b63229b..0786096f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_keyof.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_keyof.js @@ -1,10 +1,10 @@ -var getKeys = require('./_object-keys') - , toIObject = require('./_to-iobject'); -module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; -}; \ No newline at end of file +var getKeys = require('./_object-keys'); +var toIObject = require('./_to-iobject'); +module.exports = function (object, el) { + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var index = 0; + var key; + while (length > index) if (O[key = keys[index++]] === el) return key; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_library.js b/build/js-transpiled/node_modules/core-js/library/modules/_library.js index 73f737c5..ec01c2c1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_library.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_library.js @@ -1 +1 @@ -module.exports = true; \ No newline at end of file +module.exports = true; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_math-expm1.js b/build/js-transpiled/node_modules/core-js/library/modules/_math-expm1.js index 5131aa95..75c68501 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_math-expm1.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_math-expm1.js @@ -5,6 +5,6 @@ module.exports = (!$expm1 || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 // Tor Browser bug || $expm1(-2e-17) != -2e-17 -) ? function expm1(x){ +) ? function expm1(x) { return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; -} : $expm1; \ No newline at end of file +} : $expm1; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_math-fround.js b/build/js-transpiled/node_modules/core-js/library/modules/_math-fround.js new file mode 100644 index 00000000..c85eb4b7 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_math-fround.js @@ -0,0 +1,23 @@ +// 20.2.2.16 Math.fround(x) +var sign = require('./_math-sign'); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_math-log1p.js b/build/js-transpiled/node_modules/core-js/library/modules/_math-log1p.js index a92bf463..16d5f493 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_math-log1p.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_math-log1p.js @@ -1,4 +1,4 @@ // 20.2.2.20 Math.log1p(x) -module.exports = Math.log1p || function log1p(x){ +module.exports = Math.log1p || function log1p(x) { return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_math-scale.js b/build/js-transpiled/node_modules/core-js/library/modules/_math-scale.js new file mode 100644 index 00000000..ba3cdb20 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_math-scale.js @@ -0,0 +1,18 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + if ( + arguments.length === 0 + // eslint-disable-next-line no-self-compare + || x != x + // eslint-disable-next-line no-self-compare + || inLow != inLow + // eslint-disable-next-line no-self-compare + || inHigh != inHigh + // eslint-disable-next-line no-self-compare + || outLow != outLow + // eslint-disable-next-line no-self-compare + || outHigh != outHigh + ) return NaN; + if (x === Infinity || x === -Infinity) return x; + return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_math-sign.js b/build/js-transpiled/node_modules/core-js/library/modules/_math-sign.js index a4848df6..7a46b9d0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_math-sign.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_math-sign.js @@ -1,4 +1,5 @@ // 20.2.2.28 Math.sign(x) -module.exports = Math.sign || function sign(x){ +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_meta.js b/build/js-transpiled/node_modules/core-js/library/modules/_meta.js index 7daca009..2d4b3257 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_meta.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_meta.js @@ -1,53 +1,53 @@ -var META = require('./_uid')('meta') - , isObject = require('./_is-object') - , has = require('./_has') - , setDesc = require('./_object-dp').f - , id = 0; -var isExtensible = Object.isExtensible || function(){ +var META = require('./_uid')('meta'); +var isObject = require('./_is-object'); +var has = require('./_has'); +var setDesc = require('./_object-dp').f; +var id = 0; +var isExtensible = Object.isExtensible || function () { return true; }; -var FREEZE = !require('./_fails')(function(){ +var FREEZE = !require('./_fails')(function () { return isExtensible(Object.preventExtensions({})); }); -var setMeta = function(it){ - setDesc(it, META, {value: { +var setMeta = function (it) { + setDesc(it, META, { value: { i: 'O' + ++id, // object ID w: {} // weak collections IDs - }}); + } }); }; -var fastKey = function(it, create){ +var fastKey = function (it, create) { // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; + if (!isExtensible(it)) return 'F'; // not necessary to add metadata - if(!create)return 'E'; + if (!create) return 'E'; // add missing metadata setMeta(it); // return object ID } return it[META].i; }; -var getWeak = function(it, create){ - if(!has(it, META)){ +var getWeak = function (it, create) { + if (!has(it, META)) { // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; + if (!isExtensible(it)) return true; // not necessary to add metadata - if(!create)return false; + if (!create) return false; // add missing metadata setMeta(it); // return hash weak collections IDs } return it[META].w; }; // add metadata on freeze-family methods calling -var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); return it; }; var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, onFreeze: onFreeze -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/_metadata.js index eb5a762d..759cfc44 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_metadata.js @@ -1,41 +1,41 @@ -var Map = require('./es6.map') - , $export = require('./_export') - , shared = require('./_shared')('metadata') - , store = shared.store || (shared.store = new (require('./es6.weak-map'))); +var Map = require('./es6.map'); +var $export = require('./_export'); +var shared = require('./_shared')('metadata'); +var store = shared.store || (shared.store = new (require('./es6.weak-map'))()); -var getOrCreateMetadataMap = function(target, targetKey, create){ +var getOrCreateMetadataMap = function (target, targetKey, create) { var targetMetadata = store.get(target); - if(!targetMetadata){ - if(!create)return undefined; - store.set(target, targetMetadata = new Map); + if (!targetMetadata) { + if (!create) return undefined; + store.set(target, targetMetadata = new Map()); } var keyMetadata = targetMetadata.get(targetKey); - if(!keyMetadata){ - if(!create)return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map); + if (!keyMetadata) { + if (!create) return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map()); } return keyMetadata; }; -var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { var metadataMap = getOrCreateMetadataMap(O, P, false); return metadataMap === undefined ? false : metadataMap.has(MetadataKey); }; -var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { var metadataMap = getOrCreateMetadataMap(O, P, false); return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); }; -var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); }; -var ordinaryOwnMetadataKeys = function(target, targetKey){ - var metadataMap = getOrCreateMetadataMap(target, targetKey, false) - , keys = []; - if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); return keys; }; -var toMetaKey = function(it){ +var toMetaKey = function (it) { return it === undefined || typeof it == 'symbol' ? it : String(it); }; -var exp = function(O){ +var exp = function (O) { $export($export.S, 'Reflect', O); }; @@ -48,4 +48,4 @@ module.exports = { keys: ordinaryOwnMetadataKeys, key: toMetaKey, exp: exp -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_microtask.js b/build/js-transpiled/node_modules/core-js/library/modules/_microtask.js index b0f2a0df..b321c648 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_microtask.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_microtask.js @@ -1,47 +1,48 @@ -var global = require('./_global') - , macrotask = require('./_task').set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , Promise = global.Promise - , isNode = require('./_cof')(process) == 'process'; +var global = require('./_global'); +var macrotask = require('./_task').set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = require('./_cof')(process) == 'process'; -module.exports = function(){ +module.exports = function () { var head, last, notify; - var flush = function(){ + var flush = function () { var parent, fn; - if(isNode && (parent = process.domain))parent.exit(); - while(head){ - fn = head.fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; head = head.next; try { fn(); - } catch(e){ - if(head)notify(); + } catch (e) { + if (head) notify(); else last = undefined; throw e; } } last = undefined; - if(parent)parent.enter(); + if (parent) parent.enter(); }; // Node.js - if(isNode){ - notify = function(){ + if (isNode) { + notify = function () { process.nextTick(flush); }; - // browsers with MutationObserver - } else if(Observer){ - var toggle = true - , node = document.createTextNode(''); - new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new - notify = function(){ + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { node.data = toggle = !toggle; }; // environments with maybe non-completely correct, but existent Promise - } else if(Promise && Promise.resolve){ - var promise = Promise.resolve(); - notify = function(){ + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { promise.then(flush); }; // for other environments - macrotask based on: @@ -51,18 +52,18 @@ module.exports = function(){ // - onreadystatechange // - setTimeout } else { - notify = function(){ + notify = function () { // strange IE + webpack dev server bug - use .call(global) macrotask.call(global, flush); }; } - return function(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { head = task; notify(); } last = task; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_new-promise-capability.js b/build/js-transpiled/node_modules/core-js/library/modules/_new-promise-capability.js new file mode 100644 index 00000000..82b74a33 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_new-promise-capability.js @@ -0,0 +1,18 @@ +'use strict'; +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = require('./_a-function'); + +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} + +module.exports.f = function (C) { + return new PromiseCapability(C); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-assign.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-assign.js index c575aba2..7d4943a2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-assign.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-assign.js @@ -1,33 +1,34 @@ 'use strict'; // 19.1.2.1 Object.assign(target, source, ...) -var getKeys = require('./_object-keys') - , gOPS = require('./_object-gops') - , pIE = require('./_object-pie') - , toObject = require('./_to-object') - , IObject = require('./_iobject') - , $assign = Object.assign; +var getKeys = require('./_object-keys'); +var gOPS = require('./_object-gops'); +var pIE = require('./_object-pie'); +var toObject = require('./_to-object'); +var IObject = require('./_iobject'); +var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || require('./_fails')(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; +module.exports = !$assign || require('./_fails')(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); + K.split('').forEach(function (k) { B[k] = k; }); return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; } return T; -} : $assign; \ No newline at end of file +} : $assign; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-create.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-create.js index 3379760f..a76808ea 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-create.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-create.js @@ -1,19 +1,19 @@ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = require('./_an-object') - , dPs = require('./_object-dps') - , enumBugKeys = require('./_enum-bug-keys') - , IE_PROTO = require('./_shared-key')('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; +var anObject = require('./_an-object'); +var dPs = require('./_object-dps'); +var enumBugKeys = require('./_enum-bug-keys'); +var IE_PROTO = require('./_shared-key')('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function(){ +var createDict = function () { // Thrash, waste and sodomy: IE GC bug - var iframe = require('./_dom-create')('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; + var iframe = require('./_dom-create')('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; iframe.style.display = 'none'; require('./_html').appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url @@ -24,15 +24,15 @@ var createDict = function(){ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; -module.exports = Object.create || function create(O, Properties){ +module.exports = Object.create || function create(O, Properties) { var result; - if(O !== null){ + if (O !== null) { Empty[PROTOTYPE] = anObject(O); - result = new Empty; + result = new Empty(); Empty[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-define.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-define.js index f246c4e3..4d131f33 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-define.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-define.js @@ -1,12 +1,13 @@ -var dP = require('./_object-dp') - , gOPD = require('./_object-gopd') - , ownKeys = require('./_own-keys') - , toIObject = require('./_to-iobject'); +var dP = require('./_object-dp'); +var gOPD = require('./_object-gopd'); +var ownKeys = require('./_own-keys'); +var toIObject = require('./_to-iobject'); -module.exports = function define(target, mixin){ - var keys = ownKeys(toIObject(mixin)) - , length = keys.length - , i = 0, key; - while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key)); +module.exports = function define(target, mixin) { + var keys = ownKeys(toIObject(mixin)); + var length = keys.length; + var i = 0; + var key; + while (length > i) dP.f(target, key = keys[i++], gOPD.f(mixin, key)); return target; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-dp.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-dp.js index e7ca8a46..0340a830 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-dp.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-dp.js @@ -1,16 +1,16 @@ -var anObject = require('./_an-object') - , IE8_DOM_DEFINE = require('./_ie8-dom-define') - , toPrimitive = require('./_to-primitive') - , dP = Object.defineProperty; +var anObject = require('./_an-object'); +var IE8_DOM_DEFINE = require('./_ie8-dom-define'); +var toPrimitive = require('./_to-primitive'); +var dP = Object.defineProperty; -exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){ +exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); - if(IE8_DOM_DEFINE)try { + if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-dps.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-dps.js index 8cd4147a..173c338f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-dps.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-dps.js @@ -1,13 +1,13 @@ -var dP = require('./_object-dp') - , anObject = require('./_an-object') - , getKeys = require('./_object-keys'); +var dP = require('./_object-dp'); +var anObject = require('./_an-object'); +var getKeys = require('./_object-keys'); -module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){ +module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-forced-pam.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-forced-pam.js index 668a07dc..71ede922 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-forced-pam.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-forced-pam.js @@ -1,7 +1,9 @@ +'use strict'; // Forced replacement prototype accessors methods -module.exports = require('./_library')|| !require('./_fails')(function(){ +module.exports = require('./_library') || !require('./_fails')(function () { var K = Math.random(); // In FF throws only define methods - __defineSetter__.call(null, K, function(){ /* empty */}); + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, K, function () { /* empty */ }); delete require('./_global')[K]; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-gopd.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-gopd.js index 756206ab..555dd31a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-gopd.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-gopd.js @@ -1,16 +1,16 @@ -var pIE = require('./_object-pie') - , createDesc = require('./_property-desc') - , toIObject = require('./_to-iobject') - , toPrimitive = require('./_to-primitive') - , has = require('./_has') - , IE8_DOM_DEFINE = require('./_ie8-dom-define') - , gOPD = Object.getOwnPropertyDescriptor; +var pIE = require('./_object-pie'); +var createDesc = require('./_property-desc'); +var toIObject = require('./_to-iobject'); +var toPrimitive = require('./_to-primitive'); +var has = require('./_has'); +var IE8_DOM_DEFINE = require('./_ie8-dom-define'); +var gOPD = Object.getOwnPropertyDescriptor; -exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){ +exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) { O = toIObject(O); P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { + if (IE8_DOM_DEFINE) try { return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); -}; \ No newline at end of file + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn-ext.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn-ext.js index f4d10b4a..4abb6ae8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn-ext.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn-ext.js @@ -1,19 +1,19 @@ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window -var toIObject = require('./_to-iobject') - , gOPN = require('./_object-gopn').f - , toString = {}.toString; +var toIObject = require('./_to-iobject'); +var gOPN = require('./_object-gopn').f; +var toString = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; -var getWindowNames = function(it){ +var getWindowNames = function (it) { try { return gOPN(it); - } catch(e){ + } catch (e) { return windowNames.slice(); } }; -module.exports.f = function getOwnPropertyNames(it){ +module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn.js index beebf4da..da82333f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-gopn.js @@ -1,7 +1,7 @@ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = require('./_object-keys-internal') - , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); +var $keys = require('./_object-keys-internal'); +var hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-gops.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-gops.js index 8f93d76b..bc067290 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-gops.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-gops.js @@ -1 +1 @@ -exports.f = Object.getOwnPropertySymbols; \ No newline at end of file +exports.f = Object.getOwnPropertySymbols; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-gpo.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-gpo.js index 535dc6e9..27f2a94e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-gpo.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-gpo.js @@ -1,13 +1,13 @@ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = require('./_has') - , toObject = require('./_to-object') - , IE_PROTO = require('./_shared-key')('IE_PROTO') - , ObjectProto = Object.prototype; +var has = require('./_has'); +var toObject = require('./_to-object'); +var IE_PROTO = require('./_shared-key')('IE_PROTO'); +var ObjectProto = Object.prototype; -module.exports = Object.getPrototypeOf || function(O){ +module.exports = Object.getPrototypeOf || function (O) { O = toObject(O); - if(has(O, IE_PROTO))return O[IE_PROTO]; - if(typeof O.constructor == 'function' && O instanceof O.constructor){ + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-keys-internal.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-keys-internal.js index e23481d7..71abdd1a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-keys-internal.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-keys-internal.js @@ -1,17 +1,17 @@ -var has = require('./_has') - , toIObject = require('./_to-iobject') - , arrayIndexOf = require('./_array-includes')(false) - , IE_PROTO = require('./_shared-key')('IE_PROTO'); +var has = require('./_has'); +var toIObject = require('./_to-iobject'); +var arrayIndexOf = require('./_array-includes')(false); +var IE_PROTO = require('./_shared-key')('IE_PROTO'); -module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ + while (names.length > i) if (has(O, key = names[i++])) { ~arrayIndexOf(result, key) || result.push(key); } return result; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-keys.js index 11d4ccee..62f73f91 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-keys.js @@ -1,7 +1,7 @@ // 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = require('./_object-keys-internal') - , enumBugKeys = require('./_enum-bug-keys'); +var $keys = require('./_object-keys-internal'); +var enumBugKeys = require('./_enum-bug-keys'); -module.exports = Object.keys || function keys(O){ +module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-pie.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-pie.js index 13479a17..4cc71072 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-pie.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-pie.js @@ -1 +1 @@ -exports.f = {}.propertyIsEnumerable; \ No newline at end of file +exports.f = {}.propertyIsEnumerable; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-sap.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-sap.js index b76fec5f..643535e0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-sap.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-sap.js @@ -1,10 +1,10 @@ // most Object methods by ES6 should accept primitives -var $export = require('./_export') - , core = require('./_core') - , fails = require('./_fails'); -module.exports = function(KEY, exec){ - var fn = (core.Object || {})[KEY] || Object[KEY] - , exp = {}; +var $export = require('./_export'); +var core = require('./_core'); +var fails = require('./_fails'); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); -}; \ No newline at end of file + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_object-to-array.js b/build/js-transpiled/node_modules/core-js/library/modules/_object-to-array.js index b6fdf05d..120100d0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_object-to-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_object-to-array.js @@ -1,16 +1,16 @@ -var getKeys = require('./_object-keys') - , toIObject = require('./_to-iobject') - , isEnum = require('./_object-pie').f; -module.exports = function(isEntries){ - return function(it){ - var O = toIObject(it) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , result = [] - , key; - while(length > i)if(isEnum.call(O, key = keys[i++])){ +var getKeys = require('./_object-keys'); +var toIObject = require('./_to-iobject'); +var isEnum = require('./_object-pie').f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { result.push(isEntries ? [key, O[key]] : O[key]); } return result; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_own-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/_own-keys.js index 045ce3d5..84faece8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_own-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_own-keys.js @@ -1,10 +1,10 @@ // all object keys, includes non-enumerable and symbols -var gOPN = require('./_object-gopn') - , gOPS = require('./_object-gops') - , anObject = require('./_an-object') - , Reflect = require('./_global').Reflect; -module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ - var keys = gOPN.f(anObject(it)) - , getSymbols = gOPS.f; +var gOPN = require('./_object-gopn'); +var gOPS = require('./_object-gops'); +var anObject = require('./_an-object'); +var Reflect = require('./_global').Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; return getSymbols ? keys.concat(getSymbols(it)) : keys; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_parse-float.js b/build/js-transpiled/node_modules/core-js/library/modules/_parse-float.js index 3d0e6531..acfb350f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_parse-float.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_parse-float.js @@ -1,8 +1,8 @@ -var $parseFloat = require('./_global').parseFloat - , $trim = require('./_string-trim').trim; +var $parseFloat = require('./_global').parseFloat; +var $trim = require('./_string-trim').trim; -module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){ - var string = $trim(String(str), 3) - , result = $parseFloat(string); +module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); return result === 0 && string.charAt(0) == '-' ? -0 : result; -} : $parseFloat; \ No newline at end of file +} : $parseFloat; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_parse-int.js b/build/js-transpiled/node_modules/core-js/library/modules/_parse-int.js index c23ffc09..ddd7172a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_parse-int.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_parse-int.js @@ -1,9 +1,9 @@ -var $parseInt = require('./_global').parseInt - , $trim = require('./_string-trim').trim - , ws = require('./_string-ws') - , hex = /^[\-+]?0[xX]/; +var $parseInt = require('./_global').parseInt; +var $trim = require('./_string-trim').trim; +var ws = require('./_string-ws'); +var hex = /^[-+]?0[xX]/; -module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){ +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { var string = $trim(String(str), 3); return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); -} : $parseInt; \ No newline at end of file +} : $parseInt; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_partial.js b/build/js-transpiled/node_modules/core-js/library/modules/_partial.js index 3d411b70..ca3f35bf 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_partial.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_partial.js @@ -1,23 +1,25 @@ 'use strict'; -var path = require('./_path') - , invoke = require('./_invoke') - , aFunction = require('./_a-function'); -module.exports = function(/* ...pargs */){ - var fn = aFunction(this) - , length = arguments.length - , pargs = Array(length) - , i = 0 - , _ = path._ - , holder = false; - while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; - return function(/* ...args */){ - var that = this - , aLen = arguments.length - , j = 0, k = 0, args; - if(!holder && !aLen)return invoke(fn, pargs, that); +var path = require('./_path'); +var invoke = require('./_invoke'); +var aFunction = require('./_a-function'); +module.exports = function (/* ...pargs */) { + var fn = aFunction(this); + var length = arguments.length; + var pargs = new Array(length); + var i = 0; + var _ = path._; + var holder = false; + while (length > i) if ((pargs[i] = arguments[i++]) === _) holder = true; + return function (/* ...args */) { + var that = this; + var aLen = arguments.length; + var j = 0; + var k = 0; + var args; + if (!holder && !aLen) return invoke(fn, pargs, that); args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(aLen > k)args.push(arguments[k++]); + if (holder) for (;length > j; j++) if (args[j] === _) args[j] = arguments[k++]; + while (aLen > k) args.push(arguments[k++]); return invoke(fn, args, that); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_path.js b/build/js-transpiled/node_modules/core-js/library/modules/_path.js index e2b878dc..2796ebcb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_path.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_path.js @@ -1 +1 @@ -module.exports = require('./_core'); \ No newline at end of file +module.exports = require('./_core'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_perform.js b/build/js-transpiled/node_modules/core-js/library/modules/_perform.js new file mode 100644 index 00000000..bfc7b296 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_perform.js @@ -0,0 +1,7 @@ +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_promise-resolve.js b/build/js-transpiled/node_modules/core-js/library/modules/_promise-resolve.js new file mode 100644 index 00000000..c3cac764 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_promise-resolve.js @@ -0,0 +1,12 @@ +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var newPromiseCapability = require('./_new-promise-capability'); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_property-desc.js b/build/js-transpiled/node_modules/core-js/library/modules/_property-desc.js index e3f7ab2d..09059340 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_property-desc.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_property-desc.js @@ -1,8 +1,8 @@ -module.exports = function(bitmap, value){ +module.exports = function (bitmap, value) { return { - enumerable : !(bitmap & 1), + enumerable: !(bitmap & 1), configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value + writable: !(bitmap & 4), + value: value }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_redefine-all.js b/build/js-transpiled/node_modules/core-js/library/modules/_redefine-all.js index beeb2eaf..bf8c0ea3 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_redefine-all.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_redefine-all.js @@ -1,7 +1,7 @@ var hide = require('./_hide'); -module.exports = function(target, src, safe){ - for(var key in src){ - if(safe && target[key])target[key] = src[key]; +module.exports = function (target, src, safe) { + for (var key in src) { + if (safe && target[key]) target[key] = src[key]; else hide(target, key, src[key]); } return target; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_redefine.js b/build/js-transpiled/node_modules/core-js/library/modules/_redefine.js index 6bd64530..fde6108e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_redefine.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_redefine.js @@ -1 +1 @@ -module.exports = require('./_hide'); \ No newline at end of file +module.exports = require('./_hide'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_replacer.js b/build/js-transpiled/node_modules/core-js/library/modules/_replacer.js index 5360a3d3..c37703dd 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_replacer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_replacer.js @@ -1,8 +1,8 @@ -module.exports = function(regExp, replace){ - var replacer = replace === Object(replace) ? function(part){ +module.exports = function (regExp, replace) { + var replacer = replace === Object(replace) ? function (part) { return replace[part]; } : replace; - return function(it){ + return function (it) { return String(it).replace(regExp, replacer); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_same-value.js b/build/js-transpiled/node_modules/core-js/library/modules/_same-value.js index 8c2b8c7f..c6d045e8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_same-value.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_same-value.js @@ -1,4 +1,5 @@ // 7.2.9 SameValue(x, y) -module.exports = Object.is || function is(x, y){ +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_set-collection-from.js b/build/js-transpiled/node_modules/core-js/library/modules/_set-collection-from.js new file mode 100644 index 00000000..d5001f93 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_set-collection-from.js @@ -0,0 +1,28 @@ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var ctx = require('./_ctx'); +var forOf = require('./_for-of'); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_set-collection-of.js b/build/js-transpiled/node_modules/core-js/library/modules/_set-collection-of.js new file mode 100644 index 00000000..f559af3f --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_set-collection-of.js @@ -0,0 +1,12 @@ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = require('./_export'); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { of: function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); + } }); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_set-proto.js b/build/js-transpiled/node_modules/core-js/library/modules/_set-proto.js index 8d5dad3f..c1990622 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_set-proto.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_set-proto.js @@ -1,25 +1,25 @@ // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ -var isObject = require('./_is-object') - , anObject = require('./_an-object'); -var check = function(O, proto){ +var isObject = require('./_is-object'); +var anObject = require('./_an-object'); +var check = function (O, proto) { anObject(O); - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function(test, buggy, set){ + function (test, buggy, set) { try { set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); - } catch(e){ buggy = true; } - return function setPrototypeOf(O, proto){ + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { check(O, proto); - if(buggy)O.__proto__ = proto; + if (buggy) O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_set-species.js b/build/js-transpiled/node_modules/core-js/library/modules/_set-species.js index 4320fa51..1f25fde1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_set-species.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_set-species.js @@ -1,14 +1,14 @@ 'use strict'; -var global = require('./_global') - , core = require('./_core') - , dP = require('./_object-dp') - , DESCRIPTORS = require('./_descriptors') - , SPECIES = require('./_wks')('species'); +var global = require('./_global'); +var core = require('./_core'); +var dP = require('./_object-dp'); +var DESCRIPTORS = require('./_descriptors'); +var SPECIES = require('./_wks')('species'); -module.exports = function(KEY){ +module.exports = function (KEY) { var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { configurable: true, - get: function(){ return this; } + get: function () { return this; } }); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_set-to-string-tag.js b/build/js-transpiled/node_modules/core-js/library/modules/_set-to-string-tag.js index ffbdddab..5bd64144 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_set-to-string-tag.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_set-to-string-tag.js @@ -1,7 +1,7 @@ -var def = require('./_object-dp').f - , has = require('./_has') - , TAG = require('./_wks')('toStringTag'); +var def = require('./_object-dp').f; +var has = require('./_has'); +var TAG = require('./_wks')('toStringTag'); -module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); -}; \ No newline at end of file +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_shared-key.js b/build/js-transpiled/node_modules/core-js/library/modules/_shared-key.js index 5ed76349..d47fe7a2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_shared-key.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_shared-key.js @@ -1,5 +1,5 @@ -var shared = require('./_shared')('keys') - , uid = require('./_uid'); -module.exports = function(key){ +var shared = require('./_shared')('keys'); +var uid = require('./_uid'); +module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_shared.js b/build/js-transpiled/node_modules/core-js/library/modules/_shared.js index 3f9e4c89..2c6abc22 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_shared.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_shared.js @@ -1,6 +1,12 @@ -var global = require('./_global') - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); -module.exports = function(key){ - return store[key] || (store[key] = {}); -}; \ No newline at end of file +var core = require('./_core'); +var global = require('./_global'); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: require('./_library') ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_species-constructor.js b/build/js-transpiled/node_modules/core-js/library/modules/_species-constructor.js index 7a4d1baf..0cb4ffb8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_species-constructor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_species-constructor.js @@ -1,8 +1,9 @@ // 7.3.20 SpeciesConstructor(O, defaultConstructor) -var anObject = require('./_an-object') - , aFunction = require('./_a-function') - , SPECIES = require('./_wks')('species'); -module.exports = function(O, D){ - var C = anObject(O).constructor, S; +var anObject = require('./_an-object'); +var aFunction = require('./_a-function'); +var SPECIES = require('./_wks')('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_strict-method.js b/build/js-transpiled/node_modules/core-js/library/modules/_strict-method.js index 96b6c6e8..e68f41bb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_strict-method.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_strict-method.js @@ -1,7 +1,9 @@ +'use strict'; var fails = require('./_fails'); -module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); }); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-at.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-at.js index ecc0d21c..88d66bd1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-at.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-at.js @@ -1,17 +1,17 @@ -var toInteger = require('./_to-integer') - , defined = require('./_defined'); +var toInteger = require('./_to-integer'); +var defined = require('./_defined'); // true -> String#at // false -> String#codePointAt -module.exports = function(TO_STRING){ - return function(that, pos){ - var s = String(defined(that)) - , i = toInteger(pos) - , l = s.length - , a, b; - if(i < 0 || i >= l)return TO_STRING ? '' : undefined; +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-context.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-context.js index 5f513483..becf3fbe 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-context.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-context.js @@ -1,8 +1,8 @@ // helper for String#{startsWith, endsWith, includes} -var isRegExp = require('./_is-regexp') - , defined = require('./_defined'); +var isRegExp = require('./_is-regexp'); +var defined = require('./_defined'); -module.exports = function(that, searchString, NAME){ - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); return String(defined(that)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-html.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-html.js index 95daf812..1dcc95bc 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-html.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-html.js @@ -1,19 +1,19 @@ -var $export = require('./_export') - , fails = require('./_fails') - , defined = require('./_defined') - , quot = /"/g; +var $export = require('./_export'); +var fails = require('./_fails'); +var defined = require('./_defined'); +var quot = /"/g; // B.2.3.2.1 CreateHTML(string, tag, attribute, value) -var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)) - , p1 = '<' + tag; - if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; return p1 + '>' + S + ''; }; -module.exports = function(NAME, exec){ +module.exports = function (NAME, exec) { var O = {}; O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function(){ + $export($export.P + $export.F * fails(function () { var test = ''[NAME]('"'); return test !== test.toLowerCase() || test.split('"').length > 3; }), 'String', O); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-pad.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-pad.js index dccd155e..ceb6077f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-pad.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-pad.js @@ -1,16 +1,16 @@ // https://github.com/tc39/proposal-string-pad-start-end -var toLength = require('./_to-length') - , repeat = require('./_string-repeat') - , defined = require('./_defined'); +var toLength = require('./_to-length'); +var repeat = require('./_string-repeat'); +var defined = require('./_defined'); -module.exports = function(that, maxLength, fillString, left){ - var S = String(defined(that)) - , stringLength = S.length - , fillStr = fillString === undefined ? ' ' : String(fillString) - , intMaxLength = toLength(maxLength); - if(intMaxLength <= stringLength || fillStr == '')return S; - var fillLen = intMaxLength - stringLength - , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); return left ? stringFiller + S : S + stringFiller; }; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-repeat.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-repeat.js index 88fd3a2d..a69b9626 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-repeat.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-repeat.js @@ -1,12 +1,12 @@ 'use strict'; -var toInteger = require('./_to-integer') - , defined = require('./_defined'); +var toInteger = require('./_to-integer'); +var defined = require('./_defined'); -module.exports = function repeat(count){ - var str = String(defined(this)) - , res = '' - , n = toInteger(count); - if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); - for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; return res; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-trim.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-trim.js index d12de1ce..6b54a81a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-trim.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-trim.js @@ -1,30 +1,30 @@ -var $export = require('./_export') - , defined = require('./_defined') - , fails = require('./_fails') - , spaces = require('./_string-ws') - , space = '[' + spaces + ']' - , non = '\u200b\u0085' - , ltrim = RegExp('^' + space + space + '*') - , rtrim = RegExp(space + space + '*$'); +var $export = require('./_export'); +var defined = require('./_defined'); +var fails = require('./_fails'); +var spaces = require('./_string-ws'); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); -var exporter = function(KEY, exec, ALIAS){ - var exp = {}; - var FORCE = fails(function(){ +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { return !!spaces[KEY]() || non[KEY]() != non; }); var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if(ALIAS)exp[ALIAS] = fn; + if (ALIAS) exp[ALIAS] = fn; $export($export.P + $export.F * FORCE, 'String', exp); }; // 1 -> String#trimLeft // 2 -> String#trimRight // 3 -> String#trim -var trim = exporter.trim = function(string, TYPE){ +var trim = exporter.trim = function (string, TYPE) { string = String(defined(string)); - if(TYPE & 1)string = string.replace(ltrim, ''); - if(TYPE & 2)string = string.replace(rtrim, ''); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); return string; }; -module.exports = exporter; \ No newline at end of file +module.exports = exporter; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_string-ws.js b/build/js-transpiled/node_modules/core-js/library/modules/_string-ws.js index 9713d11d..2c68cf9f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_string-ws.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_string-ws.js @@ -1,2 +1,2 @@ module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; \ No newline at end of file + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_task.js b/build/js-transpiled/node_modules/core-js/library/modules/_task.js index 06a73f40..8777a6e2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_task.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_task.js @@ -1,75 +1,84 @@ -var ctx = require('./_ctx') - , invoke = require('./_invoke') - , html = require('./_html') - , cel = require('./_dom-create') - , global = require('./_global') - , process = global.process - , setTask = global.setImmediate - , clearTask = global.clearImmediate - , MessageChannel = global.MessageChannel - , counter = 0 - , queue = {} - , ONREADYSTATECHANGE = 'onreadystatechange' - , defer, channel, port; -var run = function(){ +var ctx = require('./_ctx'); +var invoke = require('./_invoke'); +var html = require('./_html'); +var cel = require('./_dom-create'); +var global = require('./_global'); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { var id = +this; - if(queue.hasOwnProperty(id)){ + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { var fn = queue[id]; delete queue[id]; fn(); } }; -var listener = function(event){ +var listener = function (event) { run.call(event.data); }; // Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if(!setTask || !clearTask){ - setTask = function setImmediate(fn){ - var args = [], i = 1; - while(arguments.length > i)args.push(arguments[i++]); - queue[++counter] = function(){ +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func invoke(typeof fn == 'function' ? fn : Function(fn), args); }; defer(counter); return counter; }; - clearTask = function clearImmediate(id){ + clearTask = function clearImmediate(id) { delete queue[id]; }; // Node.js 0.8- - if(require('./_cof')(process) == 'process'){ - defer = function(id){ + if (require('./_cof')(process) == 'process') { + defer = function (id) { process.nextTick(ctx(run, id, 1)); }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; // Browsers with MessageChannel, includes WebWorkers - } else if(MessageChannel){ - channel = new MessageChannel; - port = channel.port2; + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; channel.port1.onmessage = listener; defer = ctx(port.postMessage, port, 1); // Browsers with postMessage, skip WebWorkers // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ - defer = function(id){ + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { global.postMessage(id + '', '*'); }; global.addEventListener('message', listener, false); // IE8- - } else if(ONREADYSTATECHANGE in cel('script')){ - defer = function(id){ - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){ + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { html.removeChild(this); run.call(id); }; }; // Rest old browsers } else { - defer = function(id){ + defer = function (id) { setTimeout(ctx(run, id, 1), 0); }; } } module.exports = { - set: setTask, + set: setTask, clear: clearTask -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-absolute-index.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-absolute-index.js new file mode 100644 index 00000000..dfee02e8 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-absolute-index.js @@ -0,0 +1,7 @@ +var toInteger = require('./_to-integer'); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-index.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-index.js index 4d380ce1..8f51c32d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_to-index.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-index.js @@ -1,7 +1,10 @@ -var toInteger = require('./_to-integer') - , max = Math.max - , min = Math.min; -module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; \ No newline at end of file +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = require('./_to-integer'); +var toLength = require('./_to-length'); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-integer.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-integer.js index f63baaff..3d50f97d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_to-integer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-integer.js @@ -1,6 +1,6 @@ // 7.1.4 ToInteger -var ceil = Math.ceil - , floor = Math.floor; -module.exports = function(it){ +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-iobject.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-iobject.js index 4eb43462..7614503a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_to-iobject.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-iobject.js @@ -1,6 +1,6 @@ // to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = require('./_iobject') - , defined = require('./_defined'); -module.exports = function(it){ +var IObject = require('./_iobject'); +var defined = require('./_defined'); +module.exports = function (it) { return IObject(defined(it)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-length.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-length.js index 4099e60b..a9db5017 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_to-length.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-length.js @@ -1,6 +1,6 @@ // 7.1.15 ToLength -var toInteger = require('./_to-integer') - , min = Math.min; -module.exports = function(it){ +var toInteger = require('./_to-integer'); +var min = Math.min; +module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-object.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-object.js index f2c28b3f..0efea4c6 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_to-object.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-object.js @@ -1,5 +1,5 @@ // 7.1.13 ToObject(argument) var defined = require('./_defined'); -module.exports = function(it){ +module.exports = function (it) { return Object(defined(it)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_to-primitive.js b/build/js-transpiled/node_modules/core-js/library/modules/_to-primitive.js index 16354eed..de3dd6b1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_to-primitive.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_to-primitive.js @@ -2,11 +2,11 @@ var isObject = require('./_is-object'); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string -module.exports = function(it, S){ - if(!isObject(it))return it; +module.exports = function (it, S) { + if (!isObject(it)) return it; var fn, val; - if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; throw TypeError("Can't convert object to primitive value"); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_typed-array.js b/build/js-transpiled/node_modules/core-js/library/modules/_typed-array.js index b072b23b..30d9c0ba 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_typed-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_typed-array.js @@ -1,285 +1,278 @@ 'use strict'; -if(require('./_descriptors')){ - var LIBRARY = require('./_library') - , global = require('./_global') - , fails = require('./_fails') - , $export = require('./_export') - , $typed = require('./_typed') - , $buffer = require('./_typed-buffer') - , ctx = require('./_ctx') - , anInstance = require('./_an-instance') - , propertyDesc = require('./_property-desc') - , hide = require('./_hide') - , redefineAll = require('./_redefine-all') - , toInteger = require('./_to-integer') - , toLength = require('./_to-length') - , toIndex = require('./_to-index') - , toPrimitive = require('./_to-primitive') - , has = require('./_has') - , same = require('./_same-value') - , classof = require('./_classof') - , isObject = require('./_is-object') - , toObject = require('./_to-object') - , isArrayIter = require('./_is-array-iter') - , create = require('./_object-create') - , getPrototypeOf = require('./_object-gpo') - , gOPN = require('./_object-gopn').f - , getIterFn = require('./core.get-iterator-method') - , uid = require('./_uid') - , wks = require('./_wks') - , createArrayMethod = require('./_array-methods') - , createArrayIncludes = require('./_array-includes') - , speciesConstructor = require('./_species-constructor') - , ArrayIterators = require('./es6.array.iterator') - , Iterators = require('./_iterators') - , $iterDetect = require('./_iter-detect') - , setSpecies = require('./_set-species') - , arrayFill = require('./_array-fill') - , arrayCopyWithin = require('./_array-copy-within') - , $DP = require('./_object-dp') - , $GOPD = require('./_object-gopd') - , dP = $DP.f - , gOPD = $GOPD.f - , RangeError = global.RangeError - , TypeError = global.TypeError - , Uint8Array = global.Uint8Array - , ARRAY_BUFFER = 'ArrayBuffer' - , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER - , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT' - , PROTOTYPE = 'prototype' - , ArrayProto = Array[PROTOTYPE] - , $ArrayBuffer = $buffer.ArrayBuffer - , $DataView = $buffer.DataView - , arrayForEach = createArrayMethod(0) - , arrayFilter = createArrayMethod(2) - , arraySome = createArrayMethod(3) - , arrayEvery = createArrayMethod(4) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , arrayIncludes = createArrayIncludes(true) - , arrayIndexOf = createArrayIncludes(false) - , arrayValues = ArrayIterators.values - , arrayKeys = ArrayIterators.keys - , arrayEntries = ArrayIterators.entries - , arrayLastIndexOf = ArrayProto.lastIndexOf - , arrayReduce = ArrayProto.reduce - , arrayReduceRight = ArrayProto.reduceRight - , arrayJoin = ArrayProto.join - , arraySort = ArrayProto.sort - , arraySlice = ArrayProto.slice - , arrayToString = ArrayProto.toString - , arrayToLocaleString = ArrayProto.toLocaleString - , ITERATOR = wks('iterator') - , TAG = wks('toStringTag') - , TYPED_CONSTRUCTOR = uid('typed_constructor') - , DEF_CONSTRUCTOR = uid('def_constructor') - , ALL_CONSTRUCTORS = $typed.CONSTR - , TYPED_ARRAY = $typed.TYPED - , VIEW = $typed.VIEW - , WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function(O, length){ +if (require('./_descriptors')) { + var LIBRARY = require('./_library'); + var global = require('./_global'); + var fails = require('./_fails'); + var $export = require('./_export'); + var $typed = require('./_typed'); + var $buffer = require('./_typed-buffer'); + var ctx = require('./_ctx'); + var anInstance = require('./_an-instance'); + var propertyDesc = require('./_property-desc'); + var hide = require('./_hide'); + var redefineAll = require('./_redefine-all'); + var toInteger = require('./_to-integer'); + var toLength = require('./_to-length'); + var toIndex = require('./_to-index'); + var toAbsoluteIndex = require('./_to-absolute-index'); + var toPrimitive = require('./_to-primitive'); + var has = require('./_has'); + var classof = require('./_classof'); + var isObject = require('./_is-object'); + var toObject = require('./_to-object'); + var isArrayIter = require('./_is-array-iter'); + var create = require('./_object-create'); + var getPrototypeOf = require('./_object-gpo'); + var gOPN = require('./_object-gopn').f; + var getIterFn = require('./core.get-iterator-method'); + var uid = require('./_uid'); + var wks = require('./_wks'); + var createArrayMethod = require('./_array-methods'); + var createArrayIncludes = require('./_array-includes'); + var speciesConstructor = require('./_species-constructor'); + var ArrayIterators = require('./es6.array.iterator'); + var Iterators = require('./_iterators'); + var $iterDetect = require('./_iter-detect'); + var setSpecies = require('./_set-species'); + var arrayFill = require('./_array-fill'); + var arrayCopyWithin = require('./_array-copy-within'); + var $DP = require('./_object-dp'); + var $GOPD = require('./_object-gopd'); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); }); - var LITTLE_ENDIAN = fails(function(){ + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; }); - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){ + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { new Uint8Array(1).set({}); }); - var strictToLength = function(it, SAME){ - if(it === undefined)throw TypeError(WRONG_LENGTH); - var number = +it - , length = toLength(it); - if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH); - return length; - }; - - var toOffset = function(it, BYTES){ + var toOffset = function (it, BYTES) { var offset = toInteger(it); - if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!'); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); return offset; }; - var validate = function(it){ - if(isObject(it) && TYPED_ARRAY in it)return it; + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; throw TypeError(it + ' is not a typed array!'); }; - var allocate = function(C, length){ - if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){ + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { throw TypeError('It is not a typed array constructor!'); } return new C(length); }; - var speciesFromList = function(O, list){ + var speciesFromList = function (O, list) { return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); }; - var fromList = function(C, list){ - var index = 0 - , length = list.length - , result = allocate(C, length); - while(length > index)result[index] = list[index++]; + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; return result; }; - var addGetter = function(it, key, internal){ - dP(it, key, {get: function(){ return this._d[internal]; }}); + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); }; - var $from = function from(source /*, mapfn, thisArg */){ - var O = toObject(source) - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , iterFn = getIterFn(O) - , i, length, values, result, step, iterator; - if(iterFn != undefined && !isArrayIter(iterFn)){ - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){ + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { values.push(step.value); } O = values; } - if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){ + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { result[i] = mapping ? mapfn(O[i], i) : O[i]; } return result; }; - var $of = function of(/*...items*/){ - var index = 0 - , length = arguments.length - , result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; return result; }; // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); }); + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); - var $toLocaleString = function toLocaleString(){ + var $toLocaleString = function toLocaleString() { return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); }; var proto = { - copyWithin: function copyWithin(target, start /*, end */){ + copyWithin: function copyWithin(target, start /* , end */) { return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); }, - every: function every(callbackfn /*, thisArg */){ + every: function every(callbackfn /* , thisArg */) { return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }, - fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars return arrayFill.apply(validate(this), arguments); }, - filter: function filter(callbackfn /*, thisArg */){ + filter: function filter(callbackfn /* , thisArg */) { return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined)); }, - find: function find(predicate /*, thisArg */){ + find: function find(predicate /* , thisArg */) { return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }, - findIndex: function findIndex(predicate /*, thisArg */){ + findIndex: function findIndex(predicate /* , thisArg */) { return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }, - forEach: function forEach(callbackfn /*, thisArg */){ + forEach: function forEach(callbackfn /* , thisArg */) { arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }, - indexOf: function indexOf(searchElement /*, fromIndex */){ + indexOf: function indexOf(searchElement /* , fromIndex */) { return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }, - includes: function includes(searchElement /*, fromIndex */){ + includes: function includes(searchElement /* , fromIndex */) { return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }, - join: function join(separator){ // eslint-disable-line no-unused-vars + join: function join(separator) { // eslint-disable-line no-unused-vars return arrayJoin.apply(validate(this), arguments); }, - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars return arrayLastIndexOf.apply(validate(this), arguments); }, - map: function map(mapfn /*, thisArg */){ + map: function map(mapfn /* , thisArg */) { return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); }, - reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars return arrayReduce.apply(validate(this), arguments); }, - reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars return arrayReduceRight.apply(validate(this), arguments); }, - reverse: function reverse(){ - var that = this - , length = validate(that).length - , middle = Math.floor(length / 2) - , index = 0 - , value; - while(index < middle){ - value = that[index]; + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; that[index++] = that[--length]; - that[length] = value; + that[length] = value; } return that; }, - some: function some(callbackfn /*, thisArg */){ + some: function some(callbackfn /* , thisArg */) { return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }, - sort: function sort(comparefn){ + sort: function sort(comparefn) { return arraySort.call(validate(this), comparefn); }, - subarray: function subarray(begin, end){ - var O = validate(this) - , length = O.length - , $begin = toIndex(begin, length); + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toIndex(end, length)) - $begin) + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) ); } }; - var $slice = function slice(start, end){ + var $slice = function slice(start, end) { return speciesFromList(this, arraySlice.call(validate(this), start, end)); }; - var $set = function set(arrayLike /*, offset */){ + var $set = function set(arrayLike /* , offset */) { validate(this); - var offset = toOffset(arguments[1], 1) - , length = this.length - , src = toObject(arrayLike) - , len = toLength(src.length) - , index = 0; - if(len + offset > length)throw RangeError(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; }; var $iterators = { - entries: function entries(){ + entries: function entries() { return arrayEntries.call(validate(this)); }, - keys: function keys(){ + keys: function keys() { return arrayKeys.call(validate(this)); }, - values: function values(){ + values: function values() { return arrayValues.call(validate(this)); } }; - var isTAIndex = function(target, key){ + var isTAIndex = function (target, key) { return isObject(target) && target[TYPED_ARRAY] && typeof key != 'symbol' && key in target && String(+key) == String(key); }; - var $getDesc = function getOwnPropertyDescriptor(target, key){ + var $getDesc = function getOwnPropertyDescriptor(target, key) { return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key); }; - var $setDesc = function defineProperty(target, key, desc){ - if(isTAIndex(target, key = toPrimitive(key, true)) + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') @@ -288,36 +281,36 @@ if(require('./_descriptors')){ && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable) - ){ + ) { target[key] = desc.value; return target; - } else return dP(target, key, desc); + } return dP(target, key, desc); }; - if(!ALL_CONSTRUCTORS){ + if (!ALL_CONSTRUCTORS) { $GOPD.f = $getDesc; - $DP.f = $setDesc; + $DP.f = $setDesc; } $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc + defineProperty: $setDesc }); - if(fails(function(){ arrayToString.call({}); })){ - arrayToString = arrayToLocaleString = function toString(){ + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { return arrayJoin.call(this); - } + }; } var $TypedArrayPrototype$ = redefineAll({}, proto); redefineAll($TypedArrayPrototype$, $iterators); hide($TypedArrayPrototype$, ITERATOR, $iterators.values); redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function(){ /* noop */ }, - toString: arrayToString, + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, toLocaleString: $toLocaleString }); addGetter($TypedArrayPrototype$, 'buffer', 'b'); @@ -325,65 +318,65 @@ if(require('./_descriptors')){ addGetter($TypedArrayPrototype$, 'byteLength', 'l'); addGetter($TypedArrayPrototype$, 'length', 'e'); dP($TypedArrayPrototype$, TAG, { - get: function(){ return this[TYPED_ARRAY]; } + get: function () { return this[TYPED_ARRAY]; } }); - module.exports = function(KEY, BYTES, wrapper, CLAMPED){ + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array' - , ISNT_UINT8 = NAME != 'Uint8Array' - , GETTER = 'get' + KEY - , SETTER = 'set' + KEY - , TypedArray = global[NAME] - , Base = TypedArray || {} - , TAC = TypedArray && getPrototypeOf(TypedArray) - , FORCED = !TypedArray || !$typed.ABV - , O = {} - , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index){ + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { var data = that._d; return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); }; - var setter = function(that, index, value){ + var setter = function (that, index, value) { var data = that._d; - if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); }; - var addElement = function(that, index){ + var addElement = function (that, index) { dP(that, index, { - get: function(){ + get: function () { return getter(this, index); }, - set: function(value){ + set: function (value) { return setter(this, index, value); }, enumerable: true }); }; - if(FORCED){ - TypedArray = wrapper(function(that, data, $offset, $length){ + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { anInstance(that, TypedArray, NAME, '_d'); - var index = 0 - , offset = 0 - , buffer, byteLength, length, klass; - if(!isObject(data)){ - length = strictToLength(data, true) + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { buffer = data; offset = toOffset($offset, BYTES); var $len = data.byteLength; - if($length === undefined){ - if($len % BYTES)throw RangeError(WRONG_LENGTH); + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); byteLength = $len - offset; - if(byteLength < 0)throw RangeError(WRONG_LENGTH); + if (byteLength < 0) throw RangeError(WRONG_LENGTH); } else { byteLength = toLength($length) * BYTES; - if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH); + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); } length = byteLength / BYTES; - } else if(TYPED_ARRAY in data){ + } else if (TYPED_ARRAY in data) { return fromList(TypedArray, data); } else { return $from.call(TypedArray, data); @@ -395,49 +388,54 @@ if(require('./_descriptors')){ e: length, v: new $DataView(buffer) }); - while(index < length)addElement(that, index++); + while (index < length) addElement(that, index++); }); TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if(!$iterDetect(function(iter){ - // V8 works with iterators, but fails in many other cases - // https://code.google.com/p/v8/issues/detail?id=4552 + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new new TypedArray(iter); // eslint-disable-line no-new - }, true)){ - TypedArray = wrapper(function(that, data, $offset, $length){ + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { anInstance(that, TypedArray, NAME); var klass; // `ws` module bug, temporarily remove validation length for Uint8Array // https://github.com/websockets/ws/pull/645 - if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8)); - if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data); } - if(TYPED_ARRAY in data)return fromList(TypedArray, data); + if (TYPED_ARRAY in data) return fromList(TypedArray, data); return $from.call(TypedArray, data); }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){ - if(!(key in TypedArray))hide(TypedArray, key, Base[key]); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); }); TypedArray[PROTOTYPE] = TypedArrayPrototype; - if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; } - var $nativeIterator = TypedArrayPrototype[ITERATOR] - , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined) - , $iterator = $iterators.values; + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; hide(TypedArray, TYPED_CONSTRUCTOR, true); hide(TypedArrayPrototype, TYPED_ARRAY, NAME); hide(TypedArrayPrototype, VIEW, true); hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){ + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { dP(TypedArrayPrototype, TAG, { - get: function(){ return NAME; } + get: function () { return NAME; } }); } @@ -446,34 +444,37 @@ if(require('./_descriptors')){ $export($export.G + $export.W + $export.F * (TypedArray != Base), O); $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES, + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { from: $from, of: $of }); - if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); $export($export.P, NAME, proto); setSpecies(NAME); - $export($export.P + $export.F * FORCED_SET, NAME, {set: $set}); + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString}); + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; - $export($export.P + $export.F * fails(function(){ + $export($export.P + $export.F * fails(function () { new TypedArray(1).slice(); - }), NAME, {slice: $slice}); + }), NAME, { slice: $slice }); - $export($export.P + $export.F * (fails(function(){ - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString() - }) || !fails(function(){ + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, {toLocaleString: $toLocaleString}); + })), NAME, { toLocaleString: $toLocaleString }); Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator); + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); }; -} else module.exports = function(){ /* empty */ }; \ No newline at end of file +} else module.exports = function () { /* empty */ }; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_typed-buffer.js b/build/js-transpiled/node_modules/core-js/library/modules/_typed-buffer.js index 2129eea4..c24cef38 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_typed-buffer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_typed-buffer.js @@ -1,74 +1,78 @@ 'use strict'; -var global = require('./_global') - , DESCRIPTORS = require('./_descriptors') - , LIBRARY = require('./_library') - , $typed = require('./_typed') - , hide = require('./_hide') - , redefineAll = require('./_redefine-all') - , fails = require('./_fails') - , anInstance = require('./_an-instance') - , toInteger = require('./_to-integer') - , toLength = require('./_to-length') - , gOPN = require('./_object-gopn').f - , dP = require('./_object-dp').f - , arrayFill = require('./_array-fill') - , setToStringTag = require('./_set-to-string-tag') - , ARRAY_BUFFER = 'ArrayBuffer' - , DATA_VIEW = 'DataView' - , PROTOTYPE = 'prototype' - , WRONG_LENGTH = 'Wrong length!' - , WRONG_INDEX = 'Wrong index!' - , $ArrayBuffer = global[ARRAY_BUFFER] - , $DataView = global[DATA_VIEW] - , Math = global.Math - , RangeError = global.RangeError - , Infinity = global.Infinity - , BaseBuffer = $ArrayBuffer - , abs = Math.abs - , pow = Math.pow - , floor = Math.floor - , log = Math.log - , LN2 = Math.LN2 - , BUFFER = 'buffer' - , BYTE_LENGTH = 'byteLength' - , BYTE_OFFSET = 'byteOffset' - , $BUFFER = DESCRIPTORS ? '_b' : BUFFER - , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH - , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; +var global = require('./_global'); +var DESCRIPTORS = require('./_descriptors'); +var LIBRARY = require('./_library'); +var $typed = require('./_typed'); +var hide = require('./_hide'); +var redefineAll = require('./_redefine-all'); +var fails = require('./_fails'); +var anInstance = require('./_an-instance'); +var toInteger = require('./_to-integer'); +var toLength = require('./_to-length'); +var toIndex = require('./_to-index'); +var gOPN = require('./_object-gopn').f; +var dP = require('./_object-dp').f; +var arrayFill = require('./_array-fill'); +var setToStringTag = require('./_set-to-string-tag'); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; // IEEE754 conversions based on https://github.com/feross/ieee754 -var packIEEE754 = function(value, mLen, nBytes){ - var buffer = Array(nBytes) - , eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0 - , i = 0 - , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0 - , e, m, c; - value = abs(value) - if(value != value || value === Infinity){ +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare m = value != value ? 1 : 0; e = eMax; } else { e = floor(log(value) / LN2); - if(value * (c = pow(2, -e)) < 1){ + if (value * (c = pow(2, -e)) < 1) { e--; c *= 2; } - if(e + eBias >= 1){ + if (e + eBias >= 1) { value += rt / c; } else { value += rt * pow(2, 1 - eBias); } - if(value * c >= 2){ + if (value * c >= 2) { e++; c /= 2; } - if(e + eBias >= eMax){ + if (e + eBias >= eMax) { m = 0; e = eMax; - } else if(e + eBias >= 1){ + } else if (e + eBias >= 1) { m = (value * c - 1) * pow(2, mLen); e = e + eBias; } else { @@ -76,109 +80,102 @@ var packIEEE754 = function(value, mLen, nBytes){ e = 0; } } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); e = e << mLen | m; eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); buffer[--i] |= s * 128; return buffer; -}; -var unpackIEEE754 = function(buffer, mLen, nBytes){ - var eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , nBits = eLen - 7 - , i = nBytes - 1 - , s = buffer[i--] - , e = s & 127 - , m; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); m = e & (1 << -nBits) - 1; e >>= -nBits; nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if(e === 0){ + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { e = 1 - eBias; - } else if(e === eMax){ + } else if (e === eMax) { return m ? NaN : s ? -Infinity : Infinity; } else { m = m + pow(2, mLen); e = e - eBias; } return (s ? -1 : 1) * m * pow(2, e - mLen); -}; +} -var unpackI32 = function(bytes){ +function unpackI32(bytes) { return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; -}; -var packI8 = function(it){ +} +function packI8(it) { return [it & 0xff]; -}; -var packI16 = function(it){ +} +function packI16(it) { return [it & 0xff, it >> 8 & 0xff]; -}; -var packI32 = function(it){ +} +function packI32(it) { return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; -}; -var packF64 = function(it){ +} +function packF64(it) { return packIEEE754(it, 52, 8); -}; -var packF32 = function(it){ +} +function packF32(it) { return packIEEE754(it, 23, 4); -}; +} -var addGetter = function(C, key, internal){ - dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }}); -}; +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} -var get = function(view, bytes, index, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = store.slice(start, start + bytes); +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); return isLittleEndian ? pack : pack.reverse(); -}; -var set = function(view, bytes, index, conversion, value, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; -}; - -var validateArrayBufferArguments = function(that, length){ - anInstance(that, $ArrayBuffer, ARRAY_BUFFER); - var numberLength = +length - , byteLength = toLength(numberLength); - if(numberLength != byteLength)throw RangeError(WRONG_LENGTH); - return byteLength; -}; +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} -if(!$typed.ABV){ - $ArrayBuffer = function ArrayBuffer(length){ - var byteLength = validateArrayBufferArguments(this, length); - this._b = arrayFill.call(Array(byteLength), 0); +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); this[$LENGTH] = byteLength; }; - $DataView = function DataView(buffer, byteOffset, byteLength){ + $DataView = function DataView(buffer, byteOffset, byteLength) { anInstance(this, $DataView, DATA_VIEW); anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH] - , offset = toInteger(byteOffset); - if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!'); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); this[$BUFFER] = buffer; this[$OFFSET] = offset; this[$LENGTH] = byteLength; }; - if(DESCRIPTORS){ + if (DESCRIPTORS) { addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); addGetter($DataView, BUFFER, '_b'); addGetter($DataView, BYTE_LENGTH, '_l'); @@ -186,82 +183,88 @@ if(!$typed.ABV){ } redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset){ + getInt8: function getInt8(byteOffset) { return get(this, 1, byteOffset)[0] << 24 >> 24; }, - getUint8: function getUint8(byteOffset){ + getUint8: function getUint8(byteOffset) { return get(this, 1, byteOffset)[0]; }, - getInt16: function getInt16(byteOffset /*, littleEndian */){ + getInt16: function getInt16(byteOffset /* , littleEndian */) { var bytes = get(this, 2, byteOffset, arguments[1]); return (bytes[1] << 8 | bytes[0]) << 16 >> 16; }, - getUint16: function getUint16(byteOffset /*, littleEndian */){ + getUint16: function getUint16(byteOffset /* , littleEndian */) { var bytes = get(this, 2, byteOffset, arguments[1]); return bytes[1] << 8 | bytes[0]; }, - getInt32: function getInt32(byteOffset /*, littleEndian */){ + getInt32: function getInt32(byteOffset /* , littleEndian */) { return unpackI32(get(this, 4, byteOffset, arguments[1])); }, - getUint32: function getUint32(byteOffset /*, littleEndian */){ + getUint32: function getUint32(byteOffset /* , littleEndian */) { return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; }, - getFloat32: function getFloat32(byteOffset /*, littleEndian */){ + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); }, - getFloat64: function getFloat64(byteOffset /*, littleEndian */){ + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); }, - setInt8: function setInt8(byteOffset, value){ + setInt8: function setInt8(byteOffset, value) { set(this, 1, byteOffset, packI8, value); }, - setUint8: function setUint8(byteOffset, value){ + setUint8: function setUint8(byteOffset, value) { set(this, 1, byteOffset, packI8, value); }, - setInt16: function setInt16(byteOffset, value /*, littleEndian */){ + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { set(this, 2, byteOffset, packI16, value, arguments[2]); }, - setUint16: function setUint16(byteOffset, value /*, littleEndian */){ + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { set(this, 2, byteOffset, packI16, value, arguments[2]); }, - setInt32: function setInt32(byteOffset, value /*, littleEndian */){ + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { set(this, 4, byteOffset, packI32, value, arguments[2]); }, - setUint32: function setUint32(byteOffset, value /*, littleEndian */){ + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { set(this, 4, byteOffset, packI32, value, arguments[2]); }, - setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){ + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { set(this, 4, byteOffset, packF32, value, arguments[2]); }, - setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){ + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { set(this, 8, byteOffset, packF64, value, arguments[2]); } }); } else { - if(!fails(function(){ - new $ArrayBuffer; // eslint-disable-line no-new - }) || !fails(function(){ - new $ArrayBuffer(.5); // eslint-disable-line no-new - })){ - $ArrayBuffer = function ArrayBuffer(length){ - return new BaseBuffer(validateArrayBufferArguments(this, length)); + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); }; var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){ - if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]); - }; - if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; } // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)) - , $setInt8 = $DataView[PROTOTYPE].setInt8; + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; view.setInt8(0, 2147483648); view.setInt8(1, 2147483649); - if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value){ + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { $setInt8.call(this, byteOffset, value << 24 >> 24); }, - setUint8: function setUint8(byteOffset, value){ + setUint8: function setUint8(byteOffset, value) { $setInt8.call(this, byteOffset, value << 24 >> 24); } }, true); @@ -270,4 +273,4 @@ setToStringTag($ArrayBuffer, ARRAY_BUFFER); setToStringTag($DataView, DATA_VIEW); hide($DataView[PROTOTYPE], $typed.VIEW, true); exports[ARRAY_BUFFER] = $ArrayBuffer; -exports[DATA_VIEW] = $DataView; \ No newline at end of file +exports[DATA_VIEW] = $DataView; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_typed.js b/build/js-transpiled/node_modules/core-js/library/modules/_typed.js index 6ed2ab56..8747ffd7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_typed.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_typed.js @@ -1,26 +1,28 @@ -var global = require('./_global') - , hide = require('./_hide') - , uid = require('./_uid') - , TYPED = uid('typed_array') - , VIEW = uid('view') - , ABV = !!(global.ArrayBuffer && global.DataView) - , CONSTR = ABV - , i = 0, l = 9, Typed; +var global = require('./_global'); +var hide = require('./_hide'); +var uid = require('./_uid'); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; var TypedArrayConstructors = ( 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' ).split(','); -while(i < l){ - if(Typed = global[TypedArrayConstructors[i++]]){ +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { hide(Typed.prototype, TYPED, true); hide(Typed.prototype, VIEW, true); } else CONSTR = false; } module.exports = { - ABV: ABV, + ABV: ABV, CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW -}; \ No newline at end of file + TYPED: TYPED, + VIEW: VIEW +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_uid.js b/build/js-transpiled/node_modules/core-js/library/modules/_uid.js index 3be4196b..ffbe7185 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_uid.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_uid.js @@ -1,5 +1,5 @@ -var id = 0 - , px = Math.random(); -module.exports = function(key){ +var id = 0; +var px = Math.random(); +module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_user-agent.js b/build/js-transpiled/node_modules/core-js/library/modules/_user-agent.js new file mode 100644 index 00000000..363fedc2 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_user-agent.js @@ -0,0 +1,4 @@ +var global = require('./_global'); +var navigator = global.navigator; + +module.exports = navigator && navigator.userAgent || ''; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_validate-collection.js b/build/js-transpiled/node_modules/core-js/library/modules/_validate-collection.js new file mode 100644 index 00000000..cec1ceff --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/_validate-collection.js @@ -0,0 +1,5 @@ +var isObject = require('./_is-object'); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_wks-define.js b/build/js-transpiled/node_modules/core-js/library/modules/_wks-define.js index e6960328..7284d6ad 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_wks-define.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_wks-define.js @@ -1,9 +1,9 @@ -var global = require('./_global') - , core = require('./_core') - , LIBRARY = require('./_library') - , wksExt = require('./_wks-ext') - , defineProperty = require('./_object-dp').f; -module.exports = function(name){ +var global = require('./_global'); +var core = require('./_core'); +var LIBRARY = require('./_library'); +var wksExt = require('./_wks-ext'); +var defineProperty = require('./_object-dp').f; +module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); -}; \ No newline at end of file + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_wks-ext.js b/build/js-transpiled/node_modules/core-js/library/modules/_wks-ext.js index 7901def6..13bd83b1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_wks-ext.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_wks-ext.js @@ -1 +1 @@ -exports.f = require('./_wks'); \ No newline at end of file +exports.f = require('./_wks'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/_wks.js b/build/js-transpiled/node_modules/core-js/library/modules/_wks.js index 36f7973a..e33f857a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/_wks.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/_wks.js @@ -1,11 +1,11 @@ -var store = require('./_shared')('wks') - , uid = require('./_uid') - , Symbol = require('./_global').Symbol - , USE_SYMBOL = typeof Symbol == 'function'; +var store = require('./_shared')('wks'); +var uid = require('./_uid'); +var Symbol = require('./_global').Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; -var $exports = module.exports = function(name){ +var $exports = module.exports = function (name) { return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); }; -$exports.store = store; \ No newline at end of file +$exports.store = store; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.delay.js b/build/js-transpiled/node_modules/core-js/library/modules/core.delay.js index ea031be4..73712c01 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.delay.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.delay.js @@ -1,12 +1,12 @@ -var global = require('./_global') - , core = require('./_core') - , $export = require('./_export') - , partial = require('./_partial'); +var global = require('./_global'); +var core = require('./_core'); +var $export = require('./_export'); +var partial = require('./_partial'); // https://esdiscuss.org/topic/promise-returning-delay-function $export($export.G + $export.F, { - delay: function delay(time){ - return new (core.Promise || global.Promise)(function(resolve){ + delay: function delay(time) { + return new (core.Promise || global.Promise)(function (resolve) { setTimeout(partial.call(resolve, true), time); }); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.dict.js b/build/js-transpiled/node_modules/core-js/library/modules/core.dict.js index 88c54e3d..5422ad30 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.dict.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.dict.js @@ -1,22 +1,22 @@ 'use strict'; -var ctx = require('./_ctx') - , $export = require('./_export') - , createDesc = require('./_property-desc') - , assign = require('./_object-assign') - , create = require('./_object-create') - , getPrototypeOf = require('./_object-gpo') - , getKeys = require('./_object-keys') - , dP = require('./_object-dp') - , keyOf = require('./_keyof') - , aFunction = require('./_a-function') - , forOf = require('./_for-of') - , isIterable = require('./core.is-iterable') - , $iterCreate = require('./_iter-create') - , step = require('./_iter-step') - , isObject = require('./_is-object') - , toIObject = require('./_to-iobject') - , DESCRIPTORS = require('./_descriptors') - , has = require('./_has'); +var ctx = require('./_ctx'); +var $export = require('./_export'); +var createDesc = require('./_property-desc'); +var assign = require('./_object-assign'); +var create = require('./_object-create'); +var getPrototypeOf = require('./_object-gpo'); +var getKeys = require('./_object-keys'); +var dP = require('./_object-dp'); +var keyOf = require('./_keyof'); +var aFunction = require('./_a-function'); +var forOf = require('./_for-of'); +var isIterable = require('./core.is-iterable'); +var $iterCreate = require('./_iter-create'); +var step = require('./_iter-step'); +var isObject = require('./_is-object'); +var toIObject = require('./_to-iobject'); +var DESCRIPTORS = require('./_descriptors'); +var has = require('./_has'); // 0 -> Dict.forEach // 1 -> Dict.map @@ -26,27 +26,27 @@ var ctx = require('./_ctx') // 5 -> Dict.find // 6 -> Dict.findKey // 7 -> Dict.mapPairs -var createDictMethod = function(TYPE){ - var IS_MAP = TYPE == 1 - , IS_EVERY = TYPE == 4; - return function(object, callbackfn, that /* = undefined */){ - var f = ctx(callbackfn, that, 3) - , O = toIObject(object) - , result = IS_MAP || TYPE == 7 || TYPE == 2 - ? new (typeof this == 'function' ? this : Dict) : undefined - , key, val, res; - for(key in O)if(has(O, key)){ +var createDictMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_EVERY = TYPE == 4; + return function (object, callbackfn, that /* = undefined */) { + var f = ctx(callbackfn, that, 3); + var O = toIObject(object); + var result = IS_MAP || TYPE == 7 || TYPE == 2 + ? new (typeof this == 'function' ? this : Dict)() : undefined; + var key, val, res; + for (key in O) if (has(O, key)) { val = O[key]; res = f(val, key, object); - if(TYPE){ - if(IS_MAP)result[key] = res; // map - else if(res)switch(TYPE){ + if (TYPE) { + if (IS_MAP) result[key] = res; // map + else if (res) switch (TYPE) { case 2: result[key] = val; break; // filter case 3: return true; // some case 5: return val; // find case 6: return key; // findKey case 7: result[res[0]] = res[1]; // mapPairs - } else if(IS_EVERY)return false; // every + } else if (IS_EVERY) return false; // every } } return TYPE == 3 || IS_EVERY ? IS_EVERY : result; @@ -54,39 +54,39 @@ var createDictMethod = function(TYPE){ }; var findKey = createDictMethod(6); -var createDictIter = function(kind){ - return function(it){ +var createDictIter = function (kind) { + return function (it) { return new DictIterator(it, kind); }; }; -var DictIterator = function(iterated, kind){ +var DictIterator = function (iterated, kind) { this._t = toIObject(iterated); // target this._a = getKeys(iterated); // keys this._i = 0; // next index this._k = kind; // kind }; -$iterCreate(DictIterator, 'Dict', function(){ - var that = this - , O = that._t - , keys = that._a - , kind = that._k - , key; +$iterCreate(DictIterator, 'Dict', function () { + var that = this; + var O = that._t; + var keys = that._a; + var kind = that._k; + var key; do { - if(that._i >= keys.length){ + if (that._i >= keys.length) { that._t = undefined; return step(1); } - } while(!has(O, key = keys[that._i++])); - if(kind == 'keys' )return step(0, key); - if(kind == 'values')return step(0, O[key]); + } while (!has(O, key = keys[that._i++])); + if (kind == 'keys') return step(0, key); + if (kind == 'values') return step(0, O[key]); return step(0, [key, O[key]]); }); -function Dict(iterable){ +function Dict(iterable) { var dict = create(null); - if(iterable != undefined){ - if(isIterable(iterable)){ - forOf(iterable, true, function(key, value){ + if (iterable != undefined) { + if (isIterable(iterable)) { + forOf(iterable, true, function (key, value) { dict[key] = value; }); } else assign(dict, iterable); @@ -95,61 +95,63 @@ function Dict(iterable){ } Dict.prototype = null; -function reduce(object, mapfn, init){ +function reduce(object, mapfn, init) { aFunction(mapfn); - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , memo, key; - if(arguments.length < 3){ - if(!length)throw TypeError('Reduce of empty object with no initial value'); + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var memo, key; + if (arguments.length < 3) { + if (!length) throw TypeError('Reduce of empty object with no initial value'); memo = O[keys[i++]]; } else memo = Object(init); - while(length > i)if(has(O, key = keys[i++])){ + while (length > i) if (has(O, key = keys[i++])) { memo = mapfn(memo, O[key], key, object); } return memo; } -function includes(object, el){ - return (el == el ? keyOf(object, el) : findKey(object, function(it){ +function includes(object, el) { + // eslint-disable-next-line no-self-compare + return (el == el ? keyOf(object, el) : findKey(object, function (it) { + // eslint-disable-next-line no-self-compare return it != it; })) !== undefined; } -function get(object, key){ - if(has(object, key))return object[key]; +function get(object, key) { + if (has(object, key)) return object[key]; } -function set(object, key, value){ - if(DESCRIPTORS && key in Object)dP.f(object, key, createDesc(0, value)); +function set(object, key, value) { + if (DESCRIPTORS && key in Object) dP.f(object, key, createDesc(0, value)); else object[key] = value; return object; } -function isDict(it){ +function isDict(it) { return isObject(it) && getPrototypeOf(it) === Dict.prototype; } -$export($export.G + $export.F, {Dict: Dict}); +$export($export.G + $export.F, { Dict: Dict }); $export($export.S, 'Dict', { - keys: createDictIter('keys'), - values: createDictIter('values'), - entries: createDictIter('entries'), - forEach: createDictMethod(0), - map: createDictMethod(1), - filter: createDictMethod(2), - some: createDictMethod(3), - every: createDictMethod(4), - find: createDictMethod(5), - findKey: findKey, + keys: createDictIter('keys'), + values: createDictIter('values'), + entries: createDictIter('entries'), + forEach: createDictMethod(0), + map: createDictMethod(1), + filter: createDictMethod(2), + some: createDictMethod(3), + every: createDictMethod(4), + find: createDictMethod(5), + findKey: findKey, mapPairs: createDictMethod(7), - reduce: reduce, - keyOf: keyOf, + reduce: reduce, + keyOf: keyOf, includes: includes, - has: has, - get: get, - set: set, - isDict: isDict -}); \ No newline at end of file + has: has, + get: get, + set: set, + isDict: isDict +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.function.part.js b/build/js-transpiled/node_modules/core-js/library/modules/core.function.part.js index ce851ff8..050154f8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.function.part.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.function.part.js @@ -1,7 +1,7 @@ -var path = require('./_path') - , $export = require('./_export'); +var path = require('./_path'); +var $export = require('./_export'); // Placeholder require('./_core')._ = path._ = path._ || {}; -$export($export.P + $export.F, 'Function', {part: require('./_partial')}); \ No newline at end of file +$export($export.P + $export.F, 'Function', { part: require('./_partial') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator-method.js b/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator-method.js index e2c7ecc3..9b6fa62a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator-method.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator-method.js @@ -1,8 +1,8 @@ -var classof = require('./_classof') - , ITERATOR = require('./_wks')('iterator') - , Iterators = require('./_iterators'); -module.exports = require('./_core').getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] +var classof = require('./_classof'); +var ITERATOR = require('./_wks')('iterator'); +var Iterators = require('./_iterators'); +module.exports = require('./_core').getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator.js b/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator.js index c292e1ab..04568c86 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.get-iterator.js @@ -1,7 +1,7 @@ -var anObject = require('./_an-object') - , get = require('./core.get-iterator-method'); -module.exports = require('./_core').getIterator = function(it){ +var anObject = require('./_an-object'); +var get = require('./core.get-iterator-method'); +module.exports = require('./_core').getIterator = function (it) { var iterFn = get(it); - if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!'); + if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!'); return anObject(iterFn.call(it)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.is-iterable.js b/build/js-transpiled/node_modules/core-js/library/modules/core.is-iterable.js index b2b01b6b..388e5e35 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.is-iterable.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.is-iterable.js @@ -1,9 +1,10 @@ -var classof = require('./_classof') - , ITERATOR = require('./_wks')('iterator') - , Iterators = require('./_iterators'); -module.exports = require('./_core').isIterable = function(it){ +var classof = require('./_classof'); +var ITERATOR = require('./_wks')('iterator'); +var Iterators = require('./_iterators'); +module.exports = require('./_core').isIterable = function (it) { var O = Object(it); return O[ITERATOR] !== undefined || '@@iterator' in O + // eslint-disable-next-line no-prototype-builtins || Iterators.hasOwnProperty(classof(O)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.number.iterator.js b/build/js-transpiled/node_modules/core-js/library/modules/core.number.iterator.js index 9700acba..fa37791e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.number.iterator.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.number.iterator.js @@ -1,9 +1,9 @@ 'use strict'; -require('./_iter-define')(Number, 'Number', function(iterated){ +require('./_iter-define')(Number, 'Number', function (iterated) { this._l = +iterated; this._i = 0; -}, function(){ - var i = this._i++ - , done = !(i < this._l); - return {done: done, value: done ? undefined : i}; -}); \ No newline at end of file +}, function () { + var i = this._i++; + var done = !(i < this._l); + return { done: done, value: done ? undefined : i }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.object.classof.js b/build/js-transpiled/node_modules/core-js/library/modules/core.object.classof.js index 342c7371..fe16595a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.object.classof.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.object.classof.js @@ -1,3 +1,3 @@ var $export = require('./_export'); -$export($export.S + $export.F, 'Object', {classof: require('./_classof')}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { classof: require('./_classof') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.object.define.js b/build/js-transpiled/node_modules/core-js/library/modules/core.object.define.js index d60e9a95..e4e717b5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.object.define.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.object.define.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , define = require('./_object-define'); +var $export = require('./_export'); +var define = require('./_object-define'); -$export($export.S + $export.F, 'Object', {define: define}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { define: define }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.object.is-object.js b/build/js-transpiled/node_modules/core-js/library/modules/core.object.is-object.js index f2ba059f..fea80b60 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.object.is-object.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.object.is-object.js @@ -1,3 +1,3 @@ var $export = require('./_export'); -$export($export.S + $export.F, 'Object', {isObject: require('./_is-object')}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { isObject: require('./_is-object') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.object.make.js b/build/js-transpiled/node_modules/core-js/library/modules/core.object.make.js index 3d2a2b5f..51d47740 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.object.make.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.object.make.js @@ -1,9 +1,9 @@ -var $export = require('./_export') - , define = require('./_object-define') - , create = require('./_object-create'); +var $export = require('./_export'); +var define = require('./_object-define'); +var create = require('./_object-create'); $export($export.S + $export.F, 'Object', { - make: function(proto, mixin){ + make: function (proto, mixin) { return define(create(proto), mixin); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.regexp.escape.js b/build/js-transpiled/node_modules/core-js/library/modules/core.regexp.escape.js index 54f832ef..3ddd748c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.regexp.escape.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.regexp.escape.js @@ -1,5 +1,5 @@ // https://github.com/benjamingr/RexExp.escape -var $export = require('./_export') - , $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); +var $export = require('./_export'); +var $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); -$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); +$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.string.escape-html.js b/build/js-transpiled/node_modules/core-js/library/modules/core.string.escape-html.js index a4b8d2f0..f9678861 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.string.escape-html.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.string.escape-html.js @@ -8,4 +8,4 @@ var $re = require('./_replacer')(/[&<>"']/g, { "'": ''' }); -$export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }}); \ No newline at end of file +$export($export.P + $export.F, 'String', { escapeHTML: function escapeHTML() { return $re(this); } }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/core.string.unescape-html.js b/build/js-transpiled/node_modules/core-js/library/modules/core.string.unescape-html.js index 413622b9..eb8a6cfb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/core.string.unescape-html.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/core.string.unescape-html.js @@ -1,11 +1,11 @@ 'use strict'; var $export = require('./_export'); var $re = require('./_replacer')(/&(?:amp|lt|gt|quot|apos);/g, { - '&': '&', - '<': '<', - '>': '>', + '&': '&', + '<': '<', + '>': '>', '"': '"', ''': "'" }); -$export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }}); \ No newline at end of file +$export($export.P + $export.F, 'String', { unescapeHTML: function unescapeHTML() { return $re(this); } }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es5.js b/build/js-transpiled/node_modules/core-js/library/modules/es5.js index dd7ebadf..ca10612d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es5.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es5.js @@ -32,4 +32,4 @@ require('./es6.date.to-json'); require('./es6.parse-int'); require('./es6.parse-float'); require('./es6.string.trim'); -require('./es6.regexp.to-string'); \ No newline at end of file +require('./es6.regexp.to-string'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.copy-within.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.copy-within.js index 027f7550..f866a959 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.copy-within.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.copy-within.js @@ -1,6 +1,6 @@ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) var $export = require('./_export'); -$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')}); +$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') }); -require('./_add-to-unscopables')('copyWithin'); \ No newline at end of file +require('./_add-to-unscopables')('copyWithin'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.every.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.every.js index fb067367..cfd448f5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.every.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.every.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $every = require('./_array-methods')(4); +var $export = require('./_export'); +var $every = require('./_array-methods')(4); $export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', { // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */){ + every: function every(callbackfn /* , thisArg */) { return $every(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.fill.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.fill.js index f075c001..ac171442 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.fill.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.fill.js @@ -1,6 +1,6 @@ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) var $export = require('./_export'); -$export($export.P, 'Array', {fill: require('./_array-fill')}); +$export($export.P, 'Array', { fill: require('./_array-fill') }); -require('./_add-to-unscopables')('fill'); \ No newline at end of file +require('./_add-to-unscopables')('fill'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.filter.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.filter.js index f60951d3..447ecf40 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.filter.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.filter.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $filter = require('./_array-methods')(2); +var $export = require('./_export'); +var $filter = require('./_array-methods')(2); $export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', { // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ + filter: function filter(callbackfn /* , thisArg */) { return $filter(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find-index.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find-index.js index 53090741..374cadd7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find-index.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find-index.js @@ -1,14 +1,14 @@ 'use strict'; // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) -var $export = require('./_export') - , $find = require('./_array-methods')(6) - , KEY = 'findIndex' - , forced = true; +var $export = require('./_export'); +var $find = require('./_array-methods')(6); +var KEY = 'findIndex'; +var forced = true; // Shouldn't skip holes -if(KEY in [])Array(1)[KEY](function(){ forced = false; }); +if (KEY in []) Array(1)[KEY](function () { forced = false; }); $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn/*, that = undefined */){ + findIndex: function findIndex(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./_add-to-unscopables')(KEY); \ No newline at end of file +require('./_add-to-unscopables')(KEY); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find.js index 90a9acfb..4fbe76ce 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.find.js @@ -1,14 +1,14 @@ 'use strict'; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) -var $export = require('./_export') - , $find = require('./_array-methods')(5) - , KEY = 'find' - , forced = true; +var $export = require('./_export'); +var $find = require('./_array-methods')(5); +var KEY = 'find'; +var forced = true; // Shouldn't skip holes -if(KEY in [])Array(1)[KEY](function(){ forced = false; }); +if (KEY in []) Array(1)[KEY](function () { forced = false; }); $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn/*, that = undefined */){ + find: function find(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./_add-to-unscopables')(KEY); \ No newline at end of file +require('./_add-to-unscopables')(KEY); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.for-each.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.for-each.js index f814fe4e..525ba074 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.for-each.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.for-each.js @@ -1,11 +1,11 @@ 'use strict'; -var $export = require('./_export') - , $forEach = require('./_array-methods')(0) - , STRICT = require('./_strict-method')([].forEach, true); +var $export = require('./_export'); +var $forEach = require('./_array-methods')(0); +var STRICT = require('./_strict-method')([].forEach, true); $export($export.P + $export.F * !STRICT, 'Array', { // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ + forEach: function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.from.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.from.js index 69e5d4a6..4db38017 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.from.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.from.js @@ -1,33 +1,33 @@ 'use strict'; -var ctx = require('./_ctx') - , $export = require('./_export') - , toObject = require('./_to-object') - , call = require('./_iter-call') - , isArrayIter = require('./_is-array-iter') - , toLength = require('./_to-length') - , createProperty = require('./_create-property') - , getIterFn = require('./core.get-iterator-method'); +var ctx = require('./_ctx'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var call = require('./_iter-call'); +var isArrayIter = require('./_is-array-iter'); +var toLength = require('./_to-length'); +var createProperty = require('./_create-property'); +var getIterFn = require('./core.get-iterator-method'); -$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', { +$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ - var O = toObject(arrayLike) - , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , index = 0 - , iterFn = getIterFn(O) - , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); // if object isn't iterable or it's array with default iterator - use simple case - if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ - for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); } } else { length = toLength(O.length); - for(result = new C(length); length > index; index++){ + for (result = new C(length); length > index; index++) { createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); } } diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.index-of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.index-of.js index 90376315..231c92e9 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.index-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.index-of.js @@ -1,15 +1,15 @@ 'use strict'; -var $export = require('./_export') - , $indexOf = require('./_array-includes')(false) - , $native = [].indexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; +var $export = require('./_export'); +var $indexOf = require('./_array-includes')(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /*, fromIndex = 0 */){ + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { return NEGATIVE_ZERO // convert -0 to +0 ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.is-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.is-array.js index cd5d8c19..27ca6fc5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.is-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.is-array.js @@ -1,4 +1,4 @@ // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) var $export = require('./_export'); -$export($export.S, 'Array', {isArray: require('./_is-array')}); \ No newline at end of file +$export($export.S, 'Array', { isArray: require('./_is-array') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.iterator.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.iterator.js index 100b344d..c64e88b1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.iterator.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.iterator.js @@ -1,28 +1,28 @@ 'use strict'; -var addToUnscopables = require('./_add-to-unscopables') - , step = require('./_iter-step') - , Iterators = require('./_iterators') - , toIObject = require('./_to-iobject'); +var addToUnscopables = require('./_add-to-unscopables'); +var step = require('./_iter-step'); +var Iterators = require('./_iterators'); +var toIObject = require('./_to-iobject'); // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() -module.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){ +module.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) { this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind // 22.1.5.2.1 %ArrayIteratorPrototype%.next() -}, function(){ - var O = this._t - , kind = this._k - , index = this._i++; - if(!O || index >= O.length){ +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { this._t = undefined; return step(1); } - if(kind == 'keys' )return step(0, index); - if(kind == 'values')return step(0, O[index]); + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); return step(0, [index, O[index]]); }, 'values'); @@ -31,4 +31,4 @@ Iterators.Arguments = Iterators.Array; addToUnscopables('keys'); addToUnscopables('values'); -addToUnscopables('entries'); \ No newline at end of file +addToUnscopables('entries'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.join.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.join.js index 1bb65653..48e55d2e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.join.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.join.js @@ -1,12 +1,12 @@ 'use strict'; // 22.1.3.13 Array.prototype.join(separator) -var $export = require('./_export') - , toIObject = require('./_to-iobject') - , arrayJoin = [].join; +var $export = require('./_export'); +var toIObject = require('./_to-iobject'); +var arrayJoin = [].join; // fallback for not array-like strings $export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', { - join: function join(separator){ + join: function join(separator) { return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.last-index-of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.last-index-of.js index 75c1eabf..1f70e340 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.last-index-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.last-index-of.js @@ -1,22 +1,22 @@ 'use strict'; -var $export = require('./_export') - , toIObject = require('./_to-iobject') - , toInteger = require('./_to-integer') - , toLength = require('./_to-length') - , $native = [].lastIndexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; +var $export = require('./_export'); +var toIObject = require('./_to-iobject'); +var toInteger = require('./_to-integer'); +var toLength = require('./_to-length'); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){ + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { // convert -0 to +0 - if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0; - var O = toIObject(this) - , length = toLength(O.length) - , index = length - 1; - if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1])); - if(index < 0)index = length + index; - for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0; + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; return -1; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.map.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.map.js index f70089f3..1326033f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.map.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.map.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $map = require('./_array-methods')(1); +var $export = require('./_export'); +var $map = require('./_array-methods')(1); $export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', { // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ + map: function map(callbackfn /* , thisArg */) { return $map(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.of.js index dd4e1f81..b83e058c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.of.js @@ -1,19 +1,19 @@ 'use strict'; -var $export = require('./_export') - , createProperty = require('./_create-property'); +var $export = require('./_export'); +var createProperty = require('./_create-property'); // WebKit Array.of isn't generic -$export($export.S + $export.F * require('./_fails')(function(){ - function F(){} +$export($export.S + $export.F * require('./_fails')(function () { + function F() { /* empty */ } return !(Array.of.call(F) instanceof F); }), 'Array', { // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */){ - var index = 0 - , aLen = arguments.length - , result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); result.length = aLen; return result; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce-right.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce-right.js index 0c64d85e..168e421d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce-right.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce-right.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $reduce = require('./_array-reduce'); +var $export = require('./_export'); +var $reduce = require('./_array-reduce'); $export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', { // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */){ + reduceRight: function reduceRight(callbackfn /* , initialValue */) { return $reduce(this, callbackfn, arguments.length, arguments[1], true); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce.js index 491f7d25..f4e47612 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.reduce.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $reduce = require('./_array-reduce'); +var $export = require('./_export'); +var $reduce = require('./_array-reduce'); $export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', { // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */){ + reduce: function reduce(callbackfn /* , initialValue */) { return $reduce(this, callbackfn, arguments.length, arguments[1], false); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.slice.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.slice.js index 610bd399..bdd496ec 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.slice.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.slice.js @@ -1,28 +1,28 @@ 'use strict'; -var $export = require('./_export') - , html = require('./_html') - , cof = require('./_cof') - , toIndex = require('./_to-index') - , toLength = require('./_to-length') - , arraySlice = [].slice; +var $export = require('./_export'); +var html = require('./_html'); +var cof = require('./_cof'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); +var arraySlice = [].slice; // fallback for not array-like ES3 strings and DOM objects -$export($export.P + $export.F * require('./_fails')(function(){ - if(html)arraySlice.call(html); +$export($export.P + $export.F * require('./_fails')(function () { + if (html) arraySlice.call(html); }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); end = end === undefined ? len : end; - if(klass == 'Array')return arraySlice.call(this, begin, end); - var start = toIndex(begin, len) - , upTo = toIndex(end, len) - , size = toLength(upTo - start) - , cloned = Array(size) - , i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i]; return cloned; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.some.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.some.js index fa1095ed..14c5eec2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.some.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.some.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $some = require('./_array-methods')(3); +var $export = require('./_export'); +var $some = require('./_array-methods')(3); $export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', { // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ + some: function some(callbackfn /* , thisArg */) { return $some(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.sort.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.sort.js index 7de1fe77..39817ffa 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.sort.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.sort.js @@ -1,23 +1,23 @@ 'use strict'; -var $export = require('./_export') - , aFunction = require('./_a-function') - , toObject = require('./_to-object') - , fails = require('./_fails') - , $sort = [].sort - , test = [1, 2, 3]; +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var toObject = require('./_to-object'); +var fails = require('./_fails'); +var $sort = [].sort; +var test = [1, 2, 3]; -$export($export.P + $export.F * (fails(function(){ +$export($export.P + $export.F * (fails(function () { // IE8- test.sort(undefined); -}) || !fails(function(){ +}) || !fails(function () { // V8 bug test.sort(null); // Old WebKit }) || !require('./_strict-method')($sort)), 'Array', { // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn){ + sort: function sort(comparefn) { return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.species.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.species.js index d63c738f..ce0b8917 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.array.species.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.array.species.js @@ -1 +1 @@ -require('./_set-species')('Array'); \ No newline at end of file +require('./_set-species')('Array'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.date.now.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.date.now.js index c3ee5fd7..65f134e5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.date.now.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.date.now.js @@ -1,4 +1,4 @@ // 20.3.3.1 / 15.9.4.4 Date.now() var $export = require('./_export'); -$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }}); \ No newline at end of file +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-iso-string.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-iso-string.js index 2426c589..13b27818 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-iso-string.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-iso-string.js @@ -1,28 +1,8 @@ -'use strict'; // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() -var $export = require('./_export') - , fails = require('./_fails') - , getTime = Date.prototype.getTime; - -var lz = function(num){ - return num > 9 ? num : '0' + num; -}; +var $export = require('./_export'); +var toISOString = require('./_date-to-iso-string'); // PhantomJS / old WebKit has a broken implementations -$export($export.P + $export.F * (fails(function(){ - return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; -}) || !fails(function(){ - new Date(NaN).toISOString(); -})), 'Date', { - toISOString: function toISOString(){ - if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value'); - var d = this - , y = d.getUTCFullYear() - , m = d.getUTCMilliseconds() - , s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + - '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + - 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + - ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; - } -}); \ No newline at end of file +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-json.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-json.js index eb419d03..69b1f301 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-json.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.date.to-json.js @@ -1,14 +1,19 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , toPrimitive = require('./_to-primitive'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); +var toISOString = require('./_date-to-iso-string'); +var classof = require('./_classof'); -$export($export.P + $export.F * require('./_fails')(function(){ - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1; +$export($export.P + $export.F * require('./_fails')(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; }), 'Date', { - toJSON: function toJSON(key){ - var O = toObject(this) - , pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : + (!('toISOString' in O) && classof(O) == 'Date') ? toISOString.call(O) : O.toISOString(); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.function.bind.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.function.bind.js index 85f10379..38e84e1a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.function.bind.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.function.bind.js @@ -1,4 +1,4 @@ // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) var $export = require('./_export'); -$export($export.P, 'Function', {bind: require('./_bind')}); \ No newline at end of file +$export($export.P, 'Function', { bind: require('./_bind') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.function.has-instance.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.function.has-instance.js index ae294b1f..7556ed9b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.function.has-instance.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.function.has-instance.js @@ -1,13 +1,13 @@ 'use strict'; -var isObject = require('./_is-object') - , getPrototypeOf = require('./_object-gpo') - , HAS_INSTANCE = require('./_wks')('hasInstance') - , FunctionProto = Function.prototype; +var isObject = require('./_is-object'); +var getPrototypeOf = require('./_object-gpo'); +var HAS_INSTANCE = require('./_wks')('hasInstance'); +var FunctionProto = Function.prototype; // 19.2.3.6 Function.prototype[@@hasInstance](V) -if(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){ - if(typeof this != 'function' || !isObject(O))return false; - if(!isObject(this.prototype))return O instanceof this; +if (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while(O = getPrototypeOf(O))if(this.prototype === O)return true; + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; return false; -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.map.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.map.js index a166430f..a282f022 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.map.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.map.js @@ -1,17 +1,19 @@ 'use strict'; var strong = require('./_collection-strong'); +var validate = require('./_validate-collection'); +var MAP = 'Map'; // 23.1 Map Objects -module.exports = require('./_collection')('Map', function(get){ - return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +module.exports = require('./_collection')(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.1.3.6 Map.prototype.get(key) - get: function get(key){ - var entry = strong.getEntry(this, key); + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); return entry && entry.v; }, // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value){ - return strong.def(this, key === 0 ? 0 : key, value); + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); } -}, strong, true); \ No newline at end of file +}, strong, true); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.acosh.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.acosh.js index 459f1199..8a8989eb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.acosh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.acosh.js @@ -1,18 +1,18 @@ // 20.2.2.3 Math.acosh(x) -var $export = require('./_export') - , log1p = require('./_math-log1p') - , sqrt = Math.sqrt - , $acosh = Math.acosh; +var $export = require('./_export'); +var log1p = require('./_math-log1p'); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; $export($export.S + $export.F * !($acosh // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN + // Tor Browser bug: Math.acosh(Infinity) -> NaN && $acosh(Infinity) == Infinity ), 'Math', { - acosh: function acosh(x){ + acosh: function acosh(x) { return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.asinh.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.asinh.js index e6a74abb..ddf46662 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.asinh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.asinh.js @@ -1,10 +1,10 @@ // 20.2.2.5 Math.asinh(x) -var $export = require('./_export') - , $asinh = Math.asinh; +var $export = require('./_export'); +var $asinh = Math.asinh; -function asinh(x){ +function asinh(x) { return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); } -// Tor Browser bug: Math.asinh(0) -> -0 -$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh}); \ No newline at end of file +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.atanh.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.atanh.js index 94575d9f..af3c3e80 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.atanh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.atanh.js @@ -1,10 +1,10 @@ // 20.2.2.7 Math.atanh(x) -var $export = require('./_export') - , $atanh = Math.atanh; +var $export = require('./_export'); +var $atanh = Math.atanh; -// Tor Browser bug: Math.atanh(-0) -> 0 +// Tor Browser bug: Math.atanh(-0) -> 0 $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x){ + atanh: function atanh(x) { return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cbrt.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cbrt.js index 7ca7daea..e45ac444 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cbrt.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cbrt.js @@ -1,9 +1,9 @@ // 20.2.2.9 Math.cbrt(x) -var $export = require('./_export') - , sign = require('./_math-sign'); +var $export = require('./_export'); +var sign = require('./_math-sign'); $export($export.S, 'Math', { - cbrt: function cbrt(x){ + cbrt: function cbrt(x) { return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.clz32.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.clz32.js index 1ec534bd..1e4d7e19 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.clz32.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.clz32.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - clz32: function clz32(x){ + clz32: function clz32(x) { return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cosh.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cosh.js index 4f2b2155..1e0cffc1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cosh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.cosh.js @@ -1,9 +1,9 @@ // 20.2.2.12 Math.cosh(x) -var $export = require('./_export') - , exp = Math.exp; +var $export = require('./_export'); +var exp = Math.exp; $export($export.S, 'Math', { - cosh: function cosh(x){ + cosh: function cosh(x) { return (exp(x = +x) + exp(-x)) / 2; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.expm1.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.expm1.js index 9762b7cd..da4c90df 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.expm1.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.expm1.js @@ -1,5 +1,5 @@ // 20.2.2.14 Math.expm1(x) -var $export = require('./_export') - , $expm1 = require('./_math-expm1'); +var $export = require('./_export'); +var $expm1 = require('./_math-expm1'); -$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1}); \ No newline at end of file +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.fround.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.fround.js index 01a88862..9c262f2e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.fround.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.fround.js @@ -1,26 +1,4 @@ // 20.2.2.16 Math.fround(x) -var $export = require('./_export') - , sign = require('./_math-sign') - , pow = Math.pow - , EPSILON = pow(2, -52) - , EPSILON32 = pow(2, -23) - , MAX32 = pow(2, 127) * (2 - EPSILON32) - , MIN32 = pow(2, -126); +var $export = require('./_export'); -var roundTiesToEven = function(n){ - return n + 1 / EPSILON - 1 / EPSILON; -}; - - -$export($export.S, 'Math', { - fround: function fround(x){ - var $abs = Math.abs(x) - , $sign = sign(x) - , a, result; - if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - if(result > MAX32 || result != result)return $sign * Infinity; - return $sign * result; - } -}); \ No newline at end of file +$export($export.S, 'Math', { fround: require('./_math-fround') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.hypot.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.hypot.js index 508521b6..41ffdb27 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.hypot.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.hypot.js @@ -1,25 +1,25 @@ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) -var $export = require('./_export') - , abs = Math.abs; +var $export = require('./_export'); +var abs = Math.abs; $export($export.S, 'Math', { - hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , aLen = arguments.length - , larg = 0 - , arg, div; - while(i < aLen){ + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { arg = abs(arguments[i++]); - if(larg < arg){ - div = larg / arg; - sum = sum * div * div + 1; + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; larg = arg; - } else if(arg > 0){ - div = arg / larg; + } else if (arg > 0) { + div = arg / larg; sum += div * div; } else sum += arg; } return larg === Infinity ? Infinity : larg * Math.sqrt(sum); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.imul.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.imul.js index 7f4111d2..96e683d2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.imul.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.imul.js @@ -1,17 +1,17 @@ // 20.2.2.18 Math.imul(x, y) -var $export = require('./_export') - , $imul = Math.imul; +var $export = require('./_export'); +var $imul = Math.imul; // some WebKit versions fails with big numbers, some has wrong arity -$export($export.S + $export.F * require('./_fails')(function(){ +$export($export.S + $export.F * require('./_fails')(function () { return $imul(0xffffffff, 5) != -5 || $imul.length != 2; }), 'Math', { - imul: function imul(x, y){ - var UINT16 = 0xffff - , xn = +x - , yn = +y - , xl = UINT16 & xn - , yl = UINT16 & yn; + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log10.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log10.js index 791dfc35..9ee8ae68 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log10.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log10.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - log10: function log10(x){ - return Math.log(x) / Math.LN10; + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log1p.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log1p.js index a1de0258..62959800 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log1p.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log1p.js @@ -1,4 +1,4 @@ // 20.2.2.20 Math.log1p(x) var $export = require('./_export'); -$export($export.S, 'Math', {log1p: require('./_math-log1p')}); \ No newline at end of file +$export($export.S, 'Math', { log1p: require('./_math-log1p') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log2.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log2.js index c4ba7819..03d127cb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log2.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.log2.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - log2: function log2(x){ + log2: function log2(x) { return Math.log(x) / Math.LN2; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sign.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sign.js index 5dbee6f6..981f69e5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sign.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sign.js @@ -1,4 +1,4 @@ // 20.2.2.28 Math.sign(x) var $export = require('./_export'); -$export($export.S, 'Math', {sign: require('./_math-sign')}); \ No newline at end of file +$export($export.S, 'Math', { sign: require('./_math-sign') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sinh.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sinh.js index 5464ae3e..57606333 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sinh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.sinh.js @@ -1,15 +1,15 @@ // 20.2.2.30 Math.sinh(x) -var $export = require('./_export') - , expm1 = require('./_math-expm1') - , exp = Math.exp; +var $export = require('./_export'); +var expm1 = require('./_math-expm1'); +var exp = Math.exp; // V8 near Chromium 38 has a problem with very small numbers -$export($export.S + $export.F * require('./_fails')(function(){ +$export($export.S + $export.F * require('./_fails')(function () { return !Math.sinh(-2e-17) != -2e-17; }), 'Math', { - sinh: function sinh(x){ + sinh: function sinh(x) { return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.tanh.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.tanh.js index d2f10778..0d3135b0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.tanh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.tanh.js @@ -1,12 +1,12 @@ // 20.2.2.33 Math.tanh(x) -var $export = require('./_export') - , expm1 = require('./_math-expm1') - , exp = Math.exp; +var $export = require('./_export'); +var expm1 = require('./_math-expm1'); +var exp = Math.exp; $export($export.S, 'Math', { - tanh: function tanh(x){ - var a = expm1(x = +x) - , b = expm1(-x); + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.trunc.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.trunc.js index 2e42563b..35ddb808 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.math.trunc.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.math.trunc.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - trunc: function trunc(it){ + trunc: function trunc(it) { return (it > 0 ? Math.floor : Math.ceil)(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.epsilon.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.epsilon.js index d25898cc..34a2ec5f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.epsilon.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.epsilon.js @@ -1,4 +1,4 @@ // 20.1.2.1 Number.EPSILON var $export = require('./_export'); -$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); \ No newline at end of file +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-finite.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-finite.js index c8c42753..8719da97 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-finite.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-finite.js @@ -1,9 +1,9 @@ // 20.1.2.2 Number.isFinite(number) -var $export = require('./_export') - , _isFinite = require('./_global').isFinite; +var $export = require('./_export'); +var _isFinite = require('./_global').isFinite; $export($export.S, 'Number', { - isFinite: function isFinite(it){ + isFinite: function isFinite(it) { return typeof it == 'number' && _isFinite(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-integer.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-integer.js index dc0f8f00..f1ab5dc4 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-integer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-integer.js @@ -1,4 +1,4 @@ // 20.1.2.3 Number.isInteger(number) var $export = require('./_export'); -$export($export.S, 'Number', {isInteger: require('./_is-integer')}); \ No newline at end of file +$export($export.S, 'Number', { isInteger: require('./_is-integer') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-nan.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-nan.js index 5fedf825..01d76ba2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-nan.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-nan.js @@ -2,7 +2,8 @@ var $export = require('./_export'); $export($export.S, 'Number', { - isNaN: function isNaN(number){ + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare return number != number; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-safe-integer.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-safe-integer.js index 92193e2e..004e7d16 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-safe-integer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.is-safe-integer.js @@ -1,10 +1,10 @@ // 20.1.2.5 Number.isSafeInteger(number) -var $export = require('./_export') - , isInteger = require('./_is-integer') - , abs = Math.abs; +var $export = require('./_export'); +var isInteger = require('./_is-integer'); +var abs = Math.abs; $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number){ + isSafeInteger: function isSafeInteger(number) { return isInteger(number) && abs(number) <= 0x1fffffffffffff; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.max-safe-integer.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.max-safe-integer.js index b9d7f2a7..a4f248f1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.max-safe-integer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.max-safe-integer.js @@ -1,4 +1,4 @@ // 20.1.2.6 Number.MAX_SAFE_INTEGER var $export = require('./_export'); -$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); \ No newline at end of file +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.min-safe-integer.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.min-safe-integer.js index 9a2beeb3..34df374b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.min-safe-integer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.min-safe-integer.js @@ -1,4 +1,4 @@ // 20.1.2.10 Number.MIN_SAFE_INTEGER var $export = require('./_export'); -$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); \ No newline at end of file +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-float.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-float.js index 7ee14da0..317c4310 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-float.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-float.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseFloat = require('./_parse-float'); +var $export = require('./_export'); +var $parseFloat = require('./_parse-float'); // 20.1.2.12 Number.parseFloat(string) -$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat}); \ No newline at end of file +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-int.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-int.js index 59bf1445..cb48da28 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-int.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.parse-int.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseInt = require('./_parse-int'); +var $export = require('./_export'); +var $parseInt = require('./_parse-int'); // 20.1.2.13 Number.parseInt(string, radix) -$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt}); \ No newline at end of file +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-fixed.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-fixed.js index c54970d6..2bf78af9 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-fixed.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-fixed.js @@ -1,54 +1,54 @@ 'use strict'; -var $export = require('./_export') - , toInteger = require('./_to-integer') - , aNumberValue = require('./_a-number-value') - , repeat = require('./_string-repeat') - , $toFixed = 1..toFixed - , floor = Math.floor - , data = [0, 0, 0, 0, 0, 0] - , ERROR = 'Number.toFixed: incorrect invocation!' - , ZERO = '0'; +var $export = require('./_export'); +var toInteger = require('./_to-integer'); +var aNumberValue = require('./_a-number-value'); +var repeat = require('./_string-repeat'); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; -var multiply = function(n, c){ - var i = -1 - , c2 = c; - while(++i < 6){ +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { c2 += n * data[i]; data[i] = c2 % 1e7; c2 = floor(c2 / 1e7); } }; -var divide = function(n){ - var i = 6 - , c = 0; - while(--i >= 0){ +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { c += data[i]; data[i] = floor(c / n); c = (c % n) * 1e7; } }; -var numToString = function(){ - var i = 6 - , s = ''; - while(--i >= 0){ - if(s !== '' || i === 0 || data[i] !== 0){ +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { var t = String(data[i]); s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; } } return s; }; -var pow = function(x, n, acc){ +var pow = function (x, n, acc) { return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); }; -var log = function(x){ - var n = 0 - , x2 = x; - while(x2 >= 4096){ +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { n += 12; x2 /= 4096; } - while(x2 >= 2){ - n += 1; + while (x2 >= 2) { + n += 1; x2 /= 2; } return n; }; @@ -57,39 +57,40 @@ $export($export.P + $export.F * (!!$toFixed && ( 0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || - 1000000000000000128..toFixed(0) !== '1000000000000000128' -) || !require('./_fails')(function(){ + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !require('./_fails')(function () { // V8 ~ Android 4.3- $toFixed.call({}); })), 'Number', { - toFixed: function toFixed(fractionDigits){ - var x = aNumberValue(this, ERROR) - , f = toInteger(fractionDigits) - , s = '' - , m = ZERO - , e, z, j, k; - if(f < 0 || f > 20)throw RangeError(ERROR); - if(x != x)return 'NaN'; - if(x <= -1e21 || x >= 1e21)return String(x); - if(x < 0){ + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { s = '-'; x = -x; } - if(x > 1e-21){ + if (x > 1e-21) { e = log(x * pow(2, 69, 1)) - 69; z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); z *= 0x10000000000000; e = 52 - e; - if(e > 0){ + if (e > 0) { multiply(0, z); j = f; - while(j >= 7){ + while (j >= 7) { multiply(1e7, 0); j -= 7; } multiply(pow(10, j, 1), 0); j = e - 1; - while(j >= 23){ + while (j >= 23) { divide(1 << 23); j -= 23; } @@ -103,11 +104,11 @@ $export($export.P + $export.F * (!!$toFixed && ( m = numToString() + repeat.call(ZERO, f); } } - if(f > 0){ + if (f > 0) { k = m.length; m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); } else { m = s + m; } return m; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-precision.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-precision.js index 903dacdf..0d92527f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-precision.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.number.to-precision.js @@ -1,18 +1,18 @@ 'use strict'; -var $export = require('./_export') - , $fails = require('./_fails') - , aNumberValue = require('./_a-number-value') - , $toPrecision = 1..toPrecision; +var $export = require('./_export'); +var $fails = require('./_fails'); +var aNumberValue = require('./_a-number-value'); +var $toPrecision = 1.0.toPrecision; -$export($export.P + $export.F * ($fails(function(){ +$export($export.P + $export.F * ($fails(function () { // IE7- return $toPrecision.call(1, undefined) !== '1'; -}) || !$fails(function(){ +}) || !$fails(function () { // V8 ~ Android 4.3- $toPrecision.call({}); })), 'Number', { - toPrecision: function toPrecision(precision){ + toPrecision: function toPrecision(precision) { var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.assign.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.assign.js index 13eda2cb..d28085a7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.assign.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.assign.js @@ -1,4 +1,4 @@ // 19.1.3.1 Object.assign(target, source) var $export = require('./_export'); -$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.create.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.create.js index 17e4b284..70627d69 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.create.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.create.js @@ -1,3 +1,3 @@ -var $export = require('./_export') +var $export = require('./_export'); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -$export($export.S, 'Object', {create: require('./_object-create')}); \ No newline at end of file +$export($export.S, 'Object', { create: require('./_object-create') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-properties.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-properties.js index 183eec6f..5ec34214 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-properties.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-properties.js @@ -1,3 +1,3 @@ var $export = require('./_export'); // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) -$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')}); \ No newline at end of file +$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-property.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-property.js index 71807cc0..12068582 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-property.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.define-property.js @@ -1,3 +1,3 @@ var $export = require('./_export'); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f}); \ No newline at end of file +$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.freeze.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.freeze.js index 34b51084..0856ce9d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.freeze.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.freeze.js @@ -1,9 +1,9 @@ // 19.1.2.5 Object.freeze(O) -var isObject = require('./_is-object') - , meta = require('./_meta').onFreeze; +var isObject = require('./_is-object'); +var meta = require('./_meta').onFreeze; -require('./_object-sap')('freeze', function($freeze){ - return function freeze(it){ +require('./_object-sap')('freeze', function ($freeze) { + return function freeze(it) { return $freeze && isObject(it) ? $freeze(meta(it)) : it; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js index 60c69913..9df21417 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js @@ -1,9 +1,9 @@ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) -var toIObject = require('./_to-iobject') - , $getOwnPropertyDescriptor = require('./_object-gopd').f; +var toIObject = require('./_to-iobject'); +var $getOwnPropertyDescriptor = require('./_object-gopd').f; -require('./_object-sap')('getOwnPropertyDescriptor', function(){ - return function getOwnPropertyDescriptor(it, key){ +require('./_object-sap')('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { return $getOwnPropertyDescriptor(toIObject(it), key); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-names.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-names.js index 91dd110d..172f51c7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-names.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-own-property-names.js @@ -1,4 +1,4 @@ // 19.1.2.7 Object.getOwnPropertyNames(O) -require('./_object-sap')('getOwnPropertyNames', function(){ +require('./_object-sap')('getOwnPropertyNames', function () { return require('./_object-gopn-ext').f; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-prototype-of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-prototype-of.js index b124e28f..8fe2728c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.get-prototype-of.js @@ -1,9 +1,9 @@ // 19.1.2.9 Object.getPrototypeOf(O) -var toObject = require('./_to-object') - , $getPrototypeOf = require('./_object-gpo'); +var toObject = require('./_to-object'); +var $getPrototypeOf = require('./_object-gpo'); -require('./_object-sap')('getPrototypeOf', function(){ - return function getPrototypeOf(it){ +require('./_object-sap')('getPrototypeOf', function () { + return function getPrototypeOf(it) { return $getPrototypeOf(toObject(it)); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-extensible.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-extensible.js index 94bf8a81..5cd4575a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-extensible.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-extensible.js @@ -1,8 +1,8 @@ // 19.1.2.11 Object.isExtensible(O) var isObject = require('./_is-object'); -require('./_object-sap')('isExtensible', function($isExtensible){ - return function isExtensible(it){ +require('./_object-sap')('isExtensible', function ($isExtensible) { + return function isExtensible(it) { return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-frozen.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-frozen.js index 4bdfd11b..0ceeabbb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-frozen.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-frozen.js @@ -1,8 +1,8 @@ // 19.1.2.12 Object.isFrozen(O) var isObject = require('./_is-object'); -require('./_object-sap')('isFrozen', function($isFrozen){ - return function isFrozen(it){ +require('./_object-sap')('isFrozen', function ($isFrozen) { + return function isFrozen(it) { return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-sealed.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-sealed.js index d13aa1b0..7fa8dded 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-sealed.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is-sealed.js @@ -1,8 +1,8 @@ // 19.1.2.13 Object.isSealed(O) var isObject = require('./_is-object'); -require('./_object-sap')('isSealed', function($isSealed){ - return function isSealed(it){ +require('./_object-sap')('isSealed', function ($isSealed) { + return function isSealed(it) { return isObject(it) ? $isSealed ? $isSealed(it) : false : true; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is.js index ad299425..204d7030 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.is.js @@ -1,3 +1,3 @@ // 19.1.3.10 Object.is(value1, value2) var $export = require('./_export'); -$export($export.S, 'Object', {is: require('./_same-value')}); \ No newline at end of file +$export($export.S, 'Object', { is: require('./_same-value') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.keys.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.keys.js index bf76c07d..e9dade7d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.keys.js @@ -1,9 +1,9 @@ // 19.1.2.14 Object.keys(O) -var toObject = require('./_to-object') - , $keys = require('./_object-keys'); +var toObject = require('./_to-object'); +var $keys = require('./_object-keys'); -require('./_object-sap')('keys', function(){ - return function keys(it){ +require('./_object-sap')('keys', function () { + return function keys(it) { return $keys(toObject(it)); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.prevent-extensions.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.prevent-extensions.js index adaff7a7..2f729181 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.prevent-extensions.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.prevent-extensions.js @@ -1,9 +1,9 @@ // 19.1.2.15 Object.preventExtensions(O) -var isObject = require('./_is-object') - , meta = require('./_meta').onFreeze; +var isObject = require('./_is-object'); +var meta = require('./_meta').onFreeze; -require('./_object-sap')('preventExtensions', function($preventExtensions){ - return function preventExtensions(it){ +require('./_object-sap')('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.seal.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.seal.js index d7e4ea95..12c3f6a3 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.seal.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.seal.js @@ -1,9 +1,9 @@ // 19.1.2.17 Object.seal(O) -var isObject = require('./_is-object') - , meta = require('./_meta').onFreeze; +var isObject = require('./_is-object'); +var meta = require('./_meta').onFreeze; -require('./_object-sap')('seal', function($seal){ - return function seal(it){ +require('./_object-sap')('seal', function ($seal) { + return function seal(it) { return $seal && isObject(it) ? $seal(meta(it)) : it; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.set-prototype-of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.set-prototype-of.js index 5bbe4c06..461dbd2e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.object.set-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.object.set-prototype-of.js @@ -1,3 +1,3 @@ // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = require('./_export'); -$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set}); \ No newline at end of file +$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-float.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-float.js index 5201712b..cbf50ead 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-float.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-float.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseFloat = require('./_parse-float'); +var $export = require('./_export'); +var $parseFloat = require('./_parse-float'); // 18.2.4 parseFloat(string) -$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat}); \ No newline at end of file +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-int.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-int.js index 5a2bfaff..7ea358e8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-int.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.parse-int.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseInt = require('./_parse-int'); +var $export = require('./_export'); +var $parseInt = require('./_parse-int'); // 18.2.5 parseInt(string, radix) -$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt}); \ No newline at end of file +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.promise.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.promise.js index 262a93af..b0ff3bfc 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.promise.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.promise.js @@ -1,172 +1,158 @@ 'use strict'; -var LIBRARY = require('./_library') - , global = require('./_global') - , ctx = require('./_ctx') - , classof = require('./_classof') - , $export = require('./_export') - , isObject = require('./_is-object') - , aFunction = require('./_a-function') - , anInstance = require('./_an-instance') - , forOf = require('./_for-of') - , speciesConstructor = require('./_species-constructor') - , task = require('./_task').set - , microtask = require('./_microtask')() - , PROMISE = 'Promise' - , TypeError = global.TypeError - , process = global.process - , $Promise = global[PROMISE] - , process = global.process - , isNode = classof(process) == 'process' - , empty = function(){ /* empty */ } - , Internal, GenericPromiseCapability, Wrapper; +var LIBRARY = require('./_library'); +var global = require('./_global'); +var ctx = require('./_ctx'); +var classof = require('./_classof'); +var $export = require('./_export'); +var isObject = require('./_is-object'); +var aFunction = require('./_a-function'); +var anInstance = require('./_an-instance'); +var forOf = require('./_for-of'); +var speciesConstructor = require('./_species-constructor'); +var task = require('./_task').set; +var microtask = require('./_microtask')(); +var newPromiseCapabilityModule = require('./_new-promise-capability'); +var perform = require('./_perform'); +var userAgent = require('./_user-agent'); +var promiseResolve = require('./_promise-resolve'); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; -var USE_NATIVE = !!function(){ +var USE_NATIVE = !!function () { try { // correct subclassing with @@species support - var promise = $Promise.resolve(1) - , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); }; + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) { + exec(empty, empty); + }; // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; - } catch(e){ /* empty */ } + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } }(); // helpers -var sameConstructor = function(a, b){ - // with library wrapper special case - return a === b || a === $Promise && b === Wrapper; -}; -var isThenable = function(it){ +var isThenable = function (it) { var then; return isObject(it) && typeof (then = it.then) == 'function' ? then : false; }; -var newPromiseCapability = function(C){ - return sameConstructor($Promise, C) - ? new PromiseCapability(C) - : new GenericPromiseCapability(C); -}; -var PromiseCapability = GenericPromiseCapability = function(C){ - var resolve, reject; - this.promise = new C(function($$resolve, $$reject){ - if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -}; -var perform = function(exec){ - try { - exec(); - } catch(e){ - return {error: e}; - } -}; -var notify = function(promise, isReject){ - if(promise._n)return; +var notify = function (promise, isReject) { + if (promise._n) return; promise._n = true; var chain = promise._c; - microtask(function(){ - var value = promise._v - , ok = promise._s == 1 - , i = 0; - var run = function(reaction){ - var handler = ok ? reaction.ok : reaction.fail - , resolve = reaction.resolve - , reject = reaction.reject - , domain = reaction.domain - , result, then; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; try { - if(handler){ - if(!ok){ - if(promise._h == 2)onHandleUnhandled(promise); + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); promise._h = 1; } - if(handler === true)result = value; + if (handler === true) result = value; else { - if(domain)domain.enter(); - result = handler(value); - if(domain)domain.exit(); + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } } - if(result === reaction.promise){ + if (result === reaction.promise) { reject(TypeError('Promise-chain cycle')); - } else if(then = isThenable(result)){ + } else if (then = isThenable(result)) { then.call(result, resolve, reject); } else resolve(result); } else reject(value); - } catch(e){ + } catch (e) { + if (domain && !exited) domain.exit(); reject(e); } }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach promise._c = []; promise._n = false; - if(isReject && !promise._h)onUnhandled(promise); + if (isReject && !promise._h) onUnhandled(promise); }); }; -var onUnhandled = function(promise){ - task.call(global, function(){ - var value = promise._v - , abrupt, handler, console; - if(isUnhandled(promise)){ - abrupt = perform(function(){ - if(isNode){ +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { process.emit('unhandledRejection', value, promise); - } else if(handler = global.onunhandledrejection){ - handler({promise: promise, reason: value}); - } else if((console = global.console) && console.error){ + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { console.error('Unhandled promise rejection', value); } }); // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should promise._h = isNode || isUnhandled(promise) ? 2 : 1; } promise._a = undefined; - if(abrupt)throw abrupt.error; + if (unhandled && result.e) throw result.v; }); }; -var isUnhandled = function(promise){ - if(promise._h == 1)return false; - var chain = promise._a || promise._c - , i = 0 - , reaction; - while(chain.length > i){ - reaction = chain[i++]; - if(reaction.fail || !isUnhandled(reaction.promise))return false; - } return true; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; }; -var onHandleUnhandled = function(promise){ - task.call(global, function(){ +var onHandleUnhandled = function (promise) { + task.call(global, function () { var handler; - if(isNode){ + if (isNode) { process.emit('rejectionHandled', promise); - } else if(handler = global.onrejectionhandled){ - handler({promise: promise, reason: promise._v}); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); } }); }; -var $reject = function(value){ +var $reject = function (value) { var promise = this; - if(promise._d)return; + if (promise._d) return; promise._d = true; promise = promise._w || promise; // unwrap promise._v = value; promise._s = 2; - if(!promise._a)promise._a = promise._c.slice(); + if (!promise._a) promise._a = promise._c.slice(); notify(promise, true); }; -var $resolve = function(value){ - var promise = this - , then; - if(promise._d)return; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; promise._d = true; promise = promise._w || promise; // unwrap try { - if(promise === value)throw TypeError("Promise can't be resolved itself"); - if(then = isThenable(value)){ - microtask(function(){ - var wrapper = {_w: promise, _d: false}; // wrap + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap try { then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch(e){ + } catch (e) { $reject.call(wrapper, e); } }); @@ -175,25 +161,26 @@ var $resolve = function(value){ promise._s = 1; notify(promise, false); } - } catch(e){ - $reject.call({_w: promise, _d: false}, e); // wrap + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap } }; // constructor polyfill -if(!USE_NATIVE){ +if (!USE_NATIVE) { // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor){ + $Promise = function Promise(executor) { anInstance(this, $Promise, PROMISE, '_h'); aFunction(executor); Internal.call(this); try { executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch(err){ + } catch (err) { $reject.call(this, err); } }; - Internal = function Promise(executor){ + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { this._c = []; // <- awaiting reactions this._a = undefined; // <- checked in isUnhandled reactions this._s = 0; // <- state @@ -204,30 +191,35 @@ if(!USE_NATIVE){ }; Internal.prototype = require('./_redefine-all')($Promise.prototype, { // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected){ - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; reaction.domain = isNode ? process.domain : undefined; this._c.push(reaction); - if(this._a)this._a.push(reaction); - if(this._s)notify(this, false); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); return reaction.promise; }, // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected){ + 'catch': function (onRejected) { return this.then(undefined, onRejected); } }); - PromiseCapability = function(){ - var promise = new Internal; + OwnPromiseCapability = function () { + var promise = new Internal(); this.promise = promise; this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); }; } -$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise}); +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); require('./_set-to-string-tag')($Promise, PROMISE); require('./_set-species')(PROMISE); Wrapper = require('./_core')[PROMISE]; @@ -235,65 +227,60 @@ Wrapper = require('./_core')[PROMISE]; // statics $export($export.S + $export.F * !USE_NATIVE, PROMISE, { // 25.4.4.5 Promise.reject(r) - reject: function reject(r){ - var capability = newPromiseCapability(this) - , $$reject = capability.reject; + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; $$reject(r); return capability.promise; } }); $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x){ - // instanceof instead of internal slot check because we should fix it without replacement native Promise core - if(x instanceof $Promise && sameConstructor(x.constructor, this))return x; - var capability = newPromiseCapability(this) - , $$resolve = capability.resolve; - $$resolve(x); - return capability.promise; + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); } }); -$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){ +$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) { $Promise.all(iter)['catch'](empty); })), PROMISE, { // 25.4.4.1 Promise.all(iterable) - all: function all(iterable){ - var C = this - , capability = newPromiseCapability(C) - , resolve = capability.resolve - , reject = capability.reject; - var abrupt = perform(function(){ - var values = [] - , index = 0 - , remaining = 1; - forOf(iterable, false, function(promise){ - var $index = index++ - , alreadyCalled = false; + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; values.push(undefined); remaining++; - C.resolve(promise).then(function(value){ - if(alreadyCalled)return; - alreadyCalled = true; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; values[$index] = value; --remaining || resolve(values); }, reject); }); --remaining || resolve(values); }); - if(abrupt)reject(abrupt.error); + if (result.e) reject(result.v); return capability.promise; }, // 25.4.4.4 Promise.race(iterable) - race: function race(iterable){ - var C = this - , capability = newPromiseCapability(C) - , reject = capability.reject; - var abrupt = perform(function(){ - forOf(iterable, false, function(promise){ + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { C.resolve(promise).then(capability.resolve, reject); }); }); - if(abrupt)reject(abrupt.error); + if (result.e) reject(result.v); return capability.promise; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.apply.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.apply.js index 24ea80f5..3b9c03a9 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.apply.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.apply.js @@ -1,16 +1,16 @@ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) -var $export = require('./_export') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , rApply = (require('./_global').Reflect || {}).apply - , fApply = Function.apply; +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var rApply = (require('./_global').Reflect || {}).apply; +var fApply = Function.apply; // MS Edge argumentsList argument is optional -$export($export.S + $export.F * !require('./_fails')(function(){ - rApply(function(){}); +$export($export.S + $export.F * !require('./_fails')(function () { + rApply(function () { /* empty */ }); }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.construct.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.construct.js index 96483d70..380addb5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.construct.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.construct.js @@ -1,33 +1,33 @@ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) -var $export = require('./_export') - , create = require('./_object-create') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , isObject = require('./_is-object') - , fails = require('./_fails') - , bind = require('./_bind') - , rConstruct = (require('./_global').Reflect || {}).construct; +var $export = require('./_export'); +var create = require('./_object-create'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var bind = require('./_bind'); +var rConstruct = (require('./_global').Reflect || {}).construct; // MS Edge supports only 2 arguments and argumentsList argument is optional // FF Nightly sets third argument as `new.target`, but does not create `this` from it -var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); }); -var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); }); $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ + construct: function construct(Target, args /* , newTarget */) { aFunction(Target); anObject(args); var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - if(Target == newTarget){ + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: return new Target; + switch (args.length) { + case 0: return new Target(); case 1: return new Target(args[0]); case 2: return new Target(args[0], args[1]); case 3: return new Target(args[0], args[1], args[2]); @@ -36,12 +36,12 @@ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { // w/o altered newTarget, lot of arguments case var $args = [null]; $args.push.apply($args, args); - return new (bind.apply(Target, $args)); + return new (bind.apply(Target, $args))(); } // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); return isObject(result) ? result : instance; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.define-property.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.define-property.js index 485d43c4..be7fbde6 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.define-property.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.define-property.js @@ -1,22 +1,23 @@ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) -var dP = require('./_object-dp') - , $export = require('./_export') - , anObject = require('./_an-object') - , toPrimitive = require('./_to-primitive'); +var dP = require('./_object-dp'); +var $export = require('./_export'); +var anObject = require('./_an-object'); +var toPrimitive = require('./_to-primitive'); // MS Edge has broken Reflect.defineProperty - throwing instead of returning false -$export($export.S + $export.F * require('./_fails')(function(){ - Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); +$export($export.S + $export.F * require('./_fails')(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes){ + defineProperty: function defineProperty(target, propertyKey, attributes) { anObject(target); propertyKey = toPrimitive(propertyKey, true); anObject(attributes); try { dP.f(target, propertyKey, attributes); return true; - } catch(e){ + } catch (e) { return false; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.delete-property.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.delete-property.js index 4e8ce207..0902b38a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.delete-property.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.delete-property.js @@ -1,11 +1,11 @@ // 26.1.4 Reflect.deleteProperty(target, propertyKey) -var $export = require('./_export') - , gOPD = require('./_object-gopd').f - , anObject = require('./_an-object'); +var $export = require('./_export'); +var gOPD = require('./_object-gopd').f; +var anObject = require('./_an-object'); $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey){ + deleteProperty: function deleteProperty(target, propertyKey) { var desc = gOPD(anObject(target), propertyKey); return desc && !desc.configurable ? false : delete target[propertyKey]; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.enumerate.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.enumerate.js index abdb132d..9e7c76a3 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.enumerate.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.enumerate.js @@ -1,26 +1,26 @@ 'use strict'; // 26.1.5 Reflect.enumerate(target) -var $export = require('./_export') - , anObject = require('./_an-object'); -var Enumerate = function(iterated){ +var $export = require('./_export'); +var anObject = require('./_an-object'); +var Enumerate = function (iterated) { this._t = anObject(iterated); // target this._i = 0; // next index - var keys = this._k = [] // keys - , key; - for(key in iterated)keys.push(key); + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); }; -require('./_iter-create')(Enumerate, 'Object', function(){ - var that = this - , keys = that._k - , key; +require('./_iter-create')(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; do { - if(that._i >= keys.length)return {value: undefined, done: true}; - } while(!((key = keys[that._i++]) in that._t)); - return {value: key, done: false}; + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; }); $export($export.S, 'Reflect', { - enumerate: function enumerate(target){ + enumerate: function enumerate(target) { return new Enumerate(target); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js index 741a13eb..e1299f90 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js @@ -1,10 +1,10 @@ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) -var gOPD = require('./_object-gopd') - , $export = require('./_export') - , anObject = require('./_an-object'); +var gOPD = require('./_object-gopd'); +var $export = require('./_export'); +var anObject = require('./_an-object'); $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { return gOPD.f(anObject(target), propertyKey); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js index 4f912d10..28351d41 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js @@ -1,10 +1,10 @@ // 26.1.8 Reflect.getPrototypeOf(target) -var $export = require('./_export') - , getProto = require('./_object-gpo') - , anObject = require('./_an-object'); +var $export = require('./_export'); +var getProto = require('./_object-gpo'); +var anObject = require('./_an-object'); $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target){ + getPrototypeOf: function getPrototypeOf(target) { return getProto(anObject(target)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get.js index f8c39f50..a7ee7666 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.get.js @@ -1,21 +1,21 @@ // 26.1.6 Reflect.get(target, propertyKey [, receiver]) -var gOPD = require('./_object-gopd') - , getPrototypeOf = require('./_object-gpo') - , has = require('./_has') - , $export = require('./_export') - , isObject = require('./_is-object') - , anObject = require('./_an-object'); +var gOPD = require('./_object-gopd'); +var getPrototypeOf = require('./_object-gpo'); +var has = require('./_has'); +var $export = require('./_export'); +var isObject = require('./_is-object'); +var anObject = require('./_an-object'); -function get(target, propertyKey/*, receiver*/){ - var receiver = arguments.length < 3 ? target : arguments[2] - , desc, proto; - if(anObject(target) === receiver)return target[propertyKey]; - if(desc = gOPD.f(target, propertyKey))return has(desc, 'value') +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined; - if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver); + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); } -$export($export.S, 'Reflect', {get: get}); \ No newline at end of file +$export($export.S, 'Reflect', { get: get }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.has.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.has.js index bbb6dbcd..4f5efa99 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.has.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.has.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Reflect', { - has: function has(target, propertyKey){ + has: function has(target, propertyKey) { return propertyKey in target; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.is-extensible.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.is-extensible.js index ffbc2848..700f938a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.is-extensible.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.is-extensible.js @@ -1,11 +1,11 @@ // 26.1.10 Reflect.isExtensible(target) -var $export = require('./_export') - , anObject = require('./_an-object') - , $isExtensible = Object.isExtensible; +var $export = require('./_export'); +var anObject = require('./_an-object'); +var $isExtensible = Object.isExtensible; $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target){ + isExtensible: function isExtensible(target) { anObject(target); return $isExtensible ? $isExtensible(target) : true; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.own-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.own-keys.js index a1e5330c..9f2424ae 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.own-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.own-keys.js @@ -1,4 +1,4 @@ // 26.1.11 Reflect.ownKeys(target) var $export = require('./_export'); -$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')}); \ No newline at end of file +$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js index d3dad8ee..e1037fa1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js @@ -1,16 +1,16 @@ // 26.1.12 Reflect.preventExtensions(target) -var $export = require('./_export') - , anObject = require('./_an-object') - , $preventExtensions = Object.preventExtensions; +var $export = require('./_export'); +var anObject = require('./_an-object'); +var $preventExtensions = Object.preventExtensions; $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target){ + preventExtensions: function preventExtensions(target) { anObject(target); try { - if($preventExtensions)$preventExtensions(target); + if ($preventExtensions) $preventExtensions(target); return true; - } catch(e){ + } catch (e) { return false; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js index b79d9b61..5dae9012 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js @@ -1,15 +1,15 @@ // 26.1.14 Reflect.setPrototypeOf(target, proto) -var $export = require('./_export') - , setProto = require('./_set-proto'); +var $export = require('./_export'); +var setProto = require('./_set-proto'); -if(setProto)$export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto){ +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { setProto.check(target, proto); try { setProto.set(target, proto); return true; - } catch(e){ + } catch (e) { return false; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set.js index c6b916a2..d809d7a4 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.reflect.set.js @@ -1,31 +1,33 @@ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) -var dP = require('./_object-dp') - , gOPD = require('./_object-gopd') - , getPrototypeOf = require('./_object-gpo') - , has = require('./_has') - , $export = require('./_export') - , createDesc = require('./_property-desc') - , anObject = require('./_an-object') - , isObject = require('./_is-object'); +var dP = require('./_object-dp'); +var gOPD = require('./_object-gopd'); +var getPrototypeOf = require('./_object-gpo'); +var has = require('./_has'); +var $export = require('./_export'); +var createDesc = require('./_property-desc'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); -function set(target, propertyKey, V/*, receiver*/){ - var receiver = arguments.length < 4 ? target : arguments[3] - , ownDesc = gOPD.f(anObject(target), propertyKey) - , existingDescriptor, proto; - if(!ownDesc){ - if(isObject(proto = getPrototypeOf(target))){ +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { return set(proto, propertyKey, V, receiver); } ownDesc = createDesc(0); } - if(has(ownDesc, 'value')){ - if(ownDesc.writable === false || !isObject(receiver))return false; - existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); return true; } return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); } -$export($export.S, 'Reflect', {set: set}); \ No newline at end of file +$export($export.S, 'Reflect', { set: set }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.regexp.constructor.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.regexp.constructor.js index 7313c52b..e85e3141 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.regexp.constructor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.regexp.constructor.js @@ -1 +1 @@ -require('./_set-species')('RegExp'); \ No newline at end of file +require('./_set-species')('RegExp'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.set.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.set.js index a1880881..55b8bdd8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.set.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.set.js @@ -1,12 +1,14 @@ 'use strict'; var strong = require('./_collection-strong'); +var validate = require('./_validate-collection'); +var SET = 'Set'; // 23.2 Set Objects -module.exports = require('./_collection')('Set', function(get){ - return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +module.exports = require('./_collection')(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); } -}, strong); \ No newline at end of file +}, strong); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.anchor.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.anchor.js index 65db2521..3493e54c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.anchor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.anchor.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.2 String.prototype.anchor(name) -require('./_string-html')('anchor', function(createHTML){ - return function anchor(name){ +require('./_string-html')('anchor', function (createHTML) { + return function anchor(name) { return createHTML(this, 'a', 'name', name); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.big.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.big.js index aeeb1aba..38aab341 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.big.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.big.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.3 String.prototype.big() -require('./_string-html')('big', function(createHTML){ - return function big(){ +require('./_string-html')('big', function (createHTML) { + return function big() { return createHTML(this, 'big', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.blink.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.blink.js index aef8da2e..6188d96e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.blink.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.blink.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.4 String.prototype.blink() -require('./_string-html')('blink', function(createHTML){ - return function blink(){ +require('./_string-html')('blink', function (createHTML) { + return function blink() { return createHTML(this, 'blink', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.bold.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.bold.js index 022cdb07..ff3ecb9c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.bold.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.bold.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.5 String.prototype.bold() -require('./_string-html')('bold', function(createHTML){ - return function bold(){ +require('./_string-html')('bold', function (createHTML) { + return function bold() { return createHTML(this, 'b', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.code-point-at.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.code-point-at.js index cf544652..e39b8c5e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.code-point-at.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.code-point-at.js @@ -1,9 +1,9 @@ 'use strict'; -var $export = require('./_export') - , $at = require('./_string-at')(false); +var $export = require('./_export'); +var $at = require('./_string-at')(false); $export($export.P, 'String', { // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos){ + codePointAt: function codePointAt(pos) { return $at(this, pos); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.ends-with.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.ends-with.js index 80baed9a..06568888 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.ends-with.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.ends-with.js @@ -1,20 +1,20 @@ // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) 'use strict'; -var $export = require('./_export') - , toLength = require('./_to-length') - , context = require('./_string-context') - , ENDS_WITH = 'endsWith' - , $endsWith = ''[ENDS_WITH]; +var $export = require('./_export'); +var toLength = require('./_to-length'); +var context = require('./_string-context'); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; $export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, ENDS_WITH) - , endPosition = arguments.length > 1 ? arguments[1] : undefined - , len = toLength(that.length) - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) - , search = String(searchString); + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fixed.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fixed.js index d017e202..d4a60f37 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fixed.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fixed.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.6 String.prototype.fixed() -require('./_string-html')('fixed', function(createHTML){ - return function fixed(){ +require('./_string-html')('fixed', function (createHTML) { + return function fixed() { return createHTML(this, 'tt', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontcolor.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontcolor.js index d40711f0..f7b95957 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontcolor.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontcolor.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.7 String.prototype.fontcolor(color) -require('./_string-html')('fontcolor', function(createHTML){ - return function fontcolor(color){ +require('./_string-html')('fontcolor', function (createHTML) { + return function fontcolor(color) { return createHTML(this, 'font', 'color', color); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontsize.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontsize.js index ba3ff980..f4cc20ae 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontsize.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.fontsize.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.8 String.prototype.fontsize(size) -require('./_string-html')('fontsize', function(createHTML){ - return function fontsize(size){ +require('./_string-html')('fontsize', function (createHTML) { + return function fontsize(size) { return createHTML(this, 'font', 'size', size); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.from-code-point.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.from-code-point.js index c8776d87..bece66e2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.from-code-point.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.from-code-point.js @@ -1,23 +1,23 @@ -var $export = require('./_export') - , toIndex = require('./_to-index') - , fromCharCode = String.fromCharCode - , $fromCodePoint = String.fromCodePoint; +var $export = require('./_export'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; // length should be 1, old FF problem $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , aLen = arguments.length - , i = 0 - , code; - while(aLen > i){ + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { code = +arguments[i++]; - if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) ); } return res.join(''); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.includes.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.includes.js index c6b4ee2f..28d17416 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.includes.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.includes.js @@ -1,12 +1,12 @@ // 21.1.3.7 String.prototype.includes(searchString, position = 0) 'use strict'; -var $export = require('./_export') - , context = require('./_string-context') - , INCLUDES = 'includes'; +var $export = require('./_export'); +var context = require('./_string-context'); +var INCLUDES = 'includes'; $export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', { - includes: function includes(searchString /*, position = 0 */){ + includes: function includes(searchString /* , position = 0 */) { return !!~context(this, searchString, INCLUDES) .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.italics.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.italics.js index d33efd3c..ed4cc3bf 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.italics.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.italics.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.9 String.prototype.italics() -require('./_string-html')('italics', function(createHTML){ - return function italics(){ +require('./_string-html')('italics', function (createHTML) { + return function italics() { return createHTML(this, 'i', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.iterator.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.iterator.js index ac391ee4..5d84c7fd 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.iterator.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.iterator.js @@ -1,17 +1,17 @@ 'use strict'; -var $at = require('./_string-at')(true); +var $at = require('./_string-at')(true); // 21.1.3.27 String.prototype[@@iterator]() -require('./_iter-define')(String, 'String', function(iterated){ +require('./_iter-define')(String, 'String', function (iterated) { this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() -}, function(){ - var O = this._t - , index = this._i - , point; - if(index >= O.length)return {value: undefined, done: true}; +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; point = $at(O, index); this._i += point.length; - return {value: point, done: false}; -}); \ No newline at end of file + return { value: point, done: false }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.link.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.link.js index 6a75c18a..d0255edd 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.link.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.link.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.10 String.prototype.link(url) -require('./_string-html')('link', function(createHTML){ - return function link(url){ +require('./_string-html')('link', function (createHTML) { + return function link(url) { return createHTML(this, 'a', 'href', url); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.raw.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.raw.js index 1016acfa..aa40ff6f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.raw.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.raw.js @@ -1,18 +1,18 @@ -var $export = require('./_export') - , toIObject = require('./_to-iobject') - , toLength = require('./_to-length'); +var $export = require('./_export'); +var toIObject = require('./_to-iobject'); +var toLength = require('./_to-length'); $export($export.S, 'String', { // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , aLen = arguments.length - , res = [] - , i = 0; - while(len > i){ + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { res.push(String(tpl[i++])); - if(i < aLen)res.push(String(arguments[i])); + if (i < aLen) res.push(String(arguments[i])); } return res.join(''); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.repeat.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.repeat.js index a054222d..08412d91 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.repeat.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.repeat.js @@ -3,4 +3,4 @@ var $export = require('./_export'); $export($export.P, 'String', { // 21.1.3.13 String.prototype.repeat(count) repeat: require('./_string-repeat') -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.small.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.small.js index 51b1b30d..941e4a76 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.small.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.small.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.11 String.prototype.small() -require('./_string-html')('small', function(createHTML){ - return function small(){ +require('./_string-html')('small', function (createHTML) { + return function small() { return createHTML(this, 'small', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.starts-with.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.starts-with.js index 017805f0..c1723767 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.starts-with.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.starts-with.js @@ -1,18 +1,18 @@ // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) 'use strict'; -var $export = require('./_export') - , toLength = require('./_to-length') - , context = require('./_string-context') - , STARTS_WITH = 'startsWith' - , $startsWith = ''[STARTS_WITH]; +var $export = require('./_export'); +var toLength = require('./_to-length'); +var context = require('./_string-context'); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; $export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, STARTS_WITH) - , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)) - , search = String(searchString); + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.strike.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.strike.js index c6287d3a..66055bc0 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.strike.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.strike.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.12 String.prototype.strike() -require('./_string-html')('strike', function(createHTML){ - return function strike(){ +require('./_string-html')('strike', function (createHTML) { + return function strike() { return createHTML(this, 'strike', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sub.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sub.js index ee18ea7a..e295a27b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sub.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sub.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.13 String.prototype.sub() -require('./_string-html')('sub', function(createHTML){ - return function sub(){ +require('./_string-html')('sub', function (createHTML) { + return function sub() { return createHTML(this, 'sub', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sup.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sup.js index a3429988..125a989a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sup.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.sup.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.14 String.prototype.sup() -require('./_string-html')('sup', function(createHTML){ - return function sup(){ +require('./_string-html')('sup', function (createHTML) { + return function sup() { return createHTML(this, 'sup', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.trim.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.trim.js index 35f0fb0b..02b8a6c6 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.string.trim.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.string.trim.js @@ -1,7 +1,7 @@ 'use strict'; // 21.1.3.25 String.prototype.trim() -require('./_string-trim')('trim', function($trim){ - return function trim(){ +require('./_string-trim')('trim', function ($trim) { + return function trim() { return $trim(this, 3); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.symbol.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.symbol.js index eae491c5..5bf7c488 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.symbol.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.symbol.js @@ -1,188 +1,188 @@ 'use strict'; // ECMAScript 6 symbols shim -var global = require('./_global') - , has = require('./_has') - , DESCRIPTORS = require('./_descriptors') - , $export = require('./_export') - , redefine = require('./_redefine') - , META = require('./_meta').KEY - , $fails = require('./_fails') - , shared = require('./_shared') - , setToStringTag = require('./_set-to-string-tag') - , uid = require('./_uid') - , wks = require('./_wks') - , wksExt = require('./_wks-ext') - , wksDefine = require('./_wks-define') - , keyOf = require('./_keyof') - , enumKeys = require('./_enum-keys') - , isArray = require('./_is-array') - , anObject = require('./_an-object') - , toIObject = require('./_to-iobject') - , toPrimitive = require('./_to-primitive') - , createDesc = require('./_property-desc') - , _create = require('./_object-create') - , gOPNExt = require('./_object-gopn-ext') - , $GOPD = require('./_object-gopd') - , $DP = require('./_object-dp') - , $keys = require('./_object-keys') - , gOPD = $GOPD.f - , dP = $DP.f - , gOPN = gOPNExt.f - , $Symbol = global.Symbol - , $JSON = global.JSON - , _stringify = $JSON && $JSON.stringify - , PROTOTYPE = 'prototype' - , HIDDEN = wks('_hidden') - , TO_PRIMITIVE = wks('toPrimitive') - , isEnum = {}.propertyIsEnumerable - , SymbolRegistry = shared('symbol-registry') - , AllSymbols = shared('symbols') - , OPSymbols = shared('op-symbols') - , ObjectProto = Object[PROTOTYPE] - , USE_NATIVE = typeof $Symbol == 'function' - , QObject = global.QObject; +var global = require('./_global'); +var has = require('./_has'); +var DESCRIPTORS = require('./_descriptors'); +var $export = require('./_export'); +var redefine = require('./_redefine'); +var META = require('./_meta').KEY; +var $fails = require('./_fails'); +var shared = require('./_shared'); +var setToStringTag = require('./_set-to-string-tag'); +var uid = require('./_uid'); +var wks = require('./_wks'); +var wksExt = require('./_wks-ext'); +var wksDefine = require('./_wks-define'); +var enumKeys = require('./_enum-keys'); +var isArray = require('./_is-array'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var toIObject = require('./_to-iobject'); +var toPrimitive = require('./_to-primitive'); +var createDesc = require('./_property-desc'); +var _create = require('./_object-create'); +var gOPNExt = require('./_object-gopn-ext'); +var $GOPD = require('./_object-gopd'); +var $DP = require('./_object-dp'); +var $keys = require('./_object-keys'); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDesc = DESCRIPTORS && $fails(function(){ +var setSymbolDesc = DESCRIPTORS && $fails(function () { return _create(dP({}, 'a', { - get: function(){ return dP(this, 'a', {value: 7}).a; } + get: function () { return dP(this, 'a', { value: 7 }).a; } })).a != 7; -}) ? function(it, key, D){ +}) ? function (it, key, D) { var protoDesc = gOPD(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; + if (protoDesc) delete ObjectProto[key]; dP(it, key, D); - if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); } : dP; -var wrap = function(tag){ +var wrap = function (tag) { var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); sym._k = tag; return sym; }; -var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { return typeof it == 'symbol'; -} : function(it){ +} : function (it) { return it instanceof $Symbol; }; -var $defineProperty = function defineProperty(it, key, D){ - if(it === ObjectProto)$defineProperty(OPSymbols, key, D); +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); anObject(it); key = toPrimitive(key, true); anObject(D); - if(has(AllSymbols, key)){ - if(!D.enumerable){ - if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {})); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); it[HIDDEN][key] = true; } else { - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = _create(D, {enumerable: createDesc(0, false)}); + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); } return setSymbolDesc(it, key, D); } return dP(it, key, D); }; -var $defineProperties = function defineProperties(it, P){ +var $defineProperties = function defineProperties(it, P) { anObject(it); - var keys = enumKeys(P = toIObject(P)) - , i = 0 - , l = keys.length - , key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); return it; }; -var $create = function create(it, P){ +var $create = function create(it, P) { return P === undefined ? _create(it) : $defineProperties(_create(it), P); }; -var $propertyIsEnumerable = function propertyIsEnumerable(key){ +var $propertyIsEnumerable = function propertyIsEnumerable(key) { var E = isEnum.call(this, key = toPrimitive(key, true)); - if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false; + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; }; -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ - it = toIObject(it); +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); key = toPrimitive(key, true); - if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return; + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; var D = gOPD(it, key); - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; return D; }; -var $getOwnPropertyNames = function getOwnPropertyNames(it){ - var names = gOPN(toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); } return result; }; -var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ - var IS_OP = it === ObjectProto - , names = gOPN(IS_OP ? OPSymbols : toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]); +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); } return result; }; // 19.4.1.1 Symbol([description]) -if(!USE_NATIVE){ - $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value){ - if(this === ObjectProto)$set.call(OPSymbols, value); - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; setSymbolDesc(this, tag, createDesc(1, value)); }; - if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set}); + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); return wrap(tag); }; - redefine($Symbol[PROTOTYPE], 'toString', function toString(){ + redefine($Symbol[PROTOTYPE], 'toString', function toString() { return this._k; }); $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; + $DP.f = $defineProperty; require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames; - require('./_object-pie').f = $propertyIsEnumerable; + require('./_object-pie').f = $propertyIsEnumerable; require('./_object-gops').f = $getOwnPropertySymbols; - if(DESCRIPTORS && !require('./_library')){ + if (DESCRIPTORS && !require('./_library')) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } - wksExt.f = function(name){ + wksExt.f = function (name) { return wrap(wks(name)); - } + }; } -$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol}); +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); -for(var symbols = ( +for (var es6Symbols = ( // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' -).split(','), i = 0; symbols.length > i; )wks(symbols[i++]); +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); -for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]); +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { // 19.4.2.1 Symbol.for(key) - 'for': function(key){ + 'for': function (key) { return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); }, // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(key){ - if(isSymbol(key))return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; }, - useSetter: function(){ setter = true; }, - useSimple: function(){ setter = false; } + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } }); $export($export.S + $export.F * !USE_NATIVE, 'Object', { @@ -201,24 +201,23 @@ $export($export.S + $export.F * !USE_NATIVE, 'Object', { }); // 24.3.2 JSON.stringify(value [, replacer [, space]]) -$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){ +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { var S = $Symbol(); // MS Edge converts symbol values to JSON as {} // WebKit converts symbol values to JSON as null // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; })), 'JSON', { - stringify: function stringify(it){ - if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined - var args = [it] - , i = 1 - , replacer, $replacer; - while(arguments.length > i)args.push(arguments[i++]); - replacer = args[1]; - if(typeof replacer == 'function')$replacer = replacer; - if($replacer || !isArray(replacer))replacer = function(key, value){ - if($replacer)value = $replacer.call(this, key, value); - if(!isSymbol(value))return value; + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; }; args[1] = replacer; return _stringify.apply($JSON, args); @@ -232,4 +231,4 @@ setToStringTag($Symbol, 'Symbol'); // 20.2.1.9 Math[@@toStringTag] setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] -setToStringTag(global.JSON, 'JSON', true); \ No newline at end of file +setToStringTag(global.JSON, 'JSON', true); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.array-buffer.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.array-buffer.js index 9f47082c..b2473709 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.array-buffer.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.array-buffer.js @@ -1,46 +1,46 @@ 'use strict'; -var $export = require('./_export') - , $typed = require('./_typed') - , buffer = require('./_typed-buffer') - , anObject = require('./_an-object') - , toIndex = require('./_to-index') - , toLength = require('./_to-length') - , isObject = require('./_is-object') - , ArrayBuffer = require('./_global').ArrayBuffer - , speciesConstructor = require('./_species-constructor') - , $ArrayBuffer = buffer.ArrayBuffer - , $DataView = buffer.DataView - , $isView = $typed.ABV && ArrayBuffer.isView - , $slice = $ArrayBuffer.prototype.slice - , VIEW = $typed.VIEW - , ARRAY_BUFFER = 'ArrayBuffer'; +var $export = require('./_export'); +var $typed = require('./_typed'); +var buffer = require('./_typed-buffer'); +var anObject = require('./_an-object'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); +var isObject = require('./_is-object'); +var ArrayBuffer = require('./_global').ArrayBuffer; +var speciesConstructor = require('./_species-constructor'); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; -$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer}); +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it){ + isView: function isView(it) { return $isView && $isView(it) || isObject(it) && VIEW in it; } }); -$export($export.P + $export.U + $export.F * require('./_fails')(function(){ +$export($export.P + $export.U + $export.F * require('./_fails')(function () { return !new $ArrayBuffer(2).slice(1, undefined).byteLength; }), ARRAY_BUFFER, { // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end){ - if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength - , first = toIndex(start, len) - , final = toIndex(end === undefined ? len : end, len) - , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)) - , viewS = new $DataView(this) - , viewT = new $DataView(result) - , index = 0; - while(first < final){ + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { viewT.setUint8(index++, viewS.getUint8(first++)); } return result; } }); -require('./_set-species')(ARRAY_BUFFER); \ No newline at end of file +require('./_set-species')(ARRAY_BUFFER); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.data-view.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.data-view.js index ee7b8812..d0e23536 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.data-view.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.data-view.js @@ -1,4 +1,4 @@ var $export = require('./_export'); $export($export.G + $export.W + $export.F * !require('./_typed').ABV, { DataView: require('./_typed-buffer').DataView -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float32-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float32-array.js index 2c4c9a69..f4970061 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float32-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float32-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Float32', 4, function(init){ - return function Float32Array(data, byteOffset, length){ +require('./_typed-array')('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float64-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float64-array.js index 4b20257f..85dedcd5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float64-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.float64-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Float64', 8, function(init){ - return function Float64Array(data, byteOffset, length){ +require('./_typed-array')('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int16-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int16-array.js index d3f61c56..b20ed041 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int16-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int16-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Int16', 2, function(init){ - return function Int16Array(data, byteOffset, length){ +require('./_typed-array')('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int32-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int32-array.js index df47c1bb..c7e6ae06 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int32-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int32-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Int32', 4, function(init){ - return function Int32Array(data, byteOffset, length){ +require('./_typed-array')('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int8-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int8-array.js index da4dbf0a..58ab9f36 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int8-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.int8-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Int8', 1, function(init){ - return function Int8Array(data, byteOffset, length){ +require('./_typed-array')('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint16-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint16-array.js index cb335773..992805d6 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint16-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint16-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint16', 2, function(init){ - return function Uint16Array(data, byteOffset, length){ +require('./_typed-array')('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint32-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint32-array.js index 41c9e7b8..5c444246 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint32-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint32-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint32', 4, function(init){ - return function Uint32Array(data, byteOffset, length){ +require('./_typed-array')('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-array.js index f794f86c..465cdc80 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint8', 1, function(init){ - return function Uint8Array(data, byteOffset, length){ +require('./_typed-array')('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js index b1230479..a84a1c1a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint8', 1, function(init){ - return function Uint8ClampedArray(data, byteOffset, length){ +require('./_typed-array')('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}, true); \ No newline at end of file +}, true); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-map.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-map.js index 4109db33..f21556d7 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-map.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-map.js @@ -1,56 +1,59 @@ 'use strict'; -var each = require('./_array-methods')(0) - , redefine = require('./_redefine') - , meta = require('./_meta') - , assign = require('./_object-assign') - , weak = require('./_collection-weak') - , isObject = require('./_is-object') - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; +var each = require('./_array-methods')(0); +var redefine = require('./_redefine'); +var meta = require('./_meta'); +var assign = require('./_object-assign'); +var weak = require('./_collection-weak'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var validate = require('./_validate-collection'); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; -var wrapper = function(get){ - return function WeakMap(){ +var wrapper = function (get) { + return function WeakMap() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }; var methods = { // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ + get: function get(key) { + if (isObject(key)) { var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); return data ? data[this._i] : undefined; } }, // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); } }; // 23.3 WeakMap Objects -var $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true); +var $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true); // IE11 WeakMap frozen keys fix -if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); assign(InternalMap.prototype, methods); meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); var result = this._f[key](a, b); return key == 'set' ? this : result; // store all the rest on native weakmap } return method.call(this, a, b); }); }); -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-set.js b/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-set.js index 77d01b6b..18a81e52 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-set.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es6.weak-set.js @@ -1,12 +1,14 @@ 'use strict'; var weak = require('./_collection-weak'); +var validate = require('./_validate-collection'); +var WEAK_SET = 'WeakSet'; // 23.4 WeakSet Objects -require('./_collection')('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +require('./_collection')(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value){ - return weak.def(this, value, true); + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); } -}, weak, false, true); \ No newline at end of file +}, weak, false, true); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.array.flat-map.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.array.flat-map.js new file mode 100644 index 00000000..2a210cd3 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.array.flat-map.js @@ -0,0 +1,22 @@ +'use strict'; +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap +var $export = require('./_export'); +var flattenIntoArray = require('./_flatten-into-array'); +var toObject = require('./_to-object'); +var toLength = require('./_to-length'); +var aFunction = require('./_a-function'); +var arraySpeciesCreate = require('./_array-species-create'); + +$export($export.P, 'Array', { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen, A; + aFunction(callbackfn); + sourceLen = toLength(O.length); + A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); + return A; + } +}); + +require('./_add-to-unscopables')('flatMap'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.array.flatten.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.array.flatten.js new file mode 100644 index 00000000..9019b2d1 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.array.flatten.js @@ -0,0 +1,21 @@ +'use strict'; +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten +var $export = require('./_export'); +var flattenIntoArray = require('./_flatten-into-array'); +var toObject = require('./_to-object'); +var toLength = require('./_to-length'); +var toInteger = require('./_to-integer'); +var arraySpeciesCreate = require('./_array-species-create'); + +$export($export.P, 'Array', { + flatten: function flatten(/* depthArg = 1 */) { + var depthArg = arguments[0]; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); + +require('./_add-to-unscopables')('flatten'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.array.includes.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.array.includes.js index 6d5b0090..1b77f0eb 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.array.includes.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.array.includes.js @@ -1,12 +1,12 @@ 'use strict'; // https://github.com/tc39/Array.prototype.includes -var $export = require('./_export') - , $includes = require('./_array-includes')(true); +var $export = require('./_export'); +var $includes = require('./_array-includes')(true); $export($export.P, 'Array', { - includes: function includes(el /*, fromIndex = 0 */){ + includes: function includes(el /* , fromIndex = 0 */) { return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./_add-to-unscopables')('includes'); \ No newline at end of file +require('./_add-to-unscopables')('includes'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.asap.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.asap.js index b762b49a..d36f7c76 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.asap.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.asap.js @@ -1,12 +1,12 @@ // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask -var $export = require('./_export') - , microtask = require('./_microtask')() - , process = require('./_global').process - , isNode = require('./_cof')(process) == 'process'; +var $export = require('./_export'); +var microtask = require('./_microtask')(); +var process = require('./_global').process; +var isNode = require('./_cof')(process) == 'process'; $export($export.G, { - asap: function asap(fn){ + asap: function asap(fn) { var domain = isNode && process.domain; microtask(domain ? domain.bind(fn) : fn); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.error.is-error.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.error.is-error.js index d6fe29dc..ba94f5d1 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.error.is-error.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.error.is-error.js @@ -1,9 +1,9 @@ // https://github.com/ljharb/proposal-is-error -var $export = require('./_export') - , cof = require('./_cof'); +var $export = require('./_export'); +var cof = require('./_cof'); $export($export.S, 'Error', { - isError: function isError(it){ + isError: function isError(it) { return cof(it) === 'Error'; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.global.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.global.js new file mode 100644 index 00000000..a315fd43 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.global.js @@ -0,0 +1,4 @@ +// https://github.com/tc39/proposal-global +var $export = require('./_export'); + +$export($export.G, { global: require('./_global') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.map.from.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.map.from.js new file mode 100644 index 00000000..a6057370 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.map.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +require('./_set-collection-from')('Map'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.map.of.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.map.of.js new file mode 100644 index 00000000..a2bf1fef --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.map.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +require('./_set-collection-of')('Map'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.map.to-json.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.map.to-json.js index 19f9b6d3..95a3569f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.map.to-json.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.map.to-json.js @@ -1,4 +1,4 @@ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var $export = require('./_export'); +var $export = require('./_export'); -$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')}); \ No newline at end of file +$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.clamp.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.clamp.js new file mode 100644 index 00000000..319cda60 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.clamp.js @@ -0,0 +1,8 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { + clamp: function clamp(x, lower, upper) { + return Math.min(upper, Math.max(lower, x)); + } +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.deg-per-rad.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.deg-per-rad.js new file mode 100644 index 00000000..99b95bba --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.deg-per-rad.js @@ -0,0 +1,4 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.degrees.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.degrees.js new file mode 100644 index 00000000..6637d915 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.degrees.js @@ -0,0 +1,9 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); +var RAD_PER_DEG = 180 / Math.PI; + +$export($export.S, 'Math', { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.fscale.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.fscale.js new file mode 100644 index 00000000..ad660a05 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.fscale.js @@ -0,0 +1,10 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); +var scale = require('./_math-scale'); +var fround = require('./_math-fround'); + +$export($export.S, 'Math', { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.iaddh.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.iaddh.js index bb3f3d38..a331ba9b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.iaddh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.iaddh.js @@ -2,10 +2,10 @@ var $export = require('./_export'); $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.imulh.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.imulh.js index a25da686..58d19f3a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.imulh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.imulh.js @@ -2,15 +2,15 @@ var $export = require('./_export'); $export($export.S, 'Math', { - imulh: function imulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >> 16 - , v1 = $v >> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + imulh: function imulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.isubh.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.isubh.js index 3814dc29..de22793c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.isubh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.isubh.js @@ -2,10 +2,10 @@ var $export = require('./_export'); $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.rad-per-deg.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.rad-per-deg.js new file mode 100644 index 00000000..6f702596 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.rad-per-deg.js @@ -0,0 +1,4 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.radians.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.radians.js new file mode 100644 index 00000000..abd9575f --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.radians.js @@ -0,0 +1,9 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); +var DEG_PER_RAD = Math.PI / 180; + +$export($export.S, 'Math', { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.scale.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.scale.js new file mode 100644 index 00000000..2866dcd7 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.scale.js @@ -0,0 +1,4 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { scale: require('./_math-scale') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.signbit.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.signbit.js new file mode 100644 index 00000000..c2568048 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.signbit.js @@ -0,0 +1,7 @@ +// http://jfbastien.github.io/papers/Math.signbit.html +var $export = require('./_export'); + +$export($export.S, 'Math', { signbit: function signbit(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.umulh.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.umulh.js index 0d22cf1b..3ddfa468 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.math.umulh.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.math.umulh.js @@ -2,15 +2,15 @@ var $export = require('./_export'); $export($export.S, 'Math', { - umulh: function umulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >>> 16 - , v1 = $v >>> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + umulh: function umulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-getter.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-getter.js index f206e96a..ffc6203f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-getter.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-getter.js @@ -1,12 +1,12 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , aFunction = require('./_a-function') - , $defineProperty = require('./_object-dp'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var aFunction = require('./_a-function'); +var $defineProperty = require('./_object-dp'); // B.2.2.2 Object.prototype.__defineGetter__(P, getter) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __defineGetter__: function __defineGetter__(P, getter){ - $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); + __defineGetter__: function __defineGetter__(P, getter) { + $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-setter.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-setter.js index c0f7b700..8ceefdd6 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-setter.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.define-setter.js @@ -1,12 +1,12 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , aFunction = require('./_a-function') - , $defineProperty = require('./_object-dp'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var aFunction = require('./_a-function'); +var $defineProperty = require('./_object-dp'); // B.2.2.3 Object.prototype.__defineSetter__(P, setter) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __defineSetter__: function __defineSetter__(P, setter){ - $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); + __defineSetter__: function __defineSetter__(P, setter) { + $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.entries.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.entries.js index cfc049df..2f83437c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.entries.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.entries.js @@ -1,9 +1,9 @@ // https://github.com/tc39/proposal-object-values-entries -var $export = require('./_export') - , $entries = require('./_object-to-array')(true); +var $export = require('./_export'); +var $entries = require('./_object-to-array')(true); $export($export.S, 'Object', { - entries: function entries(it){ + entries: function entries(it) { return $entries(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-entries.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-entries.js deleted file mode 100644 index 5daa803b..00000000 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-entries.js +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/leobalter/object-enumerables -var $export = require('./_export') - , toObject = require('./_to-object'); - -$export($export.S, 'Object', { - enumerableEntries: function enumerableEntries(O){ - var T = toObject(O) - , properties = []; - for(var key in T)properties.push([key, T[key]]); - return properties; - } -}); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-keys.js deleted file mode 100644 index 791ec184..00000000 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/leobalter/object-enumerables -var $export = require('./_export') - , toObject = require('./_to-object'); - -$export($export.S, 'Object', { - enumerableKeys: function enumerableKeys(O){ - var T = toObject(O) - , properties = []; - for(var key in T)properties.push(key); - return properties; - } -}); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-values.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-values.js deleted file mode 100644 index 1d1bfaa7..00000000 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.enumerable-values.js +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/leobalter/object-enumerables -var $export = require('./_export') - , toObject = require('./_to-object'); - -$export($export.S, 'Object', { - enumerableValues: function enumerableValues(O){ - var T = toObject(O) - , properties = []; - for(var key in T)properties.push(T[key]); - return properties; - } -}); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js index 0242b7a0..b1ab72fd 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js @@ -1,19 +1,22 @@ // https://github.com/tc39/proposal-object-getownpropertydescriptors -var $export = require('./_export') - , ownKeys = require('./_own-keys') - , toIObject = require('./_to-iobject') - , gOPD = require('./_object-gopd') - , createProperty = require('./_create-property'); +var $export = require('./_export'); +var ownKeys = require('./_own-keys'); +var toIObject = require('./_to-iobject'); +var gOPD = require('./_object-gopd'); +var createProperty = require('./_create-property'); $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ - var O = toIObject(object) - , getDesc = gOPD.f - , keys = ownKeys(O) - , result = {} - , i = 0 - , key; - while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } return result; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-getter.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-getter.js index ec140345..f8022291 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-getter.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-getter.js @@ -1,18 +1,18 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , toPrimitive = require('./_to-primitive') - , getPrototypeOf = require('./_object-gpo') - , getOwnPropertyDescriptor = require('./_object-gopd').f; +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); +var getPrototypeOf = require('./_object-gpo'); +var getOwnPropertyDescriptor = require('./_object-gopd').f; // B.2.2.4 Object.prototype.__lookupGetter__(P) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __lookupGetter__: function __lookupGetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; do { - if(D = getOwnPropertyDescriptor(O, K))return D.get; - } while(O = getPrototypeOf(O)); + if (D = getOwnPropertyDescriptor(O, K)) return D.get; + } while (O = getPrototypeOf(O)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-setter.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-setter.js index 539dda82..8bf8b64e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-setter.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.lookup-setter.js @@ -1,18 +1,18 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , toPrimitive = require('./_to-primitive') - , getPrototypeOf = require('./_object-gpo') - , getOwnPropertyDescriptor = require('./_object-gopd').f; +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); +var getPrototypeOf = require('./_object-gpo'); +var getOwnPropertyDescriptor = require('./_object-gopd').f; // B.2.2.5 Object.prototype.__lookupSetter__(P) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __lookupSetter__: function __lookupSetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; do { - if(D = getOwnPropertyDescriptor(O, K))return D.set; - } while(O = getPrototypeOf(O)); + if (D = getOwnPropertyDescriptor(O, K)) return D.set; + } while (O = getPrototypeOf(O)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.values.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.values.js index 42abd640..d6f09527 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.object.values.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.object.values.js @@ -1,9 +1,9 @@ // https://github.com/tc39/proposal-object-values-entries -var $export = require('./_export') - , $values = require('./_object-to-array')(false); +var $export = require('./_export'); +var $values = require('./_object-to-array')(false); $export($export.S, 'Object', { - values: function values(it){ + values: function values(it) { return $values(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.observable.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.observable.js index e34fa4f2..6dcb2c8f 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.observable.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.observable.js @@ -1,77 +1,77 @@ 'use strict'; // https://github.com/zenparsing/es-observable -var $export = require('./_export') - , global = require('./_global') - , core = require('./_core') - , microtask = require('./_microtask')() - , OBSERVABLE = require('./_wks')('observable') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , anInstance = require('./_an-instance') - , redefineAll = require('./_redefine-all') - , hide = require('./_hide') - , forOf = require('./_for-of') - , RETURN = forOf.RETURN; +var $export = require('./_export'); +var global = require('./_global'); +var core = require('./_core'); +var microtask = require('./_microtask')(); +var OBSERVABLE = require('./_wks')('observable'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var anInstance = require('./_an-instance'); +var redefineAll = require('./_redefine-all'); +var hide = require('./_hide'); +var forOf = require('./_for-of'); +var RETURN = forOf.RETURN; -var getMethod = function(fn){ +var getMethod = function (fn) { return fn == null ? undefined : aFunction(fn); }; -var cleanupSubscription = function(subscription){ +var cleanupSubscription = function (subscription) { var cleanup = subscription._c; - if(cleanup){ + if (cleanup) { subscription._c = undefined; cleanup(); } }; -var subscriptionClosed = function(subscription){ +var subscriptionClosed = function (subscription) { return subscription._o === undefined; }; -var closeSubscription = function(subscription){ - if(!subscriptionClosed(subscription)){ +var closeSubscription = function (subscription) { + if (!subscriptionClosed(subscription)) { subscription._o = undefined; cleanupSubscription(subscription); } }; -var Subscription = function(observer, subscriber){ +var Subscription = function (observer, subscriber) { anObject(observer); this._c = undefined; this._o = observer; observer = new SubscriptionObserver(this); try { - var cleanup = subscriber(observer) - , subscription = cleanup; - if(cleanup != null){ - if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); }; + var cleanup = subscriber(observer); + var subscription = cleanup; + if (cleanup != null) { + if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; else aFunction(cleanup); this._c = cleanup; } - } catch(e){ + } catch (e) { observer.error(e); return; - } if(subscriptionClosed(this))cleanupSubscription(this); + } if (subscriptionClosed(this)) cleanupSubscription(this); }; Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe(){ closeSubscription(this); } + unsubscribe: function unsubscribe() { closeSubscription(this); } }); -var SubscriptionObserver = function(subscription){ +var SubscriptionObserver = function (subscription) { this._s = subscription; }; SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value){ + next: function next(value) { var subscription = this._s; - if(!subscriptionClosed(subscription)){ + if (!subscriptionClosed(subscription)) { var observer = subscription._o; try { var m = getMethod(observer.next); - if(m)return m.call(observer, value); - } catch(e){ + if (m) return m.call(observer, value); + } catch (e) { try { closeSubscription(subscription); } finally { @@ -80,16 +80,16 @@ SubscriptionObserver.prototype = redefineAll({}, { } } }, - error: function error(value){ + error: function error(value) { var subscription = this._s; - if(subscriptionClosed(subscription))throw value; + if (subscriptionClosed(subscription)) throw value; var observer = subscription._o; subscription._o = undefined; try { var m = getMethod(observer.error); - if(!m)throw value; + if (!m) throw value; value = m.call(observer, value); - } catch(e){ + } catch (e) { try { cleanupSubscription(subscription); } finally { @@ -98,15 +98,15 @@ SubscriptionObserver.prototype = redefineAll({}, { } cleanupSubscription(subscription); return value; }, - complete: function complete(value){ + complete: function complete(value) { var subscription = this._s; - if(!subscriptionClosed(subscription)){ + if (!subscriptionClosed(subscription)) { var observer = subscription._o; subscription._o = undefined; try { var m = getMethod(observer.complete); value = m ? m.call(observer, value) : undefined; - } catch(e){ + } catch (e) { try { cleanupSubscription(subscription); } finally { @@ -118,23 +118,23 @@ SubscriptionObserver.prototype = redefineAll({}, { } }); -var $Observable = function Observable(subscriber){ +var $Observable = function Observable(subscriber) { anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); }; redefineAll($Observable.prototype, { - subscribe: function subscribe(observer){ + subscribe: function subscribe(observer) { return new Subscription(observer, this._f); }, - forEach: function forEach(fn){ + forEach: function forEach(fn) { var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject){ + return new (core.Promise || global.Promise)(function (resolve, reject) { aFunction(fn); var subscription = that.subscribe({ - next : function(value){ + next: function (value) { try { return fn(value); - } catch(e){ + } catch (e) { reject(e); subscription.unsubscribe(); } @@ -147,53 +147,53 @@ redefineAll($Observable.prototype, { }); redefineAll($Observable, { - from: function from(x){ + from: function from(x) { var C = typeof this === 'function' ? this : $Observable; var method = getMethod(anObject(x)[OBSERVABLE]); - if(method){ + if (method) { var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer){ + return observable.constructor === C ? observable : new C(function (observer) { return observable.subscribe(observer); }); } - return new C(function(observer){ + return new C(function (observer) { var done = false; - microtask(function(){ - if(!done){ + microtask(function () { + if (!done) { try { - if(forOf(x, false, function(it){ + if (forOf(x, false, function (it) { observer.next(it); - if(done)return RETURN; - }) === RETURN)return; - } catch(e){ - if(done)throw e; + if (done) return RETURN; + }) === RETURN) return; + } catch (e) { + if (done) throw e; observer.error(e); return; } observer.complete(); } }); - return function(){ done = true; }; + return function () { done = true; }; }); }, - of: function of(){ - for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer){ + of: function of() { + for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; + return new (typeof this === 'function' ? this : $Observable)(function (observer) { var done = false; - microtask(function(){ - if(!done){ - for(var i = 0; i < items.length; ++i){ - observer.next(items[i]); - if(done)return; + microtask(function () { + if (!done) { + for (var j = 0; j < items.length; ++j) { + observer.next(items[j]); + if (done) return; } observer.complete(); } }); - return function(){ done = true; }; + return function () { done = true; }; }); } }); -hide($Observable.prototype, OBSERVABLE, function(){ return this; }); +hide($Observable.prototype, OBSERVABLE, function () { return this; }); -$export($export.G, {Observable: $Observable}); +$export($export.G, { Observable: $Observable }); -require('./_set-species')('Observable'); \ No newline at end of file +require('./_set-species')('Observable'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.promise.finally.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.promise.finally.js new file mode 100644 index 00000000..fa04b639 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.promise.finally.js @@ -0,0 +1,20 @@ +// https://github.com/tc39/proposal-promise-finally +'use strict'; +var $export = require('./_export'); +var core = require('./_core'); +var global = require('./_global'); +var speciesConstructor = require('./_species-constructor'); +var promiseResolve = require('./_promise-resolve'); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.promise.try.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.promise.try.js new file mode 100644 index 00000000..e8163720 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.promise.try.js @@ -0,0 +1,12 @@ +'use strict'; +// https://github.com/tc39/proposal-promise-try +var $export = require('./_export'); +var newPromiseCapability = require('./_new-promise-capability'); +var perform = require('./_perform'); + +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.define-metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.define-metadata.js index c833e431..ebef52c2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.define-metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.define-metadata.js @@ -1,8 +1,8 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var toMetaKey = metadata.key; +var ordinaryDefineOwnMetadata = metadata.set; -metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ +metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.delete-metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.delete-metadata.js index 8a8a8253..590ed53c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.delete-metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.delete-metadata.js @@ -1,15 +1,15 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , toMetaKey = metadata.key - , getOrCreateMetadataMap = metadata.map - , store = metadata.store; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var toMetaKey = metadata.key; +var getOrCreateMetadataMap = metadata.map; +var store = metadata.store; -metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) - , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; - if(metadataMap.size)return true; +metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; var targetMetadata = store.get(target); targetMetadata['delete'](targetKey); return !!targetMetadata.size || store['delete'](target); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata-keys.js index 58c4dcc2..f344172b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata-keys.js @@ -1,19 +1,19 @@ -var Set = require('./es6.set') - , from = require('./_array-from-iterable') - , metadata = require('./_metadata') - , anObject = require('./_an-object') - , getPrototypeOf = require('./_object-gpo') - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +var Set = require('./es6.set'); +var from = require('./_array-from-iterable'); +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var getPrototypeOf = require('./_object-gpo'); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; -var ordinaryMetadataKeys = function(O, P){ - var oKeys = ordinaryOwnMetadataKeys(O, P) - , parent = getPrototypeOf(O); - if(parent === null)return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; }; -metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ +metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata.js index 48cd9d67..58c278e9 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-metadata.js @@ -1,17 +1,17 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , getPrototypeOf = require('./_object-gpo') - , ordinaryHasOwnMetadata = metadata.has - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var getPrototypeOf = require('./_object-gpo'); +var ordinaryHasOwnMetadata = metadata.has; +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; -var ordinaryGetMetadata = function(MetadataKey, O, P){ +var ordinaryGetMetadata = function (MetadataKey, O, P) { var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); var parent = getPrototypeOf(O); return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; }; -metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata-keys.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata-keys.js index 93ecfbe5..03e3201b 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata-keys.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata-keys.js @@ -1,8 +1,8 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; -metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ +metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata.js index f1040f91..4a18b071 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.get-own-metadata.js @@ -1,9 +1,9 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; -metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { return ordinaryGetOwnMetadata(metadataKey, anObject(target) , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-metadata.js index 0ff63786..b934bb4e 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-metadata.js @@ -1,16 +1,16 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , getPrototypeOf = require('./_object-gpo') - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var getPrototypeOf = require('./_object-gpo'); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; -var ordinaryHasMetadata = function(MetadataKey, O, P){ +var ordinaryHasMetadata = function (MetadataKey, O, P) { var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return true; + if (hasOwn) return true; var parent = getPrototypeOf(O); return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; }; -metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-own-metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-own-metadata.js index d645ea3f..512850dd 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-own-metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.has-own-metadata.js @@ -1,9 +1,9 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; -metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { return ordinaryHasOwnMetadata(metadataKey, anObject(target) , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.metadata.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.metadata.js index 3a4e3aee..efb9a9e2 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.metadata.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.reflect.metadata.js @@ -1,15 +1,15 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , aFunction = require('./_a-function') - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +var $metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var aFunction = require('./_a-function'); +var toMetaKey = $metadata.key; +var ordinaryDefineOwnMetadata = $metadata.set; -metadata.exp({metadata: function metadata(metadataKey, metadataValue){ - return function decorator(target, targetKey){ +$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, targetKey) { ordinaryDefineOwnMetadata( metadataKey, metadataValue, (targetKey !== undefined ? anObject : aFunction)(target), toMetaKey(targetKey) ); }; -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.set.from.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.set.from.js new file mode 100644 index 00000000..26542b66 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.set.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +require('./_set-collection-from')('Set'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.set.of.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.set.of.js new file mode 100644 index 00000000..2a50ad91 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.set.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +require('./_set-collection-of')('Set'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.set.to-json.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.set.to-json.js index fd68cb51..95cbcfa5 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.set.to-json.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.set.to-json.js @@ -1,4 +1,4 @@ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var $export = require('./_export'); +var $export = require('./_export'); -$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')}); \ No newline at end of file +$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.at.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.at.js index 208654e6..8b3ab98d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.at.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.at.js @@ -1,10 +1,10 @@ 'use strict'; // https://github.com/mathiasbynens/String.prototype.at -var $export = require('./_export') - , $at = require('./_string-at')(true); +var $export = require('./_export'); +var $at = require('./_string-at')(true); $export($export.P, 'String', { - at: function at(pos){ + at: function at(pos) { return $at(this, pos); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.match-all.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.match-all.js index cb0099b3..78237036 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.match-all.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.match-all.js @@ -1,30 +1,30 @@ 'use strict'; // https://tc39.github.io/String.prototype.matchAll/ -var $export = require('./_export') - , defined = require('./_defined') - , toLength = require('./_to-length') - , isRegExp = require('./_is-regexp') - , getFlags = require('./_flags') - , RegExpProto = RegExp.prototype; +var $export = require('./_export'); +var defined = require('./_defined'); +var toLength = require('./_to-length'); +var isRegExp = require('./_is-regexp'); +var getFlags = require('./_flags'); +var RegExpProto = RegExp.prototype; -var $RegExpStringIterator = function(regexp, string){ +var $RegExpStringIterator = function (regexp, string) { this._r = regexp; this._s = string; }; -require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){ +require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() { var match = this._r.exec(this._s); - return {value: match, done: match === null}; + return { value: match, done: match === null }; }); $export($export.P, 'String', { - matchAll: function matchAll(regexp){ + matchAll: function matchAll(regexp) { defined(this); - if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); - var S = String(this) - , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) - , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); + var S = String(this); + var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); + var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); rx.lastIndex = toLength(regexp.lastIndex); return new $RegExpStringIterator(rx, S); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-end.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-end.js index 8483d82f..df55ce70 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-end.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-end.js @@ -1,10 +1,12 @@ 'use strict'; // https://github.com/tc39/proposal-string-pad-start-end -var $export = require('./_export') - , $pad = require('./_string-pad'); +var $export = require('./_export'); +var $pad = require('./_string-pad'); +var userAgent = require('./_user-agent'); -$export($export.P, 'String', { - padEnd: function padEnd(maxLength /*, fillString = ' ' */){ +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-start.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-start.js index b79b605d..61549121 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-start.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.pad-start.js @@ -1,10 +1,12 @@ 'use strict'; // https://github.com/tc39/proposal-string-pad-start-end -var $export = require('./_export') - , $pad = require('./_string-pad'); +var $export = require('./_export'); +var $pad = require('./_string-pad'); +var userAgent = require('./_user-agent'); -$export($export.P, 'String', { - padStart: function padStart(maxLength /*, fillString = ' ' */){ +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-left.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-left.js index e5845771..39a4b47c 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-left.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-left.js @@ -1,7 +1,7 @@ 'use strict'; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim -require('./_string-trim')('trimLeft', function($trim){ - return function trimLeft(){ +require('./_string-trim')('trimLeft', function ($trim) { + return function trimLeft() { return $trim(this, 1); }; -}, 'trimStart'); \ No newline at end of file +}, 'trimStart'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-right.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-right.js index 42a9ed33..7b7c4529 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-right.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.string.trim-right.js @@ -1,7 +1,7 @@ 'use strict'; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim -require('./_string-trim')('trimRight', function($trim){ - return function trimRight(){ +require('./_string-trim')('trimRight', function ($trim) { + return function trimRight() { return $trim(this, 2); }; -}, 'trimEnd'); \ No newline at end of file +}, 'trimEnd'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.async-iterator.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.async-iterator.js index cf9f74a5..f56dc2a8 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.async-iterator.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.async-iterator.js @@ -1 +1 @@ -require('./_wks-define')('asyncIterator'); \ No newline at end of file +require('./_wks-define')('asyncIterator'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.observable.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.observable.js index 0163bca5..fc9a2376 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.observable.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.symbol.observable.js @@ -1 +1 @@ -require('./_wks-define')('observable'); \ No newline at end of file +require('./_wks-define')('observable'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.system.global.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.system.global.js index 8c2ab82d..310a802a 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/es7.system.global.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.system.global.js @@ -1,4 +1,4 @@ -// https://github.com/ljharb/proposal-global +// https://github.com/tc39/proposal-global var $export = require('./_export'); -$export($export.S, 'System', {global: require('./_global')}); \ No newline at end of file +$export($export.S, 'System', { global: require('./_global') }); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-map.from.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-map.from.js new file mode 100644 index 00000000..1a013657 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-map.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +require('./_set-collection-from')('WeakMap'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-map.of.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-map.of.js new file mode 100644 index 00000000..52c3f66d --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-map.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +require('./_set-collection-of')('WeakMap'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-set.from.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-set.from.js new file mode 100644 index 00000000..493e5bee --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-set.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +require('./_set-collection-from')('WeakSet'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-set.of.js b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-set.of.js new file mode 100644 index 00000000..5941e72a --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/library/modules/es7.weak-set.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +require('./_set-collection-of')('WeakSet'); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/web.dom.iterable.js b/build/js-transpiled/node_modules/core-js/library/modules/web.dom.iterable.js index e56371a9..fc00afac 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/web.dom.iterable.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/web.dom.iterable.js @@ -1,13 +1,19 @@ require('./es6.array.iterator'); -var global = require('./_global') - , hide = require('./_hide') - , Iterators = require('./_iterators') - , TO_STRING_TAG = require('./_wks')('toStringTag'); +var global = require('./_global'); +var hide = require('./_hide'); +var Iterators = require('./_iterators'); +var TO_STRING_TAG = require('./_wks')('toStringTag'); -for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype; - if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); +var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + + 'TextTrackList,TouchList').split(','); + +for (var i = 0; i < DOMIterables.length; i++) { + var NAME = DOMIterables[i]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = Iterators.Array; -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/library/modules/web.immediate.js b/build/js-transpiled/node_modules/core-js/library/modules/web.immediate.js index 5b946377..70f3e70d 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/web.immediate.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/web.immediate.js @@ -1,6 +1,6 @@ -var $export = require('./_export') - , $task = require('./_task'); +var $export = require('./_export'); +var $task = require('./_task'); $export($export.G + $export.B, { - setImmediate: $task.set, + setImmediate: $task.set, clearImmediate: $task.clear -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/modules/web.timers.js b/build/js-transpiled/node_modules/core-js/library/modules/web.timers.js index 1a1da57f..c8790830 100644 --- a/build/js-transpiled/node_modules/core-js/library/modules/web.timers.js +++ b/build/js-transpiled/node_modules/core-js/library/modules/web.timers.js @@ -1,20 +1,20 @@ // ie9- setTimeout & setInterval additional parameters fix -var global = require('./_global') - , $export = require('./_export') - , invoke = require('./_invoke') - , partial = require('./_partial') - , navigator = global.navigator - , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check -var wrap = function(set){ - return MSIE ? function(fn, time /*, ...args */){ - return set(invoke( - partial, - [].slice.call(arguments, 2), - typeof fn == 'function' ? fn : Function(fn) - ), time); - } : set; +var global = require('./_global'); +var $export = require('./_export'); +var userAgent = require('./_user-agent'); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; }; $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), + setTimeout: wrap(global.setTimeout), setInterval: wrap(global.setInterval) -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/library/shim.js b/build/js-transpiled/node_modules/core-js/library/shim.js index 6db12568..d865a2a3 100644 --- a/build/js-transpiled/node_modules/core-js/library/shim.js +++ b/build/js-transpiled/node_modules/core-js/library/shim.js @@ -136,6 +136,8 @@ require('./modules/es6.reflect.prevent-extensions'); require('./modules/es6.reflect.set'); require('./modules/es6.reflect.set-prototype-of'); require('./modules/es7.array.includes'); +require('./modules/es7.array.flat-map'); +require('./modules/es7.array.flatten'); require('./modules/es7.string.at'); require('./modules/es7.string.pad-start'); require('./modules/es7.string.pad-end'); @@ -153,12 +155,31 @@ require('./modules/es7.object.lookup-getter'); require('./modules/es7.object.lookup-setter'); require('./modules/es7.map.to-json'); require('./modules/es7.set.to-json'); +require('./modules/es7.map.of'); +require('./modules/es7.set.of'); +require('./modules/es7.weak-map.of'); +require('./modules/es7.weak-set.of'); +require('./modules/es7.map.from'); +require('./modules/es7.set.from'); +require('./modules/es7.weak-map.from'); +require('./modules/es7.weak-set.from'); +require('./modules/es7.global'); require('./modules/es7.system.global'); require('./modules/es7.error.is-error'); +require('./modules/es7.math.clamp'); +require('./modules/es7.math.deg-per-rad'); +require('./modules/es7.math.degrees'); +require('./modules/es7.math.fscale'); require('./modules/es7.math.iaddh'); require('./modules/es7.math.isubh'); require('./modules/es7.math.imulh'); +require('./modules/es7.math.rad-per-deg'); +require('./modules/es7.math.radians'); +require('./modules/es7.math.scale'); require('./modules/es7.math.umulh'); +require('./modules/es7.math.signbit'); +require('./modules/es7.promise.finally'); +require('./modules/es7.promise.try'); require('./modules/es7.reflect.define-metadata'); require('./modules/es7.reflect.delete-metadata'); require('./modules/es7.reflect.get-metadata'); @@ -173,4 +194,4 @@ require('./modules/es7.observable'); require('./modules/web.timers'); require('./modules/web.immediate'); require('./modules/web.dom.iterable'); -module.exports = require('./modules/_core'); \ No newline at end of file +module.exports = require('./modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/0.js b/build/js-transpiled/node_modules/core-js/library/stage/0.js index e89a005f..4aa50704 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/0.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/0.js @@ -7,4 +7,4 @@ require('../modules/es7.math.isubh'); require('../modules/es7.math.imulh'); require('../modules/es7.math.umulh'); require('../modules/es7.asap'); -module.exports = require('./1'); \ No newline at end of file +module.exports = require('./1'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/1.js b/build/js-transpiled/node_modules/core-js/library/stage/1.js index 230fe13a..5f634d80 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/1.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/1.js @@ -1,6 +1,23 @@ -require('../modules/es7.string.trim-left'); -require('../modules/es7.string.trim-right'); +require('../modules/es7.map.of'); +require('../modules/es7.set.of'); +require('../modules/es7.weak-map.of'); +require('../modules/es7.weak-set.of'); +require('../modules/es7.map.from'); +require('../modules/es7.set.from'); +require('../modules/es7.weak-map.from'); +require('../modules/es7.weak-set.from'); +require('../modules/es7.math.clamp'); +require('../modules/es7.math.deg-per-rad'); +require('../modules/es7.math.degrees'); +require('../modules/es7.math.fscale'); +require('../modules/es7.math.rad-per-deg'); +require('../modules/es7.math.radians'); +require('../modules/es7.math.scale'); +require('../modules/es7.math.signbit'); +require('../modules/es7.promise.try'); require('../modules/es7.string.match-all'); require('../modules/es7.symbol.observable'); require('../modules/es7.observable'); +require('../modules/es7.array.flat-map'); +require('../modules/es7.array.flatten'); module.exports = require('./2'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/2.js b/build/js-transpiled/node_modules/core-js/library/stage/2.js index ba444e1a..d7aaa0ef 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/2.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/2.js @@ -1,3 +1,4 @@ -require('../modules/es7.system.global'); +require('../modules/es7.string.trim-left'); +require('../modules/es7.string.trim-right'); require('../modules/es7.symbol.async-iterator'); module.exports = require('./3'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/3.js b/build/js-transpiled/node_modules/core-js/library/stage/3.js index c1ea400a..9afd07fe 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/3.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/3.js @@ -1,4 +1,4 @@ -require('../modules/es7.object.get-own-property-descriptors'); -require('../modules/es7.string.pad-start'); -require('../modules/es7.string.pad-end'); +require('../modules/es7.global'); +require('../modules/es7.system.global'); +require('../modules/es7.promise.finally'); module.exports = require('./4'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/4.js b/build/js-transpiled/node_modules/core-js/library/stage/4.js index 0fb53ddd..875762a2 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/4.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/4.js @@ -4,5 +4,8 @@ require('../modules/es7.object.lookup-getter'); require('../modules/es7.object.lookup-setter'); require('../modules/es7.object.values'); require('../modules/es7.object.entries'); +require('../modules/es7.object.get-own-property-descriptors'); require('../modules/es7.array.includes'); +require('../modules/es7.string.pad-start'); +require('../modules/es7.string.pad-end'); module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/index.js b/build/js-transpiled/node_modules/core-js/library/stage/index.js index eb959140..24dcf2e5 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/index.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/index.js @@ -1 +1 @@ -module.exports = require('./pre'); \ No newline at end of file +module.exports = require('./pre'); diff --git a/build/js-transpiled/node_modules/core-js/library/stage/pre.js b/build/js-transpiled/node_modules/core-js/library/stage/pre.js index f3bc54d9..ed197a8b 100644 --- a/build/js-transpiled/node_modules/core-js/library/stage/pre.js +++ b/build/js-transpiled/node_modules/core-js/library/stage/pre.js @@ -7,4 +7,4 @@ require('../modules/es7.reflect.get-own-metadata-keys'); require('../modules/es7.reflect.has-metadata'); require('../modules/es7.reflect.has-own-metadata'); require('../modules/es7.reflect.metadata'); -module.exports = require('./0'); \ No newline at end of file +module.exports = require('./0'); diff --git a/build/js-transpiled/node_modules/core-js/library/web/dom-collections.js b/build/js-transpiled/node_modules/core-js/library/web/dom-collections.js index 2118e3fe..a138bb9d 100644 --- a/build/js-transpiled/node_modules/core-js/library/web/dom-collections.js +++ b/build/js-transpiled/node_modules/core-js/library/web/dom-collections.js @@ -1,2 +1,2 @@ require('../modules/web.dom.iterable'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/library/web/immediate.js b/build/js-transpiled/node_modules/core-js/library/web/immediate.js index 244ebb16..6866abde 100644 --- a/build/js-transpiled/node_modules/core-js/library/web/immediate.js +++ b/build/js-transpiled/node_modules/core-js/library/web/immediate.js @@ -1,2 +1,2 @@ require('../modules/web.immediate'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/library/web/index.js b/build/js-transpiled/node_modules/core-js/library/web/index.js index 6687d571..66db256d 100644 --- a/build/js-transpiled/node_modules/core-js/library/web/index.js +++ b/build/js-transpiled/node_modules/core-js/library/web/index.js @@ -1,4 +1,4 @@ require('../modules/web.timers'); require('../modules/web.immediate'); require('../modules/web.dom.iterable'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/library/web/timers.js b/build/js-transpiled/node_modules/core-js/library/web/timers.js index 2c66f438..a3f528e4 100644 --- a/build/js-transpiled/node_modules/core-js/library/web/timers.js +++ b/build/js-transpiled/node_modules/core-js/library/web/timers.js @@ -1,2 +1,2 @@ require('../modules/web.timers'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/modules/_a-function.js b/build/js-transpiled/node_modules/core-js/modules/_a-function.js index 8c35f451..a9a5d84f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_a-function.js +++ b/build/js-transpiled/node_modules/core-js/modules/_a-function.js @@ -1,4 +1,4 @@ -module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); return it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_a-number-value.js b/build/js-transpiled/node_modules/core-js/modules/_a-number-value.js index 7bcbd7b7..2723de4d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_a-number-value.js +++ b/build/js-transpiled/node_modules/core-js/modules/_a-number-value.js @@ -1,5 +1,5 @@ var cof = require('./_cof'); -module.exports = function(it, msg){ - if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg); +module.exports = function (it, msg) { + if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); return +it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_add-to-unscopables.js b/build/js-transpiled/node_modules/core-js/modules/_add-to-unscopables.js index 0a74baea..a2dd97d9 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_add-to-unscopables.js +++ b/build/js-transpiled/node_modules/core-js/modules/_add-to-unscopables.js @@ -1,7 +1,7 @@ // 22.1.3.31 Array.prototype[@@unscopables] -var UNSCOPABLES = require('./_wks')('unscopables') - , ArrayProto = Array.prototype; -if(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {}); -module.exports = function(key){ +var UNSCOPABLES = require('./_wks')('unscopables'); +var ArrayProto = Array.prototype; +if (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {}); +module.exports = function (key) { ArrayProto[UNSCOPABLES][key] = true; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_an-instance.js b/build/js-transpiled/node_modules/core-js/modules/_an-instance.js index e4dfad3d..c0a5f920 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_an-instance.js +++ b/build/js-transpiled/node_modules/core-js/modules/_an-instance.js @@ -1,5 +1,5 @@ -module.exports = function(it, Constructor, name, forbiddenField){ - if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){ +module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { throw TypeError(name + ': incorrect invocation!'); } return it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_an-object.js b/build/js-transpiled/node_modules/core-js/modules/_an-object.js index 59a8a3a3..b1c316cd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_an-object.js +++ b/build/js-transpiled/node_modules/core-js/modules/_an-object.js @@ -1,5 +1,5 @@ var isObject = require('./_is-object'); -module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-copy-within.js b/build/js-transpiled/node_modules/core-js/modules/_array-copy-within.js index d901a32f..d331576c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-copy-within.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-copy-within.js @@ -1,26 +1,26 @@ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 'use strict'; -var toObject = require('./_to-object') - , toIndex = require('./_to-index') - , toLength = require('./_to-length'); +var toObject = require('./_to-object'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); -module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ - var O = toObject(this) - , len = toLength(O.length) - , to = toIndex(target, len) - , from = toIndex(start, len) - , end = arguments.length > 2 ? arguments[2] : undefined - , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) - , inc = 1; - if(from < to && to < from + count){ - inc = -1; +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; from += count - 1; - to += count - 1; + to += count - 1; } - while(count-- > 0){ - if(from in O)O[to] = O[from]; + while (count-- > 0) { + if (from in O) O[to] = O[from]; else delete O[to]; - to += inc; + to += inc; from += inc; } return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-fill.js b/build/js-transpiled/node_modules/core-js/modules/_array-fill.js index b21bb7ed..0753c36a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-fill.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-fill.js @@ -1,15 +1,15 @@ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) 'use strict'; -var toObject = require('./_to-object') - , toIndex = require('./_to-index') - , toLength = require('./_to-length'); -module.exports = function fill(value /*, start = 0, end = @length */){ - var O = toObject(this) - , length = toLength(O.length) - , aLen = arguments.length - , index = toIndex(aLen > 1 ? arguments[1] : undefined, length) - , end = aLen > 2 ? arguments[2] : undefined - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; +var toObject = require('./_to-object'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-from-iterable.js b/build/js-transpiled/node_modules/core-js/modules/_array-from-iterable.js index b5c454fb..08be255f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-from-iterable.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-from-iterable.js @@ -1,6 +1,6 @@ var forOf = require('./_for-of'); -module.exports = function(iter, ITERATOR){ +module.exports = function (iter, ITERATOR) { var result = []; forOf(iter, false, result.push, result, ITERATOR); return result; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-includes.js b/build/js-transpiled/node_modules/core-js/modules/_array-includes.js index c70b064d..0ef3efeb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-includes.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-includes.js @@ -1,21 +1,23 @@ // false -> Array#indexOf // true -> Array#includes -var toIObject = require('./_to-iobject') - , toLength = require('./_to-length') - , toIndex = require('./_to-index'); -module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; +var toIObject = require('./_to-iobject'); +var toLength = require('./_to-length'); +var toAbsoluteIndex = require('./_to-absolute-index'); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-methods.js b/build/js-transpiled/node_modules/core-js/modules/_array-methods.js index 8ffbe116..ae7f447d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-methods.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-methods.js @@ -5,40 +5,40 @@ // 4 -> Array#every // 5 -> Array#find // 6 -> Array#findIndex -var ctx = require('./_ctx') - , IObject = require('./_iobject') - , toObject = require('./_to-object') - , toLength = require('./_to-length') - , asc = require('./_array-species-create'); -module.exports = function(TYPE, $create){ - var IS_MAP = TYPE == 1 - , IS_FILTER = TYPE == 2 - , IS_SOME = TYPE == 3 - , IS_EVERY = TYPE == 4 - , IS_FIND_INDEX = TYPE == 6 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX - , create = $create || asc; - return function($this, callbackfn, that){ - var O = toObject($this) - , self = IObject(O) - , f = ctx(callbackfn, that, 3) - , length = toLength(self.length) - , index = 0 - , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined - , val, res; - for(;length > index; index++)if(NO_HOLES || index in self){ +var ctx = require('./_ctx'); +var IObject = require('./_iobject'); +var toObject = require('./_to-object'); +var toLength = require('./_to-length'); +var asc = require('./_array-species-create'); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { val = self[index]; res = f(val, index, O); - if(TYPE){ - if(IS_MAP)result[index] = res; // map - else if(res)switch(TYPE){ - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if(IS_EVERY)return false; // every + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every } } return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-reduce.js b/build/js-transpiled/node_modules/core-js/modules/_array-reduce.js index c807d544..8596ac70 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-reduce.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-reduce.js @@ -1,28 +1,28 @@ -var aFunction = require('./_a-function') - , toObject = require('./_to-object') - , IObject = require('./_iobject') - , toLength = require('./_to-length'); +var aFunction = require('./_a-function'); +var toObject = require('./_to-object'); +var IObject = require('./_iobject'); +var toLength = require('./_to-length'); -module.exports = function(that, callbackfn, aLen, memo, isRight){ +module.exports = function (that, callbackfn, aLen, memo, isRight) { aFunction(callbackfn); - var O = toObject(that) - , self = IObject(O) - , length = toLength(O.length) - , index = isRight ? length - 1 : 0 - , i = isRight ? -1 : 1; - if(aLen < 2)for(;;){ - if(index in self){ + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { memo = self[index]; index += i; break; } index += i; - if(isRight ? index < 0 : length <= index){ + if (isRight ? index < 0 : length <= index) { throw TypeError('Reduce of empty array with no initial value'); } } - for(;isRight ? index >= 0 : length > index; index += i)if(index in self){ + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { memo = callbackfn(memo, self[index], index, O); } return memo; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-species-constructor.js b/build/js-transpiled/node_modules/core-js/modules/_array-species-constructor.js index a715389f..0771c236 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-species-constructor.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-species-constructor.js @@ -1,16 +1,16 @@ -var isObject = require('./_is-object') - , isArray = require('./_is-array') - , SPECIES = require('./_wks')('species'); +var isObject = require('./_is-object'); +var isArray = require('./_is-array'); +var SPECIES = require('./_wks')('species'); -module.exports = function(original){ +module.exports = function (original) { var C; - if(isArray(original)){ + if (isArray(original)) { C = original.constructor; // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { C = C[SPECIES]; - if(C === null)C = undefined; + if (C === null) C = undefined; } } return C === undefined ? Array : C; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_array-species-create.js b/build/js-transpiled/node_modules/core-js/modules/_array-species-create.js index cbd18bc6..36ed58bd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_array-species-create.js +++ b/build/js-transpiled/node_modules/core-js/modules/_array-species-create.js @@ -1,6 +1,6 @@ // 9.4.2.3 ArraySpeciesCreate(originalArray, length) var speciesConstructor = require('./_array-species-constructor'); -module.exports = function(original, length){ +module.exports = function (original, length) { return new (speciesConstructor(original))(length); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_bind.js b/build/js-transpiled/node_modules/core-js/modules/_bind.js index 1f7b0174..3cf1e5ae 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_bind.js +++ b/build/js-transpiled/node_modules/core-js/modules/_bind.js @@ -1,24 +1,25 @@ 'use strict'; -var aFunction = require('./_a-function') - , isObject = require('./_is-object') - , invoke = require('./_invoke') - , arraySlice = [].slice - , factories = {}; +var aFunction = require('./_a-function'); +var isObject = require('./_is-object'); +var invoke = require('./_invoke'); +var arraySlice = [].slice; +var factories = {}; -var construct = function(F, len, args){ - if(!(len in factories)){ - for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); } return factories[len](F, args); }; -module.exports = Function.bind || function bind(that /*, args... */){ - var fn = aFunction(this) - , partArgs = arraySlice.call(arguments, 1); - var bound = function(/* args... */){ +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { var args = partArgs.concat(arraySlice.call(arguments)); return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); }; - if(isObject(fn.prototype))bound.prototype = fn.prototype; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; return bound; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_classof.js b/build/js-transpiled/node_modules/core-js/modules/_classof.js index dab3a80f..d106d5be 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_classof.js +++ b/build/js-transpiled/node_modules/core-js/modules/_classof.js @@ -1,17 +1,17 @@ // getting tag from 19.1.3.6 Object.prototype.toString() -var cof = require('./_cof') - , TAG = require('./_wks')('toStringTag') - // ES3 wrong here - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; +var cof = require('./_cof'); +var TAG = require('./_wks')('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; // fallback for IE11 Script Access Denied error -var tryGet = function(it, key){ +var tryGet = function (it, key) { try { return it[key]; - } catch(e){ /* empty */ } + } catch (e) { /* empty */ } }; -module.exports = function(it){ +module.exports = function (it) { var O, T, B; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case @@ -20,4 +20,4 @@ module.exports = function(it){ : ARG ? cof(O) // ES3 arguments fallback : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_cof.js b/build/js-transpiled/node_modules/core-js/modules/_cof.js index 1dd2779a..332c0bc0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_cof.js +++ b/build/js-transpiled/node_modules/core-js/modules/_cof.js @@ -1,5 +1,5 @@ var toString = {}.toString; -module.exports = function(it){ +module.exports = function (it) { return toString.call(it).slice(8, -1); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_collection-strong.js b/build/js-transpiled/node_modules/core-js/modules/_collection-strong.js index 55e4b615..68ce63f0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_collection-strong.js +++ b/build/js-transpiled/node_modules/core-js/modules/_collection-strong.js @@ -1,45 +1,47 @@ 'use strict'; -var dP = require('./_object-dp').f - , create = require('./_object-create') - , redefineAll = require('./_redefine-all') - , ctx = require('./_ctx') - , anInstance = require('./_an-instance') - , defined = require('./_defined') - , forOf = require('./_for-of') - , $iterDefine = require('./_iter-define') - , step = require('./_iter-step') - , setSpecies = require('./_set-species') - , DESCRIPTORS = require('./_descriptors') - , fastKey = require('./_meta').fastKey - , SIZE = DESCRIPTORS ? '_s' : 'size'; +var dP = require('./_object-dp').f; +var create = require('./_object-create'); +var redefineAll = require('./_redefine-all'); +var ctx = require('./_ctx'); +var anInstance = require('./_an-instance'); +var forOf = require('./_for-of'); +var $iterDefine = require('./_iter-define'); +var step = require('./_iter-step'); +var setSpecies = require('./_set-species'); +var DESCRIPTORS = require('./_descriptors'); +var fastKey = require('./_meta').fastKey; +var validate = require('./_validate-collection'); +var SIZE = DESCRIPTORS ? '_s' : 'size'; -var getEntry = function(that, key){ +var getEntry = function (that, key) { // fast case - var index = fastKey(key), entry; - if(index !== 'F')return that._i[index]; + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; // frozen object case - for(entry = that._f; entry; entry = entry.n){ - if(entry.k == key)return entry; + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; } }; module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type that._i = create(null); // index that._f = undefined; // first entry that._l = undefined; // last entry that[SIZE] = 0; // size - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); }); redefineAll(C.prototype, { // 23.1.3.1 Map.prototype.clear() // 23.2.3.2 Set.prototype.clear() - clear: function clear(){ - for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { entry.r = true; - if(entry.p)entry.p = entry.p.n = undefined; + if (entry.p) entry.p = entry.p.n = undefined; delete data[entry.i]; } that._f = that._l = undefined; @@ -47,51 +49,51 @@ module.exports = { }, // 23.1.3.3 Map.prototype.delete(key) // 23.2.3.4 Set.prototype.delete(value) - 'delete': function(key){ - var that = this - , entry = getEntry(that, key); - if(entry){ - var next = entry.n - , prev = entry.p; + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; delete that._i[entry.i]; entry.r = true; - if(prev)prev.n = next; - if(next)next.p = prev; - if(that._f == entry)that._f = next; - if(that._l == entry)that._l = prev; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; that[SIZE]--; } return !!entry; }, // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /*, that = undefined */){ - anInstance(this, C, 'forEach'); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) - , entry; - while(entry = entry ? entry.n : this._f){ + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { f(entry.v, entry.k, this); // revert to the last existing entry - while(entry && entry.r)entry = entry.p; + while (entry && entry.r) entry = entry.p; } }, // 23.1.3.7 Map.prototype.has(key) // 23.2.3.7 Set.prototype.has(value) - has: function has(key){ - return !!getEntry(this, key); + has: function has(key) { + return !!getEntry(validate(this, NAME), key); } }); - if(DESCRIPTORS)dP(C.prototype, 'size', { - get: function(){ - return defined(this[SIZE]); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; } }); return C; }, - def: function(that, key, value){ - var entry = getEntry(that, key) - , prev, index; + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; // change existing entry - if(entry){ + if (entry) { entry.v = value; // create new entry } else { @@ -103,40 +105,40 @@ module.exports = { n: undefined, // <- next entry r: false // <- removed }; - if(!that._f)that._f = entry; - if(prev)prev.n = entry; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; that[SIZE]++; // add to index - if(index !== 'F')that._i[index] = entry; + if (index !== 'F') that._i[index] = entry; } return that; }, getEntry: getEntry, - setStrong: function(C, NAME, IS_MAP){ + setStrong: function (C, NAME, IS_MAP) { // add .keys, .values, .entries, [@@iterator] // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function(iterated, kind){ - this._t = iterated; // target - this._k = kind; // kind - this._l = undefined; // previous - }, function(){ - var that = this - , kind = that._k - , entry = that._l; + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; // revert to the last existing entry - while(entry && entry.r)entry = entry.p; + while (entry && entry.r) entry = entry.p; // get next entry - if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { // or finish the iteration that._t = undefined; return step(1); } // return step by kind - if(kind == 'keys' )return step(0, entry.k); - if(kind == 'values')return step(0, entry.v); + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); // add [@@species], 23.1.2.2, 23.2.2.2 setSpecies(NAME); } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_collection-to-json.js b/build/js-transpiled/node_modules/core-js/modules/_collection-to-json.js index ce0282f6..a6ee0029 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_collection-to-json.js +++ b/build/js-transpiled/node_modules/core-js/modules/_collection-to-json.js @@ -1,9 +1,9 @@ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var classof = require('./_classof') - , from = require('./_array-from-iterable'); -module.exports = function(NAME){ - return function toJSON(){ - if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); +var classof = require('./_classof'); +var from = require('./_array-from-iterable'); +module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); return from(this); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_collection-weak.js b/build/js-transpiled/node_modules/core-js/modules/_collection-weak.js index a8597e64..04d3af5a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_collection-weak.js +++ b/build/js-transpiled/node_modules/core-js/modules/_collection-weak.js @@ -1,83 +1,85 @@ 'use strict'; -var redefineAll = require('./_redefine-all') - , getWeak = require('./_meta').getWeak - , anObject = require('./_an-object') - , isObject = require('./_is-object') - , anInstance = require('./_an-instance') - , forOf = require('./_for-of') - , createArrayMethod = require('./_array-methods') - , $has = require('./_has') - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , id = 0; +var redefineAll = require('./_redefine-all'); +var getWeak = require('./_meta').getWeak; +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var anInstance = require('./_an-instance'); +var forOf = require('./_for-of'); +var createArrayMethod = require('./_array-methods'); +var $has = require('./_has'); +var validate = require('./_validate-collection'); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; // fallback for uncaught frozen keys -var uncaughtFrozenStore = function(that){ - return that._l || (that._l = new UncaughtFrozenStore); +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); }; -var UncaughtFrozenStore = function(){ +var UncaughtFrozenStore = function () { this.a = []; }; -var findUncaughtFrozen = function(store, key){ - return arrayFind(store.a, function(it){ +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { return it[0] === key; }); }; UncaughtFrozenStore.prototype = { - get: function(key){ + get: function (key) { var entry = findUncaughtFrozen(this, key); - if(entry)return entry[1]; + if (entry) return entry[1]; }, - has: function(key){ + has: function (key) { return !!findUncaughtFrozen(this, key); }, - set: function(key, value){ + set: function (key, value) { var entry = findUncaughtFrozen(this, key); - if(entry)entry[1] = value; + if (entry) entry[1] = value; else this.a.push([key, value]); }, - 'delete': function(key){ - var index = arrayFindIndex(this.a, function(it){ + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { return it[0] === key; }); - if(~index)this.a.splice(index, 1); + if (~index) this.a.splice(index, 1); return !!~index; } }; module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type that._i = id++; // collection id that._l = undefined; // leak store for uncaught frozen objects - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); }); redefineAll(C.prototype, { // 23.3.3.2 WeakMap.prototype.delete(key) // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key){ - if(!isObject(key))return false; + 'delete': function (key) { + if (!isObject(key)) return false; var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this)['delete'](key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); return data && $has(data, this._i) && delete data[this._i]; }, // 23.3.3.4 WeakMap.prototype.has(key) // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key){ - if(!isObject(key))return false; + has: function has(key) { + if (!isObject(key)) return false; var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).has(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); return data && $has(data, this._i); } }); return C; }, - def: function(that, key, value){ + def: function (that, key, value) { var data = getWeak(anObject(key), true); - if(data === true)uncaughtFrozenStore(that).set(key, value); + if (data === true) uncaughtFrozenStore(that).set(key, value); else data[that._i] = value; return that; }, ufstore: uncaughtFrozenStore -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_collection.js b/build/js-transpiled/node_modules/core-js/modules/_collection.js index 2b183453..767dde50 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_collection.js +++ b/build/js-transpiled/node_modules/core-js/modules/_collection.js @@ -1,77 +1,77 @@ 'use strict'; -var global = require('./_global') - , $export = require('./_export') - , redefine = require('./_redefine') - , redefineAll = require('./_redefine-all') - , meta = require('./_meta') - , forOf = require('./_for-of') - , anInstance = require('./_an-instance') - , isObject = require('./_is-object') - , fails = require('./_fails') - , $iterDetect = require('./_iter-detect') - , setToStringTag = require('./_set-to-string-tag') - , inheritIfRequired = require('./_inherit-if-required'); +var global = require('./_global'); +var $export = require('./_export'); +var redefine = require('./_redefine'); +var redefineAll = require('./_redefine-all'); +var meta = require('./_meta'); +var forOf = require('./_for-of'); +var anInstance = require('./_an-instance'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var $iterDetect = require('./_iter-detect'); +var setToStringTag = require('./_set-to-string-tag'); +var inheritIfRequired = require('./_inherit-if-required'); -module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ - var Base = global[NAME] - , C = Base - , ADDER = IS_MAP ? 'set' : 'add' - , proto = C && C.prototype - , O = {}; - var fixMethod = function(KEY){ +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + var fixMethod = function (KEY) { var fn = proto[KEY]; redefine(proto, KEY, - KEY == 'delete' ? function(a){ + KEY == 'delete' ? function (a) { return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a){ + } : KEY == 'has' ? function has(a) { return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a){ + } : KEY == 'get' ? function get(a) { return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } + } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } ); }; - if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { new C().entries().next(); - }))){ + }))) { // create collection constructor C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); redefineAll(C.prototype, methods); meta.NEED = true; } else { - var instance = new C - // early implementations not supports chaining - , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); }) - // most early implementations doesn't supports iterables, most modern - not close it correctly - , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - , BUGGY_ZERO = !IS_WEAK && fails(function(){ - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C() - , index = 5; - while(index--)$instance[ADDER](index, index); - return !$instance.has(-0); - }); - if(!ACCEPT_ITERABLES){ - C = wrapper(function(target, iterable){ + var instance = new C(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { anInstance(target, C, NAME); - var that = inheritIfRequired(new Base, target, C); - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); return that; }); C.prototype = proto; proto.constructor = C; } - if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { fixMethod('delete'); fixMethod('has'); IS_MAP && fixMethod('get'); } - if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); // weak collections should not contains .clear method - if(IS_WEAK && proto.clear)delete proto.clear; + if (IS_WEAK && proto.clear) delete proto.clear; } setToStringTag(C, NAME); @@ -79,7 +79,7 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ O[NAME] = C; $export($export.G + $export.W + $export.F * (C != Base), O); - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); return C; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_core.js b/build/js-transpiled/node_modules/core-js/modules/_core.js index 23d6aede..c61ad510 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_core.js +++ b/build/js-transpiled/node_modules/core-js/modules/_core.js @@ -1,2 +1,2 @@ -var core = module.exports = {version: '2.4.0'}; -if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef \ No newline at end of file +var core = module.exports = { version: '2.5.7' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef diff --git a/build/js-transpiled/node_modules/core-js/modules/_create-property.js b/build/js-transpiled/node_modules/core-js/modules/_create-property.js index 3d1bf730..fd0ea8c9 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_create-property.js +++ b/build/js-transpiled/node_modules/core-js/modules/_create-property.js @@ -1,8 +1,8 @@ 'use strict'; -var $defineProperty = require('./_object-dp') - , createDesc = require('./_property-desc'); +var $defineProperty = require('./_object-dp'); +var createDesc = require('./_property-desc'); -module.exports = function(object, index, value){ - if(index in object)$defineProperty.f(object, index, createDesc(0, value)); +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); else object[index] = value; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_ctx.js b/build/js-transpiled/node_modules/core-js/modules/_ctx.js index b52d85ff..0a100ff3 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_ctx.js +++ b/build/js-transpiled/node_modules/core-js/modules/_ctx.js @@ -1,20 +1,20 @@ // optional / simple context binding var aFunction = require('./_a-function'); -module.exports = function(fn, that, length){ +module.exports = function (fn, that, length) { aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { return fn.call(that, a); }; - case 2: return function(a, b){ + case 2: return function (a, b) { return fn.call(that, a, b); }; - case 3: return function(a, b, c){ + case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } - return function(/* ...args */){ + return function (/* ...args */) { return fn.apply(that, arguments); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_date-to-iso-string.js b/build/js-transpiled/node_modules/core-js/modules/_date-to-iso-string.js new file mode 100644 index 00000000..95a02e22 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_date-to-iso-string.js @@ -0,0 +1,26 @@ +'use strict'; +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = require('./_fails'); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; diff --git a/build/js-transpiled/node_modules/core-js/modules/_date-to-primitive.js b/build/js-transpiled/node_modules/core-js/modules/_date-to-primitive.js index 561079a1..57c32030 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_date-to-primitive.js +++ b/build/js-transpiled/node_modules/core-js/modules/_date-to-primitive.js @@ -1,9 +1,9 @@ 'use strict'; -var anObject = require('./_an-object') - , toPrimitive = require('./_to-primitive') - , NUMBER = 'number'; +var anObject = require('./_an-object'); +var toPrimitive = require('./_to-primitive'); +var NUMBER = 'number'; -module.exports = function(hint){ - if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint'); +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); return toPrimitive(anObject(this), hint != NUMBER); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_defined.js b/build/js-transpiled/node_modules/core-js/modules/_defined.js index cfa476b9..66c7ed32 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_defined.js +++ b/build/js-transpiled/node_modules/core-js/modules/_defined.js @@ -1,5 +1,5 @@ // 7.2.1 RequireObjectCoercible(argument) -module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); return it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_descriptors.js b/build/js-transpiled/node_modules/core-js/modules/_descriptors.js index 6ccb7ee2..04697406 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_descriptors.js +++ b/build/js-transpiled/node_modules/core-js/modules/_descriptors.js @@ -1,4 +1,4 @@ // Thank's IE8 for his funny defineProperty -module.exports = !require('./_fails')(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; -}); \ No newline at end of file +module.exports = !require('./_fails')(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/_dom-create.js b/build/js-transpiled/node_modules/core-js/modules/_dom-create.js index 909b5ff0..39ca2569 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_dom-create.js +++ b/build/js-transpiled/node_modules/core-js/modules/_dom-create.js @@ -1,7 +1,7 @@ -var isObject = require('./_is-object') - , document = require('./_global').document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); -module.exports = function(it){ +var isObject = require('./_is-object'); +var document = require('./_global').document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { return is ? document.createElement(it) : {}; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_entry-virtual.js b/build/js-transpiled/node_modules/core-js/modules/_entry-virtual.js index 0ec61272..7a734390 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_entry-virtual.js +++ b/build/js-transpiled/node_modules/core-js/modules/_entry-virtual.js @@ -1,5 +1,5 @@ var core = require('./_core'); -module.exports = function(CONSTRUCTOR){ +module.exports = function (CONSTRUCTOR) { var C = core[CONSTRUCTOR]; return (C.virtual || C.prototype); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_enum-bug-keys.js b/build/js-transpiled/node_modules/core-js/modules/_enum-bug-keys.js index 928b9fb0..d9ad8551 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_enum-bug-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/_enum-bug-keys.js @@ -1,4 +1,4 @@ // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); \ No newline at end of file +).split(','); diff --git a/build/js-transpiled/node_modules/core-js/modules/_enum-keys.js b/build/js-transpiled/node_modules/core-js/modules/_enum-keys.js index 3bf8069c..3e7053d1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_enum-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/_enum-keys.js @@ -1,15 +1,15 @@ // all enumerable object keys, includes symbols -var getKeys = require('./_object-keys') - , gOPS = require('./_object-gops') - , pIE = require('./_object-pie'); -module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); +var getKeys = require('./_object-keys'); +var gOPS = require('./_object-gops'); +var pIE = require('./_object-pie'); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); } return result; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_export.js b/build/js-transpiled/node_modules/core-js/modules/_export.js index afddf352..3c907c6e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_export.js +++ b/build/js-transpiled/node_modules/core-js/modules/_export.js @@ -1,22 +1,22 @@ -var global = require('./_global') - , core = require('./_core') - , hide = require('./_hide') - , redefine = require('./_redefine') - , ctx = require('./_ctx') - , PROTOTYPE = 'prototype'; +var global = require('./_global'); +var core = require('./_core'); +var hide = require('./_hide'); +var redefine = require('./_redefine'); +var ctx = require('./_ctx'); +var PROTOTYPE = 'prototype'; -var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}) - , key, own, out, exp; - if(IS_GLOBAL)source = name; - for(key in source){ +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) source = name; + for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; // export native or passed @@ -24,10 +24,10 @@ var $export = function(type, name, source){ // bind timers to global for call from export context exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // extend global - if(target)redefine(target, key, out, type & $export.U); + if (target) redefine(target, key, out, type & $export.U); // export - if(exports[key] != out)hide(exports, key, exp); - if(IS_PROTO && expProto[key] != out)expProto[key] = out; + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; } }; global.core = core; @@ -39,5 +39,5 @@ $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; \ No newline at end of file +$export.R = 128; // real proto method for `library` +module.exports = $export; diff --git a/build/js-transpiled/node_modules/core-js/modules/_fails-is-regexp.js b/build/js-transpiled/node_modules/core-js/modules/_fails-is-regexp.js index 130436bf..8eec2e47 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_fails-is-regexp.js +++ b/build/js-transpiled/node_modules/core-js/modules/_fails-is-regexp.js @@ -1,12 +1,12 @@ var MATCH = require('./_wks')('match'); -module.exports = function(KEY){ +module.exports = function (KEY) { var re = /./; try { '/./'[KEY](re); - } catch(e){ + } catch (e) { try { re[MATCH] = false; return !'/./'[KEY](re); - } catch(f){ /* empty */ } + } catch (f) { /* empty */ } } return true; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_fails.js b/build/js-transpiled/node_modules/core-js/modules/_fails.js index 184e5ea8..3b4cdf67 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_fails.js +++ b/build/js-transpiled/node_modules/core-js/modules/_fails.js @@ -1,7 +1,7 @@ -module.exports = function(exec){ +module.exports = function (exec) { try { return !!exec(); - } catch(e){ + } catch (e) { return true; } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_fix-re-wks.js b/build/js-transpiled/node_modules/core-js/modules/_fix-re-wks.js index d29368ce..9a62380b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_fix-re-wks.js +++ b/build/js-transpiled/node_modules/core-js/modules/_fix-re-wks.js @@ -1,28 +1,28 @@ 'use strict'; -var hide = require('./_hide') - , redefine = require('./_redefine') - , fails = require('./_fails') - , defined = require('./_defined') - , wks = require('./_wks'); +var hide = require('./_hide'); +var redefine = require('./_redefine'); +var fails = require('./_fails'); +var defined = require('./_defined'); +var wks = require('./_wks'); -module.exports = function(KEY, length, exec){ - var SYMBOL = wks(KEY) - , fns = exec(defined, SYMBOL, ''[KEY]) - , strfn = fns[0] - , rxfn = fns[1]; - if(fails(function(){ +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + var fns = exec(defined, SYMBOL, ''[KEY]); + var strfn = fns[0]; + var rxfn = fns[1]; + if (fails(function () { var O = {}; - O[SYMBOL] = function(){ return 7; }; + O[SYMBOL] = function () { return 7; }; return ''[KEY](O) != 7; - })){ + })) { redefine(String.prototype, KEY, strfn); hide(RegExp.prototype, SYMBOL, length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function(string, arg){ return rxfn.call(string, this, arg); } + ? function (string, arg) { return rxfn.call(string, this, arg); } // 21.2.5.6 RegExp.prototype[@@match](string) // 21.2.5.9 RegExp.prototype[@@search](string) - : function(string){ return rxfn.call(string, this); } + : function (string) { return rxfn.call(string, this); } ); } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_flags.js b/build/js-transpiled/node_modules/core-js/modules/_flags.js index 054f9088..b6fc324b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_flags.js +++ b/build/js-transpiled/node_modules/core-js/modules/_flags.js @@ -1,13 +1,13 @@ 'use strict'; // 21.2.5.3 get RegExp.prototype.flags var anObject = require('./_an-object'); -module.exports = function(){ - var that = anObject(this) - , result = ''; - if(that.global) result += 'g'; - if(that.ignoreCase) result += 'i'; - if(that.multiline) result += 'm'; - if(that.unicode) result += 'u'; - if(that.sticky) result += 'y'; +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; return result; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_flatten-into-array.js b/build/js-transpiled/node_modules/core-js/modules/_flatten-into-array.js new file mode 100644 index 00000000..1838517a --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_flatten-into-array.js @@ -0,0 +1,39 @@ +'use strict'; +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var isArray = require('./_is-array'); +var isObject = require('./_is-object'); +var toLength = require('./_to-length'); +var ctx = require('./_ctx'); +var IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable'); + +function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; + var element, spreadable; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + spreadable = false; + if (isObject(element)) { + spreadable = element[IS_CONCAT_SPREADABLE]; + spreadable = spreadable !== undefined ? !!spreadable : isArray(element); + } + + if (spreadable && depth > 0) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1fffffffffffff) throw TypeError(); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +} + +module.exports = flattenIntoArray; diff --git a/build/js-transpiled/node_modules/core-js/modules/_for-of.js b/build/js-transpiled/node_modules/core-js/modules/_for-of.js index b4824fef..9ed22818 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_for-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/_for-of.js @@ -1,25 +1,25 @@ -var ctx = require('./_ctx') - , call = require('./_iter-call') - , isArrayIter = require('./_is-array-iter') - , anObject = require('./_an-object') - , toLength = require('./_to-length') - , getIterFn = require('./core.get-iterator-method') - , BREAK = {} - , RETURN = {}; -var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ - var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) - , f = ctx(fn, that, entries ? 2 : 1) - , index = 0 - , length, step, iterator, result; - if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); +var ctx = require('./_ctx'); +var call = require('./_iter-call'); +var isArrayIter = require('./_is-array-iter'); +var anObject = require('./_an-object'); +var toLength = require('./_to-length'); +var getIterFn = require('./core.get-iterator-method'); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); // fast case for arrays with default iterator - if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; + if (result === BREAK || result === RETURN) return result; } }; -exports.BREAK = BREAK; -exports.RETURN = RETURN; \ No newline at end of file +exports.BREAK = BREAK; +exports.RETURN = RETURN; diff --git a/build/js-transpiled/node_modules/core-js/modules/_global.js b/build/js-transpiled/node_modules/core-js/modules/_global.js index df6efb47..bf85b44a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_global.js +++ b/build/js-transpiled/node_modules/core-js/modules/_global.js @@ -1,4 +1,6 @@ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); -if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef \ No newline at end of file + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef diff --git a/build/js-transpiled/node_modules/core-js/modules/_has.js b/build/js-transpiled/node_modules/core-js/modules/_has.js index 870b40e7..2a37d8b7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_has.js +++ b/build/js-transpiled/node_modules/core-js/modules/_has.js @@ -1,4 +1,4 @@ var hasOwnProperty = {}.hasOwnProperty; -module.exports = function(it, key){ +module.exports = function (it, key) { return hasOwnProperty.call(it, key); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_hide.js b/build/js-transpiled/node_modules/core-js/modules/_hide.js index 4031e808..cec258a0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_hide.js +++ b/build/js-transpiled/node_modules/core-js/modules/_hide.js @@ -1,8 +1,8 @@ -var dP = require('./_object-dp') - , createDesc = require('./_property-desc'); -module.exports = require('./_descriptors') ? function(object, key, value){ +var dP = require('./_object-dp'); +var createDesc = require('./_property-desc'); +module.exports = require('./_descriptors') ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); -} : function(object, key, value){ +} : function (object, key, value) { object[key] = value; return object; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_html.js b/build/js-transpiled/node_modules/core-js/modules/_html.js index 98f5142c..7daff14c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_html.js +++ b/build/js-transpiled/node_modules/core-js/modules/_html.js @@ -1 +1,2 @@ -module.exports = require('./_global').document && document.documentElement; \ No newline at end of file +var document = require('./_global').document; +module.exports = document && document.documentElement; diff --git a/build/js-transpiled/node_modules/core-js/modules/_ie8-dom-define.js b/build/js-transpiled/node_modules/core-js/modules/_ie8-dom-define.js index 18ffd59d..a3805cb7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_ie8-dom-define.js +++ b/build/js-transpiled/node_modules/core-js/modules/_ie8-dom-define.js @@ -1,3 +1,3 @@ -module.exports = !require('./_descriptors') && !require('./_fails')(function(){ - return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; -}); \ No newline at end of file +module.exports = !require('./_descriptors') && !require('./_fails')(function () { + return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/_inherit-if-required.js b/build/js-transpiled/node_modules/core-js/modules/_inherit-if-required.js index d3948405..b95fcd98 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_inherit-if-required.js +++ b/build/js-transpiled/node_modules/core-js/modules/_inherit-if-required.js @@ -1,8 +1,9 @@ -var isObject = require('./_is-object') - , setPrototypeOf = require('./_set-proto').set; -module.exports = function(that, target, C){ - var P, S = target.constructor; - if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ +var isObject = require('./_is-object'); +var setPrototypeOf = require('./_set-proto').set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { setPrototypeOf(that, P); } return that; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_invoke.js b/build/js-transpiled/node_modules/core-js/modules/_invoke.js index 08e307fd..6cccebdc 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_invoke.js +++ b/build/js-transpiled/node_modules/core-js/modules/_invoke.js @@ -1,7 +1,7 @@ // fast apply, http://jsperf.lnkit.com/fast-apply/5 -module.exports = function(fn, args, that){ +module.exports = function (fn, args, that) { var un = that === undefined; - switch(args.length){ + switch (args.length) { case 0: return un ? fn() : fn.call(that); case 1: return un ? fn(args[0]) @@ -12,5 +12,5 @@ module.exports = function(fn, args, that){ : fn.call(that, args[0], args[1], args[2]); case 4: return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); -}; \ No newline at end of file + } return fn.apply(that, args); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iobject.js b/build/js-transpiled/node_modules/core-js/modules/_iobject.js index b58db489..2b57c8a0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iobject.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iobject.js @@ -1,5 +1,6 @@ // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = require('./_cof'); -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_is-array-iter.js b/build/js-transpiled/node_modules/core-js/modules/_is-array-iter.js index 8139d71c..6f67d905 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_is-array-iter.js +++ b/build/js-transpiled/node_modules/core-js/modules/_is-array-iter.js @@ -1,8 +1,8 @@ // check on default Array iterator -var Iterators = require('./_iterators') - , ITERATOR = require('./_wks')('iterator') - , ArrayProto = Array.prototype; +var Iterators = require('./_iterators'); +var ITERATOR = require('./_wks')('iterator'); +var ArrayProto = Array.prototype; -module.exports = function(it){ +module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_is-array.js b/build/js-transpiled/node_modules/core-js/modules/_is-array.js index b4a3a8ed..0581dc2e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_is-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/_is-array.js @@ -1,5 +1,5 @@ // 7.2.2 IsArray(argument) var cof = require('./_cof'); -module.exports = Array.isArray || function isArray(arg){ +module.exports = Array.isArray || function isArray(arg) { return cof(arg) == 'Array'; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_is-integer.js b/build/js-transpiled/node_modules/core-js/modules/_is-integer.js index 22db67ed..0074ae97 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_is-integer.js +++ b/build/js-transpiled/node_modules/core-js/modules/_is-integer.js @@ -1,6 +1,6 @@ // 20.1.2.3 Number.isInteger(number) -var isObject = require('./_is-object') - , floor = Math.floor; -module.exports = function isInteger(it){ +var isObject = require('./_is-object'); +var floor = Math.floor; +module.exports = function isInteger(it) { return !isObject(it) && isFinite(it) && floor(it) === it; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_is-object.js b/build/js-transpiled/node_modules/core-js/modules/_is-object.js index ee694be2..dda6e04d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_is-object.js +++ b/build/js-transpiled/node_modules/core-js/modules/_is-object.js @@ -1,3 +1,3 @@ -module.exports = function(it){ +module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_is-regexp.js b/build/js-transpiled/node_modules/core-js/modules/_is-regexp.js index 55b2c629..598d159d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_is-regexp.js +++ b/build/js-transpiled/node_modules/core-js/modules/_is-regexp.js @@ -1,8 +1,8 @@ // 7.2.8 IsRegExp(argument) -var isObject = require('./_is-object') - , cof = require('./_cof') - , MATCH = require('./_wks')('match'); -module.exports = function(it){ +var isObject = require('./_is-object'); +var cof = require('./_cof'); +var MATCH = require('./_wks')('match'); +module.exports = function (it) { var isRegExp; return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iter-call.js b/build/js-transpiled/node_modules/core-js/modules/_iter-call.js index e3565ba9..a7026e34 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iter-call.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iter-call.js @@ -1,12 +1,12 @@ // call something on iterator step with safe closing on error var anObject = require('./_an-object'); -module.exports = function(iterator, fn, value, entries){ +module.exports = function (iterator, fn, value, entries) { try { return entries ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion) - } catch(e){ + } catch (e) { var ret = iterator['return']; - if(ret !== undefined)anObject(ret.call(iterator)); + if (ret !== undefined) anObject(ret.call(iterator)); throw e; } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iter-create.js b/build/js-transpiled/node_modules/core-js/modules/_iter-create.js index 9a9aa4fb..04708c83 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iter-create.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iter-create.js @@ -1,13 +1,13 @@ 'use strict'; -var create = require('./_object-create') - , descriptor = require('./_property-desc') - , setToStringTag = require('./_set-to-string-tag') - , IteratorPrototype = {}; +var create = require('./_object-create'); +var descriptor = require('./_property-desc'); +var setToStringTag = require('./_set-to-string-tag'); +var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; }); +require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; }); -module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); setToStringTag(Constructor, NAME + ' Iterator'); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iter-define.js b/build/js-transpiled/node_modules/core-js/modules/_iter-define.js index f72a5021..578dfb73 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iter-define.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iter-define.js @@ -1,70 +1,69 @@ 'use strict'; -var LIBRARY = require('./_library') - , $export = require('./_export') - , redefine = require('./_redefine') - , hide = require('./_hide') - , has = require('./_has') - , Iterators = require('./_iterators') - , $iterCreate = require('./_iter-create') - , setToStringTag = require('./_set-to-string-tag') - , getPrototypeOf = require('./_object-gpo') - , ITERATOR = require('./_wks')('iterator') - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; +var LIBRARY = require('./_library'); +var $export = require('./_export'); +var redefine = require('./_redefine'); +var hide = require('./_hide'); +var Iterators = require('./_iterators'); +var $iterCreate = require('./_iter-create'); +var setToStringTag = require('./_set-to-string-tag'); +var getPrototypeOf = require('./_object-gpo'); +var ITERATOR = require('./_wks')('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; -var returnThis = function(){ return this; }; +var returnThis = function () { return this; }; -module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { $iterCreate(Constructor, NAME, next); - var getMethod = function(kind){ - if(!BUGGY && kind in proto)return proto[kind]; - switch(kind){ - case KEYS: return function keys(){ return new Constructor(this, kind); }; - case VALUES: return function values(){ return new Constructor(this, kind); }; - } return function entries(){ return new Constructor(this, kind); }; + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; }; - var TAG = NAME + ' Iterator' - , DEF_VALUES = DEFAULT == VALUES - , VALUES_BUG = false - , proto = Base.prototype - , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , $default = $native || getMethod(DEFAULT) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ + if (DEF_VALUES && $native && $native.name !== VALUES) { VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; + $default = function values() { return $native.call(this); }; } // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { hide(proto, ITERATOR, $default); } // Plug for library Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ + Iterators[TAG] = returnThis; + if (DEFAULT) { methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; - if(FORCED)for(key in methods){ - if(!(key in proto))redefine(proto, key, methods[key]); + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iter-detect.js b/build/js-transpiled/node_modules/core-js/modules/_iter-detect.js index 87c7aecf..5cb34973 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iter-detect.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iter-detect.js @@ -1,21 +1,22 @@ -var ITERATOR = require('./_wks')('iterator') - , SAFE_CLOSING = false; +var ITERATOR = require('./_wks')('iterator'); +var SAFE_CLOSING = false; try { var riter = [7][ITERATOR](); - riter['return'] = function(){ SAFE_CLOSING = true; }; - Array.from(riter, function(){ throw 2; }); -} catch(e){ /* empty */ } + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } -module.exports = function(exec, skipClosing){ - if(!skipClosing && !SAFE_CLOSING)return false; +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; var safe = false; try { - var arr = [7] - , iter = arr[ITERATOR](); - iter.next = function(){ return {done: safe = true}; }; - arr[ITERATOR] = function(){ return iter; }; + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; exec(arr); - } catch(e){ /* empty */ } + } catch (e) { /* empty */ } return safe; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iter-step.js b/build/js-transpiled/node_modules/core-js/modules/_iter-step.js index 6ff0dc51..b0691c88 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iter-step.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iter-step.js @@ -1,3 +1,3 @@ -module.exports = function(done, value){ - return {value: value, done: !!done}; -}; \ No newline at end of file +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_iterators.js b/build/js-transpiled/node_modules/core-js/modules/_iterators.js index a0995453..f053ebf7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_iterators.js +++ b/build/js-transpiled/node_modules/core-js/modules/_iterators.js @@ -1 +1 @@ -module.exports = {}; \ No newline at end of file +module.exports = {}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_keyof.js b/build/js-transpiled/node_modules/core-js/modules/_keyof.js index 7b63229b..0786096f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_keyof.js +++ b/build/js-transpiled/node_modules/core-js/modules/_keyof.js @@ -1,10 +1,10 @@ -var getKeys = require('./_object-keys') - , toIObject = require('./_to-iobject'); -module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; -}; \ No newline at end of file +var getKeys = require('./_object-keys'); +var toIObject = require('./_to-iobject'); +module.exports = function (object, el) { + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var index = 0; + var key; + while (length > index) if (O[key = keys[index++]] === el) return key; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_library.js b/build/js-transpiled/node_modules/core-js/modules/_library.js index 82e47dd5..a5d30209 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_library.js +++ b/build/js-transpiled/node_modules/core-js/modules/_library.js @@ -1 +1 @@ -module.exports = false; \ No newline at end of file +module.exports = false; diff --git a/build/js-transpiled/node_modules/core-js/modules/_math-expm1.js b/build/js-transpiled/node_modules/core-js/modules/_math-expm1.js index 5131aa95..75c68501 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_math-expm1.js +++ b/build/js-transpiled/node_modules/core-js/modules/_math-expm1.js @@ -5,6 +5,6 @@ module.exports = (!$expm1 || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 // Tor Browser bug || $expm1(-2e-17) != -2e-17 -) ? function expm1(x){ +) ? function expm1(x) { return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; -} : $expm1; \ No newline at end of file +} : $expm1; diff --git a/build/js-transpiled/node_modules/core-js/modules/_math-fround.js b/build/js-transpiled/node_modules/core-js/modules/_math-fround.js new file mode 100644 index 00000000..c85eb4b7 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_math-fround.js @@ -0,0 +1,23 @@ +// 20.2.2.16 Math.fround(x) +var sign = require('./_math-sign'); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_math-log1p.js b/build/js-transpiled/node_modules/core-js/modules/_math-log1p.js index a92bf463..16d5f493 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_math-log1p.js +++ b/build/js-transpiled/node_modules/core-js/modules/_math-log1p.js @@ -1,4 +1,4 @@ // 20.2.2.20 Math.log1p(x) -module.exports = Math.log1p || function log1p(x){ +module.exports = Math.log1p || function log1p(x) { return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_math-scale.js b/build/js-transpiled/node_modules/core-js/modules/_math-scale.js new file mode 100644 index 00000000..ba3cdb20 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_math-scale.js @@ -0,0 +1,18 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + if ( + arguments.length === 0 + // eslint-disable-next-line no-self-compare + || x != x + // eslint-disable-next-line no-self-compare + || inLow != inLow + // eslint-disable-next-line no-self-compare + || inHigh != inHigh + // eslint-disable-next-line no-self-compare + || outLow != outLow + // eslint-disable-next-line no-self-compare + || outHigh != outHigh + ) return NaN; + if (x === Infinity || x === -Infinity) return x; + return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_math-sign.js b/build/js-transpiled/node_modules/core-js/modules/_math-sign.js index a4848df6..7a46b9d0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_math-sign.js +++ b/build/js-transpiled/node_modules/core-js/modules/_math-sign.js @@ -1,4 +1,5 @@ // 20.2.2.28 Math.sign(x) -module.exports = Math.sign || function sign(x){ +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_meta.js b/build/js-transpiled/node_modules/core-js/modules/_meta.js index 7daca009..2d4b3257 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_meta.js +++ b/build/js-transpiled/node_modules/core-js/modules/_meta.js @@ -1,53 +1,53 @@ -var META = require('./_uid')('meta') - , isObject = require('./_is-object') - , has = require('./_has') - , setDesc = require('./_object-dp').f - , id = 0; -var isExtensible = Object.isExtensible || function(){ +var META = require('./_uid')('meta'); +var isObject = require('./_is-object'); +var has = require('./_has'); +var setDesc = require('./_object-dp').f; +var id = 0; +var isExtensible = Object.isExtensible || function () { return true; }; -var FREEZE = !require('./_fails')(function(){ +var FREEZE = !require('./_fails')(function () { return isExtensible(Object.preventExtensions({})); }); -var setMeta = function(it){ - setDesc(it, META, {value: { +var setMeta = function (it) { + setDesc(it, META, { value: { i: 'O' + ++id, // object ID w: {} // weak collections IDs - }}); + } }); }; -var fastKey = function(it, create){ +var fastKey = function (it, create) { // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; + if (!isExtensible(it)) return 'F'; // not necessary to add metadata - if(!create)return 'E'; + if (!create) return 'E'; // add missing metadata setMeta(it); // return object ID } return it[META].i; }; -var getWeak = function(it, create){ - if(!has(it, META)){ +var getWeak = function (it, create) { + if (!has(it, META)) { // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; + if (!isExtensible(it)) return true; // not necessary to add metadata - if(!create)return false; + if (!create) return false; // add missing metadata setMeta(it); // return hash weak collections IDs } return it[META].w; }; // add metadata on freeze-family methods calling -var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); return it; }; var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, onFreeze: onFreeze -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_metadata.js b/build/js-transpiled/node_modules/core-js/modules/_metadata.js index eb5a762d..759cfc44 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/_metadata.js @@ -1,41 +1,41 @@ -var Map = require('./es6.map') - , $export = require('./_export') - , shared = require('./_shared')('metadata') - , store = shared.store || (shared.store = new (require('./es6.weak-map'))); +var Map = require('./es6.map'); +var $export = require('./_export'); +var shared = require('./_shared')('metadata'); +var store = shared.store || (shared.store = new (require('./es6.weak-map'))()); -var getOrCreateMetadataMap = function(target, targetKey, create){ +var getOrCreateMetadataMap = function (target, targetKey, create) { var targetMetadata = store.get(target); - if(!targetMetadata){ - if(!create)return undefined; - store.set(target, targetMetadata = new Map); + if (!targetMetadata) { + if (!create) return undefined; + store.set(target, targetMetadata = new Map()); } var keyMetadata = targetMetadata.get(targetKey); - if(!keyMetadata){ - if(!create)return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map); + if (!keyMetadata) { + if (!create) return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map()); } return keyMetadata; }; -var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { var metadataMap = getOrCreateMetadataMap(O, P, false); return metadataMap === undefined ? false : metadataMap.has(MetadataKey); }; -var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { var metadataMap = getOrCreateMetadataMap(O, P, false); return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); }; -var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); }; -var ordinaryOwnMetadataKeys = function(target, targetKey){ - var metadataMap = getOrCreateMetadataMap(target, targetKey, false) - , keys = []; - if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); return keys; }; -var toMetaKey = function(it){ +var toMetaKey = function (it) { return it === undefined || typeof it == 'symbol' ? it : String(it); }; -var exp = function(O){ +var exp = function (O) { $export($export.S, 'Reflect', O); }; @@ -48,4 +48,4 @@ module.exports = { keys: ordinaryOwnMetadataKeys, key: toMetaKey, exp: exp -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_microtask.js b/build/js-transpiled/node_modules/core-js/modules/_microtask.js index b0f2a0df..b321c648 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_microtask.js +++ b/build/js-transpiled/node_modules/core-js/modules/_microtask.js @@ -1,47 +1,48 @@ -var global = require('./_global') - , macrotask = require('./_task').set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , Promise = global.Promise - , isNode = require('./_cof')(process) == 'process'; +var global = require('./_global'); +var macrotask = require('./_task').set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = require('./_cof')(process) == 'process'; -module.exports = function(){ +module.exports = function () { var head, last, notify; - var flush = function(){ + var flush = function () { var parent, fn; - if(isNode && (parent = process.domain))parent.exit(); - while(head){ - fn = head.fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; head = head.next; try { fn(); - } catch(e){ - if(head)notify(); + } catch (e) { + if (head) notify(); else last = undefined; throw e; } } last = undefined; - if(parent)parent.enter(); + if (parent) parent.enter(); }; // Node.js - if(isNode){ - notify = function(){ + if (isNode) { + notify = function () { process.nextTick(flush); }; - // browsers with MutationObserver - } else if(Observer){ - var toggle = true - , node = document.createTextNode(''); - new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new - notify = function(){ + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { node.data = toggle = !toggle; }; // environments with maybe non-completely correct, but existent Promise - } else if(Promise && Promise.resolve){ - var promise = Promise.resolve(); - notify = function(){ + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { promise.then(flush); }; // for other environments - macrotask based on: @@ -51,18 +52,18 @@ module.exports = function(){ // - onreadystatechange // - setTimeout } else { - notify = function(){ + notify = function () { // strange IE + webpack dev server bug - use .call(global) macrotask.call(global, flush); }; } - return function(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { head = task; notify(); } last = task; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_new-promise-capability.js b/build/js-transpiled/node_modules/core-js/modules/_new-promise-capability.js new file mode 100644 index 00000000..82b74a33 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_new-promise-capability.js @@ -0,0 +1,18 @@ +'use strict'; +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = require('./_a-function'); + +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} + +module.exports.f = function (C) { + return new PromiseCapability(C); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-assign.js b/build/js-transpiled/node_modules/core-js/modules/_object-assign.js index c575aba2..7d4943a2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-assign.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-assign.js @@ -1,33 +1,34 @@ 'use strict'; // 19.1.2.1 Object.assign(target, source, ...) -var getKeys = require('./_object-keys') - , gOPS = require('./_object-gops') - , pIE = require('./_object-pie') - , toObject = require('./_to-object') - , IObject = require('./_iobject') - , $assign = Object.assign; +var getKeys = require('./_object-keys'); +var gOPS = require('./_object-gops'); +var pIE = require('./_object-pie'); +var toObject = require('./_to-object'); +var IObject = require('./_iobject'); +var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || require('./_fails')(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; +module.exports = !$assign || require('./_fails')(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); + K.split('').forEach(function (k) { B[k] = k; }); return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; } return T; -} : $assign; \ No newline at end of file +} : $assign; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-create.js b/build/js-transpiled/node_modules/core-js/modules/_object-create.js index 3379760f..a76808ea 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-create.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-create.js @@ -1,19 +1,19 @@ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = require('./_an-object') - , dPs = require('./_object-dps') - , enumBugKeys = require('./_enum-bug-keys') - , IE_PROTO = require('./_shared-key')('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; +var anObject = require('./_an-object'); +var dPs = require('./_object-dps'); +var enumBugKeys = require('./_enum-bug-keys'); +var IE_PROTO = require('./_shared-key')('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function(){ +var createDict = function () { // Thrash, waste and sodomy: IE GC bug - var iframe = require('./_dom-create')('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; + var iframe = require('./_dom-create')('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; iframe.style.display = 'none'; require('./_html').appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url @@ -24,15 +24,15 @@ var createDict = function(){ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; -module.exports = Object.create || function create(O, Properties){ +module.exports = Object.create || function create(O, Properties) { var result; - if(O !== null){ + if (O !== null) { Empty[PROTOTYPE] = anObject(O); - result = new Empty; + result = new Empty(); Empty[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-define.js b/build/js-transpiled/node_modules/core-js/modules/_object-define.js index f246c4e3..4d131f33 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-define.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-define.js @@ -1,12 +1,13 @@ -var dP = require('./_object-dp') - , gOPD = require('./_object-gopd') - , ownKeys = require('./_own-keys') - , toIObject = require('./_to-iobject'); +var dP = require('./_object-dp'); +var gOPD = require('./_object-gopd'); +var ownKeys = require('./_own-keys'); +var toIObject = require('./_to-iobject'); -module.exports = function define(target, mixin){ - var keys = ownKeys(toIObject(mixin)) - , length = keys.length - , i = 0, key; - while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key)); +module.exports = function define(target, mixin) { + var keys = ownKeys(toIObject(mixin)); + var length = keys.length; + var i = 0; + var key; + while (length > i) dP.f(target, key = keys[i++], gOPD.f(mixin, key)); return target; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-dp.js b/build/js-transpiled/node_modules/core-js/modules/_object-dp.js index e7ca8a46..0340a830 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-dp.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-dp.js @@ -1,16 +1,16 @@ -var anObject = require('./_an-object') - , IE8_DOM_DEFINE = require('./_ie8-dom-define') - , toPrimitive = require('./_to-primitive') - , dP = Object.defineProperty; +var anObject = require('./_an-object'); +var IE8_DOM_DEFINE = require('./_ie8-dom-define'); +var toPrimitive = require('./_to-primitive'); +var dP = Object.defineProperty; -exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){ +exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); - if(IE8_DOM_DEFINE)try { + if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-dps.js b/build/js-transpiled/node_modules/core-js/modules/_object-dps.js index 8cd4147a..173c338f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-dps.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-dps.js @@ -1,13 +1,13 @@ -var dP = require('./_object-dp') - , anObject = require('./_an-object') - , getKeys = require('./_object-keys'); +var dP = require('./_object-dp'); +var anObject = require('./_an-object'); +var getKeys = require('./_object-keys'); -module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){ +module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); return O; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-forced-pam.js b/build/js-transpiled/node_modules/core-js/modules/_object-forced-pam.js index 668a07dc..71ede922 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-forced-pam.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-forced-pam.js @@ -1,7 +1,9 @@ +'use strict'; // Forced replacement prototype accessors methods -module.exports = require('./_library')|| !require('./_fails')(function(){ +module.exports = require('./_library') || !require('./_fails')(function () { var K = Math.random(); // In FF throws only define methods - __defineSetter__.call(null, K, function(){ /* empty */}); + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, K, function () { /* empty */ }); delete require('./_global')[K]; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-gopd.js b/build/js-transpiled/node_modules/core-js/modules/_object-gopd.js index 756206ab..555dd31a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-gopd.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-gopd.js @@ -1,16 +1,16 @@ -var pIE = require('./_object-pie') - , createDesc = require('./_property-desc') - , toIObject = require('./_to-iobject') - , toPrimitive = require('./_to-primitive') - , has = require('./_has') - , IE8_DOM_DEFINE = require('./_ie8-dom-define') - , gOPD = Object.getOwnPropertyDescriptor; +var pIE = require('./_object-pie'); +var createDesc = require('./_property-desc'); +var toIObject = require('./_to-iobject'); +var toPrimitive = require('./_to-primitive'); +var has = require('./_has'); +var IE8_DOM_DEFINE = require('./_ie8-dom-define'); +var gOPD = Object.getOwnPropertyDescriptor; -exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){ +exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) { O = toIObject(O); P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { + if (IE8_DOM_DEFINE) try { return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); -}; \ No newline at end of file + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-gopn-ext.js b/build/js-transpiled/node_modules/core-js/modules/_object-gopn-ext.js index f4d10b4a..4abb6ae8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-gopn-ext.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-gopn-ext.js @@ -1,19 +1,19 @@ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window -var toIObject = require('./_to-iobject') - , gOPN = require('./_object-gopn').f - , toString = {}.toString; +var toIObject = require('./_to-iobject'); +var gOPN = require('./_object-gopn').f; +var toString = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; -var getWindowNames = function(it){ +var getWindowNames = function (it) { try { return gOPN(it); - } catch(e){ + } catch (e) { return windowNames.slice(); } }; -module.exports.f = function getOwnPropertyNames(it){ +module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-gopn.js b/build/js-transpiled/node_modules/core-js/modules/_object-gopn.js index beebf4da..da82333f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-gopn.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-gopn.js @@ -1,7 +1,7 @@ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = require('./_object-keys-internal') - , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); +var $keys = require('./_object-keys-internal'); +var hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-gops.js b/build/js-transpiled/node_modules/core-js/modules/_object-gops.js index 8f93d76b..bc067290 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-gops.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-gops.js @@ -1 +1 @@ -exports.f = Object.getOwnPropertySymbols; \ No newline at end of file +exports.f = Object.getOwnPropertySymbols; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-gpo.js b/build/js-transpiled/node_modules/core-js/modules/_object-gpo.js index 535dc6e9..27f2a94e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-gpo.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-gpo.js @@ -1,13 +1,13 @@ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = require('./_has') - , toObject = require('./_to-object') - , IE_PROTO = require('./_shared-key')('IE_PROTO') - , ObjectProto = Object.prototype; +var has = require('./_has'); +var toObject = require('./_to-object'); +var IE_PROTO = require('./_shared-key')('IE_PROTO'); +var ObjectProto = Object.prototype; -module.exports = Object.getPrototypeOf || function(O){ +module.exports = Object.getPrototypeOf || function (O) { O = toObject(O); - if(has(O, IE_PROTO))return O[IE_PROTO]; - if(typeof O.constructor == 'function' && O instanceof O.constructor){ + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-keys-internal.js b/build/js-transpiled/node_modules/core-js/modules/_object-keys-internal.js index e23481d7..71abdd1a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-keys-internal.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-keys-internal.js @@ -1,17 +1,17 @@ -var has = require('./_has') - , toIObject = require('./_to-iobject') - , arrayIndexOf = require('./_array-includes')(false) - , IE_PROTO = require('./_shared-key')('IE_PROTO'); +var has = require('./_has'); +var toIObject = require('./_to-iobject'); +var arrayIndexOf = require('./_array-includes')(false); +var IE_PROTO = require('./_shared-key')('IE_PROTO'); -module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ + while (names.length > i) if (has(O, key = names[i++])) { ~arrayIndexOf(result, key) || result.push(key); } return result; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-keys.js b/build/js-transpiled/node_modules/core-js/modules/_object-keys.js index 11d4ccee..62f73f91 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-keys.js @@ -1,7 +1,7 @@ // 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = require('./_object-keys-internal') - , enumBugKeys = require('./_enum-bug-keys'); +var $keys = require('./_object-keys-internal'); +var enumBugKeys = require('./_enum-bug-keys'); -module.exports = Object.keys || function keys(O){ +module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-pie.js b/build/js-transpiled/node_modules/core-js/modules/_object-pie.js index 13479a17..4cc71072 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-pie.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-pie.js @@ -1 +1 @@ -exports.f = {}.propertyIsEnumerable; \ No newline at end of file +exports.f = {}.propertyIsEnumerable; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-sap.js b/build/js-transpiled/node_modules/core-js/modules/_object-sap.js index b76fec5f..643535e0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-sap.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-sap.js @@ -1,10 +1,10 @@ // most Object methods by ES6 should accept primitives -var $export = require('./_export') - , core = require('./_core') - , fails = require('./_fails'); -module.exports = function(KEY, exec){ - var fn = (core.Object || {})[KEY] || Object[KEY] - , exp = {}; +var $export = require('./_export'); +var core = require('./_core'); +var fails = require('./_fails'); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); -}; \ No newline at end of file + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_object-to-array.js b/build/js-transpiled/node_modules/core-js/modules/_object-to-array.js index b6fdf05d..120100d0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_object-to-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/_object-to-array.js @@ -1,16 +1,16 @@ -var getKeys = require('./_object-keys') - , toIObject = require('./_to-iobject') - , isEnum = require('./_object-pie').f; -module.exports = function(isEntries){ - return function(it){ - var O = toIObject(it) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , result = [] - , key; - while(length > i)if(isEnum.call(O, key = keys[i++])){ +var getKeys = require('./_object-keys'); +var toIObject = require('./_to-iobject'); +var isEnum = require('./_object-pie').f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { result.push(isEntries ? [key, O[key]] : O[key]); } return result; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_own-keys.js b/build/js-transpiled/node_modules/core-js/modules/_own-keys.js index 045ce3d5..84faece8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_own-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/_own-keys.js @@ -1,10 +1,10 @@ // all object keys, includes non-enumerable and symbols -var gOPN = require('./_object-gopn') - , gOPS = require('./_object-gops') - , anObject = require('./_an-object') - , Reflect = require('./_global').Reflect; -module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ - var keys = gOPN.f(anObject(it)) - , getSymbols = gOPS.f; +var gOPN = require('./_object-gopn'); +var gOPS = require('./_object-gops'); +var anObject = require('./_an-object'); +var Reflect = require('./_global').Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; return getSymbols ? keys.concat(getSymbols(it)) : keys; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_parse-float.js b/build/js-transpiled/node_modules/core-js/modules/_parse-float.js index 3d0e6531..acfb350f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_parse-float.js +++ b/build/js-transpiled/node_modules/core-js/modules/_parse-float.js @@ -1,8 +1,8 @@ -var $parseFloat = require('./_global').parseFloat - , $trim = require('./_string-trim').trim; +var $parseFloat = require('./_global').parseFloat; +var $trim = require('./_string-trim').trim; -module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){ - var string = $trim(String(str), 3) - , result = $parseFloat(string); +module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); return result === 0 && string.charAt(0) == '-' ? -0 : result; -} : $parseFloat; \ No newline at end of file +} : $parseFloat; diff --git a/build/js-transpiled/node_modules/core-js/modules/_parse-int.js b/build/js-transpiled/node_modules/core-js/modules/_parse-int.js index c23ffc09..ddd7172a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_parse-int.js +++ b/build/js-transpiled/node_modules/core-js/modules/_parse-int.js @@ -1,9 +1,9 @@ -var $parseInt = require('./_global').parseInt - , $trim = require('./_string-trim').trim - , ws = require('./_string-ws') - , hex = /^[\-+]?0[xX]/; +var $parseInt = require('./_global').parseInt; +var $trim = require('./_string-trim').trim; +var ws = require('./_string-ws'); +var hex = /^[-+]?0[xX]/; -module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){ +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { var string = $trim(String(str), 3); return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); -} : $parseInt; \ No newline at end of file +} : $parseInt; diff --git a/build/js-transpiled/node_modules/core-js/modules/_partial.js b/build/js-transpiled/node_modules/core-js/modules/_partial.js index 3d411b70..ca3f35bf 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_partial.js +++ b/build/js-transpiled/node_modules/core-js/modules/_partial.js @@ -1,23 +1,25 @@ 'use strict'; -var path = require('./_path') - , invoke = require('./_invoke') - , aFunction = require('./_a-function'); -module.exports = function(/* ...pargs */){ - var fn = aFunction(this) - , length = arguments.length - , pargs = Array(length) - , i = 0 - , _ = path._ - , holder = false; - while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; - return function(/* ...args */){ - var that = this - , aLen = arguments.length - , j = 0, k = 0, args; - if(!holder && !aLen)return invoke(fn, pargs, that); +var path = require('./_path'); +var invoke = require('./_invoke'); +var aFunction = require('./_a-function'); +module.exports = function (/* ...pargs */) { + var fn = aFunction(this); + var length = arguments.length; + var pargs = new Array(length); + var i = 0; + var _ = path._; + var holder = false; + while (length > i) if ((pargs[i] = arguments[i++]) === _) holder = true; + return function (/* ...args */) { + var that = this; + var aLen = arguments.length; + var j = 0; + var k = 0; + var args; + if (!holder && !aLen) return invoke(fn, pargs, that); args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(aLen > k)args.push(arguments[k++]); + if (holder) for (;length > j; j++) if (args[j] === _) args[j] = arguments[k++]; + while (aLen > k) args.push(arguments[k++]); return invoke(fn, args, that); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_path.js b/build/js-transpiled/node_modules/core-js/modules/_path.js index d63df9d4..754592ad 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_path.js +++ b/build/js-transpiled/node_modules/core-js/modules/_path.js @@ -1 +1 @@ -module.exports = require('./_global'); \ No newline at end of file +module.exports = require('./_global'); diff --git a/build/js-transpiled/node_modules/core-js/modules/_perform.js b/build/js-transpiled/node_modules/core-js/modules/_perform.js new file mode 100644 index 00000000..bfc7b296 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_perform.js @@ -0,0 +1,7 @@ +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_promise-resolve.js b/build/js-transpiled/node_modules/core-js/modules/_promise-resolve.js new file mode 100644 index 00000000..c3cac764 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_promise-resolve.js @@ -0,0 +1,12 @@ +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var newPromiseCapability = require('./_new-promise-capability'); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_property-desc.js b/build/js-transpiled/node_modules/core-js/modules/_property-desc.js index e3f7ab2d..09059340 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_property-desc.js +++ b/build/js-transpiled/node_modules/core-js/modules/_property-desc.js @@ -1,8 +1,8 @@ -module.exports = function(bitmap, value){ +module.exports = function (bitmap, value) { return { - enumerable : !(bitmap & 1), + enumerable: !(bitmap & 1), configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value + writable: !(bitmap & 4), + value: value }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_redefine-all.js b/build/js-transpiled/node_modules/core-js/modules/_redefine-all.js index ec1c5f76..dcf7944f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_redefine-all.js +++ b/build/js-transpiled/node_modules/core-js/modules/_redefine-all.js @@ -1,5 +1,5 @@ var redefine = require('./_redefine'); -module.exports = function(target, src, safe){ - for(var key in src)redefine(target, key, src[key], safe); +module.exports = function (target, src, safe) { + for (var key in src) redefine(target, key, src[key], safe); return target; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_redefine.js b/build/js-transpiled/node_modules/core-js/modules/_redefine.js index 8e1bfe06..b7ba9f30 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_redefine.js +++ b/build/js-transpiled/node_modules/core-js/modules/_redefine.js @@ -1,32 +1,31 @@ -var global = require('./_global') - , hide = require('./_hide') - , has = require('./_has') - , SRC = require('./_uid')('src') - , TO_STRING = 'toString' - , $toString = Function[TO_STRING] - , TPL = ('' + $toString).split(TO_STRING); +var global = require('./_global'); +var hide = require('./_hide'); +var has = require('./_has'); +var SRC = require('./_uid')('src'); +var TO_STRING = 'toString'; +var $toString = Function[TO_STRING]; +var TPL = ('' + $toString).split(TO_STRING); -require('./_core').inspectSource = function(it){ +require('./_core').inspectSource = function (it) { return $toString.call(it); }; -(module.exports = function(O, key, val, safe){ +(module.exports = function (O, key, val, safe) { var isFunction = typeof val == 'function'; - if(isFunction)has(val, 'name') || hide(val, 'name', key); - if(O[key] === val)return; - if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if(O === global){ + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + hide(O, key, val); + } else if (O[key]) { O[key] = val; } else { - if(!safe){ - delete O[key]; - hide(O, key, val); - } else { - if(O[key])O[key] = val; - else hide(O, key, val); - } + hide(O, key, val); } // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, TO_STRING, function toString(){ +})(Function.prototype, TO_STRING, function toString() { return typeof this == 'function' && this[SRC] || $toString.call(this); -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/_replacer.js b/build/js-transpiled/node_modules/core-js/modules/_replacer.js index 5360a3d3..c37703dd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_replacer.js +++ b/build/js-transpiled/node_modules/core-js/modules/_replacer.js @@ -1,8 +1,8 @@ -module.exports = function(regExp, replace){ - var replacer = replace === Object(replace) ? function(part){ +module.exports = function (regExp, replace) { + var replacer = replace === Object(replace) ? function (part) { return replace[part]; } : replace; - return function(it){ + return function (it) { return String(it).replace(regExp, replacer); }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_same-value.js b/build/js-transpiled/node_modules/core-js/modules/_same-value.js index 8c2b8c7f..c6d045e8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_same-value.js +++ b/build/js-transpiled/node_modules/core-js/modules/_same-value.js @@ -1,4 +1,5 @@ // 7.2.9 SameValue(x, y) -module.exports = Object.is || function is(x, y){ +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_set-collection-from.js b/build/js-transpiled/node_modules/core-js/modules/_set-collection-from.js new file mode 100644 index 00000000..d5001f93 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_set-collection-from.js @@ -0,0 +1,28 @@ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var ctx = require('./_ctx'); +var forOf = require('./_for-of'); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_set-collection-of.js b/build/js-transpiled/node_modules/core-js/modules/_set-collection-of.js new file mode 100644 index 00000000..f559af3f --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_set-collection-of.js @@ -0,0 +1,12 @@ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = require('./_export'); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { of: function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); + } }); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_set-proto.js b/build/js-transpiled/node_modules/core-js/modules/_set-proto.js index 8d5dad3f..c1990622 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_set-proto.js +++ b/build/js-transpiled/node_modules/core-js/modules/_set-proto.js @@ -1,25 +1,25 @@ // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ -var isObject = require('./_is-object') - , anObject = require('./_an-object'); -var check = function(O, proto){ +var isObject = require('./_is-object'); +var anObject = require('./_an-object'); +var check = function (O, proto) { anObject(O); - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function(test, buggy, set){ + function (test, buggy, set) { try { set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); - } catch(e){ buggy = true; } - return function setPrototypeOf(O, proto){ + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { check(O, proto); - if(buggy)O.__proto__ = proto; + if (buggy) O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_set-species.js b/build/js-transpiled/node_modules/core-js/modules/_set-species.js index a21bd039..2d505d2a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_set-species.js +++ b/build/js-transpiled/node_modules/core-js/modules/_set-species.js @@ -1,13 +1,13 @@ 'use strict'; -var global = require('./_global') - , dP = require('./_object-dp') - , DESCRIPTORS = require('./_descriptors') - , SPECIES = require('./_wks')('species'); +var global = require('./_global'); +var dP = require('./_object-dp'); +var DESCRIPTORS = require('./_descriptors'); +var SPECIES = require('./_wks')('species'); -module.exports = function(KEY){ +module.exports = function (KEY) { var C = global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { configurable: true, - get: function(){ return this; } + get: function () { return this; } }); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_set-to-string-tag.js b/build/js-transpiled/node_modules/core-js/modules/_set-to-string-tag.js index ffbdddab..5bd64144 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_set-to-string-tag.js +++ b/build/js-transpiled/node_modules/core-js/modules/_set-to-string-tag.js @@ -1,7 +1,7 @@ -var def = require('./_object-dp').f - , has = require('./_has') - , TAG = require('./_wks')('toStringTag'); +var def = require('./_object-dp').f; +var has = require('./_has'); +var TAG = require('./_wks')('toStringTag'); -module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); -}; \ No newline at end of file +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_shared-key.js b/build/js-transpiled/node_modules/core-js/modules/_shared-key.js index 5ed76349..d47fe7a2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_shared-key.js +++ b/build/js-transpiled/node_modules/core-js/modules/_shared-key.js @@ -1,5 +1,5 @@ -var shared = require('./_shared')('keys') - , uid = require('./_uid'); -module.exports = function(key){ +var shared = require('./_shared')('keys'); +var uid = require('./_uid'); +module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_shared.js b/build/js-transpiled/node_modules/core-js/modules/_shared.js index 3f9e4c89..2c6abc22 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_shared.js +++ b/build/js-transpiled/node_modules/core-js/modules/_shared.js @@ -1,6 +1,12 @@ -var global = require('./_global') - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); -module.exports = function(key){ - return store[key] || (store[key] = {}); -}; \ No newline at end of file +var core = require('./_core'); +var global = require('./_global'); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: require('./_library') ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/_species-constructor.js b/build/js-transpiled/node_modules/core-js/modules/_species-constructor.js index 7a4d1baf..0cb4ffb8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_species-constructor.js +++ b/build/js-transpiled/node_modules/core-js/modules/_species-constructor.js @@ -1,8 +1,9 @@ // 7.3.20 SpeciesConstructor(O, defaultConstructor) -var anObject = require('./_an-object') - , aFunction = require('./_a-function') - , SPECIES = require('./_wks')('species'); -module.exports = function(O, D){ - var C = anObject(O).constructor, S; +var anObject = require('./_an-object'); +var aFunction = require('./_a-function'); +var SPECIES = require('./_wks')('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_strict-method.js b/build/js-transpiled/node_modules/core-js/modules/_strict-method.js index 96b6c6e8..e68f41bb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_strict-method.js +++ b/build/js-transpiled/node_modules/core-js/modules/_strict-method.js @@ -1,7 +1,9 @@ +'use strict'; var fails = require('./_fails'); -module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); }); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-at.js b/build/js-transpiled/node_modules/core-js/modules/_string-at.js index ecc0d21c..88d66bd1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-at.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-at.js @@ -1,17 +1,17 @@ -var toInteger = require('./_to-integer') - , defined = require('./_defined'); +var toInteger = require('./_to-integer'); +var defined = require('./_defined'); // true -> String#at // false -> String#codePointAt -module.exports = function(TO_STRING){ - return function(that, pos){ - var s = String(defined(that)) - , i = toInteger(pos) - , l = s.length - , a, b; - if(i < 0 || i >= l)return TO_STRING ? '' : undefined; +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-context.js b/build/js-transpiled/node_modules/core-js/modules/_string-context.js index 5f513483..becf3fbe 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-context.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-context.js @@ -1,8 +1,8 @@ // helper for String#{startsWith, endsWith, includes} -var isRegExp = require('./_is-regexp') - , defined = require('./_defined'); +var isRegExp = require('./_is-regexp'); +var defined = require('./_defined'); -module.exports = function(that, searchString, NAME){ - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); return String(defined(that)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-html.js b/build/js-transpiled/node_modules/core-js/modules/_string-html.js index 95daf812..1dcc95bc 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-html.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-html.js @@ -1,19 +1,19 @@ -var $export = require('./_export') - , fails = require('./_fails') - , defined = require('./_defined') - , quot = /"/g; +var $export = require('./_export'); +var fails = require('./_fails'); +var defined = require('./_defined'); +var quot = /"/g; // B.2.3.2.1 CreateHTML(string, tag, attribute, value) -var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)) - , p1 = '<' + tag; - if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; return p1 + '>' + S + ''; }; -module.exports = function(NAME, exec){ +module.exports = function (NAME, exec) { var O = {}; O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function(){ + $export($export.P + $export.F * fails(function () { var test = ''[NAME]('"'); return test !== test.toLowerCase() || test.split('"').length > 3; }), 'String', O); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-pad.js b/build/js-transpiled/node_modules/core-js/modules/_string-pad.js index dccd155e..ceb6077f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-pad.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-pad.js @@ -1,16 +1,16 @@ // https://github.com/tc39/proposal-string-pad-start-end -var toLength = require('./_to-length') - , repeat = require('./_string-repeat') - , defined = require('./_defined'); +var toLength = require('./_to-length'); +var repeat = require('./_string-repeat'); +var defined = require('./_defined'); -module.exports = function(that, maxLength, fillString, left){ - var S = String(defined(that)) - , stringLength = S.length - , fillStr = fillString === undefined ? ' ' : String(fillString) - , intMaxLength = toLength(maxLength); - if(intMaxLength <= stringLength || fillStr == '')return S; - var fillLen = intMaxLength - stringLength - , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); return left ? stringFiller + S : S + stringFiller; }; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-repeat.js b/build/js-transpiled/node_modules/core-js/modules/_string-repeat.js index 88fd3a2d..a69b9626 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-repeat.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-repeat.js @@ -1,12 +1,12 @@ 'use strict'; -var toInteger = require('./_to-integer') - , defined = require('./_defined'); +var toInteger = require('./_to-integer'); +var defined = require('./_defined'); -module.exports = function repeat(count){ - var str = String(defined(this)) - , res = '' - , n = toInteger(count); - if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); - for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; return res; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-trim.js b/build/js-transpiled/node_modules/core-js/modules/_string-trim.js index d12de1ce..6b54a81a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-trim.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-trim.js @@ -1,30 +1,30 @@ -var $export = require('./_export') - , defined = require('./_defined') - , fails = require('./_fails') - , spaces = require('./_string-ws') - , space = '[' + spaces + ']' - , non = '\u200b\u0085' - , ltrim = RegExp('^' + space + space + '*') - , rtrim = RegExp(space + space + '*$'); +var $export = require('./_export'); +var defined = require('./_defined'); +var fails = require('./_fails'); +var spaces = require('./_string-ws'); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); -var exporter = function(KEY, exec, ALIAS){ - var exp = {}; - var FORCE = fails(function(){ +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { return !!spaces[KEY]() || non[KEY]() != non; }); var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if(ALIAS)exp[ALIAS] = fn; + if (ALIAS) exp[ALIAS] = fn; $export($export.P + $export.F * FORCE, 'String', exp); }; // 1 -> String#trimLeft // 2 -> String#trimRight // 3 -> String#trim -var trim = exporter.trim = function(string, TYPE){ +var trim = exporter.trim = function (string, TYPE) { string = String(defined(string)); - if(TYPE & 1)string = string.replace(ltrim, ''); - if(TYPE & 2)string = string.replace(rtrim, ''); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); return string; }; -module.exports = exporter; \ No newline at end of file +module.exports = exporter; diff --git a/build/js-transpiled/node_modules/core-js/modules/_string-ws.js b/build/js-transpiled/node_modules/core-js/modules/_string-ws.js index 9713d11d..2c68cf9f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_string-ws.js +++ b/build/js-transpiled/node_modules/core-js/modules/_string-ws.js @@ -1,2 +1,2 @@ module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; \ No newline at end of file + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; diff --git a/build/js-transpiled/node_modules/core-js/modules/_task.js b/build/js-transpiled/node_modules/core-js/modules/_task.js index 06a73f40..8777a6e2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_task.js +++ b/build/js-transpiled/node_modules/core-js/modules/_task.js @@ -1,75 +1,84 @@ -var ctx = require('./_ctx') - , invoke = require('./_invoke') - , html = require('./_html') - , cel = require('./_dom-create') - , global = require('./_global') - , process = global.process - , setTask = global.setImmediate - , clearTask = global.clearImmediate - , MessageChannel = global.MessageChannel - , counter = 0 - , queue = {} - , ONREADYSTATECHANGE = 'onreadystatechange' - , defer, channel, port; -var run = function(){ +var ctx = require('./_ctx'); +var invoke = require('./_invoke'); +var html = require('./_html'); +var cel = require('./_dom-create'); +var global = require('./_global'); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { var id = +this; - if(queue.hasOwnProperty(id)){ + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { var fn = queue[id]; delete queue[id]; fn(); } }; -var listener = function(event){ +var listener = function (event) { run.call(event.data); }; // Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if(!setTask || !clearTask){ - setTask = function setImmediate(fn){ - var args = [], i = 1; - while(arguments.length > i)args.push(arguments[i++]); - queue[++counter] = function(){ +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func invoke(typeof fn == 'function' ? fn : Function(fn), args); }; defer(counter); return counter; }; - clearTask = function clearImmediate(id){ + clearTask = function clearImmediate(id) { delete queue[id]; }; // Node.js 0.8- - if(require('./_cof')(process) == 'process'){ - defer = function(id){ + if (require('./_cof')(process) == 'process') { + defer = function (id) { process.nextTick(ctx(run, id, 1)); }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; // Browsers with MessageChannel, includes WebWorkers - } else if(MessageChannel){ - channel = new MessageChannel; - port = channel.port2; + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; channel.port1.onmessage = listener; defer = ctx(port.postMessage, port, 1); // Browsers with postMessage, skip WebWorkers // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ - defer = function(id){ + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { global.postMessage(id + '', '*'); }; global.addEventListener('message', listener, false); // IE8- - } else if(ONREADYSTATECHANGE in cel('script')){ - defer = function(id){ - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){ + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { html.removeChild(this); run.call(id); }; }; // Rest old browsers } else { - defer = function(id){ + defer = function (id) { setTimeout(ctx(run, id, 1), 0); }; } } module.exports = { - set: setTask, + set: setTask, clear: clearTask -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-absolute-index.js b/build/js-transpiled/node_modules/core-js/modules/_to-absolute-index.js new file mode 100644 index 00000000..dfee02e8 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_to-absolute-index.js @@ -0,0 +1,7 @@ +var toInteger = require('./_to-integer'); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-index.js b/build/js-transpiled/node_modules/core-js/modules/_to-index.js index 4d380ce1..8f51c32d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_to-index.js +++ b/build/js-transpiled/node_modules/core-js/modules/_to-index.js @@ -1,7 +1,10 @@ -var toInteger = require('./_to-integer') - , max = Math.max - , min = Math.min; -module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; \ No newline at end of file +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = require('./_to-integer'); +var toLength = require('./_to-length'); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-integer.js b/build/js-transpiled/node_modules/core-js/modules/_to-integer.js index f63baaff..3d50f97d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_to-integer.js +++ b/build/js-transpiled/node_modules/core-js/modules/_to-integer.js @@ -1,6 +1,6 @@ // 7.1.4 ToInteger -var ceil = Math.ceil - , floor = Math.floor; -module.exports = function(it){ +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-iobject.js b/build/js-transpiled/node_modules/core-js/modules/_to-iobject.js index 4eb43462..7614503a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_to-iobject.js +++ b/build/js-transpiled/node_modules/core-js/modules/_to-iobject.js @@ -1,6 +1,6 @@ // to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = require('./_iobject') - , defined = require('./_defined'); -module.exports = function(it){ +var IObject = require('./_iobject'); +var defined = require('./_defined'); +module.exports = function (it) { return IObject(defined(it)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-length.js b/build/js-transpiled/node_modules/core-js/modules/_to-length.js index 4099e60b..a9db5017 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_to-length.js +++ b/build/js-transpiled/node_modules/core-js/modules/_to-length.js @@ -1,6 +1,6 @@ // 7.1.15 ToLength -var toInteger = require('./_to-integer') - , min = Math.min; -module.exports = function(it){ +var toInteger = require('./_to-integer'); +var min = Math.min; +module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-object.js b/build/js-transpiled/node_modules/core-js/modules/_to-object.js index f2c28b3f..0efea4c6 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_to-object.js +++ b/build/js-transpiled/node_modules/core-js/modules/_to-object.js @@ -1,5 +1,5 @@ // 7.1.13 ToObject(argument) var defined = require('./_defined'); -module.exports = function(it){ +module.exports = function (it) { return Object(defined(it)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_to-primitive.js b/build/js-transpiled/node_modules/core-js/modules/_to-primitive.js index 16354eed..de3dd6b1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_to-primitive.js +++ b/build/js-transpiled/node_modules/core-js/modules/_to-primitive.js @@ -2,11 +2,11 @@ var isObject = require('./_is-object'); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string -module.exports = function(it, S){ - if(!isObject(it))return it; +module.exports = function (it, S) { + if (!isObject(it)) return it; var fn, val; - if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; throw TypeError("Can't convert object to primitive value"); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_typed-array.js b/build/js-transpiled/node_modules/core-js/modules/_typed-array.js index b072b23b..30d9c0ba 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_typed-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/_typed-array.js @@ -1,285 +1,278 @@ 'use strict'; -if(require('./_descriptors')){ - var LIBRARY = require('./_library') - , global = require('./_global') - , fails = require('./_fails') - , $export = require('./_export') - , $typed = require('./_typed') - , $buffer = require('./_typed-buffer') - , ctx = require('./_ctx') - , anInstance = require('./_an-instance') - , propertyDesc = require('./_property-desc') - , hide = require('./_hide') - , redefineAll = require('./_redefine-all') - , toInteger = require('./_to-integer') - , toLength = require('./_to-length') - , toIndex = require('./_to-index') - , toPrimitive = require('./_to-primitive') - , has = require('./_has') - , same = require('./_same-value') - , classof = require('./_classof') - , isObject = require('./_is-object') - , toObject = require('./_to-object') - , isArrayIter = require('./_is-array-iter') - , create = require('./_object-create') - , getPrototypeOf = require('./_object-gpo') - , gOPN = require('./_object-gopn').f - , getIterFn = require('./core.get-iterator-method') - , uid = require('./_uid') - , wks = require('./_wks') - , createArrayMethod = require('./_array-methods') - , createArrayIncludes = require('./_array-includes') - , speciesConstructor = require('./_species-constructor') - , ArrayIterators = require('./es6.array.iterator') - , Iterators = require('./_iterators') - , $iterDetect = require('./_iter-detect') - , setSpecies = require('./_set-species') - , arrayFill = require('./_array-fill') - , arrayCopyWithin = require('./_array-copy-within') - , $DP = require('./_object-dp') - , $GOPD = require('./_object-gopd') - , dP = $DP.f - , gOPD = $GOPD.f - , RangeError = global.RangeError - , TypeError = global.TypeError - , Uint8Array = global.Uint8Array - , ARRAY_BUFFER = 'ArrayBuffer' - , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER - , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT' - , PROTOTYPE = 'prototype' - , ArrayProto = Array[PROTOTYPE] - , $ArrayBuffer = $buffer.ArrayBuffer - , $DataView = $buffer.DataView - , arrayForEach = createArrayMethod(0) - , arrayFilter = createArrayMethod(2) - , arraySome = createArrayMethod(3) - , arrayEvery = createArrayMethod(4) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , arrayIncludes = createArrayIncludes(true) - , arrayIndexOf = createArrayIncludes(false) - , arrayValues = ArrayIterators.values - , arrayKeys = ArrayIterators.keys - , arrayEntries = ArrayIterators.entries - , arrayLastIndexOf = ArrayProto.lastIndexOf - , arrayReduce = ArrayProto.reduce - , arrayReduceRight = ArrayProto.reduceRight - , arrayJoin = ArrayProto.join - , arraySort = ArrayProto.sort - , arraySlice = ArrayProto.slice - , arrayToString = ArrayProto.toString - , arrayToLocaleString = ArrayProto.toLocaleString - , ITERATOR = wks('iterator') - , TAG = wks('toStringTag') - , TYPED_CONSTRUCTOR = uid('typed_constructor') - , DEF_CONSTRUCTOR = uid('def_constructor') - , ALL_CONSTRUCTORS = $typed.CONSTR - , TYPED_ARRAY = $typed.TYPED - , VIEW = $typed.VIEW - , WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function(O, length){ +if (require('./_descriptors')) { + var LIBRARY = require('./_library'); + var global = require('./_global'); + var fails = require('./_fails'); + var $export = require('./_export'); + var $typed = require('./_typed'); + var $buffer = require('./_typed-buffer'); + var ctx = require('./_ctx'); + var anInstance = require('./_an-instance'); + var propertyDesc = require('./_property-desc'); + var hide = require('./_hide'); + var redefineAll = require('./_redefine-all'); + var toInteger = require('./_to-integer'); + var toLength = require('./_to-length'); + var toIndex = require('./_to-index'); + var toAbsoluteIndex = require('./_to-absolute-index'); + var toPrimitive = require('./_to-primitive'); + var has = require('./_has'); + var classof = require('./_classof'); + var isObject = require('./_is-object'); + var toObject = require('./_to-object'); + var isArrayIter = require('./_is-array-iter'); + var create = require('./_object-create'); + var getPrototypeOf = require('./_object-gpo'); + var gOPN = require('./_object-gopn').f; + var getIterFn = require('./core.get-iterator-method'); + var uid = require('./_uid'); + var wks = require('./_wks'); + var createArrayMethod = require('./_array-methods'); + var createArrayIncludes = require('./_array-includes'); + var speciesConstructor = require('./_species-constructor'); + var ArrayIterators = require('./es6.array.iterator'); + var Iterators = require('./_iterators'); + var $iterDetect = require('./_iter-detect'); + var setSpecies = require('./_set-species'); + var arrayFill = require('./_array-fill'); + var arrayCopyWithin = require('./_array-copy-within'); + var $DP = require('./_object-dp'); + var $GOPD = require('./_object-gopd'); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); }); - var LITTLE_ENDIAN = fails(function(){ + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; }); - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){ + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { new Uint8Array(1).set({}); }); - var strictToLength = function(it, SAME){ - if(it === undefined)throw TypeError(WRONG_LENGTH); - var number = +it - , length = toLength(it); - if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH); - return length; - }; - - var toOffset = function(it, BYTES){ + var toOffset = function (it, BYTES) { var offset = toInteger(it); - if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!'); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); return offset; }; - var validate = function(it){ - if(isObject(it) && TYPED_ARRAY in it)return it; + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; throw TypeError(it + ' is not a typed array!'); }; - var allocate = function(C, length){ - if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){ + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { throw TypeError('It is not a typed array constructor!'); } return new C(length); }; - var speciesFromList = function(O, list){ + var speciesFromList = function (O, list) { return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); }; - var fromList = function(C, list){ - var index = 0 - , length = list.length - , result = allocate(C, length); - while(length > index)result[index] = list[index++]; + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; return result; }; - var addGetter = function(it, key, internal){ - dP(it, key, {get: function(){ return this._d[internal]; }}); + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); }; - var $from = function from(source /*, mapfn, thisArg */){ - var O = toObject(source) - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , iterFn = getIterFn(O) - , i, length, values, result, step, iterator; - if(iterFn != undefined && !isArrayIter(iterFn)){ - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){ + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { values.push(step.value); } O = values; } - if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){ + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { result[i] = mapping ? mapfn(O[i], i) : O[i]; } return result; }; - var $of = function of(/*...items*/){ - var index = 0 - , length = arguments.length - , result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; return result; }; // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); }); + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); - var $toLocaleString = function toLocaleString(){ + var $toLocaleString = function toLocaleString() { return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); }; var proto = { - copyWithin: function copyWithin(target, start /*, end */){ + copyWithin: function copyWithin(target, start /* , end */) { return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); }, - every: function every(callbackfn /*, thisArg */){ + every: function every(callbackfn /* , thisArg */) { return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }, - fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars return arrayFill.apply(validate(this), arguments); }, - filter: function filter(callbackfn /*, thisArg */){ + filter: function filter(callbackfn /* , thisArg */) { return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined)); }, - find: function find(predicate /*, thisArg */){ + find: function find(predicate /* , thisArg */) { return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }, - findIndex: function findIndex(predicate /*, thisArg */){ + findIndex: function findIndex(predicate /* , thisArg */) { return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }, - forEach: function forEach(callbackfn /*, thisArg */){ + forEach: function forEach(callbackfn /* , thisArg */) { arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }, - indexOf: function indexOf(searchElement /*, fromIndex */){ + indexOf: function indexOf(searchElement /* , fromIndex */) { return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }, - includes: function includes(searchElement /*, fromIndex */){ + includes: function includes(searchElement /* , fromIndex */) { return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }, - join: function join(separator){ // eslint-disable-line no-unused-vars + join: function join(separator) { // eslint-disable-line no-unused-vars return arrayJoin.apply(validate(this), arguments); }, - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars return arrayLastIndexOf.apply(validate(this), arguments); }, - map: function map(mapfn /*, thisArg */){ + map: function map(mapfn /* , thisArg */) { return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); }, - reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars return arrayReduce.apply(validate(this), arguments); }, - reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars return arrayReduceRight.apply(validate(this), arguments); }, - reverse: function reverse(){ - var that = this - , length = validate(that).length - , middle = Math.floor(length / 2) - , index = 0 - , value; - while(index < middle){ - value = that[index]; + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; that[index++] = that[--length]; - that[length] = value; + that[length] = value; } return that; }, - some: function some(callbackfn /*, thisArg */){ + some: function some(callbackfn /* , thisArg */) { return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }, - sort: function sort(comparefn){ + sort: function sort(comparefn) { return arraySort.call(validate(this), comparefn); }, - subarray: function subarray(begin, end){ - var O = validate(this) - , length = O.length - , $begin = toIndex(begin, length); + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toIndex(end, length)) - $begin) + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) ); } }; - var $slice = function slice(start, end){ + var $slice = function slice(start, end) { return speciesFromList(this, arraySlice.call(validate(this), start, end)); }; - var $set = function set(arrayLike /*, offset */){ + var $set = function set(arrayLike /* , offset */) { validate(this); - var offset = toOffset(arguments[1], 1) - , length = this.length - , src = toObject(arrayLike) - , len = toLength(src.length) - , index = 0; - if(len + offset > length)throw RangeError(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; }; var $iterators = { - entries: function entries(){ + entries: function entries() { return arrayEntries.call(validate(this)); }, - keys: function keys(){ + keys: function keys() { return arrayKeys.call(validate(this)); }, - values: function values(){ + values: function values() { return arrayValues.call(validate(this)); } }; - var isTAIndex = function(target, key){ + var isTAIndex = function (target, key) { return isObject(target) && target[TYPED_ARRAY] && typeof key != 'symbol' && key in target && String(+key) == String(key); }; - var $getDesc = function getOwnPropertyDescriptor(target, key){ + var $getDesc = function getOwnPropertyDescriptor(target, key) { return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key); }; - var $setDesc = function defineProperty(target, key, desc){ - if(isTAIndex(target, key = toPrimitive(key, true)) + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') @@ -288,36 +281,36 @@ if(require('./_descriptors')){ && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable) - ){ + ) { target[key] = desc.value; return target; - } else return dP(target, key, desc); + } return dP(target, key, desc); }; - if(!ALL_CONSTRUCTORS){ + if (!ALL_CONSTRUCTORS) { $GOPD.f = $getDesc; - $DP.f = $setDesc; + $DP.f = $setDesc; } $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc + defineProperty: $setDesc }); - if(fails(function(){ arrayToString.call({}); })){ - arrayToString = arrayToLocaleString = function toString(){ + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { return arrayJoin.call(this); - } + }; } var $TypedArrayPrototype$ = redefineAll({}, proto); redefineAll($TypedArrayPrototype$, $iterators); hide($TypedArrayPrototype$, ITERATOR, $iterators.values); redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function(){ /* noop */ }, - toString: arrayToString, + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, toLocaleString: $toLocaleString }); addGetter($TypedArrayPrototype$, 'buffer', 'b'); @@ -325,65 +318,65 @@ if(require('./_descriptors')){ addGetter($TypedArrayPrototype$, 'byteLength', 'l'); addGetter($TypedArrayPrototype$, 'length', 'e'); dP($TypedArrayPrototype$, TAG, { - get: function(){ return this[TYPED_ARRAY]; } + get: function () { return this[TYPED_ARRAY]; } }); - module.exports = function(KEY, BYTES, wrapper, CLAMPED){ + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array' - , ISNT_UINT8 = NAME != 'Uint8Array' - , GETTER = 'get' + KEY - , SETTER = 'set' + KEY - , TypedArray = global[NAME] - , Base = TypedArray || {} - , TAC = TypedArray && getPrototypeOf(TypedArray) - , FORCED = !TypedArray || !$typed.ABV - , O = {} - , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index){ + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { var data = that._d; return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); }; - var setter = function(that, index, value){ + var setter = function (that, index, value) { var data = that._d; - if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); }; - var addElement = function(that, index){ + var addElement = function (that, index) { dP(that, index, { - get: function(){ + get: function () { return getter(this, index); }, - set: function(value){ + set: function (value) { return setter(this, index, value); }, enumerable: true }); }; - if(FORCED){ - TypedArray = wrapper(function(that, data, $offset, $length){ + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { anInstance(that, TypedArray, NAME, '_d'); - var index = 0 - , offset = 0 - , buffer, byteLength, length, klass; - if(!isObject(data)){ - length = strictToLength(data, true) + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { buffer = data; offset = toOffset($offset, BYTES); var $len = data.byteLength; - if($length === undefined){ - if($len % BYTES)throw RangeError(WRONG_LENGTH); + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); byteLength = $len - offset; - if(byteLength < 0)throw RangeError(WRONG_LENGTH); + if (byteLength < 0) throw RangeError(WRONG_LENGTH); } else { byteLength = toLength($length) * BYTES; - if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH); + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); } length = byteLength / BYTES; - } else if(TYPED_ARRAY in data){ + } else if (TYPED_ARRAY in data) { return fromList(TypedArray, data); } else { return $from.call(TypedArray, data); @@ -395,49 +388,54 @@ if(require('./_descriptors')){ e: length, v: new $DataView(buffer) }); - while(index < length)addElement(that, index++); + while (index < length) addElement(that, index++); }); TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if(!$iterDetect(function(iter){ - // V8 works with iterators, but fails in many other cases - // https://code.google.com/p/v8/issues/detail?id=4552 + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new new TypedArray(iter); // eslint-disable-line no-new - }, true)){ - TypedArray = wrapper(function(that, data, $offset, $length){ + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { anInstance(that, TypedArray, NAME); var klass; // `ws` module bug, temporarily remove validation length for Uint8Array // https://github.com/websockets/ws/pull/645 - if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8)); - if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data); } - if(TYPED_ARRAY in data)return fromList(TypedArray, data); + if (TYPED_ARRAY in data) return fromList(TypedArray, data); return $from.call(TypedArray, data); }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){ - if(!(key in TypedArray))hide(TypedArray, key, Base[key]); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); }); TypedArray[PROTOTYPE] = TypedArrayPrototype; - if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; } - var $nativeIterator = TypedArrayPrototype[ITERATOR] - , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined) - , $iterator = $iterators.values; + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; hide(TypedArray, TYPED_CONSTRUCTOR, true); hide(TypedArrayPrototype, TYPED_ARRAY, NAME); hide(TypedArrayPrototype, VIEW, true); hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){ + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { dP(TypedArrayPrototype, TAG, { - get: function(){ return NAME; } + get: function () { return NAME; } }); } @@ -446,34 +444,37 @@ if(require('./_descriptors')){ $export($export.G + $export.W + $export.F * (TypedArray != Base), O); $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES, + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { from: $from, of: $of }); - if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); $export($export.P, NAME, proto); setSpecies(NAME); - $export($export.P + $export.F * FORCED_SET, NAME, {set: $set}); + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString}); + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; - $export($export.P + $export.F * fails(function(){ + $export($export.P + $export.F * fails(function () { new TypedArray(1).slice(); - }), NAME, {slice: $slice}); + }), NAME, { slice: $slice }); - $export($export.P + $export.F * (fails(function(){ - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString() - }) || !fails(function(){ + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, {toLocaleString: $toLocaleString}); + })), NAME, { toLocaleString: $toLocaleString }); Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator); + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); }; -} else module.exports = function(){ /* empty */ }; \ No newline at end of file +} else module.exports = function () { /* empty */ }; diff --git a/build/js-transpiled/node_modules/core-js/modules/_typed-buffer.js b/build/js-transpiled/node_modules/core-js/modules/_typed-buffer.js index 2129eea4..c24cef38 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_typed-buffer.js +++ b/build/js-transpiled/node_modules/core-js/modules/_typed-buffer.js @@ -1,74 +1,78 @@ 'use strict'; -var global = require('./_global') - , DESCRIPTORS = require('./_descriptors') - , LIBRARY = require('./_library') - , $typed = require('./_typed') - , hide = require('./_hide') - , redefineAll = require('./_redefine-all') - , fails = require('./_fails') - , anInstance = require('./_an-instance') - , toInteger = require('./_to-integer') - , toLength = require('./_to-length') - , gOPN = require('./_object-gopn').f - , dP = require('./_object-dp').f - , arrayFill = require('./_array-fill') - , setToStringTag = require('./_set-to-string-tag') - , ARRAY_BUFFER = 'ArrayBuffer' - , DATA_VIEW = 'DataView' - , PROTOTYPE = 'prototype' - , WRONG_LENGTH = 'Wrong length!' - , WRONG_INDEX = 'Wrong index!' - , $ArrayBuffer = global[ARRAY_BUFFER] - , $DataView = global[DATA_VIEW] - , Math = global.Math - , RangeError = global.RangeError - , Infinity = global.Infinity - , BaseBuffer = $ArrayBuffer - , abs = Math.abs - , pow = Math.pow - , floor = Math.floor - , log = Math.log - , LN2 = Math.LN2 - , BUFFER = 'buffer' - , BYTE_LENGTH = 'byteLength' - , BYTE_OFFSET = 'byteOffset' - , $BUFFER = DESCRIPTORS ? '_b' : BUFFER - , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH - , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; +var global = require('./_global'); +var DESCRIPTORS = require('./_descriptors'); +var LIBRARY = require('./_library'); +var $typed = require('./_typed'); +var hide = require('./_hide'); +var redefineAll = require('./_redefine-all'); +var fails = require('./_fails'); +var anInstance = require('./_an-instance'); +var toInteger = require('./_to-integer'); +var toLength = require('./_to-length'); +var toIndex = require('./_to-index'); +var gOPN = require('./_object-gopn').f; +var dP = require('./_object-dp').f; +var arrayFill = require('./_array-fill'); +var setToStringTag = require('./_set-to-string-tag'); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; // IEEE754 conversions based on https://github.com/feross/ieee754 -var packIEEE754 = function(value, mLen, nBytes){ - var buffer = Array(nBytes) - , eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0 - , i = 0 - , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0 - , e, m, c; - value = abs(value) - if(value != value || value === Infinity){ +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare m = value != value ? 1 : 0; e = eMax; } else { e = floor(log(value) / LN2); - if(value * (c = pow(2, -e)) < 1){ + if (value * (c = pow(2, -e)) < 1) { e--; c *= 2; } - if(e + eBias >= 1){ + if (e + eBias >= 1) { value += rt / c; } else { value += rt * pow(2, 1 - eBias); } - if(value * c >= 2){ + if (value * c >= 2) { e++; c /= 2; } - if(e + eBias >= eMax){ + if (e + eBias >= eMax) { m = 0; e = eMax; - } else if(e + eBias >= 1){ + } else if (e + eBias >= 1) { m = (value * c - 1) * pow(2, mLen); e = e + eBias; } else { @@ -76,109 +80,102 @@ var packIEEE754 = function(value, mLen, nBytes){ e = 0; } } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); e = e << mLen | m; eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); buffer[--i] |= s * 128; return buffer; -}; -var unpackIEEE754 = function(buffer, mLen, nBytes){ - var eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , nBits = eLen - 7 - , i = nBytes - 1 - , s = buffer[i--] - , e = s & 127 - , m; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); m = e & (1 << -nBits) - 1; e >>= -nBits; nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if(e === 0){ + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { e = 1 - eBias; - } else if(e === eMax){ + } else if (e === eMax) { return m ? NaN : s ? -Infinity : Infinity; } else { m = m + pow(2, mLen); e = e - eBias; } return (s ? -1 : 1) * m * pow(2, e - mLen); -}; +} -var unpackI32 = function(bytes){ +function unpackI32(bytes) { return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; -}; -var packI8 = function(it){ +} +function packI8(it) { return [it & 0xff]; -}; -var packI16 = function(it){ +} +function packI16(it) { return [it & 0xff, it >> 8 & 0xff]; -}; -var packI32 = function(it){ +} +function packI32(it) { return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; -}; -var packF64 = function(it){ +} +function packF64(it) { return packIEEE754(it, 52, 8); -}; -var packF32 = function(it){ +} +function packF32(it) { return packIEEE754(it, 23, 4); -}; +} -var addGetter = function(C, key, internal){ - dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }}); -}; +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} -var get = function(view, bytes, index, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = store.slice(start, start + bytes); +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); return isLittleEndian ? pack : pack.reverse(); -}; -var set = function(view, bytes, index, conversion, value, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; -}; - -var validateArrayBufferArguments = function(that, length){ - anInstance(that, $ArrayBuffer, ARRAY_BUFFER); - var numberLength = +length - , byteLength = toLength(numberLength); - if(numberLength != byteLength)throw RangeError(WRONG_LENGTH); - return byteLength; -}; +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} -if(!$typed.ABV){ - $ArrayBuffer = function ArrayBuffer(length){ - var byteLength = validateArrayBufferArguments(this, length); - this._b = arrayFill.call(Array(byteLength), 0); +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); this[$LENGTH] = byteLength; }; - $DataView = function DataView(buffer, byteOffset, byteLength){ + $DataView = function DataView(buffer, byteOffset, byteLength) { anInstance(this, $DataView, DATA_VIEW); anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH] - , offset = toInteger(byteOffset); - if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!'); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); this[$BUFFER] = buffer; this[$OFFSET] = offset; this[$LENGTH] = byteLength; }; - if(DESCRIPTORS){ + if (DESCRIPTORS) { addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); addGetter($DataView, BUFFER, '_b'); addGetter($DataView, BYTE_LENGTH, '_l'); @@ -186,82 +183,88 @@ if(!$typed.ABV){ } redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset){ + getInt8: function getInt8(byteOffset) { return get(this, 1, byteOffset)[0] << 24 >> 24; }, - getUint8: function getUint8(byteOffset){ + getUint8: function getUint8(byteOffset) { return get(this, 1, byteOffset)[0]; }, - getInt16: function getInt16(byteOffset /*, littleEndian */){ + getInt16: function getInt16(byteOffset /* , littleEndian */) { var bytes = get(this, 2, byteOffset, arguments[1]); return (bytes[1] << 8 | bytes[0]) << 16 >> 16; }, - getUint16: function getUint16(byteOffset /*, littleEndian */){ + getUint16: function getUint16(byteOffset /* , littleEndian */) { var bytes = get(this, 2, byteOffset, arguments[1]); return bytes[1] << 8 | bytes[0]; }, - getInt32: function getInt32(byteOffset /*, littleEndian */){ + getInt32: function getInt32(byteOffset /* , littleEndian */) { return unpackI32(get(this, 4, byteOffset, arguments[1])); }, - getUint32: function getUint32(byteOffset /*, littleEndian */){ + getUint32: function getUint32(byteOffset /* , littleEndian */) { return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; }, - getFloat32: function getFloat32(byteOffset /*, littleEndian */){ + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); }, - getFloat64: function getFloat64(byteOffset /*, littleEndian */){ + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); }, - setInt8: function setInt8(byteOffset, value){ + setInt8: function setInt8(byteOffset, value) { set(this, 1, byteOffset, packI8, value); }, - setUint8: function setUint8(byteOffset, value){ + setUint8: function setUint8(byteOffset, value) { set(this, 1, byteOffset, packI8, value); }, - setInt16: function setInt16(byteOffset, value /*, littleEndian */){ + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { set(this, 2, byteOffset, packI16, value, arguments[2]); }, - setUint16: function setUint16(byteOffset, value /*, littleEndian */){ + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { set(this, 2, byteOffset, packI16, value, arguments[2]); }, - setInt32: function setInt32(byteOffset, value /*, littleEndian */){ + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { set(this, 4, byteOffset, packI32, value, arguments[2]); }, - setUint32: function setUint32(byteOffset, value /*, littleEndian */){ + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { set(this, 4, byteOffset, packI32, value, arguments[2]); }, - setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){ + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { set(this, 4, byteOffset, packF32, value, arguments[2]); }, - setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){ + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { set(this, 8, byteOffset, packF64, value, arguments[2]); } }); } else { - if(!fails(function(){ - new $ArrayBuffer; // eslint-disable-line no-new - }) || !fails(function(){ - new $ArrayBuffer(.5); // eslint-disable-line no-new - })){ - $ArrayBuffer = function ArrayBuffer(length){ - return new BaseBuffer(validateArrayBufferArguments(this, length)); + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); }; var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){ - if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]); - }; - if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; } // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)) - , $setInt8 = $DataView[PROTOTYPE].setInt8; + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; view.setInt8(0, 2147483648); view.setInt8(1, 2147483649); - if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value){ + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { $setInt8.call(this, byteOffset, value << 24 >> 24); }, - setUint8: function setUint8(byteOffset, value){ + setUint8: function setUint8(byteOffset, value) { $setInt8.call(this, byteOffset, value << 24 >> 24); } }, true); @@ -270,4 +273,4 @@ setToStringTag($ArrayBuffer, ARRAY_BUFFER); setToStringTag($DataView, DATA_VIEW); hide($DataView[PROTOTYPE], $typed.VIEW, true); exports[ARRAY_BUFFER] = $ArrayBuffer; -exports[DATA_VIEW] = $DataView; \ No newline at end of file +exports[DATA_VIEW] = $DataView; diff --git a/build/js-transpiled/node_modules/core-js/modules/_typed.js b/build/js-transpiled/node_modules/core-js/modules/_typed.js index 6ed2ab56..8747ffd7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_typed.js +++ b/build/js-transpiled/node_modules/core-js/modules/_typed.js @@ -1,26 +1,28 @@ -var global = require('./_global') - , hide = require('./_hide') - , uid = require('./_uid') - , TYPED = uid('typed_array') - , VIEW = uid('view') - , ABV = !!(global.ArrayBuffer && global.DataView) - , CONSTR = ABV - , i = 0, l = 9, Typed; +var global = require('./_global'); +var hide = require('./_hide'); +var uid = require('./_uid'); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; var TypedArrayConstructors = ( 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' ).split(','); -while(i < l){ - if(Typed = global[TypedArrayConstructors[i++]]){ +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { hide(Typed.prototype, TYPED, true); hide(Typed.prototype, VIEW, true); } else CONSTR = false; } module.exports = { - ABV: ABV, + ABV: ABV, CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW -}; \ No newline at end of file + TYPED: TYPED, + VIEW: VIEW +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_uid.js b/build/js-transpiled/node_modules/core-js/modules/_uid.js index 3be4196b..ffbe7185 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_uid.js +++ b/build/js-transpiled/node_modules/core-js/modules/_uid.js @@ -1,5 +1,5 @@ -var id = 0 - , px = Math.random(); -module.exports = function(key){ +var id = 0; +var px = Math.random(); +module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_user-agent.js b/build/js-transpiled/node_modules/core-js/modules/_user-agent.js new file mode 100644 index 00000000..363fedc2 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_user-agent.js @@ -0,0 +1,4 @@ +var global = require('./_global'); +var navigator = global.navigator; + +module.exports = navigator && navigator.userAgent || ''; diff --git a/build/js-transpiled/node_modules/core-js/modules/_validate-collection.js b/build/js-transpiled/node_modules/core-js/modules/_validate-collection.js new file mode 100644 index 00000000..cec1ceff --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/_validate-collection.js @@ -0,0 +1,5 @@ +var isObject = require('./_is-object'); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_wks-define.js b/build/js-transpiled/node_modules/core-js/modules/_wks-define.js index e6960328..7284d6ad 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_wks-define.js +++ b/build/js-transpiled/node_modules/core-js/modules/_wks-define.js @@ -1,9 +1,9 @@ -var global = require('./_global') - , core = require('./_core') - , LIBRARY = require('./_library') - , wksExt = require('./_wks-ext') - , defineProperty = require('./_object-dp').f; -module.exports = function(name){ +var global = require('./_global'); +var core = require('./_core'); +var LIBRARY = require('./_library'); +var wksExt = require('./_wks-ext'); +var defineProperty = require('./_object-dp').f; +module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); -}; \ No newline at end of file + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/_wks-ext.js b/build/js-transpiled/node_modules/core-js/modules/_wks-ext.js index 7901def6..13bd83b1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_wks-ext.js +++ b/build/js-transpiled/node_modules/core-js/modules/_wks-ext.js @@ -1 +1 @@ -exports.f = require('./_wks'); \ No newline at end of file +exports.f = require('./_wks'); diff --git a/build/js-transpiled/node_modules/core-js/modules/_wks.js b/build/js-transpiled/node_modules/core-js/modules/_wks.js index 36f7973a..e33f857a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/_wks.js +++ b/build/js-transpiled/node_modules/core-js/modules/_wks.js @@ -1,11 +1,11 @@ -var store = require('./_shared')('wks') - , uid = require('./_uid') - , Symbol = require('./_global').Symbol - , USE_SYMBOL = typeof Symbol == 'function'; +var store = require('./_shared')('wks'); +var uid = require('./_uid'); +var Symbol = require('./_global').Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; -var $exports = module.exports = function(name){ +var $exports = module.exports = function (name) { return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); }; -$exports.store = store; \ No newline at end of file +$exports.store = store; diff --git a/build/js-transpiled/node_modules/core-js/modules/core.delay.js b/build/js-transpiled/node_modules/core-js/modules/core.delay.js index ea031be4..73712c01 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.delay.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.delay.js @@ -1,12 +1,12 @@ -var global = require('./_global') - , core = require('./_core') - , $export = require('./_export') - , partial = require('./_partial'); +var global = require('./_global'); +var core = require('./_core'); +var $export = require('./_export'); +var partial = require('./_partial'); // https://esdiscuss.org/topic/promise-returning-delay-function $export($export.G + $export.F, { - delay: function delay(time){ - return new (core.Promise || global.Promise)(function(resolve){ + delay: function delay(time) { + return new (core.Promise || global.Promise)(function (resolve) { setTimeout(partial.call(resolve, true), time); }); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.dict.js b/build/js-transpiled/node_modules/core-js/modules/core.dict.js index 88c54e3d..5422ad30 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.dict.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.dict.js @@ -1,22 +1,22 @@ 'use strict'; -var ctx = require('./_ctx') - , $export = require('./_export') - , createDesc = require('./_property-desc') - , assign = require('./_object-assign') - , create = require('./_object-create') - , getPrototypeOf = require('./_object-gpo') - , getKeys = require('./_object-keys') - , dP = require('./_object-dp') - , keyOf = require('./_keyof') - , aFunction = require('./_a-function') - , forOf = require('./_for-of') - , isIterable = require('./core.is-iterable') - , $iterCreate = require('./_iter-create') - , step = require('./_iter-step') - , isObject = require('./_is-object') - , toIObject = require('./_to-iobject') - , DESCRIPTORS = require('./_descriptors') - , has = require('./_has'); +var ctx = require('./_ctx'); +var $export = require('./_export'); +var createDesc = require('./_property-desc'); +var assign = require('./_object-assign'); +var create = require('./_object-create'); +var getPrototypeOf = require('./_object-gpo'); +var getKeys = require('./_object-keys'); +var dP = require('./_object-dp'); +var keyOf = require('./_keyof'); +var aFunction = require('./_a-function'); +var forOf = require('./_for-of'); +var isIterable = require('./core.is-iterable'); +var $iterCreate = require('./_iter-create'); +var step = require('./_iter-step'); +var isObject = require('./_is-object'); +var toIObject = require('./_to-iobject'); +var DESCRIPTORS = require('./_descriptors'); +var has = require('./_has'); // 0 -> Dict.forEach // 1 -> Dict.map @@ -26,27 +26,27 @@ var ctx = require('./_ctx') // 5 -> Dict.find // 6 -> Dict.findKey // 7 -> Dict.mapPairs -var createDictMethod = function(TYPE){ - var IS_MAP = TYPE == 1 - , IS_EVERY = TYPE == 4; - return function(object, callbackfn, that /* = undefined */){ - var f = ctx(callbackfn, that, 3) - , O = toIObject(object) - , result = IS_MAP || TYPE == 7 || TYPE == 2 - ? new (typeof this == 'function' ? this : Dict) : undefined - , key, val, res; - for(key in O)if(has(O, key)){ +var createDictMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_EVERY = TYPE == 4; + return function (object, callbackfn, that /* = undefined */) { + var f = ctx(callbackfn, that, 3); + var O = toIObject(object); + var result = IS_MAP || TYPE == 7 || TYPE == 2 + ? new (typeof this == 'function' ? this : Dict)() : undefined; + var key, val, res; + for (key in O) if (has(O, key)) { val = O[key]; res = f(val, key, object); - if(TYPE){ - if(IS_MAP)result[key] = res; // map - else if(res)switch(TYPE){ + if (TYPE) { + if (IS_MAP) result[key] = res; // map + else if (res) switch (TYPE) { case 2: result[key] = val; break; // filter case 3: return true; // some case 5: return val; // find case 6: return key; // findKey case 7: result[res[0]] = res[1]; // mapPairs - } else if(IS_EVERY)return false; // every + } else if (IS_EVERY) return false; // every } } return TYPE == 3 || IS_EVERY ? IS_EVERY : result; @@ -54,39 +54,39 @@ var createDictMethod = function(TYPE){ }; var findKey = createDictMethod(6); -var createDictIter = function(kind){ - return function(it){ +var createDictIter = function (kind) { + return function (it) { return new DictIterator(it, kind); }; }; -var DictIterator = function(iterated, kind){ +var DictIterator = function (iterated, kind) { this._t = toIObject(iterated); // target this._a = getKeys(iterated); // keys this._i = 0; // next index this._k = kind; // kind }; -$iterCreate(DictIterator, 'Dict', function(){ - var that = this - , O = that._t - , keys = that._a - , kind = that._k - , key; +$iterCreate(DictIterator, 'Dict', function () { + var that = this; + var O = that._t; + var keys = that._a; + var kind = that._k; + var key; do { - if(that._i >= keys.length){ + if (that._i >= keys.length) { that._t = undefined; return step(1); } - } while(!has(O, key = keys[that._i++])); - if(kind == 'keys' )return step(0, key); - if(kind == 'values')return step(0, O[key]); + } while (!has(O, key = keys[that._i++])); + if (kind == 'keys') return step(0, key); + if (kind == 'values') return step(0, O[key]); return step(0, [key, O[key]]); }); -function Dict(iterable){ +function Dict(iterable) { var dict = create(null); - if(iterable != undefined){ - if(isIterable(iterable)){ - forOf(iterable, true, function(key, value){ + if (iterable != undefined) { + if (isIterable(iterable)) { + forOf(iterable, true, function (key, value) { dict[key] = value; }); } else assign(dict, iterable); @@ -95,61 +95,63 @@ function Dict(iterable){ } Dict.prototype = null; -function reduce(object, mapfn, init){ +function reduce(object, mapfn, init) { aFunction(mapfn); - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , memo, key; - if(arguments.length < 3){ - if(!length)throw TypeError('Reduce of empty object with no initial value'); + var O = toIObject(object); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var memo, key; + if (arguments.length < 3) { + if (!length) throw TypeError('Reduce of empty object with no initial value'); memo = O[keys[i++]]; } else memo = Object(init); - while(length > i)if(has(O, key = keys[i++])){ + while (length > i) if (has(O, key = keys[i++])) { memo = mapfn(memo, O[key], key, object); } return memo; } -function includes(object, el){ - return (el == el ? keyOf(object, el) : findKey(object, function(it){ +function includes(object, el) { + // eslint-disable-next-line no-self-compare + return (el == el ? keyOf(object, el) : findKey(object, function (it) { + // eslint-disable-next-line no-self-compare return it != it; })) !== undefined; } -function get(object, key){ - if(has(object, key))return object[key]; +function get(object, key) { + if (has(object, key)) return object[key]; } -function set(object, key, value){ - if(DESCRIPTORS && key in Object)dP.f(object, key, createDesc(0, value)); +function set(object, key, value) { + if (DESCRIPTORS && key in Object) dP.f(object, key, createDesc(0, value)); else object[key] = value; return object; } -function isDict(it){ +function isDict(it) { return isObject(it) && getPrototypeOf(it) === Dict.prototype; } -$export($export.G + $export.F, {Dict: Dict}); +$export($export.G + $export.F, { Dict: Dict }); $export($export.S, 'Dict', { - keys: createDictIter('keys'), - values: createDictIter('values'), - entries: createDictIter('entries'), - forEach: createDictMethod(0), - map: createDictMethod(1), - filter: createDictMethod(2), - some: createDictMethod(3), - every: createDictMethod(4), - find: createDictMethod(5), - findKey: findKey, + keys: createDictIter('keys'), + values: createDictIter('values'), + entries: createDictIter('entries'), + forEach: createDictMethod(0), + map: createDictMethod(1), + filter: createDictMethod(2), + some: createDictMethod(3), + every: createDictMethod(4), + find: createDictMethod(5), + findKey: findKey, mapPairs: createDictMethod(7), - reduce: reduce, - keyOf: keyOf, + reduce: reduce, + keyOf: keyOf, includes: includes, - has: has, - get: get, - set: set, - isDict: isDict -}); \ No newline at end of file + has: has, + get: get, + set: set, + isDict: isDict +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.function.part.js b/build/js-transpiled/node_modules/core-js/modules/core.function.part.js index ce851ff8..050154f8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.function.part.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.function.part.js @@ -1,7 +1,7 @@ -var path = require('./_path') - , $export = require('./_export'); +var path = require('./_path'); +var $export = require('./_export'); // Placeholder require('./_core')._ = path._ = path._ || {}; -$export($export.P + $export.F, 'Function', {part: require('./_partial')}); \ No newline at end of file +$export($export.P + $export.F, 'Function', { part: require('./_partial') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.get-iterator-method.js b/build/js-transpiled/node_modules/core-js/modules/core.get-iterator-method.js index e2c7ecc3..9b6fa62a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.get-iterator-method.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.get-iterator-method.js @@ -1,8 +1,8 @@ -var classof = require('./_classof') - , ITERATOR = require('./_wks')('iterator') - , Iterators = require('./_iterators'); -module.exports = require('./_core').getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] +var classof = require('./_classof'); +var ITERATOR = require('./_wks')('iterator'); +var Iterators = require('./_iterators'); +module.exports = require('./_core').getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/core.get-iterator.js b/build/js-transpiled/node_modules/core-js/modules/core.get-iterator.js index c292e1ab..04568c86 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.get-iterator.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.get-iterator.js @@ -1,7 +1,7 @@ -var anObject = require('./_an-object') - , get = require('./core.get-iterator-method'); -module.exports = require('./_core').getIterator = function(it){ +var anObject = require('./_an-object'); +var get = require('./core.get-iterator-method'); +module.exports = require('./_core').getIterator = function (it) { var iterFn = get(it); - if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!'); + if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!'); return anObject(iterFn.call(it)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/core.is-iterable.js b/build/js-transpiled/node_modules/core-js/modules/core.is-iterable.js index b2b01b6b..388e5e35 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.is-iterable.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.is-iterable.js @@ -1,9 +1,10 @@ -var classof = require('./_classof') - , ITERATOR = require('./_wks')('iterator') - , Iterators = require('./_iterators'); -module.exports = require('./_core').isIterable = function(it){ +var classof = require('./_classof'); +var ITERATOR = require('./_wks')('iterator'); +var Iterators = require('./_iterators'); +module.exports = require('./_core').isIterable = function (it) { var O = Object(it); return O[ITERATOR] !== undefined || '@@iterator' in O + // eslint-disable-next-line no-prototype-builtins || Iterators.hasOwnProperty(classof(O)); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/core.number.iterator.js b/build/js-transpiled/node_modules/core-js/modules/core.number.iterator.js index 9700acba..fa37791e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.number.iterator.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.number.iterator.js @@ -1,9 +1,9 @@ 'use strict'; -require('./_iter-define')(Number, 'Number', function(iterated){ +require('./_iter-define')(Number, 'Number', function (iterated) { this._l = +iterated; this._i = 0; -}, function(){ - var i = this._i++ - , done = !(i < this._l); - return {done: done, value: done ? undefined : i}; -}); \ No newline at end of file +}, function () { + var i = this._i++; + var done = !(i < this._l); + return { done: done, value: done ? undefined : i }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.object.classof.js b/build/js-transpiled/node_modules/core-js/modules/core.object.classof.js index 342c7371..fe16595a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.object.classof.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.object.classof.js @@ -1,3 +1,3 @@ var $export = require('./_export'); -$export($export.S + $export.F, 'Object', {classof: require('./_classof')}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { classof: require('./_classof') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.object.define.js b/build/js-transpiled/node_modules/core-js/modules/core.object.define.js index d60e9a95..e4e717b5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.object.define.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.object.define.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , define = require('./_object-define'); +var $export = require('./_export'); +var define = require('./_object-define'); -$export($export.S + $export.F, 'Object', {define: define}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { define: define }); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.object.is-object.js b/build/js-transpiled/node_modules/core-js/modules/core.object.is-object.js index f2ba059f..fea80b60 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.object.is-object.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.object.is-object.js @@ -1,3 +1,3 @@ var $export = require('./_export'); -$export($export.S + $export.F, 'Object', {isObject: require('./_is-object')}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { isObject: require('./_is-object') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.object.make.js b/build/js-transpiled/node_modules/core-js/modules/core.object.make.js index 3d2a2b5f..51d47740 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.object.make.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.object.make.js @@ -1,9 +1,9 @@ -var $export = require('./_export') - , define = require('./_object-define') - , create = require('./_object-create'); +var $export = require('./_export'); +var define = require('./_object-define'); +var create = require('./_object-create'); $export($export.S + $export.F, 'Object', { - make: function(proto, mixin){ + make: function (proto, mixin) { return define(create(proto), mixin); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.regexp.escape.js b/build/js-transpiled/node_modules/core-js/modules/core.regexp.escape.js index 54f832ef..3ddd748c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.regexp.escape.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.regexp.escape.js @@ -1,5 +1,5 @@ // https://github.com/benjamingr/RexExp.escape -var $export = require('./_export') - , $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); +var $export = require('./_export'); +var $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); -$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); +$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } }); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.string.escape-html.js b/build/js-transpiled/node_modules/core-js/modules/core.string.escape-html.js index a4b8d2f0..f9678861 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.string.escape-html.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.string.escape-html.js @@ -8,4 +8,4 @@ var $re = require('./_replacer')(/[&<>"']/g, { "'": ''' }); -$export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }}); \ No newline at end of file +$export($export.P + $export.F, 'String', { escapeHTML: function escapeHTML() { return $re(this); } }); diff --git a/build/js-transpiled/node_modules/core-js/modules/core.string.unescape-html.js b/build/js-transpiled/node_modules/core-js/modules/core.string.unescape-html.js index 413622b9..eb8a6cfb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/core.string.unescape-html.js +++ b/build/js-transpiled/node_modules/core-js/modules/core.string.unescape-html.js @@ -1,11 +1,11 @@ 'use strict'; var $export = require('./_export'); var $re = require('./_replacer')(/&(?:amp|lt|gt|quot|apos);/g, { - '&': '&', - '<': '<', - '>': '>', + '&': '&', + '<': '<', + '>': '>', '"': '"', ''': "'" }); -$export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }}); \ No newline at end of file +$export($export.P + $export.F, 'String', { unescapeHTML: function unescapeHTML() { return $re(this); } }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es5.js b/build/js-transpiled/node_modules/core-js/modules/es5.js index dd7ebadf..ca10612d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es5.js +++ b/build/js-transpiled/node_modules/core-js/modules/es5.js @@ -32,4 +32,4 @@ require('./es6.date.to-json'); require('./es6.parse-int'); require('./es6.parse-float'); require('./es6.string.trim'); -require('./es6.regexp.to-string'); \ No newline at end of file +require('./es6.regexp.to-string'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.copy-within.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.copy-within.js index 027f7550..f866a959 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.copy-within.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.copy-within.js @@ -1,6 +1,6 @@ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) var $export = require('./_export'); -$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')}); +$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') }); -require('./_add-to-unscopables')('copyWithin'); \ No newline at end of file +require('./_add-to-unscopables')('copyWithin'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.every.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.every.js index fb067367..cfd448f5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.every.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.every.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $every = require('./_array-methods')(4); +var $export = require('./_export'); +var $every = require('./_array-methods')(4); $export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', { // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */){ + every: function every(callbackfn /* , thisArg */) { return $every(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.fill.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.fill.js index f075c001..ac171442 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.fill.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.fill.js @@ -1,6 +1,6 @@ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) var $export = require('./_export'); -$export($export.P, 'Array', {fill: require('./_array-fill')}); +$export($export.P, 'Array', { fill: require('./_array-fill') }); -require('./_add-to-unscopables')('fill'); \ No newline at end of file +require('./_add-to-unscopables')('fill'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.filter.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.filter.js index f60951d3..447ecf40 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.filter.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.filter.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $filter = require('./_array-methods')(2); +var $export = require('./_export'); +var $filter = require('./_array-methods')(2); $export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', { // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ + filter: function filter(callbackfn /* , thisArg */) { return $filter(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.find-index.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.find-index.js index 53090741..374cadd7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.find-index.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.find-index.js @@ -1,14 +1,14 @@ 'use strict'; // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) -var $export = require('./_export') - , $find = require('./_array-methods')(6) - , KEY = 'findIndex' - , forced = true; +var $export = require('./_export'); +var $find = require('./_array-methods')(6); +var KEY = 'findIndex'; +var forced = true; // Shouldn't skip holes -if(KEY in [])Array(1)[KEY](function(){ forced = false; }); +if (KEY in []) Array(1)[KEY](function () { forced = false; }); $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn/*, that = undefined */){ + findIndex: function findIndex(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./_add-to-unscopables')(KEY); \ No newline at end of file +require('./_add-to-unscopables')(KEY); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.find.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.find.js index 90a9acfb..4fbe76ce 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.find.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.find.js @@ -1,14 +1,14 @@ 'use strict'; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) -var $export = require('./_export') - , $find = require('./_array-methods')(5) - , KEY = 'find' - , forced = true; +var $export = require('./_export'); +var $find = require('./_array-methods')(5); +var KEY = 'find'; +var forced = true; // Shouldn't skip holes -if(KEY in [])Array(1)[KEY](function(){ forced = false; }); +if (KEY in []) Array(1)[KEY](function () { forced = false; }); $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn/*, that = undefined */){ + find: function find(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./_add-to-unscopables')(KEY); \ No newline at end of file +require('./_add-to-unscopables')(KEY); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.for-each.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.for-each.js index f814fe4e..525ba074 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.for-each.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.for-each.js @@ -1,11 +1,11 @@ 'use strict'; -var $export = require('./_export') - , $forEach = require('./_array-methods')(0) - , STRICT = require('./_strict-method')([].forEach, true); +var $export = require('./_export'); +var $forEach = require('./_array-methods')(0); +var STRICT = require('./_strict-method')([].forEach, true); $export($export.P + $export.F * !STRICT, 'Array', { // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ + forEach: function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.from.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.from.js index 69e5d4a6..4db38017 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.from.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.from.js @@ -1,33 +1,33 @@ 'use strict'; -var ctx = require('./_ctx') - , $export = require('./_export') - , toObject = require('./_to-object') - , call = require('./_iter-call') - , isArrayIter = require('./_is-array-iter') - , toLength = require('./_to-length') - , createProperty = require('./_create-property') - , getIterFn = require('./core.get-iterator-method'); +var ctx = require('./_ctx'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var call = require('./_iter-call'); +var isArrayIter = require('./_is-array-iter'); +var toLength = require('./_to-length'); +var createProperty = require('./_create-property'); +var getIterFn = require('./core.get-iterator-method'); -$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', { +$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ - var O = toObject(arrayLike) - , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , index = 0 - , iterFn = getIterFn(O) - , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); // if object isn't iterable or it's array with default iterator - use simple case - if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ - for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); } } else { length = toLength(O.length); - for(result = new C(length); length > index; index++){ + for (result = new C(length); length > index; index++) { createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); } } diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.index-of.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.index-of.js index 90376315..231c92e9 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.index-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.index-of.js @@ -1,15 +1,15 @@ 'use strict'; -var $export = require('./_export') - , $indexOf = require('./_array-includes')(false) - , $native = [].indexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; +var $export = require('./_export'); +var $indexOf = require('./_array-includes')(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /*, fromIndex = 0 */){ + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { return NEGATIVE_ZERO // convert -0 to +0 ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.is-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.is-array.js index cd5d8c19..27ca6fc5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.is-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.is-array.js @@ -1,4 +1,4 @@ // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) var $export = require('./_export'); -$export($export.S, 'Array', {isArray: require('./_is-array')}); \ No newline at end of file +$export($export.S, 'Array', { isArray: require('./_is-array') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.iterator.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.iterator.js index 100b344d..c64e88b1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.iterator.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.iterator.js @@ -1,28 +1,28 @@ 'use strict'; -var addToUnscopables = require('./_add-to-unscopables') - , step = require('./_iter-step') - , Iterators = require('./_iterators') - , toIObject = require('./_to-iobject'); +var addToUnscopables = require('./_add-to-unscopables'); +var step = require('./_iter-step'); +var Iterators = require('./_iterators'); +var toIObject = require('./_to-iobject'); // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() -module.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){ +module.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) { this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind // 22.1.5.2.1 %ArrayIteratorPrototype%.next() -}, function(){ - var O = this._t - , kind = this._k - , index = this._i++; - if(!O || index >= O.length){ +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { this._t = undefined; return step(1); } - if(kind == 'keys' )return step(0, index); - if(kind == 'values')return step(0, O[index]); + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); return step(0, [index, O[index]]); }, 'values'); @@ -31,4 +31,4 @@ Iterators.Arguments = Iterators.Array; addToUnscopables('keys'); addToUnscopables('values'); -addToUnscopables('entries'); \ No newline at end of file +addToUnscopables('entries'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.join.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.join.js index 1bb65653..48e55d2e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.join.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.join.js @@ -1,12 +1,12 @@ 'use strict'; // 22.1.3.13 Array.prototype.join(separator) -var $export = require('./_export') - , toIObject = require('./_to-iobject') - , arrayJoin = [].join; +var $export = require('./_export'); +var toIObject = require('./_to-iobject'); +var arrayJoin = [].join; // fallback for not array-like strings $export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', { - join: function join(separator){ + join: function join(separator) { return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.last-index-of.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.last-index-of.js index 75c1eabf..1f70e340 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.last-index-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.last-index-of.js @@ -1,22 +1,22 @@ 'use strict'; -var $export = require('./_export') - , toIObject = require('./_to-iobject') - , toInteger = require('./_to-integer') - , toLength = require('./_to-length') - , $native = [].lastIndexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; +var $export = require('./_export'); +var toIObject = require('./_to-iobject'); +var toInteger = require('./_to-integer'); +var toLength = require('./_to-length'); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){ + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { // convert -0 to +0 - if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0; - var O = toIObject(this) - , length = toLength(O.length) - , index = length - 1; - if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1])); - if(index < 0)index = length + index; - for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0; + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; return -1; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.map.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.map.js index f70089f3..1326033f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.map.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.map.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $map = require('./_array-methods')(1); +var $export = require('./_export'); +var $map = require('./_array-methods')(1); $export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', { // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ + map: function map(callbackfn /* , thisArg */) { return $map(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.of.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.of.js index dd4e1f81..b83e058c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.of.js @@ -1,19 +1,19 @@ 'use strict'; -var $export = require('./_export') - , createProperty = require('./_create-property'); +var $export = require('./_export'); +var createProperty = require('./_create-property'); // WebKit Array.of isn't generic -$export($export.S + $export.F * require('./_fails')(function(){ - function F(){} +$export($export.S + $export.F * require('./_fails')(function () { + function F() { /* empty */ } return !(Array.of.call(F) instanceof F); }), 'Array', { // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */){ - var index = 0 - , aLen = arguments.length - , result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); result.length = aLen; return result; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce-right.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce-right.js index 0c64d85e..168e421d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce-right.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce-right.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $reduce = require('./_array-reduce'); +var $export = require('./_export'); +var $reduce = require('./_array-reduce'); $export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', { // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */){ + reduceRight: function reduceRight(callbackfn /* , initialValue */) { return $reduce(this, callbackfn, arguments.length, arguments[1], true); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce.js index 491f7d25..f4e47612 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.reduce.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $reduce = require('./_array-reduce'); +var $export = require('./_export'); +var $reduce = require('./_array-reduce'); $export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', { // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */){ + reduce: function reduce(callbackfn /* , initialValue */) { return $reduce(this, callbackfn, arguments.length, arguments[1], false); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.slice.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.slice.js index 610bd399..bdd496ec 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.slice.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.slice.js @@ -1,28 +1,28 @@ 'use strict'; -var $export = require('./_export') - , html = require('./_html') - , cof = require('./_cof') - , toIndex = require('./_to-index') - , toLength = require('./_to-length') - , arraySlice = [].slice; +var $export = require('./_export'); +var html = require('./_html'); +var cof = require('./_cof'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); +var arraySlice = [].slice; // fallback for not array-like ES3 strings and DOM objects -$export($export.P + $export.F * require('./_fails')(function(){ - if(html)arraySlice.call(html); +$export($export.P + $export.F * require('./_fails')(function () { + if (html) arraySlice.call(html); }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); end = end === undefined ? len : end; - if(klass == 'Array')return arraySlice.call(this, begin, end); - var start = toIndex(begin, len) - , upTo = toIndex(end, len) - , size = toLength(upTo - start) - , cloned = Array(size) - , i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i]; return cloned; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.some.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.some.js index fa1095ed..14c5eec2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.some.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.some.js @@ -1,10 +1,10 @@ 'use strict'; -var $export = require('./_export') - , $some = require('./_array-methods')(3); +var $export = require('./_export'); +var $some = require('./_array-methods')(3); $export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', { // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ + some: function some(callbackfn /* , thisArg */) { return $some(this, callbackfn, arguments[1]); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.sort.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.sort.js index 7de1fe77..39817ffa 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.sort.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.sort.js @@ -1,23 +1,23 @@ 'use strict'; -var $export = require('./_export') - , aFunction = require('./_a-function') - , toObject = require('./_to-object') - , fails = require('./_fails') - , $sort = [].sort - , test = [1, 2, 3]; +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var toObject = require('./_to-object'); +var fails = require('./_fails'); +var $sort = [].sort; +var test = [1, 2, 3]; -$export($export.P + $export.F * (fails(function(){ +$export($export.P + $export.F * (fails(function () { // IE8- test.sort(undefined); -}) || !fails(function(){ +}) || !fails(function () { // V8 bug test.sort(null); // Old WebKit }) || !require('./_strict-method')($sort)), 'Array', { // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn){ + sort: function sort(comparefn) { return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.array.species.js b/build/js-transpiled/node_modules/core-js/modules/es6.array.species.js index d63c738f..ce0b8917 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.array.species.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.array.species.js @@ -1 +1 @@ -require('./_set-species')('Array'); \ No newline at end of file +require('./_set-species')('Array'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.date.now.js b/build/js-transpiled/node_modules/core-js/modules/es6.date.now.js index c3ee5fd7..65f134e5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.date.now.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.date.now.js @@ -1,4 +1,4 @@ // 20.3.3.1 / 15.9.4.4 Date.now() var $export = require('./_export'); -$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }}); \ No newline at end of file +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-iso-string.js b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-iso-string.js index 2426c589..13b27818 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-iso-string.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-iso-string.js @@ -1,28 +1,8 @@ -'use strict'; // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() -var $export = require('./_export') - , fails = require('./_fails') - , getTime = Date.prototype.getTime; - -var lz = function(num){ - return num > 9 ? num : '0' + num; -}; +var $export = require('./_export'); +var toISOString = require('./_date-to-iso-string'); // PhantomJS / old WebKit has a broken implementations -$export($export.P + $export.F * (fails(function(){ - return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; -}) || !fails(function(){ - new Date(NaN).toISOString(); -})), 'Date', { - toISOString: function toISOString(){ - if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value'); - var d = this - , y = d.getUTCFullYear() - , m = d.getUTCMilliseconds() - , s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + - '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + - 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + - ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; - } -}); \ No newline at end of file +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-json.js b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-json.js index eb419d03..1508e042 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-json.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-json.js @@ -1,14 +1,16 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , toPrimitive = require('./_to-primitive'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); -$export($export.P + $export.F * require('./_fails')(function(){ - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1; +$export($export.P + $export.F * require('./_fails')(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; }), 'Date', { - toJSON: function toJSON(key){ - var O = toObject(this) - , pv = toPrimitive(O); + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-primitive.js b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-primitive.js index 15a823d5..41754b9c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-primitive.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-primitive.js @@ -1,4 +1,4 @@ -var TO_PRIMITIVE = require('./_wks')('toPrimitive') - , proto = Date.prototype; +var TO_PRIMITIVE = require('./_wks')('toPrimitive'); +var proto = Date.prototype; -if(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive')); \ No newline at end of file +if (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive')); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-string.js b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-string.js index 686e949e..15ee75ac 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.date.to-string.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.date.to-string.js @@ -1,11 +1,12 @@ -var DateProto = Date.prototype - , INVALID_DATE = 'Invalid Date' - , TO_STRING = 'toString' - , $toString = DateProto[TO_STRING] - , getTime = DateProto.getTime; -if(new Date(NaN) + '' != INVALID_DATE){ - require('./_redefine')(DateProto, TO_STRING, function toString(){ +var DateProto = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var $toString = DateProto[TO_STRING]; +var getTime = DateProto.getTime; +if (new Date(NaN) + '' != INVALID_DATE) { + require('./_redefine')(DateProto, TO_STRING, function toString() { var value = getTime.call(this); + // eslint-disable-next-line no-self-compare return value === value ? $toString.call(this) : INVALID_DATE; }); -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.function.bind.js b/build/js-transpiled/node_modules/core-js/modules/es6.function.bind.js index 85f10379..38e84e1a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.function.bind.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.function.bind.js @@ -1,4 +1,4 @@ // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) var $export = require('./_export'); -$export($export.P, 'Function', {bind: require('./_bind')}); \ No newline at end of file +$export($export.P, 'Function', { bind: require('./_bind') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.function.has-instance.js b/build/js-transpiled/node_modules/core-js/modules/es6.function.has-instance.js index ae294b1f..7556ed9b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.function.has-instance.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.function.has-instance.js @@ -1,13 +1,13 @@ 'use strict'; -var isObject = require('./_is-object') - , getPrototypeOf = require('./_object-gpo') - , HAS_INSTANCE = require('./_wks')('hasInstance') - , FunctionProto = Function.prototype; +var isObject = require('./_is-object'); +var getPrototypeOf = require('./_object-gpo'); +var HAS_INSTANCE = require('./_wks')('hasInstance'); +var FunctionProto = Function.prototype; // 19.2.3.6 Function.prototype[@@hasInstance](V) -if(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){ - if(typeof this != 'function' || !isObject(O))return false; - if(!isObject(this.prototype))return O instanceof this; +if (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while(O = getPrototypeOf(O))if(this.prototype === O)return true; + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; return false; -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.function.name.js b/build/js-transpiled/node_modules/core-js/modules/es6.function.name.js index f824d86d..05dd333f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.function.name.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.function.name.js @@ -1,25 +1,16 @@ -var dP = require('./_object-dp').f - , createDesc = require('./_property-desc') - , has = require('./_has') - , FProto = Function.prototype - , nameRE = /^\s*function ([^ (]*)/ - , NAME = 'name'; - -var isExtensible = Object.isExtensible || function(){ - return true; -}; +var dP = require('./_object-dp').f; +var FProto = Function.prototype; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; // 19.2.4.2 name NAME in FProto || require('./_descriptors') && dP(FProto, NAME, { configurable: true, - get: function(){ + get: function () { try { - var that = this - , name = ('' + that).match(nameRE)[1]; - has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name)); - return name; - } catch(e){ + return ('' + this).match(nameRE)[1]; + } catch (e) { return ''; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.map.js b/build/js-transpiled/node_modules/core-js/modules/es6.map.js index a166430f..a282f022 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.map.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.map.js @@ -1,17 +1,19 @@ 'use strict'; var strong = require('./_collection-strong'); +var validate = require('./_validate-collection'); +var MAP = 'Map'; // 23.1 Map Objects -module.exports = require('./_collection')('Map', function(get){ - return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +module.exports = require('./_collection')(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.1.3.6 Map.prototype.get(key) - get: function get(key){ - var entry = strong.getEntry(this, key); + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); return entry && entry.v; }, // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value){ - return strong.def(this, key === 0 ? 0 : key, value); + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); } -}, strong, true); \ No newline at end of file +}, strong, true); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.acosh.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.acosh.js index 459f1199..8a8989eb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.acosh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.acosh.js @@ -1,18 +1,18 @@ // 20.2.2.3 Math.acosh(x) -var $export = require('./_export') - , log1p = require('./_math-log1p') - , sqrt = Math.sqrt - , $acosh = Math.acosh; +var $export = require('./_export'); +var log1p = require('./_math-log1p'); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; $export($export.S + $export.F * !($acosh // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN + // Tor Browser bug: Math.acosh(Infinity) -> NaN && $acosh(Infinity) == Infinity ), 'Math', { - acosh: function acosh(x){ + acosh: function acosh(x) { return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.asinh.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.asinh.js index e6a74abb..ddf46662 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.asinh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.asinh.js @@ -1,10 +1,10 @@ // 20.2.2.5 Math.asinh(x) -var $export = require('./_export') - , $asinh = Math.asinh; +var $export = require('./_export'); +var $asinh = Math.asinh; -function asinh(x){ +function asinh(x) { return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); } -// Tor Browser bug: Math.asinh(0) -> -0 -$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh}); \ No newline at end of file +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.atanh.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.atanh.js index 94575d9f..af3c3e80 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.atanh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.atanh.js @@ -1,10 +1,10 @@ // 20.2.2.7 Math.atanh(x) -var $export = require('./_export') - , $atanh = Math.atanh; +var $export = require('./_export'); +var $atanh = Math.atanh; -// Tor Browser bug: Math.atanh(-0) -> 0 +// Tor Browser bug: Math.atanh(-0) -> 0 $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x){ + atanh: function atanh(x) { return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.cbrt.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.cbrt.js index 7ca7daea..e45ac444 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.cbrt.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.cbrt.js @@ -1,9 +1,9 @@ // 20.2.2.9 Math.cbrt(x) -var $export = require('./_export') - , sign = require('./_math-sign'); +var $export = require('./_export'); +var sign = require('./_math-sign'); $export($export.S, 'Math', { - cbrt: function cbrt(x){ + cbrt: function cbrt(x) { return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.clz32.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.clz32.js index 1ec534bd..1e4d7e19 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.clz32.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.clz32.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - clz32: function clz32(x){ + clz32: function clz32(x) { return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.cosh.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.cosh.js index 4f2b2155..1e0cffc1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.cosh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.cosh.js @@ -1,9 +1,9 @@ // 20.2.2.12 Math.cosh(x) -var $export = require('./_export') - , exp = Math.exp; +var $export = require('./_export'); +var exp = Math.exp; $export($export.S, 'Math', { - cosh: function cosh(x){ + cosh: function cosh(x) { return (exp(x = +x) + exp(-x)) / 2; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.expm1.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.expm1.js index 9762b7cd..da4c90df 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.expm1.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.expm1.js @@ -1,5 +1,5 @@ // 20.2.2.14 Math.expm1(x) -var $export = require('./_export') - , $expm1 = require('./_math-expm1'); +var $export = require('./_export'); +var $expm1 = require('./_math-expm1'); -$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1}); \ No newline at end of file +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.fround.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.fround.js index 01a88862..9c262f2e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.fround.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.fround.js @@ -1,26 +1,4 @@ // 20.2.2.16 Math.fround(x) -var $export = require('./_export') - , sign = require('./_math-sign') - , pow = Math.pow - , EPSILON = pow(2, -52) - , EPSILON32 = pow(2, -23) - , MAX32 = pow(2, 127) * (2 - EPSILON32) - , MIN32 = pow(2, -126); +var $export = require('./_export'); -var roundTiesToEven = function(n){ - return n + 1 / EPSILON - 1 / EPSILON; -}; - - -$export($export.S, 'Math', { - fround: function fround(x){ - var $abs = Math.abs(x) - , $sign = sign(x) - , a, result; - if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - if(result > MAX32 || result != result)return $sign * Infinity; - return $sign * result; - } -}); \ No newline at end of file +$export($export.S, 'Math', { fround: require('./_math-fround') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.hypot.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.hypot.js index 508521b6..41ffdb27 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.hypot.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.hypot.js @@ -1,25 +1,25 @@ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) -var $export = require('./_export') - , abs = Math.abs; +var $export = require('./_export'); +var abs = Math.abs; $export($export.S, 'Math', { - hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , aLen = arguments.length - , larg = 0 - , arg, div; - while(i < aLen){ + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { arg = abs(arguments[i++]); - if(larg < arg){ - div = larg / arg; - sum = sum * div * div + 1; + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; larg = arg; - } else if(arg > 0){ - div = arg / larg; + } else if (arg > 0) { + div = arg / larg; sum += div * div; } else sum += arg; } return larg === Infinity ? Infinity : larg * Math.sqrt(sum); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.imul.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.imul.js index 7f4111d2..96e683d2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.imul.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.imul.js @@ -1,17 +1,17 @@ // 20.2.2.18 Math.imul(x, y) -var $export = require('./_export') - , $imul = Math.imul; +var $export = require('./_export'); +var $imul = Math.imul; // some WebKit versions fails with big numbers, some has wrong arity -$export($export.S + $export.F * require('./_fails')(function(){ +$export($export.S + $export.F * require('./_fails')(function () { return $imul(0xffffffff, 5) != -5 || $imul.length != 2; }), 'Math', { - imul: function imul(x, y){ - var UINT16 = 0xffff - , xn = +x - , yn = +y - , xl = UINT16 & xn - , yl = UINT16 & yn; + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.log10.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.log10.js index 791dfc35..9ee8ae68 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.log10.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.log10.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - log10: function log10(x){ - return Math.log(x) / Math.LN10; + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.log1p.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.log1p.js index a1de0258..62959800 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.log1p.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.log1p.js @@ -1,4 +1,4 @@ // 20.2.2.20 Math.log1p(x) var $export = require('./_export'); -$export($export.S, 'Math', {log1p: require('./_math-log1p')}); \ No newline at end of file +$export($export.S, 'Math', { log1p: require('./_math-log1p') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.log2.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.log2.js index c4ba7819..03d127cb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.log2.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.log2.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - log2: function log2(x){ + log2: function log2(x) { return Math.log(x) / Math.LN2; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.sign.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.sign.js index 5dbee6f6..981f69e5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.sign.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.sign.js @@ -1,4 +1,4 @@ // 20.2.2.28 Math.sign(x) var $export = require('./_export'); -$export($export.S, 'Math', {sign: require('./_math-sign')}); \ No newline at end of file +$export($export.S, 'Math', { sign: require('./_math-sign') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.sinh.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.sinh.js index 5464ae3e..57606333 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.sinh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.sinh.js @@ -1,15 +1,15 @@ // 20.2.2.30 Math.sinh(x) -var $export = require('./_export') - , expm1 = require('./_math-expm1') - , exp = Math.exp; +var $export = require('./_export'); +var expm1 = require('./_math-expm1'); +var exp = Math.exp; // V8 near Chromium 38 has a problem with very small numbers -$export($export.S + $export.F * require('./_fails')(function(){ +$export($export.S + $export.F * require('./_fails')(function () { return !Math.sinh(-2e-17) != -2e-17; }), 'Math', { - sinh: function sinh(x){ + sinh: function sinh(x) { return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.tanh.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.tanh.js index d2f10778..0d3135b0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.tanh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.tanh.js @@ -1,12 +1,12 @@ // 20.2.2.33 Math.tanh(x) -var $export = require('./_export') - , expm1 = require('./_math-expm1') - , exp = Math.exp; +var $export = require('./_export'); +var expm1 = require('./_math-expm1'); +var exp = Math.exp; $export($export.S, 'Math', { - tanh: function tanh(x){ - var a = expm1(x = +x) - , b = expm1(-x); + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.math.trunc.js b/build/js-transpiled/node_modules/core-js/modules/es6.math.trunc.js index 2e42563b..35ddb808 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.math.trunc.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.math.trunc.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Math', { - trunc: function trunc(it){ + trunc: function trunc(it) { return (it > 0 ? Math.floor : Math.ceil)(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.constructor.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.constructor.js index d562365b..aee40e9a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.constructor.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.constructor.js @@ -1,69 +1,69 @@ 'use strict'; -var global = require('./_global') - , has = require('./_has') - , cof = require('./_cof') - , inheritIfRequired = require('./_inherit-if-required') - , toPrimitive = require('./_to-primitive') - , fails = require('./_fails') - , gOPN = require('./_object-gopn').f - , gOPD = require('./_object-gopd').f - , dP = require('./_object-dp').f - , $trim = require('./_string-trim').trim - , NUMBER = 'Number' - , $Number = global[NUMBER] - , Base = $Number - , proto = $Number.prototype - // Opera ~12 has broken Object#toString - , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER - , TRIM = 'trim' in String.prototype; +var global = require('./_global'); +var has = require('./_has'); +var cof = require('./_cof'); +var inheritIfRequired = require('./_inherit-if-required'); +var toPrimitive = require('./_to-primitive'); +var fails = require('./_fails'); +var gOPN = require('./_object-gopn').f; +var gOPD = require('./_object-gopd').f; +var dP = require('./_object-dp').f; +var $trim = require('./_string-trim').trim; +var NUMBER = 'Number'; +var $Number = global[NUMBER]; +var Base = $Number; +var proto = $Number.prototype; +// Opera ~12 has broken Object#toString +var BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER; +var TRIM = 'trim' in String.prototype; // 7.1.3 ToNumber(argument) -var toNumber = function(argument){ +var toNumber = function (argument) { var it = toPrimitive(argument, false); - if(typeof it == 'string' && it.length > 2){ + if (typeof it == 'string' && it.length > 2) { it = TRIM ? it.trim() : $trim(it, 3); - var first = it.charCodeAt(0) - , third, radix, maxCode; - if(first === 43 || first === 45){ + var first = it.charCodeAt(0); + var third, radix, maxCode; + if (first === 43 || first === 45) { third = it.charCodeAt(2); - if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if(first === 48){ - switch(it.charCodeAt(1)){ - case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i - case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i - default : return +it; + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default: return +it; } - for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){ + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { code = digits.charCodeAt(i); // parseInt parses a string to a first unavailable symbol // but ToNumber should return NaN if a string contains unavailable symbols - if(code < 48 || code > maxCode)return NaN; + if (code < 48 || code > maxCode) return NaN; } return parseInt(digits, radix); } } return +it; }; -if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){ - $Number = function Number(value){ - var it = arguments.length < 1 ? 0 : value - , that = this; +if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var that = this; return that instanceof $Number // check on 1..constructor(foo) case - && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER) + && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); }; - for(var keys = require('./_descriptors') ? gOPN(Base) : ( + for (var keys = require('./_descriptors') ? gOPN(Base) : ( // ES3: 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES6 (in case, if modules with ES6 Number statics required before): 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), j = 0, key; keys.length > j; j++){ - if(has(Base, key = keys[j]) && !has($Number, key)){ + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { dP($Number, key, gOPD(Base, key)); } } $Number.prototype = proto; proto.constructor = $Number; require('./_redefine')(global, NUMBER, $Number); -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.epsilon.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.epsilon.js index d25898cc..34a2ec5f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.epsilon.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.epsilon.js @@ -1,4 +1,4 @@ // 20.1.2.1 Number.EPSILON var $export = require('./_export'); -$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); \ No newline at end of file +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-finite.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-finite.js index c8c42753..8719da97 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-finite.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-finite.js @@ -1,9 +1,9 @@ // 20.1.2.2 Number.isFinite(number) -var $export = require('./_export') - , _isFinite = require('./_global').isFinite; +var $export = require('./_export'); +var _isFinite = require('./_global').isFinite; $export($export.S, 'Number', { - isFinite: function isFinite(it){ + isFinite: function isFinite(it) { return typeof it == 'number' && _isFinite(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-integer.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-integer.js index dc0f8f00..f1ab5dc4 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-integer.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-integer.js @@ -1,4 +1,4 @@ // 20.1.2.3 Number.isInteger(number) var $export = require('./_export'); -$export($export.S, 'Number', {isInteger: require('./_is-integer')}); \ No newline at end of file +$export($export.S, 'Number', { isInteger: require('./_is-integer') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-nan.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-nan.js index 5fedf825..01d76ba2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-nan.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-nan.js @@ -2,7 +2,8 @@ var $export = require('./_export'); $export($export.S, 'Number', { - isNaN: function isNaN(number){ + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare return number != number; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-safe-integer.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-safe-integer.js index 92193e2e..004e7d16 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.is-safe-integer.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.is-safe-integer.js @@ -1,10 +1,10 @@ // 20.1.2.5 Number.isSafeInteger(number) -var $export = require('./_export') - , isInteger = require('./_is-integer') - , abs = Math.abs; +var $export = require('./_export'); +var isInteger = require('./_is-integer'); +var abs = Math.abs; $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number){ + isSafeInteger: function isSafeInteger(number) { return isInteger(number) && abs(number) <= 0x1fffffffffffff; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.max-safe-integer.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.max-safe-integer.js index b9d7f2a7..a4f248f1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.max-safe-integer.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.max-safe-integer.js @@ -1,4 +1,4 @@ // 20.1.2.6 Number.MAX_SAFE_INTEGER var $export = require('./_export'); -$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); \ No newline at end of file +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.min-safe-integer.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.min-safe-integer.js index 9a2beeb3..34df374b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.min-safe-integer.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.min-safe-integer.js @@ -1,4 +1,4 @@ // 20.1.2.10 Number.MIN_SAFE_INTEGER var $export = require('./_export'); -$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); \ No newline at end of file +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-float.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-float.js index 7ee14da0..317c4310 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-float.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-float.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseFloat = require('./_parse-float'); +var $export = require('./_export'); +var $parseFloat = require('./_parse-float'); // 20.1.2.12 Number.parseFloat(string) -$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat}); \ No newline at end of file +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-int.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-int.js index 59bf1445..cb48da28 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-int.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.parse-int.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseInt = require('./_parse-int'); +var $export = require('./_export'); +var $parseInt = require('./_parse-int'); // 20.1.2.13 Number.parseInt(string, radix) -$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt}); \ No newline at end of file +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.to-fixed.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.to-fixed.js index c54970d6..2bf78af9 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.to-fixed.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.to-fixed.js @@ -1,54 +1,54 @@ 'use strict'; -var $export = require('./_export') - , toInteger = require('./_to-integer') - , aNumberValue = require('./_a-number-value') - , repeat = require('./_string-repeat') - , $toFixed = 1..toFixed - , floor = Math.floor - , data = [0, 0, 0, 0, 0, 0] - , ERROR = 'Number.toFixed: incorrect invocation!' - , ZERO = '0'; +var $export = require('./_export'); +var toInteger = require('./_to-integer'); +var aNumberValue = require('./_a-number-value'); +var repeat = require('./_string-repeat'); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; -var multiply = function(n, c){ - var i = -1 - , c2 = c; - while(++i < 6){ +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { c2 += n * data[i]; data[i] = c2 % 1e7; c2 = floor(c2 / 1e7); } }; -var divide = function(n){ - var i = 6 - , c = 0; - while(--i >= 0){ +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { c += data[i]; data[i] = floor(c / n); c = (c % n) * 1e7; } }; -var numToString = function(){ - var i = 6 - , s = ''; - while(--i >= 0){ - if(s !== '' || i === 0 || data[i] !== 0){ +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { var t = String(data[i]); s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; } } return s; }; -var pow = function(x, n, acc){ +var pow = function (x, n, acc) { return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); }; -var log = function(x){ - var n = 0 - , x2 = x; - while(x2 >= 4096){ +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { n += 12; x2 /= 4096; } - while(x2 >= 2){ - n += 1; + while (x2 >= 2) { + n += 1; x2 /= 2; } return n; }; @@ -57,39 +57,40 @@ $export($export.P + $export.F * (!!$toFixed && ( 0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || - 1000000000000000128..toFixed(0) !== '1000000000000000128' -) || !require('./_fails')(function(){ + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !require('./_fails')(function () { // V8 ~ Android 4.3- $toFixed.call({}); })), 'Number', { - toFixed: function toFixed(fractionDigits){ - var x = aNumberValue(this, ERROR) - , f = toInteger(fractionDigits) - , s = '' - , m = ZERO - , e, z, j, k; - if(f < 0 || f > 20)throw RangeError(ERROR); - if(x != x)return 'NaN'; - if(x <= -1e21 || x >= 1e21)return String(x); - if(x < 0){ + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { s = '-'; x = -x; } - if(x > 1e-21){ + if (x > 1e-21) { e = log(x * pow(2, 69, 1)) - 69; z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); z *= 0x10000000000000; e = 52 - e; - if(e > 0){ + if (e > 0) { multiply(0, z); j = f; - while(j >= 7){ + while (j >= 7) { multiply(1e7, 0); j -= 7; } multiply(pow(10, j, 1), 0); j = e - 1; - while(j >= 23){ + while (j >= 23) { divide(1 << 23); j -= 23; } @@ -103,11 +104,11 @@ $export($export.P + $export.F * (!!$toFixed && ( m = numToString() + repeat.call(ZERO, f); } } - if(f > 0){ + if (f > 0) { k = m.length; m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); } else { m = s + m; } return m; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.number.to-precision.js b/build/js-transpiled/node_modules/core-js/modules/es6.number.to-precision.js index 903dacdf..0d92527f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.number.to-precision.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.number.to-precision.js @@ -1,18 +1,18 @@ 'use strict'; -var $export = require('./_export') - , $fails = require('./_fails') - , aNumberValue = require('./_a-number-value') - , $toPrecision = 1..toPrecision; +var $export = require('./_export'); +var $fails = require('./_fails'); +var aNumberValue = require('./_a-number-value'); +var $toPrecision = 1.0.toPrecision; -$export($export.P + $export.F * ($fails(function(){ +$export($export.P + $export.F * ($fails(function () { // IE7- return $toPrecision.call(1, undefined) !== '1'; -}) || !$fails(function(){ +}) || !$fails(function () { // V8 ~ Android 4.3- $toPrecision.call({}); })), 'Number', { - toPrecision: function toPrecision(precision){ + toPrecision: function toPrecision(precision) { var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.assign.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.assign.js index 13eda2cb..d28085a7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.assign.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.assign.js @@ -1,4 +1,4 @@ // 19.1.3.1 Object.assign(target, source) var $export = require('./_export'); -$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')}); \ No newline at end of file +$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.create.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.create.js index 17e4b284..70627d69 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.create.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.create.js @@ -1,3 +1,3 @@ -var $export = require('./_export') +var $export = require('./_export'); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -$export($export.S, 'Object', {create: require('./_object-create')}); \ No newline at end of file +$export($export.S, 'Object', { create: require('./_object-create') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.define-properties.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.define-properties.js index 183eec6f..5ec34214 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.define-properties.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.define-properties.js @@ -1,3 +1,3 @@ var $export = require('./_export'); // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) -$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')}); \ No newline at end of file +$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.define-property.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.define-property.js index 71807cc0..12068582 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.define-property.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.define-property.js @@ -1,3 +1,3 @@ var $export = require('./_export'); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f}); \ No newline at end of file +$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.freeze.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.freeze.js index 34b51084..0856ce9d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.freeze.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.freeze.js @@ -1,9 +1,9 @@ // 19.1.2.5 Object.freeze(O) -var isObject = require('./_is-object') - , meta = require('./_meta').onFreeze; +var isObject = require('./_is-object'); +var meta = require('./_meta').onFreeze; -require('./_object-sap')('freeze', function($freeze){ - return function freeze(it){ +require('./_object-sap')('freeze', function ($freeze) { + return function freeze(it) { return $freeze && isObject(it) ? $freeze(meta(it)) : it; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js index 60c69913..9df21417 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js @@ -1,9 +1,9 @@ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) -var toIObject = require('./_to-iobject') - , $getOwnPropertyDescriptor = require('./_object-gopd').f; +var toIObject = require('./_to-iobject'); +var $getOwnPropertyDescriptor = require('./_object-gopd').f; -require('./_object-sap')('getOwnPropertyDescriptor', function(){ - return function getOwnPropertyDescriptor(it, key){ +require('./_object-sap')('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { return $getOwnPropertyDescriptor(toIObject(it), key); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-names.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-names.js index 91dd110d..172f51c7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-names.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.get-own-property-names.js @@ -1,4 +1,4 @@ // 19.1.2.7 Object.getOwnPropertyNames(O) -require('./_object-sap')('getOwnPropertyNames', function(){ +require('./_object-sap')('getOwnPropertyNames', function () { return require('./_object-gopn-ext').f; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.get-prototype-of.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.get-prototype-of.js index b124e28f..8fe2728c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.get-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.get-prototype-of.js @@ -1,9 +1,9 @@ // 19.1.2.9 Object.getPrototypeOf(O) -var toObject = require('./_to-object') - , $getPrototypeOf = require('./_object-gpo'); +var toObject = require('./_to-object'); +var $getPrototypeOf = require('./_object-gpo'); -require('./_object-sap')('getPrototypeOf', function(){ - return function getPrototypeOf(it){ +require('./_object-sap')('getPrototypeOf', function () { + return function getPrototypeOf(it) { return $getPrototypeOf(toObject(it)); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.is-extensible.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.is-extensible.js index 94bf8a81..5cd4575a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.is-extensible.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.is-extensible.js @@ -1,8 +1,8 @@ // 19.1.2.11 Object.isExtensible(O) var isObject = require('./_is-object'); -require('./_object-sap')('isExtensible', function($isExtensible){ - return function isExtensible(it){ +require('./_object-sap')('isExtensible', function ($isExtensible) { + return function isExtensible(it) { return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.is-frozen.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.is-frozen.js index 4bdfd11b..0ceeabbb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.is-frozen.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.is-frozen.js @@ -1,8 +1,8 @@ // 19.1.2.12 Object.isFrozen(O) var isObject = require('./_is-object'); -require('./_object-sap')('isFrozen', function($isFrozen){ - return function isFrozen(it){ +require('./_object-sap')('isFrozen', function ($isFrozen) { + return function isFrozen(it) { return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.is-sealed.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.is-sealed.js index d13aa1b0..7fa8dded 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.is-sealed.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.is-sealed.js @@ -1,8 +1,8 @@ // 19.1.2.13 Object.isSealed(O) var isObject = require('./_is-object'); -require('./_object-sap')('isSealed', function($isSealed){ - return function isSealed(it){ +require('./_object-sap')('isSealed', function ($isSealed) { + return function isSealed(it) { return isObject(it) ? $isSealed ? $isSealed(it) : false : true; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.is.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.is.js index ad299425..204d7030 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.is.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.is.js @@ -1,3 +1,3 @@ // 19.1.3.10 Object.is(value1, value2) var $export = require('./_export'); -$export($export.S, 'Object', {is: require('./_same-value')}); \ No newline at end of file +$export($export.S, 'Object', { is: require('./_same-value') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.keys.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.keys.js index bf76c07d..e9dade7d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.keys.js @@ -1,9 +1,9 @@ // 19.1.2.14 Object.keys(O) -var toObject = require('./_to-object') - , $keys = require('./_object-keys'); +var toObject = require('./_to-object'); +var $keys = require('./_object-keys'); -require('./_object-sap')('keys', function(){ - return function keys(it){ +require('./_object-sap')('keys', function () { + return function keys(it) { return $keys(toObject(it)); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.prevent-extensions.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.prevent-extensions.js index adaff7a7..2f729181 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.prevent-extensions.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.prevent-extensions.js @@ -1,9 +1,9 @@ // 19.1.2.15 Object.preventExtensions(O) -var isObject = require('./_is-object') - , meta = require('./_meta').onFreeze; +var isObject = require('./_is-object'); +var meta = require('./_meta').onFreeze; -require('./_object-sap')('preventExtensions', function($preventExtensions){ - return function preventExtensions(it){ +require('./_object-sap')('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.seal.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.seal.js index d7e4ea95..12c3f6a3 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.seal.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.seal.js @@ -1,9 +1,9 @@ // 19.1.2.17 Object.seal(O) -var isObject = require('./_is-object') - , meta = require('./_meta').onFreeze; +var isObject = require('./_is-object'); +var meta = require('./_meta').onFreeze; -require('./_object-sap')('seal', function($seal){ - return function seal(it){ +require('./_object-sap')('seal', function ($seal) { + return function seal(it) { return $seal && isObject(it) ? $seal(meta(it)) : it; }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.set-prototype-of.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.set-prototype-of.js index 5bbe4c06..461dbd2e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.set-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.set-prototype-of.js @@ -1,3 +1,3 @@ // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = require('./_export'); -$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set}); \ No newline at end of file +$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.object.to-string.js b/build/js-transpiled/node_modules/core-js/modules/es6.object.to-string.js index e644a5d1..1c7b85fe 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.object.to-string.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.object.to-string.js @@ -1,10 +1,10 @@ 'use strict'; // 19.1.3.6 Object.prototype.toString() -var classof = require('./_classof') - , test = {}; +var classof = require('./_classof'); +var test = {}; test[require('./_wks')('toStringTag')] = 'z'; -if(test + '' != '[object z]'){ - require('./_redefine')(Object.prototype, 'toString', function toString(){ +if (test + '' != '[object z]') { + require('./_redefine')(Object.prototype, 'toString', function toString() { return '[object ' + classof(this) + ']'; }, true); -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.parse-float.js b/build/js-transpiled/node_modules/core-js/modules/es6.parse-float.js index 5201712b..cbf50ead 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.parse-float.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.parse-float.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseFloat = require('./_parse-float'); +var $export = require('./_export'); +var $parseFloat = require('./_parse-float'); // 18.2.4 parseFloat(string) -$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat}); \ No newline at end of file +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.parse-int.js b/build/js-transpiled/node_modules/core-js/modules/es6.parse-int.js index 5a2bfaff..7ea358e8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.parse-int.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.parse-int.js @@ -1,4 +1,4 @@ -var $export = require('./_export') - , $parseInt = require('./_parse-int'); +var $export = require('./_export'); +var $parseInt = require('./_parse-int'); // 18.2.5 parseInt(string, radix) -$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt}); \ No newline at end of file +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.promise.js b/build/js-transpiled/node_modules/core-js/modules/es6.promise.js index 262a93af..b0ff3bfc 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.promise.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.promise.js @@ -1,172 +1,158 @@ 'use strict'; -var LIBRARY = require('./_library') - , global = require('./_global') - , ctx = require('./_ctx') - , classof = require('./_classof') - , $export = require('./_export') - , isObject = require('./_is-object') - , aFunction = require('./_a-function') - , anInstance = require('./_an-instance') - , forOf = require('./_for-of') - , speciesConstructor = require('./_species-constructor') - , task = require('./_task').set - , microtask = require('./_microtask')() - , PROMISE = 'Promise' - , TypeError = global.TypeError - , process = global.process - , $Promise = global[PROMISE] - , process = global.process - , isNode = classof(process) == 'process' - , empty = function(){ /* empty */ } - , Internal, GenericPromiseCapability, Wrapper; +var LIBRARY = require('./_library'); +var global = require('./_global'); +var ctx = require('./_ctx'); +var classof = require('./_classof'); +var $export = require('./_export'); +var isObject = require('./_is-object'); +var aFunction = require('./_a-function'); +var anInstance = require('./_an-instance'); +var forOf = require('./_for-of'); +var speciesConstructor = require('./_species-constructor'); +var task = require('./_task').set; +var microtask = require('./_microtask')(); +var newPromiseCapabilityModule = require('./_new-promise-capability'); +var perform = require('./_perform'); +var userAgent = require('./_user-agent'); +var promiseResolve = require('./_promise-resolve'); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; -var USE_NATIVE = !!function(){ +var USE_NATIVE = !!function () { try { // correct subclassing with @@species support - var promise = $Promise.resolve(1) - , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); }; + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) { + exec(empty, empty); + }; // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; - } catch(e){ /* empty */ } + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } }(); // helpers -var sameConstructor = function(a, b){ - // with library wrapper special case - return a === b || a === $Promise && b === Wrapper; -}; -var isThenable = function(it){ +var isThenable = function (it) { var then; return isObject(it) && typeof (then = it.then) == 'function' ? then : false; }; -var newPromiseCapability = function(C){ - return sameConstructor($Promise, C) - ? new PromiseCapability(C) - : new GenericPromiseCapability(C); -}; -var PromiseCapability = GenericPromiseCapability = function(C){ - var resolve, reject; - this.promise = new C(function($$resolve, $$reject){ - if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -}; -var perform = function(exec){ - try { - exec(); - } catch(e){ - return {error: e}; - } -}; -var notify = function(promise, isReject){ - if(promise._n)return; +var notify = function (promise, isReject) { + if (promise._n) return; promise._n = true; var chain = promise._c; - microtask(function(){ - var value = promise._v - , ok = promise._s == 1 - , i = 0; - var run = function(reaction){ - var handler = ok ? reaction.ok : reaction.fail - , resolve = reaction.resolve - , reject = reaction.reject - , domain = reaction.domain - , result, then; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; try { - if(handler){ - if(!ok){ - if(promise._h == 2)onHandleUnhandled(promise); + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); promise._h = 1; } - if(handler === true)result = value; + if (handler === true) result = value; else { - if(domain)domain.enter(); - result = handler(value); - if(domain)domain.exit(); + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } } - if(result === reaction.promise){ + if (result === reaction.promise) { reject(TypeError('Promise-chain cycle')); - } else if(then = isThenable(result)){ + } else if (then = isThenable(result)) { then.call(result, resolve, reject); } else resolve(result); } else reject(value); - } catch(e){ + } catch (e) { + if (domain && !exited) domain.exit(); reject(e); } }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach promise._c = []; promise._n = false; - if(isReject && !promise._h)onUnhandled(promise); + if (isReject && !promise._h) onUnhandled(promise); }); }; -var onUnhandled = function(promise){ - task.call(global, function(){ - var value = promise._v - , abrupt, handler, console; - if(isUnhandled(promise)){ - abrupt = perform(function(){ - if(isNode){ +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { process.emit('unhandledRejection', value, promise); - } else if(handler = global.onunhandledrejection){ - handler({promise: promise, reason: value}); - } else if((console = global.console) && console.error){ + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { console.error('Unhandled promise rejection', value); } }); // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should promise._h = isNode || isUnhandled(promise) ? 2 : 1; } promise._a = undefined; - if(abrupt)throw abrupt.error; + if (unhandled && result.e) throw result.v; }); }; -var isUnhandled = function(promise){ - if(promise._h == 1)return false; - var chain = promise._a || promise._c - , i = 0 - , reaction; - while(chain.length > i){ - reaction = chain[i++]; - if(reaction.fail || !isUnhandled(reaction.promise))return false; - } return true; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; }; -var onHandleUnhandled = function(promise){ - task.call(global, function(){ +var onHandleUnhandled = function (promise) { + task.call(global, function () { var handler; - if(isNode){ + if (isNode) { process.emit('rejectionHandled', promise); - } else if(handler = global.onrejectionhandled){ - handler({promise: promise, reason: promise._v}); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); } }); }; -var $reject = function(value){ +var $reject = function (value) { var promise = this; - if(promise._d)return; + if (promise._d) return; promise._d = true; promise = promise._w || promise; // unwrap promise._v = value; promise._s = 2; - if(!promise._a)promise._a = promise._c.slice(); + if (!promise._a) promise._a = promise._c.slice(); notify(promise, true); }; -var $resolve = function(value){ - var promise = this - , then; - if(promise._d)return; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; promise._d = true; promise = promise._w || promise; // unwrap try { - if(promise === value)throw TypeError("Promise can't be resolved itself"); - if(then = isThenable(value)){ - microtask(function(){ - var wrapper = {_w: promise, _d: false}; // wrap + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap try { then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch(e){ + } catch (e) { $reject.call(wrapper, e); } }); @@ -175,25 +161,26 @@ var $resolve = function(value){ promise._s = 1; notify(promise, false); } - } catch(e){ - $reject.call({_w: promise, _d: false}, e); // wrap + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap } }; // constructor polyfill -if(!USE_NATIVE){ +if (!USE_NATIVE) { // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor){ + $Promise = function Promise(executor) { anInstance(this, $Promise, PROMISE, '_h'); aFunction(executor); Internal.call(this); try { executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch(err){ + } catch (err) { $reject.call(this, err); } }; - Internal = function Promise(executor){ + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { this._c = []; // <- awaiting reactions this._a = undefined; // <- checked in isUnhandled reactions this._s = 0; // <- state @@ -204,30 +191,35 @@ if(!USE_NATIVE){ }; Internal.prototype = require('./_redefine-all')($Promise.prototype, { // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected){ - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; reaction.domain = isNode ? process.domain : undefined; this._c.push(reaction); - if(this._a)this._a.push(reaction); - if(this._s)notify(this, false); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); return reaction.promise; }, // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected){ + 'catch': function (onRejected) { return this.then(undefined, onRejected); } }); - PromiseCapability = function(){ - var promise = new Internal; + OwnPromiseCapability = function () { + var promise = new Internal(); this.promise = promise; this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); }; } -$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise}); +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); require('./_set-to-string-tag')($Promise, PROMISE); require('./_set-species')(PROMISE); Wrapper = require('./_core')[PROMISE]; @@ -235,65 +227,60 @@ Wrapper = require('./_core')[PROMISE]; // statics $export($export.S + $export.F * !USE_NATIVE, PROMISE, { // 25.4.4.5 Promise.reject(r) - reject: function reject(r){ - var capability = newPromiseCapability(this) - , $$reject = capability.reject; + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; $$reject(r); return capability.promise; } }); $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x){ - // instanceof instead of internal slot check because we should fix it without replacement native Promise core - if(x instanceof $Promise && sameConstructor(x.constructor, this))return x; - var capability = newPromiseCapability(this) - , $$resolve = capability.resolve; - $$resolve(x); - return capability.promise; + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); } }); -$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){ +$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) { $Promise.all(iter)['catch'](empty); })), PROMISE, { // 25.4.4.1 Promise.all(iterable) - all: function all(iterable){ - var C = this - , capability = newPromiseCapability(C) - , resolve = capability.resolve - , reject = capability.reject; - var abrupt = perform(function(){ - var values = [] - , index = 0 - , remaining = 1; - forOf(iterable, false, function(promise){ - var $index = index++ - , alreadyCalled = false; + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; values.push(undefined); remaining++; - C.resolve(promise).then(function(value){ - if(alreadyCalled)return; - alreadyCalled = true; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; values[$index] = value; --remaining || resolve(values); }, reject); }); --remaining || resolve(values); }); - if(abrupt)reject(abrupt.error); + if (result.e) reject(result.v); return capability.promise; }, // 25.4.4.4 Promise.race(iterable) - race: function race(iterable){ - var C = this - , capability = newPromiseCapability(C) - , reject = capability.reject; - var abrupt = perform(function(){ - forOf(iterable, false, function(promise){ + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { C.resolve(promise).then(capability.resolve, reject); }); }); - if(abrupt)reject(abrupt.error); + if (result.e) reject(result.v); return capability.promise; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.apply.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.apply.js index 24ea80f5..3b9c03a9 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.apply.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.apply.js @@ -1,16 +1,16 @@ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) -var $export = require('./_export') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , rApply = (require('./_global').Reflect || {}).apply - , fApply = Function.apply; +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var rApply = (require('./_global').Reflect || {}).apply; +var fApply = Function.apply; // MS Edge argumentsList argument is optional -$export($export.S + $export.F * !require('./_fails')(function(){ - rApply(function(){}); +$export($export.S + $export.F * !require('./_fails')(function () { + rApply(function () { /* empty */ }); }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.construct.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.construct.js index 96483d70..380addb5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.construct.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.construct.js @@ -1,33 +1,33 @@ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) -var $export = require('./_export') - , create = require('./_object-create') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , isObject = require('./_is-object') - , fails = require('./_fails') - , bind = require('./_bind') - , rConstruct = (require('./_global').Reflect || {}).construct; +var $export = require('./_export'); +var create = require('./_object-create'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var bind = require('./_bind'); +var rConstruct = (require('./_global').Reflect || {}).construct; // MS Edge supports only 2 arguments and argumentsList argument is optional // FF Nightly sets third argument as `new.target`, but does not create `this` from it -var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); }); -var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); }); $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ + construct: function construct(Target, args /* , newTarget */) { aFunction(Target); anObject(args); var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - if(Target == newTarget){ + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: return new Target; + switch (args.length) { + case 0: return new Target(); case 1: return new Target(args[0]); case 2: return new Target(args[0], args[1]); case 3: return new Target(args[0], args[1], args[2]); @@ -36,12 +36,12 @@ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { // w/o altered newTarget, lot of arguments case var $args = [null]; $args.push.apply($args, args); - return new (bind.apply(Target, $args)); + return new (bind.apply(Target, $args))(); } // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); return isObject(result) ? result : instance; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.define-property.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.define-property.js index 485d43c4..be7fbde6 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.define-property.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.define-property.js @@ -1,22 +1,23 @@ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) -var dP = require('./_object-dp') - , $export = require('./_export') - , anObject = require('./_an-object') - , toPrimitive = require('./_to-primitive'); +var dP = require('./_object-dp'); +var $export = require('./_export'); +var anObject = require('./_an-object'); +var toPrimitive = require('./_to-primitive'); // MS Edge has broken Reflect.defineProperty - throwing instead of returning false -$export($export.S + $export.F * require('./_fails')(function(){ - Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); +$export($export.S + $export.F * require('./_fails')(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes){ + defineProperty: function defineProperty(target, propertyKey, attributes) { anObject(target); propertyKey = toPrimitive(propertyKey, true); anObject(attributes); try { dP.f(target, propertyKey, attributes); return true; - } catch(e){ + } catch (e) { return false; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.delete-property.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.delete-property.js index 4e8ce207..0902b38a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.delete-property.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.delete-property.js @@ -1,11 +1,11 @@ // 26.1.4 Reflect.deleteProperty(target, propertyKey) -var $export = require('./_export') - , gOPD = require('./_object-gopd').f - , anObject = require('./_an-object'); +var $export = require('./_export'); +var gOPD = require('./_object-gopd').f; +var anObject = require('./_an-object'); $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey){ + deleteProperty: function deleteProperty(target, propertyKey) { var desc = gOPD(anObject(target), propertyKey); return desc && !desc.configurable ? false : delete target[propertyKey]; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.enumerate.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.enumerate.js index abdb132d..9e7c76a3 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.enumerate.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.enumerate.js @@ -1,26 +1,26 @@ 'use strict'; // 26.1.5 Reflect.enumerate(target) -var $export = require('./_export') - , anObject = require('./_an-object'); -var Enumerate = function(iterated){ +var $export = require('./_export'); +var anObject = require('./_an-object'); +var Enumerate = function (iterated) { this._t = anObject(iterated); // target this._i = 0; // next index - var keys = this._k = [] // keys - , key; - for(key in iterated)keys.push(key); + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); }; -require('./_iter-create')(Enumerate, 'Object', function(){ - var that = this - , keys = that._k - , key; +require('./_iter-create')(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; do { - if(that._i >= keys.length)return {value: undefined, done: true}; - } while(!((key = keys[that._i++]) in that._t)); - return {value: key, done: false}; + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; }); $export($export.S, 'Reflect', { - enumerate: function enumerate(target){ + enumerate: function enumerate(target) { return new Enumerate(target); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js index 741a13eb..e1299f90 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js @@ -1,10 +1,10 @@ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) -var gOPD = require('./_object-gopd') - , $export = require('./_export') - , anObject = require('./_an-object'); +var gOPD = require('./_object-gopd'); +var $export = require('./_export'); +var anObject = require('./_an-object'); $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { return gOPD.f(anObject(target), propertyKey); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-prototype-of.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-prototype-of.js index 4f912d10..28351d41 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get-prototype-of.js @@ -1,10 +1,10 @@ // 26.1.8 Reflect.getPrototypeOf(target) -var $export = require('./_export') - , getProto = require('./_object-gpo') - , anObject = require('./_an-object'); +var $export = require('./_export'); +var getProto = require('./_object-gpo'); +var anObject = require('./_an-object'); $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target){ + getPrototypeOf: function getPrototypeOf(target) { return getProto(anObject(target)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get.js index f8c39f50..a7ee7666 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.get.js @@ -1,21 +1,21 @@ // 26.1.6 Reflect.get(target, propertyKey [, receiver]) -var gOPD = require('./_object-gopd') - , getPrototypeOf = require('./_object-gpo') - , has = require('./_has') - , $export = require('./_export') - , isObject = require('./_is-object') - , anObject = require('./_an-object'); +var gOPD = require('./_object-gopd'); +var getPrototypeOf = require('./_object-gpo'); +var has = require('./_has'); +var $export = require('./_export'); +var isObject = require('./_is-object'); +var anObject = require('./_an-object'); -function get(target, propertyKey/*, receiver*/){ - var receiver = arguments.length < 3 ? target : arguments[2] - , desc, proto; - if(anObject(target) === receiver)return target[propertyKey]; - if(desc = gOPD.f(target, propertyKey))return has(desc, 'value') +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined; - if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver); + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); } -$export($export.S, 'Reflect', {get: get}); \ No newline at end of file +$export($export.S, 'Reflect', { get: get }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.has.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.has.js index bbb6dbcd..4f5efa99 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.has.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.has.js @@ -2,7 +2,7 @@ var $export = require('./_export'); $export($export.S, 'Reflect', { - has: function has(target, propertyKey){ + has: function has(target, propertyKey) { return propertyKey in target; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.is-extensible.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.is-extensible.js index ffbc2848..700f938a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.is-extensible.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.is-extensible.js @@ -1,11 +1,11 @@ // 26.1.10 Reflect.isExtensible(target) -var $export = require('./_export') - , anObject = require('./_an-object') - , $isExtensible = Object.isExtensible; +var $export = require('./_export'); +var anObject = require('./_an-object'); +var $isExtensible = Object.isExtensible; $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target){ + isExtensible: function isExtensible(target) { anObject(target); return $isExtensible ? $isExtensible(target) : true; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.own-keys.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.own-keys.js index a1e5330c..9f2424ae 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.own-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.own-keys.js @@ -1,4 +1,4 @@ // 26.1.11 Reflect.ownKeys(target) var $export = require('./_export'); -$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')}); \ No newline at end of file +$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.prevent-extensions.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.prevent-extensions.js index d3dad8ee..e1037fa1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.prevent-extensions.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.prevent-extensions.js @@ -1,16 +1,16 @@ // 26.1.12 Reflect.preventExtensions(target) -var $export = require('./_export') - , anObject = require('./_an-object') - , $preventExtensions = Object.preventExtensions; +var $export = require('./_export'); +var anObject = require('./_an-object'); +var $preventExtensions = Object.preventExtensions; $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target){ + preventExtensions: function preventExtensions(target) { anObject(target); try { - if($preventExtensions)$preventExtensions(target); + if ($preventExtensions) $preventExtensions(target); return true; - } catch(e){ + } catch (e) { return false; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set-prototype-of.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set-prototype-of.js index b79d9b61..5dae9012 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set-prototype-of.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set-prototype-of.js @@ -1,15 +1,15 @@ // 26.1.14 Reflect.setPrototypeOf(target, proto) -var $export = require('./_export') - , setProto = require('./_set-proto'); +var $export = require('./_export'); +var setProto = require('./_set-proto'); -if(setProto)$export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto){ +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { setProto.check(target, proto); try { setProto.set(target, proto); return true; - } catch(e){ + } catch (e) { return false; } } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set.js b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set.js index c6b916a2..d809d7a4 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.reflect.set.js @@ -1,31 +1,33 @@ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) -var dP = require('./_object-dp') - , gOPD = require('./_object-gopd') - , getPrototypeOf = require('./_object-gpo') - , has = require('./_has') - , $export = require('./_export') - , createDesc = require('./_property-desc') - , anObject = require('./_an-object') - , isObject = require('./_is-object'); +var dP = require('./_object-dp'); +var gOPD = require('./_object-gopd'); +var getPrototypeOf = require('./_object-gpo'); +var has = require('./_has'); +var $export = require('./_export'); +var createDesc = require('./_property-desc'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); -function set(target, propertyKey, V/*, receiver*/){ - var receiver = arguments.length < 4 ? target : arguments[3] - , ownDesc = gOPD.f(anObject(target), propertyKey) - , existingDescriptor, proto; - if(!ownDesc){ - if(isObject(proto = getPrototypeOf(target))){ +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { return set(proto, propertyKey, V, receiver); } ownDesc = createDesc(0); } - if(has(ownDesc, 'value')){ - if(ownDesc.writable === false || !isObject(receiver))return false; - existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); return true; } return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); } -$export($export.S, 'Reflect', {set: set}); \ No newline at end of file +$export($export.S, 'Reflect', { set: set }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.constructor.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.constructor.js index 93961168..76247c32 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.constructor.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.constructor.js @@ -1,43 +1,43 @@ -var global = require('./_global') - , inheritIfRequired = require('./_inherit-if-required') - , dP = require('./_object-dp').f - , gOPN = require('./_object-gopn').f - , isRegExp = require('./_is-regexp') - , $flags = require('./_flags') - , $RegExp = global.RegExp - , Base = $RegExp - , proto = $RegExp.prototype - , re1 = /a/g - , re2 = /a/g - // "new" creates a new object, old webkit buggy here - , CORRECT_NEW = new $RegExp(re1) !== re1; +var global = require('./_global'); +var inheritIfRequired = require('./_inherit-if-required'); +var dP = require('./_object-dp').f; +var gOPN = require('./_object-gopn').f; +var isRegExp = require('./_is-regexp'); +var $flags = require('./_flags'); +var $RegExp = global.RegExp; +var Base = $RegExp; +var proto = $RegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; +// "new" creates a new object, old webkit buggy here +var CORRECT_NEW = new $RegExp(re1) !== re1; -if(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){ +if (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () { re2[require('./_wks')('match')] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; -}))){ - $RegExp = function RegExp(p, f){ - var tiRE = this instanceof $RegExp - , piRE = isRegExp(p) - , fiU = f === undefined; +}))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp; + var piRE = isRegExp(p); + var fiU = f === undefined; return !tiRE && piRE && p.constructor === $RegExp && fiU ? p : inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) , tiRE ? this : proto, $RegExp); }; - var proxy = function(key){ + var proxy = function (key) { key in $RegExp || dP($RegExp, key, { configurable: true, - get: function(){ return Base[key]; }, - set: function(it){ Base[key] = it; } + get: function () { return Base[key]; }, + set: function (it) { Base[key] = it; } }); }; - for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]); + for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); proto.constructor = $RegExp; $RegExp.prototype = proto; require('./_redefine')(global, 'RegExp', $RegExp); } -require('./_set-species')('RegExp'); \ No newline at end of file +require('./_set-species')('RegExp'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.flags.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.flags.js index 33ba86f7..47008680 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.flags.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.flags.js @@ -1,5 +1,5 @@ // 21.2.5.3 get RegExp.prototype.flags() -if(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', { +if (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', { configurable: true, get: require('./_flags') -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.match.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.match.js index 814d3719..4f71de09 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.match.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.match.js @@ -1,10 +1,10 @@ // @@match logic -require('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){ +require('./_fix-re-wks')('match', 1, function (defined, MATCH, $match) { // 21.1.3.11 String.prototype.match(regexp) - return [function match(regexp){ + return [function match(regexp) { 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[MATCH]; + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[MATCH]; return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); }, $match]; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.replace.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.replace.js index 4f651af3..75ce2df7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.replace.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.replace.js @@ -1,12 +1,12 @@ // @@replace logic -require('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){ +require('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) { // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) - return [function replace(searchValue, replaceValue){ + return [function replace(searchValue, replaceValue) { 'use strict'; - var O = defined(this) - , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + var O = defined(this); + var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue); }, $replace]; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.search.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.search.js index 7aac5e44..df80ed9a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.search.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.search.js @@ -1,10 +1,10 @@ // @@search logic -require('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){ +require('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) { // 21.1.3.15 String.prototype.search(regexp) - return [function search(regexp){ + return [function search(regexp) { 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[SEARCH]; + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[SEARCH]; return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); }, $search]; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.split.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.split.js index a991a3fc..ce796b38 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.split.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.split.js @@ -1,27 +1,27 @@ // @@split logic -require('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){ +require('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split) { 'use strict'; - var isRegExp = require('./_is-regexp') - , _split = $split - , $push = [].push - , $SPLIT = 'split' - , LENGTH = 'length' - , LAST_INDEX = 'lastIndex'; - if( + var isRegExp = require('./_is-regexp'); + var _split = $split; + var $push = [].push; + var $SPLIT = 'split'; + var LENGTH = 'length'; + var LAST_INDEX = 'lastIndex'; + if ( 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || '.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH] - ){ + ) { var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group // based on es5-shim implementation, need to rework it - $split = function(separator, limit){ + $split = function (separator, limit) { var string = String(this); - if(separator === undefined && limit === 0)return []; + if (separator === undefined && limit === 0) return []; // If `separator` is not a regex, use native split - if(!isRegExp(separator))return _split.call(string, separator, limit); + if (!isRegExp(separator)) return _split.call(string, separator, limit); var output = []; var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + @@ -33,38 +33,39 @@ require('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){ var separatorCopy = new RegExp(separator.source, flags + 'g'); var separator2, match, lastIndex, lastLength, i; // Doesn't need flags gy, but they don't hurt - if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); - while(match = separatorCopy.exec(string)){ + if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); + while (match = separatorCopy.exec(string)) { // `separatorCopy.lastIndex` is not reliable cross-browser lastIndex = match.index + match[0][LENGTH]; - if(lastIndex > lastLastIndex){ + if (lastIndex > lastLastIndex) { output.push(string.slice(lastLastIndex, match.index)); // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG - if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){ - for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined; + // eslint-disable-next-line no-loop-func + if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () { + for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined; }); - if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1)); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); lastLength = match[0][LENGTH]; lastLastIndex = lastIndex; - if(output[LENGTH] >= splitLimit)break; + if (output[LENGTH] >= splitLimit) break; } - if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop } - if(lastLastIndex === string[LENGTH]){ - if(lastLength || !separatorCopy.test(''))output.push(''); + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); } else output.push(string.slice(lastLastIndex)); return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; }; // Chakra, V8 - } else if('0'[$SPLIT](undefined, 0)[LENGTH]){ - $split = function(separator, limit){ + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + $split = function (separator, limit) { return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); }; } // 21.1.3.17 String.prototype.split(separator, limit) - return [function split(separator, limit){ - var O = defined(this) - , fn = separator == undefined ? undefined : separator[SPLIT]; + return [function split(separator, limit) { + var O = defined(this); + var fn = separator == undefined ? undefined : separator[SPLIT]; return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); }, $split]; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.to-string.js b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.to-string.js index 699aeff2..33d6e6fe 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.regexp.to-string.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.regexp.to-string.js @@ -1,25 +1,25 @@ 'use strict'; require('./es6.regexp.flags'); -var anObject = require('./_an-object') - , $flags = require('./_flags') - , DESCRIPTORS = require('./_descriptors') - , TO_STRING = 'toString' - , $toString = /./[TO_STRING]; +var anObject = require('./_an-object'); +var $flags = require('./_flags'); +var DESCRIPTORS = require('./_descriptors'); +var TO_STRING = 'toString'; +var $toString = /./[TO_STRING]; -var define = function(fn){ +var define = function (fn) { require('./_redefine')(RegExp.prototype, TO_STRING, fn, true); }; // 21.2.5.14 RegExp.prototype.toString() -if(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){ - define(function toString(){ +if (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { + define(function toString() { var R = anObject(this); return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); }); // FF44- RegExp#toString has a wrong name -} else if($toString.name != TO_STRING){ - define(function toString(){ +} else if ($toString.name != TO_STRING) { + define(function toString() { return $toString.call(this); }); -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.set.js b/build/js-transpiled/node_modules/core-js/modules/es6.set.js index a1880881..55b8bdd8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.set.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.set.js @@ -1,12 +1,14 @@ 'use strict'; var strong = require('./_collection-strong'); +var validate = require('./_validate-collection'); +var SET = 'Set'; // 23.2 Set Objects -module.exports = require('./_collection')('Set', function(get){ - return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +module.exports = require('./_collection')(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); } -}, strong); \ No newline at end of file +}, strong); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.anchor.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.anchor.js index 65db2521..3493e54c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.anchor.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.anchor.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.2 String.prototype.anchor(name) -require('./_string-html')('anchor', function(createHTML){ - return function anchor(name){ +require('./_string-html')('anchor', function (createHTML) { + return function anchor(name) { return createHTML(this, 'a', 'name', name); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.big.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.big.js index aeeb1aba..38aab341 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.big.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.big.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.3 String.prototype.big() -require('./_string-html')('big', function(createHTML){ - return function big(){ +require('./_string-html')('big', function (createHTML) { + return function big() { return createHTML(this, 'big', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.blink.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.blink.js index aef8da2e..6188d96e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.blink.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.blink.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.4 String.prototype.blink() -require('./_string-html')('blink', function(createHTML){ - return function blink(){ +require('./_string-html')('blink', function (createHTML) { + return function blink() { return createHTML(this, 'blink', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.bold.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.bold.js index 022cdb07..ff3ecb9c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.bold.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.bold.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.5 String.prototype.bold() -require('./_string-html')('bold', function(createHTML){ - return function bold(){ +require('./_string-html')('bold', function (createHTML) { + return function bold() { return createHTML(this, 'b', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.code-point-at.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.code-point-at.js index cf544652..e39b8c5e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.code-point-at.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.code-point-at.js @@ -1,9 +1,9 @@ 'use strict'; -var $export = require('./_export') - , $at = require('./_string-at')(false); +var $export = require('./_export'); +var $at = require('./_string-at')(false); $export($export.P, 'String', { // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos){ + codePointAt: function codePointAt(pos) { return $at(this, pos); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.ends-with.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.ends-with.js index 80baed9a..06568888 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.ends-with.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.ends-with.js @@ -1,20 +1,20 @@ // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) 'use strict'; -var $export = require('./_export') - , toLength = require('./_to-length') - , context = require('./_string-context') - , ENDS_WITH = 'endsWith' - , $endsWith = ''[ENDS_WITH]; +var $export = require('./_export'); +var toLength = require('./_to-length'); +var context = require('./_string-context'); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; $export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, ENDS_WITH) - , endPosition = arguments.length > 1 ? arguments[1] : undefined - , len = toLength(that.length) - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) - , search = String(searchString); + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.fixed.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.fixed.js index d017e202..d4a60f37 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.fixed.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.fixed.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.6 String.prototype.fixed() -require('./_string-html')('fixed', function(createHTML){ - return function fixed(){ +require('./_string-html')('fixed', function (createHTML) { + return function fixed() { return createHTML(this, 'tt', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.fontcolor.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.fontcolor.js index d40711f0..f7b95957 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.fontcolor.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.fontcolor.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.7 String.prototype.fontcolor(color) -require('./_string-html')('fontcolor', function(createHTML){ - return function fontcolor(color){ +require('./_string-html')('fontcolor', function (createHTML) { + return function fontcolor(color) { return createHTML(this, 'font', 'color', color); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.fontsize.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.fontsize.js index ba3ff980..f4cc20ae 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.fontsize.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.fontsize.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.8 String.prototype.fontsize(size) -require('./_string-html')('fontsize', function(createHTML){ - return function fontsize(size){ +require('./_string-html')('fontsize', function (createHTML) { + return function fontsize(size) { return createHTML(this, 'font', 'size', size); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.from-code-point.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.from-code-point.js index c8776d87..bece66e2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.from-code-point.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.from-code-point.js @@ -1,23 +1,23 @@ -var $export = require('./_export') - , toIndex = require('./_to-index') - , fromCharCode = String.fromCharCode - , $fromCodePoint = String.fromCodePoint; +var $export = require('./_export'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; // length should be 1, old FF problem $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , aLen = arguments.length - , i = 0 - , code; - while(aLen > i){ + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { code = +arguments[i++]; - if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) ); } return res.join(''); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.includes.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.includes.js index c6b4ee2f..28d17416 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.includes.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.includes.js @@ -1,12 +1,12 @@ // 21.1.3.7 String.prototype.includes(searchString, position = 0) 'use strict'; -var $export = require('./_export') - , context = require('./_string-context') - , INCLUDES = 'includes'; +var $export = require('./_export'); +var context = require('./_string-context'); +var INCLUDES = 'includes'; $export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', { - includes: function includes(searchString /*, position = 0 */){ + includes: function includes(searchString /* , position = 0 */) { return !!~context(this, searchString, INCLUDES) .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.italics.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.italics.js index d33efd3c..ed4cc3bf 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.italics.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.italics.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.9 String.prototype.italics() -require('./_string-html')('italics', function(createHTML){ - return function italics(){ +require('./_string-html')('italics', function (createHTML) { + return function italics() { return createHTML(this, 'i', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.iterator.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.iterator.js index ac391ee4..5d84c7fd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.iterator.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.iterator.js @@ -1,17 +1,17 @@ 'use strict'; -var $at = require('./_string-at')(true); +var $at = require('./_string-at')(true); // 21.1.3.27 String.prototype[@@iterator]() -require('./_iter-define')(String, 'String', function(iterated){ +require('./_iter-define')(String, 'String', function (iterated) { this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() -}, function(){ - var O = this._t - , index = this._i - , point; - if(index >= O.length)return {value: undefined, done: true}; +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; point = $at(O, index); this._i += point.length; - return {value: point, done: false}; -}); \ No newline at end of file + return { value: point, done: false }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.link.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.link.js index 6a75c18a..d0255edd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.link.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.link.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.10 String.prototype.link(url) -require('./_string-html')('link', function(createHTML){ - return function link(url){ +require('./_string-html')('link', function (createHTML) { + return function link(url) { return createHTML(this, 'a', 'href', url); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.raw.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.raw.js index 1016acfa..aa40ff6f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.raw.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.raw.js @@ -1,18 +1,18 @@ -var $export = require('./_export') - , toIObject = require('./_to-iobject') - , toLength = require('./_to-length'); +var $export = require('./_export'); +var toIObject = require('./_to-iobject'); +var toLength = require('./_to-length'); $export($export.S, 'String', { // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , aLen = arguments.length - , res = [] - , i = 0; - while(len > i){ + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { res.push(String(tpl[i++])); - if(i < aLen)res.push(String(arguments[i])); + if (i < aLen) res.push(String(arguments[i])); } return res.join(''); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.repeat.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.repeat.js index a054222d..08412d91 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.repeat.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.repeat.js @@ -3,4 +3,4 @@ var $export = require('./_export'); $export($export.P, 'String', { // 21.1.3.13 String.prototype.repeat(count) repeat: require('./_string-repeat') -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.small.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.small.js index 51b1b30d..941e4a76 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.small.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.small.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.11 String.prototype.small() -require('./_string-html')('small', function(createHTML){ - return function small(){ +require('./_string-html')('small', function (createHTML) { + return function small() { return createHTML(this, 'small', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.starts-with.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.starts-with.js index 017805f0..c1723767 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.starts-with.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.starts-with.js @@ -1,18 +1,18 @@ // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) 'use strict'; -var $export = require('./_export') - , toLength = require('./_to-length') - , context = require('./_string-context') - , STARTS_WITH = 'startsWith' - , $startsWith = ''[STARTS_WITH]; +var $export = require('./_export'); +var toLength = require('./_to-length'); +var context = require('./_string-context'); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; $export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, STARTS_WITH) - , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)) - , search = String(searchString); + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.strike.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.strike.js index c6287d3a..66055bc0 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.strike.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.strike.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.12 String.prototype.strike() -require('./_string-html')('strike', function(createHTML){ - return function strike(){ +require('./_string-html')('strike', function (createHTML) { + return function strike() { return createHTML(this, 'strike', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.sub.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.sub.js index ee18ea7a..e295a27b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.sub.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.sub.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.13 String.prototype.sub() -require('./_string-html')('sub', function(createHTML){ - return function sub(){ +require('./_string-html')('sub', function (createHTML) { + return function sub() { return createHTML(this, 'sub', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.sup.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.sup.js index a3429988..125a989a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.sup.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.sup.js @@ -1,7 +1,7 @@ 'use strict'; // B.2.3.14 String.prototype.sup() -require('./_string-html')('sup', function(createHTML){ - return function sup(){ +require('./_string-html')('sup', function (createHTML) { + return function sup() { return createHTML(this, 'sup', '', ''); - } -}); \ No newline at end of file + }; +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.string.trim.js b/build/js-transpiled/node_modules/core-js/modules/es6.string.trim.js index 35f0fb0b..02b8a6c6 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.string.trim.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.string.trim.js @@ -1,7 +1,7 @@ 'use strict'; // 21.1.3.25 String.prototype.trim() -require('./_string-trim')('trim', function($trim){ - return function trim(){ +require('./_string-trim')('trim', function ($trim) { + return function trim() { return $trim(this, 3); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.symbol.js b/build/js-transpiled/node_modules/core-js/modules/es6.symbol.js index eae491c5..5bf7c488 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.symbol.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.symbol.js @@ -1,188 +1,188 @@ 'use strict'; // ECMAScript 6 symbols shim -var global = require('./_global') - , has = require('./_has') - , DESCRIPTORS = require('./_descriptors') - , $export = require('./_export') - , redefine = require('./_redefine') - , META = require('./_meta').KEY - , $fails = require('./_fails') - , shared = require('./_shared') - , setToStringTag = require('./_set-to-string-tag') - , uid = require('./_uid') - , wks = require('./_wks') - , wksExt = require('./_wks-ext') - , wksDefine = require('./_wks-define') - , keyOf = require('./_keyof') - , enumKeys = require('./_enum-keys') - , isArray = require('./_is-array') - , anObject = require('./_an-object') - , toIObject = require('./_to-iobject') - , toPrimitive = require('./_to-primitive') - , createDesc = require('./_property-desc') - , _create = require('./_object-create') - , gOPNExt = require('./_object-gopn-ext') - , $GOPD = require('./_object-gopd') - , $DP = require('./_object-dp') - , $keys = require('./_object-keys') - , gOPD = $GOPD.f - , dP = $DP.f - , gOPN = gOPNExt.f - , $Symbol = global.Symbol - , $JSON = global.JSON - , _stringify = $JSON && $JSON.stringify - , PROTOTYPE = 'prototype' - , HIDDEN = wks('_hidden') - , TO_PRIMITIVE = wks('toPrimitive') - , isEnum = {}.propertyIsEnumerable - , SymbolRegistry = shared('symbol-registry') - , AllSymbols = shared('symbols') - , OPSymbols = shared('op-symbols') - , ObjectProto = Object[PROTOTYPE] - , USE_NATIVE = typeof $Symbol == 'function' - , QObject = global.QObject; +var global = require('./_global'); +var has = require('./_has'); +var DESCRIPTORS = require('./_descriptors'); +var $export = require('./_export'); +var redefine = require('./_redefine'); +var META = require('./_meta').KEY; +var $fails = require('./_fails'); +var shared = require('./_shared'); +var setToStringTag = require('./_set-to-string-tag'); +var uid = require('./_uid'); +var wks = require('./_wks'); +var wksExt = require('./_wks-ext'); +var wksDefine = require('./_wks-define'); +var enumKeys = require('./_enum-keys'); +var isArray = require('./_is-array'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var toIObject = require('./_to-iobject'); +var toPrimitive = require('./_to-primitive'); +var createDesc = require('./_property-desc'); +var _create = require('./_object-create'); +var gOPNExt = require('./_object-gopn-ext'); +var $GOPD = require('./_object-gopd'); +var $DP = require('./_object-dp'); +var $keys = require('./_object-keys'); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDesc = DESCRIPTORS && $fails(function(){ +var setSymbolDesc = DESCRIPTORS && $fails(function () { return _create(dP({}, 'a', { - get: function(){ return dP(this, 'a', {value: 7}).a; } + get: function () { return dP(this, 'a', { value: 7 }).a; } })).a != 7; -}) ? function(it, key, D){ +}) ? function (it, key, D) { var protoDesc = gOPD(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; + if (protoDesc) delete ObjectProto[key]; dP(it, key, D); - if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); } : dP; -var wrap = function(tag){ +var wrap = function (tag) { var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); sym._k = tag; return sym; }; -var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { return typeof it == 'symbol'; -} : function(it){ +} : function (it) { return it instanceof $Symbol; }; -var $defineProperty = function defineProperty(it, key, D){ - if(it === ObjectProto)$defineProperty(OPSymbols, key, D); +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); anObject(it); key = toPrimitive(key, true); anObject(D); - if(has(AllSymbols, key)){ - if(!D.enumerable){ - if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {})); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); it[HIDDEN][key] = true; } else { - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = _create(D, {enumerable: createDesc(0, false)}); + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); } return setSymbolDesc(it, key, D); } return dP(it, key, D); }; -var $defineProperties = function defineProperties(it, P){ +var $defineProperties = function defineProperties(it, P) { anObject(it); - var keys = enumKeys(P = toIObject(P)) - , i = 0 - , l = keys.length - , key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); return it; }; -var $create = function create(it, P){ +var $create = function create(it, P) { return P === undefined ? _create(it) : $defineProperties(_create(it), P); }; -var $propertyIsEnumerable = function propertyIsEnumerable(key){ +var $propertyIsEnumerable = function propertyIsEnumerable(key) { var E = isEnum.call(this, key = toPrimitive(key, true)); - if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false; + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; }; -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ - it = toIObject(it); +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); key = toPrimitive(key, true); - if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return; + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; var D = gOPD(it, key); - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; return D; }; -var $getOwnPropertyNames = function getOwnPropertyNames(it){ - var names = gOPN(toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); } return result; }; -var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ - var IS_OP = it === ObjectProto - , names = gOPN(IS_OP ? OPSymbols : toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]); +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); } return result; }; // 19.4.1.1 Symbol([description]) -if(!USE_NATIVE){ - $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value){ - if(this === ObjectProto)$set.call(OPSymbols, value); - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; setSymbolDesc(this, tag, createDesc(1, value)); }; - if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set}); + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); return wrap(tag); }; - redefine($Symbol[PROTOTYPE], 'toString', function toString(){ + redefine($Symbol[PROTOTYPE], 'toString', function toString() { return this._k; }); $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; + $DP.f = $defineProperty; require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames; - require('./_object-pie').f = $propertyIsEnumerable; + require('./_object-pie').f = $propertyIsEnumerable; require('./_object-gops').f = $getOwnPropertySymbols; - if(DESCRIPTORS && !require('./_library')){ + if (DESCRIPTORS && !require('./_library')) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } - wksExt.f = function(name){ + wksExt.f = function (name) { return wrap(wks(name)); - } + }; } -$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol}); +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); -for(var symbols = ( +for (var es6Symbols = ( // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' -).split(','), i = 0; symbols.length > i; )wks(symbols[i++]); +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); -for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]); +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { // 19.4.2.1 Symbol.for(key) - 'for': function(key){ + 'for': function (key) { return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); }, // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(key){ - if(isSymbol(key))return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; }, - useSetter: function(){ setter = true; }, - useSimple: function(){ setter = false; } + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } }); $export($export.S + $export.F * !USE_NATIVE, 'Object', { @@ -201,24 +201,23 @@ $export($export.S + $export.F * !USE_NATIVE, 'Object', { }); // 24.3.2 JSON.stringify(value [, replacer [, space]]) -$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){ +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { var S = $Symbol(); // MS Edge converts symbol values to JSON as {} // WebKit converts symbol values to JSON as null // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; })), 'JSON', { - stringify: function stringify(it){ - if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined - var args = [it] - , i = 1 - , replacer, $replacer; - while(arguments.length > i)args.push(arguments[i++]); - replacer = args[1]; - if(typeof replacer == 'function')$replacer = replacer; - if($replacer || !isArray(replacer))replacer = function(key, value){ - if($replacer)value = $replacer.call(this, key, value); - if(!isSymbol(value))return value; + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; }; args[1] = replacer; return _stringify.apply($JSON, args); @@ -232,4 +231,4 @@ setToStringTag($Symbol, 'Symbol'); // 20.2.1.9 Math[@@toStringTag] setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] -setToStringTag(global.JSON, 'JSON', true); \ No newline at end of file +setToStringTag(global.JSON, 'JSON', true); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.array-buffer.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.array-buffer.js index 9f47082c..b2473709 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.array-buffer.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.array-buffer.js @@ -1,46 +1,46 @@ 'use strict'; -var $export = require('./_export') - , $typed = require('./_typed') - , buffer = require('./_typed-buffer') - , anObject = require('./_an-object') - , toIndex = require('./_to-index') - , toLength = require('./_to-length') - , isObject = require('./_is-object') - , ArrayBuffer = require('./_global').ArrayBuffer - , speciesConstructor = require('./_species-constructor') - , $ArrayBuffer = buffer.ArrayBuffer - , $DataView = buffer.DataView - , $isView = $typed.ABV && ArrayBuffer.isView - , $slice = $ArrayBuffer.prototype.slice - , VIEW = $typed.VIEW - , ARRAY_BUFFER = 'ArrayBuffer'; +var $export = require('./_export'); +var $typed = require('./_typed'); +var buffer = require('./_typed-buffer'); +var anObject = require('./_an-object'); +var toAbsoluteIndex = require('./_to-absolute-index'); +var toLength = require('./_to-length'); +var isObject = require('./_is-object'); +var ArrayBuffer = require('./_global').ArrayBuffer; +var speciesConstructor = require('./_species-constructor'); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; -$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer}); +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it){ + isView: function isView(it) { return $isView && $isView(it) || isObject(it) && VIEW in it; } }); -$export($export.P + $export.U + $export.F * require('./_fails')(function(){ +$export($export.P + $export.U + $export.F * require('./_fails')(function () { return !new $ArrayBuffer(2).slice(1, undefined).byteLength; }), ARRAY_BUFFER, { // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end){ - if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength - , first = toIndex(start, len) - , final = toIndex(end === undefined ? len : end, len) - , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)) - , viewS = new $DataView(this) - , viewT = new $DataView(result) - , index = 0; - while(first < final){ + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { viewT.setUint8(index++, viewS.getUint8(first++)); } return result; } }); -require('./_set-species')(ARRAY_BUFFER); \ No newline at end of file +require('./_set-species')(ARRAY_BUFFER); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.data-view.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.data-view.js index ee7b8812..d0e23536 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.data-view.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.data-view.js @@ -1,4 +1,4 @@ var $export = require('./_export'); $export($export.G + $export.W + $export.F * !require('./_typed').ABV, { DataView: require('./_typed-buffer').DataView -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.float32-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.float32-array.js index 2c4c9a69..f4970061 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.float32-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.float32-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Float32', 4, function(init){ - return function Float32Array(data, byteOffset, length){ +require('./_typed-array')('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.float64-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.float64-array.js index 4b20257f..85dedcd5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.float64-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.float64-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Float64', 8, function(init){ - return function Float64Array(data, byteOffset, length){ +require('./_typed-array')('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.int16-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.int16-array.js index d3f61c56..b20ed041 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.int16-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.int16-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Int16', 2, function(init){ - return function Int16Array(data, byteOffset, length){ +require('./_typed-array')('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.int32-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.int32-array.js index df47c1bb..c7e6ae06 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.int32-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.int32-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Int32', 4, function(init){ - return function Int32Array(data, byteOffset, length){ +require('./_typed-array')('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.int8-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.int8-array.js index da4dbf0a..58ab9f36 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.int8-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.int8-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Int8', 1, function(init){ - return function Int8Array(data, byteOffset, length){ +require('./_typed-array')('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint16-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint16-array.js index cb335773..992805d6 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint16-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint16-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint16', 2, function(init){ - return function Uint16Array(data, byteOffset, length){ +require('./_typed-array')('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint32-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint32-array.js index 41c9e7b8..5c444246 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint32-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint32-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint32', 4, function(init){ - return function Uint32Array(data, byteOffset, length){ +require('./_typed-array')('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-array.js index f794f86c..465cdc80 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint8', 1, function(init){ - return function Uint8Array(data, byteOffset, length){ +require('./_typed-array')('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js index b1230479..a84a1c1a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js @@ -1,5 +1,5 @@ -require('./_typed-array')('Uint8', 1, function(init){ - return function Uint8ClampedArray(data, byteOffset, length){ +require('./_typed-array')('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { return init(this, data, byteOffset, length); }; -}, true); \ No newline at end of file +}, true); diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.weak-map.js b/build/js-transpiled/node_modules/core-js/modules/es6.weak-map.js index 4109db33..f21556d7 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.weak-map.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.weak-map.js @@ -1,56 +1,59 @@ 'use strict'; -var each = require('./_array-methods')(0) - , redefine = require('./_redefine') - , meta = require('./_meta') - , assign = require('./_object-assign') - , weak = require('./_collection-weak') - , isObject = require('./_is-object') - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; +var each = require('./_array-methods')(0); +var redefine = require('./_redefine'); +var meta = require('./_meta'); +var assign = require('./_object-assign'); +var weak = require('./_collection-weak'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var validate = require('./_validate-collection'); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; -var wrapper = function(get){ - return function WeakMap(){ +var wrapper = function (get) { + return function WeakMap() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }; var methods = { // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ + get: function get(key) { + if (isObject(key)) { var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); return data ? data[this._i] : undefined; } }, // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); } }; // 23.3 WeakMap Objects -var $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true); +var $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true); // IE11 WeakMap frozen keys fix -if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); assign(InternalMap.prototype, methods); meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); var result = this._f[key](a, b); return key == 'set' ? this : result; // store all the rest on native weakmap } return method.call(this, a, b); }); }); -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/es6.weak-set.js b/build/js-transpiled/node_modules/core-js/modules/es6.weak-set.js index 77d01b6b..18a81e52 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es6.weak-set.js +++ b/build/js-transpiled/node_modules/core-js/modules/es6.weak-set.js @@ -1,12 +1,14 @@ 'use strict'; var weak = require('./_collection-weak'); +var validate = require('./_validate-collection'); +var WEAK_SET = 'WeakSet'; // 23.4 WeakSet Objects -require('./_collection')('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +require('./_collection')(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value){ - return weak.def(this, value, true); + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); } -}, weak, false, true); \ No newline at end of file +}, weak, false, true); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.array.flat-map.js b/build/js-transpiled/node_modules/core-js/modules/es7.array.flat-map.js new file mode 100644 index 00000000..2a210cd3 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.array.flat-map.js @@ -0,0 +1,22 @@ +'use strict'; +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap +var $export = require('./_export'); +var flattenIntoArray = require('./_flatten-into-array'); +var toObject = require('./_to-object'); +var toLength = require('./_to-length'); +var aFunction = require('./_a-function'); +var arraySpeciesCreate = require('./_array-species-create'); + +$export($export.P, 'Array', { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen, A; + aFunction(callbackfn); + sourceLen = toLength(O.length); + A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); + return A; + } +}); + +require('./_add-to-unscopables')('flatMap'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.array.flatten.js b/build/js-transpiled/node_modules/core-js/modules/es7.array.flatten.js new file mode 100644 index 00000000..9019b2d1 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.array.flatten.js @@ -0,0 +1,21 @@ +'use strict'; +// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten +var $export = require('./_export'); +var flattenIntoArray = require('./_flatten-into-array'); +var toObject = require('./_to-object'); +var toLength = require('./_to-length'); +var toInteger = require('./_to-integer'); +var arraySpeciesCreate = require('./_array-species-create'); + +$export($export.P, 'Array', { + flatten: function flatten(/* depthArg = 1 */) { + var depthArg = arguments[0]; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); + +require('./_add-to-unscopables')('flatten'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.array.includes.js b/build/js-transpiled/node_modules/core-js/modules/es7.array.includes.js index 6d5b0090..1b77f0eb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.array.includes.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.array.includes.js @@ -1,12 +1,12 @@ 'use strict'; // https://github.com/tc39/Array.prototype.includes -var $export = require('./_export') - , $includes = require('./_array-includes')(true); +var $export = require('./_export'); +var $includes = require('./_array-includes')(true); $export($export.P, 'Array', { - includes: function includes(el /*, fromIndex = 0 */){ + includes: function includes(el /* , fromIndex = 0 */) { return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./_add-to-unscopables')('includes'); \ No newline at end of file +require('./_add-to-unscopables')('includes'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.asap.js b/build/js-transpiled/node_modules/core-js/modules/es7.asap.js index b762b49a..d36f7c76 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.asap.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.asap.js @@ -1,12 +1,12 @@ // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask -var $export = require('./_export') - , microtask = require('./_microtask')() - , process = require('./_global').process - , isNode = require('./_cof')(process) == 'process'; +var $export = require('./_export'); +var microtask = require('./_microtask')(); +var process = require('./_global').process; +var isNode = require('./_cof')(process) == 'process'; $export($export.G, { - asap: function asap(fn){ + asap: function asap(fn) { var domain = isNode && process.domain; microtask(domain ? domain.bind(fn) : fn); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.error.is-error.js b/build/js-transpiled/node_modules/core-js/modules/es7.error.is-error.js index d6fe29dc..ba94f5d1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.error.is-error.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.error.is-error.js @@ -1,9 +1,9 @@ // https://github.com/ljharb/proposal-is-error -var $export = require('./_export') - , cof = require('./_cof'); +var $export = require('./_export'); +var cof = require('./_cof'); $export($export.S, 'Error', { - isError: function isError(it){ + isError: function isError(it) { return cof(it) === 'Error'; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.global.js b/build/js-transpiled/node_modules/core-js/modules/es7.global.js new file mode 100644 index 00000000..a315fd43 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.global.js @@ -0,0 +1,4 @@ +// https://github.com/tc39/proposal-global +var $export = require('./_export'); + +$export($export.G, { global: require('./_global') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.map.from.js b/build/js-transpiled/node_modules/core-js/modules/es7.map.from.js new file mode 100644 index 00000000..a6057370 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.map.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +require('./_set-collection-from')('Map'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.map.of.js b/build/js-transpiled/node_modules/core-js/modules/es7.map.of.js new file mode 100644 index 00000000..a2bf1fef --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.map.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +require('./_set-collection-of')('Map'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.map.to-json.js b/build/js-transpiled/node_modules/core-js/modules/es7.map.to-json.js index 19f9b6d3..95a3569f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.map.to-json.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.map.to-json.js @@ -1,4 +1,4 @@ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var $export = require('./_export'); +var $export = require('./_export'); -$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')}); \ No newline at end of file +$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.clamp.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.clamp.js new file mode 100644 index 00000000..319cda60 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.clamp.js @@ -0,0 +1,8 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { + clamp: function clamp(x, lower, upper) { + return Math.min(upper, Math.max(lower, x)); + } +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.deg-per-rad.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.deg-per-rad.js new file mode 100644 index 00000000..99b95bba --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.deg-per-rad.js @@ -0,0 +1,4 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.degrees.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.degrees.js new file mode 100644 index 00000000..6637d915 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.degrees.js @@ -0,0 +1,9 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); +var RAD_PER_DEG = 180 / Math.PI; + +$export($export.S, 'Math', { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.fscale.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.fscale.js new file mode 100644 index 00000000..ad660a05 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.fscale.js @@ -0,0 +1,10 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); +var scale = require('./_math-scale'); +var fround = require('./_math-fround'); + +$export($export.S, 'Math', { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.iaddh.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.iaddh.js index bb3f3d38..a331ba9b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.math.iaddh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.iaddh.js @@ -2,10 +2,10 @@ var $export = require('./_export'); $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.imulh.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.imulh.js index a25da686..58d19f3a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.math.imulh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.imulh.js @@ -2,15 +2,15 @@ var $export = require('./_export'); $export($export.S, 'Math', { - imulh: function imulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >> 16 - , v1 = $v >> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + imulh: function imulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.isubh.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.isubh.js index 3814dc29..de22793c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.math.isubh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.isubh.js @@ -2,10 +2,10 @@ var $export = require('./_export'); $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.rad-per-deg.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.rad-per-deg.js new file mode 100644 index 00000000..6f702596 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.rad-per-deg.js @@ -0,0 +1,4 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.radians.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.radians.js new file mode 100644 index 00000000..abd9575f --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.radians.js @@ -0,0 +1,9 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); +var DEG_PER_RAD = Math.PI / 180; + +$export($export.S, 'Math', { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.scale.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.scale.js new file mode 100644 index 00000000..2866dcd7 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.scale.js @@ -0,0 +1,4 @@ +// https://rwaldron.github.io/proposal-math-extensions/ +var $export = require('./_export'); + +$export($export.S, 'Math', { scale: require('./_math-scale') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.signbit.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.signbit.js new file mode 100644 index 00000000..c2568048 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.signbit.js @@ -0,0 +1,7 @@ +// http://jfbastien.github.io/papers/Math.signbit.html +var $export = require('./_export'); + +$export($export.S, 'Math', { signbit: function signbit(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.math.umulh.js b/build/js-transpiled/node_modules/core-js/modules/es7.math.umulh.js index 0d22cf1b..3ddfa468 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.math.umulh.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.math.umulh.js @@ -2,15 +2,15 @@ var $export = require('./_export'); $export($export.S, 'Math', { - umulh: function umulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >>> 16 - , v1 = $v >>> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + umulh: function umulh(u, v) { + var UINT16 = 0xffff; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.define-getter.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.define-getter.js index f206e96a..ffc6203f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.define-getter.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.define-getter.js @@ -1,12 +1,12 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , aFunction = require('./_a-function') - , $defineProperty = require('./_object-dp'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var aFunction = require('./_a-function'); +var $defineProperty = require('./_object-dp'); // B.2.2.2 Object.prototype.__defineGetter__(P, getter) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __defineGetter__: function __defineGetter__(P, getter){ - $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); + __defineGetter__: function __defineGetter__(P, getter) { + $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.define-setter.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.define-setter.js index c0f7b700..8ceefdd6 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.define-setter.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.define-setter.js @@ -1,12 +1,12 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , aFunction = require('./_a-function') - , $defineProperty = require('./_object-dp'); +var $export = require('./_export'); +var toObject = require('./_to-object'); +var aFunction = require('./_a-function'); +var $defineProperty = require('./_object-dp'); // B.2.2.3 Object.prototype.__defineSetter__(P, setter) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __defineSetter__: function __defineSetter__(P, setter){ - $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); + __defineSetter__: function __defineSetter__(P, setter) { + $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.entries.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.entries.js index cfc049df..2f83437c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.entries.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.entries.js @@ -1,9 +1,9 @@ // https://github.com/tc39/proposal-object-values-entries -var $export = require('./_export') - , $entries = require('./_object-to-array')(true); +var $export = require('./_export'); +var $entries = require('./_object-to-array')(true); $export($export.S, 'Object', { - entries: function entries(it){ + entries: function entries(it) { return $entries(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-entries.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-entries.js deleted file mode 100644 index 5daa803b..00000000 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-entries.js +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/leobalter/object-enumerables -var $export = require('./_export') - , toObject = require('./_to-object'); - -$export($export.S, 'Object', { - enumerableEntries: function enumerableEntries(O){ - var T = toObject(O) - , properties = []; - for(var key in T)properties.push([key, T[key]]); - return properties; - } -}); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-keys.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-keys.js deleted file mode 100644 index 791ec184..00000000 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/leobalter/object-enumerables -var $export = require('./_export') - , toObject = require('./_to-object'); - -$export($export.S, 'Object', { - enumerableKeys: function enumerableKeys(O){ - var T = toObject(O) - , properties = []; - for(var key in T)properties.push(key); - return properties; - } -}); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-values.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-values.js deleted file mode 100644 index 1d1bfaa7..00000000 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.enumerable-values.js +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/leobalter/object-enumerables -var $export = require('./_export') - , toObject = require('./_to-object'); - -$export($export.S, 'Object', { - enumerableValues: function enumerableValues(O){ - var T = toObject(O) - , properties = []; - for(var key in T)properties.push(T[key]); - return properties; - } -}); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js index 0242b7a0..b1ab72fd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js @@ -1,19 +1,22 @@ // https://github.com/tc39/proposal-object-getownpropertydescriptors -var $export = require('./_export') - , ownKeys = require('./_own-keys') - , toIObject = require('./_to-iobject') - , gOPD = require('./_object-gopd') - , createProperty = require('./_create-property'); +var $export = require('./_export'); +var ownKeys = require('./_own-keys'); +var toIObject = require('./_to-iobject'); +var gOPD = require('./_object-gopd'); +var createProperty = require('./_create-property'); $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ - var O = toIObject(object) - , getDesc = gOPD.f - , keys = ownKeys(O) - , result = {} - , i = 0 - , key; - while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } return result; } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-getter.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-getter.js index ec140345..f8022291 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-getter.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-getter.js @@ -1,18 +1,18 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , toPrimitive = require('./_to-primitive') - , getPrototypeOf = require('./_object-gpo') - , getOwnPropertyDescriptor = require('./_object-gopd').f; +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); +var getPrototypeOf = require('./_object-gpo'); +var getOwnPropertyDescriptor = require('./_object-gopd').f; // B.2.2.4 Object.prototype.__lookupGetter__(P) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __lookupGetter__: function __lookupGetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; do { - if(D = getOwnPropertyDescriptor(O, K))return D.get; - } while(O = getPrototypeOf(O)); + if (D = getOwnPropertyDescriptor(O, K)) return D.get; + } while (O = getPrototypeOf(O)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-setter.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-setter.js index 539dda82..8bf8b64e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-setter.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.lookup-setter.js @@ -1,18 +1,18 @@ 'use strict'; -var $export = require('./_export') - , toObject = require('./_to-object') - , toPrimitive = require('./_to-primitive') - , getPrototypeOf = require('./_object-gpo') - , getOwnPropertyDescriptor = require('./_object-gopd').f; +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); +var getPrototypeOf = require('./_object-gpo'); +var getOwnPropertyDescriptor = require('./_object-gopd').f; // B.2.2.5 Object.prototype.__lookupSetter__(P) require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { - __lookupSetter__: function __lookupSetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var K = toPrimitive(P, true); + var D; do { - if(D = getOwnPropertyDescriptor(O, K))return D.set; - } while(O = getPrototypeOf(O)); + if (D = getOwnPropertyDescriptor(O, K)) return D.set; + } while (O = getPrototypeOf(O)); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.object.values.js b/build/js-transpiled/node_modules/core-js/modules/es7.object.values.js index 42abd640..d6f09527 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.object.values.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.object.values.js @@ -1,9 +1,9 @@ // https://github.com/tc39/proposal-object-values-entries -var $export = require('./_export') - , $values = require('./_object-to-array')(false); +var $export = require('./_export'); +var $values = require('./_object-to-array')(false); $export($export.S, 'Object', { - values: function values(it){ + values: function values(it) { return $values(it); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.observable.js b/build/js-transpiled/node_modules/core-js/modules/es7.observable.js index e34fa4f2..6dcb2c8f 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.observable.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.observable.js @@ -1,77 +1,77 @@ 'use strict'; // https://github.com/zenparsing/es-observable -var $export = require('./_export') - , global = require('./_global') - , core = require('./_core') - , microtask = require('./_microtask')() - , OBSERVABLE = require('./_wks')('observable') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , anInstance = require('./_an-instance') - , redefineAll = require('./_redefine-all') - , hide = require('./_hide') - , forOf = require('./_for-of') - , RETURN = forOf.RETURN; +var $export = require('./_export'); +var global = require('./_global'); +var core = require('./_core'); +var microtask = require('./_microtask')(); +var OBSERVABLE = require('./_wks')('observable'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var anInstance = require('./_an-instance'); +var redefineAll = require('./_redefine-all'); +var hide = require('./_hide'); +var forOf = require('./_for-of'); +var RETURN = forOf.RETURN; -var getMethod = function(fn){ +var getMethod = function (fn) { return fn == null ? undefined : aFunction(fn); }; -var cleanupSubscription = function(subscription){ +var cleanupSubscription = function (subscription) { var cleanup = subscription._c; - if(cleanup){ + if (cleanup) { subscription._c = undefined; cleanup(); } }; -var subscriptionClosed = function(subscription){ +var subscriptionClosed = function (subscription) { return subscription._o === undefined; }; -var closeSubscription = function(subscription){ - if(!subscriptionClosed(subscription)){ +var closeSubscription = function (subscription) { + if (!subscriptionClosed(subscription)) { subscription._o = undefined; cleanupSubscription(subscription); } }; -var Subscription = function(observer, subscriber){ +var Subscription = function (observer, subscriber) { anObject(observer); this._c = undefined; this._o = observer; observer = new SubscriptionObserver(this); try { - var cleanup = subscriber(observer) - , subscription = cleanup; - if(cleanup != null){ - if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); }; + var cleanup = subscriber(observer); + var subscription = cleanup; + if (cleanup != null) { + if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; else aFunction(cleanup); this._c = cleanup; } - } catch(e){ + } catch (e) { observer.error(e); return; - } if(subscriptionClosed(this))cleanupSubscription(this); + } if (subscriptionClosed(this)) cleanupSubscription(this); }; Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe(){ closeSubscription(this); } + unsubscribe: function unsubscribe() { closeSubscription(this); } }); -var SubscriptionObserver = function(subscription){ +var SubscriptionObserver = function (subscription) { this._s = subscription; }; SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value){ + next: function next(value) { var subscription = this._s; - if(!subscriptionClosed(subscription)){ + if (!subscriptionClosed(subscription)) { var observer = subscription._o; try { var m = getMethod(observer.next); - if(m)return m.call(observer, value); - } catch(e){ + if (m) return m.call(observer, value); + } catch (e) { try { closeSubscription(subscription); } finally { @@ -80,16 +80,16 @@ SubscriptionObserver.prototype = redefineAll({}, { } } }, - error: function error(value){ + error: function error(value) { var subscription = this._s; - if(subscriptionClosed(subscription))throw value; + if (subscriptionClosed(subscription)) throw value; var observer = subscription._o; subscription._o = undefined; try { var m = getMethod(observer.error); - if(!m)throw value; + if (!m) throw value; value = m.call(observer, value); - } catch(e){ + } catch (e) { try { cleanupSubscription(subscription); } finally { @@ -98,15 +98,15 @@ SubscriptionObserver.prototype = redefineAll({}, { } cleanupSubscription(subscription); return value; }, - complete: function complete(value){ + complete: function complete(value) { var subscription = this._s; - if(!subscriptionClosed(subscription)){ + if (!subscriptionClosed(subscription)) { var observer = subscription._o; subscription._o = undefined; try { var m = getMethod(observer.complete); value = m ? m.call(observer, value) : undefined; - } catch(e){ + } catch (e) { try { cleanupSubscription(subscription); } finally { @@ -118,23 +118,23 @@ SubscriptionObserver.prototype = redefineAll({}, { } }); -var $Observable = function Observable(subscriber){ +var $Observable = function Observable(subscriber) { anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); }; redefineAll($Observable.prototype, { - subscribe: function subscribe(observer){ + subscribe: function subscribe(observer) { return new Subscription(observer, this._f); }, - forEach: function forEach(fn){ + forEach: function forEach(fn) { var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject){ + return new (core.Promise || global.Promise)(function (resolve, reject) { aFunction(fn); var subscription = that.subscribe({ - next : function(value){ + next: function (value) { try { return fn(value); - } catch(e){ + } catch (e) { reject(e); subscription.unsubscribe(); } @@ -147,53 +147,53 @@ redefineAll($Observable.prototype, { }); redefineAll($Observable, { - from: function from(x){ + from: function from(x) { var C = typeof this === 'function' ? this : $Observable; var method = getMethod(anObject(x)[OBSERVABLE]); - if(method){ + if (method) { var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer){ + return observable.constructor === C ? observable : new C(function (observer) { return observable.subscribe(observer); }); } - return new C(function(observer){ + return new C(function (observer) { var done = false; - microtask(function(){ - if(!done){ + microtask(function () { + if (!done) { try { - if(forOf(x, false, function(it){ + if (forOf(x, false, function (it) { observer.next(it); - if(done)return RETURN; - }) === RETURN)return; - } catch(e){ - if(done)throw e; + if (done) return RETURN; + }) === RETURN) return; + } catch (e) { + if (done) throw e; observer.error(e); return; } observer.complete(); } }); - return function(){ done = true; }; + return function () { done = true; }; }); }, - of: function of(){ - for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer){ + of: function of() { + for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; + return new (typeof this === 'function' ? this : $Observable)(function (observer) { var done = false; - microtask(function(){ - if(!done){ - for(var i = 0; i < items.length; ++i){ - observer.next(items[i]); - if(done)return; + microtask(function () { + if (!done) { + for (var j = 0; j < items.length; ++j) { + observer.next(items[j]); + if (done) return; } observer.complete(); } }); - return function(){ done = true; }; + return function () { done = true; }; }); } }); -hide($Observable.prototype, OBSERVABLE, function(){ return this; }); +hide($Observable.prototype, OBSERVABLE, function () { return this; }); -$export($export.G, {Observable: $Observable}); +$export($export.G, { Observable: $Observable }); -require('./_set-species')('Observable'); \ No newline at end of file +require('./_set-species')('Observable'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.promise.finally.js b/build/js-transpiled/node_modules/core-js/modules/es7.promise.finally.js new file mode 100644 index 00000000..fa04b639 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.promise.finally.js @@ -0,0 +1,20 @@ +// https://github.com/tc39/proposal-promise-finally +'use strict'; +var $export = require('./_export'); +var core = require('./_core'); +var global = require('./_global'); +var speciesConstructor = require('./_species-constructor'); +var promiseResolve = require('./_promise-resolve'); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.promise.try.js b/build/js-transpiled/node_modules/core-js/modules/es7.promise.try.js new file mode 100644 index 00000000..e8163720 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.promise.try.js @@ -0,0 +1,12 @@ +'use strict'; +// https://github.com/tc39/proposal-promise-try +var $export = require('./_export'); +var newPromiseCapability = require('./_new-promise-capability'); +var perform = require('./_perform'); + +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.define-metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.define-metadata.js index c833e431..ebef52c2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.define-metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.define-metadata.js @@ -1,8 +1,8 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var toMetaKey = metadata.key; +var ordinaryDefineOwnMetadata = metadata.set; -metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ +metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.delete-metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.delete-metadata.js index 8a8a8253..590ed53c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.delete-metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.delete-metadata.js @@ -1,15 +1,15 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , toMetaKey = metadata.key - , getOrCreateMetadataMap = metadata.map - , store = metadata.store; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var toMetaKey = metadata.key; +var getOrCreateMetadataMap = metadata.map; +var store = metadata.store; -metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) - , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; - if(metadataMap.size)return true; +metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; var targetMetadata = store.get(target); targetMetadata['delete'](targetKey); return !!targetMetadata.size || store['delete'](target); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata-keys.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata-keys.js index 58c4dcc2..f344172b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata-keys.js @@ -1,19 +1,19 @@ -var Set = require('./es6.set') - , from = require('./_array-from-iterable') - , metadata = require('./_metadata') - , anObject = require('./_an-object') - , getPrototypeOf = require('./_object-gpo') - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +var Set = require('./es6.set'); +var from = require('./_array-from-iterable'); +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var getPrototypeOf = require('./_object-gpo'); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; -var ordinaryMetadataKeys = function(O, P){ - var oKeys = ordinaryOwnMetadataKeys(O, P) - , parent = getPrototypeOf(O); - if(parent === null)return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; }; -metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ +metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata.js index 48cd9d67..58c278e9 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-metadata.js @@ -1,17 +1,17 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , getPrototypeOf = require('./_object-gpo') - , ordinaryHasOwnMetadata = metadata.has - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var getPrototypeOf = require('./_object-gpo'); +var ordinaryHasOwnMetadata = metadata.has; +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; -var ordinaryGetMetadata = function(MetadataKey, O, P){ +var ordinaryGetMetadata = function (MetadataKey, O, P) { var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); var parent = getPrototypeOf(O); return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; }; -metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js index 93ecfbe5..03e3201b 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js @@ -1,8 +1,8 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var ordinaryOwnMetadataKeys = metadata.keys; +var toMetaKey = metadata.key; -metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ +metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata.js index f1040f91..4a18b071 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.get-own-metadata.js @@ -1,9 +1,9 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var ordinaryGetOwnMetadata = metadata.get; +var toMetaKey = metadata.key; -metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { return ordinaryGetOwnMetadata(metadataKey, anObject(target) , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-metadata.js index 0ff63786..b934bb4e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-metadata.js @@ -1,16 +1,16 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , getPrototypeOf = require('./_object-gpo') - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var getPrototypeOf = require('./_object-gpo'); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; -var ordinaryHasMetadata = function(MetadataKey, O, P){ +var ordinaryHasMetadata = function (MetadataKey, O, P) { var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return true; + if (hasOwn) return true; var parent = getPrototypeOf(O); return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; }; -metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-own-metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-own-metadata.js index d645ea3f..512850dd 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-own-metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.has-own-metadata.js @@ -1,9 +1,9 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; +var metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var ordinaryHasOwnMetadata = metadata.has; +var toMetaKey = metadata.key; -metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ +metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { return ordinaryHasOwnMetadata(metadataKey, anObject(target) , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.metadata.js b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.metadata.js index 3a4e3aee..efb9a9e2 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.reflect.metadata.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.reflect.metadata.js @@ -1,15 +1,15 @@ -var metadata = require('./_metadata') - , anObject = require('./_an-object') - , aFunction = require('./_a-function') - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; +var $metadata = require('./_metadata'); +var anObject = require('./_an-object'); +var aFunction = require('./_a-function'); +var toMetaKey = $metadata.key; +var ordinaryDefineOwnMetadata = $metadata.set; -metadata.exp({metadata: function metadata(metadataKey, metadataValue){ - return function decorator(target, targetKey){ +$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, targetKey) { ordinaryDefineOwnMetadata( metadataKey, metadataValue, (targetKey !== undefined ? anObject : aFunction)(target), toMetaKey(targetKey) ); }; -}}); \ No newline at end of file +} }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.set.from.js b/build/js-transpiled/node_modules/core-js/modules/es7.set.from.js new file mode 100644 index 00000000..26542b66 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.set.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +require('./_set-collection-from')('Set'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.set.of.js b/build/js-transpiled/node_modules/core-js/modules/es7.set.of.js new file mode 100644 index 00000000..2a50ad91 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.set.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +require('./_set-collection-of')('Set'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.set.to-json.js b/build/js-transpiled/node_modules/core-js/modules/es7.set.to-json.js index fd68cb51..95cbcfa5 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.set.to-json.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.set.to-json.js @@ -1,4 +1,4 @@ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var $export = require('./_export'); +var $export = require('./_export'); -$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')}); \ No newline at end of file +$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.string.at.js b/build/js-transpiled/node_modules/core-js/modules/es7.string.at.js index 208654e6..8b3ab98d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.string.at.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.string.at.js @@ -1,10 +1,10 @@ 'use strict'; // https://github.com/mathiasbynens/String.prototype.at -var $export = require('./_export') - , $at = require('./_string-at')(true); +var $export = require('./_export'); +var $at = require('./_string-at')(true); $export($export.P, 'String', { - at: function at(pos){ + at: function at(pos) { return $at(this, pos); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.string.match-all.js b/build/js-transpiled/node_modules/core-js/modules/es7.string.match-all.js index cb0099b3..78237036 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.string.match-all.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.string.match-all.js @@ -1,30 +1,30 @@ 'use strict'; // https://tc39.github.io/String.prototype.matchAll/ -var $export = require('./_export') - , defined = require('./_defined') - , toLength = require('./_to-length') - , isRegExp = require('./_is-regexp') - , getFlags = require('./_flags') - , RegExpProto = RegExp.prototype; +var $export = require('./_export'); +var defined = require('./_defined'); +var toLength = require('./_to-length'); +var isRegExp = require('./_is-regexp'); +var getFlags = require('./_flags'); +var RegExpProto = RegExp.prototype; -var $RegExpStringIterator = function(regexp, string){ +var $RegExpStringIterator = function (regexp, string) { this._r = regexp; this._s = string; }; -require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){ +require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() { var match = this._r.exec(this._s); - return {value: match, done: match === null}; + return { value: match, done: match === null }; }); $export($export.P, 'String', { - matchAll: function matchAll(regexp){ + matchAll: function matchAll(regexp) { defined(this); - if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); - var S = String(this) - , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) - , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); + var S = String(this); + var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); + var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); rx.lastIndex = toLength(regexp.lastIndex); return new $RegExpStringIterator(rx, S); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-end.js b/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-end.js index 8483d82f..df55ce70 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-end.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-end.js @@ -1,10 +1,12 @@ 'use strict'; // https://github.com/tc39/proposal-string-pad-start-end -var $export = require('./_export') - , $pad = require('./_string-pad'); +var $export = require('./_export'); +var $pad = require('./_string-pad'); +var userAgent = require('./_user-agent'); -$export($export.P, 'String', { - padEnd: function padEnd(maxLength /*, fillString = ' ' */){ +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-start.js b/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-start.js index b79b605d..61549121 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-start.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.string.pad-start.js @@ -1,10 +1,12 @@ 'use strict'; // https://github.com/tc39/proposal-string-pad-start-end -var $export = require('./_export') - , $pad = require('./_string-pad'); +var $export = require('./_export'); +var $pad = require('./_string-pad'); +var userAgent = require('./_user-agent'); -$export($export.P, 'String', { - padStart: function padStart(maxLength /*, fillString = ' ' */){ +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); } -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-left.js b/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-left.js index e5845771..39a4b47c 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-left.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-left.js @@ -1,7 +1,7 @@ 'use strict'; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim -require('./_string-trim')('trimLeft', function($trim){ - return function trimLeft(){ +require('./_string-trim')('trimLeft', function ($trim) { + return function trimLeft() { return $trim(this, 1); }; -}, 'trimStart'); \ No newline at end of file +}, 'trimStart'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-right.js b/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-right.js index 42a9ed33..7b7c4529 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-right.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.string.trim-right.js @@ -1,7 +1,7 @@ 'use strict'; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim -require('./_string-trim')('trimRight', function($trim){ - return function trimRight(){ +require('./_string-trim')('trimRight', function ($trim) { + return function trimRight() { return $trim(this, 2); }; -}, 'trimEnd'); \ No newline at end of file +}, 'trimEnd'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.symbol.async-iterator.js b/build/js-transpiled/node_modules/core-js/modules/es7.symbol.async-iterator.js index cf9f74a5..f56dc2a8 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.symbol.async-iterator.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.symbol.async-iterator.js @@ -1 +1 @@ -require('./_wks-define')('asyncIterator'); \ No newline at end of file +require('./_wks-define')('asyncIterator'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.symbol.observable.js b/build/js-transpiled/node_modules/core-js/modules/es7.symbol.observable.js index 0163bca5..fc9a2376 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.symbol.observable.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.symbol.observable.js @@ -1 +1 @@ -require('./_wks-define')('observable'); \ No newline at end of file +require('./_wks-define')('observable'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.system.global.js b/build/js-transpiled/node_modules/core-js/modules/es7.system.global.js index 8c2ab82d..310a802a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/es7.system.global.js +++ b/build/js-transpiled/node_modules/core-js/modules/es7.system.global.js @@ -1,4 +1,4 @@ -// https://github.com/ljharb/proposal-global +// https://github.com/tc39/proposal-global var $export = require('./_export'); -$export($export.S, 'System', {global: require('./_global')}); \ No newline at end of file +$export($export.S, 'System', { global: require('./_global') }); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.weak-map.from.js b/build/js-transpiled/node_modules/core-js/modules/es7.weak-map.from.js new file mode 100644 index 00000000..1a013657 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.weak-map.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +require('./_set-collection-from')('WeakMap'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.weak-map.of.js b/build/js-transpiled/node_modules/core-js/modules/es7.weak-map.of.js new file mode 100644 index 00000000..52c3f66d --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.weak-map.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +require('./_set-collection-of')('WeakMap'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.weak-set.from.js b/build/js-transpiled/node_modules/core-js/modules/es7.weak-set.from.js new file mode 100644 index 00000000..493e5bee --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.weak-set.from.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +require('./_set-collection-from')('WeakSet'); diff --git a/build/js-transpiled/node_modules/core-js/modules/es7.weak-set.of.js b/build/js-transpiled/node_modules/core-js/modules/es7.weak-set.of.js new file mode 100644 index 00000000..5941e72a --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/es7.weak-set.of.js @@ -0,0 +1,2 @@ +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +require('./_set-collection-of')('WeakSet'); diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_add-to-unscopables.js b/build/js-transpiled/node_modules/core-js/modules/library/_add-to-unscopables.js index faf87af3..02ef44ba 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_add-to-unscopables.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_add-to-unscopables.js @@ -1 +1 @@ -module.exports = function(){ /* empty */ }; \ No newline at end of file +module.exports = function () { /* empty */ }; diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_collection.js b/build/js-transpiled/node_modules/core-js/modules/library/_collection.js index 0bdd7fcb..31a36b87 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_collection.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_collection.js @@ -1,48 +1,48 @@ 'use strict'; -var global = require('./_global') - , $export = require('./_export') - , meta = require('./_meta') - , fails = require('./_fails') - , hide = require('./_hide') - , redefineAll = require('./_redefine-all') - , forOf = require('./_for-of') - , anInstance = require('./_an-instance') - , isObject = require('./_is-object') - , setToStringTag = require('./_set-to-string-tag') - , dP = require('./_object-dp').f - , each = require('./_array-methods')(0) - , DESCRIPTORS = require('./_descriptors'); +var global = require('./_global'); +var $export = require('./_export'); +var meta = require('./_meta'); +var fails = require('./_fails'); +var hide = require('./_hide'); +var redefineAll = require('./_redefine-all'); +var forOf = require('./_for-of'); +var anInstance = require('./_an-instance'); +var isObject = require('./_is-object'); +var setToStringTag = require('./_set-to-string-tag'); +var dP = require('./_object-dp').f; +var each = require('./_array-methods')(0); +var DESCRIPTORS = require('./_descriptors'); -module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ - var Base = global[NAME] - , C = Base - , ADDER = IS_MAP ? 'set' : 'add' - , proto = C && C.prototype - , O = {}; - if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { new C().entries().next(); - }))){ + }))) { // create collection constructor C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); redefineAll(C.prototype, methods); meta.NEED = true; } else { - C = wrapper(function(target, iterable){ + C = wrapper(function (target, iterable) { anInstance(target, C, NAME, '_c'); - target._c = new Base; - if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target); + target._c = new Base(); + if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target); }); - each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','),function(KEY){ + each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) { var IS_ADDER = KEY == 'add' || KEY == 'set'; - if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){ + if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) { anInstance(this, C, KEY); - if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false; + if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false; var result = this._c[KEY](a === 0 ? 0 : a, b); return IS_ADDER ? this : result; }); }); - if('size' in proto)dP(C.prototype, 'size', { - get: function(){ + IS_WEAK || dP(C.prototype, 'size', { + get: function () { return this._c.size; } }); @@ -53,7 +53,7 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ O[NAME] = C; $export($export.G + $export.W + $export.F, O); - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); return C; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_export.js b/build/js-transpiled/node_modules/core-js/modules/library/_export.js index dc084b4c..02bddc0a 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_export.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_export.js @@ -1,25 +1,26 @@ -var global = require('./_global') - , core = require('./_core') - , ctx = require('./_ctx') - , hide = require('./_hide') - , PROTOTYPE = 'prototype'; +var global = require('./_global'); +var core = require('./_core'); +var ctx = require('./_ctx'); +var hide = require('./_hide'); +var has = require('./_has'); +var PROTOTYPE = 'prototype'; -var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , IS_WRAP = type & $export.W - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE] - , key, own, out; - if(IS_GLOBAL)source = name; - for(key in source){ +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; - if(own && key in exports)continue; + if (own && has(exports, key)) continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces @@ -27,11 +28,11 @@ var $export = function(type, name, source){ // bind timers to global for call from export context : IS_BIND && own ? ctx(out, global) // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? (function(C){ - var F = function(a, b, c){ - if(this instanceof C){ - switch(arguments.length){ - case 0: return new C; + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); @@ -42,10 +43,10 @@ var $export = function(type, name, source){ // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if(IS_PROTO){ + if (IS_PROTO) { (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out); + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); } } }; @@ -57,5 +58,5 @@ $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; \ No newline at end of file +$export.R = 128; // real proto method for `library` +module.exports = $export; diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_library.js b/build/js-transpiled/node_modules/core-js/modules/library/_library.js index 73f737c5..ec01c2c1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_library.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_library.js @@ -1 +1 @@ -module.exports = true; \ No newline at end of file +module.exports = true; diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_path.js b/build/js-transpiled/node_modules/core-js/modules/library/_path.js index e2b878dc..2796ebcb 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_path.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_path.js @@ -1 +1 @@ -module.exports = require('./_core'); \ No newline at end of file +module.exports = require('./_core'); diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_redefine-all.js b/build/js-transpiled/node_modules/core-js/modules/library/_redefine-all.js index beeb2eaf..bf8c0ea3 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_redefine-all.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_redefine-all.js @@ -1,7 +1,7 @@ var hide = require('./_hide'); -module.exports = function(target, src, safe){ - for(var key in src){ - if(safe && target[key])target[key] = src[key]; +module.exports = function (target, src, safe) { + for (var key in src) { + if (safe && target[key]) target[key] = src[key]; else hide(target, key, src[key]); } return target; -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_redefine.js b/build/js-transpiled/node_modules/core-js/modules/library/_redefine.js index 6bd64530..fde6108e 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_redefine.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_redefine.js @@ -1 +1 @@ -module.exports = require('./_hide'); \ No newline at end of file +module.exports = require('./_hide'); diff --git a/build/js-transpiled/node_modules/core-js/modules/library/_set-species.js b/build/js-transpiled/node_modules/core-js/modules/library/_set-species.js index 4320fa51..1f25fde1 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/_set-species.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/_set-species.js @@ -1,14 +1,14 @@ 'use strict'; -var global = require('./_global') - , core = require('./_core') - , dP = require('./_object-dp') - , DESCRIPTORS = require('./_descriptors') - , SPECIES = require('./_wks')('species'); +var global = require('./_global'); +var core = require('./_core'); +var dP = require('./_object-dp'); +var DESCRIPTORS = require('./_descriptors'); +var SPECIES = require('./_wks')('species'); -module.exports = function(KEY){ +module.exports = function (KEY) { var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { configurable: true, - get: function(){ return this; } + get: function () { return this; } }); -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/core-js/modules/library/es6.date.to-json.js b/build/js-transpiled/node_modules/core-js/modules/library/es6.date.to-json.js new file mode 100644 index 00000000..69b1f301 --- /dev/null +++ b/build/js-transpiled/node_modules/core-js/modules/library/es6.date.to-json.js @@ -0,0 +1,19 @@ +'use strict'; +var $export = require('./_export'); +var toObject = require('./_to-object'); +var toPrimitive = require('./_to-primitive'); +var toISOString = require('./_date-to-iso-string'); +var classof = require('./_classof'); + +$export($export.P + $export.F * require('./_fails')(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : + (!('toISOString' in O) && classof(O) == 'Date') ? toISOString.call(O) : O.toISOString(); + } +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/library/es6.regexp.constructor.js b/build/js-transpiled/node_modules/core-js/modules/library/es6.regexp.constructor.js index 7313c52b..e85e3141 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/es6.regexp.constructor.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/es6.regexp.constructor.js @@ -1 +1 @@ -require('./_set-species')('RegExp'); \ No newline at end of file +require('./_set-species')('RegExp'); diff --git a/build/js-transpiled/node_modules/core-js/modules/library/web.dom.iterable.js b/build/js-transpiled/node_modules/core-js/modules/library/web.dom.iterable.js index e56371a9..fc00afac 100644 --- a/build/js-transpiled/node_modules/core-js/modules/library/web.dom.iterable.js +++ b/build/js-transpiled/node_modules/core-js/modules/library/web.dom.iterable.js @@ -1,13 +1,19 @@ require('./es6.array.iterator'); -var global = require('./_global') - , hide = require('./_hide') - , Iterators = require('./_iterators') - , TO_STRING_TAG = require('./_wks')('toStringTag'); +var global = require('./_global'); +var hide = require('./_hide'); +var Iterators = require('./_iterators'); +var TO_STRING_TAG = require('./_wks')('toStringTag'); -for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype; - if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); +var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + + 'TextTrackList,TouchList').split(','); + +for (var i = 0; i < DOMIterables.length; i++) { + var NAME = DOMIterables[i]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = Iterators.Array; -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/web.dom.iterable.js b/build/js-transpiled/node_modules/core-js/modules/web.dom.iterable.js index a5a4c08e..40834b02 100644 --- a/build/js-transpiled/node_modules/core-js/modules/web.dom.iterable.js +++ b/build/js-transpiled/node_modules/core-js/modules/web.dom.iterable.js @@ -1,22 +1,58 @@ -var $iterators = require('./es6.array.iterator') - , redefine = require('./_redefine') - , global = require('./_global') - , hide = require('./_hide') - , Iterators = require('./_iterators') - , wks = require('./_wks') - , ITERATOR = wks('iterator') - , TO_STRING_TAG = wks('toStringTag') - , ArrayValues = Iterators.Array; +var $iterators = require('./es6.array.iterator'); +var getKeys = require('./_object-keys'); +var redefine = require('./_redefine'); +var global = require('./_global'); +var hide = require('./_hide'); +var Iterators = require('./_iterators'); +var wks = require('./_wks'); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; -for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype - , key; - if(proto){ - if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues); - if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = ArrayValues; - for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true); + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); } -} \ No newline at end of file +} diff --git a/build/js-transpiled/node_modules/core-js/modules/web.immediate.js b/build/js-transpiled/node_modules/core-js/modules/web.immediate.js index 5b946377..70f3e70d 100644 --- a/build/js-transpiled/node_modules/core-js/modules/web.immediate.js +++ b/build/js-transpiled/node_modules/core-js/modules/web.immediate.js @@ -1,6 +1,6 @@ -var $export = require('./_export') - , $task = require('./_task'); +var $export = require('./_export'); +var $task = require('./_task'); $export($export.G + $export.B, { - setImmediate: $task.set, + setImmediate: $task.set, clearImmediate: $task.clear -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/modules/web.timers.js b/build/js-transpiled/node_modules/core-js/modules/web.timers.js index 1a1da57f..c8790830 100644 --- a/build/js-transpiled/node_modules/core-js/modules/web.timers.js +++ b/build/js-transpiled/node_modules/core-js/modules/web.timers.js @@ -1,20 +1,20 @@ // ie9- setTimeout & setInterval additional parameters fix -var global = require('./_global') - , $export = require('./_export') - , invoke = require('./_invoke') - , partial = require('./_partial') - , navigator = global.navigator - , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check -var wrap = function(set){ - return MSIE ? function(fn, time /*, ...args */){ - return set(invoke( - partial, - [].slice.call(arguments, 2), - typeof fn == 'function' ? fn : Function(fn) - ), time); - } : set; +var global = require('./_global'); +var $export = require('./_export'); +var userAgent = require('./_user-agent'); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; }; $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), + setTimeout: wrap(global.setTimeout), setInterval: wrap(global.setInterval) -}); \ No newline at end of file +}); diff --git a/build/js-transpiled/node_modules/core-js/package.json b/build/js-transpiled/node_modules/core-js/package.json index 769e1ed2..db865f6a 100644 --- a/build/js-transpiled/node_modules/core-js/package.json +++ b/build/js-transpiled/node_modules/core-js/package.json @@ -1,27 +1,27 @@ { - "_from": "core-js@^2.4.0", - "_id": "core-js@2.4.1", + "_from": "core-js@2.5.7", + "_id": "core-js@2.5.7", "_inBundle": false, - "_integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "_integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", "_location": "/core-js", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "core-js@^2.4.0", + "raw": "core-js@2.5.7", "name": "core-js", "escapedName": "core-js", - "rawSpec": "^2.4.0", + "rawSpec": "2.5.7", "saveSpec": null, - "fetchSpec": "^2.4.0" + "fetchSpec": "2.5.7" }, "_requiredBy": [ - "/babel-runtime" + "/" ], - "_resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "_shasum": "4de911e667b0eae9124e34254b53aea6fc618d3e", - "_spec": "core-js@^2.4.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/babel-runtime", + "_resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "_shasum": "f972608ff0cead68b841a16a932d0b183791814e", + "_spec": "core-js@2.5.7", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "bugs": { "url": "https://github.com/zloirock/core-js/issues" }, @@ -31,41 +31,44 @@ "devDependencies": { "LiveScript": "1.3.x", "es-observable-tests": "0.2.x", - "eslint": "3.1.x", - "grunt": "1.0.x", - "grunt-cli": "1.2.x", - "grunt-contrib-clean": "1.0.x", - "grunt-contrib-copy": "1.0.x", - "grunt-contrib-uglify": "1.0.x", - "grunt-contrib-watch": "1.0.x", - "grunt-karma": "2.0.x", + "eslint": "4.19.x", + "eslint-plugin-import": "2.12.x", + "grunt": "^1.0.2", + "grunt-cli": "^1.2.0", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-uglify": "3.3.x", + "grunt-contrib-watch": "^1.0.0", + "grunt-karma": "^2.0.0", "grunt-livescript": "0.6.x", - "karma": "1.1.x", - "karma-chrome-launcher": "1.0.x", - "karma-firefox-launcher": "1.0.x", - "karma-ie-launcher": "1.0.x", + "karma": "^2.0.0", + "karma-chrome-launcher": "^2.2.0", + "karma-firefox-launcher": "^1.0.1", + "karma-ie-launcher": "^1.0.0", "karma-phantomjs-launcher": "1.0.x", - "karma-qunit": "1.1.x", + "karma-qunit": "^2.1.0", "phantomjs-prebuilt": "2.1.x", - "promises-aplus-tests": "2.1.x", - "qunitjs": "2.0.x", - "temp": "0.8.x", - "webpack": "1.13.x" + "promises-aplus-tests": "^2.1.2", + "qunit": "2.6.x", + "temp": "^0.8.3", + "webpack": "^3.11.0" }, "homepage": "https://github.com/zloirock/core-js#readme", "keywords": [ "ES3", - "ECMAScript 3", "ES5", - "ECMAScript 5", "ES6", - "ES2015", - "ECMAScript 6", - "ECMAScript 2015", "ES7", + "ES2015", "ES2016", + "ES2017", + "ECMAScript 3", + "ECMAScript 5", + "ECMAScript 6", "ECMAScript 7", + "ECMAScript 2015", "ECMAScript 2016", + "ECMAScript 2017", "Harmony", "Strawman", "Map", @@ -89,10 +92,10 @@ }, "scripts": { "grunt": "grunt", - "lint": "eslint es5 es6 es7 stage web core fn modules", + "lint": "eslint ./", "observables-tests": "node tests/observables/adapter && node tests/observables/adapter-library", "promises-tests": "promises-aplus-tests tests/promises-aplus/adapter", - "test": "npm run lint && npm run grunt livescript client karma:default && npm run grunt library karma:library && npm run promises-tests && npm run observables-tests && lsc tests/commonjs" + "test": "npm run grunt clean copy && npm run lint && npm run grunt livescript client karma:default && npm run grunt library karma:library && npm run promises-tests && npm run observables-tests && lsc tests/commonjs" }, - "version": "2.4.1" + "version": "2.5.7" } diff --git a/build/js-transpiled/node_modules/core-js/shim.js b/build/js-transpiled/node_modules/core-js/shim.js index 6db12568..d865a2a3 100644 --- a/build/js-transpiled/node_modules/core-js/shim.js +++ b/build/js-transpiled/node_modules/core-js/shim.js @@ -136,6 +136,8 @@ require('./modules/es6.reflect.prevent-extensions'); require('./modules/es6.reflect.set'); require('./modules/es6.reflect.set-prototype-of'); require('./modules/es7.array.includes'); +require('./modules/es7.array.flat-map'); +require('./modules/es7.array.flatten'); require('./modules/es7.string.at'); require('./modules/es7.string.pad-start'); require('./modules/es7.string.pad-end'); @@ -153,12 +155,31 @@ require('./modules/es7.object.lookup-getter'); require('./modules/es7.object.lookup-setter'); require('./modules/es7.map.to-json'); require('./modules/es7.set.to-json'); +require('./modules/es7.map.of'); +require('./modules/es7.set.of'); +require('./modules/es7.weak-map.of'); +require('./modules/es7.weak-set.of'); +require('./modules/es7.map.from'); +require('./modules/es7.set.from'); +require('./modules/es7.weak-map.from'); +require('./modules/es7.weak-set.from'); +require('./modules/es7.global'); require('./modules/es7.system.global'); require('./modules/es7.error.is-error'); +require('./modules/es7.math.clamp'); +require('./modules/es7.math.deg-per-rad'); +require('./modules/es7.math.degrees'); +require('./modules/es7.math.fscale'); require('./modules/es7.math.iaddh'); require('./modules/es7.math.isubh'); require('./modules/es7.math.imulh'); +require('./modules/es7.math.rad-per-deg'); +require('./modules/es7.math.radians'); +require('./modules/es7.math.scale'); require('./modules/es7.math.umulh'); +require('./modules/es7.math.signbit'); +require('./modules/es7.promise.finally'); +require('./modules/es7.promise.try'); require('./modules/es7.reflect.define-metadata'); require('./modules/es7.reflect.delete-metadata'); require('./modules/es7.reflect.get-metadata'); @@ -173,4 +194,4 @@ require('./modules/es7.observable'); require('./modules/web.timers'); require('./modules/web.immediate'); require('./modules/web.dom.iterable'); -module.exports = require('./modules/_core'); \ No newline at end of file +module.exports = require('./modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/stage/0.js b/build/js-transpiled/node_modules/core-js/stage/0.js index e89a005f..4aa50704 100644 --- a/build/js-transpiled/node_modules/core-js/stage/0.js +++ b/build/js-transpiled/node_modules/core-js/stage/0.js @@ -7,4 +7,4 @@ require('../modules/es7.math.isubh'); require('../modules/es7.math.imulh'); require('../modules/es7.math.umulh'); require('../modules/es7.asap'); -module.exports = require('./1'); \ No newline at end of file +module.exports = require('./1'); diff --git a/build/js-transpiled/node_modules/core-js/stage/1.js b/build/js-transpiled/node_modules/core-js/stage/1.js index 230fe13a..5f634d80 100644 --- a/build/js-transpiled/node_modules/core-js/stage/1.js +++ b/build/js-transpiled/node_modules/core-js/stage/1.js @@ -1,6 +1,23 @@ -require('../modules/es7.string.trim-left'); -require('../modules/es7.string.trim-right'); +require('../modules/es7.map.of'); +require('../modules/es7.set.of'); +require('../modules/es7.weak-map.of'); +require('../modules/es7.weak-set.of'); +require('../modules/es7.map.from'); +require('../modules/es7.set.from'); +require('../modules/es7.weak-map.from'); +require('../modules/es7.weak-set.from'); +require('../modules/es7.math.clamp'); +require('../modules/es7.math.deg-per-rad'); +require('../modules/es7.math.degrees'); +require('../modules/es7.math.fscale'); +require('../modules/es7.math.rad-per-deg'); +require('../modules/es7.math.radians'); +require('../modules/es7.math.scale'); +require('../modules/es7.math.signbit'); +require('../modules/es7.promise.try'); require('../modules/es7.string.match-all'); require('../modules/es7.symbol.observable'); require('../modules/es7.observable'); +require('../modules/es7.array.flat-map'); +require('../modules/es7.array.flatten'); module.exports = require('./2'); diff --git a/build/js-transpiled/node_modules/core-js/stage/2.js b/build/js-transpiled/node_modules/core-js/stage/2.js index ba444e1a..d7aaa0ef 100644 --- a/build/js-transpiled/node_modules/core-js/stage/2.js +++ b/build/js-transpiled/node_modules/core-js/stage/2.js @@ -1,3 +1,4 @@ -require('../modules/es7.system.global'); +require('../modules/es7.string.trim-left'); +require('../modules/es7.string.trim-right'); require('../modules/es7.symbol.async-iterator'); module.exports = require('./3'); diff --git a/build/js-transpiled/node_modules/core-js/stage/3.js b/build/js-transpiled/node_modules/core-js/stage/3.js index c1ea400a..9afd07fe 100644 --- a/build/js-transpiled/node_modules/core-js/stage/3.js +++ b/build/js-transpiled/node_modules/core-js/stage/3.js @@ -1,4 +1,4 @@ -require('../modules/es7.object.get-own-property-descriptors'); -require('../modules/es7.string.pad-start'); -require('../modules/es7.string.pad-end'); +require('../modules/es7.global'); +require('../modules/es7.system.global'); +require('../modules/es7.promise.finally'); module.exports = require('./4'); diff --git a/build/js-transpiled/node_modules/core-js/stage/4.js b/build/js-transpiled/node_modules/core-js/stage/4.js index 0fb53ddd..875762a2 100644 --- a/build/js-transpiled/node_modules/core-js/stage/4.js +++ b/build/js-transpiled/node_modules/core-js/stage/4.js @@ -4,5 +4,8 @@ require('../modules/es7.object.lookup-getter'); require('../modules/es7.object.lookup-setter'); require('../modules/es7.object.values'); require('../modules/es7.object.entries'); +require('../modules/es7.object.get-own-property-descriptors'); require('../modules/es7.array.includes'); +require('../modules/es7.string.pad-start'); +require('../modules/es7.string.pad-end'); module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/stage/index.js b/build/js-transpiled/node_modules/core-js/stage/index.js index eb959140..24dcf2e5 100644 --- a/build/js-transpiled/node_modules/core-js/stage/index.js +++ b/build/js-transpiled/node_modules/core-js/stage/index.js @@ -1 +1 @@ -module.exports = require('./pre'); \ No newline at end of file +module.exports = require('./pre'); diff --git a/build/js-transpiled/node_modules/core-js/stage/pre.js b/build/js-transpiled/node_modules/core-js/stage/pre.js index f3bc54d9..ed197a8b 100644 --- a/build/js-transpiled/node_modules/core-js/stage/pre.js +++ b/build/js-transpiled/node_modules/core-js/stage/pre.js @@ -7,4 +7,4 @@ require('../modules/es7.reflect.get-own-metadata-keys'); require('../modules/es7.reflect.has-metadata'); require('../modules/es7.reflect.has-own-metadata'); require('../modules/es7.reflect.metadata'); -module.exports = require('./0'); \ No newline at end of file +module.exports = require('./0'); diff --git a/build/js-transpiled/node_modules/core-js/web/dom-collections.js b/build/js-transpiled/node_modules/core-js/web/dom-collections.js index 2118e3fe..a138bb9d 100644 --- a/build/js-transpiled/node_modules/core-js/web/dom-collections.js +++ b/build/js-transpiled/node_modules/core-js/web/dom-collections.js @@ -1,2 +1,2 @@ require('../modules/web.dom.iterable'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/web/immediate.js b/build/js-transpiled/node_modules/core-js/web/immediate.js index 244ebb16..6866abde 100644 --- a/build/js-transpiled/node_modules/core-js/web/immediate.js +++ b/build/js-transpiled/node_modules/core-js/web/immediate.js @@ -1,2 +1,2 @@ require('../modules/web.immediate'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/web/index.js b/build/js-transpiled/node_modules/core-js/web/index.js index 6687d571..66db256d 100644 --- a/build/js-transpiled/node_modules/core-js/web/index.js +++ b/build/js-transpiled/node_modules/core-js/web/index.js @@ -1,4 +1,4 @@ require('../modules/web.timers'); require('../modules/web.immediate'); require('../modules/web.dom.iterable'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/core-js/web/timers.js b/build/js-transpiled/node_modules/core-js/web/timers.js index 2c66f438..a3f528e4 100644 --- a/build/js-transpiled/node_modules/core-js/web/timers.js +++ b/build/js-transpiled/node_modules/core-js/web/timers.js @@ -1,2 +1,2 @@ require('../modules/web.timers'); -module.exports = require('../modules/_core'); \ No newline at end of file +module.exports = require('../modules/_core'); diff --git a/build/js-transpiled/node_modules/editorconfig-parser/package.json b/build/js-transpiled/node_modules/editorconfig-parser/package.json index 05f9adf1..9613c044 100644 --- a/build/js-transpiled/node_modules/editorconfig-parser/package.json +++ b/build/js-transpiled/node_modules/editorconfig-parser/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/editorconfig-parser/-/editorconfig-parser-0.0.2.tgz", "_shasum": "477feec395dd0c859582e8b8de34408d2b28104b", "_spec": "editorconfig-parser@0.0.2", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Kiril Vatev", "email": "vatev.1@gmail.com" diff --git a/build/js-transpiled/node_modules/editorconfig/.gitattributes b/build/js-transpiled/node_modules/editorconfig/.gitattributes deleted file mode 100644 index 5f3cd51a..00000000 --- a/build/js-transpiled/node_modules/editorconfig/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=lf diff --git a/build/js-transpiled/node_modules/editorconfig/.gitmodules b/build/js-transpiled/node_modules/editorconfig/.gitmodules deleted file mode 100644 index a456cb1b..00000000 --- a/build/js-transpiled/node_modules/editorconfig/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "tests"] - path = tests - url = git://github.com/editorconfig/editorconfig-core-test.git diff --git a/build/js-transpiled/node_modules/editorconfig/.npmignore b/build/js-transpiled/node_modules/editorconfig/.npmignore deleted file mode 100644 index b9d48cfa..00000000 --- a/build/js-transpiled/node_modules/editorconfig/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -node_modules/ -CMake* -CTest* -*.sln -*.vcxproj* -*.log -[Tt]est*/ -Makefile -.editorconfig -.gitattributes -.npmignore -.travis.yml diff --git a/build/js-transpiled/node_modules/editorconfig/.travis.yml b/build/js-transpiled/node_modules/editorconfig/.travis.yml deleted file mode 100644 index 38fc9390..00000000 --- a/build/js-transpiled/node_modules/editorconfig/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -sudo: false - -language: node_js - -node_js: - - '0.10' - - '0.12' - -before_script: - - npm run pretest - -script: - - npm run test-verbose - -notifications: - email: - on_success: change - on_failure: always diff --git a/build/js-transpiled/node_modules/editorconfig/CHANGELOG.md b/build/js-transpiled/node_modules/editorconfig/CHANGELOG.md new file mode 100644 index 00000000..a6386e95 --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/CHANGELOG.md @@ -0,0 +1,10 @@ +## 0.15.2 +- Fix publish. + +## 0.15.1 +- Update dependencies. + +## 0.15.0 +- Convert source code into TypeScript. Generated type definitions are now provided. +- Remove dependency on Bluebird. +- **Breaking**: Node v4 no longer supported. diff --git a/build/js-transpiled/node_modules/editorconfig/CMakeLists.txt b/build/js-transpiled/node_modules/editorconfig/CMakeLists.txt deleted file mode 100644 index 5dbf523f..00000000 --- a/build/js-transpiled/node_modules/editorconfig/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -# This file is used for testing only - -# To perform the test, run `cmake .` at the root of the project tree followed -# by `ctest .` - -cmake_minimum_required(VERSION 2.6) - -# Do not check any compiler -project(editorconfig-core-js NONE) - -set(NODE node CACHE STRING "Node.js command") - -enable_testing() - -set(EDITORCONFIG_CMD ${NODE} ${PROJECT_SOURCE_DIR}/bin/editorconfig) -add_subdirectory(tests) diff --git a/build/js-transpiled/node_modules/editorconfig/README.md b/build/js-transpiled/node_modules/editorconfig/README.md index 9da9debc..6ff281a8 100644 --- a/build/js-transpiled/node_modules/editorconfig/README.md +++ b/build/js-transpiled/node_modules/editorconfig/README.md @@ -1,6 +1,7 @@ # EditorConfig JavaScript Core [![Build Status](https://travis-ci.org/editorconfig/editorconfig-core-js.svg?branch=master)](https://travis-ci.org/editorconfig/editorconfig-core-js) +[![dependencies Status](https://david-dm.org/editorconfig/editorconfig-core-js/status.svg)](https://david-dm.org/editorconfig/editorconfig-core-js) The EditorConfig JavaScript core will provide the same functionality as the [EditorConfig C Core][] and [EditorConfig Python Core][]. @@ -10,7 +11,7 @@ The EditorConfig JavaScript core will provide the same functionality as the You need [node][] to use this package. -To install this package (system-wide): +To install the package locally: ```bash $ npm install editorconfig @@ -68,6 +69,11 @@ promise.then(function onFulfilled(result) { Synchronous version of `editorconfig.parse()`. +#### parseString(fileContent) + +The `parse()` function above uses `parseString()` under the hood. If you have your file contents +just pass it to `parseString()` and it'll return the same results as `parse()`. + #### parseFromFiles(filePath, configs[, options]) options is an object with the following defaults: @@ -156,10 +162,12 @@ To install dependencies for this package run this in the package directory: $ npm install ``` -Next, run: +Next, run the following commands: ```bash -$ npm link +$ npm run build +$ npm run copy +$ npm link ./dist ``` The global editorconfig will now point to the files in your development diff --git a/build/js-transpiled/node_modules/editorconfig/bin/editorconfig b/build/js-transpiled/node_modules/editorconfig/bin/editorconfig index d6637d19..a7792ace 100755 --- a/build/js-transpiled/node_modules/editorconfig/bin/editorconfig +++ b/build/js-transpiled/node_modules/editorconfig/bin/editorconfig @@ -1,42 +1,3 @@ #!/usr/bin/env node - -var path = require("path"); -var program = require("commander"); -var Promise = require("bluebird"); - -var editorconfig = require("../editorconfig"); -var package = require("../package.json"); - -program.version("EditorConfig Node.js Core Version " + package.version); - -program - .usage([ - "[OPTIONS] FILEPATH1 [FILEPATH2 FILEPATH3 ...]", - program._version, - "FILEPATH can be a hyphen (-) if you want path(s) to be read from stdin." - ].join("\n\n ")) - .option("-f ", "Specify conf filename other than \".editorconfig\"") - .option("-b ", "Specify version (used by devs to test compatibility)") - .option("-v, --version", "Display version information") - .parse(process.argv); - -// Throw away the native -V flag in lieu of the one we've manually specified -// to adhere to testing requirements -program.options.shift(); - -var files = program.args; - -if (!files.length) { - program.help(); -} - -Promise.map(files, function(filePath) { - return editorconfig.parse(filePath, {config: program.F, version: program.B}); -}).each(function(parsed, i, length) { - if (length > 1) { - console.log("[%s]", files[i]); - } - Object.keys(parsed).forEach(function(key) { - console.log(key + "=" + parsed[key]); - }); -}); +var cli = require('../src/cli') +cli.default(process.argv) diff --git a/build/js-transpiled/node_modules/editorconfig/editorconfig.js b/build/js-transpiled/node_modules/editorconfig/editorconfig.js deleted file mode 100644 index c2bc736f..00000000 --- a/build/js-transpiled/node_modules/editorconfig/editorconfig.js +++ /dev/null @@ -1,237 +0,0 @@ -var os = require('os'); -var path = require('path'); -var fs = require('fs'); -var util = require('util'); -var Promise = require('bluebird'); -var whenReadFile = Promise.promisify(fs.readFile); - -var minimatch = require('./lib/fnmatch'); -var iniparser = require('./lib/ini'); -var Version = require('./lib/version'); -var pkg = require('./package.json'); - -var knownProps = [ - 'end_of_line', - 'indent_style', - 'indent_size', - 'insert_final_newline', - 'trim_trailing_whitespace', - 'charset' -].reduce(function (set, prop) { - set[prop] = true; - return set; -}, {}); - -function fnmatch(filepath, glob) { - var matchOptions = {matchBase: true, dot: true, noext: true}; - glob = glob.replace(/\*\*/g, '{*,**/**/**}'); - return minimatch(filepath, glob, matchOptions); -} - -function getConfigFileNames(filepath, options) { - var paths = []; - do { - filepath = path.dirname(filepath); - paths.push(path.join(filepath, options.config)); - } while (filepath !== options.root); - return paths; -} - -function getFilepathRoot(filepath) { - if (path.parse !== undefined) { - // Node.js >= 0.11.15 - return path.parse(filepath).root; - } - if (os.platform() === 'win32') { - return path.resolve(filepath).match(/^(\\\\[^\\]+\\)?[^\\]+\\/)[0]; - } - return '/'; -} - -function processMatches(matches, version) { - // Set indent_size to "tab" if indent_size is unspecified and - // indent_style is set to "tab". - if ("indent_style" in matches && matches.indent_style === "tab" && - !("indent_size" in matches) && version.gte(new Version(0, 10))) { - matches.indent_size = "tab"; - } - - // Set tab_width to indent_size if indent_size is specified and - // tab_width is unspecified - if ("indent_size" in matches && !("tab_width" in matches) && - matches.indent_size !== "tab") - matches.tab_width = matches.indent_size; - - // Set indent_size to tab_width if indent_size is "tab" - if("indent_size" in matches && "tab_width" in matches && - matches.indent_size === "tab") - matches.indent_size = matches.tab_width; - - return matches; -} - -function processOptions(options, filepath) { - options = options || {}; - return { - config: options.config || '.editorconfig', - version: new Version(options.version || pkg.version), - root: path.resolve(options.root || getFilepathRoot(filepath)) - }; -} - -function buildFullGlob(pathPrefix, glob) { - switch (glob.indexOf('/')) { - case -1: glob = "**/" + glob; break; - case 0: glob = glob.substring(1); break; - } - return path.join(pathPrefix, glob); -} - -function extendProps(props, options) { - for (var key in options) { - var value = options[key]; - key = key.toLowerCase(); - if (knownProps[key]) { - value = value.toLowerCase(); - } - try { - value = JSON.parse(value); - } catch(e) {} - if (typeof value === 'undefined' || value === null) { - // null and undefined are values specific to JSON (no special meaning - // in editorconfig) & should just be returned as regular strings. - value = String(value); - } - props[key] = value; - } - return props; -} - -function parseFromFiles(filepath, files, options) { - return getConfigsForFiles(files).then(function (configs) { - return configs.reverse(); - }).reduce(function (matches, file) { - var pathPrefix = path.dirname(file.name); - file.contents.forEach(function (section) { - var glob = section[0], options = section[1]; - if (!glob) return; - var fullGlob = buildFullGlob(pathPrefix, glob); - if (!fnmatch(filepath, fullGlob)) return; - matches = extendProps(matches, options); - }); - return matches; - }, {}).then(function (matches) { - return processMatches(matches, options.version); - }); -} - -function parseFromFilesSync(filepath, files, options) { - var configs = getConfigsForFilesSync(files); - configs.reverse(); - var matches = {}; - configs.forEach(function(config) { - var pathPrefix = path.dirname(config.name); - config.contents.forEach(function(section) { - var glob = section[0], options = section[1]; - if (!glob) return; - var fullGlob = buildFullGlob(pathPrefix, glob); - if (!fnmatch(filepath, fullGlob)) return; - matches = extendProps(matches, options); - }); - }); - return processMatches(matches, options.version); -} - -function StopReduce(array) { - this.array = array; -} - -StopReduce.prototype = Object.create(Error.prototype); - -function getConfigsForFiles(files) { - return Promise.reduce(files, function (configs, file) { - var contents = iniparser.parseString(file.contents); - configs.push({ - name: file.name, - contents: contents - }); - if ((contents[0][1].root || '').toLowerCase() === 'true') { - return Promise.reject(new StopReduce(configs)); - } - return configs; - }, []).catch(StopReduce, function (stop) { - return stop.array; - }); -} - -function getConfigsForFilesSync(files) { - var configs = []; - for (var i in files) { - var file = files[i]; - var contents = iniparser.parseString(file.contents); - configs.push({ - name: file.name, - contents: contents - }); - if ((contents[0][1].root || '').toLowerCase() === 'true') { - break; - } - }; - return configs; -} - -function readConfigFiles(filepaths) { - return Promise.map(filepaths, function (path) { - return whenReadFile(path, 'utf-8').catch(function () { - return ''; - }).then(function (contents) { - return {name: path, contents: contents}; - }); - }); -} - -function readConfigFilesSync(filepaths) { - var files = []; - var file; - filepaths.forEach(function(filepath) { - try { - file = fs.readFileSync(filepath, 'utf8'); - } catch (e) { - file = ''; - } - files.push({name: filepath, contents: file}); - }); - return files; -} - -module.exports.parseFromFiles = function (filepath, files, options) { - return new Promise (function (resolve, reject) { - filepath = path.resolve(filepath); - options = processOptions(options, filepath); - resolve(parseFromFiles(filepath, files, options)); - }); -}; - -module.exports.parseFromFilesSync = function (filepath, files, options) { - filepath = path.resolve(filepath); - options = processOptions(options, filepath); - return parseFromFilesSync(filepath, files, options); -}; - -module.exports.parse = function (filepath, options) { - return new Promise (function (resolve, reject) { - filepath = path.resolve(filepath); - options = processOptions(options, filepath); - var filepaths = getConfigFileNames(filepath, options); - var files = readConfigFiles(filepaths); - resolve(parseFromFiles(filepath, files, options)); - }); -}; - -module.exports.parseSync = function (filepath, options) { - filepath = path.resolve(filepath); - options = processOptions(options, filepath); - var filepaths = getConfigFileNames(filepath, options); - var files = readConfigFilesSync(filepaths); - return parseFromFilesSync(filepath, files, options); -}; diff --git a/build/js-transpiled/node_modules/editorconfig/lib/ini.js b/build/js-transpiled/node_modules/editorconfig/lib/ini.js deleted file mode 100644 index b9a25caa..00000000 --- a/build/js-transpiled/node_modules/editorconfig/lib/ini.js +++ /dev/null @@ -1,65 +0,0 @@ -// Based on iniparser by shockie - -/* - * get the file handler - */ -var fs = require('fs'); - -/* - * define the possible values: - * section: [section] - * param: key=value - * comment: ;this is a comment - */ -var regex = { - section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/, - param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/, - comment: /^\s*[#;].*$/ -}; - -/* - * parses a .ini file - * @param: {String} file, the location of the .ini file - * @param: {Function} callback, the function that will be called when parsing is done - * @return: none - */ -module.exports.parse = function (file, callback) { - if (!callback) { - return; - } - fs.readFile(file, 'utf8', function (err, data) { - if (err) { - callback(err); - } else { - callback(null, parse(data)); - } - }); -}; - -module.exports.parseSync = function (file) { - return parse(fs.readFileSync(file, 'utf8')); -}; - -function parse (data) { - var sectionBody = {}; - var sectionName = null; - var value = [[sectionName, sectionBody]]; - var lines = data.split(/\r\n|\r|\n/); - lines.forEach(function (line) { - var match; - if (regex.comment.test(line)) { - return; - } else if (regex.param.test(line)) { - match = line.match(regex.param); - sectionBody[match[1]] = match[2]; - } else if (regex.section.test(line)) { - match = line.match(regex.section); - sectionName = match[1]; - sectionBody = {}; - value.push([sectionName, sectionBody]); - } - }); - return value; -} - -module.exports.parseString = parse; diff --git a/build/js-transpiled/node_modules/editorconfig/lib/version.js b/build/js-transpiled/node_modules/editorconfig/lib/version.js deleted file mode 100644 index e7a79205..00000000 --- a/build/js-transpiled/node_modules/editorconfig/lib/version.js +++ /dev/null @@ -1,48 +0,0 @@ -function Version(version) { - var args = arguments; - this.components = typeof version === "string" ? - version.split(".").map(function(x){return parseInt(x, 10);}) : - Object.keys(arguments).map(function(k){return args[k];}); - - var len = this.components.length; - this.major = len ? this.components[0] : 0; - this.minor = len > 1 ? this.components[1] : 0; - this.build = len > 2 ? this.components[2] : 0; - this.revision = len > 3 ? this.components[3] : 0; - - if (typeof version !== "string") { - return; - } - - var ext = version.split("-"); - if (ext.length === 2) { - this.configuration = ext[1]; - } -} - -Version.prototype = { - toString: function() { - var version = this.components.join("."); - if (typeof this.configuration !== "undefined") { - version += "-" + this.configuration; - } - return version; - }, - gte: function(other){ - if (this.major < other.major) { - return false; - } - if (this.minor < other.minor) { - return false; - } - if (this.build < other.build) { - return false; - } - if (this.revision < other.revision) { - return false; - } - return true; - } -}; - -module.exports = Version; diff --git a/build/js-transpiled/node_modules/editorconfig/package.json b/build/js-transpiled/node_modules/editorconfig/package.json index b52c923c..65df1b48 100644 --- a/build/js-transpiled/node_modules/editorconfig/package.json +++ b/build/js-transpiled/node_modules/editorconfig/package.json @@ -1,27 +1,27 @@ { - "_from": "editorconfig@^0.13.2", - "_id": "editorconfig@0.13.2", + "_from": "editorconfig@^0.15.0", + "_id": "editorconfig@0.15.2", "_inBundle": false, - "_integrity": "sha1-jleSbZ7mmrbLmZ8CfCFxRnrM6zU=", + "_integrity": "sha512-GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==", "_location": "/editorconfig", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "editorconfig@^0.13.2", + "raw": "editorconfig@^0.15.0", "name": "editorconfig", "escapedName": "editorconfig", - "rawSpec": "^0.13.2", + "rawSpec": "^0.15.0", "saveSpec": null, - "fetchSpec": "^0.13.2" + "fetchSpec": "^0.15.0" }, "_requiredBy": [ "/js-beautify" ], - "_resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.2.tgz", - "_shasum": "8e57926d9ee69ab6cb999f027c2171467acceb35", - "_spec": "editorconfig@^0.13.2", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", + "_resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz", + "_shasum": "047be983abb9ab3c2eefe5199cb2b7c5689f0702", + "_spec": "editorconfig@^0.15.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", "author": { "name": "EditorConfig Team" }, @@ -47,17 +47,24 @@ } ], "dependencies": { - "bluebird": "^3.0.5", - "commander": "^2.9.0", - "lru-cache": "^3.2.0", + "@types/node": "^10.11.7", + "@types/semver": "^5.5.0", + "commander": "^2.19.0", + "lru-cache": "^4.1.3", + "semver": "^5.6.0", "sigmund": "^1.0.1" }, "deprecated": false, "description": "EditorConfig File Locator and Interpreter for Node.js", "devDependencies": { - "eclint": "^1.1.5", - "mocha": "^2.3.4", - "should": "^7.1.1" + "@types/mocha": "^5.2.5", + "cpy-cli": "^2.0.0", + "eclint": "^2.8.0", + "mocha": "^5.2.0", + "rimraf": "^2.6.2", + "should": "^13.2.3", + "tslint": "^5.11.0", + "typescript": "^3.1.3" }, "directories": { "bin": "./bin", @@ -68,21 +75,27 @@ "editorconfig", "core" ], - "license": { - "type": "MIT", - "url": "http://editorconfig.mit-license.org/2012" - }, - "main": "editorconfig.js", + "license": "MIT", + "main": "src/index.js", "name": "editorconfig", "repository": { "type": "git", "url": "git://github.com/editorconfig/editorconfig-core-js.git" }, "scripts": { - "lint": "eclint check --indent_size ignore editorconfig.js README.md \"bin/**\" \"lib/**\"", - "pretest": "cmake .", - "test": "npm run lint && ctest .", - "test-verbose": "npm run lint && ctest -VV --output-on-failure ." + "build": "tsc", + "clean": "rimraf dist", + "copy": "cpy .npmignore LICENSE README.md CHANGELOG.md dist && cpy bin/* dist/bin && cpy src/lib/fnmatch*.* dist/src/lib", + "eclint": "eclint check --indent_size ignore \"src/**\"", + "lint": "npm run eclint && npm run tslint", + "prebuild": "npm run clean", + "prepub": "npm run lint && npm run build && npm run copy", + "pretest": "npm run lint && npm run build && npm run copy && cmake .", + "pretest:ci": "npm run pretest", + "pub": "npm publish ./dist", + "test": "ctest .", + "test:ci": "ctest -VV --output-on-failure .", + "tslint": "tslint --project tsconfig.json --exclude package.json" }, - "version": "0.13.2" + "version": "0.15.2" } diff --git a/build/js-transpiled/node_modules/editorconfig/src/cli.d.ts b/build/js-transpiled/node_modules/editorconfig/src/cli.d.ts new file mode 100644 index 00000000..b6c6640b --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/cli.d.ts @@ -0,0 +1 @@ +export default function cli(args: string[]): void; diff --git a/build/js-transpiled/node_modules/editorconfig/src/cli.js b/build/js-transpiled/node_modules/editorconfig/src/cli.js new file mode 100644 index 00000000..0589b0c6 --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/cli.js @@ -0,0 +1,53 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +// tslint:disable:no-console +var commander_1 = __importDefault(require("commander")); +var editorconfig = __importStar(require("./")); +var package_json_1 = __importDefault(require("../package.json")); +function cli(args) { + commander_1.default.version('EditorConfig Node.js Core Version ' + package_json_1.default.version); + commander_1.default + .usage([ + '[OPTIONS] FILEPATH1 [FILEPATH2 FILEPATH3 ...]', + commander_1.default._version, + 'FILEPATH can be a hyphen (-) if you want path(s) to be read from stdin.', + ].join('\n\n ')) + .option('-f ', 'Specify conf filename other than \'.editorconfig\'') + .option('-b ', 'Specify version (used by devs to test compatibility)') + .option('-v, --version', 'Display version information') + .parse(args); + // Throw away the native -V flag in lieu of the one we've manually specified + // to adhere to testing requirements + commander_1.default.options.shift(); + var files = commander_1.default.args; + if (!files.length) { + commander_1.default.help(); + } + files + .map(function (filePath) { return editorconfig.parse(filePath, { + config: commander_1.default.F, + version: commander_1.default.B, + }); }) + .forEach(function (parsing, i, _a) { + var length = _a.length; + parsing.then(function (parsed) { + if (length > 1) { + console.log("[" + files[i] + "]"); + } + Object.keys(parsed).forEach(function (key) { + console.log(key + "=" + parsed[key]); + }); + }); + }); +} +exports.default = cli; diff --git a/build/js-transpiled/node_modules/editorconfig/src/index.d.ts b/build/js-transpiled/node_modules/editorconfig/src/index.d.ts new file mode 100644 index 00000000..1a69317d --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/index.d.ts @@ -0,0 +1,29 @@ +/// +import { parseString, ParseStringResult } from './lib/ini'; +export { parseString }; +export interface KnownProps { + end_of_line?: 'lf' | 'crlf' | 'unset'; + indent_style?: 'tab' | 'space' | 'unset'; + indent_size?: number | 'tab' | 'unset'; + insert_final_newline?: true | false | 'unset'; + tab_width?: number | 'unset'; + trim_trailing_whitespace?: true | false | 'unset'; + charset?: string | 'unset'; +} +export interface ECFile { + name: string; + contents: string | Buffer; +} +export interface FileConfig { + name: string; + contents: ParseStringResult; +} +export interface ParseOptions { + config?: string; + version?: string; + root?: string; +} +export declare function parseFromFiles(filepath: string, files: Promise, options?: ParseOptions): Promise; +export declare function parseFromFilesSync(filepath: string, files: ECFile[], options?: ParseOptions): KnownProps; +export declare function parse(_filepath: string, _options?: ParseOptions): Promise; +export declare function parseSync(_filepath: string, _options?: ParseOptions): KnownProps; diff --git a/build/js-transpiled/node_modules/editorconfig/src/index.js b/build/js-transpiled/node_modules/editorconfig/src/index.js new file mode 100644 index 00000000..60863664 --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/index.js @@ -0,0 +1,261 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var fs = __importStar(require("fs")); +var path = __importStar(require("path")); +var semver = __importStar(require("semver")); +var fnmatch_1 = __importDefault(require("./lib/fnmatch")); +var ini_1 = require("./lib/ini"); +exports.parseString = ini_1.parseString; +var package_json_1 = __importDefault(require("../package.json")); +var knownProps = { + end_of_line: true, + indent_style: true, + indent_size: true, + insert_final_newline: true, + trim_trailing_whitespace: true, + charset: true, +}; +function fnmatch(filepath, glob) { + var matchOptions = { matchBase: true, dot: true, noext: true }; + glob = glob.replace(/\*\*/g, '{*,**/**/**}'); + return fnmatch_1.default(filepath, glob, matchOptions); +} +function getConfigFileNames(filepath, options) { + var paths = []; + do { + filepath = path.dirname(filepath); + paths.push(path.join(filepath, options.config)); + } while (filepath !== options.root); + return paths; +} +function processMatches(matches, version) { + // Set indent_size to 'tab' if indent_size is unspecified and + // indent_style is set to 'tab'. + if ('indent_style' in matches + && matches.indent_style === 'tab' + && !('indent_size' in matches) + && semver.gte(version, '0.10.0')) { + matches.indent_size = 'tab'; + } + // Set tab_width to indent_size if indent_size is specified and + // tab_width is unspecified + if ('indent_size' in matches + && !('tab_width' in matches) + && matches.indent_size !== 'tab') { + matches.tab_width = matches.indent_size; + } + // Set indent_size to tab_width if indent_size is 'tab' + if ('indent_size' in matches + && 'tab_width' in matches + && matches.indent_size === 'tab') { + matches.indent_size = matches.tab_width; + } + return matches; +} +function processOptions(options, filepath) { + if (options === void 0) { options = {}; } + return { + config: options.config || '.editorconfig', + version: options.version || package_json_1.default.version, + root: path.resolve(options.root || path.parse(filepath).root), + }; +} +function buildFullGlob(pathPrefix, glob) { + switch (glob.indexOf('/')) { + case -1: + glob = '**/' + glob; + break; + case 0: + glob = glob.substring(1); + break; + default: + break; + } + return path.join(pathPrefix, glob); +} +function extendProps(props, options) { + if (props === void 0) { props = {}; } + if (options === void 0) { options = {}; } + for (var key in options) { + if (options.hasOwnProperty(key)) { + var value = options[key]; + var key2 = key.toLowerCase(); + var value2 = value; + if (knownProps[key2]) { + value2 = value.toLowerCase(); + } + try { + value2 = JSON.parse(value); + } + catch (e) { } + if (typeof value === 'undefined' || value === null) { + // null and undefined are values specific to JSON (no special meaning + // in editorconfig) & should just be returned as regular strings. + value2 = String(value); + } + props[key2] = value2; + } + } + return props; +} +function parseFromConfigs(configs, filepath, options) { + return processMatches(configs + .reverse() + .reduce(function (matches, file) { + var pathPrefix = path.dirname(file.name); + file.contents.forEach(function (section) { + var glob = section[0]; + var options2 = section[1]; + if (!glob) { + return; + } + var fullGlob = buildFullGlob(pathPrefix, glob); + if (!fnmatch(filepath, fullGlob)) { + return; + } + matches = extendProps(matches, options2); + }); + return matches; + }, {}), options.version); +} +function getConfigsForFiles(files) { + var configs = []; + for (var i in files) { + if (files.hasOwnProperty(i)) { + var file = files[i]; + var contents = ini_1.parseString(file.contents); + configs.push({ + name: file.name, + contents: contents, + }); + if ((contents[0][1].root || '').toLowerCase() === 'true') { + break; + } + } + } + return configs; +} +function readConfigFiles(filepaths) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/, Promise.all(filepaths.map(function (name) { return new Promise(function (resolve) { + fs.readFile(name, 'utf8', function (err, data) { + resolve({ + name: name, + contents: err ? '' : data, + }); + }); + }); }))]; + }); + }); +} +function readConfigFilesSync(filepaths) { + var files = []; + var file; + filepaths.forEach(function (filepath) { + try { + file = fs.readFileSync(filepath, 'utf8'); + } + catch (e) { + file = ''; + } + files.push({ + name: filepath, + contents: file, + }); + }); + return files; +} +function opts(filepath, options) { + if (options === void 0) { options = {}; } + var resolvedFilePath = path.resolve(filepath); + return [ + resolvedFilePath, + processOptions(options, resolvedFilePath), + ]; +} +function parseFromFiles(filepath, files, options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, resolvedFilePath, processedOptions; + return __generator(this, function (_b) { + _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1]; + return [2 /*return*/, files.then(getConfigsForFiles) + .then(function (configs) { return parseFromConfigs(configs, resolvedFilePath, processedOptions); })]; + }); + }); +} +exports.parseFromFiles = parseFromFiles; +function parseFromFilesSync(filepath, files, options) { + if (options === void 0) { options = {}; } + var _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1]; + return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); +} +exports.parseFromFilesSync = parseFromFilesSync; +function parse(_filepath, _options) { + if (_options === void 0) { _options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, resolvedFilePath, processedOptions, filepaths; + return __generator(this, function (_b) { + _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; + filepaths = getConfigFileNames(resolvedFilePath, processedOptions); + return [2 /*return*/, readConfigFiles(filepaths) + .then(getConfigsForFiles) + .then(function (configs) { return parseFromConfigs(configs, resolvedFilePath, processedOptions); })]; + }); + }); +} +exports.parse = parse; +function parseSync(_filepath, _options) { + if (_options === void 0) { _options = {}; } + var _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; + var filepaths = getConfigFileNames(resolvedFilePath, processedOptions); + var files = readConfigFilesSync(filepaths); + return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); +} +exports.parseSync = parseSync; diff --git a/build/js-transpiled/node_modules/editorconfig/src/lib/fnmatch.d.ts b/build/js-transpiled/node_modules/editorconfig/src/lib/fnmatch.d.ts new file mode 100644 index 00000000..5c9bd38a --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/lib/fnmatch.d.ts @@ -0,0 +1,214 @@ +// Type definitions for Minimatch 3.0 +// Project: https://github.com/isaacs/minimatch +// Definitions by: vvakame +// Shant Marouti +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/** + * Tests a path against the pattern using the options. + */ +declare function M(target: string, pattern: string, options?: M.IOptions): boolean; + +declare namespace M { + /** + * Match against the list of files, in the style of fnmatch or glob. + * If nothing is matched, and options.nonull is set, + * then return a list containing the pattern itself. + */ + function match(list: string[], pattern: string, options?: IOptions): string[]; + + /** + * Returns a function that tests its supplied argument, suitable for use with Array.filter + */ + function filter(pattern: string, options?: IOptions): (element: string, indexed: number, array: string[]) => boolean; + + /** + * Make a regular expression object from the pattern. + */ + function makeRe(pattern: string, options?: IOptions): RegExp; + + var Minimatch: IMinimatchStatic; + + interface IOptions { + /** + * Dump a ton of stuff to stderr. + * + * @default false + */ + debug?: boolean; + + /** + * Do not expand {a,b} and {1..3} brace sets. + * + * @default false + */ + nobrace?: boolean; + + /** + * Disable ** matching against multiple folder names. + * + * @default false + */ + noglobstar?: boolean; + + /** + * Allow patterns to match filenames starting with a period, + * even if the pattern does not explicitly have a period in that spot. + * + * @default false + */ + dot?: boolean; + + /** + * Disable "extglob" style patterns like +(a|b). + * + * @default false + */ + noext?: boolean; + + /** + * Perform a case-insensitive match. + * + * @default false + */ + nocase?: boolean; + + /** + * When a match is not found by minimatch.match, + * return a list containing the pattern itself if this option is set. + * Otherwise, an empty list is returned if there are no matches. + * + * @default false + */ + nonull?: boolean; + + /** + * If set, then patterns without slashes will be matched against + * the basename of the path if it contains slashes. + * + * @default false + */ + matchBase?: boolean; + + /** + * Suppress the behavior of treating # + * at the start of a pattern as a comment. + * + * @default false + */ + nocomment?: boolean; + + /** + * Suppress the behavior of treating a leading ! character as negation. + * + * @default false + */ + nonegate?: boolean; + + /** + * Returns from negate expressions the same as if they were not negated. + * (Ie, true on a hit, false on a miss.) + * + * @default false + */ + flipNegate?: boolean; + } + + interface IMinimatchStatic { + new(pattern: string, options?: IOptions): IMinimatch; + prototype: IMinimatch; + } + + interface IMinimatch { + /** + * The original pattern the minimatch object represents. + */ + pattern: string; + + /** + * The options supplied to the constructor. + */ + options: IOptions; + + /** + * A 2-dimensional array of regexp or string expressions. + */ + set: any[][]; // (RegExp | string)[][] + + /** + * A single regular expression expressing the entire pattern. + * Created by the makeRe method. + */ + regexp: RegExp; + + /** + * True if the pattern is negated. + */ + negate: boolean; + + /** + * True if the pattern is a comment. + */ + comment: boolean; + + /** + * True if the pattern is "" + */ + empty: boolean; + + /** + * Generate the regexp member if necessary, and return it. + * Will return false if the pattern is invalid. + */ + makeRe(): RegExp; // regexp or boolean + + /** + * Return true if the filename matches the pattern, or false otherwise. + */ + match(fname: string): boolean; + + /** + * Take a /-split filename, and match it against a single row in the regExpSet. + * This method is mainly for internal use, but is exposed so that it can be used + * by a glob-walker that needs to avoid excessive filesystem calls. + */ + matchOne(files: string[], pattern: string[], partial: boolean): boolean; + + /** + * Deprecated. For internal use. + * + * @private + */ + debug(): void; + + /** + * Deprecated. For internal use. + * + * @private + */ + make(): void; + + /** + * Deprecated. For internal use. + * + * @private + */ + parseNegate(): void; + + /** + * Deprecated. For internal use. + * + * @private + */ + braceExpand(pattern: string, options: IOptions): void; + + /** + * Deprecated. For internal use. + * + * @private + */ + parse(pattern: string, isSub?: boolean): void; + } +} + +export = M; diff --git a/build/js-transpiled/node_modules/editorconfig/lib/fnmatch.js b/build/js-transpiled/node_modules/editorconfig/src/lib/fnmatch.js similarity index 96% rename from build/js-transpiled/node_modules/editorconfig/lib/fnmatch.js rename to build/js-transpiled/node_modules/editorconfig/src/lib/fnmatch.js index 6d460c07..240ce336 100644 --- a/build/js-transpiled/node_modules/editorconfig/lib/fnmatch.js +++ b/build/js-transpiled/node_modules/editorconfig/src/lib/fnmatch.js @@ -1,37 +1,10 @@ // Based on minimatch.js by isaacs -;(function (require, exports, module, platform) { + var platform = typeof process === "object" ? process.platform : "win32" if (module) module.exports = minimatch else exports.minimatch = minimatch - if (!require) { - require = function (id) { - switch (id) { - case "sigmund": return function sigmund (obj) { - return JSON.stringify(obj) - } - case "path": return { basename: function (f) { - f = f.split(/[\/\\]/) - var e = f.pop() - if (!e) e = f.pop() - return e - }} - case "lru-cache": return function LRUCache () { - // not quite an LRU, but still space-limited. - var cache = {} - var cnt = 0 - this.set = function (k, v) { - cnt ++ - if (cnt >= 100) cache = {} - cache[k] = v - } - this.get = function (k) { return cache[k] } - } - } - } - } - minimatch.Minimatch = Minimatch var LRU = require("lru-cache") @@ -1072,9 +1045,3 @@ function regExpEscape (s) { return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") } - -})( typeof require === "function" ? require : null, - this, - typeof module === "object" ? module : null, - typeof process === "object" ? process.platform : "win32" -) diff --git a/build/js-transpiled/node_modules/editorconfig/src/lib/ini.d.ts b/build/js-transpiled/node_modules/editorconfig/src/lib/ini.d.ts new file mode 100644 index 00000000..fa185688 --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/lib/ini.d.ts @@ -0,0 +1,14 @@ +/// +import { URL } from 'url'; +/** + * Parses an .ini file + * @param file The location of the .ini file + */ +export declare function parse(file: string | number | Buffer | URL): Promise<[string | null, SectionBody][]>; +export declare function parseSync(file: string | number | Buffer | URL): [string | null, SectionBody][]; +export declare type SectionName = string | null; +export interface SectionBody { + [key: string]: string; +} +export declare type ParseStringResult = Array<[SectionName, SectionBody]>; +export declare function parseString(data: string): ParseStringResult; diff --git a/build/js-transpiled/node_modules/editorconfig/src/lib/ini.js b/build/js-transpiled/node_modules/editorconfig/src/lib/ini.js new file mode 100644 index 00000000..d205909f --- /dev/null +++ b/build/js-transpiled/node_modules/editorconfig/src/lib/ini.js @@ -0,0 +1,106 @@ +"use strict"; +// Based on iniparser by shockie +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var fs = __importStar(require("fs")); +/** + * define the possible values: + * section: [section] + * param: key=value + * comment: ;this is a comment + */ +var regex = { + section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/, + param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/, + comment: /^\s*[#;].*$/, +}; +/** + * Parses an .ini file + * @param file The location of the .ini file + */ +function parse(file) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/, new Promise(function (resolve, reject) { + fs.readFile(file, 'utf8', function (err, data) { + if (err) { + reject(err); + return; + } + resolve(parseString(data)); + }); + })]; + }); + }); +} +exports.parse = parse; +function parseSync(file) { + return parseString(fs.readFileSync(file, 'utf8')); +} +exports.parseSync = parseSync; +function parseString(data) { + var sectionBody = {}; + var sectionName = null; + var value = [[sectionName, sectionBody]]; + var lines = data.split(/\r\n|\r|\n/); + lines.forEach(function (line) { + var match; + if (regex.comment.test(line)) { + return; + } + if (regex.param.test(line)) { + match = line.match(regex.param); + sectionBody[match[1]] = + match[2]; + } + else if (regex.section.test(line)) { + match = line.match(regex.section); + sectionName = match[1]; + sectionBody = {}; + value.push([sectionName, sectionBody]); + } + }); + return value; +} +exports.parseString = parseString; diff --git a/build/js-transpiled/node_modules/editorconfig/test/app.js b/build/js-transpiled/node_modules/editorconfig/test/app.js deleted file mode 100644 index e69de29b..00000000 diff --git a/build/js-transpiled/node_modules/editorconfig/test/index.js b/build/js-transpiled/node_modules/editorconfig/test/index.js deleted file mode 100644 index bb0a214b..00000000 --- a/build/js-transpiled/node_modules/editorconfig/test/index.js +++ /dev/null @@ -1,84 +0,0 @@ -var editorconfig = require('../'); -var fs = require('fs'); -var path = require('path'); -var should = require('should'); - -describe('parse', function() { - it('async', function() { - var expected = { - indent_style: 'space', - indent_size: 2, - end_of_line: 'lf', - charset: 'utf-8', - trim_trailing_whitespace: true, - insert_final_newline: true, - tab_width: 2 - }; - var target = path.join(__dirname, '/app.js'); - var promise = editorconfig.parse(target); - return promise.then(function onFulfilled(result) { - expected.should.eql(result); - }); - }); - - it('sync', function() { - var expected = { - indent_style: 'space', - indent_size: 2, - end_of_line: 'lf', - charset: 'utf-8', - trim_trailing_whitespace: true, - insert_final_newline: true, - tab_width: 2 - }; - var target = path.join(__dirname, '/app.js'); - expected.should.eql(editorconfig.parseSync(target)); - }); -}); - -describe('parseFromFiles', function() { - it('async', function() { - var expected = { - indent_style: 'space', - indent_size: 2, - tab_width: 2, - end_of_line: 'lf', - charset: 'utf-8', - trim_trailing_whitespace: true, - insert_final_newline: true, - }; - var configs = []; - var configPath = path.resolve(__dirname, '../.editorconfig'); - var config = { - name: configPath, - contents: fs.readFileSync(configPath, 'utf8') - }; - configs.push(config); - var target = path.join(__dirname, '/app.js'); - var promise = editorconfig.parseFromFiles(target, configs); - return promise.then(function onFulfilled(result) { - expected.should.eql(result); - }); - }); - - it('sync', function() { - var expected = { - indent_style: 'space', - indent_size: 2, - tab_width: 2, - end_of_line: 'lf', - charset: 'utf-8', - trim_trailing_whitespace: true, - insert_final_newline: true, - }; - var configs = []; - var configPath = path.resolve(__dirname, '../.editorconfig'); - var config = { - name: configPath, - contents: fs.readFileSync(configPath, 'utf8') - }; - configs.push(config); - var target = path.join(__dirname, '/app.js'); - expected.should.eql(editorconfig.parseFromFilesSync(target, configs)); - }); -}); diff --git a/build/js-transpiled/node_modules/fs-extra/.npmignore b/build/js-transpiled/node_modules/fs-extra/.npmignore deleted file mode 100644 index 68eefb7b..00000000 --- a/build/js-transpiled/node_modules/fs-extra/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -.nyc_output/ -coverage/ -test/ -.travis.yml -appveyor.yml -lib/**/__tests__/ -test/readme.md -test.js diff --git a/build/js-transpiled/node_modules/fs-extra/CHANGELOG.md b/build/js-transpiled/node_modules/fs-extra/CHANGELOG.md index ff2a6dcb..57d0f4ef 100644 --- a/build/js-transpiled/node_modules/fs-extra/CHANGELOG.md +++ b/build/js-transpiled/node_modules/fs-extra/CHANGELOG.md @@ -1,3 +1,77 @@ +7.0.0 / 2018-07-16 +------------------ + +- **BREAKING:** Refine `copy*()` handling of symlinks to properly detect symlinks that point to the same file. ([#582](https://github.com/jprichardson/node-fs-extra/pull/582)) +- Fix bug with copying write-protected directories ([#600](https://github.com/jprichardson/node-fs-extra/pull/600)) +- Universalify `fs.lchmod()` ([#596](https://github.com/jprichardson/node-fs-extra/pull/596)) +- Add `engines` field to `package.json` ([#580](https://github.com/jprichardson/node-fs-extra/pull/580)) + +6.0.1 / 2018-05-09 +------------------ + +- Fix `fs.promises` `ExperimentalWarning` on Node v10.1.0 ([#578](https://github.com/jprichardson/node-fs-extra/pull/578)) + +6.0.0 / 2018-05-01 +------------------ + +- Drop support for Node.js versions 4, 5, & 7 ([#564](https://github.com/jprichardson/node-fs-extra/pull/564)) +- Rewrite `move` to use `fs.rename` where possible ([#549](https://github.com/jprichardson/node-fs-extra/pull/549)) +- Don't convert relative paths to absolute paths for `filter` ([#554](https://github.com/jprichardson/node-fs-extra/pull/554)) +- `copy*`'s behavior when `preserveTimestamps` is `false` has been OS-dependent since 5.0.0, but that's now explicitly noted in the docs ([#563](https://github.com/jprichardson/node-fs-extra/pull/563)) +- Fix subdirectory detection for `copy*` & `move*` ([#541](https://github.com/jprichardson/node-fs-extra/pull/541)) +- Handle case-insensitive paths correctly in `copy*` ([#568](https://github.com/jprichardson/node-fs-extra/pull/568)) + +5.0.0 / 2017-12-11 +------------------ + +Significant refactor of `copy()` & `copySync()`, including breaking changes. No changes to other functions in this release. + +Huge thanks to **[@manidlou](https://github.com/manidlou)** for doing most of the work on this release. + +- The `filter` option can no longer be a RegExp (must be a function). This was deprecated since fs-extra v1.0.0. [#512](https://github.com/jprichardson/node-fs-extra/pull/512) +- `copy()`'s `filter` option can now be a function that returns a Promise. [#518](https://github.com/jprichardson/node-fs-extra/pull/518) +- `copy()` & `copySync()` now use `fs.copyFile()`/`fs.copyFileSync()` in environments that support it (currently Node 8.5.0+). Older Node versions still get the old implementation. [#505](https://github.com/jprichardson/node-fs-extra/pull/505) +- Don't allow copying a directory into itself. [#83](https://github.com/jprichardson/node-fs-extra/issues/83) +- Handle copying between identical files. [#198](https://github.com/jprichardson/node-fs-extra/issues/198) +- Error out when copying an empty folder to a path that already exists. [#464](https://github.com/jprichardson/node-fs-extra/issues/464) +- Don't create `dest`'s parent if the `filter` function aborts the `copy()` operation. [#517](https://github.com/jprichardson/node-fs-extra/pull/517) +- Fix `writeStream` not being closed if there was an error in `copy()`. [#516](https://github.com/jprichardson/node-fs-extra/pull/516) + +4.0.3 / 2017-12-05 +------------------ + +- Fix wrong `chmod` values in `fs.remove()` [#501](https://github.com/jprichardson/node-fs-extra/pull/501) +- Fix `TypeError` on systems that don't have some `fs` operations like `lchown` [#520](https://github.com/jprichardson/node-fs-extra/pull/520) + +4.0.2 / 2017-09-12 +------------------ + +- Added `EOL` option to `writeJson*` & `outputJson*` (via upgrade to jsonfile v4) +- Added promise support to [`fs.copyFile()`](https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_flags_callback) in Node 8.5+ +- Added `.js` extension to `main` field in `package.json` for better tooling compatibility. [#485](https://github.com/jprichardson/node-fs-extra/pull/485) + +4.0.1 / 2017-07-31 +------------------ + +### Fixed + +- Previously, `ensureFile()` & `ensureFileSync()` would do nothing if the path was a directory. Now, they error out for consistency with `ensureDir()`. [#465](https://github.com/jprichardson/node-fs-extra/issues/465), [#466](https://github.com/jprichardson/node-fs-extra/pull/466), [#470](https://github.com/jprichardson/node-fs-extra/issues/470) + +4.0.0 / 2017-07-14 +------------------ + +### Changed + +- **BREAKING:** The promisified versions of `fs.read()` & `fs.write()` now return objects. See [the docs](docs/fs-read-write.md) for details. [#436](https://github.com/jprichardson/node-fs-extra/issues/436), [#449](https://github.com/jprichardson/node-fs-extra/pull/449) +- `fs.move()` now errors out when destination is a subdirectory of source. [#458](https://github.com/jprichardson/node-fs-extra/pull/458) +- Applied upstream fixes from `rimraf` to `fs.remove()` & `fs.removeSync()`. [#459](https://github.com/jprichardson/node-fs-extra/pull/459) + +### Fixed + +- Got `fs.outputJSONSync()` working again; it was broken due to refactoring. [#428](https://github.com/jprichardson/node-fs-extra/pull/428) + +Also clarified the docs in a few places. + 3.0.1 / 2017-05-04 ------------------ diff --git a/build/js-transpiled/node_modules/fs-extra/README.md b/build/js-transpiled/node_modules/fs-extra/README.md index bb9422dd..f09f79f7 100644 --- a/build/js-transpiled/node_modules/fs-extra/README.md +++ b/build/js-transpiled/node_modules/fs-extra/README.md @@ -1,16 +1,15 @@ Node.js: fs-extra ================= -`fs-extra` adds file system methods that aren't included in the native `fs` module and adds promise support to the `fs` methods. It should be a drop in replacement for `fs`. +`fs-extra` adds file system methods that aren't included in the native `fs` module and adds promise support to the `fs` methods. It also uses [`graceful-fs`](https://github.com/isaacs/node-graceful-fs) to prevent `EMFILE` errors. It should be a drop in replacement for `fs`. -[![npm Package](https://img.shields.io/npm/v/fs-extra.svg?style=flat-square)](https://www.npmjs.org/package/fs-extra) -[![build status](https://api.travis-ci.org/jprichardson/node-fs-extra.svg)](http://travis-ci.org/jprichardson/node-fs-extra) +[![npm Package](https://img.shields.io/npm/v/fs-extra.svg)](https://www.npmjs.org/package/fs-extra) +[![License](https://img.shields.io/npm/l/express.svg)](https://github.com/jprichardson/node-fs-extra/blob/master/LICENSE) +[![build status](https://img.shields.io/travis/jprichardson/node-fs-extra/master.svg)](http://travis-ci.org/jprichardson/node-fs-extra) [![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-fs-extra/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-fs-extra/branch/master) [![downloads per month](http://img.shields.io/npm/dm/fs-extra.svg)](https://www.npmjs.org/package/fs-extra) -[![Coverage Status](https://img.shields.io/coveralls/jprichardson/node-fs-extra.svg)](https://coveralls.io/r/jprichardson/node-fs-extra) - -Standard JavaScript - +[![Coverage Status](https://img.shields.io/coveralls/github/jprichardson/node-fs-extra/master.svg)](https://coveralls.io/github/jprichardson/node-fs-extra) +[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) Why? ---- @@ -58,12 +57,14 @@ const fs = require('fs') const fse = require('fs-extra') ``` -Sync vs Async +Sync vs Async vs Async/Await ------------- Most methods are async by default. All async methods will return a promise if the callback isn't passed. Sync methods on the other hand will throw if an error occurs. +Also Async/Await will throw an error if one occurs. + Example: ```js @@ -87,6 +88,18 @@ try { } catch (err) { console.error(err) } + +// Async/Await: +async function copyFiles () { + try { + await fs.copy('/tmp/myfile', '/tmp/mynewfile') + console.log('success!') + } catch (err) { + console.error(err) + } +} + +copyFiles() ``` @@ -101,6 +114,7 @@ Methods - [ensureDir](docs/ensureDir.md) - [ensureLink](docs/ensureLink.md) - [ensureSymlink](docs/ensureSymlink.md) +- [mkdirp](docs/ensureDir.md) - [mkdirs](docs/ensureDir.md) - [move](docs/move.md) - [outputFile](docs/outputFile.md) @@ -118,6 +132,7 @@ Methods - [ensureDirSync](docs/ensureDir-sync.md) - [ensureLinkSync](docs/ensureLink-sync.md) - [ensureSymlinkSync](docs/ensureSymlink-sync.md) +- [mkdirpSync](docs/ensureDir-sync.md) - [mkdirsSync](docs/ensureDir-sync.md) - [moveSync](docs/move-sync.md) - [outputFileSync](docs/outputFile-sync.md) @@ -128,7 +143,7 @@ Methods - [writeJsonSync](docs/writeJson-sync.md) -**NOTE:** You can still use the native Node.js methods. They are promisified and copied over to `fs-extra`. +**NOTE:** You can still use the native Node.js methods. They are promisified and copied over to `fs-extra`. See [notes on `fs.read()` & `fs.write()`](docs/fs-read-write.md) ### What happened to `walk()` and `walkSync()`? @@ -141,16 +156,20 @@ Third Party ### TypeScript -If you like TypeScript, you can use `fs-extra` with it: https://github.com/borisyankov/DefinitelyTyped/tree/master/fs-extra +If you like TypeScript, you can use `fs-extra` with it: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra ### File / Directory Watching If you want to watch for changes to files or directories, then you should use [chokidar](https://github.com/paulmillr/chokidar). +### Obtain Filesystem (Devices, Partitions) Information + +[fs-filesystem](https://github.com/arthurintelligence/node-fs-filesystem) allows you to read the state of the filesystem of the host on which it is run. It returns information about both the devices and the partitions (volumes) of the system. ### Misc. +- [fs-extra-debug](https://github.com/jdxcode/fs-extra-debug) - Send your fs-extra calls to [debug](https://npmjs.org/package/debug). - [mfs](https://github.com/cadorn/mfs) - Monitor your fs-extra calls. diff --git a/build/js-transpiled/node_modules/fs-extra/docs/copy-sync.md b/build/js-transpiled/node_modules/fs-extra/docs/copy-sync.md index 8e61c2b6..76bfd477 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/copy-sync.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/copy-sync.md @@ -2,14 +2,14 @@ Copy a file or directory. The directory can have contents. Like `cp -r`. -- `src` `` -- `dest` `` +- `src` `` Note that if `src` is a directory it will copy everything inside of this directory, not the entire directory itself (see [issue #537](https://github.com/jprichardson/node-fs-extra/issues/537)). +- `dest` `` Note that if `src` is a file, `dest` cannot be a directory (see [issue #323](https://github.com/jprichardson/node-fs-extra/issues/323)). - `options` `` - `overwrite` ``: overwrite existing file or directory, default is `true`. _Note that the copy operation will silently fail if you set this to `false` and the destination exists._ Use the `errorOnExist` option to change this behavior. - `errorOnExist` ``: when `overwrite` is `false` and the destination exists, throw an error. Default is `false`. - `dereference` ``: dereference symlinks, default is `false`. - - `preserveTimestamps` ``: will set last modification and access times to the ones of the original source files, default is `false`. - - `filter` ``: Function to filter copied files. Return `true` to include, `false` to exclude. This can also be a RegExp, however this is deprecated (See [issue #239](https://github.com/jprichardson/node-fs-extra/issues/239) for background). + - `preserveTimestamps` ``: When true, will set last modification and access times to the ones of the original source files. When false, timestamp behavior is OS-dependent. Default is `false`. + - `filter` ``: Function to filter copied files. Return `true` to include, `false` to exclude. ## Example: diff --git a/build/js-transpiled/node_modules/fs-extra/docs/copy.md b/build/js-transpiled/node_modules/fs-extra/docs/copy.md index ff0811f5..e5f8582b 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/copy.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/copy.md @@ -2,14 +2,14 @@ Copy a file or directory. The directory can have contents. Like `cp -r`. -- `src` `` -- `dest` `` +- `src` `` Note that if `src` is a directory it will copy everything inside of this directory, not the entire directory itself (see [issue #537](https://github.com/jprichardson/node-fs-extra/issues/537)). +- `dest` `` Note that if `src` is a file, `dest` cannot be a directory (see [issue #323](https://github.com/jprichardson/node-fs-extra/issues/323)). - `options` `` - `overwrite` ``: overwrite existing file or directory, default is `true`. _Note that the copy operation will silently fail if you set this to `false` and the destination exists._ Use the `errorOnExist` option to change this behavior. - `errorOnExist` ``: when `overwrite` is `false` and the destination exists, throw an error. Default is `false`. - `dereference` ``: dereference symlinks, default is `false`. - - `preserveTimestamps` ``: will set last modification and access times to the ones of the original source files, default is `false`. - - `filter` ``: Function to filter copied files. Return `true` to include, `false` to exclude. This can also be a RegExp, however this is deprecated (See [issue #239](https://github.com/jprichardson/node-fs-extra/issues/239) for background). + - `preserveTimestamps` ``: When true, will set last modification and access times to the ones of the original source files. When false, timestamp behavior is OS-dependent. Default is `false`. + - `filter` ``: Function to filter copied files. Return `true` to include, `false` to exclude. Can also return a `Promise` that resolves to `true` or `false` (or pass in an `async` function). - `callback` `` ## Example: @@ -17,6 +17,7 @@ Copy a file or directory. The directory can have contents. Like `cp -r`. ```js const fs = require('fs-extra') +// With a callback: fs.copy('/tmp/myfile', '/tmp/mynewfile', err => { if (err) return console.error(err) @@ -29,7 +30,7 @@ fs.copy('/tmp/mydir', '/tmp/mynewdir', err => { console.log('success!') }) // copies directory, even if it has subdirectories or files -// Promise usage: +// With Promises: fs.copy('/tmp/myfile', '/tmp/mynewfile') .then(() => { console.log('success!') @@ -37,6 +38,18 @@ fs.copy('/tmp/myfile', '/tmp/mynewfile') .catch(err => { console.error(err) }) + +// With async/await: +async function example () { + try { + await fs.copy('/tmp/myfile', '/tmp/mynewfile') + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example() ``` **Using filter function** diff --git a/build/js-transpiled/node_modules/fs-extra/docs/emptyDir.md b/build/js-transpiled/node_modules/fs-extra/docs/emptyDir.md index 6553e9a9..3d129d42 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/emptyDir.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/emptyDir.md @@ -13,13 +13,14 @@ Ensures that a directory is empty. Deletes directory contents if the directory i const fs = require('fs-extra') // assume this directory has a lot of files and folders +// With a callback: fs.emptyDir('/tmp/some/dir', err => { if (err) return console.error(err) console.log('success!') }) -// With promises +// With Promises: fs.emptyDir('/tmp/some/dir') .then(() => { console.log('success!') @@ -27,4 +28,16 @@ fs.emptyDir('/tmp/some/dir') .catch(err => { console.error(err) }) + +// With async/await: +async function example () { + try { + await fs.emptyDir('/tmp/some/dir') + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example() ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/ensureDir.md b/build/js-transpiled/node_modules/fs-extra/docs/ensureDir.md index d030d866..0d43a145 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/ensureDir.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/ensureDir.md @@ -13,6 +13,8 @@ Ensures that the directory exists. If the directory structure does not exist, it const fs = require('fs-extra') const dir = '/tmp/this/path/does/not/exist' + +// With a callback: fs.ensureDir(dir, err => { console.log(err) // => null // dir has now been created, including the directory it is to be placed in @@ -26,4 +28,16 @@ fs.ensureDir(dir) .catch(err => { console.error(err) }) + +// With async/await: +async function example (directory) { + try { + await fs.ensureDir(directory) + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example(dir) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/ensureFile.md b/build/js-transpiled/node_modules/fs-extra/docs/ensureFile.md index 987be638..aa8e82ac 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/ensureFile.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/ensureFile.md @@ -13,6 +13,8 @@ Ensures that the file exists. If the file that is requested to be created is in const fs = require('fs-extra') const file = '/tmp/this/path/does/not/exist/file.txt' + +// With a callback: fs.ensureFile(file, err => { console.log(err) // => null // file has now been created, including the directory it is to be placed in @@ -26,4 +28,16 @@ fs.ensureFile(file) .catch(err => { console.error(err) }) + +// With async/await: +async function example (f) { + try { + await fs.ensureFile(f) + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example(file) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/ensureLink.md b/build/js-transpiled/node_modules/fs-extra/docs/ensureLink.md index 90d2a5d6..3f39f07b 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/ensureLink.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/ensureLink.md @@ -13,6 +13,8 @@ const fs = require('fs-extra') const srcpath = '/tmp/file.txt' const dstpath = '/tmp/this/path/does/not/exist/file.txt' + +// With a callback: fs.ensureLink(srcpath, dstpath, err => { console.log(err) // => null // link has now been created, including the directory it is to be placed in @@ -26,4 +28,16 @@ fs.ensureLink(srcpath, dstpath) .catch(err => { console.error(err) }) + +// With async/await: +async function example (src, dest) { + try { + await fs.ensureLink(src, dest) + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example(srcpath, dstpath) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/ensureSymlink.md b/build/js-transpiled/node_modules/fs-extra/docs/ensureSymlink.md index 45524f19..39c09568 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/ensureSymlink.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/ensureSymlink.md @@ -14,6 +14,8 @@ const fs = require('fs-extra') const srcpath = '/tmp/file.txt' const dstpath = '/tmp/this/path/does/not/exist/file.txt' + +// With a callback: fs.ensureSymlink(srcpath, dstpath, err => { console.log(err) // => null // symlink has now been created, including the directory it is to be placed in @@ -27,4 +29,16 @@ fs.ensureSymlink(srcpath, dstpath) .catch(err => { console.error(err) }) + +// With async/await: +async function example (src, dest) { + try { + await fs.ensureSymlink(src, dest) + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example(srcpath, dstpath) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/fs-read-write.md b/build/js-transpiled/node_modules/fs-extra/docs/fs-read-write.md new file mode 100644 index 00000000..1e3f15c0 --- /dev/null +++ b/build/js-transpiled/node_modules/fs-extra/docs/fs-read-write.md @@ -0,0 +1,39 @@ +# About `fs.read()` & `fs.write()` + +[`fs.read()`](https://nodejs.org/api/fs.html#fs_fs_read_fd_buffer_offset_length_position_callback) & [`fs.write()`](https://nodejs.org/api/fs.html#fs_fs_write_fd_buffer_offset_length_position_callback) are different from other `fs` methods in that their callbacks are called with 3 arguments instead of the usual 2 arguments. + +If you're using them with callbacks, they will behave as usual. However, their promise usage is a little different. `fs-extra` promisifies these methods like [`util.promisify()`](https://nodejs.org/api/util.html#util_util_promisify_original) (only available in Node 8+) does. + +Here's the example promise usage: + +## `fs.read()` + +```js +// With Promises: +fs.read(fd, buffer, offset, length, position) + .then(results => { + console.log(results) + // { bytesRead: 20, buffer: } + }) + +// With async/await: +async function example () { + const { bytesRead, buffer } = await fs.read(fd, Buffer.alloc(length), offset, length, position) +} +``` + +## `fs.write()` + +```js +// With Promises: +fs.write(fd, buffer, offset, length, position) + .then(results => { + console.log(results) + // { bytesWritten: 20, buffer: } + }) + +// With async/await: +async function example () { + const { bytesWritten, buffer } = await fs.write(fd, Buffer.alloc(length), offset, length, position) +} +``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/move.md b/build/js-transpiled/node_modules/fs-extra/docs/move.md index 0dd210c5..343d10be 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/move.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/move.md @@ -13,19 +13,36 @@ Moves a file or directory, even across devices. ```js const fs = require('fs-extra') -fs.move('/tmp/somefile', '/tmp/does/not/exist/yet/somefile', err => { +const srcpath = '/tmp/file.txt' +const dstpath = '/tmp/this/path/does/not/exist/file.txt' + +// With a callback: +fs.move(srcpath, dstpath, err => { if (err) return console.error(err) console.log('success!') }) -fs.move('/tmp/somefile', '/tmp/does/not/exist/yet/somefile') +// With Promises: +fs.move(srcpath, dstpath) .then(() => { console.log('success!') }) .catch(err => { console.error(err) }) + +// With async/await: +async function example (src, dest) { + try { + await fs.move(srcpath, dstpath) + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example(srcpath, dstpath) ``` **Using `overwrite` option** diff --git a/build/js-transpiled/node_modules/fs-extra/docs/outputFile.md b/build/js-transpiled/node_modules/fs-extra/docs/outputFile.md index 766787d9..34efdc94 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/outputFile.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/outputFile.md @@ -13,6 +13,8 @@ Almost the same as `writeFile` (i.e. it [overwrites](http://pages.citebite.com/v const fs = require('fs-extra') const file = '/tmp/this/path/does/not/exist/file.txt' + +// With a callback: fs.outputFile(file, 'hello!', err => { console.log(err) // => null @@ -31,4 +33,19 @@ fs.outputFile(file, 'hello!') .catch(err => { console.error(err) }) + +// With async/await: +async function example (f) { + try { + await fs.outputFile(f, 'hello!') + + const data = await fs.readFile(f, 'utf8') + + console.log(data) // => hello! + } catch (err) { + console.error(err) + } +} + +example(file) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/outputJson-sync.md b/build/js-transpiled/node_modules/fs-extra/docs/outputJson-sync.md index cab6316b..ef78f802 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/outputJson-sync.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/outputJson-sync.md @@ -1,13 +1,16 @@ # outputJsonSync(file, object, [options]) Almost the same as [`writeJsonSync`](writeJson-sync.md), except that if the directory does not exist, it's created. -`options` are what you'd pass to [`jsonFile.writeFileSync()`](https://github.com/jprichardson/node-jsonfile#writefilesyncfilename-obj-options). **Alias:** `outputJSONSync()` - `file` `` - `object` `` - `options` `` + - `spaces` `` Number of spaces to indent; or a string to use for indentation (i.e. pass `'\t'` for tab indentation). See [the docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_space_argument) for more info. + - `EOL` `` Set EOL character. Default is `\n`. + - `replacer` [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) + - Also accepts [`fs.writeFileSync` options](https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options) ## Example: diff --git a/build/js-transpiled/node_modules/fs-extra/docs/outputJson.md b/build/js-transpiled/node_modules/fs-extra/docs/outputJson.md index fc6f2fe5..aa265aee 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/outputJson.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/outputJson.md @@ -1,13 +1,16 @@ # outputJson(file, object, [options, callback]) Almost the same as [`writeJson`](writeJson.md), except that if the directory does not exist, it's created. -`options` are what you'd pass to [`jsonFile.writeFile()`](https://github.com/jprichardson/node-jsonfile#writefilefilename-options-callback). **Alias:** `outputJSON()` - `file` `` - `object` `` - `options` `` + - `spaces` `` Number of spaces to indent; or a string to use for indentation (i.e. pass `'\t'` for tab indentation). See [the docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_space_argument) for more info. + - `EOL` `` Set EOL character. Default is `\n`. + - `replacer` [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) + - Also accepts [`fs.writeFile` options](https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback) - `callback` `` ## Example: @@ -16,6 +19,8 @@ Almost the same as [`writeJson`](writeJson.md), except that if the directory doe const fs = require('fs-extra') const file = '/tmp/this/path/does/not/exist/file.json' + +// With a callback: fs.outputJson(file, {name: 'JP'}, err => { console.log(err) // => null @@ -34,4 +39,19 @@ fs.outputJson(file, {name: 'JP'}) .catch(err => { console.error(err) }) + +// With async/await: +async function example (f) { + try { + await fs.outputJson(f, {name: 'JP'}) + + const data = await fs.readJson(f) + + console.log(data.name) // => JP + } catch (err) { + console.error(err) + } +} + +example(file) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/pathExists.md b/build/js-transpiled/node_modules/fs-extra/docs/pathExists.md index 0302b09d..7a317d9f 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/pathExists.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/pathExists.md @@ -11,12 +11,23 @@ Test whether or not the given path exists by checking with the file system. Like const fs = require('fs-extra') const file = '/tmp/this/path/does/not/exist/file.txt' -// Promise usage: -fs.pathExists(file) - .then(exists => console.log(exists)) // => false -// Callback usage: + +// With a callback: fs.pathExists(file, (err, exists) => { console.log(err) // => null console.log(exists) // => false }) + +// Promise usage: +fs.pathExists(file) + .then(exists => console.log(exists)) // => false + +// With async/await: +async function example (f) { + const exists = await fs.pathExists(f) + + console.log(exists) // => false +} + +example(file) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/readJson.md b/build/js-transpiled/node_modules/fs-extra/docs/readJson.md index 6edc329d..baf80ac8 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/readJson.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/readJson.md @@ -14,13 +14,14 @@ that you'd pass to [`jsonFile.readFile`](https://github.com/jprichardson/node-js ```js const fs = require('fs-extra') +// With a callback: fs.readJson('./package.json', (err, packageObj) => { if (err) console.error(err) console.log(packageObj.version) // => 0.1.3 }) -// Promise Usage +// With Promises: fs.readJson('./package.json') .then(packageObj => { console.log(packageObj.version) // => 0.1.3 @@ -28,6 +29,19 @@ fs.readJson('./package.json') .catch(err => { console.error(err) }) + +// With async/await: +async function example () { + try { + const packageObj = await fs.readJson('./package.json') + + console.log(packageObj.version) // => 0.1.3 + } catch (err) { + console.error(err) + } +} + +example() ``` --- @@ -41,13 +55,14 @@ const file = '/tmp/some-invalid.json' const data = '{not valid JSON' fs.writeFileSync(file, data) +// With a callback: fs.readJson(file, { throws: false }, (err, obj) => { if (err) console.error(err) console.log(obj) // => null }) -// Promise Usage +// Wtih Promises: fs.readJson(file, { throws: false }) .then(obj => { console.log(obj) // => null @@ -55,4 +70,13 @@ fs.readJson(file, { throws: false }) .catch(err => { console.error(err) // Not called }) + +// With async/await: +async function example (f) { + const obj = await fs.readJson(f, { throws: false }) + + console.log(obj) // => null +} + +example(file) ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/remove.md b/build/js-transpiled/node_modules/fs-extra/docs/remove.md index 36402935..bcc49e39 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/remove.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/remove.md @@ -11,6 +11,7 @@ Removes a file or directory. The directory can have contents. Like `rm -rf`. const fs = require('fs-extra') // remove file +// With a callback: fs.remove('/tmp/myfile', err => { if (err) return console.error(err) @@ -23,7 +24,7 @@ fs.remove('/home/jprichardson', err => { console.log('success!') // I just deleted my entire HOME directory. }) -// Promise Usage +// With Promises: fs.remove('/tmp/myfile') .then(() => { console.log('success!') @@ -31,4 +32,16 @@ fs.remove('/tmp/myfile') .catch(err => { console.error(err) }) + +// With async/await: +async function example (src, dest) { + try { + await fs.remove('/tmp/myfile') + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example() ``` diff --git a/build/js-transpiled/node_modules/fs-extra/docs/writeJson-sync.md b/build/js-transpiled/node_modules/fs-extra/docs/writeJson-sync.md index 9e649bbc..c22459db 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/writeJson-sync.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/writeJson-sync.md @@ -1,13 +1,16 @@ # writeJsonSync(file, object, [options]) -Writes an object to a JSON file. `options` are the same that -you'd pass to [`jsonFile.writeFileSync()`](https://github.com/jprichardson/node-jsonfile#writefilesyncfilename-obj-options). +Writes an object to a JSON file. **Alias:** `writeJSONSync()` - `file` `` - `object` `` - `options` `` + - `spaces` `` Number of spaces to indent; or a string to use for indentation (i.e. pass `'\t'` for tab indentation). See [the docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_space_argument) for more info. + - `EOL` `` Set EOL character. Default is `\n`. + - `replacer` [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) + - Also accepts [`fs.writeFileSync` options](https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options) ## Example: diff --git a/build/js-transpiled/node_modules/fs-extra/docs/writeJson.md b/build/js-transpiled/node_modules/fs-extra/docs/writeJson.md index 0e9c3931..56278029 100644 --- a/build/js-transpiled/node_modules/fs-extra/docs/writeJson.md +++ b/build/js-transpiled/node_modules/fs-extra/docs/writeJson.md @@ -1,13 +1,16 @@ # writeJson(file, object, [options, callback]) -Writes an object to a JSON file. `options` are the same that -you'd pass to [`jsonFile.writeFile()`](https://github.com/jprichardson/node-jsonfile#writefilefilename-options-callback). +Writes an object to a JSON file. **Alias:** `writeJSON()` - `file` `` - `object` `` - `options` `` + - `spaces` `` Number of spaces to indent; or a string to use for indentation (i.e. pass `'\t'` for tab indentation). See [the docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_space_argument) for more info. + - `EOL` `` Set EOL character. Default is `\n`. + - `replacer` [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) + - Also accepts [`fs.writeFile` options](https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback) - `callback` `` ## Example: @@ -15,13 +18,14 @@ you'd pass to [`jsonFile.writeFile()`](https://github.com/jprichardson/node-json ```js const fs = require('fs-extra') +// With a callback: fs.writeJson('./package.json', {name: 'fs-extra'}, err => { if (err) return console.error(err) console.log('success!') }) -// With Promises +// With Promises: fs.writeJson('./package.json', {name: 'fs-extra'}) .then(() => { console.log('success!') @@ -29,6 +33,18 @@ fs.writeJson('./package.json', {name: 'fs-extra'}) .catch(err => { console.error(err) }) + +// With async/await: +async function example () { + try { + await fs.writeJson('./package.json', {name: 'fs-extra'}) + console.log('success!') + } catch (err) { + console.error(err) + } +} + +example() ``` --- diff --git a/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js b/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js deleted file mode 100644 index 102a6be6..00000000 --- a/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict' - -const fs = require('graceful-fs') - -const BUF_LENGTH = 64 * 1024 -const _buff = require('../util/buffer')(BUF_LENGTH) - -function copyFileSync (srcFile, destFile, options) { - const overwrite = options.overwrite - const errorOnExist = options.errorOnExist - const preserveTimestamps = options.preserveTimestamps - - if (fs.existsSync(destFile)) { - if (overwrite) { - fs.unlinkSync(destFile) - } else if (errorOnExist) { - throw new Error(`${destFile} already exists`) - } else return - } - - const fdr = fs.openSync(srcFile, 'r') - const stat = fs.fstatSync(fdr) - const fdw = fs.openSync(destFile, 'w', stat.mode) - let bytesRead = 1 - let pos = 0 - - while (bytesRead > 0) { - bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) - fs.writeSync(fdw, _buff, 0, bytesRead) - pos += bytesRead - } - - if (preserveTimestamps) { - fs.futimesSync(fdw, stat.atime, stat.mtime) - } - - fs.closeSync(fdr) - fs.closeSync(fdw) -} - -module.exports = copyFileSync diff --git a/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-sync.js b/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-sync.js index 9d5639c3..14ad9939 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-sync.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/copy-sync.js @@ -2,61 +2,192 @@ const fs = require('graceful-fs') const path = require('path') -const copyFileSync = require('./copy-file-sync') -const mkdir = require('../mkdirs') +const mkdirpSync = require('../mkdirs').mkdirsSync +const utimesSync = require('../util/utimes.js').utimesMillisSync -function copySync (src, dest, options) { - if (typeof options === 'function' || options instanceof RegExp) { - options = {filter: options} - } - - options = options || {} - options.recursive = !!options.recursive +const notExist = Symbol('notExist') - // default to true for now - options.clobber = 'clobber' in options ? !!options.clobber : true - // overwrite falls back to clobber - options.overwrite = 'overwrite' in options ? !!options.overwrite : options.clobber - options.dereference = 'dereference' in options ? !!options.dereference : false - options.preserveTimestamps = 'preserveTimestamps' in options ? !!options.preserveTimestamps : false +function copySync (src, dest, opts) { + if (typeof opts === 'function') { + opts = {filter: opts} + } - options.filter = options.filter || function () { return true } + opts = opts || {} + opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now + opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber - // Warn about using preserveTimestamps on 32-bit node: - if (options.preserveTimestamps && process.arch === 'ia32') { + // Warn about using preserveTimestamps on 32-bit node + if (opts.preserveTimestamps && process.arch === 'ia32') { console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n see https://github.com/jprichardson/node-fs-extra/issues/269`) } - const stats = (options.recursive && !options.dereference) ? fs.lstatSync(src) : fs.statSync(src) - const destFolder = path.dirname(dest) - const destFolderExists = fs.existsSync(destFolder) - let performCopy = false - - if (options.filter instanceof RegExp) { - console.warn('Warning: fs-extra: Passing a RegExp filter is deprecated, use a function') - performCopy = options.filter.test(src) - } else if (typeof options.filter === 'function') performCopy = options.filter(src, dest) - - if (stats.isFile() && performCopy) { - if (!destFolderExists) mkdir.mkdirsSync(destFolder) - copyFileSync(src, dest, { - overwrite: options.overwrite, - errorOnExist: options.errorOnExist, - preserveTimestamps: options.preserveTimestamps - }) - } else if (stats.isDirectory() && performCopy) { - if (!fs.existsSync(dest)) mkdir.mkdirsSync(dest) - const contents = fs.readdirSync(src) - contents.forEach(content => { - const opts = options - opts.recursive = true - copySync(path.join(src, content), path.join(dest, content), opts) - }) - } else if (options.recursive && stats.isSymbolicLink() && performCopy) { - const srcPath = fs.readlinkSync(src) - fs.symlinkSync(srcPath, dest) + const destStat = checkPaths(src, dest) + + if (opts.filter && !opts.filter(src, dest)) return + + const destParent = path.dirname(dest) + if (!fs.existsSync(destParent)) mkdirpSync(destParent) + return startCopy(destStat, src, dest, opts) +} + +function startCopy (destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) return + return getStats(destStat, src, dest, opts) +} + +function getStats (destStat, src, dest, opts) { + const statSync = opts.dereference ? fs.statSync : fs.lstatSync + const srcStat = statSync(src) + + if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts) + else if (srcStat.isFile() || + srcStat.isCharacterDevice() || + srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts) + else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts) +} + +function onFile (srcStat, destStat, src, dest, opts) { + if (destStat === notExist) return copyFile(srcStat, src, dest, opts) + return mayCopyFile(srcStat, src, dest, opts) +} + +function mayCopyFile (srcStat, src, dest, opts) { + if (opts.overwrite) { + fs.unlinkSync(dest) + return copyFile(srcStat, src, dest, opts) + } else if (opts.errorOnExist) { + throw new Error(`'${dest}' already exists`) + } +} + +function copyFile (srcStat, src, dest, opts) { + if (typeof fs.copyFileSync === 'function') { + fs.copyFileSync(src, dest) + fs.chmodSync(dest, srcStat.mode) + if (opts.preserveTimestamps) { + return utimesSync(dest, srcStat.atime, srcStat.mtime) + } + return + } + return copyFileFallback(srcStat, src, dest, opts) +} + +function copyFileFallback (srcStat, src, dest, opts) { + const BUF_LENGTH = 64 * 1024 + const _buff = require('../util/buffer')(BUF_LENGTH) + + const fdr = fs.openSync(src, 'r') + const fdw = fs.openSync(dest, 'w', srcStat.mode) + let pos = 0 + + while (pos < srcStat.size) { + const bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) + fs.writeSync(fdw, _buff, 0, bytesRead) + pos += bytesRead + } + + if (opts.preserveTimestamps) fs.futimesSync(fdw, srcStat.atime, srcStat.mtime) + + fs.closeSync(fdr) + fs.closeSync(fdw) +} + +function onDir (srcStat, destStat, src, dest, opts) { + if (destStat === notExist) return mkDirAndCopy(srcStat, src, dest, opts) + if (destStat && !destStat.isDirectory()) { + throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`) + } + return copyDir(src, dest, opts) +} + +function mkDirAndCopy (srcStat, src, dest, opts) { + fs.mkdirSync(dest) + copyDir(src, dest, opts) + return fs.chmodSync(dest, srcStat.mode) +} + +function copyDir (src, dest, opts) { + fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts)) +} + +function copyDirItem (item, src, dest, opts) { + const srcItem = path.join(src, item) + const destItem = path.join(dest, item) + const destStat = checkPaths(srcItem, destItem) + return startCopy(destStat, srcItem, destItem, opts) +} + +function onLink (destStat, src, dest, opts) { + let resolvedSrc = fs.readlinkSync(src) + + if (opts.dereference) { + resolvedSrc = path.resolve(process.cwd(), resolvedSrc) + } + + if (destStat === notExist) { + return fs.symlinkSync(resolvedSrc, dest) + } else { + let resolvedDest + try { + resolvedDest = fs.readlinkSync(dest) + } catch (err) { + // dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest) + throw err + } + if (opts.dereference) { + resolvedDest = path.resolve(process.cwd(), resolvedDest) + } + if (isSrcSubdir(resolvedSrc, resolvedDest)) { + throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`) + } + + // prevent copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + if (fs.statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc)) { + throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`) + } + return copyLink(resolvedSrc, dest) + } +} + +function copyLink (resolvedSrc, dest) { + fs.unlinkSync(dest) + return fs.symlinkSync(resolvedSrc, dest) +} + +// return true if dest is a subdir of src, otherwise false. +function isSrcSubdir (src, dest) { + const srcArray = path.resolve(src).split(path.sep) + const destArray = path.resolve(dest).split(path.sep) + return srcArray.reduce((acc, current, i) => acc && destArray[i] === current, true) +} + +function checkStats (src, dest) { + const srcStat = fs.statSync(src) + let destStat + try { + destStat = fs.statSync(dest) + } catch (err) { + if (err.code === 'ENOENT') return {srcStat, destStat: notExist} + throw err + } + return {srcStat, destStat} +} + +function checkPaths (src, dest) { + const {srcStat, destStat} = checkStats(src, dest) + if (destStat.ino && destStat.ino === srcStat.ino) { + throw new Error('Source and destination must not be the same.') + } + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + throw new Error(`Cannot copy '${src}' to a subdirectory of itself, '${dest}'.`) } + return destStat } module.exports = copySync diff --git a/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/index.js b/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/index.js index ebc7e0b9..65945aed 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/copy-sync/index.js @@ -1,3 +1,5 @@ +'use strict' + module.exports = { copySync: require('./copy-sync') } diff --git a/build/js-transpiled/node_modules/fs-extra/lib/copy/copy.js b/build/js-transpiled/node_modules/fs-extra/lib/copy/copy.js index 309a93df..3dfbc540 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/copy/copy.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/copy/copy.js @@ -2,53 +2,245 @@ const fs = require('graceful-fs') const path = require('path') -const ncp = require('./ncp') -const mkdir = require('../mkdirs') +const mkdirp = require('../mkdirs').mkdirs const pathExists = require('../path-exists').pathExists +const utimes = require('../util/utimes').utimesMillis -function copy (src, dest, options, callback) { - if (typeof options === 'function' && !callback) { - callback = options - options = {} - } else if (typeof options === 'function' || options instanceof RegExp) { - options = {filter: options} +const notExist = Symbol('notExist') + +function copy (src, dest, opts, cb) { + if (typeof opts === 'function' && !cb) { + cb = opts + opts = {} + } else if (typeof opts === 'function') { + opts = {filter: opts} } - callback = callback || function () {} - options = options || {} - // Warn about using preserveTimestamps on 32-bit node: - if (options.preserveTimestamps && process.arch === 'ia32') { + cb = cb || function () {} + opts = opts || {} + + opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now + opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber + + // Warn about using preserveTimestamps on 32-bit node + if (opts.preserveTimestamps && process.arch === 'ia32') { console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n see https://github.com/jprichardson/node-fs-extra/issues/269`) } - // don't allow src and dest to be the same - const basePath = process.cwd() - const currentPath = path.resolve(basePath, src) - const targetPath = path.resolve(basePath, dest) - if (currentPath === targetPath) return callback(new Error('Source and destination must not be the same.')) + checkPaths(src, dest, (err, destStat) => { + if (err) return cb(err) + if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb) + return checkParentDir(destStat, src, dest, opts, cb) + }) +} - fs.lstat(src, (err, stats) => { - if (err) return callback(err) +function checkParentDir (destStat, src, dest, opts, cb) { + const destParent = path.dirname(dest) + pathExists(destParent, (err, dirExists) => { + if (err) return cb(err) + if (dirExists) return startCopy(destStat, src, dest, opts, cb) + mkdirp(destParent, err => { + if (err) return cb(err) + return startCopy(destStat, src, dest, opts, cb) + }) + }) +} - let dir = null - if (stats.isDirectory()) { - const parts = dest.split(path.sep) - parts.pop() - dir = parts.join(path.sep) - } else { - dir = path.dirname(dest) +function handleFilter (onInclude, destStat, src, dest, opts, cb) { + Promise.resolve(opts.filter(src, dest)).then(include => { + if (include) { + if (destStat) return onInclude(destStat, src, dest, opts, cb) + return onInclude(src, dest, opts, cb) + } + return cb() + }, error => cb(error)) +} + +function startCopy (destStat, src, dest, opts, cb) { + if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb) + return getStats(destStat, src, dest, opts, cb) +} + +function getStats (destStat, src, dest, opts, cb) { + const stat = opts.dereference ? fs.stat : fs.lstat + stat(src, (err, srcStat) => { + if (err) return cb(err) + + if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb) + else if (srcStat.isFile() || + srcStat.isCharacterDevice() || + srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb) + else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb) + }) +} + +function onFile (srcStat, destStat, src, dest, opts, cb) { + if (destStat === notExist) return copyFile(srcStat, src, dest, opts, cb) + return mayCopyFile(srcStat, src, dest, opts, cb) +} + +function mayCopyFile (srcStat, src, dest, opts, cb) { + if (opts.overwrite) { + fs.unlink(dest, err => { + if (err) return cb(err) + return copyFile(srcStat, src, dest, opts, cb) + }) + } else if (opts.errorOnExist) { + return cb(new Error(`'${dest}' already exists`)) + } else return cb() +} + +function copyFile (srcStat, src, dest, opts, cb) { + if (typeof fs.copyFile === 'function') { + return fs.copyFile(src, dest, err => { + if (err) return cb(err) + return setDestModeAndTimestamps(srcStat, dest, opts, cb) + }) + } + return copyFileFallback(srcStat, src, dest, opts, cb) +} + +function copyFileFallback (srcStat, src, dest, opts, cb) { + const rs = fs.createReadStream(src) + rs.on('error', err => cb(err)).once('open', () => { + const ws = fs.createWriteStream(dest, { mode: srcStat.mode }) + ws.on('error', err => cb(err)) + .on('open', () => rs.pipe(ws)) + .once('close', () => setDestModeAndTimestamps(srcStat, dest, opts, cb)) + }) +} + +function setDestModeAndTimestamps (srcStat, dest, opts, cb) { + fs.chmod(dest, srcStat.mode, err => { + if (err) return cb(err) + if (opts.preserveTimestamps) { + return utimes(dest, srcStat.atime, srcStat.mtime, cb) } + return cb() + }) +} - pathExists(dir, (err, dirExists) => { - if (err) return callback(err) - if (dirExists) return ncp(src, dest, options, callback) - mkdir.mkdirs(dir, err => { - if (err) return callback(err) - ncp(src, dest, options, callback) +function onDir (srcStat, destStat, src, dest, opts, cb) { + if (destStat === notExist) return mkDirAndCopy(srcStat, src, dest, opts, cb) + if (destStat && !destStat.isDirectory()) { + return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)) + } + return copyDir(src, dest, opts, cb) +} + +function mkDirAndCopy (srcStat, src, dest, opts, cb) { + fs.mkdir(dest, err => { + if (err) return cb(err) + copyDir(src, dest, opts, err => { + if (err) return cb(err) + return fs.chmod(dest, srcStat.mode, cb) + }) + }) +} + +function copyDir (src, dest, opts, cb) { + fs.readdir(src, (err, items) => { + if (err) return cb(err) + return copyDirItems(items, src, dest, opts, cb) + }) +} + +function copyDirItems (items, src, dest, opts, cb) { + const item = items.pop() + if (!item) return cb() + return copyDirItem(items, item, src, dest, opts, cb) +} + +function copyDirItem (items, item, src, dest, opts, cb) { + const srcItem = path.join(src, item) + const destItem = path.join(dest, item) + checkPaths(srcItem, destItem, (err, destStat) => { + if (err) return cb(err) + startCopy(destStat, srcItem, destItem, opts, err => { + if (err) return cb(err) + return copyDirItems(items, src, dest, opts, cb) + }) + }) +} + +function onLink (destStat, src, dest, opts, cb) { + fs.readlink(src, (err, resolvedSrc) => { + if (err) return cb(err) + + if (opts.dereference) { + resolvedSrc = path.resolve(process.cwd(), resolvedSrc) + } + + if (destStat === notExist) { + return fs.symlink(resolvedSrc, dest, cb) + } else { + fs.readlink(dest, (err, resolvedDest) => { + if (err) { + // dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb) + return cb(err) + } + if (opts.dereference) { + resolvedDest = path.resolve(process.cwd(), resolvedDest) + } + if (isSrcSubdir(resolvedSrc, resolvedDest)) { + return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)) + } + + // do not copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + if (destStat.isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc)) { + return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)) + } + return copyLink(resolvedSrc, dest, cb) }) + } + }) +} + +function copyLink (resolvedSrc, dest, cb) { + fs.unlink(dest, err => { + if (err) return cb(err) + return fs.symlink(resolvedSrc, dest, cb) + }) +} + +// return true if dest is a subdir of src, otherwise false. +function isSrcSubdir (src, dest) { + const srcArray = path.resolve(src).split(path.sep) + const destArray = path.resolve(dest).split(path.sep) + return srcArray.reduce((acc, current, i) => acc && destArray[i] === current, true) +} + +function checkStats (src, dest, cb) { + fs.stat(src, (err, srcStat) => { + if (err) return cb(err) + fs.stat(dest, (err, destStat) => { + if (err) { + if (err.code === 'ENOENT') return cb(null, {srcStat, destStat: notExist}) + return cb(err) + } + return cb(null, {srcStat, destStat}) }) }) } +function checkPaths (src, dest, cb) { + checkStats(src, dest, (err, stats) => { + if (err) return cb(err) + const {srcStat, destStat} = stats + if (destStat.ino && destStat.ino === srcStat.ino) { + return cb(new Error('Source and destination must not be the same.')) + } + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + return cb(new Error(`Cannot copy '${src}' to a subdirectory of itself, '${dest}'.`)) + } + return cb(null, destStat) + }) +} + module.exports = copy diff --git a/build/js-transpiled/node_modules/fs-extra/lib/copy/index.js b/build/js-transpiled/node_modules/fs-extra/lib/copy/index.js index a6a51da6..b7e4f7f8 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/copy/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/copy/index.js @@ -1,3 +1,5 @@ +'use strict' + const u = require('universalify').fromCallback module.exports = { copy: u(require('./copy')) diff --git a/build/js-transpiled/node_modules/fs-extra/lib/copy/ncp.js b/build/js-transpiled/node_modules/fs-extra/lib/copy/ncp.js deleted file mode 100644 index 9670ee02..00000000 --- a/build/js-transpiled/node_modules/fs-extra/lib/copy/ncp.js +++ /dev/null @@ -1,234 +0,0 @@ -// imported from ncp (this is temporary, will rewrite) - -var fs = require('graceful-fs') -var path = require('path') -var utimes = require('../util/utimes') - -function ncp (source, dest, options, callback) { - if (!callback) { - callback = options - options = {} - } - - var basePath = process.cwd() - var currentPath = path.resolve(basePath, source) - var targetPath = path.resolve(basePath, dest) - - var filter = options.filter - var transform = options.transform - var overwrite = options.overwrite - // If overwrite is undefined, use clobber, otherwise default to true: - if (overwrite === undefined) overwrite = options.clobber - if (overwrite === undefined) overwrite = true - var errorOnExist = options.errorOnExist - var dereference = options.dereference - var preserveTimestamps = options.preserveTimestamps === true - - var started = 0 - var finished = 0 - var running = 0 - - var errored = false - - startCopy(currentPath) - - function startCopy (source) { - started++ - if (filter) { - if (filter instanceof RegExp) { - console.warn('Warning: fs-extra: Passing a RegExp filter is deprecated, use a function') - if (!filter.test(source)) { - return doneOne(true) - } - } else if (typeof filter === 'function') { - if (!filter(source, dest)) { - return doneOne(true) - } - } - } - return getStats(source) - } - - function getStats (source) { - var stat = dereference ? fs.stat : fs.lstat - running++ - stat(source, function (err, stats) { - if (err) return onError(err) - - // We need to get the mode from the stats object and preserve it. - var item = { - name: source, - mode: stats.mode, - mtime: stats.mtime, // modified time - atime: stats.atime, // access time - stats: stats // temporary - } - - if (stats.isDirectory()) { - return onDir(item) - } else if (stats.isFile() || stats.isCharacterDevice() || stats.isBlockDevice()) { - return onFile(item) - } else if (stats.isSymbolicLink()) { - // Symlinks don't really need to know about the mode. - return onLink(source) - } - }) - } - - function onFile (file) { - var target = file.name.replace(currentPath, targetPath.replace('$', '$$$$')) // escapes '$' with '$$' - isWritable(target, function (writable) { - if (writable) { - copyFile(file, target) - } else { - if (overwrite) { - rmFile(target, function () { - copyFile(file, target) - }) - } else if (errorOnExist) { - onError(new Error(target + ' already exists')) - } else { - doneOne() - } - } - }) - } - - function copyFile (file, target) { - var readStream = fs.createReadStream(file.name) - var writeStream = fs.createWriteStream(target, { mode: file.mode }) - - readStream.on('error', onError) - writeStream.on('error', onError) - - if (transform) { - transform(readStream, writeStream, file) - } else { - writeStream.on('open', function () { - readStream.pipe(writeStream) - }) - } - - writeStream.once('close', function () { - fs.chmod(target, file.mode, function (err) { - if (err) return onError(err) - if (preserveTimestamps) { - utimes.utimesMillis(target, file.atime, file.mtime, function (err) { - if (err) return onError(err) - return doneOne() - }) - } else { - doneOne() - } - }) - }) - } - - function rmFile (file, done) { - fs.unlink(file, function (err) { - if (err) return onError(err) - return done() - }) - } - - function onDir (dir) { - var target = dir.name.replace(currentPath, targetPath.replace('$', '$$$$')) // escapes '$' with '$$' - isWritable(target, function (writable) { - if (writable) { - return mkDir(dir, target) - } - copyDir(dir.name) - }) - } - - function mkDir (dir, target) { - fs.mkdir(target, dir.mode, function (err) { - if (err) return onError(err) - // despite setting mode in fs.mkdir, doesn't seem to work - // so we set it here. - fs.chmod(target, dir.mode, function (err) { - if (err) return onError(err) - copyDir(dir.name) - }) - }) - } - - function copyDir (dir) { - fs.readdir(dir, function (err, items) { - if (err) return onError(err) - items.forEach(function (item) { - startCopy(path.join(dir, item)) - }) - return doneOne() - }) - } - - function onLink (link) { - var target = link.replace(currentPath, targetPath) - fs.readlink(link, function (err, resolvedPath) { - if (err) return onError(err) - checkLink(resolvedPath, target) - }) - } - - function checkLink (resolvedPath, target) { - if (dereference) { - resolvedPath = path.resolve(basePath, resolvedPath) - } - isWritable(target, function (writable) { - if (writable) { - return makeLink(resolvedPath, target) - } - fs.readlink(target, function (err, targetDest) { - if (err) return onError(err) - - if (dereference) { - targetDest = path.resolve(basePath, targetDest) - } - if (targetDest === resolvedPath) { - return doneOne() - } - return rmFile(target, function () { - makeLink(resolvedPath, target) - }) - }) - }) - } - - function makeLink (linkPath, target) { - fs.symlink(linkPath, target, function (err) { - if (err) return onError(err) - return doneOne() - }) - } - - function isWritable (path, done) { - fs.lstat(path, function (err) { - if (err) { - if (err.code === 'ENOENT') return done(true) - return done(false) - } - return done(false) - }) - } - - function onError (err) { - // ensure callback is defined & called only once: - if (!errored && callback !== undefined) { - errored = true - return callback(err) - } - } - - function doneOne (skipped) { - if (!skipped) running-- - finished++ - if ((started === finished) && (running === 0)) { - if (callback !== undefined) { - return callback(null) - } - } - } -} - -module.exports = ncp diff --git a/build/js-transpiled/node_modules/fs-extra/lib/ensure/file.js b/build/js-transpiled/node_modules/fs-extra/lib/ensure/file.js index 962c21cb..67eed301 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/ensure/file.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/ensure/file.js @@ -14,9 +14,8 @@ function createFile (file, callback) { }) } - pathExists(file, (err, fileExists) => { - if (err) return callback(err) - if (fileExists) return callback() + fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err + if (!err && stats.isFile()) return callback() const dir = path.dirname(file) pathExists(dir, (err, dirExists) => { if (err) return callback(err) @@ -30,7 +29,11 @@ function createFile (file, callback) { } function createFileSync (file) { - if (fs.existsSync(file)) return + let stats + try { + stats = fs.statSync(file) + } catch (e) {} + if (stats && stats.isFile()) return const dir = path.dirname(file) if (!fs.existsSync(dir)) { diff --git a/build/js-transpiled/node_modules/fs-extra/lib/ensure/link.js b/build/js-transpiled/node_modules/fs-extra/lib/ensure/link.js index 49fe3791..2cd41962 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/ensure/link.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/ensure/link.js @@ -17,7 +17,7 @@ function createLink (srcpath, dstpath, callback) { pathExists(dstpath, (err, destinationExists) => { if (err) return callback(err) if (destinationExists) return callback(null) - fs.lstat(srcpath, (err, stat) => { + fs.lstat(srcpath, (err) => { if (err) { err.message = err.message.replace('lstat', 'ensureLink') return callback(err) @@ -36,7 +36,7 @@ function createLink (srcpath, dstpath, callback) { }) } -function createLinkSync (srcpath, dstpath, callback) { +function createLinkSync (srcpath, dstpath) { const destinationExists = fs.existsSync(dstpath) if (destinationExists) return undefined diff --git a/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink-paths.js b/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink-paths.js index 4a6b78ab..24e7e1c6 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink-paths.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink-paths.js @@ -28,7 +28,7 @@ const pathExists = require('../path-exists').pathExists function symlinkPaths (srcpath, dstpath, callback) { if (path.isAbsolute(srcpath)) { - return fs.lstat(srcpath, (err, stat) => { + return fs.lstat(srcpath, (err) => { if (err) { err.message = err.message.replace('lstat', 'ensureSymlink') return callback(err) @@ -49,7 +49,7 @@ function symlinkPaths (srcpath, dstpath, callback) { 'toDst': srcpath }) } else { - return fs.lstat(srcpath, (err, stat) => { + return fs.lstat(srcpath, (err) => { if (err) { err.message = err.message.replace('lstat', 'ensureSymlink') return callback(err) diff --git a/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink.js b/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink.js index 847c1b9d..fe68b799 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/ensure/symlink.js @@ -43,10 +43,7 @@ function createSymlink (srcpath, dstpath, type, callback) { }) } -function createSymlinkSync (srcpath, dstpath, type, callback) { - callback = (typeof type === 'function') ? type : callback - type = (typeof type === 'function') ? false : type - +function createSymlinkSync (srcpath, dstpath, type) { const destinationExists = fs.existsSync(dstpath) if (destinationExists) return undefined diff --git a/build/js-transpiled/node_modules/fs-extra/lib/fs/index.js b/build/js-transpiled/node_modules/fs-extra/lib/fs/index.js index e20ae762..8ffdf7b0 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/fs/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/fs/index.js @@ -1,3 +1,4 @@ +'use strict' // This is adapted from https://github.com/normalize/mz // Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors const u = require('universalify').fromCallback @@ -9,6 +10,7 @@ const api = [ 'chmod', 'chown', 'close', + 'copyFile', 'fchmod', 'fchown', 'fdatasync', @@ -17,11 +19,12 @@ const api = [ 'ftruncate', 'futimes', 'lchown', + 'lchmod', 'link', 'lstat', 'mkdir', + 'mkdtemp', 'open', - 'read', 'readFile', 'readdir', 'readlink', @@ -33,14 +36,22 @@ const api = [ 'truncate', 'unlink', 'utimes', - 'write', 'writeFile' -] -// fs.mkdtemp() was added in Node.js v5.10.0, so check if it exists -typeof fs.mkdtemp === 'function' && api.push('mkdtemp') +].filter(key => { + // Some commands are not available on some systems. Ex: + // fs.copyFile was added in Node.js v8.5.0 + // fs.mkdtemp was added in Node.js v5.10.0 + // fs.lchown is not available on at least some Linux + return typeof fs[key] === 'function' +}) // Export all keys: Object.keys(fs).forEach(key => { + if (key === 'promises') { + // fs.promises is a getter property that triggers ExperimentalWarning + // Don't re-export it here, the getter is defined in "lib/index.js" + return + } exports[key] = fs[key] }) @@ -59,3 +70,35 @@ exports.exists = function (filename, callback) { return fs.exists(filename, resolve) }) } + +// fs.read() & fs.write need special treatment due to multiple callback args + +exports.read = function (fd, buffer, offset, length, position, callback) { + if (typeof callback === 'function') { + return fs.read(fd, buffer, offset, length, position, callback) + } + return new Promise((resolve, reject) => { + fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => { + if (err) return reject(err) + resolve({ bytesRead, buffer }) + }) + }) +} + +// Function signature can be +// fs.write(fd, buffer[, offset[, length[, position]]], callback) +// OR +// fs.write(fd, string[, position[, encoding]], callback) +// We need to handle both cases, so we use ...args +exports.write = function (fd, buffer, ...args) { + if (typeof args[args.length - 1] === 'function') { + return fs.write(fd, buffer, ...args) + } + + return new Promise((resolve, reject) => { + fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => { + if (err) return reject(err) + resolve({ bytesWritten, buffer }) + }) + }) +} diff --git a/build/js-transpiled/node_modules/fs-extra/lib/index.js b/build/js-transpiled/node_modules/fs-extra/lib/index.js index cb7dd9e6..40e37b18 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/index.js @@ -1,22 +1,28 @@ 'use strict' -const assign = require('./util/assign') +module.exports = Object.assign( + {}, + // Export promiseified graceful-fs: + require('./fs'), + // Export extra methods: + require('./copy-sync'), + require('./copy'), + require('./empty'), + require('./ensure'), + require('./json'), + require('./mkdirs'), + require('./move-sync'), + require('./move'), + require('./output'), + require('./path-exists'), + require('./remove') +) -const fs = {} - -// Export graceful-fs: -assign(fs, require('./fs')) -// Export extra methods: -assign(fs, require('./copy')) -assign(fs, require('./copy-sync')) -assign(fs, require('./mkdirs')) -assign(fs, require('./remove')) -assign(fs, require('./json')) -assign(fs, require('./move')) -assign(fs, require('./move-sync')) -assign(fs, require('./empty')) -assign(fs, require('./ensure')) -assign(fs, require('./output')) -assign(fs, require('./path-exists')) - -module.exports = fs +// Export fs.promises as a getter property so that we don't trigger +// ExperimentalWarning before fs.promises is actually accessed. +const fs = require('fs') +if (Object.getOwnPropertyDescriptor(fs, 'promises')) { + Object.defineProperty(module.exports, 'promises', { + get () { return fs.promises } + }) +} diff --git a/build/js-transpiled/node_modules/fs-extra/lib/json/index.js b/build/js-transpiled/node_modules/fs-extra/lib/json/index.js index 717d48f4..bae68d45 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/json/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/json/index.js @@ -3,11 +3,11 @@ const u = require('universalify').fromCallback const jsonFile = require('./jsonfile') -jsonFile.outputJsonSync = require('./output-json-sync') jsonFile.outputJson = u(require('./output-json')) +jsonFile.outputJsonSync = require('./output-json-sync') // aliases -jsonFile.outputJSONSync = jsonFile.outputJSONSync jsonFile.outputJSON = jsonFile.outputJson +jsonFile.outputJSONSync = jsonFile.outputJsonSync jsonFile.writeJSON = jsonFile.writeJson jsonFile.writeJSONSync = jsonFile.writeJsonSync jsonFile.readJSON = jsonFile.readJson diff --git a/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/index.js b/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/index.js index 29975c5b..d6e7e5bf 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/index.js @@ -4,8 +4,8 @@ const mkdirs = u(require('./mkdirs')) const mkdirsSync = require('./mkdirs-sync') module.exports = { - mkdirs: mkdirs, - mkdirsSync: mkdirsSync, + mkdirs, + mkdirsSync, // alias mkdirp: mkdirs, mkdirpSync: mkdirsSync, diff --git a/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js b/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js index a3ece406..a34acb99 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js @@ -31,25 +31,20 @@ function mkdirsSync (p, opts, made) { xfs.mkdirSync(p, mode) made = made || p } catch (err0) { - switch (err0.code) { - case 'ENOENT': - if (path.dirname(p) === p) throw err0 - made = mkdirsSync(path.dirname(p), opts, made) - mkdirsSync(p, opts, made) - break - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - let stat - try { - stat = xfs.statSync(p) - } catch (err1) { - throw err0 - } - if (!stat.isDirectory()) throw err0 - break + if (err0.code === 'ENOENT') { + if (path.dirname(p) === p) throw err0 + made = mkdirsSync(path.dirname(p), opts, made) + mkdirsSync(p, opts, made) + } else { + // In the case of any other error, just see if there's a dir there + // already. If so, then hooray! If not, then something is borked. + let stat + try { + stat = xfs.statSync(p) + } catch (err1) { + throw err0 + } + if (!stat.isDirectory()) throw err0 } } diff --git a/build/js-transpiled/node_modules/fs-extra/lib/move-sync/index.js b/build/js-transpiled/node_modules/fs-extra/lib/move-sync/index.js index a5e91146..6d4f56fa 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/move-sync/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/move-sync/index.js @@ -68,11 +68,10 @@ function moveFileSyncAcrossDevice (src, dest, overwrite) { const fdr = fs.openSync(src, 'r') const stat = fs.fstatSync(fdr) const fdw = fs.openSync(dest, flags, stat.mode) - let bytesRead = 1 let pos = 0 - while (bytesRead > 0) { - bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) + while (pos < stat.size) { + const bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) fs.writeSync(fdw, _buff, 0, bytesRead) pos += bytesRead } diff --git a/build/js-transpiled/node_modules/fs-extra/lib/move/index.js b/build/js-transpiled/node_modules/fs-extra/lib/move/index.js index e5eb2c10..68947f05 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/move/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/move/index.js @@ -1,160 +1,80 @@ 'use strict' -// most of this code was written by Andrew Kelley -// licensed under the BSD license: see -// https://github.com/andrewrk/node-mv/blob/master/package.json - -// this needs a cleanup - const u = require('universalify').fromCallback const fs = require('graceful-fs') -const ncp = require('../copy/ncp') const path = require('path') +const copy = require('../copy').copy const remove = require('../remove').remove -const mkdirp = require('../mkdirs').mkdirs - -function move (source, dest, options, callback) { - if (typeof options === 'function') { - callback = options - options = {} - } +const mkdirp = require('../mkdirs').mkdirp +const pathExists = require('../path-exists').pathExists - const shouldMkdirp = ('mkdirp' in options) ? options.mkdirp : true - const overwrite = options.overwrite || options.clobber || false - - if (shouldMkdirp) { - mkdirs() - } else { - doRename() - } - - function mkdirs () { - mkdirp(path.dirname(dest), err => { - if (err) return callback(err) - doRename() - }) +function move (src, dest, opts, cb) { + if (typeof opts === 'function') { + cb = opts + opts = {} } - function doRename () { - if (path.resolve(source) === path.resolve(dest)) { - fs.access(source, callback) - } else if (overwrite) { - fs.rename(source, dest, err => { - if (!err) return callback() - - if (err.code === 'ENOTEMPTY' || err.code === 'EEXIST') { - remove(dest, err => { - if (err) return callback(err) - options.overwrite = false // just overwriteed it, no need to do it again - move(source, dest, options, callback) - }) - return - } + const overwrite = opts.overwrite || opts.clobber || false - // weird Windows shit - if (err.code === 'EPERM') { - setTimeout(() => { - remove(dest, err => { - if (err) return callback(err) - options.overwrite = false - move(source, dest, options, callback) - }) - }, 200) - return - } + src = path.resolve(src) + dest = path.resolve(dest) - if (err.code !== 'EXDEV') return callback(err) - moveAcrossDevice(source, dest, overwrite, callback) - }) - } else { - fs.link(source, dest, err => { - if (err) { - if (err.code === 'EXDEV' || err.code === 'EISDIR' || err.code === 'EPERM' || err.code === 'ENOTSUP') { - moveAcrossDevice(source, dest, overwrite, callback) - return - } - callback(err) - return - } - fs.unlink(source, callback) - }) - } - } -} + if (src === dest) return fs.access(src, cb) -function moveAcrossDevice (source, dest, overwrite, callback) { - fs.stat(source, (err, stat) => { - if (err) { - callback(err) - return - } + fs.stat(src, (err, st) => { + if (err) return cb(err) - if (stat.isDirectory()) { - moveDirAcrossDevice(source, dest, overwrite, callback) - } else { - moveFileAcrossDevice(source, dest, overwrite, callback) + if (st.isDirectory() && isSrcSubdir(src, dest)) { + return cb(new Error(`Cannot move '${src}' to a subdirectory of itself, '${dest}'.`)) } + mkdirp(path.dirname(dest), err => { + if (err) return cb(err) + return doRename(src, dest, overwrite, cb) + }) }) } -function moveFileAcrossDevice (source, dest, overwrite, callback) { - const flags = overwrite ? 'w' : 'wx' - const ins = fs.createReadStream(source) - const outs = fs.createWriteStream(dest, { flags }) - - ins.on('error', err => { - ins.destroy() - outs.destroy() - outs.removeListener('close', onClose) - - // may want to create a directory but `out` line above - // creates an empty file for us: See #108 - // don't care about error here - fs.unlink(dest, () => { - // note: `err` here is from the input stream errror - if (err.code === 'EISDIR' || err.code === 'EPERM') { - moveDirAcrossDevice(source, dest, overwrite, callback) - } else { - callback(err) - } +function doRename (src, dest, overwrite, cb) { + if (overwrite) { + return remove(dest, err => { + if (err) return cb(err) + return rename(src, dest, overwrite, cb) }) + } + pathExists(dest, (err, destExists) => { + if (err) return cb(err) + if (destExists) return cb(new Error('dest already exists.')) + return rename(src, dest, overwrite, cb) }) +} - outs.on('error', err => { - ins.destroy() - outs.destroy() - outs.removeListener('close', onClose) - callback(err) +function rename (src, dest, overwrite, cb) { + fs.rename(src, dest, err => { + if (!err) return cb() + if (err.code !== 'EXDEV') return cb(err) + return moveAcrossDevice(src, dest, overwrite, cb) }) - - outs.once('close', onClose) - ins.pipe(outs) - - function onClose () { - fs.unlink(source, callback) - } } -function moveDirAcrossDevice (source, dest, overwrite, callback) { - const options = { - overwrite: false +function moveAcrossDevice (src, dest, overwrite, cb) { + const opts = { + overwrite, + errorOnExist: true } - if (overwrite) { - remove(dest, err => { - if (err) return callback(err) - startNcp() - }) - } else { - startNcp() - } + copy(src, dest, opts, err => { + if (err) return cb(err) + return remove(src, cb) + }) +} - function startNcp () { - ncp(source, dest, options, err => { - if (err) return callback(err) - remove(source, callback) - }) - } +function isSrcSubdir (src, dest) { + const srcArray = src.split(path.sep) + const destArray = dest.split(path.sep) + + return srcArray.reduce((acc, current, i) => { + return acc && destArray[i] === current + }, true) } module.exports = { diff --git a/build/js-transpiled/node_modules/fs-extra/lib/output/index.js b/build/js-transpiled/node_modules/fs-extra/lib/output/index.js index 53d59057..92297ca3 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/output/index.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/output/index.js @@ -25,13 +25,13 @@ function outputFile (file, data, encoding, callback) { }) } -function outputFileSync (file, data, encoding) { +function outputFileSync (file, ...args) { const dir = path.dirname(file) if (fs.existsSync(dir)) { - return fs.writeFileSync.apply(fs, arguments) + return fs.writeFileSync(file, ...args) } mkdir.mkdirsSync(dir) - fs.writeFileSync.apply(fs, arguments) + fs.writeFileSync(file, ...args) } module.exports = { diff --git a/build/js-transpiled/node_modules/fs-extra/lib/remove/rimraf.js b/build/js-transpiled/node_modules/fs-extra/lib/remove/rimraf.js index 28d4aeb0..c89c1c01 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/remove/rimraf.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/remove/rimraf.js @@ -33,19 +33,19 @@ function rimraf (p, options, cb) { } assert(p, 'rimraf: missing path') - assert.equal(typeof p, 'string', 'rimraf: path should be a string') - assert.equal(typeof cb, 'function', 'rimraf: callback function required') + assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string') + assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required') assert(options, 'rimraf: invalid options argument provided') - assert.equal(typeof options, 'object', 'rimraf: options should be object') + assert.strictEqual(typeof options, 'object', 'rimraf: options should be object') defaults(options) rimraf_(p, options, function CB (er) { if (er) { - if (isWindows && (er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') && + if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') && busyTries < options.maxBusyTries) { busyTries++ - let time = busyTries * 100 + const time = busyTries * 100 // try again, with the same exact callback as this one. return setTimeout(() => rimraf_(p, options, CB), time) } @@ -117,7 +117,7 @@ function fixWinEPERM (p, options, er, cb) { assert(er instanceof Error) } - options.chmod(p, 666, er2 => { + options.chmod(p, 0o666, er2 => { if (er2) { cb(er2.code === 'ENOENT' ? null : er) } else { @@ -144,7 +144,7 @@ function fixWinEPERMSync (p, options, er) { } try { - options.chmodSync(p, 666) + options.chmodSync(p, 0o666) } catch (er2) { if (er2.code === 'ENOENT') { return @@ -229,9 +229,9 @@ function rimrafSync (p, options) { defaults(options) assert(p, 'rimraf: missing path') - assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string') assert(options, 'rimraf: missing options') - assert.equal(typeof options, 'object', 'rimraf: options should be object') + assert.strictEqual(typeof options, 'object', 'rimraf: options should be object') try { st = options.lstatSync(p) @@ -289,7 +289,25 @@ function rmkidsSync (p, options) { assert(p) assert(options) options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options)) - options.rmdirSync(p, options) + + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + const retries = isWindows ? 100 : 1 + let i = 0 + do { + let threw = true + try { + const ret = options.rmdirSync(p, options) + threw = false + return ret + } finally { + if (++i < retries && threw) continue // eslint-disable-line + } + } while (true) } module.exports = rimraf diff --git a/build/js-transpiled/node_modules/fs-extra/lib/util/assign.js b/build/js-transpiled/node_modules/fs-extra/lib/util/assign.js deleted file mode 100644 index 317e5ec4..00000000 --- a/build/js-transpiled/node_modules/fs-extra/lib/util/assign.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict' - -// simple mutable assign -function assign () { - const args = [].slice.call(arguments).filter(i => i) - const dest = args.shift() - args.forEach(src => { - Object.keys(src).forEach(key => { - dest[key] = src[key] - }) - }) - - return dest -} - -module.exports = assign diff --git a/build/js-transpiled/node_modules/fs-extra/lib/util/buffer.js b/build/js-transpiled/node_modules/fs-extra/lib/util/buffer.js index 93af51b2..dabf2885 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/util/buffer.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/util/buffer.js @@ -1,3 +1,4 @@ +'use strict' /* eslint-disable node/no-deprecated-api */ module.exports = function (size) { if (typeof Buffer.allocUnsafe === 'function') { diff --git a/build/js-transpiled/node_modules/fs-extra/lib/util/utimes.js b/build/js-transpiled/node_modules/fs-extra/lib/util/utimes.js index 4c320993..8916a1b8 100644 --- a/build/js-transpiled/node_modules/fs-extra/lib/util/utimes.js +++ b/build/js-transpiled/node_modules/fs-extra/lib/util/utimes.js @@ -64,9 +64,16 @@ function utimesMillis (path, atime, mtime, callback) { }) } +function utimesMillisSync (path, atime, mtime) { + const fd = fs.openSync(path, 'r+') + fs.futimesSync(fd, atime, mtime) + return fs.closeSync(fd) +} + module.exports = { hasMillisRes, hasMillisResSync, timeRemoveMillis, - utimesMillis + utimesMillis, + utimesMillisSync } diff --git a/build/js-transpiled/node_modules/fs-extra/package.json b/build/js-transpiled/node_modules/fs-extra/package.json index d0d94b8d..57d3d192 100644 --- a/build/js-transpiled/node_modules/fs-extra/package.json +++ b/build/js-transpiled/node_modules/fs-extra/package.json @@ -1,27 +1,27 @@ { - "_from": "fs-extra@3.0.1", - "_id": "fs-extra@3.0.1", + "_from": "fs-extra@7.0.0", + "_id": "fs-extra@7.0.0", "_inBundle": false, - "_integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "_integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", "_location": "/fs-extra", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "fs-extra@3.0.1", + "raw": "fs-extra@7.0.0", "name": "fs-extra", "escapedName": "fs-extra", - "rawSpec": "3.0.1", + "rawSpec": "7.0.0", "saveSpec": null, - "fetchSpec": "3.0.1" + "fetchSpec": "7.0.0" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "_shasum": "3794f378c58b342ea7dbbb23095109c4b3b62291", - "_spec": "fs-extra@3.0.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "_shasum": "8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6", + "_spec": "fs-extra@7.0.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "JP Richardson", "email": "jprichardson@gmail.com" @@ -32,24 +32,28 @@ "bundleDependencies": false, "dependencies": { "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", + "jsonfile": "^4.0.0", "universalify": "^0.1.0" }, "deprecated": false, "description": "fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.", "devDependencies": { - "coveralls": "^2.11.2", + "coveralls": "^3.0.0", "istanbul": "^0.4.5", - "klaw": "^1.0.0", - "klaw-sync": "^1.1.2", + "klaw": "^2.1.1", + "klaw-sync": "^3.0.2", "minimist": "^1.1.1", - "mocha": "^3.1.2", - "proxyquire": "^1.7.10", + "mocha": "^5.0.5", + "proxyquire": "^2.0.1", "read-dir-files": "^0.1.1", "rimraf": "^2.2.8", "secure-random": "^1.1.1", - "standard": "^10.0.2", - "standard-markdown": "^2.3.0" + "semver": "^5.3.0", + "standard": "^11.0.1", + "standard-markdown": "^4.0.1" + }, + "engines": { + "node": ">=6 <7 || >=8" }, "homepage": "https://github.com/jprichardson/node-fs-extra", "keywords": [ @@ -76,7 +80,7 @@ "move" ], "license": "MIT", - "main": "./lib/index", + "main": "./lib/index.js", "name": "fs-extra", "repository": { "type": "git", @@ -84,11 +88,12 @@ }, "scripts": { "coverage": "istanbul cover -i 'lib/**' -x '**/__tests__/**' test.js", - "coveralls": "npm run coverage && coveralls < coverage/lcov.info", + "coveralls": "coveralls < coverage/lcov.info", + "full-ci": "npm run lint && npm run coverage", "lint": "standard && standard-markdown", "test": "npm run lint && npm run unit", "test-find": "find ./lib/**/__tests__ -name *.test.js | xargs mocha", "unit": "node test.js" }, - "version": "3.0.1" + "version": "7.0.0" } diff --git a/build/js-transpiled/node_modules/graceful-fs/package.json b/build/js-transpiled/node_modules/graceful-fs/package.json index 9e1db574..0cffe376 100644 --- a/build/js-transpiled/node_modules/graceful-fs/package.json +++ b/build/js-transpiled/node_modules/graceful-fs/package.json @@ -22,7 +22,7 @@ "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "_shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658", "_spec": "graceful-fs@^4.1.2", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/fs-extra", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/fs-extra", "bugs": { "url": "https://github.com/isaacs/node-graceful-fs/issues" }, diff --git a/build/js-transpiled/node_modules/ini/ini.js b/build/js-transpiled/node_modules/ini/ini.js index ddf5bd9c..590195dd 100644 --- a/build/js-transpiled/node_modules/ini/ini.js +++ b/build/js-transpiled/node_modules/ini/ini.js @@ -1,17 +1,18 @@ - exports.parse = exports.decode = decode + exports.stringify = exports.encode = encode exports.safe = safe exports.unsafe = unsafe -var eol = process.platform === "win32" ? "\r\n" : "\n" +var eol = typeof process !== 'undefined' && + process.platform === 'win32' ? '\r\n' : '\n' function encode (obj, opt) { var children = [] - , out = "" + var out = '' - if (typeof opt === "string") { + if (typeof opt === 'string') { opt = { section: opt, whitespace: false @@ -21,16 +22,15 @@ function encode (obj, opt) { opt.whitespace = opt.whitespace === true } - var separator = opt.whitespace ? " = " : "=" + var separator = opt.whitespace ? ' = ' : '=' Object.keys(obj).forEach(function (k, _, __) { var val = obj[k] if (val && Array.isArray(val)) { - val.forEach(function(item) { - out += safe(k + "[]") + separator + safe(item) + "\n" - }) - } - else if (val && typeof val === "object") { + val.forEach(function (item) { + out += safe(k + '[]') + separator + safe(item) + '\n' + }) + } else if (val && typeof val === 'object') { children.push(k) } else { out += safe(k) + separator + safe(val) + eol @@ -38,12 +38,12 @@ function encode (obj, opt) { }) if (opt.section && out.length) { - out = "[" + safe(opt.section) + "]" + eol + out + out = '[' + safe(opt.section) + ']' + eol + out } children.forEach(function (k, _, __) { var nk = dotSplit(k).join('\\.') - var section = (opt.section ? opt.section + "." : "") + nk + var section = (opt.section ? opt.section + '.' : '') + nk var child = encode(obj[k], { section: section, whitespace: opt.whitespace @@ -59,22 +59,20 @@ function encode (obj, opt) { function dotSplit (str) { return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002') - .replace(/\\\./g, '\u0001') - .split(/\./).map(function (part) { - return part.replace(/\1/g, '\\.') - .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001') - }) + .replace(/\\\./g, '\u0001') + .split(/\./).map(function (part) { + return part.replace(/\1/g, '\\.') + .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001') + }) } function decode (str) { var out = {} - , p = out - , section = null - , state = "START" - // section |key = value - , re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i - , lines = str.split(/[\r\n]+/g) - , section = null + var p = out + var section = null + // section |key = value + var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i + var lines = str.split(/[\r\n]+/g) lines.forEach(function (line, _, __) { if (!line || line.match(/^\s*[;#]/)) return @@ -86,7 +84,7 @@ function decode (str) { return } var key = unsafe(match[2]) - , value = match[3] ? unsafe((match[4] || "")) : true + var value = match[3] ? unsafe(match[4]) : true switch (value) { case 'true': case 'false': @@ -94,22 +92,20 @@ function decode (str) { } // Convert keys with '[]' suffix to an array - if (key.length > 2 && key.slice(-2) === "[]") { - key = key.substring(0, key.length - 2) - if (!p[key]) { - p[key] = [] - } - else if (!Array.isArray(p[key])) { - p[key] = [p[key]] - } + if (key.length > 2 && key.slice(-2) === '[]') { + key = key.substring(0, key.length - 2) + if (!p[key]) { + p[key] = [] + } else if (!Array.isArray(p[key])) { + p[key] = [p[key]] + } } // safeguard against resetting a previously defined // array by accidentally forgetting the brackets if (Array.isArray(p[key])) { p[key].push(value) - } - else { + } else { p[key] = value } }) @@ -117,18 +113,24 @@ function decode (str) { // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}} // use a filter to return the keys that have to be deleted. Object.keys(out).filter(function (k, _, __) { - if (!out[k] || typeof out[k] !== "object" || Array.isArray(out[k])) return false + if (!out[k] || + typeof out[k] !== 'object' || + Array.isArray(out[k])) { + return false + } // see if the parent section is also an object. // if so, add it to that, and mark this one for deletion var parts = dotSplit(k) - , p = out - , l = parts.pop() - , nl = l.replace(/\\\./g, '.') + var p = out + var l = parts.pop() + var nl = l.replace(/\\\./g, '.') parts.forEach(function (part, _, __) { - if (!p[part] || typeof p[part] !== "object") p[part] = {} + if (!p[part] || typeof p[part] !== 'object') p[part] = {} p = p[part] }) - if (p === out && nl === l) return false + if (p === out && nl === l) { + return false + } p[nl] = out[k] return true }).forEach(function (del, _, __) { @@ -139,52 +141,54 @@ function decode (str) { } function isQuoted (val) { - return (val.charAt(0) === "\"" && val.slice(-1) === "\"") - || (val.charAt(0) === "'" && val.slice(-1) === "'") + return (val.charAt(0) === '"' && val.slice(-1) === '"') || + (val.charAt(0) === "'" && val.slice(-1) === "'") } function safe (val) { - return ( typeof val !== "string" - || val.match(/[=\r\n]/) - || val.match(/^\[/) - || (val.length > 1 - && isQuoted(val)) - || val !== val.trim() ) - ? JSON.stringify(val) - : val.replace(/;/g, '\\;').replace(/#/g, "\\#") + return (typeof val !== 'string' || + val.match(/[=\r\n]/) || + val.match(/^\[/) || + (val.length > 1 && + isQuoted(val)) || + val !== val.trim()) + ? JSON.stringify(val) + : val.replace(/;/g, '\\;').replace(/#/g, '\\#') } function unsafe (val, doUnesc) { - val = (val || "").trim() + val = (val || '').trim() if (isQuoted(val)) { // remove the single quotes before calling JSON.parse if (val.charAt(0) === "'") { - val = val.substr(1, val.length - 2); + val = val.substr(1, val.length - 2) } try { val = JSON.parse(val) } catch (_) {} } else { // walk the val to find the first not-escaped ; character var esc = false - var unesc = ""; + var unesc = '' for (var i = 0, l = val.length; i < l; i++) { var c = val.charAt(i) if (esc) { - if ("\\;#".indexOf(c) !== -1) + if ('\\;#'.indexOf(c) !== -1) { unesc += c - else - unesc += "\\" + c + } else { + unesc += '\\' + c + } esc = false - } else if (";#".indexOf(c) !== -1) { + } else if (';#'.indexOf(c) !== -1) { break - } else if (c === "\\") { + } else if (c === '\\') { esc = true } else { unesc += c } } - if (esc) - unesc += "\\" - return unesc + if (esc) { + unesc += '\\' + } + return unesc.trim() } return val } diff --git a/build/js-transpiled/node_modules/ini/package.json b/build/js-transpiled/node_modules/ini/package.json index bcdab32e..72d490c6 100644 --- a/build/js-transpiled/node_modules/ini/package.json +++ b/build/js-transpiled/node_modules/ini/package.json @@ -1,8 +1,8 @@ { "_from": "ini@^1.3.4", - "_id": "ini@1.3.4", + "_id": "ini@1.3.5", "_inBundle": false, - "_integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "_integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "_location": "/ini", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/config-chain" ], - "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "_shasum": "0537cb79daf59b59a1a517dff706c86ec039162e", + "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "_shasum": "eee25f56db1c9ec6085e0c22778083f596abf927", "_spec": "ini@^1.3.4", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/config-chain", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/config-chain", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -35,7 +35,8 @@ "deprecated": false, "description": "An ini encoder/decoder for node", "devDependencies": { - "tap": "^1.2.0" + "standard": "^10.0.3", + "tap": "^10.7.3 || 11" }, "engines": { "node": "*" @@ -52,7 +53,11 @@ "url": "git://github.com/isaacs/ini.git" }, "scripts": { - "test": "tap test/*.js" + "postpublish": "git push origin --all; git push origin --tags", + "postversion": "npm publish", + "pretest": "standard ini.js", + "preversion": "npm test", + "test": "tap test/*.js --100 -J" }, - "version": "1.3.4" + "version": "1.3.5" } diff --git a/build/js-transpiled/node_modules/is-extglob/package.json b/build/js-transpiled/node_modules/is-extglob/package.json index 9d3417dd..dbf44f77 100644 --- a/build/js-transpiled/node_modules/is-extglob/package.json +++ b/build/js-transpiled/node_modules/is-extglob/package.json @@ -1,5 +1,5 @@ { - "_from": "is-extglob@^2.1.0", + "_from": "is-extglob@^2.1.1", "_id": "is-extglob@2.1.1", "_inBundle": false, "_integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", @@ -8,20 +8,20 @@ "_requested": { "type": "range", "registry": true, - "raw": "is-extglob@^2.1.0", + "raw": "is-extglob@^2.1.1", "name": "is-extglob", "escapedName": "is-extglob", - "rawSpec": "^2.1.0", + "rawSpec": "^2.1.1", "saveSpec": null, - "fetchSpec": "^2.1.0" + "fetchSpec": "^2.1.1" }, "_requiredBy": [ "/is-glob" ], "_resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "_shasum": "a88c02535791f02ed37c76a1b9ea9773c833f8c2", - "_spec": "is-extglob@^2.1.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/is-glob", + "_spec": "is-extglob@^2.1.1", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/is-glob", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/build/js-transpiled/node_modules/is-glob/LICENSE b/build/js-transpiled/node_modules/is-glob/LICENSE index 39245ac1..3f2eca18 100644 --- a/build/js-transpiled/node_modules/is-glob/LICENSE +++ b/build/js-transpiled/node_modules/is-glob/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2014-2017, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/build/js-transpiled/node_modules/is-glob/README.md b/build/js-transpiled/node_modules/is-glob/README.md index 6f4404fe..7c252291 100644 --- a/build/js-transpiled/node_modules/is-glob/README.md +++ b/build/js-transpiled/node_modules/is-glob/README.md @@ -1,4 +1,4 @@ -# is-glob [![NPM version](https://img.shields.io/npm/v/is-glob.svg?style=flat)](https://www.npmjs.com/package/is-glob) [![NPM downloads](https://img.shields.io/npm/dm/is-glob.svg?style=flat)](https://npmjs.org/package/is-glob) [![Build Status](https://img.shields.io/travis/jonschlinkert/is-glob.svg?style=flat)](https://travis-ci.org/jonschlinkert/is-glob) +# is-glob [![NPM version](https://img.shields.io/npm/v/is-glob.svg?style=flat)](https://www.npmjs.com/package/is-glob) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-glob.svg?style=flat)](https://npmjs.org/package/is-glob) [![NPM total downloads](https://img.shields.io/npm/dt/is-glob.svg?style=flat)](https://npmjs.org/package/is-glob) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-glob.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-glob) [![Windows Build Status](https://img.shields.io/appveyor/ci/jonschlinkert/is-glob.svg?style=flat&label=AppVeyor)](https://ci.appveyor.com/project/jonschlinkert/is-glob) > Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience. @@ -18,6 +18,8 @@ You might also be interested in [is-valid-glob](https://github.com/jonschlinkert var isGlob = require('is-glob'); ``` +### Default behavior + **True** Patterns that have glob characters or regex patterns will return `true`: @@ -30,7 +32,6 @@ isGlob('abc/*.js'); isGlob('abc/(aaa|bbb).js'); isGlob('abc/[a-z].js'); isGlob('abc/{a,b}.js'); -isGlob('abc/?.js'); //=> true ``` @@ -62,7 +63,6 @@ isGlob('abc/\\*.js'); isGlob('abc/\\(aaa|bbb).js'); isGlob('abc/\\[a-z].js'); isGlob('abc/\\{a,b}.js'); -isGlob('abc/\\?.js'); //=> false ``` @@ -74,6 +74,7 @@ isGlob('abc/def/ghi.js'); isGlob('foo.js'); isGlob('abc/@.js'); isGlob('abc/+.js'); +isGlob('abc/?.js'); isGlob(); isGlob(null); //=> false @@ -87,12 +88,58 @@ isGlob(['foo.js']); //=> false ``` +### Option strict + +When `options.strict === false` the behavior is less strict in determining if a pattern is a glob. Meaning that +some patterns that would return `false` may return `true`. This is done so that matching libraries like [micromatch](https://github.com/micromatch/micromatch) have a chance at determining if the pattern is a glob or not. + +**True** + +Patterns that have glob characters or regex patterns will return `true`: + +```js +isGlob('!foo.js', {strict: false}); +isGlob('*.js', {strict: false}); +isGlob('**/abc.js', {strict: false}); +isGlob('abc/*.js', {strict: false}); +isGlob('abc/(aaa|bbb).js', {strict: false}); +isGlob('abc/[a-z].js', {strict: false}); +isGlob('abc/{a,b}.js', {strict: false}); +//=> true +``` + +Extglobs + +```js +isGlob('abc/@(a).js', {strict: false}); +isGlob('abc/!(a).js', {strict: false}); +isGlob('abc/+(a).js', {strict: false}); +isGlob('abc/*(a).js', {strict: false}); +isGlob('abc/?(a).js', {strict: false}); +//=> true +``` + +**False** + +Escaped globs or extglobs return `false`: + +```js +isGlob('\\!foo.js', {strict: false}); +isGlob('\\*.js', {strict: false}); +isGlob('\\*\\*/abc.js', {strict: false}); +isGlob('abc/\\*.js', {strict: false}); +isGlob('abc/\\(aaa|bbb).js', {strict: false}); +isGlob('abc/\\[a-z].js', {strict: false}); +isGlob('abc/\\{a,b}.js', {strict: false}); +//=> false +``` + ## About ### Related projects * [assemble](https://www.npmjs.com/package/assemble): Get the rocks out of your socks! Assemble makes you fast at creating web projects… [more](https://github.com/assemble/assemble) | [homepage](https://github.com/assemble/assemble "Get the rocks out of your socks! Assemble makes you fast at creating web projects. Assemble is used by thousands of projects for rapid prototyping, creating themes, scaffolds, boilerplates, e-books, UI components, API documentation, blogs, building websit") -* [base](https://www.npmjs.com/package/base): base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… [more](https://github.com/node-base/base) | [homepage](https://github.com/node-base/base "base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.") +* [base](https://www.npmjs.com/package/base): Framework for rapidly creating high quality node.js applications, using plugins like building blocks | [homepage](https://github.com/node-base/base "Framework for rapidly creating high quality node.js applications, using plugins like building blocks") * [update](https://www.npmjs.com/package/update): Be scalable! Update is a new, open source developer framework and CLI for automating updates… [more](https://github.com/update/update) | [homepage](https://github.com/update/update "Be scalable! Update is a new, open source developer framework and CLI for automating updates of any kind in code projects.") * [verb](https://www.npmjs.com/package/verb): Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used… [more](https://github.com/verbose/verb) | [homepage](https://github.com/verbose/verb "Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used on hundreds of projects of all sizes to generate everything from API docs to readmes.") @@ -102,27 +149,28 @@ Pull requests and stars are always welcome. For bugs and feature requests, [plea ### Contributors -| **Commits** | **Contributor**
| -| --- | --- | -| 40 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [tuvistavie](https://github.com/tuvistavie) | +| **Commits** | **Contributor** | +| --- | --- | +| 47 | [jonschlinkert](https://github.com/jonschlinkert) | +| 1 | [doowb](https://github.com/doowb) | +| 1 | [tuvistavie](https://github.com/tuvistavie) | ### Building docs -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): +To generate the readme, run the following command: ```sh -$ npm install -g verb verb-generate-readme && verb +$ npm install -g verbose/verb#dev verb-generate-readme && verb ``` ### Running tests -Install dev dependencies: +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: ```sh -$ npm install -d && npm test +$ npm install && npm test ``` ### Author @@ -130,13 +178,13 @@ $ npm install -d && npm test **Jon Schlinkert** * [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) +* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) ### License -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/is-glob/blob/master/LICENSE). +Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). *** -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 12, 2016._ \ No newline at end of file +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on August 07, 2017._ \ No newline at end of file diff --git a/build/js-transpiled/node_modules/is-glob/index.js b/build/js-transpiled/node_modules/is-glob/index.js index 2ecbe2a7..711b8b25 100644 --- a/build/js-transpiled/node_modules/is-glob/index.js +++ b/build/js-transpiled/node_modules/is-glob/index.js @@ -1,25 +1,46 @@ /*! * is-glob * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. */ var isExtglob = require('is-extglob'); +var chars = { '{': '}', '(': ')', '[': ']'}; -module.exports = function isGlob(str) { +module.exports = function isGlob(str, options) { if (typeof str !== 'string' || str === '') { return false; } - if (isExtglob(str)) return true; + if (isExtglob(str)) { + return true; + } - var regex = /(\\).|([*?]|\[.*\]|\{.*\}|\(.*\|.*\)|^!)/; + var regex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; var match; + // optionally relax regex + if (options && options.strict === false) { + regex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; + } + while ((match = regex.exec(str))) { if (match[2]) return true; - str = str.slice(match.index + match[0].length); + var idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + var open = match[1]; + var close = open ? chars[open] : null; + if (open && close) { + var n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); } return false; }; diff --git a/build/js-transpiled/node_modules/is-glob/package.json b/build/js-transpiled/node_modules/is-glob/package.json index 564ef3d1..e71e460f 100644 --- a/build/js-transpiled/node_modules/is-glob/package.json +++ b/build/js-transpiled/node_modules/is-glob/package.json @@ -1,27 +1,27 @@ { - "_from": "is-glob@3.1.0", - "_id": "is-glob@3.1.0", + "_from": "is-glob@4.0.0", + "_id": "is-glob@4.0.0", "_inBundle": false, - "_integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "_integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "_location": "/is-glob", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "is-glob@3.1.0", + "raw": "is-glob@4.0.0", "name": "is-glob", "escapedName": "is-glob", - "rawSpec": "3.1.0", + "rawSpec": "4.0.0", "saveSpec": null, - "fetchSpec": "3.1.0" + "fetchSpec": "4.0.0" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "_shasum": "7ba5ae24217804ac70707b96922567486cc3e84a", - "_spec": "is-glob@3.1.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "_shasum": "9521c76845cc2610a85203ddf080a958c2ffabc0", + "_spec": "is-glob@4.0.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" @@ -31,19 +31,21 @@ }, "bundleDependencies": false, "contributors": [ + { + "name": "Brian Woodward", + "url": "https://twitter.com/doowb" + }, { "name": "Daniel Perez", - "email": "daniel@claudetech.com", - "url": "http://tuvistavie.com" + "url": "https://tuvistavie.com" }, { "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", "url": "http://twitter.com/jonschlinkert" } ], "dependencies": { - "is-extglob": "^2.1.0" + "is-extglob": "^2.1.1" }, "deprecated": false, "description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.", @@ -115,5 +117,5 @@ "vinyl" ] }, - "version": "3.1.0" + "version": "4.0.0" } diff --git a/build/js-transpiled/node_modules/js-beautify/.codeclimate.yml b/build/js-transpiled/node_modules/js-beautify/.codeclimate.yml deleted file mode 100644 index fcf2f5a1..00000000 --- a/build/js-transpiled/node_modules/js-beautify/.codeclimate.yml +++ /dev/null @@ -1,13 +0,0 @@ -engines: - eslint: - enabled: true - pep8: - enabled: true -ratings: - paths: - - "**.js" - - "**.py" -exclude_paths: -- test/resources/** -- web/third-party/** -- "**/generated/*" diff --git a/build/js-transpiled/node_modules/js-beautify/.jshintignore b/build/js-transpiled/node_modules/js-beautify/.jshintignore deleted file mode 100644 index b779855f..00000000 --- a/build/js-transpiled/node_modules/js-beautify/.jshintignore +++ /dev/null @@ -1,9 +0,0 @@ -js/bin/** -js/test/resources/** -node_modules/** -python/** -target/** -tools/** -test/resources/underscore-min.js -test/resources/underscore.js -web/third-party/** diff --git a/build/js-transpiled/node_modules/js-beautify/.jshintrc b/build/js-transpiled/node_modules/js-beautify/.jshintrc deleted file mode 100644 index e4474dff..00000000 --- a/build/js-transpiled/node_modules/js-beautify/.jshintrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bitwise": true, - "curly": true, - "eqeqeq": true, - "noarg": true, - "nocomma": true, - "nonbsp": true, - "nonew": true, - "unused": true -} diff --git a/build/js-transpiled/node_modules/js-beautify/.npmignore b/build/js-transpiled/node_modules/js-beautify/.npmignore deleted file mode 100644 index f0134a3b..00000000 --- a/build/js-transpiled/node_modules/js-beautify/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -Makefile -index.html -php/ -python/ -web/ diff --git a/build/js-transpiled/node_modules/js-beautify/.travis.yml b/build/js-transpiled/node_modules/js-beautify/.travis.yml deleted file mode 100644 index fe291502..00000000 --- a/build/js-transpiled/node_modules/js-beautify/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: python -python: - - "2.7" - - "3.2" - - "3.3" - - "3.4" - - "3.5" - -node_js: - - "0.10" - - - -script: "./build ci" diff --git a/build/js-transpiled/node_modules/js-beautify/CHANGELOG.md b/build/js-transpiled/node_modules/js-beautify/CHANGELOG.md index 61fb8e82..8215eab0 100644 --- a/build/js-transpiled/node_modules/js-beautify/CHANGELOG.md +++ b/build/js-transpiled/node_modules/js-beautify/CHANGELOG.md @@ -1,4 +1,177 @@ # Changelog +## v1.8.8 + +### Description + + +### Closed Issues +* async function in object wrong indentation ([#1573](https://github.com/beautify-web/js-beautify/issues/1573)) + + +## v1.8.7 + +### Description + + +### Closed Issues +* Add tests for html `indent_scripts` option ([#1518](https://github.com/beautify-web/js-beautify/issues/1518)) +* Support dynamic import ([#1197](https://github.com/beautify-web/js-beautify/issues/1197)) +* HTML: add an option to preserve manual wrapping of attributes ([#1125](https://github.com/beautify-web/js-beautify/issues/1125)) +* js-beautify adds a space between # and include ([#1114](https://github.com/beautify-web/js-beautify/issues/1114)) +* space_after_anon_function doesn't work with anon async functions ([#1034](https://github.com/beautify-web/js-beautify/issues/1034)) +* Space before function arguments (space-after-function) ([#608](https://github.com/beautify-web/js-beautify/issues/608)) + + +## v1.8.6 + +### Description +Beautifier has moved to https://beautifier.io + +### Closed Issues +* JS beautify break the angular compile ([#1544](https://github.com/beautify-web/js-beautify/issues/1544)) +* base64 string is broken with v1.8.4 ([#1535](https://github.com/beautify-web/js-beautify/issues/1535)) +* Bookmarklet becomes totally useless ([#1408](https://github.com/beautify-web/js-beautify/issues/1408)) +* HTTPS ([#1399](https://github.com/beautify-web/js-beautify/issues/1399)) +* Beautify breaks when js starts with space followed by multi-line comment ([#789](https://github.com/beautify-web/js-beautify/issues/789)) + + +## v1.8.4 + +### Description +Broader adoption of 1.8.x revealed a few more high priority fixes + + +### Closed Issues +* Multiple newlines added between empty textarea and "unformatted" inline elements ([#1534](https://github.com/beautify-web/js-beautify/issues/1534)) +* unindent_chained_methods broken ([#1533](https://github.com/beautify-web/js-beautify/issues/1533)) + + +## v1.8.1 + +### Description + + +### Closed Issues +* Why npm is a dependency? ([#1516](https://github.com/beautify-web/js-beautify/issues/1516)) +* indent_inner_html not working in v1.8.0 ([#1514](https://github.com/beautify-web/js-beautify/issues/1514)) + + +## v1.8.0 + +### Description +Massive set of fixes and improvements. + +Thanks to contributors: @cheerypick, @swan46, @MacKLess, @Elrendio, @madman-bob, @amanda-bot, @Hirse, @aeschli, and many more. + +Special thanks to @astronomersiva and @garretwilson for finding key bugs in the RC releases, +and to @MacKLess for driving down the open bug count with tons of regression tests. + +Highlights: + +* CSS: `newline_between_rules` support for nested rules - CSS/SASS/SCSS/LESS (@MacKLess) +* CSS: @import support in CSS (@MacKLess) +* HTML: inline element support (@madman-bob) +* HTML: `wrap_attributes` setting `align-multiple` (@cheerypick) +* HTML: optional close tags do not over indent - li, tr, etc. +* HTML: Improved line wrapping in HTML - still not fully correct +* HTML: 10x performance improvement in HTML beautifier +* JS: ES6 BigInt support (@thejoshwolfe) +* JS: ES6 Dynamic import support +* CSS: :hover for @extend formatting (@MacKLess) +* HTML: Incorrect line wrapping issue (@andreyvolokitin) +* JS: Javascript ++ Operator Indentation (@Elrendio) +* JS: Better packer handling in Python (@swan46) + + + + + +### Closed Issues +* list items of nested lists get indented backwards ([#1501](https://github.com/beautify-web/js-beautify/issues/1501)) +* Make beautifier auto-convert options with dashes into underscores ([#1497](https://github.com/beautify-web/js-beautify/issues/1497)) +* ReferenceError: token is not defined ([#1496](https://github.com/beautify-web/js-beautify/issues/1496)) +* Publish v1.8.0 ([#1495](https://github.com/beautify-web/js-beautify/issues/1495)) +* still probem #1439 / #1337 ([#1491](https://github.com/beautify-web/js-beautify/issues/1491)) +* Duplicating HTML Code Nested In PHP ([#1483](https://github.com/beautify-web/js-beautify/issues/1483)) +* Handlebars - `if` tags are broken when using helper with `textarea` ([#1482](https://github.com/beautify-web/js-beautify/issues/1482)) +* TypeError: Cannot read property '1' of null ([#1481](https://github.com/beautify-web/js-beautify/issues/1481)) +* Space in Self Closing Tag Issue ([#1478](https://github.com/beautify-web/js-beautify/issues/1478)) +* Weird Formatting in VSCode ([#1475](https://github.com/beautify-web/js-beautify/issues/1475)) +* Indent with tab issue on website ([#1470](https://github.com/beautify-web/js-beautify/issues/1470)) +* Contents of hbs tags are converted to lowercase ([#1464](https://github.com/beautify-web/js-beautify/issues/1464)) +* HTML tags are indented wrongly when attributes are present ([#1462](https://github.com/beautify-web/js-beautify/issues/1462)) +* hbs tags are stripped when there is a comment below or inline ([#1461](https://github.com/beautify-web/js-beautify/issues/1461)) +* Spaces added to handlebars with '=' ([#1460](https://github.com/beautify-web/js-beautify/issues/1460)) +* jsbeautifier.org don't works ([#1445](https://github.com/beautify-web/js-beautify/issues/1445)) +* Commenting code and then beautifying removes line breaks ([#1440](https://github.com/beautify-web/js-beautify/issues/1440)) +* Less: Where is my space? ([#1411](https://github.com/beautify-web/js-beautify/issues/1411)) +* No newline after @import ([#1406](https://github.com/beautify-web/js-beautify/issues/1406)) +* "html.format.wrapAttributes": "force-aligned" adds empty line on long attributes ([#1403](https://github.com/beautify-web/js-beautify/issues/1403)) +* HTML: wrap_line_length is handled incorrectly ([#1401](https://github.com/beautify-web/js-beautify/issues/1401)) +* js-beautify is breaking code by adding space after import ([#1393](https://github.com/beautify-web/js-beautify/issues/1393)) +* JS-Beautify should format XML tags inside HTML files ([#1383](https://github.com/beautify-web/js-beautify/issues/1383)) +* python unpacker can not handle if radix given as [] and not as a number ([#1381](https://github.com/beautify-web/js-beautify/issues/1381)) +* unindent_chained_methods breaks indentation for if statements without brackets ([#1378](https://github.com/beautify-web/js-beautify/issues/1378)) +* function parameters merged into single line when starting with ! or [ ([#1374](https://github.com/beautify-web/js-beautify/issues/1374)) +* CSS selector issue (header > div[class~="div-all"]) in SCSS file ([#1373](https://github.com/beautify-web/js-beautify/issues/1373)) +* Add "Create Issue for Unexpected Output" button to website ([#1371](https://github.com/beautify-web/js-beautify/issues/1371)) +* Add combobox to control type of beautification ([#1370](https://github.com/beautify-web/js-beautify/issues/1370)) +* Add Options textbox to website for debugging ([#1369](https://github.com/beautify-web/js-beautify/issues/1369)) + + +## v1.7.5 + +### Description + + +### Closed Issues +* Strict mode: js_source_text is not defined [CSS] ([#1286](https://github.com/beautify-web/js-beautify/issues/1286)) +* Made brace_style option more inclusive ([#1277](https://github.com/beautify-web/js-beautify/pull/1277)) +* White space before"!important" tag missing in CSS beautify ([#1273](https://github.com/beautify-web/js-beautify/issues/1273)) + + +## v1.7.4 + +### Description +Thanks @cejast for contributing! + +### Closed Issues +* Whitespace after ES7 `async` keyword for arrow functions ([#896](https://github.com/beautify-web/js-beautify/issues/896)) + + +## v1.7.3 + +### Description +* Fixed broken installs + +Lessons learned: +* Don't publish and go to bed. +* I thought I had sufficient test coverage and I did not. Tests will be implemented to protect against this before the next release (#1254). +* Also, this break highlights the need to create a beta channel for releases and a way to request feedback on beta releases (#1255). +* The project has been maintained by mostly one person over the past year or so, with some additions by other individuals. This break also highlights the need for this project to have a few more people who have the ability address issues/emergencies (#1256). +* Many projects do not not lock or even limit their version dependencies. Those that do often use `^x.x.x` instead of `~x.x.x`. Consider switching to making major version updates under more circumstances to limit risk to dependent projects. (#1257) + + +### Closed Issues +* Version 1.7.0 fail to install through pip ([#1250](https://github.com/beautify-web/js-beautify/issues/1250)) +* Installing js-beautify fails ([#1247](https://github.com/beautify-web/js-beautify/issues/1247)) + + +## v1.7.0 + +### Description + + +### Closed Issues +* undindent-chained-methods option. Resolves #482 ([#1240](https://github.com/beautify-web/js-beautify/pull/1240)) +* Add test and tools folder to npmignore ([#1239](https://github.com/beautify-web/js-beautify/issues/1239)) +* incorrect new-line insertion after "yield" ([#1206](https://github.com/beautify-web/js-beautify/issues/1206)) +* Do not modify built-in objects ([#1205](https://github.com/beautify-web/js-beautify/issues/1205)) +* Fix label checking incorrect box when clicked ([#1169](https://github.com/beautify-web/js-beautify/pull/1169)) +* Webpack ([#1149](https://github.com/beautify-web/js-beautify/pull/1149)) +* daisy-chain indentation leads to over-indentation ([#482](https://github.com/beautify-web/js-beautify/issues/482)) + + ## v1.6.12 ### Description @@ -471,72 +644,3 @@ https://github.com/einars/js-beautify/compare/v1.4.2...v1.5.1 * Incorrect formating with semicolon-less code ([#323](https://github.com/beautify-web/js-beautify/issues/323)) -## v1.4.2 - -### Description -Release quick fix for python errno error that has started being more heavily reported -Initial release of css beautifier ported to python -Additional minor fixes and enhancements - - - -### Closed Issues -* global name 'errno' is not defined ([#352](https://github.com/beautify-web/js-beautify/issues/352)) -* import errno for errno.EEXIST ([#349](https://github.com/beautify-web/js-beautify/pull/349)) -* Added bower.json ([#343](https://github.com/beautify-web/js-beautify/pull/343)) -* HTML wrap-line-length: 0 doesn't work ([#342](https://github.com/beautify-web/js-beautify/issues/342)) -* Make beautify.js, beautify-html.js, beautify-css.js available in bower ([#341](https://github.com/beautify-web/js-beautify/issues/341)) -* Making .jsbeautifyrc resolve work (in general and for Windows re home dir) ([#334](https://github.com/beautify-web/js-beautify/pull/334)) -* windows 8 error: path.js:204 throw new TypeError('Arguments to path.join must be strings'); ([#300](https://github.com/beautify-web/js-beautify/issues/300)) -* Port beautify-css to python ([#204](https://github.com/beautify-web/js-beautify/issues/204)) - - -## v1.4.1 - -### Description -Incremental fixes and improvements - - -### Closed Issues -* Tests borked when running from web ([#332](https://github.com/beautify-web/js-beautify/issues/332)) -* wrap_line_length isn't enforced for property values ([#331](https://github.com/beautify-web/js-beautify/issues/331)) -* Have no empty line between comment and function ([#329](https://github.com/beautify-web/js-beautify/issues/329)) -* Add new line at the end of the file (html-beautify) ([#325](https://github.com/beautify-web/js-beautify/issues/325)) -* Space in empty parentheses ([#322](https://github.com/beautify-web/js-beautify/pull/322)) -* Handlebars ([#321](https://github.com/beautify-web/js-beautify/pull/321)) -* Space in empty parentheses ([#320](https://github.com/beautify-web/js-beautify/issues/320)) -* The indent_with_tabs option did not work when required in node, only CLI. ([#319](https://github.com/beautify-web/js-beautify/pull/319)) -* add option to indent "inner HTML"... ([#312](https://github.com/beautify-web/js-beautify/pull/312)) -* Wrong format of HTML textnode containing multipe words ([#306](https://github.com/beautify-web/js-beautify/issues/306)) -* Repair to work in windows ([#304](https://github.com/beautify-web/js-beautify/pull/304)) -* make export object the same with common and amd methods ([#303](https://github.com/beautify-web/js-beautify/pull/303)) -* jshint cleanup and make require.js optimizable ([#302](https://github.com/beautify-web/js-beautify/pull/302)) -* E4X xml-literal allowed xml-characters ([#294](https://github.com/beautify-web/js-beautify/pull/294)) -* Publish 1.4.1 ([#292](https://github.com/beautify-web/js-beautify/issues/292)) -* Blank line inserted between function and preceding comment ([#291](https://github.com/beautify-web/js-beautify/issues/291)) -* Add tests for beautify-html.js ([#211](https://github.com/beautify-web/js-beautify/issues/211)) - - -## v1.4.0 - -### Description -Given the breadth of the changes in the code and api, bump to 1.4.0 for the next release. - -https://github.com/einars/js-beautify/compare/v1.3.4...v1.4.0 - -### Closed Issues -* Fix major performance degradation from minimal indenting ([#288](https://github.com/beautify-web/js-beautify/issues/288)) -* Minimal indenting ([#286](https://github.com/beautify-web/js-beautify/pull/286)) -* Empty lines are removed in HTML and CSS, and also adds trailing spaces ([#285](https://github.com/beautify-web/js-beautify/issues/285)) -* npmjs cli options incomplete ([#283](https://github.com/beautify-web/js-beautify/issues/283)) -* Publish 1.4.0 ([#282](https://github.com/beautify-web/js-beautify/issues/282)) -* Blocks, arrays, and expressions over indented ([#281](https://github.com/beautify-web/js-beautify/issues/281)) -* Keeping New lines inside markup ([#280](https://github.com/beautify-web/js-beautify/issues/280)) -* E4X xml-literal small fixes ([#279](https://github.com/beautify-web/js-beautify/pull/279)) -* Add support for Asynchronous Module Definition (AMD) API ([#274](https://github.com/beautify-web/js-beautify/pull/274)) -* fixed broken run tests script ([#255](https://github.com/beautify-web/js-beautify/pull/255)) -* Ending parenthesis in function call ([#239](https://github.com/beautify-web/js-beautify/issues/239)) -* Preventing line breaks around Unformatted tags ([#105](https://github.com/beautify-web/js-beautify/issues/105)) -* IE conditional HTML comments don't play well with the rest of the document ([#91](https://github.com/beautify-web/js-beautify/issues/91)) - - diff --git a/build/js-transpiled/node_modules/js-beautify/CONTRIBUTING.md b/build/js-transpiled/node_modules/js-beautify/CONTRIBUTING.md deleted file mode 100644 index fbfea2b7..00000000 --- a/build/js-transpiled/node_modules/js-beautify/CONTRIBUTING.md +++ /dev/null @@ -1,139 +0,0 @@ -# Contributing - - -## Report Issues and Request Changes -If you find a bug, please report it, including environment and examples of current behavior and what you believe to be the correct behavior. The clearer your description and information, the more likely it is someone will be able to make progress on it. The default issue template will help guide you through this. - -## How to Make Changes (Implement Fixes and New Features) -Fixes and enhancements are totally welcome. We prefer if you file an issue before filing a PR, as this gives us chance to discuss design details, but fee free to dive right in. - -### 1. Build and Test Locally -While developing, you may build and test locally in JavaScript or Python implementation. The HTML beautifier is only implemented in JavaScript. - -* Familiarize yourself with the folder structure and code style before you dive in. -* Make changes to the implemnation of your choice -* Add tests to `/test/data/*/test.js`. -* Run `./build jstest` or `./build pytest` to run style checks, and to generate and run tests. -* Include all changed files in your commit - The generated test files are checked in along with changes to the test data files. - -### 2. Ensure Feature Parity -You must port changes to the other implementation. **This is required**. Every time we make an exception to this requirement the project becomes harder to maintain. If you find yourself making changes and find you cannot port them to the other implementation due to implmentations being out of sync, you will begin to understand why this is required. We made this a requirement several years ago and there are still a open issues for changes that people at the time promised to port "in the next week or two". The entire HTML beautifier is an example of this. :( - -The implementations are already very similar and neither Python nor JavaScript are that hard to understand. Take the plunge, it is easier than you think. If you get stuck, move on to filing a Pull Request and we can discuss how to move forward. - -* Run `./build` (with no parameters) to run style checks, and to generate and run tests on both implementations. -* Include all changed files in your commit - The generated test files are checked in along with changes to the test data files. - -### 3. Update Documentation and Tools -Update documentation as needed. This such as the README.md, internal command-line help, and file comments. -Also, check your change needs any tooling updates. For example, the CDN urls required added scripting to update automatically for new releases. - -### 4. Submit a Pull Request - -* Run `./build full` locally after commit but before creation of Pull Request. You may start a Pull Request if this does not succeed, but the PR will not be accepted without additional changes. -* Include description of changes. Include examples of input and expected output if possible. -* Pull requests must pass build checks on all platforms before being accepted. We use travis-ci and appveyor to run tests on Linux and Windows, across multiple versions of Node.js and Python. - -# Folders - -## Root -Some files related to specific implementations or platforms are found in the root folder, but most are cross-project tools and configuration. - -## js -Files related to the JavaScript implmentations of the beautifiers. - -## python -Files related to the Python implmentations of the beautifiers. - - -## web -Files related to http://jsbeautifier.org/. - -## test -Test data files and support files used to generate implmentation-specific test files from them. - - -# Branches -We use the `master` branch as the primrary development branch. - -## Releases -Each platform has a branch that tracks to the latest release of that platform. - -* `python-stable` -* `node-stable` -* `gh-pages` - -## Functional Parity -Keeping the platforms in some semblance of functional parity is one of the key features of this project. As such, there branches for the last time synchronization occured and when it stablized. - -* `sync` -* `sync-stable` - -## Attic -This project has been around for a while. While some parts have improved significantly over time, others fell -into disrepair and were mothballed. - -### PHP -There is an out-of-date version of the beautifier available on branch `attic-php`. If you're interested -in using it feel free. If you plan to enhance it, please consider joining this project, and updating this -version to match current functionality. - -### Other Languages -Versions of the beautifier adapted to other languages are at least two years out-of-date and are -available on branch `attic-other`. Take a look and feel free to resurrect them, but know it's pretty -dusty back there. - -### Generic Eval Unpacker -The `attic-genericeval` branch includes an unpacker that call `eval` on whatever source is passed to it. -Useful when working with source that unpacks itself when eval is called on it, but also unsafe. We keep -it on this separate branch to keep it from hurting the other children. - -# Publishing a Release -Each platform has it's own release process. - -NOTE: Before you do any of these make sure the latest changes have passed the travis-ci build! - -##Web -Merge changes from `master` to `gh-pages` branch. This is very low cost and can be done whenever is convenient. - -##Python -NOTE: For now, we'd like to keep python and node version numbers synchronized, -so if you publish a python release, you should publish a node release as well. - -To perform these steps you will need: -1. A pypi user account from https://pypi.python.org/pypi?%3Aaction=register_form . -2. Permissions to the jsbeautifier package. File an issue here on github and the appropriate person will help you. - -We basically follow the simplest release path found at http://docs.python.org/2/distutils/packageindex.html . : - -```bash -git clean -xfd -# replace 0.0.1 with the actual version number you want to use -NEW_VERSION=0.0.1 -echo "__version__ = '$NEW_VERSION'" > python/jsbeautifier/__version__.py -git commit -am "Python $NEW_VERSION" -cd python -python setup.py register -python setup.py sdist bdist_wininst upload -git push -``` - -##Node -NOTE: For now, we'd like to keep python and node version numbers synchronized, -so if you plan to publish a node release, you should publish a python release *first*, -then perform the steps below. - -To perform these steps you will need: -1. An npmjs.org user account from https://npmjs.org/signup . -2. Permissions to the js-beautify module on npmjs.org. File an issue here on github and the appropriate person will help you. - -Npm makes this process even simpler than python's and creates a tag for the release as well. - -```bash -git clean -xfd -# replace 0.0.1 with the actual version number you want to use -NEW_VERSION=0.0.1 -npm version $NEW_VERSION -npm publish . -git push --tags -``` diff --git a/build/js-transpiled/node_modules/js-beautify/ISSUE_TEMPLATE.md b/build/js-transpiled/node_modules/js-beautify/ISSUE_TEMPLATE.md deleted file mode 100644 index 1705d217..00000000 --- a/build/js-transpiled/node_modules/js-beautify/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,55 +0,0 @@ -# Description -> This is the default template for bug reports, if you have a more general -> issue, question, or request, you may ignore this template and write freeform. -> -> NOTE: -> * Do not include screenshots! This library is a text processor, we need text inputs and outputs for debugging and fixing issues. -> * Check the list of open issues before filing a new issue. - -# Input -The code looked like this before beautification: -``` - -``` - -# Expected Output -The code should have looked like this after beautification: -``` - -``` - -# Actual Output -The code actually looked like this after beautification: -``` - -``` - -# Steps to Reproduce - - -## Environment -OS: - - -## Settings -Example: -```json -{ - "indent_size": 4, - "indent_char": " ", - "indent_level": 0, - "indent_with_tabs": false, - "preserve_newlines": true, - "max_preserve_newlines": 10, - "jslint_happy": false, - "space_after_anon_function": false, - "brace_style": "collapse,preserve-inline", - "keep_array_indentation": false, - "keep_function_indentation": false, - "space_before_conditional": true, - "break_chained_methods": false, - "eval_code": false, - "unescape_strings": false, - "wrap_line_length": 0 -} -``` diff --git a/build/js-transpiled/node_modules/js-beautify/LICENSE b/build/js-transpiled/node_modules/js-beautify/LICENSE index 339edddb..153d126b 100644 --- a/build/js-transpiled/node_modules/js-beautify/LICENSE +++ b/build/js-transpiled/node_modules/js-beautify/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. +Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/build/js-transpiled/node_modules/js-beautify/README.md b/build/js-transpiled/node_modules/js-beautify/README.md index cfbe5f32..dd059d08 100644 --- a/build/js-transpiled/node_modules/js-beautify/README.md +++ b/build/js-transpiled/node_modules/js-beautify/README.md @@ -1,97 +1,156 @@ # JS Beautifier -[![Build Status](https://img.shields.io/travis/beautify-web/js-beautify/master.svg)](http://travis-ci.org/beautify-web/js-beautify) +[![Build Status](https://api.travis-ci.org/beautify-web/js-beautify.svg?branch=master)](http://travis-ci.org/beautify-web/js-beautify) [![Build status](https://ci.appveyor.com/api/projects/status/5bxmpvew5n3e58te/branch/master?svg=true)](https://ci.appveyor.com/project/beautify-web/js-beautify/branch/master) + +[![PyPI version](https://img.shields.io/pypi/v/jsbeautifier.svg)](https://pypi.python.org/pypi/jsbeautifier) [![CDNJS version](https://img.shields.io/cdnjs/v/js-beautify.svg)](https://cdnjs.com/libraries/js-beautify) -[![NPM version](https://img.shields.io/npm/v/js-beautify.svg)](https://www.npmjs.com/package/js-beautify) -[![Download stats](https://img.shields.io/npm/dm/js-beautify.svg)](https://www.npmjs.com/package/js-beautify) +[![NPM @latest](https://img.shields.io/npm/v/js-beautify.svg)](https://www.npmjs.com/package/js-beautify) +[![NPM @next](https://img.shields.io/npm/v/js-beautify/next.svg)](https://www.npmjs.com/package/js-beautify?activeTab=versions) + [![Join the chat at https://gitter.im/beautify-web/js-beautify](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/beautify-web/js-beautify?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Twitter Follow](https://img.shields.io/twitter/follow/js_beautifier.svg?style=social&label=Follow)](https://twitter.com/intent/user?screen_name=js_beautifier) [![NPM stats](https://nodei.co/npm/js-beautify.svg?downloadRank=true&downloads=true)](https://www.npmjs.org/package/js-beautify) -This little beautifier will reformat and reindent bookmarklets, ugly +This little beautifier will reformat and re-indent bookmarklets, ugly JavaScript, unpack scripts packed by Dean Edward’s popular packer, -as well as deobfuscate scripts processed by -[javascriptobfuscator.com](http://javascriptobfuscator.com/). +as well as partly deobfuscate scripts processed by the npm package +[javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator). -# Usage -You can beautify javascript using JS Beautifier in your web browser, or on the command-line using node.js or python. +Open [beautifier.io](https://beautifier.io/) to try it out. Options are available via the UI. + +# Contributors Needed +I'm putting this front and center above because existing owners have very limited time to work on this project currently. +This is a popular project and widely used but it desperately needs contributors who have time to commit to fixing both +customer facing bugs and underlying problems with the internal design and implementation. + +If you are interested, please take a look at the [CONTRIBUTING.md](https://github.com/beautify-web/js-beautify/blob/master/CONTRIBUTING.md) then fix an issue marked with the ["Good first issue"](https://github.com/beautify-web/js-beautify/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label and submit a PR. Repeat as often as possible. Thanks! + + +# Installation + +You can install the beautifier for node.js or python. + +## Node.js JavaScript + +You may install the NPM package `js-beautify`. When installed globally, it provides an executable `js-beautify` script. As with the Python script, the beautified result is sent to `stdout` unless otherwise configured. + +```bash +$ npm -g install js-beautify +$ js-beautify foo.js +``` + +You can also use `js-beautify` as a `node` library (install locally, the `npm` default): + +```bash +$ npm install js-beautify +``` + +## Node.js JavaScript (vNext) + +The above install the latest stable release. To install beta or RC versions: + +```bash +$ npm install js-beautify@next +``` + +## Web Library +The beautifier can be added on your page as web library. JS Beautifier is hosted on two CDN services: [cdnjs](https://cdnjs.com/libraries/js-beautify) and rawgit. -To pull from one of these services include one set of the script tags below in your document: +To pull the latest version from one of these services include one set of the script tags below in your document: ```html - - - + + + - - - + + + - - - + + + ``` + +Older versions are available by changing the version number. + Disclaimer: These are free services, so there are [no uptime or support guarantees](https://github.com/rgrove/rawgit/wiki/Frequently-Asked-Questions#i-need-guaranteed-100-uptime-should-i-use-cdnrawgitcom). -## Web Browser -Open [jsbeautifier.org](http://jsbeautifier.org/). Options are available via the UI. ## Python -To beautify using python: +To install the Python version of the beautifier: ```bash $ pip install jsbeautifier -$ js-beautify file.js ``` -Beautified output goes to `stdout`. -To use `jsbeautifier` as a library is simple: - -``` python -import jsbeautifier -res = jsbeautifier.beautify('your javascript string') -res = jsbeautifier.beautify_file('some_file.js') -``` +# Usage +You can beautify javascript using JS Beautifier in your web browser, or on the command-line using node.js or python. -...or, to specify some options: +## Web Browser +Open [beautifier.io](https://beautifier.io/). Options are available via the UI. -``` python -opts = jsbeautifier.default_options() -opts.indent_size = 2 -res = jsbeautifier.beautify('some javascript', opts) -``` +## Web Libary +The script tags above expose three functions: `js_beautify`, `css_beautify`, and `html_beautify`. -## JavaScript +## Node.js JavaScript -As an alternative to the Python script, you may install the NPM package `js-beautify`. When installed globally, it provides an executable `js-beautify` script. As with the Python script, the beautified result is sent to `stdout` unless otherwise configured. +When installed globally, the beautifier provides an executable `js-beautify` script. The beautified result is sent to `stdout` unless otherwise configured. ```bash -$ npm -g install js-beautify $ js-beautify foo.js ``` -You can also use `js-beautify` as a `node` library (install locally, the `npm` default): +To use `js-beautify` as a `node` library (after install locally), import and call the appropriate beautifier method for javascript (js), css, or html. All three method signatures are `beautify(code, options)`. `code` is the string of code to be beautified. options is an object with the settings you would like used to beautify the code. -```bash -$ npm install js-beautify -``` +The configuration option names are the same as the CLI names but with underscores instead of dashes. For example, `--indent-size 2 --space-in-empty-paren` would be `{ indent_size: 2, space_in_empty_paren: true }`. ```js -var beautify = require('js-beautify').js_beautify, +var beautify = require('js-beautify').js, fs = require('fs'); fs.readFile('foo.js', 'utf8', function (err, data) { if (err) { throw err; } - console.log(beautify(data, { indent_size: 2 })); + console.log(beautify(data, { indent_size: 2, space_in_empty_paren: true })); }); ``` -## Options +## Python +After installing, to beautify using Python: + +```bash +$ js-beautify file.js +``` + +Beautified output goes to `stdout` by default. + +To use `jsbeautifier` as a library is simple: + +```python +import jsbeautifier +res = jsbeautifier.beautify('your javascript string') +res = jsbeautifier.beautify_file('some_file.js') +``` + +...or, to specify some options: + +```python +opts = jsbeautifier.default_options() +opts.indent_size = 2 +opts.space_in_empty_paren = True +res = jsbeautifier.beautify('some javascript', opts) +``` + +The configuration option names are the same as the CLI names but with underscores instead of dashes. The example above would be set on the command-line as `--indent-size 2 --space-in-empty-paren`. + + +# Options These are the command-line flags for both Python and JS scripts: @@ -121,7 +180,9 @@ Beautifier Options: -E, --space-in-empty-paren Add a single space inside empty paren, ie. f( ) -j, --jslint-happy Enable jslint-stricter mode -a, --space-after-anon-function Add a space before an anonymous function's parens, ie. function () + --space-after-named-function Add a space before a named function's parens, i.e. function example () -b, --brace-style [collapse|expand|end-expand|none][,preserve-inline] [collapse,preserve-inline] + -u, --unindent-chained-methods Don't indent chained method calls -B, --break-chained-methods Break chained method calls across subsequent lines -k, --keep-array-indentation Preserve array indentation -x, --unescape-strings Decode printable characters encoded in xNN notation @@ -149,7 +210,9 @@ Which correspond to the underscored option keys for both library interfaces "space_in_empty_paren": false, "jslint_happy": false, "space_after_anon_function": false, + "space_after_named_function": false, "brace_style": "collapse", + "unindent_chained_methods": false, "break_chained_methods": false, "keep_array_indentation": false, "unescape_strings": false, @@ -169,12 +232,11 @@ Which correspond to the underscored option keys for both library interfaces ``` Notice not all defaults are exposed via the CLI. Historically, the Python and -JS APIs have not been 100% identical. For example, `space_before_conditional` is -currently JS-only, and not addressable from the CLI script. There are still a +JS APIs have not been 100% identical. There are still a few other additional cases keeping us from 100% API-compatibility. -### Loading settings from environment or .jsbeautifyrc (JavaScript-Only) +## Loading settings from environment or .jsbeautifyrc (JavaScript-Only) In addition to CLI arguments, you may pass config to the JS executable via: @@ -184,16 +246,14 @@ In addition to CLI arguments, you may pass config to the JS executable via: Configuration sources provided earlier in this stack will override later ones. -### Setting inheritance and Language-specific overrides +## Setting inheritance and Language-specific overrides The settings are a shallow tree whose values are inherited for all languages, but can be overridden. This works for settings passed directly to the API in either implementation. -In the Javascript implementation, settings loaded from a config file, such as .jsbeautifyrc, -can also use inheritance/overriding. +In the Javascript implementation, settings loaded from a config file, such as .jsbeautifyrc, can also use inheritance/overriding. Below is an example configuration tree showing all the supported locations -for language override nodes. We'll use `indent_size` to discuss how this configuration -would behave, but any number of settings can be inherited or overridden: +for language override nodes. We'll use `indent_size` to discuss how this configuration would behave, but any number of settings can be inherited or overridden: ```json { @@ -219,18 +279,18 @@ would behave, but any number of settings can be inherited or overridden: Using the above example would have the following result: * HTML files - * Inherit `indent_size` of 4 spaces from the top-level setting. + * Inherit `indent_size` of 4 spaces from the top-level setting. * The files would also end with a newline. * JavaScript and CSS inside HTML - * Inherit the HTML `end_with_newline` setting - * Override their indentation to 2 spaces + * Inherit the HTML `end_with_newline` setting. + * Override their indentation to 2 spaces. * CSS files * Override the top-level setting to an `indent_size` of 1 space. * JavaScript files - * Inherit `indent_size` of 4 spaces from the top-level setting - * Set `preserve-newlines` to `true` + * Inherit `indent_size` of 4 spaces from the top-level setting. + * Set `preserve-newlines` to `true`. -### CSS & HTML +## CSS & HTML In addition to the `js-beautify` executable, `css-beautify` and `html-beautify` are also provided as an easy interface into those scripts. Alternatively, @@ -269,15 +329,17 @@ HTML Beautifier Options: -b, --brace-style [collapse-preserve-inline|collapse|expand|end-expand|none] ["collapse"] -S, --indent-scripts [keep|separate|normal] ["normal"] -w, --wrap-line-length Maximum characters per line (0 disables) [250] - -A, --wrap-attributes Wrap attributes to new lines [auto|force|force-aligned|force-expand-multiline] ["auto"] - -i, --wrap-attributes-indent-size Indent wrapped attributes to after N characters [indent-size] (ignored if wrap-attributes is "force-aligned") + -A, --wrap-attributes Wrap attributes to new lines [auto|force|force-aligned|force-expand-multiline|aligned-multiple|preserve|preserve-aligned] ["auto"] + -i, --wrap-attributes-indent-size Indent wrapped attributes to after N characters [indent-size] (ignored if wrap-attributes is "aligned") + -d, --inline List of tags to be considered inline tags -U, --unformatted List of tags (defaults to inline) that should not be reformatted - -T, --content_unformatted List of tags (defaults to pre) that its content should not be reformatted + -T, --content_unformatted List of tags (defaults to pre) whose content should not be reformatted -E, --extra_liners List of tags (defaults to [head,body,/html] that should have an extra newline before them. --editorconfig Use EditorConfig to set up the options + --indent_scripts Sets indent level inside script tags ("normal", "keep", "separate") ``` -## Directives to Ignore or Preserve sections (Javascript only) +## Directives to Ignore or Preserve sections (Javascript beautifier only) Beautifier for supports directives in comments inside the file. This allows you to tell the beautifier to preserve the formatting of or completely ignore part of a file. @@ -302,18 +364,17 @@ var a = 1; # License -You are free to use this in any way you want, in case you find this -useful or working for you but you must keep the copyright notice and license. (MIT) +You are free to use this in any way you want, in case you find this useful or working for you but you must keep the copyright notice and license. (MIT) # Credits -* Created by Einar Lielmanis, +* Created by Einar Lielmanis, * Python version flourished by Stefano Sanfilippo * Command-line for node.js by Daniel Stockman -* Maintained and expanded by Liam Newman +* Maintained and expanded by Liam Newman Thanks also to Jason Diamond, Patrick Hof, Nochum Sossonko, Andreas Schneider, Dave Vasilevsky, Vital Batmanov, Ron Baldwin, Gabriel Harrison, Chris J. Shull, Mathias Bynens, Vittorio Gambaletta and others. -(README.md: js-beautify@1.6.14) +(README.md: js-beautify@1.8.8) diff --git a/build/js-transpiled/node_modules/js-beautify/appveyor.yml b/build/js-transpiled/node_modules/js-beautify/appveyor.yml deleted file mode 100644 index 0cc47ea6..00000000 --- a/build/js-transpiled/node_modules/js-beautify/appveyor.yml +++ /dev/null @@ -1,35 +0,0 @@ -version: 1.6+{build} - -nuget: - disable_publish_on_pr: true - -deploy: off - -# Test against this version of Node.js -environment: - global: - nodejs_version: "0.12" - - matrix: - - PYTHON: "C:\\Python27" - PYTHON_VERSION: "2.7.x" - PYTHON_ARCH: "32" - -# Install scripts. (runs after repo cloning) -install: - # Get the latest stable version of Node.js or io.js - - ps: Install-Product node $env:nodejs_version - - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - pip --version - -# Post-install test scripts. -test_script: - # Output useful info for debugging. - - node --version - - npm --version - - python --version - # run tests - - bash -c "./build ci" - -# Don't actually build. -build: off diff --git a/build/js-transpiled/node_modules/js-beautify/bower.json b/build/js-transpiled/node_modules/js-beautify/bower.json deleted file mode 100644 index 4d340ab9..00000000 --- a/build/js-transpiled/node_modules/js-beautify/bower.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "js-beautify", - "main": [ - "./js/lib/beautify.js", - "./js/lib/beautify-css.js", - "./js/lib/beautify-html.js" - ], - "ignore": [ - "**/.*" - ] -} diff --git a/build/js-transpiled/node_modules/js-beautify/build b/build/js-transpiled/node_modules/js-beautify/build deleted file mode 100755 index ec7f3a73..00000000 --- a/build/js-transpiled/node_modules/js-beautify/build +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -REL_SCRIPT_DIR="`dirname \"$0\"`" -SCRIPT_DIR="`( cd \"$REL_SCRIPT_DIR\" && pwd )`" -$SCRIPT_DIR/tools/build.sh $* diff --git a/build/js-transpiled/node_modules/js-beautify/js/config/defaults.json b/build/js-transpiled/node_modules/js-beautify/js/config/defaults.json deleted file mode 100644 index 63709825..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/config/defaults.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "indent_size": 4, - "indent_char": " ", - "indent_level": 0, - "indent_with_tabs": false, - "preserve_newlines": true, - "max_preserve_newlines": 10, - "jslint_happy": false, - "space_after_anon_function": false, - "brace_style": "collapse", - "keep_array_indentation": false, - "keep_function_indentation": false, - "space_before_conditional": true, - "break_chained_methods": false, - "eval_code": false, - "unescape_strings": false, - "wrap_line_length": 0 -} diff --git a/build/js-transpiled/node_modules/js-beautify/js/index.js b/build/js-transpiled/node_modules/js-beautify/js/index.js index 95c41e54..07f4fb60 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/index.js +++ b/build/js-transpiled/node_modules/js-beautify/js/index.js @@ -1,7 +1,9 @@ +/*jshint node:true */ +/* globals define */ /* The MIT License (MIT) - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -25,6 +27,8 @@ */ +'use strict'; + /** The following batches are equivalent: @@ -42,40 +46,41 @@ All methods returned accept two arguments, the source string and an options obje **/ function get_beautify(js_beautify, css_beautify, html_beautify) { - // the default is js - var beautify = function(src, config) { - return js_beautify.js_beautify(src, config); - }; - - // short aliases - beautify.js = js_beautify.js_beautify; - beautify.css = css_beautify.css_beautify; - beautify.html = html_beautify.html_beautify; - - // legacy aliases - beautify.js_beautify = js_beautify.js_beautify; - beautify.css_beautify = css_beautify.css_beautify; - beautify.html_beautify = html_beautify.html_beautify; - - return beautify; + // the default is js + var beautify = function(src, config) { + return js_beautify.js_beautify(src, config); + }; + + // short aliases + beautify.js = js_beautify.js_beautify; + beautify.css = css_beautify.css_beautify; + beautify.html = html_beautify.html_beautify; + + // legacy aliases + beautify.js_beautify = js_beautify.js_beautify; + beautify.css_beautify = css_beautify.css_beautify; + beautify.html_beautify = html_beautify.html_beautify; + + return beautify; } if (typeof define === "function" && define.amd) { - // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) - define([ - "./lib/beautify", - "./lib/beautify-css", - "./lib/beautify-html" - ], function(js_beautify, css_beautify, html_beautify) { - return get_beautify(js_beautify, css_beautify, html_beautify); - }); + // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) + define([ + "./lib/beautify", + "./lib/beautify-css", + "./lib/beautify-html" + ], function(js_beautify, css_beautify, html_beautify) { + return get_beautify(js_beautify, css_beautify, html_beautify); + }); } else { - (function(mod) { - var js_beautify = require('./lib/beautify'); - var css_beautify = require('./lib/beautify-css'); - var html_beautify = require('./lib/beautify-html'); + (function(mod) { + var beautifier = require('./src/index'); + beautifier.js_beautify = beautifier.js; + beautifier.css_beautify = beautifier.css; + beautifier.html_beautify = beautifier.html; - mod.exports = get_beautify(js_beautify, css_beautify, html_beautify); + mod.exports = get_beautify(beautifier, beautifier, beautifier); - })(module); + })(module); } \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/beautifier.js b/build/js-transpiled/node_modules/js-beautify/js/lib/beautifier.js new file mode 100644 index 00000000..018b6288 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/beautifier.js @@ -0,0 +1,5080 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("beautifier", [], factory); + else if(typeof exports === 'object') + exports["beautifier"] = factory(); + else + root["beautifier"] = factory(); +})(typeof self !== 'undefined' ? self : typeof windows !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var js_beautify = __webpack_require__(1); +var css_beautify = __webpack_require__(13); +var html_beautify = __webpack_require__(16); + +function style_html(html_source, options, js, css) { + js = js || js_beautify; + css = css || css_beautify; + return html_beautify(html_source, options, js, css); +} + +module.exports.js = js_beautify; +module.exports.css = css_beautify; +module.exports.html = style_html; + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Beautifier = __webpack_require__(2).Beautifier; + +function js_beautify(js_source_text, options) { + var beautifier = new Beautifier(js_source_text, options); + return beautifier.beautify(); +} + +module.exports = js_beautify; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Output = __webpack_require__(3).Output; +var Token = __webpack_require__(4).Token; +var acorn = __webpack_require__(5); +var Options = __webpack_require__(6).Options; +var Tokenizer = __webpack_require__(8).Tokenizer; +var line_starters = __webpack_require__(8).line_starters; +var positionable_operators = __webpack_require__(8).positionable_operators; +var TOKEN = __webpack_require__(8).TOKEN; + +function remove_redundant_indentation(output, frame) { + // This implementation is effective but has some issues: + // - can cause line wrap to happen too soon due to indent removal + // after wrap points are calculated + // These issues are minor compared to ugly indentation. + + if (frame.multiline_frame || + frame.mode === MODE.ForInitializer || + frame.mode === MODE.Conditional) { + return; + } + + // remove one indent from each line inside this section + output.remove_indent(frame.start_line_index); +} + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + +function ltrim(s) { + return s.replace(/^\s+/g, ''); +} + +function generateMapFromStrings(list) { + var result = {}; + for (var x = 0; x < list.length; x++) { + // make the mapped names underscored instead of dash + result[list[x].replace(/-/g, '_')] = list[x]; + } + return result; +} + +function reserved_word(token, word) { + return token && token.type === TOKEN.RESERVED && token.text === word; +} + +function reserved_array(token, words) { + return token && token.type === TOKEN.RESERVED && in_array(token.text, words); +} +// Unsure of what they mean, but they work. Worth cleaning up in future. +var special_words = ['case', 'return', 'do', 'if', 'throw', 'else', 'await', 'break', 'continue', 'async']; + +var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline']; + +// Generate map from array +var OPERATOR_POSITION = generateMapFromStrings(validPositionValues); + +var OPERATOR_POSITION_BEFORE_OR_PRESERVE = [OPERATOR_POSITION.before_newline, OPERATOR_POSITION.preserve_newline]; + +var MODE = { + BlockStatement: 'BlockStatement', // 'BLOCK' + Statement: 'Statement', // 'STATEMENT' + ObjectLiteral: 'ObjectLiteral', // 'OBJECT', + ArrayLiteral: 'ArrayLiteral', //'[EXPRESSION]', + ForInitializer: 'ForInitializer', //'(FOR-EXPRESSION)', + Conditional: 'Conditional', //'(COND-EXPRESSION)', + Expression: 'Expression' //'(EXPRESSION)' +}; + +// we could use just string.split, but +// IE doesn't like returning empty strings +function split_linebreaks(s) { + //return s.split(/\x0d\x0a|\x0a/); + + s = s.replace(acorn.allLineBreaks, '\n'); + var out = [], + idx = s.indexOf("\n"); + while (idx !== -1) { + out.push(s.substring(0, idx)); + s = s.substring(idx + 1); + idx = s.indexOf("\n"); + } + if (s.length) { + out.push(s); + } + return out; +} + +function is_array(mode) { + return mode === MODE.ArrayLiteral; +} + +function is_expression(mode) { + return in_array(mode, [MODE.Expression, MODE.ForInitializer, MODE.Conditional]); +} + +function all_lines_start_with(lines, c) { + for (var i = 0; i < lines.length; i++) { + var line = lines[i].trim(); + if (line.charAt(0) !== c) { + return false; + } + } + return true; +} + +function each_line_matches_indent(lines, indent) { + var i = 0, + len = lines.length, + line; + for (; i < len; i++) { + line = lines[i]; + // allow empty lines to pass through + if (line && line.indexOf(indent) !== 0) { + return false; + } + } + return true; +} + + +function Beautifier(source_text, options) { + options = options || {}; + this._source_text = source_text || ''; + + this._output = null; + this._tokens = null; + this._last_last_text = null; + this._flags = null; + this._previous_flags = null; + + this._flag_store = null; + this._options = new Options(options); +} + +Beautifier.prototype.create_flags = function(flags_base, mode) { + var next_indent_level = 0; + if (flags_base) { + next_indent_level = flags_base.indentation_level; + if (!this._output.just_added_newline() && + flags_base.line_indent_level > next_indent_level) { + next_indent_level = flags_base.line_indent_level; + } + } + + var next_flags = { + mode: mode, + parent: flags_base, + last_token: flags_base ? flags_base.last_token : new Token(TOKEN.START_BLOCK, ''), // last token text + last_word: flags_base ? flags_base.last_word : '', // last TOKEN.WORD passed + declaration_statement: false, + declaration_assignment: false, + multiline_frame: false, + inline_frame: false, + if_block: false, + else_block: false, + do_block: false, + do_while: false, + import_block: false, + in_case_statement: false, // switch(..){ INSIDE HERE } + in_case: false, // we're on the exact line with "case 0:" + case_body: false, // the indented case-action block + indentation_level: next_indent_level, + line_indent_level: flags_base ? flags_base.line_indent_level : next_indent_level, + start_line_index: this._output.get_line_number(), + ternary_depth: 0 + }; + return next_flags; +}; + +Beautifier.prototype._reset = function(source_text) { + var baseIndentString = source_text.match(/^[\t ]*/)[0]; + + this._last_last_text = ''; // pre-last token text + this._output = new Output(this._options, baseIndentString); + + // If testing the ignore directive, start with output disable set to true + this._output.raw = this._options.test_output_raw; + + + // Stack of parsing/formatting states, including MODE. + // We tokenize, parse, and output in an almost purely a forward-only stream of token input + // and formatted output. This makes the beautifier less accurate than full parsers + // but also far more tolerant of syntax errors. + // + // For example, the default mode is MODE.BlockStatement. If we see a '{' we push a new frame of type + // MODE.BlockStatement on the the stack, even though it could be object literal. If we later + // encounter a ":", we'll switch to to MODE.ObjectLiteral. If we then see a ";", + // most full parsers would die, but the beautifier gracefully falls back to + // MODE.BlockStatement and continues on. + this._flag_store = []; + this.set_mode(MODE.BlockStatement); + var tokenizer = new Tokenizer(source_text, this._options); + this._tokens = tokenizer.tokenize(); + return source_text; +}; + +Beautifier.prototype.beautify = function() { + // if disabled, return the input unchanged. + if (this._options.disabled) { + return this._source_text; + } + + var sweet_code; + var source_text = this._reset(this._source_text); + + var eol = this._options.eol; + if (this._options.eol === 'auto') { + eol = '\n'; + if (source_text && acorn.lineBreak.test(source_text || '')) { + eol = source_text.match(acorn.lineBreak)[0]; + } + } + + var current_token = this._tokens.next(); + while (current_token) { + this.handle_token(current_token); + + this._last_last_text = this._flags.last_token.text; + this._flags.last_token = current_token; + + current_token = this._tokens.next(); + } + + sweet_code = this._output.get_code(eol); + + return sweet_code; +}; + +Beautifier.prototype.handle_token = function(current_token, preserve_statement_flags) { + if (current_token.type === TOKEN.START_EXPR) { + this.handle_start_expr(current_token); + } else if (current_token.type === TOKEN.END_EXPR) { + this.handle_end_expr(current_token); + } else if (current_token.type === TOKEN.START_BLOCK) { + this.handle_start_block(current_token); + } else if (current_token.type === TOKEN.END_BLOCK) { + this.handle_end_block(current_token); + } else if (current_token.type === TOKEN.WORD) { + this.handle_word(current_token); + } else if (current_token.type === TOKEN.RESERVED) { + this.handle_word(current_token); + } else if (current_token.type === TOKEN.SEMICOLON) { + this.handle_semicolon(current_token); + } else if (current_token.type === TOKEN.STRING) { + this.handle_string(current_token); + } else if (current_token.type === TOKEN.EQUALS) { + this.handle_equals(current_token); + } else if (current_token.type === TOKEN.OPERATOR) { + this.handle_operator(current_token); + } else if (current_token.type === TOKEN.COMMA) { + this.handle_comma(current_token); + } else if (current_token.type === TOKEN.BLOCK_COMMENT) { + this.handle_block_comment(current_token, preserve_statement_flags); + } else if (current_token.type === TOKEN.COMMENT) { + this.handle_comment(current_token, preserve_statement_flags); + } else if (current_token.type === TOKEN.DOT) { + this.handle_dot(current_token); + } else if (current_token.type === TOKEN.EOF) { + this.handle_eof(current_token); + } else if (current_token.type === TOKEN.UNKNOWN) { + this.handle_unknown(current_token, preserve_statement_flags); + } else { + this.handle_unknown(current_token, preserve_statement_flags); + } +}; + +Beautifier.prototype.handle_whitespace_and_comments = function(current_token, preserve_statement_flags) { + var newlines = current_token.newlines; + var keep_whitespace = this._options.keep_array_indentation && is_array(this._flags.mode); + + if (current_token.comments_before) { + var comment_token = current_token.comments_before.next(); + while (comment_token) { + // The cleanest handling of inline comments is to treat them as though they aren't there. + // Just continue formatting and the behavior should be logical. + // Also ignore unknown tokens. Again, this should result in better behavior. + this.handle_whitespace_and_comments(comment_token, preserve_statement_flags); + this.handle_token(comment_token, preserve_statement_flags); + comment_token = current_token.comments_before.next(); + } + } + + if (keep_whitespace) { + for (var i = 0; i < newlines; i += 1) { + this.print_newline(i > 0, preserve_statement_flags); + } + } else { + if (this._options.max_preserve_newlines && newlines > this._options.max_preserve_newlines) { + newlines = this._options.max_preserve_newlines; + } + + if (this._options.preserve_newlines) { + if (newlines > 1) { + this.print_newline(false, preserve_statement_flags); + for (var j = 1; j < newlines; j += 1) { + this.print_newline(true, preserve_statement_flags); + } + } + } + } + +}; + +var newline_restricted_tokens = ['async', 'break', 'continue', 'return', 'throw', 'yield']; + +Beautifier.prototype.allow_wrap_or_preserved_newline = function(current_token, force_linewrap) { + force_linewrap = (force_linewrap === undefined) ? false : force_linewrap; + + // Never wrap the first token on a line + if (this._output.just_added_newline()) { + return; + } + + var shouldPreserveOrForce = (this._options.preserve_newlines && current_token.newlines) || force_linewrap; + var operatorLogicApplies = in_array(this._flags.last_token.text, positionable_operators) || + in_array(current_token.text, positionable_operators); + + if (operatorLogicApplies) { + var shouldPrintOperatorNewline = ( + in_array(this._flags.last_token.text, positionable_operators) && + in_array(this._options.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE) + ) || + in_array(current_token.text, positionable_operators); + shouldPreserveOrForce = shouldPreserveOrForce && shouldPrintOperatorNewline; + } + + if (shouldPreserveOrForce) { + this.print_newline(false, true); + } else if (this._options.wrap_line_length) { + if (reserved_array(this._flags.last_token, newline_restricted_tokens)) { + // These tokens should never have a newline inserted + // between them and the following expression. + return; + } + var proposed_line_length = this._output.current_line.get_character_count() + current_token.text.length + + (this._output.space_before_token ? 1 : 0); + if (proposed_line_length >= this._options.wrap_line_length) { + this.print_newline(false, true); + } + } +}; + +Beautifier.prototype.print_newline = function(force_newline, preserve_statement_flags) { + if (!preserve_statement_flags) { + if (this._flags.last_token.text !== ';' && this._flags.last_token.text !== ',' && this._flags.last_token.text !== '=' && (this._flags.last_token.type !== TOKEN.OPERATOR || this._flags.last_token.text === '--' || this._flags.last_token.text === '++')) { + var next_token = this._tokens.peek(); + while (this._flags.mode === MODE.Statement && + !(this._flags.if_block && reserved_word(next_token, 'else')) && + !this._flags.do_block) { + this.restore_mode(); + } + } + } + + if (this._output.add_new_line(force_newline)) { + this._flags.multiline_frame = true; + } +}; + +Beautifier.prototype.print_token_line_indentation = function(current_token) { + if (this._output.just_added_newline()) { + if (this._options.keep_array_indentation && is_array(this._flags.mode) && current_token.newlines) { + this._output.current_line.push(current_token.whitespace_before); + this._output.space_before_token = false; + } else if (this._output.set_indent(this._flags.indentation_level)) { + this._flags.line_indent_level = this._flags.indentation_level; + } + } +}; + +Beautifier.prototype.print_token = function(current_token, printable_token) { + if (this._output.raw) { + this._output.add_raw_token(current_token); + return; + } + + if (this._options.comma_first && current_token.previous && current_token.previous.type === TOKEN.COMMA && + this._output.just_added_newline()) { + if (this._output.previous_line.last() === ',') { + var popped = this._output.previous_line.pop(); + // if the comma was already at the start of the line, + // pull back onto that line and reprint the indentation + if (this._output.previous_line.is_empty()) { + this._output.previous_line.push(popped); + this._output.trim(true); + this._output.current_line.pop(); + this._output.trim(); + } + + // add the comma in front of the next token + this.print_token_line_indentation(current_token); + this._output.add_token(','); + this._output.space_before_token = true; + } + } + + printable_token = printable_token || current_token.text; + this.print_token_line_indentation(current_token); + this._output.add_token(printable_token); +}; + +Beautifier.prototype.indent = function() { + this._flags.indentation_level += 1; +}; + +Beautifier.prototype.deindent = function() { + if (this._flags.indentation_level > 0 && + ((!this._flags.parent) || this._flags.indentation_level > this._flags.parent.indentation_level)) { + this._flags.indentation_level -= 1; + + } +}; + +Beautifier.prototype.set_mode = function(mode) { + if (this._flags) { + this._flag_store.push(this._flags); + this._previous_flags = this._flags; + } else { + this._previous_flags = this.create_flags(null, mode); + } + + this._flags = this.create_flags(this._previous_flags, mode); +}; + + +Beautifier.prototype.restore_mode = function() { + if (this._flag_store.length > 0) { + this._previous_flags = this._flags; + this._flags = this._flag_store.pop(); + if (this._previous_flags.mode === MODE.Statement) { + remove_redundant_indentation(this._output, this._previous_flags); + } + } +}; + +Beautifier.prototype.start_of_object_property = function() { + return this._flags.parent.mode === MODE.ObjectLiteral && this._flags.mode === MODE.Statement && ( + (this._flags.last_token.text === ':' && this._flags.ternary_depth === 0) || (reserved_array(this._flags.last_token, ['get', 'set']))); +}; + +Beautifier.prototype.start_of_statement = function(current_token) { + var start = false; + start = start || reserved_array(this._flags.last_token, ['var', 'let', 'const']) && current_token.type === TOKEN.WORD; + start = start || reserved_word(this._flags.last_token, 'do'); + start = start || (!(this._flags.parent.mode === MODE.ObjectLiteral && this._flags.mode === MODE.Statement)) && reserved_array(this._flags.last_token, newline_restricted_tokens) && !current_token.newlines; + start = start || reserved_word(this._flags.last_token, 'else') && + !(reserved_word(current_token, 'if') && !current_token.comments_before); + start = start || (this._flags.last_token.type === TOKEN.END_EXPR && (this._previous_flags.mode === MODE.ForInitializer || this._previous_flags.mode === MODE.Conditional)); + start = start || (this._flags.last_token.type === TOKEN.WORD && this._flags.mode === MODE.BlockStatement && + !this._flags.in_case && + !(current_token.text === '--' || current_token.text === '++') && + this._last_last_text !== 'function' && + current_token.type !== TOKEN.WORD && current_token.type !== TOKEN.RESERVED); + start = start || (this._flags.mode === MODE.ObjectLiteral && ( + (this._flags.last_token.text === ':' && this._flags.ternary_depth === 0) || reserved_array(this._flags.last_token, ['get', 'set']))); + + if (start) { + this.set_mode(MODE.Statement); + this.indent(); + + this.handle_whitespace_and_comments(current_token, true); + + // Issue #276: + // If starting a new statement with [if, for, while, do], push to a new line. + // if (a) if (b) if(c) d(); else e(); else f(); + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token, + reserved_array(current_token, ['do', 'for', 'if', 'while'])); + } + return true; + } + return false; +}; + +Beautifier.prototype.handle_start_expr = function(current_token) { + // The conditional starts the statement if appropriate. + if (!this.start_of_statement(current_token)) { + this.handle_whitespace_and_comments(current_token); + } + + var next_mode = MODE.Expression; + if (current_token.text === '[') { + + if (this._flags.last_token.type === TOKEN.WORD || this._flags.last_token.text === ')') { + // this is array index specifier, break immediately + // a[x], fn()[x] + if (reserved_array(this._flags.last_token, line_starters)) { + this._output.space_before_token = true; + } + this.set_mode(next_mode); + this.print_token(current_token); + this.indent(); + if (this._options.space_in_paren) { + this._output.space_before_token = true; + } + return; + } + + next_mode = MODE.ArrayLiteral; + if (is_array(this._flags.mode)) { + if (this._flags.last_token.text === '[' || + (this._flags.last_token.text === ',' && (this._last_last_text === ']' || this._last_last_text === '}'))) { + // ], [ goes to new line + // }, [ goes to new line + if (!this._options.keep_array_indentation) { + this.print_newline(); + } + } + } + + if (!in_array(this._flags.last_token.type, [TOKEN.START_EXPR, TOKEN.END_EXPR, TOKEN.WORD, TOKEN.OPERATOR])) { + this._output.space_before_token = true; + } + } else { + if (this._flags.last_token.type === TOKEN.RESERVED) { + if (this._flags.last_token.text === 'for') { + this._output.space_before_token = this._options.space_before_conditional; + next_mode = MODE.ForInitializer; + } else if (in_array(this._flags.last_token.text, ['if', 'while'])) { + this._output.space_before_token = this._options.space_before_conditional; + next_mode = MODE.Conditional; + } else if (in_array(this._flags.last_word, ['await', 'async'])) { + // Should be a space between await and an IIFE, or async and an arrow function + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'import' && current_token.whitespace_before === '') { + this._output.space_before_token = false; + } else if (in_array(this._flags.last_token.text, line_starters) || this._flags.last_token.text === 'catch') { + this._output.space_before_token = true; + } + } else if (this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + // Support of this kind of newline preservation. + // a = (b && + // (c || d)); + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } else if (this._flags.last_token.type === TOKEN.WORD) { + this._output.space_before_token = false; + + // function name() vs function name () + // function* name() vs function* name () + // async name() vs async name () + if (this._options.space_after_named_function) { + // peek starts at next character so -1 is current token + var peek_back_three = this._tokens.peek(-4); + var peek_back_two = this._tokens.peek(-3); + if (reserved_array(peek_back_two, ['async', 'function']) || + (reserved_array(peek_back_three, ['async', 'function']) && peek_back_two.text === '*')) { + this._output.space_before_token = true; + } + } + } else { + // Support preserving wrapped arrow function expressions + // a.b('c', + // () => d.e + // ) + this.allow_wrap_or_preserved_newline(current_token); + } + + // function() vs function () + // yield*() vs yield* () + // function*() vs function* () + if ((this._flags.last_token.type === TOKEN.RESERVED && (this._flags.last_word === 'function' || this._flags.last_word === 'typeof')) || + (this._flags.last_token.text === '*' && + (in_array(this._last_last_text, ['function', 'yield']) || + (this._flags.mode === MODE.ObjectLiteral && in_array(this._last_last_text, ['{', ',']))))) { + + this._output.space_before_token = this._options.space_after_anon_function; + } + + } + + if (this._flags.last_token.text === ';' || this._flags.last_token.type === TOKEN.START_BLOCK) { + this.print_newline(); + } else if (this._flags.last_token.type === TOKEN.END_EXPR || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.END_BLOCK || this._flags.last_token.text === '.' || this._flags.last_token.type === TOKEN.COMMA) { + // do nothing on (( and )( and ][ and ]( and .( + // TODO: Consider whether forcing this is required. Review failing tests when removed. + this.allow_wrap_or_preserved_newline(current_token, current_token.newlines); + } + + this.set_mode(next_mode); + this.print_token(current_token); + if (this._options.space_in_paren) { + this._output.space_before_token = true; + } + + // In all cases, if we newline while inside an expression it should be indented. + this.indent(); +}; + +Beautifier.prototype.handle_end_expr = function(current_token) { + // statements inside expressions are not valid syntax, but... + // statements must all be closed when their container closes + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + this.handle_whitespace_and_comments(current_token); + + if (this._flags.multiline_frame) { + this.allow_wrap_or_preserved_newline(current_token, + current_token.text === ']' && is_array(this._flags.mode) && !this._options.keep_array_indentation); + } + + if (this._options.space_in_paren) { + if (this._flags.last_token.type === TOKEN.START_EXPR && !this._options.space_in_empty_paren) { + // () [] no inner space in empty parens like these, ever, ref #320 + this._output.trim(); + this._output.space_before_token = false; + } else { + this._output.space_before_token = true; + } + } + if (current_token.text === ']' && this._options.keep_array_indentation) { + this.print_token(current_token); + this.restore_mode(); + } else { + this.restore_mode(); + this.print_token(current_token); + } + remove_redundant_indentation(this._output, this._previous_flags); + + // do {} while () // no statement required after + if (this._flags.do_while && this._previous_flags.mode === MODE.Conditional) { + this._previous_flags.mode = MODE.Expression; + this._flags.do_block = false; + this._flags.do_while = false; + + } +}; + +Beautifier.prototype.handle_start_block = function(current_token) { + this.handle_whitespace_and_comments(current_token); + + // Check if this is should be treated as a ObjectLiteral + var next_token = this._tokens.peek(); + var second_token = this._tokens.peek(1); + if (this._flags.last_word === 'switch' && this._flags.last_token.type === TOKEN.END_EXPR) { + this.set_mode(MODE.BlockStatement); + this._flags.in_case_statement = true; + } else if (second_token && ( + (in_array(second_token.text, [':', ',']) && in_array(next_token.type, [TOKEN.STRING, TOKEN.WORD, TOKEN.RESERVED])) || + (in_array(next_token.text, ['get', 'set', '...']) && in_array(second_token.type, [TOKEN.WORD, TOKEN.RESERVED])) + )) { + // We don't support TypeScript,but we didn't break it for a very long time. + // We'll try to keep not breaking it. + if (!in_array(this._last_last_text, ['class', 'interface'])) { + this.set_mode(MODE.ObjectLiteral); + } else { + this.set_mode(MODE.BlockStatement); + } + } else if (this._flags.last_token.type === TOKEN.OPERATOR && this._flags.last_token.text === '=>') { + // arrow function: (param1, paramN) => { statements } + this.set_mode(MODE.BlockStatement); + } else if (in_array(this._flags.last_token.type, [TOKEN.EQUALS, TOKEN.START_EXPR, TOKEN.COMMA, TOKEN.OPERATOR]) || + reserved_array(this._flags.last_token, ['return', 'throw', 'import', 'default']) + ) { + // Detecting shorthand function syntax is difficult by scanning forward, + // so check the surrounding context. + // If the block is being returned, imported, export default, passed as arg, + // assigned with = or assigned in a nested object, treat as an ObjectLiteral. + this.set_mode(MODE.ObjectLiteral); + } else { + this.set_mode(MODE.BlockStatement); + } + + var empty_braces = !next_token.comments_before && next_token.text === '}'; + var empty_anonymous_function = empty_braces && this._flags.last_word === 'function' && + this._flags.last_token.type === TOKEN.END_EXPR; + + if (this._options.brace_preserve_inline) // check for inline, set inline_frame if so + { + // search forward for a newline wanted inside this block + var index = 0; + var check_token = null; + this._flags.inline_frame = true; + do { + index += 1; + check_token = this._tokens.peek(index - 1); + if (check_token.newlines) { + this._flags.inline_frame = false; + break; + } + } while (check_token.type !== TOKEN.EOF && + !(check_token.type === TOKEN.END_BLOCK && check_token.opened === current_token)); + } + + if ((this._options.brace_style === "expand" || + (this._options.brace_style === "none" && current_token.newlines)) && + !this._flags.inline_frame) { + if (this._flags.last_token.type !== TOKEN.OPERATOR && + (empty_anonymous_function || + this._flags.last_token.type === TOKEN.EQUALS || + (reserved_array(this._flags.last_token, special_words) && this._flags.last_token.text !== 'else'))) { + this._output.space_before_token = true; + } else { + this.print_newline(false, true); + } + } else { // collapse || inline_frame + if (is_array(this._previous_flags.mode) && (this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.COMMA)) { + if (this._flags.last_token.type === TOKEN.COMMA || this._options.space_in_paren) { + this._output.space_before_token = true; + } + + if (this._flags.last_token.type === TOKEN.COMMA || (this._flags.last_token.type === TOKEN.START_EXPR && this._flags.inline_frame)) { + this.allow_wrap_or_preserved_newline(current_token); + this._previous_flags.multiline_frame = this._previous_flags.multiline_frame || this._flags.multiline_frame; + this._flags.multiline_frame = false; + } + } + if (this._flags.last_token.type !== TOKEN.OPERATOR && this._flags.last_token.type !== TOKEN.START_EXPR) { + if (this._flags.last_token.type === TOKEN.START_BLOCK && !this._flags.inline_frame) { + this.print_newline(); + } else { + this._output.space_before_token = true; + } + } + } + this.print_token(current_token); + this.indent(); +}; + +Beautifier.prototype.handle_end_block = function(current_token) { + // statements must all be closed when their container closes + this.handle_whitespace_and_comments(current_token); + + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + var empty_braces = this._flags.last_token.type === TOKEN.START_BLOCK; + + if (this._flags.inline_frame && !empty_braces) { // try inline_frame (only set if this._options.braces-preserve-inline) first + this._output.space_before_token = true; + } else if (this._options.brace_style === "expand") { + if (!empty_braces) { + this.print_newline(); + } + } else { + // skip {} + if (!empty_braces) { + if (is_array(this._flags.mode) && this._options.keep_array_indentation) { + // we REALLY need a newline here, but newliner would skip that + this._options.keep_array_indentation = false; + this.print_newline(); + this._options.keep_array_indentation = true; + + } else { + this.print_newline(); + } + } + } + this.restore_mode(); + this.print_token(current_token); +}; + +Beautifier.prototype.handle_word = function(current_token) { + if (current_token.type === TOKEN.RESERVED) { + if (in_array(current_token.text, ['set', 'get']) && this._flags.mode !== MODE.ObjectLiteral) { + current_token.type = TOKEN.WORD; + } else if (current_token.text === 'import' && this._tokens.peek().text === '(') { + current_token.type = TOKEN.WORD; + } else if (in_array(current_token.text, ['as', 'from']) && !this._flags.import_block) { + current_token.type = TOKEN.WORD; + } else if (this._flags.mode === MODE.ObjectLiteral) { + var next_token = this._tokens.peek(); + if (next_token.text === ':') { + current_token.type = TOKEN.WORD; + } + } + } + + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + if (reserved_array(this._flags.last_token, ['var', 'let', 'const']) && current_token.type === TOKEN.WORD) { + this._flags.declaration_statement = true; + } + } else if (current_token.newlines && !is_expression(this._flags.mode) && + (this._flags.last_token.type !== TOKEN.OPERATOR || (this._flags.last_token.text === '--' || this._flags.last_token.text === '++')) && + this._flags.last_token.type !== TOKEN.EQUALS && + (this._options.preserve_newlines || !reserved_array(this._flags.last_token, ['var', 'let', 'const', 'set', 'get']))) { + this.handle_whitespace_and_comments(current_token); + this.print_newline(); + } else { + this.handle_whitespace_and_comments(current_token); + } + + if (this._flags.do_block && !this._flags.do_while) { + if (reserved_word(current_token, 'while')) { + // do {} ## while () + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; + this._flags.do_while = true; + return; + } else { + // do {} should always have while as the next word. + // if we don't see the expected while, recover + this.print_newline(); + this._flags.do_block = false; + } + } + + // if may be followed by else, or not + // Bare/inline ifs are tricky + // Need to unwind the modes correctly: if (a) if (b) c(); else d(); else e(); + if (this._flags.if_block) { + if (!this._flags.else_block && reserved_word(current_token, 'else')) { + this._flags.else_block = true; + } else { + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + this._flags.if_block = false; + this._flags.else_block = false; + } + } + + if (this._flags.in_case_statement && reserved_array(current_token, ['case', 'default'])) { + this.print_newline(); + if (this._flags.case_body || this._options.jslint_happy) { + // switch cases following one another + this.deindent(); + this._flags.case_body = false; + } + this.print_token(current_token); + this._flags.in_case = true; + return; + } + + if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } + + if (reserved_word(current_token, 'function')) { + if (in_array(this._flags.last_token.text, ['}', ';']) || + (this._output.just_added_newline() && !(in_array(this._flags.last_token.text, ['(', '[', '{', ':', '=', ',']) || this._flags.last_token.type === TOKEN.OPERATOR))) { + // make sure there is a nice clean space of at least one blank line + // before a new function definition + if (!this._output.just_added_blankline() && !current_token.comments_before) { + this.print_newline(); + this.print_newline(true); + } + } + if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD) { + if (reserved_array(this._flags.last_token, ['get', 'set', 'new', 'export']) || + reserved_array(this._flags.last_token, newline_restricted_tokens)) { + this._output.space_before_token = true; + } else if (reserved_word(this._flags.last_token, 'default') && this._last_last_text === 'export') { + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'declare') { + // accomodates Typescript declare function formatting + this._output.space_before_token = true; + } else { + this.print_newline(); + } + } else if (this._flags.last_token.type === TOKEN.OPERATOR || this._flags.last_token.text === '=') { + // foo = function + this._output.space_before_token = true; + } else if (!this._flags.multiline_frame && (is_expression(this._flags.mode) || is_array(this._flags.mode))) { + // (function + } else { + this.print_newline(); + } + + this.print_token(current_token); + this._flags.last_word = current_token.text; + return; + } + + var prefix = 'NONE'; + + if (this._flags.last_token.type === TOKEN.END_BLOCK) { + + if (this._previous_flags.inline_frame) { + prefix = 'SPACE'; + } else if (!reserved_array(current_token, ['else', 'catch', 'finally', 'from'])) { + prefix = 'NEWLINE'; + } else { + if (this._options.brace_style === "expand" || + this._options.brace_style === "end-expand" || + (this._options.brace_style === "none" && current_token.newlines)) { + prefix = 'NEWLINE'; + } else { + prefix = 'SPACE'; + this._output.space_before_token = true; + } + } + } else if (this._flags.last_token.type === TOKEN.SEMICOLON && this._flags.mode === MODE.BlockStatement) { + // TODO: Should this be for STATEMENT as well? + prefix = 'NEWLINE'; + } else if (this._flags.last_token.type === TOKEN.SEMICOLON && is_expression(this._flags.mode)) { + prefix = 'SPACE'; + } else if (this._flags.last_token.type === TOKEN.STRING) { + prefix = 'NEWLINE'; + } else if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD || + (this._flags.last_token.text === '*' && + (in_array(this._last_last_text, ['function', 'yield']) || + (this._flags.mode === MODE.ObjectLiteral && in_array(this._last_last_text, ['{', ',']))))) { + prefix = 'SPACE'; + } else if (this._flags.last_token.type === TOKEN.START_BLOCK) { + if (this._flags.inline_frame) { + prefix = 'SPACE'; + } else { + prefix = 'NEWLINE'; + } + } else if (this._flags.last_token.type === TOKEN.END_EXPR) { + this._output.space_before_token = true; + prefix = 'NEWLINE'; + } + + if (reserved_array(current_token, line_starters) && this._flags.last_token.text !== ')') { + if (this._flags.inline_frame || this._flags.last_token.text === 'else' || this._flags.last_token.text === 'export') { + prefix = 'SPACE'; + } else { + prefix = 'NEWLINE'; + } + + } + + if (reserved_array(current_token, ['else', 'catch', 'finally'])) { + if ((!(this._flags.last_token.type === TOKEN.END_BLOCK && this._previous_flags.mode === MODE.BlockStatement) || + this._options.brace_style === "expand" || + this._options.brace_style === "end-expand" || + (this._options.brace_style === "none" && current_token.newlines)) && + !this._flags.inline_frame) { + this.print_newline(); + } else { + this._output.trim(true); + var line = this._output.current_line; + // If we trimmed and there's something other than a close block before us + // put a newline back in. Handles '} // comment' scenario. + if (line.last() !== '}') { + this.print_newline(); + } + this._output.space_before_token = true; + } + } else if (prefix === 'NEWLINE') { + if (reserved_array(this._flags.last_token, special_words)) { + // no newline between 'return nnn' + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'declare' && reserved_array(current_token, ['var', 'let', 'const'])) { + // accomodates Typescript declare formatting + this._output.space_before_token = true; + } else if (this._flags.last_token.type !== TOKEN.END_EXPR) { + if ((this._flags.last_token.type !== TOKEN.START_EXPR || !reserved_array(current_token, ['var', 'let', 'const'])) && this._flags.last_token.text !== ':') { + // no need to force newline on 'var': for (var x = 0...) + if (reserved_word(current_token, 'if') && reserved_word(current_token.previous, 'else')) { + // no newline for } else if { + this._output.space_before_token = true; + } else { + this.print_newline(); + } + } + } else if (reserved_array(current_token, line_starters) && this._flags.last_token.text !== ')') { + this.print_newline(); + } + } else if (this._flags.multiline_frame && is_array(this._flags.mode) && this._flags.last_token.text === ',' && this._last_last_text === '}') { + this.print_newline(); // }, in lists get a newline treatment + } else if (prefix === 'SPACE') { + this._output.space_before_token = true; + } + if (current_token.previous && (current_token.previous.type === TOKEN.WORD || current_token.previous.type === TOKEN.RESERVED)) { + this._output.space_before_token = true; + } + this.print_token(current_token); + this._flags.last_word = current_token.text; + + if (current_token.type === TOKEN.RESERVED) { + if (current_token.text === 'do') { + this._flags.do_block = true; + } else if (current_token.text === 'if') { + this._flags.if_block = true; + } else if (current_token.text === 'import') { + this._flags.import_block = true; + } else if (this._flags.import_block && reserved_word(current_token, 'from')) { + this._flags.import_block = false; + } + } +}; + +Beautifier.prototype.handle_semicolon = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + // Semicolon can be the start (and end) of a statement + this._output.space_before_token = false; + } else { + this.handle_whitespace_and_comments(current_token); + } + + var next_token = this._tokens.peek(); + while (this._flags.mode === MODE.Statement && + !(this._flags.if_block && reserved_word(next_token, 'else')) && + !this._flags.do_block) { + this.restore_mode(); + } + + // hacky but effective for the moment + if (this._flags.import_block) { + this._flags.import_block = false; + } + this.print_token(current_token); +}; + +Beautifier.prototype.handle_string = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + // One difference - strings want at least a space before + this._output.space_before_token = true; + } else { + this.handle_whitespace_and_comments(current_token); + if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD || this._flags.inline_frame) { + this._output.space_before_token = true; + } else if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } else { + this.print_newline(); + } + } + this.print_token(current_token); +}; + +Beautifier.prototype.handle_equals = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + this.handle_whitespace_and_comments(current_token); + } + + if (this._flags.declaration_statement) { + // just got an '=' in a var-line, different formatting/line-breaking, etc will now be done + this._flags.declaration_assignment = true; + } + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; +}; + +Beautifier.prototype.handle_comma = function(current_token) { + this.handle_whitespace_and_comments(current_token, true); + + this.print_token(current_token); + this._output.space_before_token = true; + if (this._flags.declaration_statement) { + if (is_expression(this._flags.parent.mode)) { + // do not break on comma, for(var a = 1, b = 2) + this._flags.declaration_assignment = false; + } + + if (this._flags.declaration_assignment) { + this._flags.declaration_assignment = false; + this.print_newline(false, true); + } else if (this._options.comma_first) { + // for comma-first, we want to allow a newline before the comma + // to turn into a newline after the comma, which we will fixup later + this.allow_wrap_or_preserved_newline(current_token); + } + } else if (this._flags.mode === MODE.ObjectLiteral || + (this._flags.mode === MODE.Statement && this._flags.parent.mode === MODE.ObjectLiteral)) { + if (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + if (!this._flags.inline_frame) { + this.print_newline(); + } + } else if (this._options.comma_first) { + // EXPR or DO_BLOCK + // for comma-first, we want to allow a newline before the comma + // to turn into a newline after the comma, which we will fixup later + this.allow_wrap_or_preserved_newline(current_token); + } +}; + +Beautifier.prototype.handle_operator = function(current_token) { + var isGeneratorAsterisk = current_token.text === '*' && + (reserved_array(this._flags.last_token, ['function', 'yield']) || + (in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.COMMA, TOKEN.END_BLOCK, TOKEN.SEMICOLON])) + ); + var isUnary = in_array(current_token.text, ['-', '+']) && ( + in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.START_EXPR, TOKEN.EQUALS, TOKEN.OPERATOR]) || + in_array(this._flags.last_token.text, line_starters) || + this._flags.last_token.text === ',' + ); + + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + var preserve_statement_flags = !isGeneratorAsterisk; + this.handle_whitespace_and_comments(current_token, preserve_statement_flags); + } + + if (reserved_array(this._flags.last_token, special_words)) { + // "return" had a special handling in TK_WORD. Now we need to return the favor + this._output.space_before_token = true; + this.print_token(current_token); + return; + } + + // hack for actionscript's import .*; + if (current_token.text === '*' && this._flags.last_token.type === TOKEN.DOT) { + this.print_token(current_token); + return; + } + + if (current_token.text === '::') { + // no spaces around exotic namespacing syntax operator + this.print_token(current_token); + return; + } + + // Allow line wrapping between operators when operator_position is + // set to before or preserve + if (this._flags.last_token.type === TOKEN.OPERATOR && in_array(this._options.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE)) { + this.allow_wrap_or_preserved_newline(current_token); + } + + if (current_token.text === ':' && this._flags.in_case) { + this._flags.case_body = true; + this.indent(); + this.print_token(current_token); + this.print_newline(); + this._flags.in_case = false; + return; + } + + var space_before = true; + var space_after = true; + var in_ternary = false; + if (current_token.text === ':') { + if (this._flags.ternary_depth === 0) { + // Colon is invalid javascript outside of ternary and object, but do our best to guess what was meant. + space_before = false; + } else { + this._flags.ternary_depth -= 1; + in_ternary = true; + } + } else if (current_token.text === '?') { + this._flags.ternary_depth += 1; + } + + // let's handle the operator_position option prior to any conflicting logic + if (!isUnary && !isGeneratorAsterisk && this._options.preserve_newlines && in_array(current_token.text, positionable_operators)) { + var isColon = current_token.text === ':'; + var isTernaryColon = (isColon && in_ternary); + var isOtherColon = (isColon && !in_ternary); + + switch (this._options.operator_position) { + case OPERATOR_POSITION.before_newline: + // if the current token is : and it's not a ternary statement then we set space_before to false + this._output.space_before_token = !isOtherColon; + + this.print_token(current_token); + + if (!isColon || isTernaryColon) { + this.allow_wrap_or_preserved_newline(current_token); + } + + this._output.space_before_token = true; + return; + + case OPERATOR_POSITION.after_newline: + // if the current token is anything but colon, or (via deduction) it's a colon and in a ternary statement, + // then print a newline. + + this._output.space_before_token = true; + + if (!isColon || isTernaryColon) { + if (this._tokens.peek().newlines) { + this.print_newline(false, true); + } else { + this.allow_wrap_or_preserved_newline(current_token); + } + } else { + this._output.space_before_token = false; + } + + this.print_token(current_token); + + this._output.space_before_token = true; + return; + + case OPERATOR_POSITION.preserve_newline: + if (!isOtherColon) { + this.allow_wrap_or_preserved_newline(current_token); + } + + // if we just added a newline, or the current token is : and it's not a ternary statement, + // then we set space_before to false + space_before = !(this._output.just_added_newline() || isOtherColon); + + this._output.space_before_token = space_before; + this.print_token(current_token); + this._output.space_before_token = true; + return; + } + } + + if (isGeneratorAsterisk) { + this.allow_wrap_or_preserved_newline(current_token); + space_before = false; + var next_token = this._tokens.peek(); + space_after = next_token && in_array(next_token.type, [TOKEN.WORD, TOKEN.RESERVED]); + } else if (current_token.text === '...') { + this.allow_wrap_or_preserved_newline(current_token); + space_before = this._flags.last_token.type === TOKEN.START_BLOCK; + space_after = false; + } else if (in_array(current_token.text, ['--', '++', '!', '~']) || isUnary) { + // unary operators (and binary +/- pretending to be unary) special cases + if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR) { + this.allow_wrap_or_preserved_newline(current_token); + } + + space_before = false; + space_after = false; + + // http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1 + // if there is a newline between -- or ++ and anything else we should preserve it. + if (current_token.newlines && (current_token.text === '--' || current_token.text === '++')) { + this.print_newline(false, true); + } + + if (this._flags.last_token.text === ';' && is_expression(this._flags.mode)) { + // for (;; ++i) + // ^^^ + space_before = true; + } + + if (this._flags.last_token.type === TOKEN.RESERVED) { + space_before = true; + } else if (this._flags.last_token.type === TOKEN.END_EXPR) { + space_before = !(this._flags.last_token.text === ']' && (current_token.text === '--' || current_token.text === '++')); + } else if (this._flags.last_token.type === TOKEN.OPERATOR) { + // a++ + ++b; + // a - -b + space_before = in_array(current_token.text, ['--', '-', '++', '+']) && in_array(this._flags.last_token.text, ['--', '-', '++', '+']); + // + and - are not unary when preceeded by -- or ++ operator + // a-- + b + // a * +b + // a - -b + if (in_array(current_token.text, ['+', '-']) && in_array(this._flags.last_token.text, ['--', '++'])) { + space_after = true; + } + } + + + if (((this._flags.mode === MODE.BlockStatement && !this._flags.inline_frame) || this._flags.mode === MODE.Statement) && + (this._flags.last_token.text === '{' || this._flags.last_token.text === ';')) { + // { foo; --i } + // foo(); --bar; + this.print_newline(); + } + } + + this._output.space_before_token = this._output.space_before_token || space_before; + this.print_token(current_token); + this._output.space_before_token = space_after; +}; + +Beautifier.prototype.handle_block_comment = function(current_token, preserve_statement_flags) { + if (this._output.raw) { + this._output.add_raw_token(current_token); + if (current_token.directives && current_token.directives.preserve === 'end') { + // If we're testing the raw output behavior, do not allow a directive to turn it off. + this._output.raw = this._options.test_output_raw; + } + return; + } + + if (current_token.directives) { + this.print_newline(false, preserve_statement_flags); + this.print_token(current_token); + if (current_token.directives.preserve === 'start') { + this._output.raw = true; + } + this.print_newline(false, true); + return; + } + + // inline block + if (!acorn.newline.test(current_token.text) && !current_token.newlines) { + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; + return; + } + + var lines = split_linebreaks(current_token.text); + var j; // iterator for this case + var javadoc = false; + var starless = false; + var lastIndent = current_token.whitespace_before; + var lastIndentLength = lastIndent.length; + + // block comment starts with a new line + this.print_newline(false, preserve_statement_flags); + if (lines.length > 1) { + javadoc = all_lines_start_with(lines.slice(1), '*'); + starless = each_line_matches_indent(lines.slice(1), lastIndent); + } + + // first line always indented + this.print_token(current_token, lines[0]); + for (j = 1; j < lines.length; j++) { + this.print_newline(false, true); + if (javadoc) { + // javadoc: reformat and re-indent + this.print_token(current_token, ' ' + ltrim(lines[j])); + } else if (starless && lines[j].length > lastIndentLength) { + // starless: re-indent non-empty content, avoiding trim + this.print_token(current_token, lines[j].substring(lastIndentLength)); + } else { + // normal comments output raw + this._output.add_token(lines[j]); + } + } + + // for comments of more than one line, make sure there's a new line after + this.print_newline(false, preserve_statement_flags); +}; + +Beautifier.prototype.handle_comment = function(current_token, preserve_statement_flags) { + if (current_token.newlines) { + this.print_newline(false, preserve_statement_flags); + } else { + this._output.trim(true); + } + + this._output.space_before_token = true; + this.print_token(current_token); + this.print_newline(false, preserve_statement_flags); +}; + +Beautifier.prototype.handle_dot = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + this.handle_whitespace_and_comments(current_token, true); + } + + if (reserved_array(this._flags.last_token, special_words)) { + this._output.space_before_token = false; + } else { + // allow preserved newlines before dots in general + // force newlines on dots after close paren when break_chained - for bar().baz() + this.allow_wrap_or_preserved_newline(current_token, + this._flags.last_token.text === ')' && this._options.break_chained_methods); + } + + // Only unindent chained method dot if this dot starts a new line. + // Otherwise the automatic extra indentation removal will handle the over indent + if (this._options.unindent_chained_methods && this._output.just_added_newline()) { + this.deindent(); + } + + this.print_token(current_token); +}; + +Beautifier.prototype.handle_unknown = function(current_token, preserve_statement_flags) { + this.print_token(current_token); + + if (current_token.text[current_token.text.length - 1] === '\n') { + this.print_newline(false, preserve_statement_flags); + } +}; + +Beautifier.prototype.handle_eof = function(current_token) { + // Unwind any open statements + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + this.handle_whitespace_and_comments(current_token); +}; + +module.exports.Beautifier = Beautifier; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function OutputLine(parent) { + this.__parent = parent; + this.__character_count = 0; + // use indent_count as a marker for this.__lines that have preserved indentation + this.__indent_count = -1; + this.__alignment_count = 0; + + this.__items = []; +} + +OutputLine.prototype.item = function(index) { + if (index < 0) { + return this.__items[this.__items.length + index]; + } else { + return this.__items[index]; + } +}; + +OutputLine.prototype.has_match = function(pattern) { + for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) { + if (this.__items[lastCheckedOutput].match(pattern)) { + return true; + } + } + return false; +}; + +OutputLine.prototype.set_indent = function(indent, alignment) { + this.__indent_count = indent || 0; + this.__alignment_count = alignment || 0; + this.__character_count = this.__parent.baseIndentLength + this.__alignment_count + this.__indent_count * this.__parent.indent_length; +}; + +OutputLine.prototype.get_character_count = function() { + return this.__character_count; +}; + +OutputLine.prototype.is_empty = function() { + return this.__items.length === 0; +}; + +OutputLine.prototype.last = function() { + if (!this.is_empty()) { + return this.__items[this.__items.length - 1]; + } else { + return null; + } +}; + +OutputLine.prototype.push = function(item) { + this.__items.push(item); + this.__character_count += item.length; +}; + +OutputLine.prototype.push_raw = function(item) { + this.push(item); + var last_newline_index = item.lastIndexOf('\n'); + if (last_newline_index !== -1) { + this.__character_count = item.length - last_newline_index; + } +}; + +OutputLine.prototype.pop = function() { + var item = null; + if (!this.is_empty()) { + item = this.__items.pop(); + this.__character_count -= item.length; + } + return item; +}; + +OutputLine.prototype.remove_indent = function() { + if (this.__indent_count > 0) { + this.__indent_count -= 1; + this.__character_count -= this.__parent.indent_length; + } +}; + +OutputLine.prototype.trim = function() { + while (this.last() === ' ') { + this.__items.pop(); + this.__character_count -= 1; + } +}; + +OutputLine.prototype.toString = function() { + var result = ''; + if (!this.is_empty()) { + if (this.__indent_count >= 0) { + result = this.__parent.get_indent_string(this.__indent_count); + } + if (this.__alignment_count >= 0) { + result += this.__parent.get_alignment_string(this.__alignment_count); + } + result += this.__items.join(''); + } + return result; +}; + +function IndentCache(base_string, level_string) { + this.__cache = [base_string]; + this.__level_string = level_string; +} + +IndentCache.prototype.__ensure_cache = function(level) { + while (level >= this.__cache.length) { + this.__cache.push(this.__cache[this.__cache.length - 1] + this.__level_string); + } +}; + +IndentCache.prototype.get_level_string = function(level) { + this.__ensure_cache(level); + return this.__cache[level]; +}; + + +function Output(options, baseIndentString) { + var indent_string = options.indent_char; + if (options.indent_size > 1) { + indent_string = new Array(options.indent_size + 1).join(options.indent_char); + } + + // Set to null to continue support for auto detection of base indent level. + baseIndentString = baseIndentString || ''; + if (options.indent_level > 0) { + baseIndentString = new Array(options.indent_level + 1).join(indent_string); + } + + this.__indent_cache = new IndentCache(baseIndentString, indent_string); + this.__alignment_cache = new IndentCache('', ' '); + this.baseIndentLength = baseIndentString.length; + this.indent_length = indent_string.length; + this.raw = false; + this._end_with_newline = options.end_with_newline; + + this.__lines = []; + this.previous_line = null; + this.current_line = null; + this.space_before_token = false; + // initialize + this.__add_outputline(); +} + +Output.prototype.__add_outputline = function() { + this.previous_line = this.current_line; + this.current_line = new OutputLine(this); + this.__lines.push(this.current_line); +}; + +Output.prototype.get_line_number = function() { + return this.__lines.length; +}; + +Output.prototype.get_indent_string = function(level) { + return this.__indent_cache.get_level_string(level); +}; + +Output.prototype.get_alignment_string = function(level) { + return this.__alignment_cache.get_level_string(level); +}; + +Output.prototype.is_empty = function() { + return !this.previous_line && this.current_line.is_empty(); +}; + +Output.prototype.add_new_line = function(force_newline) { + // never newline at the start of file + // otherwise, newline only if we didn't just add one or we're forced + if (this.is_empty() || + (!force_newline && this.just_added_newline())) { + return false; + } + + // if raw output is enabled, don't print additional newlines, + // but still return True as though you had + if (!this.raw) { + this.__add_outputline(); + } + return true; +}; + +Output.prototype.get_code = function(eol) { + var sweet_code = this.__lines.join('\n').replace(/[\r\n\t ]+$/, ''); + + if (this._end_with_newline) { + sweet_code += '\n'; + } + + if (eol !== '\n') { + sweet_code = sweet_code.replace(/[\n]/g, eol); + } + + return sweet_code; +}; + +Output.prototype.set_indent = function(indent, alignment) { + indent = indent || 0; + alignment = alignment || 0; + + // Never indent your first output indent at the start of the file + if (this.__lines.length > 1) { + this.current_line.set_indent(indent, alignment); + return true; + } + this.current_line.set_indent(); + return false; +}; + +Output.prototype.add_raw_token = function(token) { + for (var x = 0; x < token.newlines; x++) { + this.__add_outputline(); + } + this.current_line.push(token.whitespace_before); + this.current_line.push_raw(token.text); + this.space_before_token = false; +}; + +Output.prototype.add_token = function(printable_token) { + this.add_space_before_token(); + this.current_line.push(printable_token); +}; + +Output.prototype.add_space_before_token = function() { + if (this.space_before_token && !this.just_added_newline()) { + this.current_line.push(' '); + } + this.space_before_token = false; +}; + +Output.prototype.remove_indent = function(index) { + var output_length = this.__lines.length; + while (index < output_length) { + this.__lines[index].remove_indent(); + index++; + } +}; + +Output.prototype.trim = function(eat_newlines) { + eat_newlines = (eat_newlines === undefined) ? false : eat_newlines; + + this.current_line.trim(this.indent_string, this.baseIndentString); + + while (eat_newlines && this.__lines.length > 1 && + this.current_line.is_empty()) { + this.__lines.pop(); + this.current_line = this.__lines[this.__lines.length - 1]; + this.current_line.trim(); + } + + this.previous_line = this.__lines.length > 1 ? + this.__lines[this.__lines.length - 2] : null; +}; + +Output.prototype.just_added_newline = function() { + return this.current_line.is_empty(); +}; + +Output.prototype.just_added_blankline = function() { + return this.is_empty() || + (this.current_line.is_empty() && this.previous_line.is_empty()); +}; + +Output.prototype.ensure_empty_line_above = function(starts_with, ends_with) { + var index = this.__lines.length - 2; + while (index >= 0) { + var potentialEmptyLine = this.__lines[index]; + if (potentialEmptyLine.is_empty()) { + break; + } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 && + potentialEmptyLine.item(-1) !== ends_with) { + this.__lines.splice(index + 1, 0, new OutputLine(this)); + this.previous_line = this.__lines[this.__lines.length - 2]; + break; + } + index--; + } +}; + +module.exports.Output = Output; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Token(type, text, newlines, whitespace_before) { + this.type = type; + this.text = text; + + // comments_before are + // comments that have a new line before them + // and may or may not have a newline after + // this is a set of comments before + this.comments_before = null; /* inline comment*/ + + + // this.comments_after = new TokenStream(); // no new line before and newline after + this.newlines = newlines || 0; + this.whitespace_before = whitespace_before || ''; + this.parent = null; + this.next = null; + this.previous = null; + this.opened = null; + this.closed = null; + this.directives = null; +} + + +module.exports.Token = Token; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* jshint node: true, curly: false */ +// Parts of this section of code is taken from acorn. +// +// Acorn was written by Marijn Haverbeke and released under an MIT +// license. The Unicode regexps (for identifiers and whitespace) were +// taken from [Esprima](http://esprima.org) by Ariya Hidayat. +// +// Git repositories for Acorn are available at +// +// http://marijnhaverbeke.nl/git/acorn +// https://github.com/marijnh/acorn.git + +// ## Character categories + + + + +// acorn used char codes to squeeze the last bit of performance out +// Beautifier is okay without that, so we're using regex +// permit $ (36) and @ (64). @ is used in ES7 decorators. +// 65 through 91 are uppercase letters. +// permit _ (95). +// 97 through 123 are lowercase letters. +var baseASCIIidentifierStartChars = "\x24\x40\x41-\x5a\x5f\x61-\x7a"; + +// inside an identifier @ is not allowed but 0-9 are. +var baseASCIIidentifierChars = "\x24\x30-\x39\x41-\x5a\x5f\x61-\x7a"; + +// Big ugly regular expressions that match characters in the +// whitespace, identifier, and identifier-start categories. These +// are only applied when a character is found to actually have a +// code point above 128. +var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +var nonASCIIidentifierChars = "\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +//var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +//var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + +var identifierStart = "[" + baseASCIIidentifierStartChars + nonASCIIidentifierStartChars + "]"; +var identifierChars = "[" + baseASCIIidentifierChars + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]*"; + +exports.identifier = new RegExp(identifierStart + identifierChars, 'g'); + + +var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; // jshint ignore:line + +// Whether a single character denotes a newline. + +exports.newline = /[\n\r\u2028\u2029]/; + +// Matches a whole line break (where CRLF is considered a single +// line break). Used to count lines. + +// in javascript, these two differ +// in python they are the same, different methods are called on them +exports.lineBreak = new RegExp('\r\n|' + exports.newline.source); +exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g'); + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseOptions = __webpack_require__(7).Options; + +var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline']; + +function Options(options) { + BaseOptions.call(this, options, 'js'); + + // compatibility, re + var raw_brace_style = this.raw_options.brace_style || null; + if (raw_brace_style === "expand-strict") { //graceful handling of deprecated option + this.raw_options.brace_style = "expand"; + } else if (raw_brace_style === "collapse-preserve-inline") { //graceful handling of deprecated option + this.raw_options.brace_style = "collapse,preserve-inline"; + } else if (this.raw_options.braces_on_own_line !== undefined) { //graceful handling of deprecated option + this.raw_options.brace_style = this.raw_options.braces_on_own_line ? "expand" : "collapse"; + // } else if (!raw_brace_style) { //Nothing exists to set it + // raw_brace_style = "collapse"; + } + + //preserve-inline in delimited string will trigger brace_preserve_inline, everything + //else is considered a brace_style and the last one only will have an effect + + var brace_style_split = this._get_selection_list('brace_style', ['collapse', 'expand', 'end-expand', 'none', 'preserve-inline']); + + this.brace_preserve_inline = false; //Defaults in case one or other was not specified in meta-option + this.brace_style = "collapse"; + + for (var bs = 0; bs < brace_style_split.length; bs++) { + if (brace_style_split[bs] === "preserve-inline") { + this.brace_preserve_inline = true; + } else { + this.brace_style = brace_style_split[bs]; + } + } + + this.unindent_chained_methods = this._get_boolean('unindent_chained_methods'); + this.break_chained_methods = this._get_boolean('break_chained_methods'); + this.space_in_paren = this._get_boolean('space_in_paren'); + this.space_in_empty_paren = this._get_boolean('space_in_empty_paren'); + this.jslint_happy = this._get_boolean('jslint_happy'); + this.space_after_anon_function = this._get_boolean('space_after_anon_function'); + this.space_after_named_function = this._get_boolean('space_after_named_function'); + this.keep_array_indentation = this._get_boolean('keep_array_indentation'); + this.space_before_conditional = this._get_boolean('space_before_conditional', true); + this.unescape_strings = this._get_boolean('unescape_strings'); + this.e4x = this._get_boolean('e4x'); + this.comma_first = this._get_boolean('comma_first'); + this.operator_position = this._get_selection('operator_position', validPositionValues); + + // For testing of beautify preserve:start directive + this.test_output_raw = this._get_boolean('test_output_raw'); + + // force this._options.space_after_anon_function to true if this._options.jslint_happy + if (this.jslint_happy) { + this.space_after_anon_function = true; + } + +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Options(options, merge_child_field) { + this.raw_options = _mergeOpts(options, merge_child_field); + + // Support passing the source text back with no change + this.disabled = this._get_boolean('disabled'); + + this.eol = this._get_characters('eol', 'auto'); + this.end_with_newline = this._get_boolean('end_with_newline'); + this.indent_size = this._get_number('indent_size', 4); + this.indent_char = this._get_characters('indent_char', ' '); + this.indent_level = this._get_number('indent_level'); + + this.preserve_newlines = this._get_boolean('preserve_newlines', true); + this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786); + if (!this.preserve_newlines) { + this.max_preserve_newlines = 0; + } + + this.indent_with_tabs = this._get_boolean('indent_with_tabs'); + if (this.indent_with_tabs) { + this.indent_char = '\t'; + this.indent_size = 1; + } + + // Backwards compat with 1.3.x + this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char')); + +} + +Options.prototype._get_array = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || []; + if (typeof option_value === 'object') { + if (option_value !== null && typeof option_value.concat === 'function') { + result = option_value.concat(); + } + } else if (typeof option_value === 'string') { + result = option_value.split(/[^a-zA-Z0-9_\/\-]+/); + } + return result; +}; + +Options.prototype._get_boolean = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = option_value === undefined ? !!default_value : !!option_value; + return result; +}; + +Options.prototype._get_characters = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || ''; + if (typeof option_value === 'string') { + result = option_value.replace(/\\r/, '\r').replace(/\\n/, '\n').replace(/\\t/, '\t'); + } + return result; +}; + +Options.prototype._get_number = function(name, default_value) { + var option_value = this.raw_options[name]; + default_value = parseInt(default_value, 10); + if (isNaN(default_value)) { + default_value = 0; + } + var result = parseInt(option_value, 10); + if (isNaN(result)) { + result = default_value; + } + return result; +}; + +Options.prototype._get_selection = function(name, selection_list, default_value) { + var result = this._get_selection_list(name, selection_list, default_value); + if (result.length !== 1) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can only be one of the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result[0]; +}; + + +Options.prototype._get_selection_list = function(name, selection_list, default_value) { + if (!selection_list || selection_list.length === 0) { + throw new Error("Selection list cannot be empty."); + } + + default_value = default_value || [selection_list[0]]; + if (!this._is_valid_selection(default_value, selection_list)) { + throw new Error("Invalid Default Value!"); + } + + var result = this._get_array(name, default_value); + if (!this._is_valid_selection(result, selection_list)) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can contain only the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result; +}; + +Options.prototype._is_valid_selection = function(result, selection_list) { + return result.length && selection_list.length && + !result.some(function(item) { return selection_list.indexOf(item) === -1; }); +}; + + +// merges child options up with the parent options object +// Example: obj = {a: 1, b: {a: 2}} +// mergeOpts(obj, 'b') +// +// Returns: {a: 2} +function _mergeOpts(allOptions, childFieldName) { + var finalOpts = {}; + allOptions = _normalizeOpts(allOptions); + var name; + + for (name in allOptions) { + if (name !== childFieldName) { + finalOpts[name] = allOptions[name]; + } + } + + //merge in the per type settings for the childFieldName + if (childFieldName && allOptions[childFieldName]) { + for (name in allOptions[childFieldName]) { + finalOpts[name] = allOptions[childFieldName][name]; + } + } + return finalOpts; +} + +function _normalizeOpts(options) { + var convertedOpts = {}; + var key; + + for (key in options) { + var newKey = key.replace(/-/g, "_"); + convertedOpts[newKey] = options[key]; + } + return convertedOpts; +} + +module.exports.Options = Options; +module.exports.normalizeOpts = _normalizeOpts; +module.exports.mergeOpts = _mergeOpts; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var InputScanner = __webpack_require__(9).InputScanner; +var BaseTokenizer = __webpack_require__(10).Tokenizer; +var BASETOKEN = __webpack_require__(10).TOKEN; +var Directives = __webpack_require__(12).Directives; +var acorn = __webpack_require__(5); + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + + +var TOKEN = { + START_EXPR: 'TK_START_EXPR', + END_EXPR: 'TK_END_EXPR', + START_BLOCK: 'TK_START_BLOCK', + END_BLOCK: 'TK_END_BLOCK', + WORD: 'TK_WORD', + RESERVED: 'TK_RESERVED', + SEMICOLON: 'TK_SEMICOLON', + STRING: 'TK_STRING', + EQUALS: 'TK_EQUALS', + OPERATOR: 'TK_OPERATOR', + COMMA: 'TK_COMMA', + BLOCK_COMMENT: 'TK_BLOCK_COMMENT', + COMMENT: 'TK_COMMENT', + DOT: 'TK_DOT', + UNKNOWN: 'TK_UNKNOWN', + START: BASETOKEN.START, + RAW: BASETOKEN.RAW, + EOF: BASETOKEN.EOF +}; + + +var directives_core = new Directives(/\/\*/, /\*\//); + +var number_pattern = /0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/g; + +var digit = /[0-9]/; + +// Dot "." must be distinguished from "..." and decimal +var dot_pattern = /[^\d\.]/; + +var positionable_operators = ( + ">>> === !== " + + "<< && >= ** != == <= >> || " + + "< / - + > : & % ? ^ | *").split(' '); + +// IMPORTANT: this must be sorted longest to shortest or tokenizing many not work. +// Also, you must update possitionable operators separately from punct +var punct = + ">>>= " + + "... >>= <<= === >>> !== **= " + + "=> ^= :: /= << <= == && -= >= >> != -- += ** || ++ %= &= *= |= " + + "= ! ? > < : / ^ - + * & % ~ |"; + +punct = punct.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&"); +punct = punct.replace(/ /g, '|'); + +var punct_pattern = new RegExp(punct, 'g'); +var shebang_pattern = /#![^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g; +var include_pattern = /#include[^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g; + +// words which should always start on new line. +var line_starters = 'continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export'.split(','); +var reserved_words = line_starters.concat(['do', 'in', 'of', 'else', 'get', 'set', 'new', 'catch', 'finally', 'typeof', 'yield', 'async', 'await', 'from', 'as']); +var reserved_word_pattern = new RegExp('^(?:' + reserved_words.join('|') + ')$'); + +// /* ... */ comment ends with nearest */ or end of file +var block_comment_pattern = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g; + +// comment ends just before nearest linefeed or end of file +var comment_pattern = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + +var template_pattern = /(?:(?:<\?php|<\?=)[\s\S]*?\?>)|(?:<%[\s\S]*?%>)/g; + +var in_html_comment; + +var Tokenizer = function(input_string, options) { + BaseTokenizer.call(this, input_string, options); + + this._whitespace_pattern = /[\n\r\u2028\u2029\t\u000B\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff ]+/g; + this._newline_pattern = /([^\n\r\u2028\u2029]*)(\r\n|[\n\r\u2028\u2029])?/g; +}; +Tokenizer.prototype = new BaseTokenizer(); + +Tokenizer.prototype._is_comment = function(current_token) { + return current_token.type === TOKEN.COMMENT || current_token.type === TOKEN.BLOCK_COMMENT || current_token.type === TOKEN.UNKNOWN; +}; + +Tokenizer.prototype._is_opening = function(current_token) { + return current_token.type === TOKEN.START_BLOCK || current_token.type === TOKEN.START_EXPR; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { + return (current_token.type === TOKEN.END_BLOCK || current_token.type === TOKEN.END_EXPR) && + (open_token && ( + (current_token.text === ']' && open_token.text === '[') || + (current_token.text === ')' && open_token.text === '(') || + (current_token.text === '}' && open_token.text === '{'))); +}; + +Tokenizer.prototype._reset = function() { + in_html_comment = false; +}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var token = null; + var c = this._input.peek(); + + token = token || this._read_singles(c); + token = token || this._read_word(previous_token); + token = token || this._read_comment(c); + token = token || this._read_string(c); + token = token || this._read_regexp(c, previous_token); + token = token || this._read_xml(c, previous_token); + token = token || this._read_non_javascript(c); + token = token || this._read_punctuation(); + token = token || this._create_token(TOKEN.UNKNOWN, this._input.next()); + + return token; +}; + +Tokenizer.prototype._read_word = function(previous_token) { + var resulting_string; + resulting_string = this._input.read(acorn.identifier); + if (resulting_string !== '') { + if (!(previous_token.type === TOKEN.DOT || + (previous_token.type === TOKEN.RESERVED && (previous_token.text === 'set' || previous_token.text === 'get'))) && + reserved_word_pattern.test(resulting_string)) { + if (resulting_string === 'in' || resulting_string === 'of') { // hack for 'in' and 'of' operators + return this._create_token(TOKEN.OPERATOR, resulting_string); + } + return this._create_token(TOKEN.RESERVED, resulting_string); + } + + return this._create_token(TOKEN.WORD, resulting_string); + } + + resulting_string = this._input.read(number_pattern); + if (resulting_string !== '') { + return this._create_token(TOKEN.WORD, resulting_string); + } +}; + +Tokenizer.prototype._read_singles = function(c) { + var token = null; + if (c === null) { + token = this._create_token(TOKEN.EOF, ''); + } else if (c === '(' || c === '[') { + token = this._create_token(TOKEN.START_EXPR, c); + } else if (c === ')' || c === ']') { + token = this._create_token(TOKEN.END_EXPR, c); + } else if (c === '{') { + token = this._create_token(TOKEN.START_BLOCK, c); + } else if (c === '}') { + token = this._create_token(TOKEN.END_BLOCK, c); + } else if (c === ';') { + token = this._create_token(TOKEN.SEMICOLON, c); + } else if (c === '.' && dot_pattern.test(this._input.peek(1))) { + token = this._create_token(TOKEN.DOT, c); + } else if (c === ',') { + token = this._create_token(TOKEN.COMMA, c); + } + + if (token) { + this._input.next(); + } + return token; +}; + +Tokenizer.prototype._read_punctuation = function() { + var resulting_string = this._input.read(punct_pattern); + + if (resulting_string !== '') { + if (resulting_string === '=') { + return this._create_token(TOKEN.EQUALS, resulting_string); + } else { + return this._create_token(TOKEN.OPERATOR, resulting_string); + } + } +}; + +Tokenizer.prototype._read_non_javascript = function(c) { + var resulting_string = ''; + + if (c === '#') { + if (this._is_first_token()) { + resulting_string = this._input.read(shebang_pattern); + + if (resulting_string) { + return this._create_token(TOKEN.UNKNOWN, resulting_string.trim() + '\n'); + } + } + + // handles extendscript #includes + resulting_string = this._input.read(include_pattern); + + if (resulting_string) { + return this._create_token(TOKEN.UNKNOWN, resulting_string.trim() + '\n'); + } + + c = this._input.next(); + + // Spidermonkey-specific sharp variables for circular references. Considered obsolete. + var sharp = '#'; + if (this._input.hasNext() && this._input.testChar(digit)) { + do { + c = this._input.next(); + sharp += c; + } while (this._input.hasNext() && c !== '#' && c !== '='); + if (c === '#') { + // + } else if (this._input.peek() === '[' && this._input.peek(1) === ']') { + sharp += '[]'; + this._input.next(); + this._input.next(); + } else if (this._input.peek() === '{' && this._input.peek(1) === '}') { + sharp += '{}'; + this._input.next(); + this._input.next(); + } + return this._create_token(TOKEN.WORD, sharp); + } + + this._input.back(); + + } else if (c === '<') { + if (this._input.peek(1) === '?' || this._input.peek(1) === '%') { + resulting_string = this._input.read(template_pattern); + if (resulting_string) { + resulting_string = resulting_string.replace(acorn.allLineBreaks, '\n'); + return this._create_token(TOKEN.STRING, resulting_string); + } + } else if (this._input.match(/<\!--/g)) { + c = '/g)) { + in_html_comment = false; + return this._create_token(TOKEN.COMMENT, '-->'); + } + + return null; +}; + +Tokenizer.prototype._read_comment = function(c) { + var token = null; + if (c === '/') { + var comment = ''; + if (this._input.peek(1) === '*') { + // peek for comment /* ... */ + comment = this._input.read(block_comment_pattern); + var directives = directives_core.get_directives(comment); + if (directives && directives.ignore === 'start') { + comment += directives_core.readIgnored(this._input); + } + comment = comment.replace(acorn.allLineBreaks, '\n'); + token = this._create_token(TOKEN.BLOCK_COMMENT, comment); + token.directives = directives; + } else if (this._input.peek(1) === '/') { + // peek for comment // ... + comment = this._input.read(comment_pattern); + token = this._create_token(TOKEN.COMMENT, comment); + } + } + return token; +}; + +Tokenizer.prototype._read_string = function(c) { + if (c === '`' || c === "'" || c === '"') { + var resulting_string = this._input.next(); + this.has_char_escapes = false; + + if (c === '`') { + resulting_string += this._read_string_recursive('`', true, '${'); + } else { + resulting_string += this._read_string_recursive(c); + } + + if (this.has_char_escapes && this._options.unescape_strings) { + resulting_string = unescape_string(resulting_string); + } + if (this._input.peek() === c) { + resulting_string += this._input.next(); + } + + return this._create_token(TOKEN.STRING, resulting_string); + } + + return null; +}; + +Tokenizer.prototype._allow_regexp_or_xml = function(previous_token) { + // regex and xml can only appear in specific locations during parsing + return (previous_token.type === TOKEN.RESERVED && in_array(previous_token.text, ['return', 'case', 'throw', 'else', 'do', 'typeof', 'yield'])) || + (previous_token.type === TOKEN.END_EXPR && previous_token.text === ')' && + previous_token.opened.previous.type === TOKEN.RESERVED && in_array(previous_token.opened.previous.text, ['if', 'while', 'for'])) || + (in_array(previous_token.type, [TOKEN.COMMENT, TOKEN.START_EXPR, TOKEN.START_BLOCK, TOKEN.START, + TOKEN.END_BLOCK, TOKEN.OPERATOR, TOKEN.EQUALS, TOKEN.EOF, TOKEN.SEMICOLON, TOKEN.COMMA + ])); +}; + +Tokenizer.prototype._read_regexp = function(c, previous_token) { + + if (c === '/' && this._allow_regexp_or_xml(previous_token)) { + // handle regexp + // + var resulting_string = this._input.next(); + var esc = false; + + var in_char_class = false; + while (this._input.hasNext() && + ((esc || in_char_class || this._input.peek() !== c) && + !this._input.testChar(acorn.newline))) { + resulting_string += this._input.peek(); + if (!esc) { + esc = this._input.peek() === '\\'; + if (this._input.peek() === '[') { + in_char_class = true; + } else if (this._input.peek() === ']') { + in_char_class = false; + } + } else { + esc = false; + } + this._input.next(); + } + + if (this._input.peek() === c) { + resulting_string += this._input.next(); + + // regexps may have modifiers /regexp/MOD , so fetch those, too + // Only [gim] are valid, but if the user puts in garbage, do what we can to take it. + resulting_string += this._input.read(acorn.identifier); + } + return this._create_token(TOKEN.STRING, resulting_string); + } + return null; +}; + + +var startXmlRegExp = /<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; +var xmlRegExp = /[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; + +Tokenizer.prototype._read_xml = function(c, previous_token) { + + if (this._options.e4x && c === "<" && this._input.test(startXmlRegExp) && this._allow_regexp_or_xml(previous_token)) { + // handle e4x xml literals + // + var xmlStr = ''; + var match = this._input.match(startXmlRegExp); + if (match) { + // Trim root tag to attempt to + var rootTag = match[2].replace(/^{\s+/, '{').replace(/\s+}$/, '}'); + var isCurlyRoot = rootTag.indexOf('{') === 0; + var depth = 0; + while (match) { + var isEndTag = !!match[1]; + var tagName = match[2]; + var isSingletonTag = (!!match[match.length - 1]) || (tagName.slice(0, 8) === "![CDATA["); + if (!isSingletonTag && + (tagName === rootTag || (isCurlyRoot && tagName.replace(/^{\s+/, '{').replace(/\s+}$/, '}')))) { + if (isEndTag) { + --depth; + } else { + ++depth; + } + } + xmlStr += match[0]; + if (depth <= 0) { + break; + } + match = this._input.match(xmlRegExp); + } + // if we didn't close correctly, keep unformatted. + if (!match) { + xmlStr += this._input.match(/[\s\S]*/g)[0]; + } + xmlStr = xmlStr.replace(acorn.allLineBreaks, '\n'); + return this._create_token(TOKEN.STRING, xmlStr); + } + } + + return null; +}; + +function unescape_string(s) { + // You think that a regex would work for this + // return s.replace(/\\x([0-9a-f]{2})/gi, function(match, val) { + // return String.fromCharCode(parseInt(val, 16)); + // }) + // However, dealing with '\xff', '\\xff', '\\\xff' makes this more fun. + var out = '', + escaped = 0; + + var input_scan = new InputScanner(s); + var matched = null; + + while (input_scan.hasNext()) { + // Keep any whitespace, non-slash characters + // also keep slash pairs. + matched = input_scan.match(/([\s]|[^\\]|\\\\)+/g); + + if (matched) { + out += matched[0]; + } + + if (input_scan.peek() === '\\') { + input_scan.next(); + if (input_scan.peek() === 'x') { + matched = input_scan.match(/x([0-9A-Fa-f]{2})/g); + } else if (input_scan.peek() === 'u') { + matched = input_scan.match(/u([0-9A-Fa-f]{4})/g); + } else { + out += '\\'; + if (input_scan.hasNext()) { + out += input_scan.next(); + } + continue; + } + + // If there's some error decoding, return the original string + if (!matched) { + return s; + } + + escaped = parseInt(matched[1], 16); + + if (escaped > 0x7e && escaped <= 0xff && matched[0].indexOf('x') === 0) { + // we bail out on \x7f..\xff, + // leaving whole string escaped, + // as it's probably completely binary + return s; + } else if (escaped >= 0x00 && escaped < 0x20) { + // leave 0x00...0x1f escaped + out += '\\' + matched[0]; + continue; + } else if (escaped === 0x22 || escaped === 0x27 || escaped === 0x5c) { + // single-quote, apostrophe, backslash - escape these + out += '\\' + String.fromCharCode(escaped); + } else { + out += String.fromCharCode(escaped); + } + } + } + + return out; +} + +// handle string +// +Tokenizer.prototype._read_string_recursive = function(delimiter, allow_unescaped_newlines, start_sub) { + // Template strings can travers lines without escape characters. + // Other strings cannot + var current_char; + var resulting_string = ''; + var esc = false; + while (this._input.hasNext()) { + current_char = this._input.peek(); + if (!(esc || (current_char !== delimiter && + (allow_unescaped_newlines || !acorn.newline.test(current_char))))) { + break; + } + + // Handle \r\n linebreaks after escapes or in template strings + if ((esc || allow_unescaped_newlines) && acorn.newline.test(current_char)) { + if (current_char === '\r' && this._input.peek(1) === '\n') { + this._input.next(); + current_char = this._input.peek(); + } + resulting_string += '\n'; + } else { + resulting_string += current_char; + } + + if (esc) { + if (current_char === 'x' || current_char === 'u') { + this.has_char_escapes = true; + } + esc = false; + } else { + esc = current_char === '\\'; + } + + this._input.next(); + + if (start_sub && resulting_string.indexOf(start_sub, resulting_string.length - start_sub.length) !== -1) { + if (delimiter === '`') { + resulting_string += this._read_string_recursive('}', allow_unescaped_newlines, '`'); + } else { + resulting_string += this._read_string_recursive('`', allow_unescaped_newlines, '${'); + } + + if (this._input.hasNext()) { + resulting_string += this._input.next(); + } + } + } + + return resulting_string; +}; + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; +module.exports.positionable_operators = positionable_operators.slice(); +module.exports.line_starters = line_starters.slice(); + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function InputScanner(input_string) { + this.__input = input_string || ''; + this.__input_length = this.__input.length; + this.__position = 0; +} + +InputScanner.prototype.restart = function() { + this.__position = 0; +}; + +InputScanner.prototype.back = function() { + if (this.__position > 0) { + this.__position -= 1; + } +}; + +InputScanner.prototype.hasNext = function() { + return this.__position < this.__input_length; +}; + +InputScanner.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__input.charAt(this.__position); + this.__position += 1; + } + return val; +}; + +InputScanner.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__input_length) { + val = this.__input.charAt(index); + } + return val; +}; + +InputScanner.prototype.test = function(pattern, index) { + index = index || 0; + index += this.__position; + pattern.lastIndex = index; + + if (index >= 0 && index < this.__input_length) { + var pattern_match = pattern.exec(this.__input); + return pattern_match && pattern_match.index === index; + } else { + return false; + } +}; + +InputScanner.prototype.testChar = function(pattern, index) { + // test one character regex match + var val = this.peek(index); + return val !== null && pattern.test(val); +}; + +InputScanner.prototype.match = function(pattern) { + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match && pattern_match.index === this.__position) { + this.__position += pattern_match[0].length; + } else { + pattern_match = null; + } + return pattern_match; +}; + +InputScanner.prototype.read = function(pattern) { + var val = ''; + var match = this.match(pattern); + if (match) { + val = match[0]; + } + return val; +}; + +InputScanner.prototype.readUntil = function(pattern, include_match) { + var val = ''; + var match_index = this.__position; + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match) { + if (include_match) { + match_index = pattern_match.index + pattern_match[0].length; + } else { + match_index = pattern_match.index; + } + } else { + match_index = this.__input_length; + } + + val = this.__input.substring(this.__position, match_index); + this.__position = match_index; + return val; +}; + +InputScanner.prototype.readUntilAfter = function(pattern) { + return this.readUntil(pattern, true); +}; + +/* css beautifier legacy helpers */ +InputScanner.prototype.peekUntilAfter = function(pattern) { + var start = this.__position; + var val = this.readUntilAfter(pattern); + this.__position = start; + return val; +}; + +InputScanner.prototype.lookBack = function(testVal) { + var start = this.__position - 1; + return start >= testVal.length && this.__input.substring(start - testVal.length, start) + .toLowerCase() === testVal; +}; + + +module.exports.InputScanner = InputScanner; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var InputScanner = __webpack_require__(9).InputScanner; +var Token = __webpack_require__(4).Token; +var TokenStream = __webpack_require__(11).TokenStream; + +var TOKEN = { + START: 'TK_START', + RAW: 'TK_RAW', + EOF: 'TK_EOF' +}; + +var Tokenizer = function(input_string, options) { + this._input = new InputScanner(input_string); + this._options = options || {}; + this.__tokens = null; + this.__newline_count = 0; + this.__whitespace_before_token = ''; + + this._whitespace_pattern = /[\n\r\t ]+/g; + this._newline_pattern = /([^\n\r]*)(\r\n|[\n\r])?/g; +}; + +Tokenizer.prototype.tokenize = function() { + this._input.restart(); + this.__tokens = new TokenStream(); + + this._reset(); + + var current; + var previous = new Token(TOKEN.START, ''); + var open_token = null; + var open_stack = []; + var comments = new TokenStream(); + + while (previous.type !== TOKEN.EOF) { + current = this._get_next_token(previous, open_token); + while (this._is_comment(current)) { + comments.add(current); + current = this._get_next_token(previous, open_token); + } + + if (!comments.isEmpty()) { + current.comments_before = comments; + comments = new TokenStream(); + } + + current.parent = open_token; + + if (this._is_opening(current)) { + open_stack.push(open_token); + open_token = current; + } else if (open_token && this._is_closing(current, open_token)) { + current.opened = open_token; + open_token.closed = current; + open_token = open_stack.pop(); + current.parent = open_token; + } + + current.previous = previous; + previous.next = current; + + this.__tokens.add(current); + previous = current; + } + + return this.__tokens; +}; + + +Tokenizer.prototype._is_first_token = function() { + return this.__tokens.isEmpty(); +}; + +Tokenizer.prototype._reset = function() {}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var resulting_string = this._input.read(/.+/g); + if (resulting_string) { + return this._create_token(TOKEN.RAW, resulting_string); + } else { + return this._create_token(TOKEN.EOF, ''); + } +}; + +Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._is_opening = function(current_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._create_token = function(type, text) { + var token = new Token(type, text, this.__newline_count, this.__whitespace_before_token); + this.__newline_count = 0; + this.__whitespace_before_token = ''; + return token; +}; + +Tokenizer.prototype._readWhitespace = function() { + var resulting_string = this._input.read(this._whitespace_pattern); + if (resulting_string === ' ') { + this.__whitespace_before_token = resulting_string; + } else if (resulting_string !== '') { + this._newline_pattern.lastIndex = 0; + var nextMatch = this._newline_pattern.exec(resulting_string); + while (nextMatch[2]) { + this.__newline_count += 1; + nextMatch = this._newline_pattern.exec(resulting_string); + } + this.__whitespace_before_token = nextMatch[1]; + } +}; + + + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function TokenStream(parent_token) { + // private + this.__tokens = []; + this.__tokens_length = this.__tokens.length; + this.__position = 0; + this.__parent_token = parent_token; +} + +TokenStream.prototype.restart = function() { + this.__position = 0; +}; + +TokenStream.prototype.isEmpty = function() { + return this.__tokens_length === 0; +}; + +TokenStream.prototype.hasNext = function() { + return this.__position < this.__tokens_length; +}; + +TokenStream.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__tokens[this.__position]; + this.__position += 1; + } + return val; +}; + +TokenStream.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__tokens_length) { + val = this.__tokens[index]; + } + return val; +}; + +TokenStream.prototype.add = function(token) { + if (this.__parent_token) { + token.parent = this.__parent_token; + } + this.__tokens.push(token); + this.__tokens_length += 1; +}; + +module.exports.TokenStream = TokenStream; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Directives(start_block_pattern, end_block_pattern) { + start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source; + end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source; + this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \w+[:]\w+)+ /.source + end_block_pattern, 'g'); + this.__directive_pattern = / (\w+)[:](\w+)/g; + + this.__directives_end_ignore_pattern = new RegExp('(?:[\\s\\S]*?)((?:' + start_block_pattern + /\sbeautify\signore:end\s/.source + end_block_pattern + ')|$)', 'g'); +} + +Directives.prototype.get_directives = function(text) { + if (!text.match(this.__directives_block_pattern)) { + return null; + } + + var directives = {}; + this.__directive_pattern.lastIndex = 0; + var directive_match = this.__directive_pattern.exec(text); + + while (directive_match) { + directives[directive_match[1]] = directive_match[2]; + directive_match = this.__directive_pattern.exec(text); + } + + return directives; +}; + +Directives.prototype.readIgnored = function(input) { + return input.read(this.__directives_end_ignore_pattern); +}; + + +module.exports.Directives = Directives; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Beautifier = __webpack_require__(14).Beautifier; + +function css_beautify(source_text, options) { + var beautifier = new Beautifier(source_text, options); + return beautifier.beautify(); +} + +module.exports = css_beautify; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Options = __webpack_require__(15).Options; +var Output = __webpack_require__(3).Output; +var InputScanner = __webpack_require__(9).InputScanner; + +var lineBreak = /\r\n|[\r\n]/; +var allLineBreaks = /\r\n|[\r\n]/g; + +// tokenizer +var whitespaceChar = /\s/; +var whitespacePattern = /(?:\s|\n)+/g; +var block_comment_pattern = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g; +var comment_pattern = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + +function Beautifier(source_text, options) { + this._source_text = source_text || ''; + // Allow the setting of language/file-type specific options + // with inheritance of overall settings + this._options = new Options(options); + this._ch = null; + this._input = null; + + // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule + this.NESTED_AT_RULE = { + "@page": true, + "@font-face": true, + "@keyframes": true, + // also in CONDITIONAL_GROUP_RULE below + "@media": true, + "@supports": true, + "@document": true + }; + this.CONDITIONAL_GROUP_RULE = { + "@media": true, + "@supports": true, + "@document": true + }; + +} + +Beautifier.prototype.eatString = function(endChars) { + var result = ''; + this._ch = this._input.next(); + while (this._ch) { + result += this._ch; + if (this._ch === "\\") { + result += this._input.next(); + } else if (endChars.indexOf(this._ch) !== -1 || this._ch === "\n") { + break; + } + this._ch = this._input.next(); + } + return result; +}; + +// Skips any white space in the source text from the current position. +// When allowAtLeastOneNewLine is true, will output new lines for each +// newline character found; if the user has preserve_newlines off, only +// the first newline will be output +Beautifier.prototype.eatWhitespace = function(allowAtLeastOneNewLine) { + var result = whitespaceChar.test(this._input.peek()); + var isFirstNewLine = true; + + while (whitespaceChar.test(this._input.peek())) { + this._ch = this._input.next(); + if (allowAtLeastOneNewLine && this._ch === '\n') { + if (this._options.preserve_newlines || isFirstNewLine) { + isFirstNewLine = false; + this._output.add_new_line(true); + } + } + } + return result; +}; + +// Nested pseudo-class if we are insideRule +// and the next special character found opens +// a new block +Beautifier.prototype.foundNestedPseudoClass = function() { + var openParen = 0; + var i = 1; + var ch = this._input.peek(i); + while (ch) { + if (ch === "{") { + return true; + } else if (ch === '(') { + // pseudoclasses can contain () + openParen += 1; + } else if (ch === ')') { + if (openParen === 0) { + return false; + } + openParen -= 1; + } else if (ch === ";" || ch === "}") { + return false; + } + i++; + ch = this._input.peek(i); + } + return false; +}; + +Beautifier.prototype.print_string = function(output_string) { + if (this._output.just_added_newline()) { + this._output.set_indent(this._indentLevel); + } + this._output.add_token(output_string); +}; + +Beautifier.prototype.preserveSingleSpace = function(isAfterSpace) { + if (isAfterSpace) { + this._output.space_before_token = true; + } +}; + +Beautifier.prototype.indent = function() { + this._indentLevel++; +}; + +Beautifier.prototype.outdent = function() { + if (this._indentLevel > 0) { + this._indentLevel--; + } +}; + +/*_____________________--------------------_____________________*/ + +Beautifier.prototype.beautify = function() { + if (this._options.disabled) { + return this._source_text; + } + + var source_text = this._source_text; + var eol = this._options.eol; + if (eol === 'auto') { + eol = '\n'; + if (source_text && lineBreak.test(source_text || '')) { + eol = source_text.match(lineBreak)[0]; + } + } + + + // HACK: newline parsing inconsistent. This brute force normalizes the this._input. + source_text = source_text.replace(allLineBreaks, '\n'); + + // reset + var baseIndentString = source_text.match(/^[\t ]*/)[0]; + + this._output = new Output(this._options, baseIndentString); + this._input = new InputScanner(source_text); + this._indentLevel = 0; + this._nestedLevel = 0; + + this._ch = null; + var parenLevel = 0; + + var insideRule = false; + // This is the value side of a property value pair (blue in the following ex) + // label { content: blue } + var insidePropertyValue = false; + var enteringConditionalGroup = false; + var insideAtExtend = false; + var insideAtImport = false; + var topCharacter = this._ch; + + while (true) { + var whitespace = this._input.read(whitespacePattern); + var isAfterSpace = whitespace !== ''; + var previous_ch = topCharacter; + this._ch = this._input.next(); + topCharacter = this._ch; + + if (!this._ch) { + break; + } else if (this._ch === '/' && this._input.peek() === '*') { + // /* css comment */ + // Always start block comments on a new line. + // This handles scenarios where a block comment immediately + // follows a property definition on the same line or where + // minified code is being beautified. + this._output.add_new_line(); + this._input.back(); + this.print_string(this._input.read(block_comment_pattern)); + + // Ensures any new lines following the comment are preserved + this.eatWhitespace(true); + + // Block comments are followed by a new line so they don't + // share a line with other properties + this._output.add_new_line(); + } else if (this._ch === '/' && this._input.peek() === '/') { + // // single line comment + // Preserves the space before a comment + // on the same line as a rule + this._output.space_before_token = true; + this._input.back(); + this.print_string(this._input.read(comment_pattern)); + + // Ensures any new lines following the comment are preserved + this.eatWhitespace(true); + } else if (this._ch === '@') { + this.preserveSingleSpace(isAfterSpace); + + // deal with less propery mixins @{...} + if (this._input.peek() === '{') { + this.print_string(this._ch + this.eatString('}')); + } else { + this.print_string(this._ch); + + // strip trailing space, if present, for hash property checks + var variableOrRule = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g); + + if (variableOrRule.match(/[ :]$/)) { + // we have a variable or pseudo-class, add it and insert one space before continuing + variableOrRule = this.eatString(": ").replace(/\s$/, ''); + this.print_string(variableOrRule); + this._output.space_before_token = true; + } + + variableOrRule = variableOrRule.replace(/\s$/, ''); + + if (variableOrRule === 'extend') { + insideAtExtend = true; + } else if (variableOrRule === 'import') { + insideAtImport = true; + } + + // might be a nesting at-rule + if (variableOrRule in this.NESTED_AT_RULE) { + this._nestedLevel += 1; + if (variableOrRule in this.CONDITIONAL_GROUP_RULE) { + enteringConditionalGroup = true; + } + // might be less variable + } else if (!insideRule && parenLevel === 0 && variableOrRule.indexOf(':') !== -1) { + insidePropertyValue = true; + this.indent(); + } + } + } else if (this._ch === '#' && this._input.peek() === '{') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch + this.eatString('}')); + } else if (this._ch === '{') { + if (insidePropertyValue) { + insidePropertyValue = false; + this.outdent(); + } + this.indent(); + this._output.space_before_token = true; + this.print_string(this._ch); + + // when entering conditional groups, only rulesets are allowed + if (enteringConditionalGroup) { + enteringConditionalGroup = false; + insideRule = (this._indentLevel > this._nestedLevel); + } else { + // otherwise, declarations are also allowed + insideRule = (this._indentLevel >= this._nestedLevel); + } + if (this._options.newline_between_rules && insideRule) { + if (this._output.previous_line && this._output.previous_line.item(-1) !== '{') { + this._output.ensure_empty_line_above('/', ','); + } + } + this.eatWhitespace(true); + this._output.add_new_line(); + } else if (this._ch === '}') { + this.outdent(); + this._output.add_new_line(); + if (previous_ch === '{') { + this._output.trim(true); + } + insideAtImport = false; + insideAtExtend = false; + if (insidePropertyValue) { + this.outdent(); + insidePropertyValue = false; + } + this.print_string(this._ch); + insideRule = false; + if (this._nestedLevel) { + this._nestedLevel--; + } + + this.eatWhitespace(true); + this._output.add_new_line(); + + if (this._options.newline_between_rules && !this._output.just_added_blankline()) { + if (this._input.peek() !== '}') { + this._output.add_new_line(true); + } + } + } else if (this._ch === ":") { + if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack("&") || this.foundNestedPseudoClass()) && !this._input.lookBack("(") && !insideAtExtend) { + // 'property: value' delimiter + // which could be in a conditional group query + this.print_string(':'); + if (!insidePropertyValue) { + insidePropertyValue = true; + this._output.space_before_token = true; + this.eatWhitespace(true); + this.indent(); + } + } else { + // sass/less parent reference don't use a space + // sass nested pseudo-class don't use a space + + // preserve space before pseudoclasses/pseudoelements, as it means "in any child" + if (this._input.lookBack(" ")) { + this._output.space_before_token = true; + } + if (this._input.peek() === ":") { + // pseudo-element + this._ch = this._input.next(); + this.print_string("::"); + } else { + // pseudo-class + this.print_string(':'); + } + } + } else if (this._ch === '"' || this._ch === '\'') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch + this.eatString(this._ch)); + this.eatWhitespace(true); + } else if (this._ch === ';') { + if (insidePropertyValue) { + this.outdent(); + insidePropertyValue = false; + } + insideAtExtend = false; + insideAtImport = false; + this.print_string(this._ch); + this.eatWhitespace(true); + + // This maintains single line comments on the same + // line. Block comments are also affected, but + // a new line is always output before one inside + // that section + if (this._input.peek() !== '/') { + this._output.add_new_line(); + } + } else if (this._ch === '(') { // may be a url + if (this._input.lookBack("url")) { + this.print_string(this._ch); + this.eatWhitespace(); + this._ch = this._input.next(); + if (this._ch === ')' || this._ch === '"' || this._ch === '\'') { + this._input.back(); + parenLevel++; + } else if (this._ch) { + this.print_string(this._ch + this.eatString(')')); + } + } else { + parenLevel++; + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + this.eatWhitespace(); + } + } else if (this._ch === ')') { + this.print_string(this._ch); + parenLevel--; + } else if (this._ch === ',') { + this.print_string(this._ch); + this.eatWhitespace(true); + if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel < 1 && !insideAtImport) { + this._output.add_new_line(); + } else { + this._output.space_before_token = true; + } + } else if ((this._ch === '>' || this._ch === '+' || this._ch === '~') && !insidePropertyValue && parenLevel < 1) { + //handle combinator spacing + if (this._options.space_around_combinator) { + this._output.space_before_token = true; + this.print_string(this._ch); + this._output.space_before_token = true; + } else { + this.print_string(this._ch); + this.eatWhitespace(); + // squash extra whitespace + if (this._ch && whitespaceChar.test(this._ch)) { + this._ch = ''; + } + } + } else if (this._ch === ']') { + this.print_string(this._ch); + } else if (this._ch === '[') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + } else if (this._ch === '=') { // no whitespace before or after + this.eatWhitespace(); + this.print_string('='); + if (whitespaceChar.test(this._ch)) { + this._ch = ''; + } + } else if (this._ch === '!') { // !important + this.print_string(' '); + this.print_string(this._ch); + } else { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + } + } + + var sweetCode = this._output.get_code(eol); + + return sweetCode; +}; + +module.exports.Beautifier = Beautifier; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseOptions = __webpack_require__(7).Options; + +function Options(options) { + BaseOptions.call(this, options, 'css'); + + this.selector_separator_newline = this._get_boolean('selector_separator_newline', true); + this.newline_between_rules = this._get_boolean('newline_between_rules', true); + var space_around_selector_separator = this._get_boolean('space_around_selector_separator'); + this.space_around_combinator = this._get_boolean('space_around_combinator') || space_around_selector_separator; + +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; + + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Beautifier = __webpack_require__(17).Beautifier; + +function style_html(html_source, options, js_beautify, css_beautify) { + var beautifier = new Beautifier(html_source, options, js_beautify, css_beautify); + return beautifier.beautify(); +} + +module.exports = style_html; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Options = __webpack_require__(18).Options; +var Output = __webpack_require__(3).Output; +var Tokenizer = __webpack_require__(19).Tokenizer; +var TOKEN = __webpack_require__(19).TOKEN; + +var lineBreak = /\r\n|[\r\n]/; +var allLineBreaks = /\r\n|[\r\n]/g; + +var Printer = function(options, base_indent_string) { //handles input/output and some other printing functions + + this.indent_level = 0; + this.alignment_size = 0; + this.wrap_line_length = options.wrap_line_length; + this.max_preserve_newlines = options.max_preserve_newlines; + this.preserve_newlines = options.preserve_newlines; + + this._output = new Output(options, base_indent_string); + +}; + +Printer.prototype.current_line_has_match = function(pattern) { + return this._output.current_line.has_match(pattern); +}; + +Printer.prototype.set_space_before_token = function(value) { + this._output.space_before_token = value; +}; + +Printer.prototype.add_raw_token = function(token) { + this._output.add_raw_token(token); +}; + +Printer.prototype.print_preserved_newlines = function(raw_token) { + var newlines = 0; + if (raw_token.type !== TOKEN.TEXT && raw_token.previous.type !== TOKEN.TEXT) { + newlines = raw_token.newlines ? 1 : 0; + } + + if (this.preserve_newlines) { + newlines = raw_token.newlines < this.max_preserve_newlines + 1 ? raw_token.newlines : this.max_preserve_newlines + 1; + } + for (var n = 0; n < newlines; n++) { + this.print_newline(n > 0); + } + + return newlines !== 0; +}; + +Printer.prototype.traverse_whitespace = function(raw_token) { + if (raw_token.whitespace_before || raw_token.newlines) { + if (!this.print_preserved_newlines(raw_token)) { + this._output.space_before_token = true; + this.print_space_or_wrap(raw_token.text); + } + return true; + } + return false; +}; + +// Append a space to the given content (string array) or, if we are +// at the wrap_line_length, append a newline/indentation. +// return true if a newline was added, false if a space was added +Printer.prototype.print_space_or_wrap = function(text) { + if (this.wrap_line_length) { + if (this._output.current_line.get_character_count() + text.length + 1 >= this.wrap_line_length) { //insert a line when the wrap_line_length is reached + return this._output.add_new_line(); + } + } + return false; +}; + +Printer.prototype.print_newline = function(force) { + this._output.add_new_line(force); +}; + +Printer.prototype.print_token = function(text) { + if (text) { + if (this._output.current_line.is_empty()) { + this._output.set_indent(this.indent_level, this.alignment_size); + } + + this._output.add_token(text); + } +}; + +Printer.prototype.print_raw_text = function(text) { + this._output.current_line.push_raw(text); +}; + +Printer.prototype.indent = function() { + this.indent_level++; +}; + +Printer.prototype.unindent = function() { + if (this.indent_level > 0) { + this.indent_level--; + } +}; + +Printer.prototype.get_full_indent = function(level) { + level = this.indent_level + (level || 0); + if (level < 1) { + return ''; + } + + return this._output.get_indent_string(level); +}; + + +var uses_beautifier = function(tag_check, start_token) { + var raw_token = start_token.next; + if (!start_token.closed) { + return false; + } + + while (raw_token.type !== TOKEN.EOF && raw_token.closed !== start_token) { + if (raw_token.type === TOKEN.ATTRIBUTE && raw_token.text === 'type') { + // For script and style tags that have a type attribute, only enable custom beautifiers for matching values + var peekEquals = raw_token.next ? raw_token.next : raw_token; + var peekValue = peekEquals.next ? peekEquals.next : peekEquals; + if (peekEquals.type === TOKEN.EQUALS && peekValue.type === TOKEN.VALUE) { + return (tag_check === 'style' && peekValue.text.search('text/css') > -1) || + (tag_check === 'script' && peekValue.text.search(/(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/) > -1); + } + return false; + } + raw_token = raw_token.next; + } + + return true; +}; + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + +function TagFrame(parent, parser_token, indent_level) { + this.parent = parent || null; + this.tag = parser_token ? parser_token.tag_name : ''; + this.indent_level = indent_level || 0; + this.parser_token = parser_token || null; +} + +function TagStack(printer) { + this._printer = printer; + this._current_frame = null; +} + +TagStack.prototype.get_parser_token = function() { + return this._current_frame ? this._current_frame.parser_token : null; +}; + +TagStack.prototype.record_tag = function(parser_token) { //function to record a tag and its parent in this.tags Object + var new_frame = new TagFrame(this._current_frame, parser_token, this._printer.indent_level); + this._current_frame = new_frame; +}; + +TagStack.prototype._try_pop_frame = function(frame) { //function to retrieve the opening tag to the corresponding closer + var parser_token = null; + + if (frame) { + parser_token = frame.parser_token; + this._printer.indent_level = frame.indent_level; + this._current_frame = frame.parent; + } + + return parser_token; +}; + +TagStack.prototype._get_frame = function(tag_list, stop_list) { //function to retrieve the opening tag to the corresponding closer + var frame = this._current_frame; + + while (frame) { //till we reach '' (the initial value); + if (tag_list.indexOf(frame.tag) !== -1) { //if this is it use it + break; + } else if (stop_list && stop_list.indexOf(frame.tag) !== -1) { + frame = null; + break; + } + frame = frame.parent; + } + + return frame; +}; + +TagStack.prototype.try_pop = function(tag, stop_list) { //function to retrieve the opening tag to the corresponding closer + var frame = this._get_frame([tag], stop_list); + return this._try_pop_frame(frame); +}; + +TagStack.prototype.indent_to_tag = function(tag_list) { + var frame = this._get_frame(tag_list); + if (frame) { + this._printer.indent_level = frame.indent_level; + } +}; + +function Beautifier(source_text, options, js_beautify, css_beautify) { + //Wrapper function to invoke all the necessary constructors and deal with the output. + this._source_text = source_text || ''; + options = options || {}; + this._js_beautify = js_beautify; + this._css_beautify = css_beautify; + this._tag_stack = null; + + // Allow the setting of language/file-type specific options + // with inheritance of overall settings + var optionHtml = new Options(options, 'html'); + + this._options = optionHtml; + + this._is_wrap_attributes_force = this._options.wrap_attributes.substr(0, 'force'.length) === 'force'; + this._is_wrap_attributes_force_expand_multiline = (this._options.wrap_attributes === 'force-expand-multiline'); + this._is_wrap_attributes_force_aligned = (this._options.wrap_attributes === 'force-aligned'); + this._is_wrap_attributes_aligned_multiple = (this._options.wrap_attributes === 'aligned-multiple'); + this._is_wrap_attributes_preserve = this._options.wrap_attributes.substr(0, 'preserve'.length) === 'preserve'; + this._is_wrap_attributes_preserve_aligned = (this._options.wrap_attributes === 'preserve-aligned'); +} + +Beautifier.prototype.beautify = function() { + + // if disabled, return the input unchanged. + if (this._options.disabled) { + return this._source_text; + } + + var source_text = this._source_text; + var eol = this._options.eol; + if (this._options.eol === 'auto') { + eol = '\n'; + if (source_text && lineBreak.test(source_text)) { + eol = source_text.match(lineBreak)[0]; + } + } + + // HACK: newline parsing inconsistent. This brute force normalizes the input. + source_text = source_text.replace(allLineBreaks, '\n'); + var baseIndentString = ''; + + // Including commented out text would change existing html beautifier behavior to autodetect base indent. + // baseIndentString = source_text.match(/^[\t ]*/)[0]; + + var last_token = { + text: '', + type: '' + }; + + var last_tag_token = new TagOpenParserToken(); + + var printer = new Printer(this._options, baseIndentString); + var tokens = new Tokenizer(source_text, this._options).tokenize(); + + this._tag_stack = new TagStack(printer); + + var parser_token = null; + var raw_token = tokens.next(); + while (raw_token.type !== TOKEN.EOF) { + + if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) { + parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token); + last_tag_token = parser_token; + } else if ((raw_token.type === TOKEN.ATTRIBUTE || raw_token.type === TOKEN.EQUALS || raw_token.type === TOKEN.VALUE) || + (raw_token.type === TOKEN.TEXT && !last_tag_token.tag_complete)) { + parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token, tokens); + } else if (raw_token.type === TOKEN.TAG_CLOSE) { + parser_token = this._handle_tag_close(printer, raw_token, last_tag_token); + } else if (raw_token.type === TOKEN.TEXT) { + parser_token = this._handle_text(printer, raw_token, last_tag_token); + } else { + // This should never happen, but if it does. Print the raw token + printer.add_raw_token(raw_token); + } + + last_token = parser_token; + + raw_token = tokens.next(); + } + var sweet_code = printer._output.get_code(eol); + + return sweet_code; +}; + +Beautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_token) { + var parser_token = { text: raw_token.text, type: raw_token.type }; + printer.alignment_size = 0; + last_tag_token.tag_complete = true; + + printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== ''); + if (last_tag_token.is_unformatted) { + printer.add_raw_token(raw_token); + } else { + if (last_tag_token.tag_start_char === '<') { + printer.set_space_before_token(raw_token.text[0] === '/'); // space before />, no space before > + if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.has_wrapped_attrs) { + printer.print_newline(false); + } + } + printer.print_token(raw_token.text); + } + + if (last_tag_token.indent_content && + !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) { + printer.indent(); + + // only indent once per opened tag + last_tag_token.indent_content = false; + } + return parser_token; +}; + +Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, tokens) { + var parser_token = { text: raw_token.text, type: raw_token.type }; + printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== ''); + if (last_tag_token.is_unformatted) { + printer.add_raw_token(raw_token); + } else if (last_tag_token.tag_start_char === '{' && raw_token.type === TOKEN.TEXT) { + // For the insides of handlebars allow newlines or a single space between open and contents + if (printer.print_preserved_newlines(raw_token)) { + printer.print_raw_text(raw_token.whitespace_before + raw_token.text); + } else { + printer.print_token(raw_token.text); + } + } else { + if (raw_token.type === TOKEN.ATTRIBUTE) { + printer.set_space_before_token(true); + last_tag_token.attr_count += 1; + } else if (raw_token.type === TOKEN.EQUALS) { //no space before = + printer.set_space_before_token(false); + } else if (raw_token.type === TOKEN.VALUE && raw_token.previous.type === TOKEN.EQUALS) { //no space before value + printer.set_space_before_token(false); + } + + if (printer._output.space_before_token && last_tag_token.tag_start_char === '<') { + // Allow the current attribute to wrap + // Set wrapped to true if the line is wrapped + var wrapped = printer.print_space_or_wrap(raw_token.text); + if (raw_token.type === TOKEN.ATTRIBUTE) { + if (this._is_wrap_attributes_preserve || this._is_wrap_attributes_preserve_aligned) { + printer.traverse_whitespace(raw_token); + wrapped = wrapped || raw_token.newlines !== 0; + } + // Save whether we have wrapped any attributes + last_tag_token.has_wrapped_attrs = last_tag_token.has_wrapped_attrs || wrapped; + + if (this._is_wrap_attributes_force) { + var force_attr_wrap = last_tag_token.attr_count > 1; + if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.attr_count === 1) { + var is_only_attribute = true; + var peek_index = 0; + var peek_token; + do { + peek_token = tokens.peek(peek_index); + if (peek_token.type === TOKEN.ATTRIBUTE) { + is_only_attribute = false; + break; + } + peek_index += 1; + } while (peek_index < 4 && peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE); + + force_attr_wrap = !is_only_attribute; + } + + if (force_attr_wrap) { + printer.print_newline(false); + last_tag_token.has_wrapped_attrs = true; + } + } + } + } + printer.print_token(raw_token.text); + } + return parser_token; +}; + +Beautifier.prototype._handle_text = function(printer, raw_token, last_tag_token) { + var parser_token = { text: raw_token.text, type: 'TK_CONTENT' }; + if (last_tag_token.custom_beautifier) { //check if we need to format javascript + this._print_custom_beatifier_text(printer, raw_token, last_tag_token); + } else if (last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) { + printer.add_raw_token(raw_token); + } else { + printer.traverse_whitespace(raw_token); + printer.print_token(raw_token.text); + } + return parser_token; +}; + +Beautifier.prototype._print_custom_beatifier_text = function(printer, raw_token, last_tag_token) { + if (raw_token.text !== '') { + printer.print_newline(false); + var text = raw_token.text, + _beautifier, + script_indent_level = 1; + if (last_tag_token.tag_name === 'script') { + _beautifier = typeof this._js_beautify === 'function' && this._js_beautify; + } else if (last_tag_token.tag_name === 'style') { + _beautifier = typeof this._css_beautify === 'function' && this._css_beautify; + } + + if (this._options.indent_scripts === "keep") { + script_indent_level = 0; + } else if (this._options.indent_scripts === "separate") { + script_indent_level = -printer.indent_level; + } + + var indentation = printer.get_full_indent(script_indent_level); + + // if there is at least one empty line at the end of this text, strip it + // we'll be adding one back after the text but before the containing tag. + text = text.replace(/\n[ \t]*$/, ''); + + if (_beautifier) { + + // call the Beautifier if avaliable + var Child_options = function() { + this.eol = '\n'; + }; + Child_options.prototype = this._options.raw_options; + var child_options = new Child_options(); + text = _beautifier(indentation + text, child_options); + } else { + // simply indent the string otherwise + var white = text.match(/^\s*/)[0]; + var _level = white.match(/[^\n\r]*$/)[0].split(this._options.indent_string).length - 1; + var reindent = this._get_full_indent(script_indent_level - _level); + text = (indentation + text.trim()) + .replace(/\r\n|\r|\n/g, '\n' + reindent); + } + if (text) { + printer.print_raw_text(text); + printer.print_newline(true); + } + } +}; + +Beautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token) { + var parser_token = this._get_tag_open_token(raw_token); + + if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) && + raw_token.type === TOKEN.TAG_OPEN && raw_token.text.indexOf(']*)/); + this.tag_check = tag_check_match ? tag_check_match[1] : ''; + } else { + tag_check_match = raw_token.text.match(/^{{\#?([^\s}]+)/); + this.tag_check = tag_check_match ? tag_check_match[1] : ''; + } + this.tag_check = this.tag_check.toLowerCase(); + + if (raw_token.type === TOKEN.COMMENT) { + this.tag_complete = true; + } + + this.is_start_tag = this.tag_check.charAt(0) !== '/'; + this.tag_name = !this.is_start_tag ? this.tag_check.substr(1) : this.tag_check; + this.is_end_tag = !this.is_start_tag || + (raw_token.closed && raw_token.closed.text === '/>'); + + // handlebars tags that don't start with # or ^ are single_tags, and so also start and end. + this.is_end_tag = this.is_end_tag || + (this.tag_start_char === '{' && (this.text.length < 3 || (/[^#\^]/.test(this.text.charAt(2))))); + } +}; + +Beautifier.prototype._get_tag_open_token = function(raw_token) { //function to get a full tag and parse its type + var parser_token = new TagOpenParserToken(this._tag_stack.get_parser_token(), raw_token); + + parser_token.alignment_size = this._options.wrap_attributes_indent_size; + + parser_token.is_end_tag = parser_token.is_end_tag || + in_array(parser_token.tag_check, this._options.void_elements); + + parser_token.is_empty_element = parser_token.tag_complete || + (parser_token.is_start_tag && parser_token.is_end_tag); + + parser_token.is_unformatted = !parser_token.tag_complete && in_array(parser_token.tag_check, this._options.unformatted); + parser_token.is_content_unformatted = !parser_token.is_empty_element && in_array(parser_token.tag_check, this._options.content_unformatted); + parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || parser_token.tag_start_char === '{'; + + return parser_token; +}; + +Beautifier.prototype._set_tag_position = function(printer, raw_token, parser_token, last_tag_token, last_token) { + + if (!parser_token.is_empty_element) { + if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending + parser_token.start_tag_token = this._tag_stack.try_pop(parser_token.tag_name); //remove it and all ancestors + } else { // it's a start-tag + // check if this tag is starting an element that has optional end element + // and do an ending needed + this._do_optional_end_element(parser_token); + + this._tag_stack.record_tag(parser_token); //push it on the tag stack + + if ((parser_token.tag_name === 'script' || parser_token.tag_name === 'style') && + !(parser_token.is_unformatted || parser_token.is_content_unformatted)) { + parser_token.custom_beautifier = uses_beautifier(parser_token.tag_check, raw_token); + } + } + } + + if (in_array(parser_token.tag_check, this._options.extra_liners)) { //check if this double needs an extra line + printer.print_newline(false); + if (!printer._output.just_added_blankline()) { + printer.print_newline(true); + } + } + + if (parser_token.is_empty_element) { //if this tag name is a single tag type (either in the list or has a closing /) + + // if you hit an else case, reset the indent level if you are inside an: + // 'if', 'unless', or 'each' block. + if (parser_token.tag_start_char === '{' && parser_token.tag_check === 'else') { + this._tag_stack.indent_to_tag(['if', 'unless', 'each']); + parser_token.indent_content = true; + // Don't add a newline if opening {{#if}} tag is on the current line + var foundIfOnCurrentLine = printer.current_line_has_match(/{{#if/); + if (!foundIfOnCurrentLine) { + printer.print_newline(false); + } + } + + // Don't add a newline before elements that should remain where they are. + if (parser_token.tag_name === '!--' && last_token.type === TOKEN.TAG_CLOSE && + last_tag_token.is_end_tag && parser_token.text.indexOf('\n') === -1) { + //Do nothing. Leave comments on same line. + } else if (!parser_token.is_inline_element && !parser_token.is_unformatted) { + printer.print_newline(false); + } + } else if (parser_token.is_unformatted || parser_token.is_content_unformatted) { + if (!parser_token.is_inline_element && !parser_token.is_unformatted) { + printer.print_newline(false); + } + } else if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending + if ((parser_token.start_tag_token && parser_token.start_tag_token.multiline_content) || + !(parser_token.is_inline_element || + (last_tag_token.is_inline_element) || + (last_token.type === TOKEN.TAG_CLOSE && + parser_token.start_tag_token === last_tag_token) || + (last_token.type === 'TK_CONTENT') + )) { + printer.print_newline(false); + } + } else { // it's a start-tag + parser_token.indent_content = !parser_token.custom_beautifier; + + if (parser_token.tag_start_char === '<') { + if (parser_token.tag_name === 'html') { + parser_token.indent_content = this._options.indent_inner_html; + } else if (parser_token.tag_name === 'head') { + parser_token.indent_content = this._options.indent_head_inner_html; + } else if (parser_token.tag_name === 'body') { + parser_token.indent_content = this._options.indent_body_inner_html; + } + } + + if (!parser_token.is_inline_element && last_token.type !== 'TK_CONTENT') { + if (parser_token.parent) { + parser_token.parent.multiline_content = true; + } + printer.print_newline(false); + } + } +}; + +//To be used for

tag special case: +//var p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul']; + +Beautifier.prototype._do_optional_end_element = function(parser_token) { + // NOTE: cases of "if there is no more content in the parent element" + // are handled automatically by the beautifier. + // It assumes parent or ancestor close tag closes all children. + // https://www.w3.org/TR/html5/syntax.html#optional-tags + if (parser_token.is_empty_element || !parser_token.is_start_tag || !parser_token.parent) { + return; + + } else if (parser_token.tag_name === 'body') { + // A head element’s end tag may be omitted if the head element is not immediately followed by a space character or a comment. + this._tag_stack.try_pop('head'); + + //} else if (parser_token.tag_name === 'body') { + // DONE: A body element’s end tag may be omitted if the body element is not immediately followed by a comment. + + } else if (parser_token.tag_name === 'li') { + // An li element’s end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element. + this._tag_stack.try_pop('li', ['ol', 'ul']); + + } else if (parser_token.tag_name === 'dd' || parser_token.tag_name === 'dt') { + // A dd element’s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element. + // A dt element’s end tag may be omitted if the dt element is immediately followed by another dt element or a dd element. + this._tag_stack.try_pop('dt', ['dl']); + this._tag_stack.try_pop('dd', ['dl']); + + //} else if (p_closers.indexOf(parser_token.tag_name) !== -1) { + //TODO: THIS IS A BUG FARM. We are not putting this into 1.8.0 as it is likely to blow up. + //A p element’s end tag may be omitted if the p element is immediately followed by an address, article, aside, blockquote, details, div, dl, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr, main, nav, ol, p, pre, section, table, or ul element, or if there is no more content in the parent element and the parent element is an HTML element that is not an a, audio, del, ins, map, noscript, or video element, or an autonomous custom element. + //this._tag_stack.try_pop('p', ['body']); + + } else if (parser_token.tag_name === 'rp' || parser_token.tag_name === 'rt') { + // An rt element’s end tag may be omitted if the rt element is immediately followed by an rt or rp element, or if there is no more content in the parent element. + // An rp element’s end tag may be omitted if the rp element is immediately followed by an rt or rp element, or if there is no more content in the parent element. + this._tag_stack.try_pop('rt', ['ruby', 'rtc']); + this._tag_stack.try_pop('rp', ['ruby', 'rtc']); + + } else if (parser_token.tag_name === 'optgroup') { + // An optgroup element’s end tag may be omitted if the optgroup element is immediately followed by another optgroup element, or if there is no more content in the parent element. + // An option element’s end tag may be omitted if the option element is immediately followed by another option element, or if it is immediately followed by an optgroup element, or if there is no more content in the parent element. + this._tag_stack.try_pop('optgroup', ['select']); + //this._tag_stack.try_pop('option', ['select']); + + } else if (parser_token.tag_name === 'option') { + // An option element’s end tag may be omitted if the option element is immediately followed by another option element, or if it is immediately followed by an optgroup element, or if there is no more content in the parent element. + this._tag_stack.try_pop('option', ['select', 'datalist', 'optgroup']); + + } else if (parser_token.tag_name === 'colgroup') { + // DONE: A colgroup element’s end tag may be omitted if the colgroup element is not immediately followed by a space character or a comment. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + + } else if (parser_token.tag_name === 'thead') { + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + + //} else if (parser_token.tag_name === 'caption') { + // DONE: A caption element’s end tag may be omitted if the caption element is not immediately followed by a space character or a comment. + + } else if (parser_token.tag_name === 'tbody' || parser_token.tag_name === 'tfoot') { + // A thead element’s end tag may be omitted if the thead element is immediately followed by a tbody or tfoot element. + // A tbody element’s end tag may be omitted if the tbody element is immediately followed by a tbody or tfoot element, or if there is no more content in the parent element. + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + this._tag_stack.try_pop('thead', ['table']); + this._tag_stack.try_pop('tbody', ['table']); + + //} else if (parser_token.tag_name === 'tfoot') { + // DONE: A tfoot element’s end tag may be omitted if there is no more content in the parent element. + + } else if (parser_token.tag_name === 'tr') { + // A tr element’s end tag may be omitted if the tr element is immediately followed by another tr element, or if there is no more content in the parent element. + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + this._tag_stack.try_pop('tr', ['table', 'thead', 'tbody', 'tfoot']); + + } else if (parser_token.tag_name === 'th' || parser_token.tag_name === 'td') { + // A td element’s end tag may be omitted if the td element is immediately followed by a td or th element, or if there is no more content in the parent element. + // A th element’s end tag may be omitted if the th element is immediately followed by a td or th element, or if there is no more content in the parent element. + this._tag_stack.try_pop('td', ['tr']); + this._tag_stack.try_pop('th', ['tr']); + } + + // Start element omission not handled currently + // A head element’s start tag may be omitted if the element is empty, or if the first thing inside the head element is an element. + // A tbody element’s start tag may be omitted if the first thing inside the tbody element is a tr element, and if the element is not immediately preceded by a tbody, thead, or tfoot element whose end tag has been omitted. (It can’t be omitted if the element is empty.) + // A colgroup element’s start tag may be omitted if the first thing inside the colgroup element is a col element, and if the element is not immediately preceded by another colgroup element whose end tag has been omitted. (It can’t be omitted if the element is empty.) + + // Fix up the parent of the parser token + parser_token.parent = this._tag_stack.get_parser_token(); + +}; + +module.exports.Beautifier = Beautifier; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseOptions = __webpack_require__(7).Options; + +function Options(options) { + BaseOptions.call(this, options, 'html'); + + this.indent_inner_html = this._get_boolean('indent_inner_html'); + this.indent_body_inner_html = this._get_boolean('indent_body_inner_html', true); + this.indent_head_inner_html = this._get_boolean('indent_head_inner_html', true); + + this.indent_handlebars = this._get_boolean('indent_handlebars', true); + this.wrap_attributes = this._get_selection('wrap_attributes', + ['auto', 'force', 'force-aligned', 'force-expand-multiline', 'aligned-multiple', 'preserve', 'preserve-aligned']); + this.wrap_attributes_indent_size = this._get_number('wrap_attributes_indent_size', this.indent_size); + this.extra_liners = this._get_array('extra_liners', ['head', 'body', '/html']); + + this.inline = this._get_array('inline', [ + // https://www.w3.org/TR/html5/dom.html#phrasing-content + 'a', 'abbr', 'area', 'audio', 'b', 'bdi', 'bdo', 'br', 'button', 'canvas', 'cite', + 'code', 'data', 'datalist', 'del', 'dfn', 'em', 'embed', 'i', 'iframe', 'img', + 'input', 'ins', 'kbd', 'keygen', 'label', 'map', 'mark', 'math', 'meter', 'noscript', + 'object', 'output', 'progress', 'q', 'ruby', 's', 'samp', /* 'script', */ 'select', 'small', + 'span', 'strong', 'sub', 'sup', 'svg', 'template', 'textarea', 'time', 'u', 'var', + 'video', 'wbr', 'text', + // prexisting - not sure of full effect of removing, leaving in + 'acronym', 'address', 'big', 'dt', 'ins', 'strike', 'tt' + ]); + this.void_elements = this._get_array('void_elements', [ + // HTLM void elements - aka self-closing tags - aka singletons + // https://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', + 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr', + // NOTE: Optional tags are too complex for a simple list + // they are hard coded in _do_optional_end_element + + // Doctype and xml elements + '!doctype', '?xml', + // ?php and ?= tags + '?php', '?=', + // other tags that were in this list, keeping just in case + 'basefont', 'isindex' + ]); + this.unformatted = this._get_array('unformatted', []); + this.content_unformatted = this._get_array('content_unformatted', [ + 'pre', 'textarea' + ]); + this.indent_scripts = this._get_selection('indent_scripts', ['normal', 'keep', 'separate']); +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseTokenizer = __webpack_require__(10).Tokenizer; +var BASETOKEN = __webpack_require__(10).TOKEN; +var Directives = __webpack_require__(12).Directives; + +var TOKEN = { + TAG_OPEN: 'TK_TAG_OPEN', + TAG_CLOSE: 'TK_TAG_CLOSE', + ATTRIBUTE: 'TK_ATTRIBUTE', + EQUALS: 'TK_EQUALS', + VALUE: 'TK_VALUE', + COMMENT: 'TK_COMMENT', + TEXT: 'TK_TEXT', + UNKNOWN: 'TK_UNKNOWN', + START: BASETOKEN.START, + RAW: BASETOKEN.RAW, + EOF: BASETOKEN.EOF +}; + +var directives_core = new Directives(/<\!--/, /-->/); + +var Tokenizer = function(input_string, options) { + BaseTokenizer.call(this, input_string, options); + this._current_tag_name = ''; + + // Words end at whitespace or when a tag starts + // if we are indenting handlebars, they are considered tags + this._word_pattern = this._options.indent_handlebars ? /[\n\r\t <]|{{/g : /[\n\r\t <]/g; +}; +Tokenizer.prototype = new BaseTokenizer(); + +Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false + return false; //current_token.type === TOKEN.COMMENT || current_token.type === TOKEN.UNKNOWN; +}; + +Tokenizer.prototype._is_opening = function(current_token) { + return current_token.type === TOKEN.TAG_OPEN; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { + return current_token.type === TOKEN.TAG_CLOSE && + (open_token && ( + ((current_token.text === '>' || current_token.text === '/>') && open_token.text[0] === '<') || + (current_token.text === '}}' && open_token.text[0] === '{' && open_token.text[1] === '{'))); +}; + +Tokenizer.prototype._reset = function() { + this._current_tag_name = ''; +}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var token = null; + var c = this._input.peek(); + + if (c === null) { + return this._create_token(TOKEN.EOF, ''); + } + + token = token || this._read_attribute(c, previous_token, open_token); + token = token || this._read_raw_content(previous_token, open_token); + token = token || this._read_comment(c); + token = token || this._read_open(c, open_token); + token = token || this._read_close(c, open_token); + token = token || this._read_content_word(); + token = token || this._create_token(TOKEN.UNKNOWN, this._input.next()); + + return token; +}; + +Tokenizer.prototype._read_comment = function(c) { // jshint unused:false + var token = null; + if (c === '<' || c === '{') { + var peek1 = this._input.peek(1); + var peek2 = this._input.peek(2); + if ((c === '<' && (peek1 === '!' || peek1 === '?' || peek1 === '%')) || + this._options.indent_handlebars && c === '{' && peek1 === '{' && peek2 === '!') { + //if we're in a comment, do something special + // We treat all comments as literals, even more than preformatted tags + // we just look for the appropriate close tag + + // this is will have very poor perf, but will work for now. + var comment = '', + delimiter = '>', + matched = false; + + var input_char = this._input.next(); + + while (input_char) { + comment += input_char; + + // only need to check for the delimiter if the last chars match + if (comment.charAt(comment.length - 1) === delimiter.charAt(delimiter.length - 1) && + comment.indexOf(delimiter) !== -1) { + break; + } + + // only need to search for custom delimiter for the first few characters + if (!matched) { + matched = comment.length > 10; + if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf('{{!--') === 0) { // {{!-- handlebars comment + delimiter = '--}}'; + matched = true; + } else if (comment.indexOf('{{!') === 0) { // {{! handlebars comment + if (comment.length === 5 && comment.indexOf('{{!--') === -1) { + delimiter = '}}'; + matched = true; + } + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf('<%') === 0) { // {{! handlebars comment + delimiter = '%>'; + matched = true; + } + } + + input_char = this._input.next(); + } + + var directives = directives_core.get_directives(comment); + if (directives && directives.ignore === 'start') { + comment += directives_core.readIgnored(this._input); + } + token = this._create_token(TOKEN.COMMENT, comment); + token.directives = directives; + } + } + + return token; +}; + +Tokenizer.prototype._read_open = function(c, open_token) { + var resulting_string = null; + var token = null; + if (!open_token) { + if (c === '<') { + resulting_string = this._input.read(/<(?:[^\n\r\t >{][^\n\r\t >{/]*)?/g); + token = this._create_token(TOKEN.TAG_OPEN, resulting_string); + } else if (this._options.indent_handlebars && c === '{' && this._input.peek(1) === '{') { + resulting_string = this._input.readUntil(/[\n\r\t }]/g); + token = this._create_token(TOKEN.TAG_OPEN, resulting_string); + } + } + return token; +}; + +Tokenizer.prototype._read_close = function(c, open_token) { + var resulting_string = null; + var token = null; + if (open_token) { + if (open_token.text[0] === '<' && (c === '>' || (c === '/' && this._input.peek(1) === '>'))) { + resulting_string = this._input.next(); + if (c === '/') { // for close tag "/>" + resulting_string += this._input.next(); + } + token = this._create_token(TOKEN.TAG_CLOSE, resulting_string); + } else if (open_token.text[0] === '{' && c === '}' && this._input.peek(1) === '}') { + this._input.next(); + this._input.next(); + token = this._create_token(TOKEN.TAG_CLOSE, '}}'); + } + } + + return token; +}; + +Tokenizer.prototype._read_attribute = function(c, previous_token, open_token) { + var token = null; + var resulting_string = ''; + if (open_token && open_token.text[0] === '<') { + + if (c === '=') { + token = this._create_token(TOKEN.EQUALS, this._input.next()); + } else if (c === '"' || c === "'") { + var content = this._input.next(); + var input_string = ''; + var string_pattern = new RegExp(c + '|{{', 'g'); + while (this._input.hasNext()) { + input_string = this._input.readUntilAfter(string_pattern); + content += input_string; + if (input_string[input_string.length - 1] === '"' || input_string[input_string.length - 1] === "'") { + break; + } else if (this._input.hasNext()) { + content += this._input.readUntilAfter(/}}/g); + } + } + + token = this._create_token(TOKEN.VALUE, content); + } else { + if (c === '{' && this._input.peek(1) === '{') { + resulting_string = this._input.readUntilAfter(/}}/g); + } else { + resulting_string = this._input.readUntil(/[\n\r\t =\/>]/g); + } + + if (resulting_string) { + if (previous_token.type === TOKEN.EQUALS) { + token = this._create_token(TOKEN.VALUE, resulting_string); + } else { + token = this._create_token(TOKEN.ATTRIBUTE, resulting_string); + } + } + } + } + return token; +}; + +Tokenizer.prototype._is_content_unformatted = function(tag_name) { + // void_elements have no content and so cannot have unformatted content + // script and style tags should always be read as unformatted content + // finally content_unformatted and unformatted element contents are unformatted + return this._options.void_elements.indexOf(tag_name) === -1 && + (tag_name === 'script' || tag_name === 'style' || + this._options.content_unformatted.indexOf(tag_name) !== -1 || + this._options.unformatted.indexOf(tag_name) !== -1); +}; + + +Tokenizer.prototype._read_raw_content = function(previous_token, open_token) { // jshint unused:false + var resulting_string = ''; + if (open_token && open_token.text[0] === '{') { + resulting_string = this._input.readUntil(/}}/g); + } else if (previous_token.type === TOKEN.TAG_CLOSE && (previous_token.opened.text[0] === '<')) { + var tag_name = previous_token.opened.text.substr(1).toLowerCase(); + if (this._is_content_unformatted(tag_name)) { + resulting_string = this._input.readUntil(new RegExp('', 'ig')); + } + } + + if (resulting_string) { + return this._create_token(TOKEN.TEXT, resulting_string); + } + + return null; +}; + +Tokenizer.prototype._read_content_word = function() { + // if we get here and we see handlebars treat them as plain text + var resulting_string = this._input.readUntil(this._word_pattern); + if (resulting_string) { + return this._create_token(TOKEN.TEXT, resulting_string); + } +}; + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; + + +/***/ }) +/******/ ]); +}); +//# sourceMappingURL=beautifier.js.map \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/beautifier.min.js b/build/js-transpiled/node_modules/js-beautify/js/lib/beautifier.min.js new file mode 100644 index 00000000..759a9b52 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/beautifier.min.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("beautifier",[],e):"object"==typeof exports?exports.beautifier=e():t.beautifier=e()}("undefined"!=typeof self?self:"undefined"!=typeof windows?window:"undefined"!=typeof global?global:this,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)i.d(n,s,function(e){return t[e]}.bind(null,s));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=9)}([function(t,e,i){"use strict";var n=i(4).InputScanner,s=i(1).Tokenizer,_=i(1).TOKEN,o=i(7).Directives,r=i(6);function a(t,e){return-1!==e.indexOf(t)}var h={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:_.START,RAW:_.RAW,EOF:_.EOF},p=new o(/\/\*/,/\*\//),l=/0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/g,u=/[0-9]/,c=/[^\d\.]/,f=">>> === !== << && >= ** != == <= >> || < / - + > : & % ? ^ | *".split(" "),d=">>>= ... >>= <<= === >>> !== **= => ^= :: /= << <= == && -= >= >> != -- += ** || ++ %= &= *= |= = ! ? > < : / ^ - + * & % ~ |";d=(d=d.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&")).replace(/ /g,"|");var g,k=new RegExp(d,"g"),m=/#![^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g,y=/#include[^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g,w="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),x=w.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as"]),v=new RegExp("^(?:"+x.join("|")+")$"),b=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,E=/\/\/(?:[^\n\r\u2028\u2029]*)/g,O=/(?:(?:<\?php|<\?=)[\s\S]*?\?>)|(?:<%[\s\S]*?%>)/g,T=function(t,e){s.call(this,t,e),this._whitespace_pattern=/[\n\r\u2028\u2029\t\u000B\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff ]+/g,this._newline_pattern=/([^\n\r\u2028\u2029]*)(\r\n|[\n\r\u2028\u2029])?/g};(T.prototype=new s)._is_comment=function(t){return t.type===h.COMMENT||t.type===h.BLOCK_COMMENT||t.type===h.UNKNOWN},T.prototype._is_opening=function(t){return t.type===h.START_BLOCK||t.type===h.START_EXPR},T.prototype._is_closing=function(t,e){return(t.type===h.END_BLOCK||t.type===h.END_EXPR)&&e&&("]"===t.text&&"["===e.text||")"===t.text&&"("===e.text||"}"===t.text&&"{"===e.text)},T.prototype._reset=function(){g=!1},T.prototype._get_next_token=function(t,e){this._readWhitespace();var i=null,n=this._input.peek();return i=(i=(i=(i=(i=(i=(i=(i=(i=i||this._read_singles(n))||this._read_word(t))||this._read_comment(n))||this._read_string(n))||this._read_regexp(n,t))||this._read_xml(n,t))||this._read_non_javascript(n))||this._read_punctuation())||this._create_token(h.UNKNOWN,this._input.next())},T.prototype._read_word=function(t){var e;return""!==(e=this._input.read(r.identifier))?t.type!==h.DOT&&(t.type!==h.RESERVED||"set"!==t.text&&"get"!==t.text)&&v.test(e)?"in"===e||"of"===e?this._create_token(h.OPERATOR,e):this._create_token(h.RESERVED,e):this._create_token(h.WORD,e):""!==(e=this._input.read(l))?this._create_token(h.WORD,e):void 0},T.prototype._read_singles=function(t){var e=null;return null===t?e=this._create_token(h.EOF,""):"("===t||"["===t?e=this._create_token(h.START_EXPR,t):")"===t||"]"===t?e=this._create_token(h.END_EXPR,t):"{"===t?e=this._create_token(h.START_BLOCK,t):"}"===t?e=this._create_token(h.END_BLOCK,t):";"===t?e=this._create_token(h.SEMICOLON,t):"."===t&&c.test(this._input.peek(1))?e=this._create_token(h.DOT,t):","===t&&(e=this._create_token(h.COMMA,t)),e&&this._input.next(),e},T.prototype._read_punctuation=function(){var t=this._input.read(k);if(""!==t)return"="===t?this._create_token(h.EQUALS,t):this._create_token(h.OPERATOR,t)},T.prototype._read_non_javascript=function(t){var e="";if("#"===t){if(this._is_first_token()&&(e=this._input.read(m)))return this._create_token(h.UNKNOWN,e.trim()+"\n");if(e=this._input.read(y))return this._create_token(h.UNKNOWN,e.trim()+"\n");t=this._input.next();var i="#";if(this._input.hasNext()&&this._input.testChar(u)){do{i+=t=this._input.next()}while(this._input.hasNext()&&"#"!==t&&"="!==t);return"#"===t||("["===this._input.peek()&&"]"===this._input.peek(1)?(i+="[]",this._input.next(),this._input.next()):"{"===this._input.peek()&&"}"===this._input.peek(1)&&(i+="{}",this._input.next(),this._input.next())),this._create_token(h.WORD,i)}this._input.back()}else if("<"===t){if("?"===this._input.peek(1)||"%"===this._input.peek(1)){if(e=this._input.read(O))return e=e.replace(r.allLineBreaks,"\n"),this._create_token(h.STRING,e)}else if(this._input.match(/<\!--/g)){for(t="\x3c!--";this._input.hasNext()&&!this._input.testChar(r.newline);)t+=this._input.next();return g=!0,this._create_token(h.COMMENT,t)}}else if("-"===t&&g&&this._input.match(/-->/g))return g=!1,this._create_token(h.COMMENT,"--\x3e");return null},T.prototype._read_comment=function(t){var e=null;if("/"===t){var i="";if("*"===this._input.peek(1)){i=this._input.read(b);var n=p.get_directives(i);n&&"start"===n.ignore&&(i+=p.readIgnored(this._input)),i=i.replace(r.allLineBreaks,"\n"),(e=this._create_token(h.BLOCK_COMMENT,i)).directives=n}else"/"===this._input.peek(1)&&(i=this._input.read(E),e=this._create_token(h.COMMENT,i))}return e},T.prototype._read_string=function(t){if("`"===t||"'"===t||'"'===t){var e=this._input.next();return this.has_char_escapes=!1,e+="`"===t?this._read_string_recursive("`",!0,"${"):this._read_string_recursive(t),this.has_char_escapes&&this._options.unescape_strings&&(e=function(t){var e="",i=0,s=new n(t),_=null;for(;s.hasNext();)if((_=s.match(/([\s]|[^\\]|\\\\)+/g))&&(e+=_[0]),"\\"===s.peek()){if(s.next(),"x"===s.peek())_=s.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==s.peek()){e+="\\",s.hasNext()&&(e+=s.next());continue}_=s.match(/u([0-9A-Fa-f]{4})/g)}if(!_)return t;if((i=parseInt(_[1],16))>126&&i<=255&&0===_[0].indexOf("x"))return t;if(i>=0&&i<32){e+="\\"+_[0];continue}e+=34===i||39===i||92===i?"\\"+String.fromCharCode(i):String.fromCharCode(i)}return e}(e)),this._input.peek()===t&&(e+=this._input.next()),this._create_token(h.STRING,e)}return null},T.prototype._allow_regexp_or_xml=function(t){return t.type===h.RESERVED&&a(t.text,["return","case","throw","else","do","typeof","yield"])||t.type===h.END_EXPR&&")"===t.text&&t.opened.previous.type===h.RESERVED&&a(t.opened.previous.text,["if","while","for"])||a(t.type,[h.COMMENT,h.START_EXPR,h.START_BLOCK,h.START,h.END_BLOCK,h.OPERATOR,h.EQUALS,h.EOF,h.SEMICOLON,h.COMMA])},T.prototype._read_regexp=function(t,e){if("/"===t&&this._allow_regexp_or_xml(e)){for(var i=this._input.next(),n=!1,s=!1;this._input.hasNext()&&(n||s||this._input.peek()!==t)&&!this._input.testChar(r.newline);)i+=this._input.peek(),n?n=!1:(n="\\"===this._input.peek(),"["===this._input.peek()?s=!0:"]"===this._input.peek()&&(s=!1)),this._input.next();return this._input.peek()===t&&(i+=this._input.next(),i+=this._input.read(r.identifier)),this._create_token(h.STRING,i)}return null};var R=/<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g,S=/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g;T.prototype._read_xml=function(t,e){if(this._options.e4x&&"<"===t&&this._input.test(R)&&this._allow_regexp_or_xml(e)){var i="",n=this._input.match(R);if(n){for(var s=n[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),_=0===s.indexOf("{"),o=0;n;){var a=!!n[1],p=n[2];if(!(!!n[n.length-1]||"![CDATA["===p.slice(0,8))&&(p===s||_&&p.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(a?--o:++o),i+=n[0],o<=0)break;n=this._input.match(S)}return n||(i+=this._input.match(/[\s\S]*/g)[0]),i=i.replace(r.allLineBreaks,"\n"),this._create_token(h.STRING,i)}}return null},T.prototype._read_string_recursive=function(t,e,i){for(var n,s="",_=!1;this._input.hasNext()&&(n=this._input.peek(),_||n!==t&&(e||!r.newline.test(n)));)(_||e)&&r.newline.test(n)?("\r"===n&&"\n"===this._input.peek(1)&&(this._input.next(),n=this._input.peek()),s+="\n"):s+=n,_?("x"!==n&&"u"!==n||(this.has_char_escapes=!0),_=!1):_="\\"===n,this._input.next(),i&&-1!==s.indexOf(i,s.length-i.length)&&(s+="`"===t?this._read_string_recursive("}",e,"`"):this._read_string_recursive("`",e,"${"),this._input.hasNext()&&(s+=this._input.next()));return s},t.exports.Tokenizer=T,t.exports.TOKEN=h,t.exports.positionable_operators=f.slice(),t.exports.line_starters=w.slice()},function(t,e,i){"use strict";var n=i(4).InputScanner,s=i(5).Token,_=i(13).TokenStream,o={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},r=function(t,e){this._input=new n(t),this._options=e||{},this.__tokens=null,this.__newline_count=0,this.__whitespace_before_token="",this._whitespace_pattern=/[\n\r\t ]+/g,this._newline_pattern=/([^\n\r]*)(\r\n|[\n\r])?/g};r.prototype.tokenize=function(){var t;this._input.restart(),this.__tokens=new _,this._reset();for(var e=new s(o.START,""),i=null,n=[],r=new _;e.type!==o.EOF;){for(t=this._get_next_token(e,i);this._is_comment(t);)r.add(t),t=this._get_next_token(e,i);r.isEmpty()||(t.comments_before=r,r=new _),t.parent=i,this._is_opening(t)?(n.push(i),i=t):i&&this._is_closing(t,i)&&(t.opened=i,i.closed=t,i=n.pop(),t.parent=i),t.previous=e,e.next=t,this.__tokens.add(t),e=t}return this.__tokens},r.prototype._is_first_token=function(){return this.__tokens.isEmpty()},r.prototype._reset=function(){},r.prototype._get_next_token=function(t,e){this._readWhitespace();var i=this._input.read(/.+/g);return i?this._create_token(o.RAW,i):this._create_token(o.EOF,"")},r.prototype._is_comment=function(t){return!1},r.prototype._is_opening=function(t){return!1},r.prototype._is_closing=function(t,e){return!1},r.prototype._create_token=function(t,e){var i=new s(t,e,this.__newline_count,this.__whitespace_before_token);return this.__newline_count=0,this.__whitespace_before_token="",i},r.prototype._readWhitespace=function(){var t=this._input.read(this._whitespace_pattern);if(" "===t)this.__whitespace_before_token=t;else if(""!==t){this._newline_pattern.lastIndex=0;for(var e=this._newline_pattern.exec(t);e[2];)this.__newline_count+=1,e=this._newline_pattern.exec(t);this.__whitespace_before_token=e[1]}},t.exports.Tokenizer=r,t.exports.TOKEN=o},function(t,e,i){"use strict";function n(t){this.__parent=t,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__items=[]}function s(t,e){this.__cache=[t],this.__level_string=e}function _(t,e){var i=t.indent_char;t.indent_size>1&&(i=new Array(t.indent_size+1).join(t.indent_char)),e=e||"",t.indent_level>0&&(e=new Array(t.indent_level+1).join(i)),this.__indent_cache=new s(e,i),this.__alignment_cache=new s(""," "),this.baseIndentLength=e.length,this.indent_length=i.length,this.raw=!1,this._end_with_newline=t.end_with_newline,this.__lines=[],this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.__add_outputline()}n.prototype.item=function(t){return t<0?this.__items[this.__items.length+t]:this.__items[t]},n.prototype.has_match=function(t){for(var e=this.__items.length-1;e>=0;e--)if(this.__items[e].match(t))return!0;return!1},n.prototype.set_indent=function(t,e){this.__indent_count=t||0,this.__alignment_count=e||0,this.__character_count=this.__parent.baseIndentLength+this.__alignment_count+this.__indent_count*this.__parent.indent_length},n.prototype.get_character_count=function(){return this.__character_count},n.prototype.is_empty=function(){return 0===this.__items.length},n.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},n.prototype.push=function(t){this.__items.push(t),this.__character_count+=t.length},n.prototype.push_raw=function(t){this.push(t);var e=t.lastIndexOf("\n");-1!==e&&(this.__character_count=t.length-e)},n.prototype.pop=function(){var t=null;return this.is_empty()||(t=this.__items.pop(),this.__character_count-=t.length),t},n.prototype.remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_length)},n.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},n.prototype.toString=function(){var t="";return this.is_empty()||(this.__indent_count>=0&&(t=this.__parent.get_indent_string(this.__indent_count)),this.__alignment_count>=0&&(t+=this.__parent.get_alignment_string(this.__alignment_count)),t+=this.__items.join("")),t},s.prototype.__ensure_cache=function(t){for(;t>=this.__cache.length;)this.__cache.push(this.__cache[this.__cache.length-1]+this.__level_string)},s.prototype.get_level_string=function(t){return this.__ensure_cache(t),this.__cache[t]},_.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=new n(this),this.__lines.push(this.current_line)},_.prototype.get_line_number=function(){return this.__lines.length},_.prototype.get_indent_string=function(t){return this.__indent_cache.get_level_string(t)},_.prototype.get_alignment_string=function(t){return this.__alignment_cache.get_level_string(t)},_.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},_.prototype.add_new_line=function(t){return!(this.is_empty()||!t&&this.just_added_newline())&&(this.raw||this.__add_outputline(),!0)},_.prototype.get_code=function(t){var e=this.__lines.join("\n").replace(/[\r\n\t ]+$/,"");return this._end_with_newline&&(e+="\n"),"\n"!==t&&(e=e.replace(/[\n]/g,t)),e},_.prototype.set_indent=function(t,e){return t=t||0,e=e||0,this.__lines.length>1?(this.current_line.set_indent(t,e),!0):(this.current_line.set_indent(),!1)},_.prototype.add_raw_token=function(t){for(var e=0;e1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},_.prototype.just_added_newline=function(){return this.current_line.is_empty()},_.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},_.prototype.ensure_empty_line_above=function(t,e){for(var i=this.__lines.length-2;i>=0;){var s=this.__lines[i];if(s.is_empty())break;if(0!==s.item(0).indexOf(t)&&s.item(-1)!==e){this.__lines.splice(i+1,0,new n(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},t.exports.Output=_},function(t,e,i){"use strict";function n(t,e){this.raw_options=s(t,e),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs"),this.indent_with_tabs&&(this.indent_char="\t",this.indent_size=1),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char"))}function s(t,e){var i,n={};for(i in t=_(t))i!==e&&(n[i]=t[i]);if(e&&t[e])for(i in t[e])n[i]=t[e][i];return n}function _(t){var e,i={};for(e in t){i[e.replace(/-/g,"_")]=t[e]}return i}n.prototype._get_array=function(t,e){var i=this.raw_options[t],n=e||[];return"object"==typeof i?null!==i&&"function"==typeof i.concat&&(n=i.concat()):"string"==typeof i&&(n=i.split(/[^a-zA-Z0-9_\/\-]+/)),n},n.prototype._get_boolean=function(t,e){var i=this.raw_options[t];return void 0===i?!!e:!!i},n.prototype._get_characters=function(t,e){var i=this.raw_options[t],n=e||"";return"string"==typeof i&&(n=i.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),n},n.prototype._get_number=function(t,e){var i=this.raw_options[t];e=parseInt(e,10),isNaN(e)&&(e=0);var n=parseInt(i,10);return isNaN(n)&&(n=e),n},n.prototype._get_selection=function(t,e,i){var n=this._get_selection_list(t,e,i);if(1!==n.length)throw new Error("Invalid Option Value: The option '"+t+"' can only be one of the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return n[0]},n.prototype._get_selection_list=function(t,e,i){if(!e||0===e.length)throw new Error("Selection list cannot be empty.");if(i=i||[e[0]],!this._is_valid_selection(i,e))throw new Error("Invalid Default Value!");var n=this._get_array(t,i);if(!this._is_valid_selection(n,e))throw new Error("Invalid Option Value: The option '"+t+"' can contain only the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return n},n.prototype._is_valid_selection=function(t,e){return t.length&&e.length&&!t.some(function(t){return-1===e.indexOf(t)})},t.exports.Options=n,t.exports.normalizeOpts=_,t.exports.mergeOpts=s},function(t,e,i){"use strict";function n(t){this.__input=t||"",this.__input_length=this.__input.length,this.__position=0}n.prototype.restart=function(){this.__position=0},n.prototype.back=function(){this.__position>0&&(this.__position-=1)},n.prototype.hasNext=function(){return this.__position=0&&t=0&&e=t.length&&this.__input.substring(e-t.length,e).toLowerCase()===t},t.exports.InputScanner=n},function(t,e,i){"use strict";t.exports.Token=function(t,e,i,n){this.type=t,this.text=e,this.comments_before=null,this.newlines=i||0,this.whitespace_before=n||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}},function(t,e,i){"use strict";e.identifier=new RegExp("[$@A-Z_a-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ][$0-9A-Z_a-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍-﹏0-9_]*","g");e.newline=/[\n\r\u2028\u2029]/,e.lineBreak=new RegExp("\r\n|"+e.newline.source),e.allLineBreaks=new RegExp(e.lineBreak.source,"g")},function(t,e,i){"use strict";function n(t,e){t="string"==typeof t?t:t.source,e="string"==typeof e?e:e.source,this.__directives_block_pattern=new RegExp(t+/ beautify( \w+[:]\w+)+ /.source+e,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp("(?:[\\s\\S]*?)((?:"+t+/\sbeautify\signore:end\s/.source+e+")|$)","g")}n.prototype.get_directives=function(t){if(!t.match(this.__directives_block_pattern))return null;var e={};this.__directive_pattern.lastIndex=0;for(var i=this.__directive_pattern.exec(t);i;)e[i[1]]=i[2],i=this.__directive_pattern.exec(t);return e},n.prototype.readIgnored=function(t){return t.read(this.__directives_end_ignore_pattern)},t.exports.Directives=n},function(t,e,i){"use strict";var n=i(1).Tokenizer,s=i(1).TOKEN,_=i(7).Directives,o={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:s.START,RAW:s.RAW,EOF:s.EOF},r=new _(/<\!--/,/-->/),a=function(t,e){n.call(this,t,e),this._current_tag_name="",this._word_pattern=this._options.indent_handlebars?/[\n\r\t <]|{{/g:/[\n\r\t <]/g};(a.prototype=new n)._is_comment=function(t){return!1},a.prototype._is_opening=function(t){return t.type===o.TAG_OPEN},a.prototype._is_closing=function(t,e){return t.type===o.TAG_CLOSE&&e&&((">"===t.text||"/>"===t.text)&&"<"===e.text[0]||"}}"===t.text&&"{"===e.text[0]&&"{"===e.text[1])},a.prototype._reset=function(){this._current_tag_name=""},a.prototype._get_next_token=function(t,e){this._readWhitespace();var i=null,n=this._input.peek();return null===n?this._create_token(o.EOF,""):i=(i=(i=(i=(i=(i=(i=i||this._read_attribute(n,t,e))||this._read_raw_content(t,e))||this._read_comment(n))||this._read_open(n,e))||this._read_close(n,e))||this._read_content_word())||this._create_token(o.UNKNOWN,this._input.next())},a.prototype._read_comment=function(t){var e=null;if("<"===t||"{"===t){var i=this._input.peek(1),n=this._input.peek(2);if("<"===t&&("!"===i||"?"===i||"%"===i)||this._options.indent_handlebars&&"{"===t&&"{"===i&&"!"===n){for(var s="",_=">",a=!1,h=this._input.next();h&&((s+=h).charAt(s.length-1)!==_.charAt(_.length-1)||-1===s.indexOf(_));)a||(a=s.length>10,0===s.indexOf("",a=!0):0===s.indexOf("",a=!0):0===s.indexOf("",a=!0):0===s.indexOf("\x3c!--")?(_="--\x3e",a=!0):0===s.indexOf("{{!--")?(_="--}}",a=!0):0===s.indexOf("{{!")?5===s.length&&-1===s.indexOf("{{!--")&&(_="}}",a=!0):0===s.indexOf("",a=!0):0===s.indexOf("<%")&&(_="%>",a=!0)),h=this._input.next();var p=r.get_directives(s);p&&"start"===p.ignore&&(s+=r.readIgnored(this._input)),(e=this._create_token(o.COMMENT,s)).directives=p}}return e},a.prototype._read_open=function(t,e){var i=null,n=null;return e||("<"===t?(i=this._input.read(/<(?:[^\n\r\t >{][^\n\r\t >{/]*)?/g),n=this._create_token(o.TAG_OPEN,i)):this._options.indent_handlebars&&"{"===t&&"{"===this._input.peek(1)&&(i=this._input.readUntil(/[\n\r\t }]/g),n=this._create_token(o.TAG_OPEN,i))),n},a.prototype._read_close=function(t,e){var i=null,n=null;return e&&("<"===e.text[0]&&(">"===t||"/"===t&&">"===this._input.peek(1))?(i=this._input.next(),"/"===t&&(i+=this._input.next()),n=this._create_token(o.TAG_CLOSE,i)):"{"===e.text[0]&&"}"===t&&"}"===this._input.peek(1)&&(this._input.next(),this._input.next(),n=this._create_token(o.TAG_CLOSE,"}}"))),n},a.prototype._read_attribute=function(t,e,i){var n=null,s="";if(i&&"<"===i.text[0])if("="===t)n=this._create_token(o.EQUALS,this._input.next());else if('"'===t||"'"===t){for(var _=this._input.next(),r="",a=new RegExp(t+"|{{","g");this._input.hasNext()&&(_+=r=this._input.readUntilAfter(a),'"'!==r[r.length-1]&&"'"!==r[r.length-1]);)this._input.hasNext()&&(_+=this._input.readUntilAfter(/}}/g));n=this._create_token(o.VALUE,_)}else(s="{"===t&&"{"===this._input.peek(1)?this._input.readUntilAfter(/}}/g):this._input.readUntil(/[\n\r\t =\/>]/g))&&(n=e.type===o.EQUALS?this._create_token(o.VALUE,s):this._create_token(o.ATTRIBUTE,s));return n},a.prototype._is_content_unformatted=function(t){return-1===this._options.void_elements.indexOf(t)&&("script"===t||"style"===t||-1!==this._options.content_unformatted.indexOf(t)||-1!==this._options.unformatted.indexOf(t))},a.prototype._read_raw_content=function(t,e){var i="";if(e&&"{"===e.text[0])i=this._input.readUntil(/}}/g);else if(t.type===o.TAG_CLOSE&&"<"===t.opened.text[0]){var n=t.opened.text.substr(1).toLowerCase();this._is_content_unformatted(n)&&(i=this._input.readUntil(new RegExp("","ig")))}return i?this._create_token(o.TEXT,i):null},a.prototype._read_content_word=function(){var t=this._input.readUntil(this._word_pattern);if(t)return this._create_token(o.TEXT,t)},t.exports.Tokenizer=a,t.exports.TOKEN=o},function(t,e,i){"use strict";var n=i(10),s=i(14),_=i(17);t.exports.js=n,t.exports.css=s,t.exports.html=function(t,e,i,o){return _(t,e,i=i||n,o=o||s)}},function(t,e,i){"use strict";var n=i(11).Beautifier;t.exports=function(t,e){return new n(t,e).beautify()}},function(t,e,i){"use strict";var n=i(2).Output,s=i(5).Token,_=i(6),o=i(12).Options,r=i(0).Tokenizer,a=i(0).line_starters,h=i(0).positionable_operators,p=i(0).TOKEN;function l(t,e){e.multiline_frame||e.mode===y.ForInitializer||e.mode===y.Conditional||t.remove_indent(e.start_line_index)}function u(t,e){return-1!==e.indexOf(t)}function c(t){return t.replace(/^\s+/g,"")}function f(t,e){return t&&t.type===p.RESERVED&&t.text===e}function d(t,e){return t&&t.type===p.RESERVED&&u(t.text,e)}var g=["case","return","do","if","throw","else","await","break","continue","async"],k=function(t){for(var e={},i=0;ii&&(i=t.line_indent_level)),{mode:e,parent:t,last_token:t?t.last_token:new s(p.START_BLOCK,""),last_word:t?t.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:i,line_indent_level:t?t.line_indent_level:i,start_line_index:this._output.get_line_number(),ternary_depth:0}},v.prototype._reset=function(t){var e=t.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new n(this._options,e),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(y.BlockStatement);var i=new r(t,this._options);return this._tokens=i.tokenize(),t},v.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._reset(this._source_text),e=this._options.eol;"auto"===this._options.eol&&(e="\n",t&&_.lineBreak.test(t||"")&&(e=t.match(_.lineBreak)[0]));for(var i=this._tokens.next();i;)this.handle_token(i),this._last_last_text=this._flags.last_token.text,this._flags.last_token=i,i=this._tokens.next();return this._output.get_code(e)},v.prototype.handle_token=function(t,e){t.type===p.START_EXPR?this.handle_start_expr(t):t.type===p.END_EXPR?this.handle_end_expr(t):t.type===p.START_BLOCK?this.handle_start_block(t):t.type===p.END_BLOCK?this.handle_end_block(t):t.type===p.WORD?this.handle_word(t):t.type===p.RESERVED?this.handle_word(t):t.type===p.SEMICOLON?this.handle_semicolon(t):t.type===p.STRING?this.handle_string(t):t.type===p.EQUALS?this.handle_equals(t):t.type===p.OPERATOR?this.handle_operator(t):t.type===p.COMMA?this.handle_comma(t):t.type===p.BLOCK_COMMENT?this.handle_block_comment(t,e):t.type===p.COMMENT?this.handle_comment(t,e):t.type===p.DOT?this.handle_dot(t):t.type===p.EOF?this.handle_eof(t):(t.type,p.UNKNOWN,this.handle_unknown(t,e))},v.prototype.handle_whitespace_and_comments=function(t,e){var i=t.newlines,n=this._options.keep_array_indentation&&w(this._flags.mode);if(t.comments_before)for(var s=t.comments_before.next();s;)this.handle_whitespace_and_comments(s,e),this.handle_token(s,e),s=t.comments_before.next();if(n)for(var _=0;_0,e);else if(this._options.max_preserve_newlines&&i>this._options.max_preserve_newlines&&(i=this._options.max_preserve_newlines),this._options.preserve_newlines&&i>1){this.print_newline(!1,e);for(var o=1;o=this._options.wrap_line_length&&this.print_newline(!1,!0)}}},v.prototype.print_newline=function(t,e){if(!e&&";"!==this._flags.last_token.text&&","!==this._flags.last_token.text&&"="!==this._flags.last_token.text&&(this._flags.last_token.type!==p.OPERATOR||"--"===this._flags.last_token.text||"++"===this._flags.last_token.text))for(var i=this._tokens.peek();!(this._flags.mode!==y.Statement||this._flags.if_block&&f(i,"else")||this._flags.do_block);)this.restore_mode();this._output.add_new_line(t)&&(this._flags.multiline_frame=!0)},v.prototype.print_token_line_indentation=function(t){this._output.just_added_newline()&&(this._options.keep_array_indentation&&w(this._flags.mode)&&t.newlines?(this._output.current_line.push(t.whitespace_before),this._output.space_before_token=!1):this._output.set_indent(this._flags.indentation_level)&&(this._flags.line_indent_level=this._flags.indentation_level))},v.prototype.print_token=function(t,e){if(this._output.raw)this._output.add_raw_token(t);else{if(this._options.comma_first&&t.previous&&t.previous.type===p.COMMA&&this._output.just_added_newline()&&","===this._output.previous_line.last()){var i=this._output.previous_line.pop();this._output.previous_line.is_empty()&&(this._output.previous_line.push(i),this._output.trim(!0),this._output.current_line.pop(),this._output.trim()),this.print_token_line_indentation(t),this._output.add_token(","),this._output.space_before_token=!0}e=e||t.text,this.print_token_line_indentation(t),this._output.add_token(e)}},v.prototype.indent=function(){this._flags.indentation_level+=1},v.prototype.deindent=function(){this._flags.indentation_level>0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1)},v.prototype.set_mode=function(t){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,t),this._flags=this.create_flags(this._previous_flags,t)},v.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===y.Statement&&l(this._output,this._previous_flags))},v.prototype.start_of_object_property=function(){return this._flags.parent.mode===y.ObjectLiteral&&this._flags.mode===y.Statement&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||d(this._flags.last_token,["get","set"]))},v.prototype.start_of_statement=function(t){var e=!1;return!!(e=(e=(e=(e=(e=(e=(e=e||d(this._flags.last_token,["var","let","const"])&&t.type===p.WORD)||f(this._flags.last_token,"do"))||!(this._flags.parent.mode===y.ObjectLiteral&&this._flags.mode===y.Statement)&&d(this._flags.last_token,b)&&!t.newlines)||f(this._flags.last_token,"else")&&!(f(t,"if")&&!t.comments_before))||this._flags.last_token.type===p.END_EXPR&&(this._previous_flags.mode===y.ForInitializer||this._previous_flags.mode===y.Conditional))||this._flags.last_token.type===p.WORD&&this._flags.mode===y.BlockStatement&&!this._flags.in_case&&!("--"===t.text||"++"===t.text)&&"function"!==this._last_last_text&&t.type!==p.WORD&&t.type!==p.RESERVED)||this._flags.mode===y.ObjectLiteral&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||d(this._flags.last_token,["get","set"])))&&(this.set_mode(y.Statement),this.indent(),this.handle_whitespace_and_comments(t,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t,d(t,["do","for","if","while"])),!0)},v.prototype.handle_start_expr=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t);var e=y.Expression;if("["===t.text){if(this._flags.last_token.type===p.WORD||")"===this._flags.last_token.text)return d(this._flags.last_token,a)&&(this._output.space_before_token=!0),this.set_mode(e),this.print_token(t),this.indent(),void(this._options.space_in_paren&&(this._output.space_before_token=!0));e=y.ArrayLiteral,w(this._flags.mode)&&("["!==this._flags.last_token.text&&(","!==this._flags.last_token.text||"]"!==this._last_last_text&&"}"!==this._last_last_text)||this._options.keep_array_indentation||this.print_newline()),u(this._flags.last_token.type,[p.START_EXPR,p.END_EXPR,p.WORD,p.OPERATOR])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===p.RESERVED)"for"===this._flags.last_token.text?(this._output.space_before_token=this._options.space_before_conditional,e=y.ForInitializer):u(this._flags.last_token.text,["if","while"])?(this._output.space_before_token=this._options.space_before_conditional,e=y.Conditional):u(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:"import"===this._flags.last_token.text&&""===t.whitespace_before?this._output.space_before_token=!1:(u(this._flags.last_token.text,a)||"catch"===this._flags.last_token.text)&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===p.EQUALS||this._flags.last_token.type===p.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t);else if(this._flags.last_token.type===p.WORD){if(this._output.space_before_token=!1,this._options.space_after_named_function){var i=this._tokens.peek(-4),n=this._tokens.peek(-3);(d(n,["async","function"])||d(i,["async","function"])&&"*"===n.text)&&(this._output.space_before_token=!0)}}else this.allow_wrap_or_preserved_newline(t);(this._flags.last_token.type===p.RESERVED&&("function"===this._flags.last_word||"typeof"===this._flags.last_word)||"*"===this._flags.last_token.text&&(u(this._last_last_text,["function","yield"])||this._flags.mode===y.ObjectLiteral&&u(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}";"===this._flags.last_token.text||this._flags.last_token.type===p.START_BLOCK?this.print_newline():this._flags.last_token.type!==p.END_EXPR&&this._flags.last_token.type!==p.START_EXPR&&this._flags.last_token.type!==p.END_BLOCK&&"."!==this._flags.last_token.text&&this._flags.last_token.type!==p.COMMA||this.allow_wrap_or_preserved_newline(t,t.newlines),this.set_mode(e),this.print_token(t),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},v.prototype.handle_end_expr=function(t){for(;this._flags.mode===y.Statement;)this.restore_mode();this.handle_whitespace_and_comments(t),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(t,"]"===t.text&&w(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type!==p.START_EXPR||this._options.space_in_empty_paren?this._output.space_before_token=!0:(this._output.trim(),this._output.space_before_token=!1)),"]"===t.text&&this._options.keep_array_indentation?(this.print_token(t),this.restore_mode()):(this.restore_mode(),this.print_token(t)),l(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===y.Conditional&&(this._previous_flags.mode=y.Expression,this._flags.do_block=!1,this._flags.do_while=!1)},v.prototype.handle_start_block=function(t){this.handle_whitespace_and_comments(t);var e=this._tokens.peek(),i=this._tokens.peek(1);"switch"===this._flags.last_word&&this._flags.last_token.type===p.END_EXPR?(this.set_mode(y.BlockStatement),this._flags.in_case_statement=!0):i&&(u(i.text,[":",","])&&u(e.type,[p.STRING,p.WORD,p.RESERVED])||u(e.text,["get","set","..."])&&u(i.type,[p.WORD,p.RESERVED]))?u(this._last_last_text,["class","interface"])?this.set_mode(y.BlockStatement):this.set_mode(y.ObjectLiteral):this._flags.last_token.type===p.OPERATOR&&"=>"===this._flags.last_token.text?this.set_mode(y.BlockStatement):u(this._flags.last_token.type,[p.EQUALS,p.START_EXPR,p.COMMA,p.OPERATOR])||d(this._flags.last_token,["return","throw","import","default"])?this.set_mode(y.ObjectLiteral):this.set_mode(y.BlockStatement);var n=!e.comments_before&&"}"===e.text&&"function"===this._flags.last_word&&this._flags.last_token.type===p.END_EXPR;if(this._options.brace_preserve_inline){var s=0,_=null;this._flags.inline_frame=!0;do{if(s+=1,(_=this._tokens.peek(s-1)).newlines){this._flags.inline_frame=!1;break}}while(_.type!==p.EOF&&(_.type!==p.END_BLOCK||_.opened!==t))}("expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==p.OPERATOR&&(n||this._flags.last_token.type===p.EQUALS||d(this._flags.last_token,g)&&"else"!==this._flags.last_token.text)?this._output.space_before_token=!0:this.print_newline(!1,!0):(!w(this._previous_flags.mode)||this._flags.last_token.type!==p.START_EXPR&&this._flags.last_token.type!==p.COMMA||((this._flags.last_token.type===p.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===p.COMMA||this._flags.last_token.type===p.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(t),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==p.OPERATOR&&this._flags.last_token.type!==p.START_EXPR&&(this._flags.last_token.type!==p.START_BLOCK||this._flags.inline_frame?this._output.space_before_token=!0:this.print_newline())),this.print_token(t),this.indent()},v.prototype.handle_end_block=function(t){for(this.handle_whitespace_and_comments(t);this._flags.mode===y.Statement;)this.restore_mode();var e=this._flags.last_token.type===p.START_BLOCK;this._flags.inline_frame&&!e?this._output.space_before_token=!0:"expand"===this._options.brace_style?e||this.print_newline():e||(w(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(t)},v.prototype.handle_word=function(t){if(t.type===p.RESERVED)if(u(t.text,["set","get"])&&this._flags.mode!==y.ObjectLiteral)t.type=p.WORD;else if("import"===t.text&&"("===this._tokens.peek().text)t.type=p.WORD;else if(u(t.text,["as","from"])&&!this._flags.import_block)t.type=p.WORD;else if(this._flags.mode===y.ObjectLiteral){":"===this._tokens.peek().text&&(t.type=p.WORD)}if(this.start_of_statement(t)?d(this._flags.last_token,["var","let","const"])&&t.type===p.WORD&&(this._flags.declaration_statement=!0):!t.newlines||x(this._flags.mode)||this._flags.last_token.type===p.OPERATOR&&"--"!==this._flags.last_token.text&&"++"!==this._flags.last_token.text||this._flags.last_token.type===p.EQUALS||!this._options.preserve_newlines&&d(this._flags.last_token,["var","let","const","set","get"])?this.handle_whitespace_and_comments(t):(this.handle_whitespace_and_comments(t),this.print_newline()),this._flags.do_block&&!this._flags.do_while){if(f(t,"while"))return this._output.space_before_token=!0,this.print_token(t),this._output.space_before_token=!0,void(this._flags.do_while=!0);this.print_newline(),this._flags.do_block=!1}if(this._flags.if_block)if(!this._flags.else_block&&f(t,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===y.Statement;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&d(t,["case","default"]))return this.print_newline(),(this._flags.case_body||this._options.jslint_happy)&&(this.deindent(),this._flags.case_body=!1),this.print_token(t),void(this._flags.in_case=!0);if(this._flags.last_token.type!==p.COMMA&&this._flags.last_token.type!==p.START_EXPR&&this._flags.last_token.type!==p.EQUALS&&this._flags.last_token.type!==p.OPERATOR||this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t),f(t,"function"))return(u(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!u(this._flags.last_token.text,["(","[","{",":","=",","])&&this._flags.last_token.type!==p.OPERATOR)&&(this._output.just_added_blankline()||t.comments_before||(this.print_newline(),this.print_newline(!0))),this._flags.last_token.type===p.RESERVED||this._flags.last_token.type===p.WORD?d(this._flags.last_token,["get","set","new","export"])||d(this._flags.last_token,b)?this._output.space_before_token=!0:f(this._flags.last_token,"default")&&"export"===this._last_last_text?this._output.space_before_token=!0:"declare"===this._flags.last_token.text?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===p.OPERATOR||"="===this._flags.last_token.text?this._output.space_before_token=!0:(this._flags.multiline_frame||!x(this._flags.mode)&&!w(this._flags.mode))&&this.print_newline(),this.print_token(t),void(this._flags.last_word=t.text);var e="NONE";(this._flags.last_token.type===p.END_BLOCK?this._previous_flags.inline_frame?e="SPACE":d(t,["else","catch","finally","from"])?"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines?e="NEWLINE":(e="SPACE",this._output.space_before_token=!0):e="NEWLINE":this._flags.last_token.type===p.SEMICOLON&&this._flags.mode===y.BlockStatement?e="NEWLINE":this._flags.last_token.type===p.SEMICOLON&&x(this._flags.mode)?e="SPACE":this._flags.last_token.type===p.STRING?e="NEWLINE":this._flags.last_token.type===p.RESERVED||this._flags.last_token.type===p.WORD||"*"===this._flags.last_token.text&&(u(this._last_last_text,["function","yield"])||this._flags.mode===y.ObjectLiteral&&u(this._last_last_text,["{",","]))?e="SPACE":this._flags.last_token.type===p.START_BLOCK?e=this._flags.inline_frame?"SPACE":"NEWLINE":this._flags.last_token.type===p.END_EXPR&&(this._output.space_before_token=!0,e="NEWLINE"),d(t,a)&&")"!==this._flags.last_token.text&&(e=this._flags.inline_frame||"else"===this._flags.last_token.text||"export"===this._flags.last_token.text?"SPACE":"NEWLINE"),d(t,["else","catch","finally"]))?(this._flags.last_token.type!==p.END_BLOCK||this._previous_flags.mode!==y.BlockStatement||"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines)&&!this._flags.inline_frame?this.print_newline():(this._output.trim(!0),"}"!==this._output.current_line.last()&&this.print_newline(),this._output.space_before_token=!0):"NEWLINE"===e?d(this._flags.last_token,g)?this._output.space_before_token=!0:"declare"===this._flags.last_token.text&&d(t,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==p.END_EXPR?this._flags.last_token.type===p.START_EXPR&&d(t,["var","let","const"])||":"===this._flags.last_token.text||(f(t,"if")&&f(t.previous,"else")?this._output.space_before_token=!0:this.print_newline()):d(t,a)&&")"!==this._flags.last_token.text&&this.print_newline():this._flags.multiline_frame&&w(this._flags.mode)&&","===this._flags.last_token.text&&"}"===this._last_last_text?this.print_newline():"SPACE"===e&&(this._output.space_before_token=!0);!t.previous||t.previous.type!==p.WORD&&t.previous.type!==p.RESERVED||(this._output.space_before_token=!0),this.print_token(t),this._flags.last_word=t.text,t.type===p.RESERVED&&("do"===t.text?this._flags.do_block=!0:"if"===t.text?this._flags.if_block=!0:"import"===t.text?this._flags.import_block=!0:this._flags.import_block&&f(t,"from")&&(this._flags.import_block=!1))},v.prototype.handle_semicolon=function(t){this.start_of_statement(t)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(t);for(var e=this._tokens.peek();!(this._flags.mode!==y.Statement||this._flags.if_block&&f(e,"else")||this._flags.do_block);)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(t)},v.prototype.handle_string=function(t){this.start_of_statement(t)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(t),this._flags.last_token.type===p.RESERVED||this._flags.last_token.type===p.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===p.COMMA||this._flags.last_token.type===p.START_EXPR||this._flags.last_token.type===p.EQUALS||this._flags.last_token.type===p.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t):this.print_newline()),this.print_token(t)},v.prototype.handle_equals=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(t),this._output.space_before_token=!0},v.prototype.handle_comma=function(t){this.handle_whitespace_and_comments(t,!0),this.print_token(t),this._output.space_before_token=!0,this._flags.declaration_statement?(x(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(t)):this._flags.mode===y.ObjectLiteral||this._flags.mode===y.Statement&&this._flags.parent.mode===y.ObjectLiteral?(this._flags.mode===y.Statement&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(t)},v.prototype.handle_operator=function(t){var e="*"===t.text&&(d(this._flags.last_token,["function","yield"])||u(this._flags.last_token.type,[p.START_BLOCK,p.COMMA,p.END_BLOCK,p.SEMICOLON])),i=u(t.text,["-","+"])&&(u(this._flags.last_token.type,[p.START_BLOCK,p.START_EXPR,p.EQUALS,p.OPERATOR])||u(this._flags.last_token.text,a)||","===this._flags.last_token.text);if(this.start_of_statement(t));else{var n=!e;this.handle_whitespace_and_comments(t,n)}if(d(this._flags.last_token,g))return this._output.space_before_token=!0,void this.print_token(t);if("*"!==t.text||this._flags.last_token.type!==p.DOT)if("::"!==t.text){if(this._flags.last_token.type===p.OPERATOR&&u(this._options.operator_position,m)&&this.allow_wrap_or_preserved_newline(t),":"===t.text&&this._flags.in_case)return this._flags.case_body=!0,this.indent(),this.print_token(t),this.print_newline(),void(this._flags.in_case=!1);var s=!0,_=!0,o=!1;if(":"===t.text?0===this._flags.ternary_depth?s=!1:(this._flags.ternary_depth-=1,o=!0):"?"===t.text&&(this._flags.ternary_depth+=1),!i&&!e&&this._options.preserve_newlines&&u(t.text,h)){var r=":"===t.text,l=r&&o,c=r&&!o;switch(this._options.operator_position){case k.before_newline:return this._output.space_before_token=!c,this.print_token(t),r&&!l||this.allow_wrap_or_preserved_newline(t),void(this._output.space_before_token=!0);case k.after_newline:return this._output.space_before_token=!0,!r||l?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(t):this._output.space_before_token=!1,this.print_token(t),void(this._output.space_before_token=!0);case k.preserve_newline:return c||this.allow_wrap_or_preserved_newline(t),s=!(this._output.just_added_newline()||c),this._output.space_before_token=s,this.print_token(t),void(this._output.space_before_token=!0)}}if(e){this.allow_wrap_or_preserved_newline(t),s=!1;var f=this._tokens.peek();_=f&&u(f.type,[p.WORD,p.RESERVED])}else"..."===t.text?(this.allow_wrap_or_preserved_newline(t),s=this._flags.last_token.type===p.START_BLOCK,_=!1):(u(t.text,["--","++","!","~"])||i)&&(this._flags.last_token.type!==p.COMMA&&this._flags.last_token.type!==p.START_EXPR||this.allow_wrap_or_preserved_newline(t),s=!1,_=!1,!t.newlines||"--"!==t.text&&"++"!==t.text||this.print_newline(!1,!0),";"===this._flags.last_token.text&&x(this._flags.mode)&&(s=!0),this._flags.last_token.type===p.RESERVED?s=!0:this._flags.last_token.type===p.END_EXPR?s=!("]"===this._flags.last_token.text&&("--"===t.text||"++"===t.text)):this._flags.last_token.type===p.OPERATOR&&(s=u(t.text,["--","-","++","+"])&&u(this._flags.last_token.text,["--","-","++","+"]),u(t.text,["+","-"])&&u(this._flags.last_token.text,["--","++"])&&(_=!0)),(this._flags.mode!==y.BlockStatement||this._flags.inline_frame)&&this._flags.mode!==y.Statement||"{"!==this._flags.last_token.text&&";"!==this._flags.last_token.text||this.print_newline());this._output.space_before_token=this._output.space_before_token||s,this.print_token(t),this._output.space_before_token=_}else this.print_token(t);else this.print_token(t)},v.prototype.handle_block_comment=function(t,e){if(this._output.raw)return this._output.add_raw_token(t),void(t.directives&&"end"===t.directives.preserve&&(this._output.raw=this._options.test_output_raw));if(t.directives)return this.print_newline(!1,e),this.print_token(t),"start"===t.directives.preserve&&(this._output.raw=!0),void this.print_newline(!1,!0);if(!_.newline.test(t.text)&&!t.newlines)return this._output.space_before_token=!0,this.print_token(t),void(this._output.space_before_token=!0);var i,n=function(t){for(var e=[],i=(t=t.replace(_.allLineBreaks,"\n")).indexOf("\n");-1!==i;)e.push(t.substring(0,i)),i=(t=t.substring(i+1)).indexOf("\n");return t.length&&e.push(t),e}(t.text),s=!1,o=!1,r=t.whitespace_before,a=r.length;for(this.print_newline(!1,e),n.length>1&&(s=function(t,e){for(var i=0;ia?this.print_token(t,n[i].substring(a)):this._output.add_token(n[i]);this.print_newline(!1,e)},v.prototype.handle_comment=function(t,e){t.newlines?this.print_newline(!1,e):this._output.trim(!0),this._output.space_before_token=!0,this.print_token(t),this.print_newline(!1,e)},v.prototype.handle_dot=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t,!0),d(this._flags.last_token,g)?this._output.space_before_token=!1:this.allow_wrap_or_preserved_newline(t,")"===this._flags.last_token.text&&this._options.break_chained_methods),this._options.unindent_chained_methods&&this._output.just_added_newline()&&this.deindent(),this.print_token(t)},v.prototype.handle_unknown=function(t,e){this.print_token(t),"\n"===t.text[t.text.length-1]&&this.print_newline(!1,e)},v.prototype.handle_eof=function(t){for(;this._flags.mode===y.Statement;)this.restore_mode();this.handle_whitespace_and_comments(t)},t.exports.Beautifier=v},function(t,e,i){"use strict";var n=i(3).Options,s=["before-newline","after-newline","preserve-newline"];function _(t){n.call(this,t,"js");var e=this.raw_options.brace_style||null;"expand-strict"===e?this.raw_options.brace_style="expand":"collapse-preserve-inline"===e?this.raw_options.brace_style="collapse,preserve-inline":void 0!==this.raw_options.braces_on_own_line&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var i=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var _=0;_=0&&t0&&this._indentLevel--},u.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._source_text,e=this._options.eol;"auto"===e&&(e="\n",t&&o.test(t||"")&&(e=t.match(o)[0]));var i=(t=t.replace(r,"\n")).match(/^[\t ]*/)[0];this._output=new s(this._options,i),this._input=new _(t),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var n=0,u=!1,c=!1,f=!1,d=!1,g=!1,k=this._ch;;){var m=""!==this._input.read(h),y=k;if(this._ch=this._input.next(),k=this._ch,!this._ch)break;if("/"===this._ch&&"*"===this._input.peek())this._output.add_new_line(),this._input.back(),this.print_string(this._input.read(p)),this.eatWhitespace(!0),this._output.add_new_line();else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(l)),this.eatWhitespace(!0);else if("@"===this._ch)if(this.preserveSingleSpace(m),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var w=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);w.match(/[ :]$/)&&(w=this.eatString(": ").replace(/\s$/,""),this.print_string(w),this._output.space_before_token=!0),"extend"===(w=w.replace(/\s$/,""))?d=!0:"import"===w&&(g=!0),w in this.NESTED_AT_RULE?(this._nestedLevel+=1,w in this.CONDITIONAL_GROUP_RULE&&(f=!0)):u||0!==n||-1===w.indexOf(":")||(c=!0,this.indent())}else"#"===this._ch&&"{"===this._input.peek()?(this.preserveSingleSpace(m),this.print_string(this._ch+this.eatString("}"))):"{"===this._ch?(c&&(c=!1,this.outdent()),this.indent(),this._output.space_before_token=!0,this.print_string(this._ch),f?(f=!1,u=this._indentLevel>this._nestedLevel):u=this._indentLevel>=this._nestedLevel,this._options.newline_between_rules&&u&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this.eatWhitespace(!0),this._output.add_new_line()):"}"===this._ch?(this.outdent(),this._output.add_new_line(),"{"===y&&this._output.trim(!0),g=!1,d=!1,c&&(this.outdent(),c=!1),this.print_string(this._ch),u=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0)):":"===this._ch?!u&&!f||this._input.lookBack("&")||this.foundNestedPseudoClass()||this._input.lookBack("(")||d?(this._input.lookBack(" ")&&(this._output.space_before_token=!0),":"===this._input.peek()?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":")):(this.print_string(":"),c||(c=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):'"'===this._ch||"'"===this._ch?(this.preserveSingleSpace(m),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)):";"===this._ch?(c&&(this.outdent(),c=!1),d=!1,g=!1,this.print_string(this._ch),this.eatWhitespace(!0),"/"!==this._input.peek()&&this._output.add_new_line()):"("===this._ch?this._input.lookBack("url")?(this.print_string(this._ch),this.eatWhitespace(),this._ch=this._input.next(),")"===this._ch||'"'===this._ch||"'"===this._ch?(this._input.back(),n++):this._ch&&this.print_string(this._ch+this.eatString(")"))):(n++,this.preserveSingleSpace(m),this.print_string(this._ch),this.eatWhitespace()):")"===this._ch?(this.print_string(this._ch),n--):","===this._ch?(this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&!c&&n<1&&!g?this._output.add_new_line():this._output.space_before_token=!0):(">"===this._ch||"+"===this._ch||"~"===this._ch)&&!c&&n<1?this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&a.test(this._ch)&&(this._ch="")):"]"===this._ch?this.print_string(this._ch):"["===this._ch?(this.preserveSingleSpace(m),this.print_string(this._ch)):"="===this._ch?(this.eatWhitespace(),this.print_string("="),a.test(this._ch)&&(this._ch="")):"!"===this._ch?(this.print_string(" "),this.print_string(this._ch)):(this.preserveSingleSpace(m),this.print_string(this._ch))}return this._output.get_code(e)},t.exports.Beautifier=u},function(t,e,i){"use strict";var n=i(3).Options;function s(t){n.call(this,t,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var e=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||e}s.prototype=new n,t.exports.Options=s},function(t,e,i){"use strict";var n=i(18).Beautifier;t.exports=function(t,e,i,s){return new n(t,e,i,s).beautify()}},function(t,e,i){"use strict";var n=i(19).Options,s=i(2).Output,_=i(8).Tokenizer,o=i(8).TOKEN,r=/\r\n|[\r\n]/,a=/\r\n|[\r\n]/g,h=function(t,e){this.indent_level=0,this.alignment_size=0,this.wrap_line_length=t.wrap_line_length,this.max_preserve_newlines=t.max_preserve_newlines,this.preserve_newlines=t.preserve_newlines,this._output=new s(t,e)};h.prototype.current_line_has_match=function(t){return this._output.current_line.has_match(t)},h.prototype.set_space_before_token=function(t){this._output.space_before_token=t},h.prototype.add_raw_token=function(t){this._output.add_raw_token(t)},h.prototype.print_preserved_newlines=function(t){var e=0;t.type!==o.TEXT&&t.previous.type!==o.TEXT&&(e=t.newlines?1:0),this.preserve_newlines&&(e=t.newlines0);return 0!==e},h.prototype.traverse_whitespace=function(t){return!(!t.whitespace_before&&!t.newlines)&&(this.print_preserved_newlines(t)||(this._output.space_before_token=!0,this.print_space_or_wrap(t.text)),!0)},h.prototype.print_space_or_wrap=function(t){return!!(this.wrap_line_length&&this._output.current_line.get_character_count()+t.length+1>=this.wrap_line_length)&&this._output.add_new_line()},h.prototype.print_newline=function(t){this._output.add_new_line(t)},h.prototype.print_token=function(t){t&&(this._output.current_line.is_empty()&&this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(t))},h.prototype.print_raw_text=function(t){this._output.current_line.push_raw(t)},h.prototype.indent=function(){this.indent_level++},h.prototype.unindent=function(){this.indent_level>0&&this.indent_level--},h.prototype.get_full_indent=function(t){return(t=this.indent_level+(t||0))<1?"":this._output.get_indent_string(t)};function p(t,e){return-1!==e.indexOf(t)}function l(t){this._printer=t,this._current_frame=null}function u(t,e,i,s){this._source_text=t||"",e=e||{},this._js_beautify=i,this._css_beautify=s,this._tag_stack=null;var _=new n(e,"html");this._options=_,this._is_wrap_attributes_force="force"===this._options.wrap_attributes.substr(0,"force".length),this._is_wrap_attributes_force_expand_multiline="force-expand-multiline"===this._options.wrap_attributes,this._is_wrap_attributes_force_aligned="force-aligned"===this._options.wrap_attributes,this._is_wrap_attributes_aligned_multiple="aligned-multiple"===this._options.wrap_attributes,this._is_wrap_attributes_preserve="preserve"===this._options.wrap_attributes.substr(0,"preserve".length),this._is_wrap_attributes_preserve_aligned="preserve-aligned"===this._options.wrap_attributes}l.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},l.prototype.record_tag=function(t){var e=new function(t,e,i){this.parent=t||null,this.tag=e?e.tag_name:"",this.indent_level=i||0,this.parser_token=e||null}(this._current_frame,t,this._printer.indent_level);this._current_frame=e},l.prototype._try_pop_frame=function(t){var e=null;return t&&(e=t.parser_token,this._printer.indent_level=t.indent_level,this._current_frame=t.parent),e},l.prototype._get_frame=function(t,e){for(var i=this._current_frame;i&&-1===t.indexOf(i.tag);){if(e&&-1!==e.indexOf(i.tag)){i=null;break}i=i.parent}return i},l.prototype.try_pop=function(t,e){var i=this._get_frame([t],e);return this._try_pop_frame(i)},l.prototype.indent_to_tag=function(t){var e=this._get_frame(t);e&&(this._printer.indent_level=e.indent_level)},u.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._source_text,e=this._options.eol;"auto"===this._options.eol&&(e="\n",t&&r.test(t)&&(e=t.match(r)[0])),t=t.replace(a,"\n");var i={text:"",type:""},n=new c,s=new h(this._options,""),p=new _(t,this._options).tokenize();this._tag_stack=new l(s);for(var u=null,f=p.next();f.type!==o.EOF;)f.type===o.TAG_OPEN||f.type===o.COMMENT?n=u=this._handle_tag_open(s,f,n,i):f.type===o.ATTRIBUTE||f.type===o.EQUALS||f.type===o.VALUE||f.type===o.TEXT&&!n.tag_complete?u=this._handle_inside_tag(s,f,n,p):f.type===o.TAG_CLOSE?u=this._handle_tag_close(s,f,n):f.type===o.TEXT?u=this._handle_text(s,f,n):s.add_raw_token(f),i=u,f=p.next();return s._output.get_code(e)},u.prototype._handle_tag_close=function(t,e,i){var n={text:e.text,type:e.type};return t.alignment_size=0,i.tag_complete=!0,t.set_space_before_token(e.newlines||""!==e.whitespace_before),i.is_unformatted?t.add_raw_token(e):("<"===i.tag_start_char&&(t.set_space_before_token("/"===e.text[0]),this._is_wrap_attributes_force_expand_multiline&&i.has_wrapped_attrs&&t.print_newline(!1)),t.print_token(e.text)),!i.indent_content||i.is_unformatted||i.is_content_unformatted||(t.indent(),i.indent_content=!1),n},u.prototype._handle_inside_tag=function(t,e,i,n){var s={text:e.text,type:e.type};if(t.set_space_before_token(e.newlines||""!==e.whitespace_before),i.is_unformatted)t.add_raw_token(e);else if("{"===i.tag_start_char&&e.type===o.TEXT)t.print_preserved_newlines(e)?t.print_raw_text(e.whitespace_before+e.text):t.print_token(e.text);else{if(e.type===o.ATTRIBUTE?(t.set_space_before_token(!0),i.attr_count+=1):e.type===o.EQUALS?t.set_space_before_token(!1):e.type===o.VALUE&&e.previous.type===o.EQUALS&&t.set_space_before_token(!1),t._output.space_before_token&&"<"===i.tag_start_char){var _=t.print_space_or_wrap(e.text);if(e.type===o.ATTRIBUTE&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(t.traverse_whitespace(e),_=_||0!==e.newlines),i.has_wrapped_attrs=i.has_wrapped_attrs||_,this._is_wrap_attributes_force)){var r=i.attr_count>1;if(this._is_wrap_attributes_force_expand_multiline&&1===i.attr_count){var a,h=!0,p=0;do{if((a=n.peek(p)).type===o.ATTRIBUTE){h=!1;break}p+=1}while(p<4&&a.type!==o.EOF&&a.type!==o.TAG_CLOSE);r=!h}r&&(t.print_newline(!1),i.has_wrapped_attrs=!0)}}t.print_token(e.text)}return s},u.prototype._handle_text=function(t,e,i){var n={text:e.text,type:"TK_CONTENT"};return i.custom_beautifier?this._print_custom_beatifier_text(t,e,i):i.is_unformatted||i.is_content_unformatted?t.add_raw_token(e):(t.traverse_whitespace(e),t.print_token(e.text)),n},u.prototype._print_custom_beatifier_text=function(t,e,i){if(""!==e.text){t.print_newline(!1);var n,s=e.text,_=1;"script"===i.tag_name?n="function"==typeof this._js_beautify&&this._js_beautify:"style"===i.tag_name&&(n="function"==typeof this._css_beautify&&this._css_beautify),"keep"===this._options.indent_scripts?_=0:"separate"===this._options.indent_scripts&&(_=-t.indent_level);var o=t.get_full_indent(_);if(s=s.replace(/\n[ \t]*$/,""),n){var r=function(){this.eol="\n"};r.prototype=this._options.raw_options,s=n(o+s,new r)}else{var a=s.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(this._options.indent_string).length-1,h=this._get_full_indent(_-a);s=(o+s.trim()).replace(/\r\n|\r|\n/g,"\n"+h)}s&&(t.print_raw_text(s),t.print_newline(!0))}},u.prototype._handle_tag_open=function(t,e,i,n){var s=this._get_tag_open_token(e);return(i.is_unformatted||i.is_content_unformatted)&&e.type===o.TAG_OPEN&&0===e.text.indexOf("]*)/),this.tag_check=i?i[1]:""):(i=e.text.match(/^{{\#?([^\s}]+)/),this.tag_check=i?i[1]:""),this.tag_check=this.tag_check.toLowerCase(),e.type===o.COMMENT&&(this.tag_complete=!0),this.is_start_tag="/"!==this.tag_check.charAt(0),this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||e.closed&&"/>"===e.closed.text,this.is_end_tag=this.is_end_tag||"{"===this.tag_start_char&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(2)))):this.tag_complete=!0};u.prototype._get_tag_open_token=function(t){var e=new c(this._tag_stack.get_parser_token(),t);return e.alignment_size=this._options.wrap_attributes_indent_size,e.is_end_tag=e.is_end_tag||p(e.tag_check,this._options.void_elements),e.is_empty_element=e.tag_complete||e.is_start_tag&&e.is_end_tag,e.is_unformatted=!e.tag_complete&&p(e.tag_check,this._options.unformatted),e.is_content_unformatted=!e.is_empty_element&&p(e.tag_check,this._options.content_unformatted),e.is_inline_element=p(e.tag_name,this._options.inline)||"{"===e.tag_start_char,e},u.prototype._set_tag_position=function(t,e,i,n,s){if(i.is_empty_element||(i.is_end_tag?i.start_tag_token=this._tag_stack.try_pop(i.tag_name):(this._do_optional_end_element(i),this._tag_stack.record_tag(i),"script"!==i.tag_name&&"style"!==i.tag_name||i.is_unformatted||i.is_content_unformatted||(i.custom_beautifier=function(t,e){var i=e.next;if(!e.closed)return!1;for(;i.type!==o.EOF&&i.closed!==e;){if(i.type===o.ATTRIBUTE&&"type"===i.text){var n=i.next?i.next:i,s=n.next?n.next:n;return n.type===o.EQUALS&&s.type===o.VALUE&&("style"===t&&s.text.search("text/css")>-1||"script"===t&&s.text.search(/(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/)>-1)}i=i.next}return!0}(i.tag_check,e)))),p(i.tag_check,this._options.extra_liners)&&(t.print_newline(!1),t._output.just_added_blankline()||t.print_newline(!0)),i.is_empty_element){if("{"===i.tag_start_char&&"else"===i.tag_check)this._tag_stack.indent_to_tag(["if","unless","each"]),i.indent_content=!0,t.current_line_has_match(/{{#if/)||t.print_newline(!1);"!--"===i.tag_name&&s.type===o.TAG_CLOSE&&n.is_end_tag&&-1===i.text.indexOf("\n")||i.is_inline_element||i.is_unformatted||t.print_newline(!1)}else i.is_unformatted||i.is_content_unformatted?i.is_inline_element||i.is_unformatted||t.print_newline(!1):i.is_end_tag?(i.start_tag_token&&i.start_tag_token.multiline_content||!(i.is_inline_element||n.is_inline_element||s.type===o.TAG_CLOSE&&i.start_tag_token===n||"TK_CONTENT"===s.type))&&t.print_newline(!1):(i.indent_content=!i.custom_beautifier,"<"===i.tag_start_char&&("html"===i.tag_name?i.indent_content=this._options.indent_inner_html:"head"===i.tag_name?i.indent_content=this._options.indent_head_inner_html:"body"===i.tag_name&&(i.indent_content=this._options.indent_body_inner_html)),i.is_inline_element||"TK_CONTENT"===s.type||(i.parent&&(i.parent.multiline_content=!0),t.print_newline(!1)))},u.prototype._do_optional_end_element=function(t){!t.is_empty_element&&t.is_start_tag&&t.parent&&("body"===t.tag_name?this._tag_stack.try_pop("head"):"li"===t.tag_name?this._tag_stack.try_pop("li",["ol","ul"]):"dd"===t.tag_name||"dt"===t.tag_name?(this._tag_stack.try_pop("dt",["dl"]),this._tag_stack.try_pop("dd",["dl"])):"rp"===t.tag_name||"rt"===t.tag_name?(this._tag_stack.try_pop("rt",["ruby","rtc"]),this._tag_stack.try_pop("rp",["ruby","rtc"])):"optgroup"===t.tag_name?this._tag_stack.try_pop("optgroup",["select"]):"option"===t.tag_name?this._tag_stack.try_pop("option",["select","datalist","optgroup"]):"colgroup"===t.tag_name?this._tag_stack.try_pop("caption",["table"]):"thead"===t.tag_name?(this._tag_stack.try_pop("caption",["table"]),this._tag_stack.try_pop("colgroup",["table"])):"tbody"===t.tag_name||"tfoot"===t.tag_name?(this._tag_stack.try_pop("caption",["table"]),this._tag_stack.try_pop("colgroup",["table"]),this._tag_stack.try_pop("thead",["table"]),this._tag_stack.try_pop("tbody",["table"])):"tr"===t.tag_name?(this._tag_stack.try_pop("caption",["table"]),this._tag_stack.try_pop("colgroup",["table"]),this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):"th"!==t.tag_name&&"td"!==t.tag_name||(this._tag_stack.try_pop("td",["tr"]),this._tag_stack.try_pop("th",["tr"])),t.parent=this._tag_stack.get_parser_token())},t.exports.Beautifier=u},function(t,e,i){"use strict";var n=i(3).Options;function s(t){n.call(this,t,"html"),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","address","big","dt","ins","strike","tt"]),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","?php","?=","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}s.prototype=new n,t.exports.Options=s}])}); +//# sourceMappingURL=beautifier.min.js.map \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-css.js b/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-css.js index 5bfd98b3..9d50ff69 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-css.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-css.js @@ -1,9 +1,9 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/* AUTO-GENERATED. DO NOT MODIFY. */ /* The MIT License (MIT) - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -31,8 +31,8 @@ Written by Harutyun Amirjanyan, (amirjanyan@gmail.com) - Based on code initially developed by: Einar Lielmanis, - http://jsbeautifier.org/ + Based on code initially developed by: Einar Lielmanis, + https://beautifier.io/ Usage: css_beautify(source_text); @@ -41,7 +41,6 @@ The options are (default in brackets): indent_size (4) — indentation size, indent_char (space) — character to indent with, - preserve_newlines (default false) - whether existing line breaks should be preserved, selector_separator_newline (true) - separate selectors with newline or not (e.g. "a,\nbr" or "a, br") end_with_newline (false) - end with a newline @@ -65,507 +64,1322 @@ (function() { - function mergeOpts(allOptions, targetType) { - var finalOpts = {}; - var name; +/* GENERATED_BUILD_OUTPUT */ +var legacy_beautify_css = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 12); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */, +/* 1 */, +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* - for (name in allOptions) { - if (name !== targetType) { - finalOpts[name] = allOptions[name]; - } - } + The MIT License (MIT) + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - //merge in the per type settings for the targetType - if (targetType in allOptions) { - for (name in allOptions[targetType]) { - finalOpts[name] = allOptions[targetType][name]; - } - } - return finalOpts; + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function OutputLine(parent) { + this.__parent = parent; + this.__character_count = 0; + // use indent_count as a marker for this.__lines that have preserved indentation + this.__indent_count = -1; + this.__alignment_count = 0; + + this.__items = []; +} + +OutputLine.prototype.item = function(index) { + if (index < 0) { + return this.__items[this.__items.length + index]; + } else { + return this.__items[index]; + } +}; + +OutputLine.prototype.has_match = function(pattern) { + for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) { + if (this.__items[lastCheckedOutput].match(pattern)) { + return true; + } + } + return false; +}; + +OutputLine.prototype.set_indent = function(indent, alignment) { + this.__indent_count = indent || 0; + this.__alignment_count = alignment || 0; + this.__character_count = this.__parent.baseIndentLength + this.__alignment_count + this.__indent_count * this.__parent.indent_length; +}; + +OutputLine.prototype.get_character_count = function() { + return this.__character_count; +}; + +OutputLine.prototype.is_empty = function() { + return this.__items.length === 0; +}; + +OutputLine.prototype.last = function() { + if (!this.is_empty()) { + return this.__items[this.__items.length - 1]; + } else { + return null; + } +}; + +OutputLine.prototype.push = function(item) { + this.__items.push(item); + this.__character_count += item.length; +}; + +OutputLine.prototype.push_raw = function(item) { + this.push(item); + var last_newline_index = item.lastIndexOf('\n'); + if (last_newline_index !== -1) { + this.__character_count = item.length - last_newline_index; + } +}; + +OutputLine.prototype.pop = function() { + var item = null; + if (!this.is_empty()) { + item = this.__items.pop(); + this.__character_count -= item.length; + } + return item; +}; + +OutputLine.prototype.remove_indent = function() { + if (this.__indent_count > 0) { + this.__indent_count -= 1; + this.__character_count -= this.__parent.indent_length; + } +}; + +OutputLine.prototype.trim = function() { + while (this.last() === ' ') { + this.__items.pop(); + this.__character_count -= 1; + } +}; + +OutputLine.prototype.toString = function() { + var result = ''; + if (!this.is_empty()) { + if (this.__indent_count >= 0) { + result = this.__parent.get_indent_string(this.__indent_count); } + if (this.__alignment_count >= 0) { + result += this.__parent.get_alignment_string(this.__alignment_count); + } + result += this.__items.join(''); + } + return result; +}; + +function IndentCache(base_string, level_string) { + this.__cache = [base_string]; + this.__level_string = level_string; +} + +IndentCache.prototype.__ensure_cache = function(level) { + while (level >= this.__cache.length) { + this.__cache.push(this.__cache[this.__cache.length - 1] + this.__level_string); + } +}; + +IndentCache.prototype.get_level_string = function(level) { + this.__ensure_cache(level); + return this.__cache[level]; +}; + + +function Output(options, baseIndentString) { + var indent_string = options.indent_char; + if (options.indent_size > 1) { + indent_string = new Array(options.indent_size + 1).join(options.indent_char); + } + + // Set to null to continue support for auto detection of base indent level. + baseIndentString = baseIndentString || ''; + if (options.indent_level > 0) { + baseIndentString = new Array(options.indent_level + 1).join(indent_string); + } + + this.__indent_cache = new IndentCache(baseIndentString, indent_string); + this.__alignment_cache = new IndentCache('', ' '); + this.baseIndentLength = baseIndentString.length; + this.indent_length = indent_string.length; + this.raw = false; + this._end_with_newline = options.end_with_newline; + + this.__lines = []; + this.previous_line = null; + this.current_line = null; + this.space_before_token = false; + // initialize + this.__add_outputline(); +} + +Output.prototype.__add_outputline = function() { + this.previous_line = this.current_line; + this.current_line = new OutputLine(this); + this.__lines.push(this.current_line); +}; + +Output.prototype.get_line_number = function() { + return this.__lines.length; +}; + +Output.prototype.get_indent_string = function(level) { + return this.__indent_cache.get_level_string(level); +}; + +Output.prototype.get_alignment_string = function(level) { + return this.__alignment_cache.get_level_string(level); +}; + +Output.prototype.is_empty = function() { + return !this.previous_line && this.current_line.is_empty(); +}; + +Output.prototype.add_new_line = function(force_newline) { + // never newline at the start of file + // otherwise, newline only if we didn't just add one or we're forced + if (this.is_empty() || + (!force_newline && this.just_added_newline())) { + return false; + } + + // if raw output is enabled, don't print additional newlines, + // but still return True as though you had + if (!this.raw) { + this.__add_outputline(); + } + return true; +}; + +Output.prototype.get_code = function(eol) { + var sweet_code = this.__lines.join('\n').replace(/[\r\n\t ]+$/, ''); + + if (this._end_with_newline) { + sweet_code += '\n'; + } + + if (eol !== '\n') { + sweet_code = sweet_code.replace(/[\n]/g, eol); + } + + return sweet_code; +}; + +Output.prototype.set_indent = function(indent, alignment) { + indent = indent || 0; + alignment = alignment || 0; + + // Never indent your first output indent at the start of the file + if (this.__lines.length > 1) { + this.current_line.set_indent(indent, alignment); + return true; + } + this.current_line.set_indent(); + return false; +}; + +Output.prototype.add_raw_token = function(token) { + for (var x = 0; x < token.newlines; x++) { + this.__add_outputline(); + } + this.current_line.push(token.whitespace_before); + this.current_line.push_raw(token.text); + this.space_before_token = false; +}; + +Output.prototype.add_token = function(printable_token) { + this.add_space_before_token(); + this.current_line.push(printable_token); +}; + +Output.prototype.add_space_before_token = function() { + if (this.space_before_token && !this.just_added_newline()) { + this.current_line.push(' '); + } + this.space_before_token = false; +}; + +Output.prototype.remove_indent = function(index) { + var output_length = this.__lines.length; + while (index < output_length) { + this.__lines[index].remove_indent(); + index++; + } +}; + +Output.prototype.trim = function(eat_newlines) { + eat_newlines = (eat_newlines === undefined) ? false : eat_newlines; + + this.current_line.trim(this.indent_string, this.baseIndentString); + + while (eat_newlines && this.__lines.length > 1 && + this.current_line.is_empty()) { + this.__lines.pop(); + this.current_line = this.__lines[this.__lines.length - 1]; + this.current_line.trim(); + } + + this.previous_line = this.__lines.length > 1 ? + this.__lines[this.__lines.length - 2] : null; +}; + +Output.prototype.just_added_newline = function() { + return this.current_line.is_empty(); +}; + +Output.prototype.just_added_blankline = function() { + return this.is_empty() || + (this.current_line.is_empty() && this.previous_line.is_empty()); +}; + +Output.prototype.ensure_empty_line_above = function(starts_with, ends_with) { + var index = this.__lines.length - 2; + while (index >= 0) { + var potentialEmptyLine = this.__lines[index]; + if (potentialEmptyLine.is_empty()) { + break; + } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 && + potentialEmptyLine.item(-1) !== ends_with) { + this.__lines.splice(index + 1, 0, new OutputLine(this)); + this.previous_line = this.__lines[this.__lines.length - 2]; + break; + } + index--; + } +}; - var lineBreak = /\r\n|[\n\r\u2028\u2029]/; - var allLineBreaks = new RegExp(lineBreak.source, 'g'); +module.exports.Output = Output; - function css_beautify(source_text, options) { - options = options || {}; - // Allow the setting of language/file-type specific options - // with inheritance of overall settings - options = mergeOpts(options, 'css'); +/***/ }), +/* 3 */, +/* 4 */, +/* 5 */, +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { - source_text = source_text || ''; +"use strict"; +/*jshint node:true */ +/* - var newlinesFromLastWSEat = 0; - var indentSize = options.indent_size ? parseInt(options.indent_size, 10) : 4; - var indentCharacter = options.indent_char || ' '; - var preserve_newlines = (options.preserve_newlines === undefined) ? false : options.preserve_newlines; - var selectorSeparatorNewline = (options.selector_separator_newline === undefined) ? true : options.selector_separator_newline; - var end_with_newline = (options.end_with_newline === undefined) ? false : options.end_with_newline; - var newline_between_rules = (options.newline_between_rules === undefined) ? true : options.newline_between_rules; - var space_around_combinator = (options.space_around_combinator === undefined) ? false : options.space_around_combinator; - space_around_combinator = space_around_combinator || ((options.space_around_selector_separator === undefined) ? false : options.space_around_selector_separator); - var eol = options.eol ? options.eol : 'auto'; + The MIT License (MIT) - if (options.indent_with_tabs) { - indentCharacter = '\t'; - indentSize = 1; - } + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - if (eol === 'auto') { - eol = '\n'; - if (source_text && lineBreak.test(source_text || '')) { - eol = source_text.match(lineBreak)[0]; - } - } + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - eol = eol.replace(/\\r/, '\r').replace(/\\n/, '\n'); + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - // HACK: newline parsing inconsistent. This brute force normalizes the input. - source_text = source_text.replace(allLineBreaks, '\n'); + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ - // tokenizer - var whiteRe = /^\s+$/; - var pos = -1, - ch; - var parenLevel = 0; - function next() { - ch = source_text.charAt(++pos); - return ch || ''; - } +function Options(options, merge_child_field) { + this.raw_options = _mergeOpts(options, merge_child_field); - function peek(skipWhitespace) { - var result = ''; - var prev_pos = pos; - if (skipWhitespace) { - eatWhitespace(); - } - result = source_text.charAt(pos + 1) || ''; - pos = prev_pos - 1; - next(); - return result; - } + // Support passing the source text back with no change + this.disabled = this._get_boolean('disabled'); - function eatString(endChars) { - var start = pos; - while (next()) { - if (ch === "\\") { - next(); - } else if (endChars.indexOf(ch) !== -1) { - break; - } else if (ch === "\n") { - break; - } - } - return source_text.substring(start, pos + 1); - } + this.eol = this._get_characters('eol', 'auto'); + this.end_with_newline = this._get_boolean('end_with_newline'); + this.indent_size = this._get_number('indent_size', 4); + this.indent_char = this._get_characters('indent_char', ' '); + this.indent_level = this._get_number('indent_level'); - function peekString(endChar) { - var prev_pos = pos; - var str = eatString(endChar); - pos = prev_pos - 1; - next(); - return str; - } + this.preserve_newlines = this._get_boolean('preserve_newlines', true); + this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786); + if (!this.preserve_newlines) { + this.max_preserve_newlines = 0; + } - function eatWhitespace(preserve_newlines_local) { - var result = 0; - while (whiteRe.test(peek())) { - next(); - if (ch === '\n' && preserve_newlines_local && preserve_newlines) { - print.newLine(true); - result++; - } - } - newlinesFromLastWSEat = result; - return result; - } + this.indent_with_tabs = this._get_boolean('indent_with_tabs'); + if (this.indent_with_tabs) { + this.indent_char = '\t'; + this.indent_size = 1; + } - function skipWhitespace() { - var result = ''; - if (ch && whiteRe.test(ch)) { - result = ch; - } - while (whiteRe.test(next())) { - result += ch; - } - return result; - } + // Backwards compat with 1.3.x + this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char')); - function eatComment(singleLine) { - var start = pos; - singleLine = peek() === "/"; - next(); - while (next()) { - if (!singleLine && ch === "*" && peek() === "/") { - next(); - break; - } else if (singleLine && ch === "\n") { - return source_text.substring(start, pos); - } - } - - return source_text.substring(start, pos) + ch; - } +} +Options.prototype._get_array = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || []; + if (typeof option_value === 'object') { + if (option_value !== null && typeof option_value.concat === 'function') { + result = option_value.concat(); + } + } else if (typeof option_value === 'string') { + result = option_value.split(/[^a-zA-Z0-9_\/\-]+/); + } + return result; +}; + +Options.prototype._get_boolean = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = option_value === undefined ? !!default_value : !!option_value; + return result; +}; + +Options.prototype._get_characters = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || ''; + if (typeof option_value === 'string') { + result = option_value.replace(/\\r/, '\r').replace(/\\n/, '\n').replace(/\\t/, '\t'); + } + return result; +}; + +Options.prototype._get_number = function(name, default_value) { + var option_value = this.raw_options[name]; + default_value = parseInt(default_value, 10); + if (isNaN(default_value)) { + default_value = 0; + } + var result = parseInt(option_value, 10); + if (isNaN(result)) { + result = default_value; + } + return result; +}; + +Options.prototype._get_selection = function(name, selection_list, default_value) { + var result = this._get_selection_list(name, selection_list, default_value); + if (result.length !== 1) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can only be one of the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result[0]; +}; + + +Options.prototype._get_selection_list = function(name, selection_list, default_value) { + if (!selection_list || selection_list.length === 0) { + throw new Error("Selection list cannot be empty."); + } + + default_value = default_value || [selection_list[0]]; + if (!this._is_valid_selection(default_value, selection_list)) { + throw new Error("Invalid Default Value!"); + } + + var result = this._get_array(name, default_value); + if (!this._is_valid_selection(result, selection_list)) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can contain only the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result; +}; + +Options.prototype._is_valid_selection = function(result, selection_list) { + return result.length && selection_list.length && + !result.some(function(item) { return selection_list.indexOf(item) === -1; }); +}; + + +// merges child options up with the parent options object +// Example: obj = {a: 1, b: {a: 2}} +// mergeOpts(obj, 'b') +// +// Returns: {a: 2} +function _mergeOpts(allOptions, childFieldName) { + var finalOpts = {}; + allOptions = _normalizeOpts(allOptions); + var name; + + for (name in allOptions) { + if (name !== childFieldName) { + finalOpts[name] = allOptions[name]; + } + } - function lookBack(str) { - return source_text.substring(pos - str.length, pos).toLowerCase() === - str; - } + //merge in the per type settings for the childFieldName + if (childFieldName && allOptions[childFieldName]) { + for (name in allOptions[childFieldName]) { + finalOpts[name] = allOptions[childFieldName][name]; + } + } + return finalOpts; +} - // Nested pseudo-class if we are insideRule - // and the next special character found opens - // a new block - function foundNestedPseudoClass() { - var openParen = 0; - for (var i = pos + 1; i < source_text.length; i++) { - var ch = source_text.charAt(i); - if (ch === "{") { - return true; - } else if (ch === '(') { - // pseudoclasses can contain () - openParen += 1; - } else if (ch === ')') { - if (openParen === 0) { - return false; - } - openParen -= 1; - } else if (ch === ";" || ch === "}") { - return false; - } - } - return false; - } +function _normalizeOpts(options) { + var convertedOpts = {}; + var key; - // printer - var basebaseIndentString = source_text.match(/^[\t ]*/)[0]; - var singleIndent = new Array(indentSize + 1).join(indentCharacter); - var indentLevel = 0; - var nestedLevel = 0; + for (key in options) { + var newKey = key.replace(/-/g, "_"); + convertedOpts[newKey] = options[key]; + } + return convertedOpts; +} - function indent() { - indentLevel++; - basebaseIndentString += singleIndent; - } +module.exports.Options = Options; +module.exports.normalizeOpts = _normalizeOpts; +module.exports.mergeOpts = _mergeOpts; - function outdent() { - indentLevel--; - basebaseIndentString = basebaseIndentString.slice(0, -indentSize); - } - var print = {}; - print["{"] = function(ch) { - print.singleSpace(); - output.push(ch); - if (!eatWhitespace(true)) { - print.newLine(); - } - }; - print["}"] = function(newline) { - if (newline) { - print.newLine(); - } - output.push('}'); - if (!eatWhitespace(true)) { - print.newLine(); - } - }; +/***/ }), +/* 7 */, +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { - print._lastCharWhitespace = function() { - return whiteRe.test(output[output.length - 1]); - }; +"use strict"; +/*jshint node:true */ +/* - print.newLine = function(keepWhitespace) { - if (output.length) { - if (!keepWhitespace && output[output.length - 1] !== '\n') { - print.trim(); - } else if (output[output.length - 1] === basebaseIndentString) { - output.pop(); - } - output.push('\n'); - - if (basebaseIndentString) { - output.push(basebaseIndentString); - } - } - }; - print.singleSpace = function() { - if (output.length && !print._lastCharWhitespace()) { - output.push(' '); - } - }; + The MIT License (MIT) - print.preserveSingleSpace = function() { - if (isAfterSpace) { - print.singleSpace(); - } - }; + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - print.trim = function() { - while (print._lastCharWhitespace()) { - output.pop(); - } - }; + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - var output = []; - /*_____________________--------------------_____________________*/ - - var insideRule = false; - var insidePropertyValue = false; - var enteringConditionalGroup = false; - var top_ch = ''; - var last_top_ch = ''; - - while (true) { - var whitespace = skipWhitespace(); - var isAfterSpace = whitespace !== ''; - var isAfterNewline = whitespace.indexOf('\n') !== -1; - last_top_ch = top_ch; - top_ch = ch; - - if (!ch) { - break; - } else if (ch === '/' && peek() === '*') { /* css comment */ - var header = indentLevel === 0; - - if (isAfterNewline || header) { - print.newLine(); - } - - output.push(eatComment()); - print.newLine(); - if (header) { - print.newLine(true); - } - } else if (ch === '/' && peek() === '/') { // single line comment - if (!isAfterNewline && last_top_ch !== '{') { - print.trim(); - } - print.singleSpace(); - output.push(eatComment()); - print.newLine(); - } else if (ch === '@') { - print.preserveSingleSpace(); - - // deal with less propery mixins @{...} - if (peek() === '{') { - output.push(eatString('}')); - } else { - output.push(ch); - - // strip trailing space, if present, for hash property checks - var variableOrRule = peekString(": ,;{}()[]/='\""); - - if (variableOrRule.match(/[ :]$/)) { - // we have a variable or pseudo-class, add it and insert one space before continuing - next(); - variableOrRule = eatString(": ").replace(/\s$/, ''); - output.push(variableOrRule); - print.singleSpace(); - } - - variableOrRule = variableOrRule.replace(/\s$/, ''); - - // might be a nesting at-rule - if (variableOrRule in css_beautify.NESTED_AT_RULE) { - nestedLevel += 1; - if (variableOrRule in css_beautify.CONDITIONAL_GROUP_RULE) { - enteringConditionalGroup = true; - } - } - } - } else if (ch === '#' && peek() === '{') { - print.preserveSingleSpace(); - output.push(eatString('}')); - } else if (ch === '{') { - if (peek(true) === '}') { - eatWhitespace(); - next(); - print.singleSpace(); - output.push("{"); - print['}'](false); - if (newlinesFromLastWSEat < 2 && newline_between_rules && indentLevel === 0) { - print.newLine(true); - } - } else { - indent(); - print["{"](ch); - // when entering conditional groups, only rulesets are allowed - if (enteringConditionalGroup) { - enteringConditionalGroup = false; - insideRule = (indentLevel > nestedLevel); - } else { - // otherwise, declarations are also allowed - insideRule = (indentLevel >= nestedLevel); - } - } - } else if (ch === '}') { - outdent(); - print["}"](true); - insideRule = false; - insidePropertyValue = false; - if (nestedLevel) { - nestedLevel--; - } - if (newlinesFromLastWSEat < 2 && newline_between_rules && indentLevel === 0) { - print.newLine(true); - } - } else if (ch === ":") { - eatWhitespace(); - if ((insideRule || enteringConditionalGroup) && - !(lookBack("&") || foundNestedPseudoClass()) && - !lookBack("(")) { - // 'property: value' delimiter - // which could be in a conditional group query - output.push(':'); - if (!insidePropertyValue) { - insidePropertyValue = true; - print.singleSpace(); - } - } else { - // sass/less parent reference don't use a space - // sass nested pseudo-class don't use a space - - // preserve space before pseudoclasses/pseudoelements, as it means "in any child" - if (lookBack(" ") && output[output.length - 1] !== " ") { - output.push(" "); - } - if (peek() === ":") { - // pseudo-element - next(); - output.push("::"); - } else { - // pseudo-class - output.push(':'); - } - } - } else if (ch === '"' || ch === '\'') { - print.preserveSingleSpace(); - output.push(eatString(ch)); - } else if (ch === ';') { - insidePropertyValue = false; - output.push(ch); - if (!eatWhitespace(true)) { - print.newLine(); - } - } else if (ch === '(') { // may be a url - if (lookBack("url")) { - output.push(ch); - eatWhitespace(); - if (next()) { - if (ch !== ')' && ch !== '"' && ch !== '\'') { - output.push(eatString(')')); - } else { - pos--; - } - } - } else { - parenLevel++; - print.preserveSingleSpace(); - output.push(ch); - eatWhitespace(); - } - } else if (ch === ')') { - output.push(ch); - parenLevel--; - } else if (ch === ',') { - output.push(ch); - if (!eatWhitespace(true) && selectorSeparatorNewline && !insidePropertyValue && parenLevel < 1) { - print.newLine(); - } else { - print.singleSpace(); - } - } else if ((ch === '>' || ch === '+' || ch === '~') && - !insidePropertyValue && parenLevel < 1) { - //handle combinator spacing - if (space_around_combinator) { - print.singleSpace(); - output.push(ch); - print.singleSpace(); - } else { - output.push(ch); - eatWhitespace(); - // squash extra whitespace - if (ch && whiteRe.test(ch)) { - ch = ''; - } - } - } else if (ch === ']') { - output.push(ch); - } else if (ch === '[') { - print.preserveSingleSpace(); - output.push(ch); - } else if (ch === '=') { // no whitespace before or after - eatWhitespace(); - output.push('='); - if (whiteRe.test(ch)) { - ch = ''; - } - } else { - print.preserveSingleSpace(); - output.push(ch); - } - } + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function InputScanner(input_string) { + this.__input = input_string || ''; + this.__input_length = this.__input.length; + this.__position = 0; +} + +InputScanner.prototype.restart = function() { + this.__position = 0; +}; + +InputScanner.prototype.back = function() { + if (this.__position > 0) { + this.__position -= 1; + } +}; + +InputScanner.prototype.hasNext = function() { + return this.__position < this.__input_length; +}; + +InputScanner.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__input.charAt(this.__position); + this.__position += 1; + } + return val; +}; + +InputScanner.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__input_length) { + val = this.__input.charAt(index); + } + return val; +}; + +InputScanner.prototype.test = function(pattern, index) { + index = index || 0; + index += this.__position; + pattern.lastIndex = index; + + if (index >= 0 && index < this.__input_length) { + var pattern_match = pattern.exec(this.__input); + return pattern_match && pattern_match.index === index; + } else { + return false; + } +}; + +InputScanner.prototype.testChar = function(pattern, index) { + // test one character regex match + var val = this.peek(index); + return val !== null && pattern.test(val); +}; + +InputScanner.prototype.match = function(pattern) { + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match && pattern_match.index === this.__position) { + this.__position += pattern_match[0].length; + } else { + pattern_match = null; + } + return pattern_match; +}; + +InputScanner.prototype.read = function(pattern) { + var val = ''; + var match = this.match(pattern); + if (match) { + val = match[0]; + } + return val; +}; + +InputScanner.prototype.readUntil = function(pattern, include_match) { + var val = ''; + var match_index = this.__position; + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match) { + if (include_match) { + match_index = pattern_match.index + pattern_match[0].length; + } else { + match_index = pattern_match.index; + } + } else { + match_index = this.__input_length; + } + + val = this.__input.substring(this.__position, match_index); + this.__position = match_index; + return val; +}; + +InputScanner.prototype.readUntilAfter = function(pattern) { + return this.readUntil(pattern, true); +}; + +/* css beautifier legacy helpers */ +InputScanner.prototype.peekUntilAfter = function(pattern) { + var start = this.__position; + var val = this.readUntilAfter(pattern); + this.__position = start; + return val; +}; + +InputScanner.prototype.lookBack = function(testVal) { + var start = this.__position - 1; + return start >= testVal.length && this.__input.substring(start - testVal.length, start) + .toLowerCase() === testVal; +}; + + +module.exports.InputScanner = InputScanner; + + +/***/ }), +/* 9 */, +/* 10 */, +/* 11 */, +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Beautifier = __webpack_require__(13).Beautifier; + +function css_beautify(source_text, options) { + var beautifier = new Beautifier(source_text, options); + return beautifier.beautify(); +} + +module.exports = css_beautify; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - var sweetCode = ''; - if (basebaseIndentString) { - sweetCode += basebaseIndentString; + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Options = __webpack_require__(14).Options; +var Output = __webpack_require__(2).Output; +var InputScanner = __webpack_require__(8).InputScanner; + +var lineBreak = /\r\n|[\r\n]/; +var allLineBreaks = /\r\n|[\r\n]/g; + +// tokenizer +var whitespaceChar = /\s/; +var whitespacePattern = /(?:\s|\n)+/g; +var block_comment_pattern = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g; +var comment_pattern = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + +function Beautifier(source_text, options) { + this._source_text = source_text || ''; + // Allow the setting of language/file-type specific options + // with inheritance of overall settings + this._options = new Options(options); + this._ch = null; + this._input = null; + + // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule + this.NESTED_AT_RULE = { + "@page": true, + "@font-face": true, + "@keyframes": true, + // also in CONDITIONAL_GROUP_RULE below + "@media": true, + "@supports": true, + "@document": true + }; + this.CONDITIONAL_GROUP_RULE = { + "@media": true, + "@supports": true, + "@document": true + }; + +} + +Beautifier.prototype.eatString = function(endChars) { + var result = ''; + this._ch = this._input.next(); + while (this._ch) { + result += this._ch; + if (this._ch === "\\") { + result += this._input.next(); + } else if (endChars.indexOf(this._ch) !== -1 || this._ch === "\n") { + break; + } + this._ch = this._input.next(); + } + return result; +}; + +// Skips any white space in the source text from the current position. +// When allowAtLeastOneNewLine is true, will output new lines for each +// newline character found; if the user has preserve_newlines off, only +// the first newline will be output +Beautifier.prototype.eatWhitespace = function(allowAtLeastOneNewLine) { + var result = whitespaceChar.test(this._input.peek()); + var isFirstNewLine = true; + + while (whitespaceChar.test(this._input.peek())) { + this._ch = this._input.next(); + if (allowAtLeastOneNewLine && this._ch === '\n') { + if (this._options.preserve_newlines || isFirstNewLine) { + isFirstNewLine = false; + this._output.add_new_line(true); + } + } + } + return result; +}; + +// Nested pseudo-class if we are insideRule +// and the next special character found opens +// a new block +Beautifier.prototype.foundNestedPseudoClass = function() { + var openParen = 0; + var i = 1; + var ch = this._input.peek(i); + while (ch) { + if (ch === "{") { + return true; + } else if (ch === '(') { + // pseudoclasses can contain () + openParen += 1; + } else if (ch === ')') { + if (openParen === 0) { + return false; + } + openParen -= 1; + } else if (ch === ";" || ch === "}") { + return false; + } + i++; + ch = this._input.peek(i); + } + return false; +}; + +Beautifier.prototype.print_string = function(output_string) { + if (this._output.just_added_newline()) { + this._output.set_indent(this._indentLevel); + } + this._output.add_token(output_string); +}; + +Beautifier.prototype.preserveSingleSpace = function(isAfterSpace) { + if (isAfterSpace) { + this._output.space_before_token = true; + } +}; + +Beautifier.prototype.indent = function() { + this._indentLevel++; +}; + +Beautifier.prototype.outdent = function() { + if (this._indentLevel > 0) { + this._indentLevel--; + } +}; + +/*_____________________--------------------_____________________*/ + +Beautifier.prototype.beautify = function() { + if (this._options.disabled) { + return this._source_text; + } + + var source_text = this._source_text; + var eol = this._options.eol; + if (eol === 'auto') { + eol = '\n'; + if (source_text && lineBreak.test(source_text || '')) { + eol = source_text.match(lineBreak)[0]; + } + } + + + // HACK: newline parsing inconsistent. This brute force normalizes the this._input. + source_text = source_text.replace(allLineBreaks, '\n'); + + // reset + var baseIndentString = source_text.match(/^[\t ]*/)[0]; + + this._output = new Output(this._options, baseIndentString); + this._input = new InputScanner(source_text); + this._indentLevel = 0; + this._nestedLevel = 0; + + this._ch = null; + var parenLevel = 0; + + var insideRule = false; + // This is the value side of a property value pair (blue in the following ex) + // label { content: blue } + var insidePropertyValue = false; + var enteringConditionalGroup = false; + var insideAtExtend = false; + var insideAtImport = false; + var topCharacter = this._ch; + + while (true) { + var whitespace = this._input.read(whitespacePattern); + var isAfterSpace = whitespace !== ''; + var previous_ch = topCharacter; + this._ch = this._input.next(); + topCharacter = this._ch; + + if (!this._ch) { + break; + } else if (this._ch === '/' && this._input.peek() === '*') { + // /* css comment */ + // Always start block comments on a new line. + // This handles scenarios where a block comment immediately + // follows a property definition on the same line or where + // minified code is being beautified. + this._output.add_new_line(); + this._input.back(); + this.print_string(this._input.read(block_comment_pattern)); + + // Ensures any new lines following the comment are preserved + this.eatWhitespace(true); + + // Block comments are followed by a new line so they don't + // share a line with other properties + this._output.add_new_line(); + } else if (this._ch === '/' && this._input.peek() === '/') { + // // single line comment + // Preserves the space before a comment + // on the same line as a rule + this._output.space_before_token = true; + this._input.back(); + this.print_string(this._input.read(comment_pattern)); + + // Ensures any new lines following the comment are preserved + this.eatWhitespace(true); + } else if (this._ch === '@') { + this.preserveSingleSpace(isAfterSpace); + + // deal with less propery mixins @{...} + if (this._input.peek() === '{') { + this.print_string(this._ch + this.eatString('}')); + } else { + this.print_string(this._ch); + + // strip trailing space, if present, for hash property checks + var variableOrRule = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g); + + if (variableOrRule.match(/[ :]$/)) { + // we have a variable or pseudo-class, add it and insert one space before continuing + variableOrRule = this.eatString(": ").replace(/\s$/, ''); + this.print_string(variableOrRule); + this._output.space_before_token = true; } - sweetCode += output.join('').replace(/[\r\n\t ]+$/, ''); + variableOrRule = variableOrRule.replace(/\s$/, ''); - // establish end_with_newline - if (end_with_newline) { - sweetCode += '\n'; + if (variableOrRule === 'extend') { + insideAtExtend = true; + } else if (variableOrRule === 'import') { + insideAtImport = true; } - if (eol !== '\n') { - sweetCode = sweetCode.replace(/[\n]/g, eol); + // might be a nesting at-rule + if (variableOrRule in this.NESTED_AT_RULE) { + this._nestedLevel += 1; + if (variableOrRule in this.CONDITIONAL_GROUP_RULE) { + enteringConditionalGroup = true; + } + // might be less variable + } else if (!insideRule && parenLevel === 0 && variableOrRule.indexOf(':') !== -1) { + insidePropertyValue = true; + this.indent(); + } + } + } else if (this._ch === '#' && this._input.peek() === '{') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch + this.eatString('}')); + } else if (this._ch === '{') { + if (insidePropertyValue) { + insidePropertyValue = false; + this.outdent(); + } + this.indent(); + this._output.space_before_token = true; + this.print_string(this._ch); + + // when entering conditional groups, only rulesets are allowed + if (enteringConditionalGroup) { + enteringConditionalGroup = false; + insideRule = (this._indentLevel > this._nestedLevel); + } else { + // otherwise, declarations are also allowed + insideRule = (this._indentLevel >= this._nestedLevel); + } + if (this._options.newline_between_rules && insideRule) { + if (this._output.previous_line && this._output.previous_line.item(-1) !== '{') { + this._output.ensure_empty_line_above('/', ','); } + } + this.eatWhitespace(true); + this._output.add_new_line(); + } else if (this._ch === '}') { + this.outdent(); + this._output.add_new_line(); + if (previous_ch === '{') { + this._output.trim(true); + } + insideAtImport = false; + insideAtExtend = false; + if (insidePropertyValue) { + this.outdent(); + insidePropertyValue = false; + } + this.print_string(this._ch); + insideRule = false; + if (this._nestedLevel) { + this._nestedLevel--; + } + + this.eatWhitespace(true); + this._output.add_new_line(); + + if (this._options.newline_between_rules && !this._output.just_added_blankline()) { + if (this._input.peek() !== '}') { + this._output.add_new_line(true); + } + } + } else if (this._ch === ":") { + if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack("&") || this.foundNestedPseudoClass()) && !this._input.lookBack("(") && !insideAtExtend) { + // 'property: value' delimiter + // which could be in a conditional group query + this.print_string(':'); + if (!insidePropertyValue) { + insidePropertyValue = true; + this._output.space_before_token = true; + this.eatWhitespace(true); + this.indent(); + } + } else { + // sass/less parent reference don't use a space + // sass nested pseudo-class don't use a space - return sweetCode; + // preserve space before pseudoclasses/pseudoelements, as it means "in any child" + if (this._input.lookBack(" ")) { + this._output.space_before_token = true; + } + if (this._input.peek() === ":") { + // pseudo-element + this._ch = this._input.next(); + this.print_string("::"); + } else { + // pseudo-class + this.print_string(':'); + } + } + } else if (this._ch === '"' || this._ch === '\'') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch + this.eatString(this._ch)); + this.eatWhitespace(true); + } else if (this._ch === ';') { + if (insidePropertyValue) { + this.outdent(); + insidePropertyValue = false; + } + insideAtExtend = false; + insideAtImport = false; + this.print_string(this._ch); + this.eatWhitespace(true); + + // This maintains single line comments on the same + // line. Block comments are also affected, but + // a new line is always output before one inside + // that section + if (this._input.peek() !== '/') { + this._output.add_new_line(); + } + } else if (this._ch === '(') { // may be a url + if (this._input.lookBack("url")) { + this.print_string(this._ch); + this.eatWhitespace(); + this._ch = this._input.next(); + if (this._ch === ')' || this._ch === '"' || this._ch === '\'') { + this._input.back(); + parenLevel++; + } else if (this._ch) { + this.print_string(this._ch + this.eatString(')')); + } + } else { + parenLevel++; + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + this.eatWhitespace(); + } + } else if (this._ch === ')') { + this.print_string(this._ch); + parenLevel--; + } else if (this._ch === ',') { + this.print_string(this._ch); + this.eatWhitespace(true); + if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel < 1 && !insideAtImport) { + this._output.add_new_line(); + } else { + this._output.space_before_token = true; + } + } else if ((this._ch === '>' || this._ch === '+' || this._ch === '~') && !insidePropertyValue && parenLevel < 1) { + //handle combinator spacing + if (this._options.space_around_combinator) { + this._output.space_before_token = true; + this.print_string(this._ch); + this._output.space_before_token = true; + } else { + this.print_string(this._ch); + this.eatWhitespace(); + // squash extra whitespace + if (this._ch && whitespaceChar.test(this._ch)) { + this._ch = ''; + } + } + } else if (this._ch === ']') { + this.print_string(this._ch); + } else if (this._ch === '[') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + } else if (this._ch === '=') { // no whitespace before or after + this.eatWhitespace(); + this.print_string('='); + if (whitespaceChar.test(this._ch)) { + this._ch = ''; + } + } else if (this._ch === '!') { // !important + this.print_string(' '); + this.print_string(this._ch); + } else { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); } + } + + var sweetCode = this._output.get_code(eol); + + return sweetCode; +}; + +module.exports.Beautifier = Beautifier; - // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule - css_beautify.NESTED_AT_RULE = { - "@page": true, - "@font-face": true, - "@keyframes": true, - // also in CONDITIONAL_GROUP_RULE below - "@media": true, - "@supports": true, - "@document": true - }; - css_beautify.CONDITIONAL_GROUP_RULE = { - "@media": true, - "@supports": true, - "@document": true - }; - - /*global define */ - if (typeof define === "function" && define.amd) { - // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) - define([], function() { - return { - css_beautify: css_beautify - }; - }); - } else if (typeof exports !== "undefined") { - // Add support for CommonJS. Just put this file somewhere on your require.paths - // and you will be able to `var html_beautify = require("beautify").html_beautify`. - exports.css_beautify = css_beautify; - } else if (typeof window !== "undefined") { - // If we're running a web page and don't have either of the above, add our one global - window.css_beautify = css_beautify; - } else if (typeof global !== "undefined") { - // If we don't even have window, try global. - global.css_beautify = css_beautify; - } -}()); \ No newline at end of file +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseOptions = __webpack_require__(6).Options; + +function Options(options) { + BaseOptions.call(this, options, 'css'); + + this.selector_separator_newline = this._get_boolean('selector_separator_newline', true); + this.newline_between_rules = this._get_boolean('newline_between_rules', true); + var space_around_selector_separator = this._get_boolean('space_around_selector_separator'); + this.space_around_combinator = this._get_boolean('space_around_combinator') || space_around_selector_separator; + +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; + + +/***/ }) +/******/ ]); +var css_beautify = legacy_beautify_css; +/* Footer */ +if (typeof define === "function" && define.amd) { + // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) + define([], function() { + return { + css_beautify: css_beautify + }; + }); +} else if (typeof exports !== "undefined") { + // Add support for CommonJS. Just put this file somewhere on your require.paths + // and you will be able to `var html_beautify = require("beautify").html_beautify`. + exports.css_beautify = css_beautify; +} else if (typeof window !== "undefined") { + // If we're running a web page and don't have either of the above, add our one global + window.css_beautify = css_beautify; +} else if (typeof global !== "undefined") { + // If we don't even have window, try global. + global.css_beautify = css_beautify; +} + +}()); diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-html.js b/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-html.js index a1c3f8bf..d2c72c07 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-html.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/beautify-html.js @@ -1,9 +1,9 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/* AUTO-GENERATED. DO NOT MODIFY. */ /* The MIT License (MIT) - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -31,8 +31,8 @@ Written by Nochum Sossonko, (nsossonko@hotmail.com) - Based on code initially developed by: Einar Lielmanis, - http://jsbeautifier.org/ + Based on code initially developed by: Einar Lielmanis, + https://beautifier.io/ Usage: style_html(html_source); @@ -46,8 +46,9 @@ wrap_line_length (default 250) - maximum amount of characters per line (0 = disable) brace_style (default "collapse") - "collapse" | "expand" | "end-expand" | "none" put braces on the same line as control statements (default), or put braces on own line (Allman / ANSI style), or just put end braces on own line, or attempt to keep them where they are. + inline (defaults to inline tags) - list of tags to be considered inline tags unformatted (defaults to inline tags) - list of tags, that shouldn't be reformatted - content_unformatted (defaults to pre tag) - list of tags, that its content shouldn't be reformatted + content_unformatted (defaults to ["pre", "textarea"] tags) - list of tags, whose content shouldn't be reformatted indent_scripts (default normal) - "keep"|"separate"|"normal" preserve_newlines (default true) - whether existing line breaks before elements should be preserved Only works before elements, not inside tags or for text. @@ -73,1056 +74,2351 @@ (function() { - // function trim(s) { - // return s.replace(/^\s+|\s+$/g, ''); - // } +/* GENERATED_BUILD_OUTPUT */ +var legacy_beautify_html = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 15); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */, +/* 1 */, +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function OutputLine(parent) { + this.__parent = parent; + this.__character_count = 0; + // use indent_count as a marker for this.__lines that have preserved indentation + this.__indent_count = -1; + this.__alignment_count = 0; + + this.__items = []; +} - function ltrim(s) { - return s.replace(/^\s+/g, ''); +OutputLine.prototype.item = function(index) { + if (index < 0) { + return this.__items[this.__items.length + index]; + } else { + return this.__items[index]; + } +}; + +OutputLine.prototype.has_match = function(pattern) { + for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) { + if (this.__items[lastCheckedOutput].match(pattern)) { + return true; + } + } + return false; +}; + +OutputLine.prototype.set_indent = function(indent, alignment) { + this.__indent_count = indent || 0; + this.__alignment_count = alignment || 0; + this.__character_count = this.__parent.baseIndentLength + this.__alignment_count + this.__indent_count * this.__parent.indent_length; +}; + +OutputLine.prototype.get_character_count = function() { + return this.__character_count; +}; + +OutputLine.prototype.is_empty = function() { + return this.__items.length === 0; +}; + +OutputLine.prototype.last = function() { + if (!this.is_empty()) { + return this.__items[this.__items.length - 1]; + } else { + return null; + } +}; + +OutputLine.prototype.push = function(item) { + this.__items.push(item); + this.__character_count += item.length; +}; + +OutputLine.prototype.push_raw = function(item) { + this.push(item); + var last_newline_index = item.lastIndexOf('\n'); + if (last_newline_index !== -1) { + this.__character_count = item.length - last_newline_index; + } +}; + +OutputLine.prototype.pop = function() { + var item = null; + if (!this.is_empty()) { + item = this.__items.pop(); + this.__character_count -= item.length; + } + return item; +}; + +OutputLine.prototype.remove_indent = function() { + if (this.__indent_count > 0) { + this.__indent_count -= 1; + this.__character_count -= this.__parent.indent_length; + } +}; + +OutputLine.prototype.trim = function() { + while (this.last() === ' ') { + this.__items.pop(); + this.__character_count -= 1; + } +}; + +OutputLine.prototype.toString = function() { + var result = ''; + if (!this.is_empty()) { + if (this.__indent_count >= 0) { + result = this.__parent.get_indent_string(this.__indent_count); + } + if (this.__alignment_count >= 0) { + result += this.__parent.get_alignment_string(this.__alignment_count); + } + result += this.__items.join(''); + } + return result; +}; + +function IndentCache(base_string, level_string) { + this.__cache = [base_string]; + this.__level_string = level_string; +} + +IndentCache.prototype.__ensure_cache = function(level) { + while (level >= this.__cache.length) { + this.__cache.push(this.__cache[this.__cache.length - 1] + this.__level_string); + } +}; + +IndentCache.prototype.get_level_string = function(level) { + this.__ensure_cache(level); + return this.__cache[level]; +}; + + +function Output(options, baseIndentString) { + var indent_string = options.indent_char; + if (options.indent_size > 1) { + indent_string = new Array(options.indent_size + 1).join(options.indent_char); + } + + // Set to null to continue support for auto detection of base indent level. + baseIndentString = baseIndentString || ''; + if (options.indent_level > 0) { + baseIndentString = new Array(options.indent_level + 1).join(indent_string); + } + + this.__indent_cache = new IndentCache(baseIndentString, indent_string); + this.__alignment_cache = new IndentCache('', ' '); + this.baseIndentLength = baseIndentString.length; + this.indent_length = indent_string.length; + this.raw = false; + this._end_with_newline = options.end_with_newline; + + this.__lines = []; + this.previous_line = null; + this.current_line = null; + this.space_before_token = false; + // initialize + this.__add_outputline(); +} + +Output.prototype.__add_outputline = function() { + this.previous_line = this.current_line; + this.current_line = new OutputLine(this); + this.__lines.push(this.current_line); +}; + +Output.prototype.get_line_number = function() { + return this.__lines.length; +}; + +Output.prototype.get_indent_string = function(level) { + return this.__indent_cache.get_level_string(level); +}; + +Output.prototype.get_alignment_string = function(level) { + return this.__alignment_cache.get_level_string(level); +}; + +Output.prototype.is_empty = function() { + return !this.previous_line && this.current_line.is_empty(); +}; + +Output.prototype.add_new_line = function(force_newline) { + // never newline at the start of file + // otherwise, newline only if we didn't just add one or we're forced + if (this.is_empty() || + (!force_newline && this.just_added_newline())) { + return false; + } + + // if raw output is enabled, don't print additional newlines, + // but still return True as though you had + if (!this.raw) { + this.__add_outputline(); + } + return true; +}; + +Output.prototype.get_code = function(eol) { + var sweet_code = this.__lines.join('\n').replace(/[\r\n\t ]+$/, ''); + + if (this._end_with_newline) { + sweet_code += '\n'; + } + + if (eol !== '\n') { + sweet_code = sweet_code.replace(/[\n]/g, eol); + } + + return sweet_code; +}; + +Output.prototype.set_indent = function(indent, alignment) { + indent = indent || 0; + alignment = alignment || 0; + + // Never indent your first output indent at the start of the file + if (this.__lines.length > 1) { + this.current_line.set_indent(indent, alignment); + return true; + } + this.current_line.set_indent(); + return false; +}; + +Output.prototype.add_raw_token = function(token) { + for (var x = 0; x < token.newlines; x++) { + this.__add_outputline(); + } + this.current_line.push(token.whitespace_before); + this.current_line.push_raw(token.text); + this.space_before_token = false; +}; + +Output.prototype.add_token = function(printable_token) { + this.add_space_before_token(); + this.current_line.push(printable_token); +}; + +Output.prototype.add_space_before_token = function() { + if (this.space_before_token && !this.just_added_newline()) { + this.current_line.push(' '); + } + this.space_before_token = false; +}; + +Output.prototype.remove_indent = function(index) { + var output_length = this.__lines.length; + while (index < output_length) { + this.__lines[index].remove_indent(); + index++; + } +}; + +Output.prototype.trim = function(eat_newlines) { + eat_newlines = (eat_newlines === undefined) ? false : eat_newlines; + + this.current_line.trim(this.indent_string, this.baseIndentString); + + while (eat_newlines && this.__lines.length > 1 && + this.current_line.is_empty()) { + this.__lines.pop(); + this.current_line = this.__lines[this.__lines.length - 1]; + this.current_line.trim(); + } + + this.previous_line = this.__lines.length > 1 ? + this.__lines[this.__lines.length - 2] : null; +}; + +Output.prototype.just_added_newline = function() { + return this.current_line.is_empty(); +}; + +Output.prototype.just_added_blankline = function() { + return this.is_empty() || + (this.current_line.is_empty() && this.previous_line.is_empty()); +}; + +Output.prototype.ensure_empty_line_above = function(starts_with, ends_with) { + var index = this.__lines.length - 2; + while (index >= 0) { + var potentialEmptyLine = this.__lines[index]; + if (potentialEmptyLine.is_empty()) { + break; + } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 && + potentialEmptyLine.item(-1) !== ends_with) { + this.__lines.splice(index + 1, 0, new OutputLine(this)); + this.previous_line = this.__lines[this.__lines.length - 2]; + break; } + index--; + } +}; - function rtrim(s) { - return s.replace(/\s+$/g, ''); +module.exports.Output = Output; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Token(type, text, newlines, whitespace_before) { + this.type = type; + this.text = text; + + // comments_before are + // comments that have a new line before them + // and may or may not have a newline after + // this is a set of comments before + this.comments_before = null; /* inline comment*/ + + + // this.comments_after = new TokenStream(); // no new line before and newline after + this.newlines = newlines || 0; + this.whitespace_before = whitespace_before || ''; + this.parent = null; + this.next = null; + this.previous = null; + this.opened = null; + this.closed = null; + this.directives = null; +} + + +module.exports.Token = Token; + + +/***/ }), +/* 4 */, +/* 5 */, +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Options(options, merge_child_field) { + this.raw_options = _mergeOpts(options, merge_child_field); + + // Support passing the source text back with no change + this.disabled = this._get_boolean('disabled'); + + this.eol = this._get_characters('eol', 'auto'); + this.end_with_newline = this._get_boolean('end_with_newline'); + this.indent_size = this._get_number('indent_size', 4); + this.indent_char = this._get_characters('indent_char', ' '); + this.indent_level = this._get_number('indent_level'); + + this.preserve_newlines = this._get_boolean('preserve_newlines', true); + this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786); + if (!this.preserve_newlines) { + this.max_preserve_newlines = 0; + } + + this.indent_with_tabs = this._get_boolean('indent_with_tabs'); + if (this.indent_with_tabs) { + this.indent_char = '\t'; + this.indent_size = 1; + } + + // Backwards compat with 1.3.x + this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char')); + +} + +Options.prototype._get_array = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || []; + if (typeof option_value === 'object') { + if (option_value !== null && typeof option_value.concat === 'function') { + result = option_value.concat(); + } + } else if (typeof option_value === 'string') { + result = option_value.split(/[^a-zA-Z0-9_\/\-]+/); + } + return result; +}; + +Options.prototype._get_boolean = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = option_value === undefined ? !!default_value : !!option_value; + return result; +}; + +Options.prototype._get_characters = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || ''; + if (typeof option_value === 'string') { + result = option_value.replace(/\\r/, '\r').replace(/\\n/, '\n').replace(/\\t/, '\t'); + } + return result; +}; + +Options.prototype._get_number = function(name, default_value) { + var option_value = this.raw_options[name]; + default_value = parseInt(default_value, 10); + if (isNaN(default_value)) { + default_value = 0; + } + var result = parseInt(option_value, 10); + if (isNaN(result)) { + result = default_value; + } + return result; +}; + +Options.prototype._get_selection = function(name, selection_list, default_value) { + var result = this._get_selection_list(name, selection_list, default_value); + if (result.length !== 1) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can only be one of the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result[0]; +}; + + +Options.prototype._get_selection_list = function(name, selection_list, default_value) { + if (!selection_list || selection_list.length === 0) { + throw new Error("Selection list cannot be empty."); + } + + default_value = default_value || [selection_list[0]]; + if (!this._is_valid_selection(default_value, selection_list)) { + throw new Error("Invalid Default Value!"); + } + + var result = this._get_array(name, default_value); + if (!this._is_valid_selection(result, selection_list)) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can contain only the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result; +}; + +Options.prototype._is_valid_selection = function(result, selection_list) { + return result.length && selection_list.length && + !result.some(function(item) { return selection_list.indexOf(item) === -1; }); +}; + + +// merges child options up with the parent options object +// Example: obj = {a: 1, b: {a: 2}} +// mergeOpts(obj, 'b') +// +// Returns: {a: 2} +function _mergeOpts(allOptions, childFieldName) { + var finalOpts = {}; + allOptions = _normalizeOpts(allOptions); + var name; + + for (name in allOptions) { + if (name !== childFieldName) { + finalOpts[name] = allOptions[name]; } + } - function mergeOpts(allOptions, targetType) { - var finalOpts = {}; - var name; + //merge in the per type settings for the childFieldName + if (childFieldName && allOptions[childFieldName]) { + for (name in allOptions[childFieldName]) { + finalOpts[name] = allOptions[childFieldName][name]; + } + } + return finalOpts; +} - for (name in allOptions) { - if (name !== targetType) { - finalOpts[name] = allOptions[name]; - } - } +function _normalizeOpts(options) { + var convertedOpts = {}; + var key; - //merge in the per type settings for the targetType - if (targetType in allOptions) { - for (name in allOptions[targetType]) { - finalOpts[name] = allOptions[targetType][name]; - } - } - return finalOpts; + for (key in options) { + var newKey = key.replace(/-/g, "_"); + convertedOpts[newKey] = options[key]; + } + return convertedOpts; +} + +module.exports.Options = Options; +module.exports.normalizeOpts = _normalizeOpts; +module.exports.mergeOpts = _mergeOpts; + + +/***/ }), +/* 7 */, +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function InputScanner(input_string) { + this.__input = input_string || ''; + this.__input_length = this.__input.length; + this.__position = 0; +} + +InputScanner.prototype.restart = function() { + this.__position = 0; +}; + +InputScanner.prototype.back = function() { + if (this.__position > 0) { + this.__position -= 1; + } +}; + +InputScanner.prototype.hasNext = function() { + return this.__position < this.__input_length; +}; + +InputScanner.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__input.charAt(this.__position); + this.__position += 1; + } + return val; +}; + +InputScanner.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__input_length) { + val = this.__input.charAt(index); + } + return val; +}; + +InputScanner.prototype.test = function(pattern, index) { + index = index || 0; + index += this.__position; + pattern.lastIndex = index; + + if (index >= 0 && index < this.__input_length) { + var pattern_match = pattern.exec(this.__input); + return pattern_match && pattern_match.index === index; + } else { + return false; + } +}; + +InputScanner.prototype.testChar = function(pattern, index) { + // test one character regex match + var val = this.peek(index); + return val !== null && pattern.test(val); +}; + +InputScanner.prototype.match = function(pattern) { + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match && pattern_match.index === this.__position) { + this.__position += pattern_match[0].length; + } else { + pattern_match = null; + } + return pattern_match; +}; + +InputScanner.prototype.read = function(pattern) { + var val = ''; + var match = this.match(pattern); + if (match) { + val = match[0]; + } + return val; +}; + +InputScanner.prototype.readUntil = function(pattern, include_match) { + var val = ''; + var match_index = this.__position; + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match) { + if (include_match) { + match_index = pattern_match.index + pattern_match[0].length; + } else { + match_index = pattern_match.index; } + } else { + match_index = this.__input_length; + } - var lineBreak = /\r\n|[\n\r\u2028\u2029]/; - var allLineBreaks = new RegExp(lineBreak.source, 'g'); - - function style_html(html_source, options, js_beautify, css_beautify) { - //Wrapper function to invoke all the necessary constructors and deal with the output. - - var multi_parser, - indent_inner_html, - indent_body_inner_html, - indent_head_inner_html, - indent_size, - indent_character, - wrap_line_length, - brace_style, - unformatted, - content_unformatted, - preserve_newlines, - max_preserve_newlines, - indent_handlebars, - wrap_attributes, - wrap_attributes_indent_size, - is_wrap_attributes_force, - is_wrap_attributes_force_expand_multiline, - is_wrap_attributes_force_aligned, - end_with_newline, - extra_liners, - eol; - - options = options || {}; - - // Allow the setting of language/file-type specific options - // with inheritance of overall settings - options = mergeOpts(options, 'html'); - - // backwards compatibility to 1.3.4 - if ((options.wrap_line_length === undefined || parseInt(options.wrap_line_length, 10) === 0) && - (options.max_char !== undefined && parseInt(options.max_char, 10) !== 0)) { - options.wrap_line_length = options.max_char; - } + val = this.__input.substring(this.__position, match_index); + this.__position = match_index; + return val; +}; - indent_inner_html = (options.indent_inner_html === undefined) ? false : options.indent_inner_html; - indent_body_inner_html = (options.indent_body_inner_html === undefined) ? true : options.indent_body_inner_html; - indent_head_inner_html = (options.indent_head_inner_html === undefined) ? true : options.indent_head_inner_html; - indent_size = (options.indent_size === undefined) ? 4 : parseInt(options.indent_size, 10); - indent_character = (options.indent_char === undefined) ? ' ' : options.indent_char; - brace_style = (options.brace_style === undefined) ? 'collapse' : options.brace_style; - wrap_line_length = parseInt(options.wrap_line_length, 10) === 0 ? 32786 : parseInt(options.wrap_line_length || 250, 10); - unformatted = options.unformatted || [ - // https://www.w3.org/TR/html5/dom.html#phrasing-content - 'a', 'abbr', 'area', 'audio', 'b', 'bdi', 'bdo', 'br', 'button', 'canvas', 'cite', - 'code', 'data', 'datalist', 'del', 'dfn', 'em', 'embed', 'i', 'iframe', 'img', - 'input', 'ins', 'kbd', 'keygen', 'label', 'map', 'mark', 'math', 'meter', 'noscript', - 'object', 'output', 'progress', 'q', 'ruby', 's', 'samp', /* 'script', */ 'select', 'small', - 'span', 'strong', 'sub', 'sup', 'svg', 'template', 'textarea', 'time', 'u', 'var', - 'video', 'wbr', 'text', - // prexisting - not sure of full effect of removing, leaving in - 'acronym', 'address', 'big', 'dt', 'ins', 'strike', 'tt', - ]; - content_unformatted = options.content_unformatted || [ - 'pre', - ]; - preserve_newlines = (options.preserve_newlines === undefined) ? true : options.preserve_newlines; - max_preserve_newlines = preserve_newlines ? - (isNaN(parseInt(options.max_preserve_newlines, 10)) ? 32786 : parseInt(options.max_preserve_newlines, 10)) : - 0; - indent_handlebars = (options.indent_handlebars === undefined) ? false : options.indent_handlebars; - wrap_attributes = (options.wrap_attributes === undefined) ? 'auto' : options.wrap_attributes; - wrap_attributes_indent_size = (isNaN(parseInt(options.wrap_attributes_indent_size, 10))) ? indent_size : parseInt(options.wrap_attributes_indent_size, 10); - is_wrap_attributes_force = wrap_attributes.substr(0, 'force'.length) === 'force'; - is_wrap_attributes_force_expand_multiline = (wrap_attributes === 'force-expand-multiline'); - is_wrap_attributes_force_aligned = (wrap_attributes === 'force-aligned'); - end_with_newline = (options.end_with_newline === undefined) ? false : options.end_with_newline; - extra_liners = (typeof options.extra_liners === 'object') && options.extra_liners ? - options.extra_liners.concat() : (typeof options.extra_liners === 'string') ? - options.extra_liners.split(',') : 'head,body,/html'.split(','); - eol = options.eol ? options.eol : 'auto'; - - if (options.indent_with_tabs) { - indent_character = '\t'; - indent_size = 1; - } +InputScanner.prototype.readUntilAfter = function(pattern) { + return this.readUntil(pattern, true); +}; - if (eol === 'auto') { - eol = '\n'; - if (html_source && lineBreak.test(html_source || '')) { - eol = html_source.match(lineBreak)[0]; - } - } +/* css beautifier legacy helpers */ +InputScanner.prototype.peekUntilAfter = function(pattern) { + var start = this.__position; + var val = this.readUntilAfter(pattern); + this.__position = start; + return val; +}; - eol = eol.replace(/\\r/, '\r').replace(/\\n/, '\n'); - - // HACK: newline parsing inconsistent. This brute force normalizes the input. - html_source = html_source.replace(allLineBreaks, '\n'); - - function Parser() { - - this.pos = 0; //Parser position - this.token = ''; - this.current_mode = 'CONTENT'; //reflects the current Parser mode: TAG/CONTENT - this.tags = { //An object to hold tags, their position, and their parent-tags, initiated with default values - parent: 'parent1', - parentcount: 1, - parent1: '' - }; - this.tag_type = ''; - this.token_text = this.last_token = this.last_text = this.token_type = ''; - this.newlines = 0; - this.indent_content = indent_inner_html; - this.indent_body_inner_html = indent_body_inner_html; - this.indent_head_inner_html = indent_head_inner_html; - - this.Utils = { //Uilities made available to the various functions - whitespace: "\n\r\t ".split(''), - - single_token: options.void_elements || [ - // HTLM void elements - aka self-closing tags - aka singletons - // https://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements - 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr', - // NOTE: Optional tags - are not understood. - // https://www.w3.org/TR/html5/syntax.html#optional-tags - // The rules for optional tags are too complex for a simple list - // Also, the content of these tags should still be indented in many cases. - // 'li' is a good exmple. - - // Doctype and xml elements - '!doctype', '?xml', - // ?php tag - '?php', - // other tags that were in this list, keeping just in case - 'basefont', 'isindex' - ], - extra_liners: extra_liners, //for tags that need a line of whitespace before them - in_array: function(what, arr) { - for (var i = 0; i < arr.length; i++) { - if (what === arr[i]) { - return true; - } - } - return false; - } - }; - - // Return true if the given text is composed entirely of whitespace. - this.is_whitespace = function(text) { - for (var n = 0; n < text.length; n++) { - if (!this.Utils.in_array(text.charAt(n), this.Utils.whitespace)) { - return false; - } - } - return true; - }; - - this.traverse_whitespace = function() { - var input_char = ''; - - input_char = this.input.charAt(this.pos); - if (this.Utils.in_array(input_char, this.Utils.whitespace)) { - this.newlines = 0; - while (this.Utils.in_array(input_char, this.Utils.whitespace)) { - if (preserve_newlines && input_char === '\n' && this.newlines <= max_preserve_newlines) { - this.newlines += 1; - } - - this.pos++; - input_char = this.input.charAt(this.pos); - } - return true; - } - return false; - }; - - // Append a space to the given content (string array) or, if we are - // at the wrap_line_length, append a newline/indentation. - // return true if a newline was added, false if a space was added - this.space_or_wrap = function(content) { - if (this.line_char_count >= this.wrap_line_length) { //insert a line when the wrap_line_length is reached - this.print_newline(false, content); - this.print_indentation(content); - return true; - } else { - this.line_char_count++; - content.push(' '); - return false; - } - }; - - this.get_content = function() { //function to capture regular content between tags - var input_char = '', - content = [], - handlebarsStarted = 0; - - while (this.input.charAt(this.pos) !== '<' || handlebarsStarted === 2) { - if (this.pos >= this.input.length) { - return content.length ? content.join('') : ['', 'TK_EOF']; - } - - if (handlebarsStarted < 2 && this.traverse_whitespace()) { - this.space_or_wrap(content); - continue; - } - - input_char = this.input.charAt(this.pos); - - if (indent_handlebars) { - if (input_char === '{') { - handlebarsStarted += 1; - } else if (handlebarsStarted < 2) { - handlebarsStarted = 0; - } - - if (input_char === '}' && handlebarsStarted > 0) { - if (handlebarsStarted-- === 0) { - break; - } - } - // Handlebars parsing is complicated. - // {{#foo}} and {{/foo}} are formatted tags. - // {{something}} should get treated as content, except: - // {{else}} specifically behaves like {{#if}} and {{/if}} - var peek3 = this.input.substr(this.pos, 3); - if (peek3 === '{{#' || peek3 === '{{/') { - // These are tags and not content. - break; - } else if (peek3 === '{{!') { - return [this.get_tag(), 'TK_TAG_HANDLEBARS_COMMENT']; - } else if (this.input.substr(this.pos, 2) === '{{') { - if (this.get_tag(true) === '{{else}}') { - break; - } - } - } - - this.pos++; - this.line_char_count++; - content.push(input_char); //letter at-a-time (or string) inserted to an array - } - return content.length ? content.join('') : ''; - }; - - this.get_contents_to = function(name) { //get the full content of a script or style to pass to js_beautify - if (this.pos === this.input.length) { - return ['', 'TK_EOF']; - } - var content = ''; - var reg_match = new RegExp('', 'igm'); - reg_match.lastIndex = this.pos; - var reg_array = reg_match.exec(this.input); - var end_script = reg_array ? reg_array.index : this.input.length; //absolute end of script - if (this.pos < end_script) { //get everything in between the script tags - content = this.input.substring(this.pos, end_script); - this.pos = end_script; - } - return content; - }; - - this.record_tag = function(tag) { //function to record a tag and its parent in this.tags Object - if (this.tags[tag + 'count']) { //check for the existence of this tag type - this.tags[tag + 'count']++; - this.tags[tag + this.tags[tag + 'count']] = this.indent_level; //and record the present indent level - } else { //otherwise initialize this tag type - this.tags[tag + 'count'] = 1; - this.tags[tag + this.tags[tag + 'count']] = this.indent_level; //and record the present indent level - } - this.tags[tag + this.tags[tag + 'count'] + 'parent'] = this.tags.parent; //set the parent (i.e. in the case of a div this.tags.div1parent) - this.tags.parent = tag + this.tags[tag + 'count']; //and make this the current parent (i.e. in the case of a div 'div1') - }; - - this.retrieve_tag = function(tag) { //function to retrieve the opening tag to the corresponding closer - if (this.tags[tag + 'count']) { //if the openener is not in the Object we ignore it - var temp_parent = this.tags.parent; //check to see if it's a closable tag. - while (temp_parent) { //till we reach '' (the initial value); - if (tag + this.tags[tag + 'count'] === temp_parent) { //if this is it use it - break; - } - temp_parent = this.tags[temp_parent + 'parent']; //otherwise keep on climbing up the DOM Tree - } - if (temp_parent) { //if we caught something - this.indent_level = this.tags[tag + this.tags[tag + 'count']]; //set the indent_level accordingly - this.tags.parent = this.tags[temp_parent + 'parent']; //and set the current parent - } - delete this.tags[tag + this.tags[tag + 'count'] + 'parent']; //delete the closed tags parent reference... - delete this.tags[tag + this.tags[tag + 'count']]; //...and the tag itself - if (this.tags[tag + 'count'] === 1) { - delete this.tags[tag + 'count']; - } else { - this.tags[tag + 'count']--; - } - } - }; - - this.indent_to_tag = function(tag) { - // Match the indentation level to the last use of this tag, but don't remove it. - if (!this.tags[tag + 'count']) { - return; - } - var temp_parent = this.tags.parent; - while (temp_parent) { - if (tag + this.tags[tag + 'count'] === temp_parent) { - break; - } - temp_parent = this.tags[temp_parent + 'parent']; - } - if (temp_parent) { - this.indent_level = this.tags[tag + this.tags[tag + 'count']]; - } - }; - - this.get_tag = function(peek) { //function to get a full tag and parse its type - var input_char = '', - content = [], - comment = '', - space = false, - first_attr = true, - has_wrapped_attrs = false, - tag_start, tag_end, - tag_start_char, - orig_pos = this.pos, - orig_line_char_count = this.line_char_count, - is_tag_closed = false, - tail; - - peek = peek !== undefined ? peek : false; - - do { - if (this.pos >= this.input.length) { - if (peek) { - this.pos = orig_pos; - this.line_char_count = orig_line_char_count; - } - return content.length ? content.join('') : ['', 'TK_EOF']; - } - - input_char = this.input.charAt(this.pos); - this.pos++; - - if (this.Utils.in_array(input_char, this.Utils.whitespace)) { //don't want to insert unnecessary space - space = true; - continue; - } - - if (input_char === "'" || input_char === '"') { - input_char += this.get_unformatted(input_char); - space = true; - } - - if (input_char === '=') { //no space before = - space = false; - } - tail = this.input.substr(this.pos - 1); - if (is_wrap_attributes_force_expand_multiline && has_wrapped_attrs && !is_tag_closed && (input_char === '>' || input_char === '/')) { - if (tail.match(/^\/?\s*>/)) { - space = false; - is_tag_closed = true; - this.print_newline(false, content); - this.print_indentation(content); - } - } - if (content.length && content[content.length - 1] !== '=' && input_char !== '>' && space) { - //no space after = or before > - var wrapped = this.space_or_wrap(content); - var indentAttrs = wrapped && input_char !== '/' && !is_wrap_attributes_force; - space = false; - - if (is_wrap_attributes_force && input_char !== '/') { - var force_first_attr_wrap = false; - if (is_wrap_attributes_force_expand_multiline && first_attr) { - var is_only_attribute = tail.match(/^\S*(="([^"]|\\")*")?\s*\/?\s*>/) !== null; - force_first_attr_wrap = !is_only_attribute; - } - if (!first_attr || force_first_attr_wrap) { - this.print_newline(false, content); - this.print_indentation(content); - indentAttrs = true; - } - } - if (indentAttrs) { - has_wrapped_attrs = true; - - //indent attributes an auto, forced, or forced-align line-wrap - var alignment_size = wrap_attributes_indent_size; - if (is_wrap_attributes_force_aligned) { - alignment_size = content.indexOf(' ') + 1; - } - - for (var count = 0; count < alignment_size; count++) { - // only ever further indent with spaces since we're trying to align characters - content.push(' '); - } - } - if (first_attr) { - for (var i = 0; i < content.length; i++) { - if (content[i] === ' ') { - first_attr = false; - break; - } - } - } - } - - if (indent_handlebars && tag_start_char === '<') { - // When inside an angle-bracket tag, put spaces around - // handlebars not inside of strings. - if ((input_char + this.input.charAt(this.pos)) === '{{') { - input_char += this.get_unformatted('}}'); - if (content.length && content[content.length - 1] !== ' ' && content[content.length - 1] !== '<') { - input_char = ' ' + input_char; - } - space = true; - } - } - - if (input_char === '<' && !tag_start_char) { - tag_start = this.pos - 1; - tag_start_char = '<'; - } - - if (indent_handlebars && !tag_start_char) { - if (content.length >= 2 && content[content.length - 1] === '{' && content[content.length - 2] === '{') { - if (input_char === '#' || input_char === '/' || input_char === '!') { - tag_start = this.pos - 3; - } else { - tag_start = this.pos - 2; - } - tag_start_char = '{'; - } - } - - this.line_char_count++; - content.push(input_char); //inserts character at-a-time (or string) - - if (content[1] && (content[1] === '!' || content[1] === '?' || content[1] === '%')) { //if we're in a comment, do something special - // We treat all comments as literals, even more than preformatted tags - // we just look for the appropriate close tag - content = [this.get_comment(tag_start)]; - break; - } - - if (indent_handlebars && content[1] && content[1] === '{' && content[2] && content[2] === '!') { //if we're in a comment, do something special - // We treat all comments as literals, even more than preformatted tags - // we just look for the appropriate close tag - content = [this.get_comment(tag_start)]; - break; - } - - if (indent_handlebars && tag_start_char === '{' && content.length > 2 && content[content.length - 2] === '}' && content[content.length - 1] === '}') { - break; - } - } while (input_char !== '>'); - - var tag_complete = content.join(''); - var tag_index; - var tag_offset; - - // must check for space first otherwise the tag could have the first attribute included, and - // then not un-indent correctly - if (tag_complete.indexOf(' ') !== -1) { //if there's whitespace, thats where the tag name ends - tag_index = tag_complete.indexOf(' '); - } else if (tag_complete.indexOf('\n') !== -1) { //if there's a line break, thats where the tag name ends - tag_index = tag_complete.indexOf('\n'); - } else if (tag_complete.charAt(0) === '{') { - tag_index = tag_complete.indexOf('}'); - } else { //otherwise go with the tag ending - tag_index = tag_complete.indexOf('>'); - } - if (tag_complete.charAt(0) === '<' || !indent_handlebars) { - tag_offset = 1; - } else { - tag_offset = tag_complete.charAt(2) === '#' ? 3 : 2; - } - var tag_check = tag_complete.substring(tag_offset, tag_index).toLowerCase(); - if (tag_complete.charAt(tag_complete.length - 2) === '/' || - this.Utils.in_array(tag_check, this.Utils.single_token)) { //if this tag name is a single tag type (either in the list or has a closing /) - if (!peek) { - this.tag_type = 'SINGLE'; - } - } else if (indent_handlebars && tag_complete.charAt(0) === '{' && tag_check === 'else') { - if (!peek) { - this.indent_to_tag('if'); - this.tag_type = 'HANDLEBARS_ELSE'; - this.indent_content = true; - this.traverse_whitespace(); - } - } else if (this.is_unformatted(tag_check, unformatted) || - this.is_unformatted(tag_check, content_unformatted)) { - // do not reformat the "unformatted" or "content_unformatted" tags - comment = this.get_unformatted('', tag_complete); //...delegate to get_unformatted function - content.push(comment); - tag_end = this.pos - 1; - this.tag_type = 'SINGLE'; - } else if (tag_check === 'script' && - (tag_complete.search('type') === -1 || - (tag_complete.search('type') > -1 && - tag_complete.search(/\b(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/) > -1))) { - if (!peek) { - this.record_tag(tag_check); - this.tag_type = 'SCRIPT'; - } - } else if (tag_check === 'style' && - (tag_complete.search('type') === -1 || - (tag_complete.search('type') > -1 && tag_complete.search('text/css') > -1))) { - if (!peek) { - this.record_tag(tag_check); - this.tag_type = 'STYLE'; - } - } else if (tag_check.charAt(0) === '!') { //peek for ', - matched = false; - - this.pos = start_pos; - var input_char = this.input.charAt(this.pos); - this.pos++; - - while (this.pos <= this.input.length) { - comment += input_char; - - // only need to check for the delimiter if the last chars match - if (comment.charAt(comment.length - 1) === delimiter.charAt(delimiter.length - 1) && - comment.indexOf(delimiter) !== -1) { - break; - } - - // only need to search for custom delimiter for the first few characters - if (!matched && comment.length < 10) { - if (comment.indexOf(''; - matched = true; - } else if (comment.indexOf(''; - matched = true; - } else if (comment.indexOf(''; - matched = true; - } else if (comment.indexOf(''; - matched = true; - } else if (comment.indexOf('{{!--') === 0) { // {{!-- handlebars comment - delimiter = '--}}'; - matched = true; - } else if (comment.indexOf('{{!') === 0) { // {{! handlebars comment - if (comment.length === 5 && comment.indexOf('{{!--') === -1) { - delimiter = '}}'; - matched = true; - } - } else if (comment.indexOf(''; - matched = true; - } else if (comment.indexOf('<%') === 0) { // {{! handlebars comment - delimiter = '%>'; - matched = true; - } - } - - input_char = this.input.charAt(this.pos); - this.pos++; - } - - return comment; - }; - - function tokenMatcher(delimiter) { - var token = ''; - - var add = function(str) { - var newToken = token + str.toLowerCase(); - token = newToken.length <= delimiter.length ? newToken : newToken.substr(newToken.length - delimiter.length, delimiter.length); - }; - - var doesNotMatch = function() { - return token.indexOf(delimiter) === -1; - }; - - return { - add: add, - doesNotMatch: doesNotMatch - }; - } +InputScanner.prototype.lookBack = function(testVal) { + var start = this.__position - 1; + return start >= testVal.length && this.__input.substring(start - testVal.length, start) + .toLowerCase() === testVal; +}; - this.get_unformatted = function(delimiter, orig_tag) { //function to return unformatted content in its entirety - if (orig_tag && orig_tag.toLowerCase().indexOf(delimiter) !== -1) { - return ''; - } - var input_char = ''; - var content = ''; - var space = true; - - var delimiterMatcher = tokenMatcher(delimiter); - - do { - - if (this.pos >= this.input.length) { - return content; - } - - input_char = this.input.charAt(this.pos); - this.pos++; - - if (this.Utils.in_array(input_char, this.Utils.whitespace)) { - if (!space) { - this.line_char_count--; - continue; - } - if (input_char === '\n' || input_char === '\r') { - content += '\n'; - /* Don't change tab indention for unformatted blocks. If using code for html editing, this will greatly affect

 tags if they are specified in the 'unformatted array'
-                for (var i=0; i]*>\s*$/);
-
-                // if next_tag comes back but is not an isolated tag, then
-                // let's treat the 'a' tag as having content
-                // and respect the unformatted option
-                if (!tag || this.Utils.in_array(tag[1], unformatted)) {
-                    return true;
-                } else {
-                    return false;
-                }
-            };
-
-            this.printer = function(js_source, indent_character, indent_size, wrap_line_length, brace_style) { //handles input/output and some other printing functions
-
-                this.input = js_source || ''; //gets the input for the Parser
-
-                // HACK: newline parsing inconsistent. This brute force normalizes the input.
-                this.input = this.input.replace(/\r\n|[\r\u2028\u2029]/g, '\n');
-
-                this.output = [];
-                this.indent_character = indent_character;
-                this.indent_string = '';
-                this.indent_size = indent_size;
-                this.brace_style = brace_style;
-                this.indent_level = 0;
-                this.wrap_line_length = wrap_line_length;
-                this.line_char_count = 0; //count to see if wrap_line_length was exceeded
-
-                for (var i = 0; i < this.indent_size; i++) {
-                    this.indent_string += this.indent_character;
-                }
-
-                this.print_newline = function(force, arr) {
-                    this.line_char_count = 0;
-                    if (!arr || !arr.length) {
-                        return;
-                    }
-                    if (force || (arr[arr.length - 1] !== '\n')) { //we might want the extra line
-                        if ((arr[arr.length - 1] !== '\n')) {
-                            arr[arr.length - 1] = rtrim(arr[arr.length - 1]);
-                        }
-                        arr.push('\n');
-                    }
-                };
-
-                this.print_indentation = function(arr) {
-                    for (var i = 0; i < this.indent_level; i++) {
-                        arr.push(this.indent_string);
-                        this.line_char_count += this.indent_string.length;
-                    }
-                };
-
-                this.print_token = function(text) {
-                    // Avoid printing initial whitespace.
-                    if (this.is_whitespace(text) && !this.output.length) {
-                        return;
-                    }
-                    if (text || text !== '') {
-                        if (this.output.length && this.output[this.output.length - 1] === '\n') {
-                            this.print_indentation(this.output);
-                            text = ltrim(text);
-                        }
-                    }
-                    this.print_token_raw(text);
-                };
-
-                this.print_token_raw = function(text) {
-                    // If we are going to print newlines, truncate trailing
-                    // whitespace, as the newlines will represent the space.
-                    if (this.newlines > 0) {
-                        text = rtrim(text);
-                    }
-
-                    if (text && text !== '') {
-                        if (text.length > 1 && text.charAt(text.length - 1) === '\n') {
-                            // unformatted tags can grab newlines as their last character
-                            this.output.push(text.slice(0, -1));
-                            this.print_newline(false, this.output);
-                        } else {
-                            this.output.push(text);
-                        }
-                    }
-
-                    for (var n = 0; n < this.newlines; n++) {
-                        this.print_newline(n > 0, this.output);
-                    }
-                    this.newlines = 0;
-                };
-
-                this.indent = function() {
-                    this.indent_level++;
-                };
-
-                this.unindent = function() {
-                    if (this.indent_level > 0) {
-                        this.indent_level--;
-                    }
-                };
-            };
-            return this;
-        }
 
-        /*_____________________--------------------_____________________*/
+module.exports.InputScanner = InputScanner;
 
-        multi_parser = new Parser(); //wrapping functions Parser
-        multi_parser.printer(html_source, indent_character, indent_size, wrap_line_length, brace_style); //initialize starting values
 
-        while (true) {
-            var t = multi_parser.get_token();
-            multi_parser.token_text = t[0];
-            multi_parser.token_type = t[1];
+/***/ }),
+/* 9 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/*jshint node:true */
+/*
+
+  The MIT License (MIT)
+
+  Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+*/
+
+
+
+var InputScanner = __webpack_require__(8).InputScanner;
+var Token = __webpack_require__(3).Token;
+var TokenStream = __webpack_require__(10).TokenStream;
+
+var TOKEN = {
+  START: 'TK_START',
+  RAW: 'TK_RAW',
+  EOF: 'TK_EOF'
+};
+
+var Tokenizer = function(input_string, options) {
+  this._input = new InputScanner(input_string);
+  this._options = options || {};
+  this.__tokens = null;
+  this.__newline_count = 0;
+  this.__whitespace_before_token = '';
+
+  this._whitespace_pattern = /[\n\r\t ]+/g;
+  this._newline_pattern = /([^\n\r]*)(\r\n|[\n\r])?/g;
+};
+
+Tokenizer.prototype.tokenize = function() {
+  this._input.restart();
+  this.__tokens = new TokenStream();
+
+  this._reset();
+
+  var current;
+  var previous = new Token(TOKEN.START, '');
+  var open_token = null;
+  var open_stack = [];
+  var comments = new TokenStream();
+
+  while (previous.type !== TOKEN.EOF) {
+    current = this._get_next_token(previous, open_token);
+    while (this._is_comment(current)) {
+      comments.add(current);
+      current = this._get_next_token(previous, open_token);
+    }
+
+    if (!comments.isEmpty()) {
+      current.comments_before = comments;
+      comments = new TokenStream();
+    }
+
+    current.parent = open_token;
+
+    if (this._is_opening(current)) {
+      open_stack.push(open_token);
+      open_token = current;
+    } else if (open_token && this._is_closing(current, open_token)) {
+      current.opened = open_token;
+      open_token.closed = current;
+      open_token = open_stack.pop();
+      current.parent = open_token;
+    }
+
+    current.previous = previous;
+    previous.next = current;
+
+    this.__tokens.add(current);
+    previous = current;
+  }
+
+  return this.__tokens;
+};
+
+
+Tokenizer.prototype._is_first_token = function() {
+  return this.__tokens.isEmpty();
+};
+
+Tokenizer.prototype._reset = function() {};
+
+Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false
+  this._readWhitespace();
+  var resulting_string = this._input.read(/.+/g);
+  if (resulting_string) {
+    return this._create_token(TOKEN.RAW, resulting_string);
+  } else {
+    return this._create_token(TOKEN.EOF, '');
+  }
+};
+
+Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false
+  return false;
+};
+
+Tokenizer.prototype._is_opening = function(current_token) { // jshint unused:false
+  return false;
+};
+
+Tokenizer.prototype._is_closing = function(current_token, open_token) { // jshint unused:false
+  return false;
+};
+
+Tokenizer.prototype._create_token = function(type, text) {
+  var token = new Token(type, text, this.__newline_count, this.__whitespace_before_token);
+  this.__newline_count = 0;
+  this.__whitespace_before_token = '';
+  return token;
+};
+
+Tokenizer.prototype._readWhitespace = function() {
+  var resulting_string = this._input.read(this._whitespace_pattern);
+  if (resulting_string === ' ') {
+    this.__whitespace_before_token = resulting_string;
+  } else if (resulting_string !== '') {
+    this._newline_pattern.lastIndex = 0;
+    var nextMatch = this._newline_pattern.exec(resulting_string);
+    while (nextMatch[2]) {
+      this.__newline_count += 1;
+      nextMatch = this._newline_pattern.exec(resulting_string);
+    }
+    this.__whitespace_before_token = nextMatch[1];
+  }
+};
+
+
+
+module.exports.Tokenizer = Tokenizer;
+module.exports.TOKEN = TOKEN;
+
+
+/***/ }),
+/* 10 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/*jshint node:true */
+/*
+
+  The MIT License (MIT)
+
+  Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+*/
 
-            if (multi_parser.token_type === 'TK_EOF') {
-                break;
-            }
 
-            switch (multi_parser.token_type) {
-                case 'TK_TAG_START':
-                    multi_parser.print_newline(false, multi_parser.output);
-                    multi_parser.print_token(multi_parser.token_text);
-                    if (multi_parser.indent_content) {
-                        if ((multi_parser.indent_body_inner_html || !multi_parser.token_text.match(//)) &&
-                            (multi_parser.indent_head_inner_html || !multi_parser.token_text.match(//))) {
-
-                            multi_parser.indent();
-                        }
-
-                        multi_parser.indent_content = false;
-                    }
-                    multi_parser.current_mode = 'CONTENT';
-                    break;
-                case 'TK_TAG_STYLE':
-                case 'TK_TAG_SCRIPT':
-                    multi_parser.print_newline(false, multi_parser.output);
-                    multi_parser.print_token(multi_parser.token_text);
-                    multi_parser.current_mode = 'CONTENT';
-                    break;
-                case 'TK_TAG_END':
-                    //Print new line only if the tag has no content and has child
-                    if (multi_parser.last_token === 'TK_CONTENT' && multi_parser.last_text === '') {
-                        var tag_name = (multi_parser.token_text.match(/\w+/) || [])[0];
-                        var tag_extracted_from_last_output = null;
-                        if (multi_parser.output.length) {
-                            tag_extracted_from_last_output = multi_parser.output[multi_parser.output.length - 1].match(/(?:<|{{#)\s*(\w+)/);
-                        }
-                        if (tag_extracted_from_last_output === null ||
-                            (tag_extracted_from_last_output[1] !== tag_name && !multi_parser.Utils.in_array(tag_extracted_from_last_output[1], unformatted))) {
-                            multi_parser.print_newline(false, multi_parser.output);
-                        }
-                    }
-                    multi_parser.print_token(multi_parser.token_text);
-                    multi_parser.current_mode = 'CONTENT';
-                    break;
-                case 'TK_TAG_SINGLE':
-                    // Don't add a newline before elements that should remain unformatted.
-                    var tag_check = multi_parser.token_text.match(/^\s*<([a-z-]+)/i);
-                    if (!tag_check || !multi_parser.Utils.in_array(tag_check[1], unformatted)) {
-                        multi_parser.print_newline(false, multi_parser.output);
-                    }
-                    multi_parser.print_token(multi_parser.token_text);
-                    multi_parser.current_mode = 'CONTENT';
-                    break;
-                case 'TK_TAG_HANDLEBARS_ELSE':
-                    // Don't add a newline if opening {{#if}} tag is on the current line
-                    var foundIfOnCurrentLine = false;
-                    for (var lastCheckedOutput = multi_parser.output.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) {
-                        if (multi_parser.output[lastCheckedOutput] === '\n') {
-                            break;
-                        } else {
-                            if (multi_parser.output[lastCheckedOutput].match(/{{#if/)) {
-                                foundIfOnCurrentLine = true;
-                                break;
-                            }
-                        }
-                    }
-                    if (!foundIfOnCurrentLine) {
-                        multi_parser.print_newline(false, multi_parser.output);
-                    }
-                    multi_parser.print_token(multi_parser.token_text);
-                    if (multi_parser.indent_content) {
-                        multi_parser.indent();
-                        multi_parser.indent_content = false;
-                    }
-                    multi_parser.current_mode = 'CONTENT';
-                    break;
-                case 'TK_TAG_HANDLEBARS_COMMENT':
-                    multi_parser.print_token(multi_parser.token_text);
-                    multi_parser.current_mode = 'TAG';
-                    break;
-                case 'TK_CONTENT':
-                    multi_parser.print_token(multi_parser.token_text);
-                    multi_parser.current_mode = 'TAG';
-                    break;
-                case 'TK_STYLE':
-                case 'TK_SCRIPT':
-                    if (multi_parser.token_text !== '') {
-                        multi_parser.print_newline(false, multi_parser.output);
-                        var text = multi_parser.token_text,
-                            _beautifier,
-                            script_indent_level = 1;
-                        if (multi_parser.token_type === 'TK_SCRIPT') {
-                            _beautifier = typeof js_beautify === 'function' && js_beautify;
-                        } else if (multi_parser.token_type === 'TK_STYLE') {
-                            _beautifier = typeof css_beautify === 'function' && css_beautify;
-                        }
-
-                        if (options.indent_scripts === "keep") {
-                            script_indent_level = 0;
-                        } else if (options.indent_scripts === "separate") {
-                            script_indent_level = -multi_parser.indent_level;
-                        }
-
-                        var indentation = multi_parser.get_full_indent(script_indent_level);
-                        if (_beautifier) {
-
-                            // call the Beautifier if avaliable
-                            var Child_options = function() {
-                                this.eol = '\n';
-                            };
-                            Child_options.prototype = options;
-                            var child_options = new Child_options();
-                            text = _beautifier(text.replace(/^\s*/, indentation), child_options);
-                        } else {
-                            // simply indent the string otherwise
-                            var white = text.match(/^\s*/)[0];
-                            var _level = white.match(/[^\n\r]*$/)[0].split(multi_parser.indent_string).length - 1;
-                            var reindent = multi_parser.get_full_indent(script_indent_level - _level);
-                            text = text.replace(/^\s*/, indentation)
-                                .replace(/\r\n|\r|\n/g, '\n' + reindent)
-                                .replace(/\s+$/, '');
-                        }
-                        if (text) {
-                            multi_parser.print_token_raw(text);
-                            multi_parser.print_newline(true, multi_parser.output);
-                        }
-                    }
-                    multi_parser.current_mode = 'TAG';
-                    break;
-                default:
-                    // We should not be getting here but we don't want to drop input on the floor
-                    // Just output the text and move on
-                    if (multi_parser.token_text !== '') {
-                        multi_parser.print_token(multi_parser.token_text);
-                    }
-                    break;
-            }
-            multi_parser.last_token = multi_parser.token_type;
-            multi_parser.last_text = multi_parser.token_text;
-        }
-        var sweet_code = multi_parser.output.join('').replace(/[\r\n\t ]+$/, '');
 
-        // establish end_with_newline
-        if (end_with_newline) {
-            sweet_code += '\n';
+function TokenStream(parent_token) {
+  // private
+  this.__tokens = [];
+  this.__tokens_length = this.__tokens.length;
+  this.__position = 0;
+  this.__parent_token = parent_token;
+}
+
+TokenStream.prototype.restart = function() {
+  this.__position = 0;
+};
+
+TokenStream.prototype.isEmpty = function() {
+  return this.__tokens_length === 0;
+};
+
+TokenStream.prototype.hasNext = function() {
+  return this.__position < this.__tokens_length;
+};
+
+TokenStream.prototype.next = function() {
+  var val = null;
+  if (this.hasNext()) {
+    val = this.__tokens[this.__position];
+    this.__position += 1;
+  }
+  return val;
+};
+
+TokenStream.prototype.peek = function(index) {
+  var val = null;
+  index = index || 0;
+  index += this.__position;
+  if (index >= 0 && index < this.__tokens_length) {
+    val = this.__tokens[index];
+  }
+  return val;
+};
+
+TokenStream.prototype.add = function(token) {
+  if (this.__parent_token) {
+    token.parent = this.__parent_token;
+  }
+  this.__tokens.push(token);
+  this.__tokens_length += 1;
+};
+
+module.exports.TokenStream = TokenStream;
+
+
+/***/ }),
+/* 11 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/*jshint node:true */
+/*
+
+  The MIT License (MIT)
+
+  Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+*/
+
+
+
+function Directives(start_block_pattern, end_block_pattern) {
+  start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source;
+  end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source;
+  this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \w+[:]\w+)+ /.source + end_block_pattern, 'g');
+  this.__directive_pattern = / (\w+)[:](\w+)/g;
+
+  this.__directives_end_ignore_pattern = new RegExp('(?:[\\s\\S]*?)((?:' + start_block_pattern + /\sbeautify\signore:end\s/.source + end_block_pattern + ')|$)', 'g');
+}
+
+Directives.prototype.get_directives = function(text) {
+  if (!text.match(this.__directives_block_pattern)) {
+    return null;
+  }
+
+  var directives = {};
+  this.__directive_pattern.lastIndex = 0;
+  var directive_match = this.__directive_pattern.exec(text);
+
+  while (directive_match) {
+    directives[directive_match[1]] = directive_match[2];
+    directive_match = this.__directive_pattern.exec(text);
+  }
+
+  return directives;
+};
+
+Directives.prototype.readIgnored = function(input) {
+  return input.read(this.__directives_end_ignore_pattern);
+};
+
+
+module.exports.Directives = Directives;
+
+
+/***/ }),
+/* 12 */,
+/* 13 */,
+/* 14 */,
+/* 15 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/*jshint node:true */
+/*
+
+  The MIT License (MIT)
+
+  Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+*/
+
+
+
+var Beautifier = __webpack_require__(16).Beautifier;
+
+function style_html(html_source, options, js_beautify, css_beautify) {
+  var beautifier = new Beautifier(html_source, options, js_beautify, css_beautify);
+  return beautifier.beautify();
+}
+
+module.exports = style_html;
+
+
+/***/ }),
+/* 16 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/*jshint node:true */
+/*
+
+  The MIT License (MIT)
+
+  Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+*/
+
+
+
+var Options = __webpack_require__(17).Options;
+var Output = __webpack_require__(2).Output;
+var Tokenizer = __webpack_require__(18).Tokenizer;
+var TOKEN = __webpack_require__(18).TOKEN;
+
+var lineBreak = /\r\n|[\r\n]/;
+var allLineBreaks = /\r\n|[\r\n]/g;
+
+var Printer = function(options, base_indent_string) { //handles input/output and some other printing functions
+
+  this.indent_level = 0;
+  this.alignment_size = 0;
+  this.wrap_line_length = options.wrap_line_length;
+  this.max_preserve_newlines = options.max_preserve_newlines;
+  this.preserve_newlines = options.preserve_newlines;
+
+  this._output = new Output(options, base_indent_string);
+
+};
+
+Printer.prototype.current_line_has_match = function(pattern) {
+  return this._output.current_line.has_match(pattern);
+};
+
+Printer.prototype.set_space_before_token = function(value) {
+  this._output.space_before_token = value;
+};
+
+Printer.prototype.add_raw_token = function(token) {
+  this._output.add_raw_token(token);
+};
+
+Printer.prototype.print_preserved_newlines = function(raw_token) {
+  var newlines = 0;
+  if (raw_token.type !== TOKEN.TEXT && raw_token.previous.type !== TOKEN.TEXT) {
+    newlines = raw_token.newlines ? 1 : 0;
+  }
+
+  if (this.preserve_newlines) {
+    newlines = raw_token.newlines < this.max_preserve_newlines + 1 ? raw_token.newlines : this.max_preserve_newlines + 1;
+  }
+  for (var n = 0; n < newlines; n++) {
+    this.print_newline(n > 0);
+  }
+
+  return newlines !== 0;
+};
+
+Printer.prototype.traverse_whitespace = function(raw_token) {
+  if (raw_token.whitespace_before || raw_token.newlines) {
+    if (!this.print_preserved_newlines(raw_token)) {
+      this._output.space_before_token = true;
+      this.print_space_or_wrap(raw_token.text);
+    }
+    return true;
+  }
+  return false;
+};
+
+// Append a space to the given content (string array) or, if we are
+// at the wrap_line_length, append a newline/indentation.
+// return true if a newline was added, false if a space was added
+Printer.prototype.print_space_or_wrap = function(text) {
+  if (this.wrap_line_length) {
+    if (this._output.current_line.get_character_count() + text.length + 1 >= this.wrap_line_length) { //insert a line when the wrap_line_length is reached
+      return this._output.add_new_line();
+    }
+  }
+  return false;
+};
+
+Printer.prototype.print_newline = function(force) {
+  this._output.add_new_line(force);
+};
+
+Printer.prototype.print_token = function(text) {
+  if (text) {
+    if (this._output.current_line.is_empty()) {
+      this._output.set_indent(this.indent_level, this.alignment_size);
+    }
+
+    this._output.add_token(text);
+  }
+};
+
+Printer.prototype.print_raw_text = function(text) {
+  this._output.current_line.push_raw(text);
+};
+
+Printer.prototype.indent = function() {
+  this.indent_level++;
+};
+
+Printer.prototype.unindent = function() {
+  if (this.indent_level > 0) {
+    this.indent_level--;
+  }
+};
+
+Printer.prototype.get_full_indent = function(level) {
+  level = this.indent_level + (level || 0);
+  if (level < 1) {
+    return '';
+  }
+
+  return this._output.get_indent_string(level);
+};
+
+
+var uses_beautifier = function(tag_check, start_token) {
+  var raw_token = start_token.next;
+  if (!start_token.closed) {
+    return false;
+  }
+
+  while (raw_token.type !== TOKEN.EOF && raw_token.closed !== start_token) {
+    if (raw_token.type === TOKEN.ATTRIBUTE && raw_token.text === 'type') {
+      // For script and style tags that have a type attribute, only enable custom beautifiers for matching values
+      var peekEquals = raw_token.next ? raw_token.next : raw_token;
+      var peekValue = peekEquals.next ? peekEquals.next : peekEquals;
+      if (peekEquals.type === TOKEN.EQUALS && peekValue.type === TOKEN.VALUE) {
+        return (tag_check === 'style' && peekValue.text.search('text/css') > -1) ||
+          (tag_check === 'script' && peekValue.text.search(/(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/) > -1);
+      }
+      return false;
+    }
+    raw_token = raw_token.next;
+  }
+
+  return true;
+};
+
+function in_array(what, arr) {
+  return arr.indexOf(what) !== -1;
+}
+
+function TagFrame(parent, parser_token, indent_level) {
+  this.parent = parent || null;
+  this.tag = parser_token ? parser_token.tag_name : '';
+  this.indent_level = indent_level || 0;
+  this.parser_token = parser_token || null;
+}
+
+function TagStack(printer) {
+  this._printer = printer;
+  this._current_frame = null;
+}
+
+TagStack.prototype.get_parser_token = function() {
+  return this._current_frame ? this._current_frame.parser_token : null;
+};
+
+TagStack.prototype.record_tag = function(parser_token) { //function to record a tag and its parent in this.tags Object
+  var new_frame = new TagFrame(this._current_frame, parser_token, this._printer.indent_level);
+  this._current_frame = new_frame;
+};
+
+TagStack.prototype._try_pop_frame = function(frame) { //function to retrieve the opening tag to the corresponding closer
+  var parser_token = null;
+
+  if (frame) {
+    parser_token = frame.parser_token;
+    this._printer.indent_level = frame.indent_level;
+    this._current_frame = frame.parent;
+  }
+
+  return parser_token;
+};
+
+TagStack.prototype._get_frame = function(tag_list, stop_list) { //function to retrieve the opening tag to the corresponding closer
+  var frame = this._current_frame;
+
+  while (frame) { //till we reach '' (the initial value);
+    if (tag_list.indexOf(frame.tag) !== -1) { //if this is it use it
+      break;
+    } else if (stop_list && stop_list.indexOf(frame.tag) !== -1) {
+      frame = null;
+      break;
+    }
+    frame = frame.parent;
+  }
+
+  return frame;
+};
+
+TagStack.prototype.try_pop = function(tag, stop_list) { //function to retrieve the opening tag to the corresponding closer
+  var frame = this._get_frame([tag], stop_list);
+  return this._try_pop_frame(frame);
+};
+
+TagStack.prototype.indent_to_tag = function(tag_list) {
+  var frame = this._get_frame(tag_list);
+  if (frame) {
+    this._printer.indent_level = frame.indent_level;
+  }
+};
+
+function Beautifier(source_text, options, js_beautify, css_beautify) {
+  //Wrapper function to invoke all the necessary constructors and deal with the output.
+  this._source_text = source_text || '';
+  options = options || {};
+  this._js_beautify = js_beautify;
+  this._css_beautify = css_beautify;
+  this._tag_stack = null;
+
+  // Allow the setting of language/file-type specific options
+  // with inheritance of overall settings
+  var optionHtml = new Options(options, 'html');
+
+  this._options = optionHtml;
+
+  this._is_wrap_attributes_force = this._options.wrap_attributes.substr(0, 'force'.length) === 'force';
+  this._is_wrap_attributes_force_expand_multiline = (this._options.wrap_attributes === 'force-expand-multiline');
+  this._is_wrap_attributes_force_aligned = (this._options.wrap_attributes === 'force-aligned');
+  this._is_wrap_attributes_aligned_multiple = (this._options.wrap_attributes === 'aligned-multiple');
+  this._is_wrap_attributes_preserve = this._options.wrap_attributes.substr(0, 'preserve'.length) === 'preserve';
+  this._is_wrap_attributes_preserve_aligned = (this._options.wrap_attributes === 'preserve-aligned');
+}
+
+Beautifier.prototype.beautify = function() {
+
+  // if disabled, return the input unchanged.
+  if (this._options.disabled) {
+    return this._source_text;
+  }
+
+  var source_text = this._source_text;
+  var eol = this._options.eol;
+  if (this._options.eol === 'auto') {
+    eol = '\n';
+    if (source_text && lineBreak.test(source_text)) {
+      eol = source_text.match(lineBreak)[0];
+    }
+  }
+
+  // HACK: newline parsing inconsistent. This brute force normalizes the input.
+  source_text = source_text.replace(allLineBreaks, '\n');
+  var baseIndentString = '';
+
+  // Including commented out text would change existing html beautifier behavior to autodetect base indent.
+  // baseIndentString = source_text.match(/^[\t ]*/)[0];
+
+  var last_token = {
+    text: '',
+    type: ''
+  };
+
+  var last_tag_token = new TagOpenParserToken();
+
+  var printer = new Printer(this._options, baseIndentString);
+  var tokens = new Tokenizer(source_text, this._options).tokenize();
+
+  this._tag_stack = new TagStack(printer);
+
+  var parser_token = null;
+  var raw_token = tokens.next();
+  while (raw_token.type !== TOKEN.EOF) {
+
+    if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) {
+      parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token);
+      last_tag_token = parser_token;
+    } else if ((raw_token.type === TOKEN.ATTRIBUTE || raw_token.type === TOKEN.EQUALS || raw_token.type === TOKEN.VALUE) ||
+      (raw_token.type === TOKEN.TEXT && !last_tag_token.tag_complete)) {
+      parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token, tokens);
+    } else if (raw_token.type === TOKEN.TAG_CLOSE) {
+      parser_token = this._handle_tag_close(printer, raw_token, last_tag_token);
+    } else if (raw_token.type === TOKEN.TEXT) {
+      parser_token = this._handle_text(printer, raw_token, last_tag_token);
+    } else {
+      // This should never happen, but if it does. Print the raw token
+      printer.add_raw_token(raw_token);
+    }
+
+    last_token = parser_token;
+
+    raw_token = tokens.next();
+  }
+  var sweet_code = printer._output.get_code(eol);
+
+  return sweet_code;
+};
+
+Beautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_token) {
+  var parser_token = { text: raw_token.text, type: raw_token.type };
+  printer.alignment_size = 0;
+  last_tag_token.tag_complete = true;
+
+  printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== '');
+  if (last_tag_token.is_unformatted) {
+    printer.add_raw_token(raw_token);
+  } else {
+    if (last_tag_token.tag_start_char === '<') {
+      printer.set_space_before_token(raw_token.text[0] === '/'); // space before />, no space before >
+      if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.has_wrapped_attrs) {
+        printer.print_newline(false);
+      }
+    }
+    printer.print_token(raw_token.text);
+  }
+
+  if (last_tag_token.indent_content &&
+    !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) {
+    printer.indent();
+
+    // only indent once per opened tag
+    last_tag_token.indent_content = false;
+  }
+  return parser_token;
+};
+
+Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, tokens) {
+  var parser_token = { text: raw_token.text, type: raw_token.type };
+  printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== '');
+  if (last_tag_token.is_unformatted) {
+    printer.add_raw_token(raw_token);
+  } else if (last_tag_token.tag_start_char === '{' && raw_token.type === TOKEN.TEXT) {
+    // For the insides of handlebars allow newlines or a single space between open and contents
+    if (printer.print_preserved_newlines(raw_token)) {
+      printer.print_raw_text(raw_token.whitespace_before + raw_token.text);
+    } else {
+      printer.print_token(raw_token.text);
+    }
+  } else {
+    if (raw_token.type === TOKEN.ATTRIBUTE) {
+      printer.set_space_before_token(true);
+      last_tag_token.attr_count += 1;
+    } else if (raw_token.type === TOKEN.EQUALS) { //no space before =
+      printer.set_space_before_token(false);
+    } else if (raw_token.type === TOKEN.VALUE && raw_token.previous.type === TOKEN.EQUALS) { //no space before value
+      printer.set_space_before_token(false);
+    }
+
+    if (printer._output.space_before_token && last_tag_token.tag_start_char === '<') {
+      // Allow the current attribute to wrap
+      // Set wrapped to true if the line is wrapped
+      var wrapped = printer.print_space_or_wrap(raw_token.text);
+      if (raw_token.type === TOKEN.ATTRIBUTE) {
+        if (this._is_wrap_attributes_preserve || this._is_wrap_attributes_preserve_aligned) {
+          printer.traverse_whitespace(raw_token);
+          wrapped = wrapped || raw_token.newlines !== 0;
         }
+        // Save whether we have wrapped any attributes
+        last_tag_token.has_wrapped_attrs = last_tag_token.has_wrapped_attrs || wrapped;
+
+        if (this._is_wrap_attributes_force) {
+          var force_attr_wrap = last_tag_token.attr_count > 1;
+          if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.attr_count === 1) {
+            var is_only_attribute = true;
+            var peek_index = 0;
+            var peek_token;
+            do {
+              peek_token = tokens.peek(peek_index);
+              if (peek_token.type === TOKEN.ATTRIBUTE) {
+                is_only_attribute = false;
+                break;
+              }
+              peek_index += 1;
+            } while (peek_index < 4 && peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE);
+
+            force_attr_wrap = !is_only_attribute;
+          }
 
-        if (eol !== '\n') {
-            sweet_code = sweet_code.replace(/[\n]/g, eol);
+          if (force_attr_wrap) {
+            printer.print_newline(false);
+            last_tag_token.has_wrapped_attrs = true;
+          }
         }
+      }
+    }
+    printer.print_token(raw_token.text);
+  }
+  return parser_token;
+};
+
+Beautifier.prototype._handle_text = function(printer, raw_token, last_tag_token) {
+  var parser_token = { text: raw_token.text, type: 'TK_CONTENT' };
+  if (last_tag_token.custom_beautifier) { //check if we need to format javascript
+    this._print_custom_beatifier_text(printer, raw_token, last_tag_token);
+  } else if (last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) {
+    printer.add_raw_token(raw_token);
+  } else {
+    printer.traverse_whitespace(raw_token);
+    printer.print_token(raw_token.text);
+  }
+  return parser_token;
+};
+
+Beautifier.prototype._print_custom_beatifier_text = function(printer, raw_token, last_tag_token) {
+  if (raw_token.text !== '') {
+    printer.print_newline(false);
+    var text = raw_token.text,
+      _beautifier,
+      script_indent_level = 1;
+    if (last_tag_token.tag_name === 'script') {
+      _beautifier = typeof this._js_beautify === 'function' && this._js_beautify;
+    } else if (last_tag_token.tag_name === 'style') {
+      _beautifier = typeof this._css_beautify === 'function' && this._css_beautify;
+    }
 
-        return sweet_code;
+    if (this._options.indent_scripts === "keep") {
+      script_indent_level = 0;
+    } else if (this._options.indent_scripts === "separate") {
+      script_indent_level = -printer.indent_level;
     }
 
-    if (typeof define === "function" && define.amd) {
-        // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- )
-        define(["require", "./beautify", "./beautify-css"], function(requireamd) {
-            var js_beautify = requireamd("./beautify");
-            var css_beautify = requireamd("./beautify-css");
-
-            return {
-                html_beautify: function(html_source, options) {
-                    return style_html(html_source, options, js_beautify.js_beautify, css_beautify.css_beautify);
-                }
-            };
-        });
-    } else if (typeof exports !== "undefined") {
-        // Add support for CommonJS. Just put this file somewhere on your require.paths
-        // and you will be able to `var html_beautify = require("beautify").html_beautify`.
-        var js_beautify = require('./beautify.js');
-        var css_beautify = require('./beautify-css.js');
-
-        exports.html_beautify = function(html_source, options) {
-            return style_html(html_source, options, js_beautify.js_beautify, css_beautify.css_beautify);
-        };
-    } else if (typeof window !== "undefined") {
-        // If we're running a web page and don't have either of the above, add our one global
-        window.html_beautify = function(html_source, options) {
-            return style_html(html_source, options, window.js_beautify, window.css_beautify);
-        };
-    } else if (typeof global !== "undefined") {
-        // If we don't even have window, try global.
-        global.html_beautify = function(html_source, options) {
-            return style_html(html_source, options, global.js_beautify, global.css_beautify);
-        };
+    var indentation = printer.get_full_indent(script_indent_level);
+
+    // if there is at least one empty line at the end of this text, strip it
+    // we'll be adding one back after the text but before the containing tag.
+    text = text.replace(/\n[ \t]*$/, '');
+
+    if (_beautifier) {
+
+      // call the Beautifier if avaliable
+      var Child_options = function() {
+        this.eol = '\n';
+      };
+      Child_options.prototype = this._options.raw_options;
+      var child_options = new Child_options();
+      text = _beautifier(indentation + text, child_options);
+    } else {
+      // simply indent the string otherwise
+      var white = text.match(/^\s*/)[0];
+      var _level = white.match(/[^\n\r]*$/)[0].split(this._options.indent_string).length - 1;
+      var reindent = this._get_full_indent(script_indent_level - _level);
+      text = (indentation + text.trim())
+        .replace(/\r\n|\r|\n/g, '\n' + reindent);
+    }
+    if (text) {
+      printer.print_raw_text(text);
+      printer.print_newline(true);
+    }
+  }
+};
+
+Beautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token) {
+  var parser_token = this._get_tag_open_token(raw_token);
+
+  if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) &&
+    raw_token.type === TOKEN.TAG_OPEN && raw_token.text.indexOf(']*)/);
+      this.tag_check = tag_check_match ? tag_check_match[1] : '';
+    } else {
+      tag_check_match = raw_token.text.match(/^{{\#?([^\s}]+)/);
+      this.tag_check = tag_check_match ? tag_check_match[1] : '';
+    }
+    this.tag_check = this.tag_check.toLowerCase();
+
+    if (raw_token.type === TOKEN.COMMENT) {
+      this.tag_complete = true;
+    }
+
+    this.is_start_tag = this.tag_check.charAt(0) !== '/';
+    this.tag_name = !this.is_start_tag ? this.tag_check.substr(1) : this.tag_check;
+    this.is_end_tag = !this.is_start_tag ||
+      (raw_token.closed && raw_token.closed.text === '/>');
+
+    // handlebars tags that don't start with # or ^ are single_tags, and so also start and end.
+    this.is_end_tag = this.is_end_tag ||
+      (this.tag_start_char === '{' && (this.text.length < 3 || (/[^#\^]/.test(this.text.charAt(2)))));
+  }
+};
+
+Beautifier.prototype._get_tag_open_token = function(raw_token) { //function to get a full tag and parse its type
+  var parser_token = new TagOpenParserToken(this._tag_stack.get_parser_token(), raw_token);
+
+  parser_token.alignment_size = this._options.wrap_attributes_indent_size;
+
+  parser_token.is_end_tag = parser_token.is_end_tag ||
+    in_array(parser_token.tag_check, this._options.void_elements);
+
+  parser_token.is_empty_element = parser_token.tag_complete ||
+    (parser_token.is_start_tag && parser_token.is_end_tag);
+
+  parser_token.is_unformatted = !parser_token.tag_complete && in_array(parser_token.tag_check, this._options.unformatted);
+  parser_token.is_content_unformatted = !parser_token.is_empty_element && in_array(parser_token.tag_check, this._options.content_unformatted);
+  parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || parser_token.tag_start_char === '{';
+
+  return parser_token;
+};
+
+Beautifier.prototype._set_tag_position = function(printer, raw_token, parser_token, last_tag_token, last_token) {
+
+  if (!parser_token.is_empty_element) {
+    if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending
+      parser_token.start_tag_token = this._tag_stack.try_pop(parser_token.tag_name); //remove it and all ancestors
+    } else { // it's a start-tag
+      // check if this tag is starting an element that has optional end element
+      // and do an ending needed
+      this._do_optional_end_element(parser_token);
+
+      this._tag_stack.record_tag(parser_token); //push it on the tag stack
+
+      if ((parser_token.tag_name === 'script' || parser_token.tag_name === 'style') &&
+        !(parser_token.is_unformatted || parser_token.is_content_unformatted)) {
+        parser_token.custom_beautifier = uses_beautifier(parser_token.tag_check, raw_token);
+      }
+    }
+  }
+
+  if (in_array(parser_token.tag_check, this._options.extra_liners)) { //check if this double needs an extra line
+    printer.print_newline(false);
+    if (!printer._output.just_added_blankline()) {
+      printer.print_newline(true);
+    }
+  }
+
+  if (parser_token.is_empty_element) { //if this tag name is a single tag type (either in the list or has a closing /)
+
+    // if you hit an else case, reset the indent level if you are inside an:
+    // 'if', 'unless', or 'each' block.
+    if (parser_token.tag_start_char === '{' && parser_token.tag_check === 'else') {
+      this._tag_stack.indent_to_tag(['if', 'unless', 'each']);
+      parser_token.indent_content = true;
+      // Don't add a newline if opening {{#if}} tag is on the current line
+      var foundIfOnCurrentLine = printer.current_line_has_match(/{{#if/);
+      if (!foundIfOnCurrentLine) {
+        printer.print_newline(false);
+      }
     }
 
-}());
\ No newline at end of file
+    // Don't add a newline before elements that should remain where they are.
+    if (parser_token.tag_name === '!--' && last_token.type === TOKEN.TAG_CLOSE &&
+      last_tag_token.is_end_tag && parser_token.text.indexOf('\n') === -1) {
+      //Do nothing. Leave comments on same line.
+    } else if (!parser_token.is_inline_element && !parser_token.is_unformatted) {
+      printer.print_newline(false);
+    }
+  } else if (parser_token.is_unformatted || parser_token.is_content_unformatted) {
+    if (!parser_token.is_inline_element && !parser_token.is_unformatted) {
+      printer.print_newline(false);
+    }
+  } else if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending
+    if ((parser_token.start_tag_token && parser_token.start_tag_token.multiline_content) ||
+      !(parser_token.is_inline_element ||
+        (last_tag_token.is_inline_element) ||
+        (last_token.type === TOKEN.TAG_CLOSE &&
+          parser_token.start_tag_token === last_tag_token) ||
+        (last_token.type === 'TK_CONTENT')
+      )) {
+      printer.print_newline(false);
+    }
+  } else { // it's a start-tag
+    parser_token.indent_content = !parser_token.custom_beautifier;
+
+    if (parser_token.tag_start_char === '<') {
+      if (parser_token.tag_name === 'html') {
+        parser_token.indent_content = this._options.indent_inner_html;
+      } else if (parser_token.tag_name === 'head') {
+        parser_token.indent_content = this._options.indent_head_inner_html;
+      } else if (parser_token.tag_name === 'body') {
+        parser_token.indent_content = this._options.indent_body_inner_html;
+      }
+    }
+
+    if (!parser_token.is_inline_element && last_token.type !== 'TK_CONTENT') {
+      if (parser_token.parent) {
+        parser_token.parent.multiline_content = true;
+      }
+      printer.print_newline(false);
+    }
+  }
+};
+
+//To be used for 

tag special case: +//var p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul']; + +Beautifier.prototype._do_optional_end_element = function(parser_token) { + // NOTE: cases of "if there is no more content in the parent element" + // are handled automatically by the beautifier. + // It assumes parent or ancestor close tag closes all children. + // https://www.w3.org/TR/html5/syntax.html#optional-tags + if (parser_token.is_empty_element || !parser_token.is_start_tag || !parser_token.parent) { + return; + + } else if (parser_token.tag_name === 'body') { + // A head element’s end tag may be omitted if the head element is not immediately followed by a space character or a comment. + this._tag_stack.try_pop('head'); + + //} else if (parser_token.tag_name === 'body') { + // DONE: A body element’s end tag may be omitted if the body element is not immediately followed by a comment. + + } else if (parser_token.tag_name === 'li') { + // An li element’s end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element. + this._tag_stack.try_pop('li', ['ol', 'ul']); + + } else if (parser_token.tag_name === 'dd' || parser_token.tag_name === 'dt') { + // A dd element’s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element. + // A dt element’s end tag may be omitted if the dt element is immediately followed by another dt element or a dd element. + this._tag_stack.try_pop('dt', ['dl']); + this._tag_stack.try_pop('dd', ['dl']); + + //} else if (p_closers.indexOf(parser_token.tag_name) !== -1) { + //TODO: THIS IS A BUG FARM. We are not putting this into 1.8.0 as it is likely to blow up. + //A p element’s end tag may be omitted if the p element is immediately followed by an address, article, aside, blockquote, details, div, dl, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr, main, nav, ol, p, pre, section, table, or ul element, or if there is no more content in the parent element and the parent element is an HTML element that is not an a, audio, del, ins, map, noscript, or video element, or an autonomous custom element. + //this._tag_stack.try_pop('p', ['body']); + + } else if (parser_token.tag_name === 'rp' || parser_token.tag_name === 'rt') { + // An rt element’s end tag may be omitted if the rt element is immediately followed by an rt or rp element, or if there is no more content in the parent element. + // An rp element’s end tag may be omitted if the rp element is immediately followed by an rt or rp element, or if there is no more content in the parent element. + this._tag_stack.try_pop('rt', ['ruby', 'rtc']); + this._tag_stack.try_pop('rp', ['ruby', 'rtc']); + + } else if (parser_token.tag_name === 'optgroup') { + // An optgroup element’s end tag may be omitted if the optgroup element is immediately followed by another optgroup element, or if there is no more content in the parent element. + // An option element’s end tag may be omitted if the option element is immediately followed by another option element, or if it is immediately followed by an optgroup element, or if there is no more content in the parent element. + this._tag_stack.try_pop('optgroup', ['select']); + //this._tag_stack.try_pop('option', ['select']); + + } else if (parser_token.tag_name === 'option') { + // An option element’s end tag may be omitted if the option element is immediately followed by another option element, or if it is immediately followed by an optgroup element, or if there is no more content in the parent element. + this._tag_stack.try_pop('option', ['select', 'datalist', 'optgroup']); + + } else if (parser_token.tag_name === 'colgroup') { + // DONE: A colgroup element’s end tag may be omitted if the colgroup element is not immediately followed by a space character or a comment. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + + } else if (parser_token.tag_name === 'thead') { + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + + //} else if (parser_token.tag_name === 'caption') { + // DONE: A caption element’s end tag may be omitted if the caption element is not immediately followed by a space character or a comment. + + } else if (parser_token.tag_name === 'tbody' || parser_token.tag_name === 'tfoot') { + // A thead element’s end tag may be omitted if the thead element is immediately followed by a tbody or tfoot element. + // A tbody element’s end tag may be omitted if the tbody element is immediately followed by a tbody or tfoot element, or if there is no more content in the parent element. + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + this._tag_stack.try_pop('thead', ['table']); + this._tag_stack.try_pop('tbody', ['table']); + + //} else if (parser_token.tag_name === 'tfoot') { + // DONE: A tfoot element’s end tag may be omitted if there is no more content in the parent element. + + } else if (parser_token.tag_name === 'tr') { + // A tr element’s end tag may be omitted if the tr element is immediately followed by another tr element, or if there is no more content in the parent element. + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + this._tag_stack.try_pop('tr', ['table', 'thead', 'tbody', 'tfoot']); + + } else if (parser_token.tag_name === 'th' || parser_token.tag_name === 'td') { + // A td element’s end tag may be omitted if the td element is immediately followed by a td or th element, or if there is no more content in the parent element. + // A th element’s end tag may be omitted if the th element is immediately followed by a td or th element, or if there is no more content in the parent element. + this._tag_stack.try_pop('td', ['tr']); + this._tag_stack.try_pop('th', ['tr']); + } + + // Start element omission not handled currently + // A head element’s start tag may be omitted if the element is empty, or if the first thing inside the head element is an element. + // A tbody element’s start tag may be omitted if the first thing inside the tbody element is a tr element, and if the element is not immediately preceded by a tbody, thead, or tfoot element whose end tag has been omitted. (It can’t be omitted if the element is empty.) + // A colgroup element’s start tag may be omitted if the first thing inside the colgroup element is a col element, and if the element is not immediately preceded by another colgroup element whose end tag has been omitted. (It can’t be omitted if the element is empty.) + + // Fix up the parent of the parser token + parser_token.parent = this._tag_stack.get_parser_token(); + +}; + +module.exports.Beautifier = Beautifier; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseOptions = __webpack_require__(6).Options; + +function Options(options) { + BaseOptions.call(this, options, 'html'); + + this.indent_inner_html = this._get_boolean('indent_inner_html'); + this.indent_body_inner_html = this._get_boolean('indent_body_inner_html', true); + this.indent_head_inner_html = this._get_boolean('indent_head_inner_html', true); + + this.indent_handlebars = this._get_boolean('indent_handlebars', true); + this.wrap_attributes = this._get_selection('wrap_attributes', + ['auto', 'force', 'force-aligned', 'force-expand-multiline', 'aligned-multiple', 'preserve', 'preserve-aligned']); + this.wrap_attributes_indent_size = this._get_number('wrap_attributes_indent_size', this.indent_size); + this.extra_liners = this._get_array('extra_liners', ['head', 'body', '/html']); + + this.inline = this._get_array('inline', [ + // https://www.w3.org/TR/html5/dom.html#phrasing-content + 'a', 'abbr', 'area', 'audio', 'b', 'bdi', 'bdo', 'br', 'button', 'canvas', 'cite', + 'code', 'data', 'datalist', 'del', 'dfn', 'em', 'embed', 'i', 'iframe', 'img', + 'input', 'ins', 'kbd', 'keygen', 'label', 'map', 'mark', 'math', 'meter', 'noscript', + 'object', 'output', 'progress', 'q', 'ruby', 's', 'samp', /* 'script', */ 'select', 'small', + 'span', 'strong', 'sub', 'sup', 'svg', 'template', 'textarea', 'time', 'u', 'var', + 'video', 'wbr', 'text', + // prexisting - not sure of full effect of removing, leaving in + 'acronym', 'address', 'big', 'dt', 'ins', 'strike', 'tt' + ]); + this.void_elements = this._get_array('void_elements', [ + // HTLM void elements - aka self-closing tags - aka singletons + // https://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', + 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr', + // NOTE: Optional tags are too complex for a simple list + // they are hard coded in _do_optional_end_element + + // Doctype and xml elements + '!doctype', '?xml', + // ?php and ?= tags + '?php', '?=', + // other tags that were in this list, keeping just in case + 'basefont', 'isindex' + ]); + this.unformatted = this._get_array('unformatted', []); + this.content_unformatted = this._get_array('content_unformatted', [ + 'pre', 'textarea' + ]); + this.indent_scripts = this._get_selection('indent_scripts', ['normal', 'keep', 'separate']); +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseTokenizer = __webpack_require__(9).Tokenizer; +var BASETOKEN = __webpack_require__(9).TOKEN; +var Directives = __webpack_require__(11).Directives; + +var TOKEN = { + TAG_OPEN: 'TK_TAG_OPEN', + TAG_CLOSE: 'TK_TAG_CLOSE', + ATTRIBUTE: 'TK_ATTRIBUTE', + EQUALS: 'TK_EQUALS', + VALUE: 'TK_VALUE', + COMMENT: 'TK_COMMENT', + TEXT: 'TK_TEXT', + UNKNOWN: 'TK_UNKNOWN', + START: BASETOKEN.START, + RAW: BASETOKEN.RAW, + EOF: BASETOKEN.EOF +}; + +var directives_core = new Directives(/<\!--/, /-->/); + +var Tokenizer = function(input_string, options) { + BaseTokenizer.call(this, input_string, options); + this._current_tag_name = ''; + + // Words end at whitespace or when a tag starts + // if we are indenting handlebars, they are considered tags + this._word_pattern = this._options.indent_handlebars ? /[\n\r\t <]|{{/g : /[\n\r\t <]/g; +}; +Tokenizer.prototype = new BaseTokenizer(); + +Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false + return false; //current_token.type === TOKEN.COMMENT || current_token.type === TOKEN.UNKNOWN; +}; + +Tokenizer.prototype._is_opening = function(current_token) { + return current_token.type === TOKEN.TAG_OPEN; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { + return current_token.type === TOKEN.TAG_CLOSE && + (open_token && ( + ((current_token.text === '>' || current_token.text === '/>') && open_token.text[0] === '<') || + (current_token.text === '}}' && open_token.text[0] === '{' && open_token.text[1] === '{'))); +}; + +Tokenizer.prototype._reset = function() { + this._current_tag_name = ''; +}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var token = null; + var c = this._input.peek(); + + if (c === null) { + return this._create_token(TOKEN.EOF, ''); + } + + token = token || this._read_attribute(c, previous_token, open_token); + token = token || this._read_raw_content(previous_token, open_token); + token = token || this._read_comment(c); + token = token || this._read_open(c, open_token); + token = token || this._read_close(c, open_token); + token = token || this._read_content_word(); + token = token || this._create_token(TOKEN.UNKNOWN, this._input.next()); + + return token; +}; + +Tokenizer.prototype._read_comment = function(c) { // jshint unused:false + var token = null; + if (c === '<' || c === '{') { + var peek1 = this._input.peek(1); + var peek2 = this._input.peek(2); + if ((c === '<' && (peek1 === '!' || peek1 === '?' || peek1 === '%')) || + this._options.indent_handlebars && c === '{' && peek1 === '{' && peek2 === '!') { + //if we're in a comment, do something special + // We treat all comments as literals, even more than preformatted tags + // we just look for the appropriate close tag + + // this is will have very poor perf, but will work for now. + var comment = '', + delimiter = '>', + matched = false; + + var input_char = this._input.next(); + + while (input_char) { + comment += input_char; + + // only need to check for the delimiter if the last chars match + if (comment.charAt(comment.length - 1) === delimiter.charAt(delimiter.length - 1) && + comment.indexOf(delimiter) !== -1) { + break; + } + + // only need to search for custom delimiter for the first few characters + if (!matched) { + matched = comment.length > 10; + if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf('{{!--') === 0) { // {{!-- handlebars comment + delimiter = '--}}'; + matched = true; + } else if (comment.indexOf('{{!') === 0) { // {{! handlebars comment + if (comment.length === 5 && comment.indexOf('{{!--') === -1) { + delimiter = '}}'; + matched = true; + } + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf('<%') === 0) { // {{! handlebars comment + delimiter = '%>'; + matched = true; + } + } + + input_char = this._input.next(); + } + + var directives = directives_core.get_directives(comment); + if (directives && directives.ignore === 'start') { + comment += directives_core.readIgnored(this._input); + } + token = this._create_token(TOKEN.COMMENT, comment); + token.directives = directives; + } + } + + return token; +}; + +Tokenizer.prototype._read_open = function(c, open_token) { + var resulting_string = null; + var token = null; + if (!open_token) { + if (c === '<') { + resulting_string = this._input.read(/<(?:[^\n\r\t >{][^\n\r\t >{/]*)?/g); + token = this._create_token(TOKEN.TAG_OPEN, resulting_string); + } else if (this._options.indent_handlebars && c === '{' && this._input.peek(1) === '{') { + resulting_string = this._input.readUntil(/[\n\r\t }]/g); + token = this._create_token(TOKEN.TAG_OPEN, resulting_string); + } + } + return token; +}; + +Tokenizer.prototype._read_close = function(c, open_token) { + var resulting_string = null; + var token = null; + if (open_token) { + if (open_token.text[0] === '<' && (c === '>' || (c === '/' && this._input.peek(1) === '>'))) { + resulting_string = this._input.next(); + if (c === '/') { // for close tag "/>" + resulting_string += this._input.next(); + } + token = this._create_token(TOKEN.TAG_CLOSE, resulting_string); + } else if (open_token.text[0] === '{' && c === '}' && this._input.peek(1) === '}') { + this._input.next(); + this._input.next(); + token = this._create_token(TOKEN.TAG_CLOSE, '}}'); + } + } + + return token; +}; + +Tokenizer.prototype._read_attribute = function(c, previous_token, open_token) { + var token = null; + var resulting_string = ''; + if (open_token && open_token.text[0] === '<') { + + if (c === '=') { + token = this._create_token(TOKEN.EQUALS, this._input.next()); + } else if (c === '"' || c === "'") { + var content = this._input.next(); + var input_string = ''; + var string_pattern = new RegExp(c + '|{{', 'g'); + while (this._input.hasNext()) { + input_string = this._input.readUntilAfter(string_pattern); + content += input_string; + if (input_string[input_string.length - 1] === '"' || input_string[input_string.length - 1] === "'") { + break; + } else if (this._input.hasNext()) { + content += this._input.readUntilAfter(/}}/g); + } + } + + token = this._create_token(TOKEN.VALUE, content); + } else { + if (c === '{' && this._input.peek(1) === '{') { + resulting_string = this._input.readUntilAfter(/}}/g); + } else { + resulting_string = this._input.readUntil(/[\n\r\t =\/>]/g); + } + + if (resulting_string) { + if (previous_token.type === TOKEN.EQUALS) { + token = this._create_token(TOKEN.VALUE, resulting_string); + } else { + token = this._create_token(TOKEN.ATTRIBUTE, resulting_string); + } + } + } + } + return token; +}; + +Tokenizer.prototype._is_content_unformatted = function(tag_name) { + // void_elements have no content and so cannot have unformatted content + // script and style tags should always be read as unformatted content + // finally content_unformatted and unformatted element contents are unformatted + return this._options.void_elements.indexOf(tag_name) === -1 && + (tag_name === 'script' || tag_name === 'style' || + this._options.content_unformatted.indexOf(tag_name) !== -1 || + this._options.unformatted.indexOf(tag_name) !== -1); +}; + + +Tokenizer.prototype._read_raw_content = function(previous_token, open_token) { // jshint unused:false + var resulting_string = ''; + if (open_token && open_token.text[0] === '{') { + resulting_string = this._input.readUntil(/}}/g); + } else if (previous_token.type === TOKEN.TAG_CLOSE && (previous_token.opened.text[0] === '<')) { + var tag_name = previous_token.opened.text.substr(1).toLowerCase(); + if (this._is_content_unformatted(tag_name)) { + resulting_string = this._input.readUntil(new RegExp('', 'ig')); + } + } + + if (resulting_string) { + return this._create_token(TOKEN.TEXT, resulting_string); + } + + return null; +}; + +Tokenizer.prototype._read_content_word = function() { + // if we get here and we see handlebars treat them as plain text + var resulting_string = this._input.readUntil(this._word_pattern); + if (resulting_string) { + return this._create_token(TOKEN.TEXT, resulting_string); + } +}; + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; + + +/***/ }) +/******/ ]); +var style_html = legacy_beautify_html; +/* Footer */ +if (typeof define === "function" && define.amd) { + // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) + define(["require", "./beautify", "./beautify-css"], function(requireamd) { + var js_beautify = requireamd("./beautify"); + var css_beautify = requireamd("./beautify-css"); + + return { + html_beautify: function(html_source, options) { + return style_html(html_source, options, js_beautify.js_beautify, css_beautify.css_beautify); + } + }; + }); +} else if (typeof exports !== "undefined") { + // Add support for CommonJS. Just put this file somewhere on your require.paths + // and you will be able to `var html_beautify = require("beautify").html_beautify`. + var js_beautify = require('./beautify.js'); + var css_beautify = require('./beautify-css.js'); + + exports.html_beautify = function(html_source, options) { + return style_html(html_source, options, js_beautify.js_beautify, css_beautify.css_beautify); + }; +} else if (typeof window !== "undefined") { + // If we're running a web page and don't have either of the above, add our one global + window.html_beautify = function(html_source, options) { + return style_html(html_source, options, window.js_beautify, window.css_beautify); + }; +} else if (typeof global !== "undefined") { + // If we don't even have window, try global. + global.html_beautify = function(html_source, options) { + return style_html(html_source, options, global.js_beautify, global.css_beautify); + }; +} + +}()); diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/beautify.js b/build/js-transpiled/node_modules/js-beautify/js/lib/beautify.js index 7710fa38..ce38a471 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/beautify.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/beautify.js @@ -1,9 +1,9 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/* AUTO-GENERATED. DO NOT MODIFY. */ /* The MIT License (MIT) - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -29,12 +29,12 @@ --------------- - Written by Einar Lielmanis, - http://jsbeautifier.org/ + Written by Einar Lielmanis, + https://beautifier.io/ Originally converted to javascript by Vital, "End braces on own line" added by Chris J. Shull, - Parsing improvements for brace-less statements by Liam Newman + Parsing improvements for brace-less statements by Liam Newman Usage: @@ -85,2397 +85,3318 @@ */ -// Object.values polyfill found here: -// http://tokenposts.blogspot.com.au/2012/04/javascript-objectkeys-browser.html -if (!Object.values) { - Object.values = function(o) { - if (o !== Object(o)) { - throw new TypeError('Object.values called on a non-object'); - } - var k = [], - p; - for (p in o) { - if (Object.prototype.hasOwnProperty.call(o, p)) { - k.push(o[p]); - } - } - return k; - }; +(function() { + +/* GENERATED_BUILD_OUTPUT */ +var legacy_beautify_js = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Beautifier = __webpack_require__(1).Beautifier; + +function js_beautify(js_source_text, options) { + var beautifier = new Beautifier(js_source_text, options); + return beautifier.beautify(); } -(function() { +module.exports = js_beautify; - function mergeOpts(allOptions, targetType) { - var finalOpts = {}; - var name; - for (name in allOptions) { - if (name !== targetType) { - finalOpts[name] = allOptions[name]; - } - } +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { - //merge in the per type settings for the targetType - if (targetType in allOptions) { - for (name in allOptions[targetType]) { - finalOpts[name] = allOptions[targetType][name]; - } - } - return finalOpts; - } - - function js_beautify(js_source_text, options) { - - var acorn = {}; - (function(exports) { - /* jshint curly: false */ - // This section of code is taken from acorn. - // - // Acorn was written by Marijn Haverbeke and released under an MIT - // license. The Unicode regexps (for identifiers and whitespace) were - // taken from [Esprima](http://esprima.org) by Ariya Hidayat. - // - // Git repositories for Acorn are available at - // - // http://marijnhaverbeke.nl/git/acorn - // https://github.com/marijnh/acorn.git - - // ## Character categories - - // Big ugly regular expressions that match characters in the - // whitespace, identifier, and identifier-start categories. These - // are only applied when a character is found to actually have a - // code point above 128. - - var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; // jshint ignore:line - var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; - var nonASCIIidentifierChars = "\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; - var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); - var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); - - // Whether a single character denotes a newline. - - exports.newline = /[\n\r\u2028\u2029]/; - - // Matches a whole line break (where CRLF is considered a single - // line break). Used to count lines. - - // in javascript, these two differ - // in python they are the same, different methods are called on them - exports.lineBreak = new RegExp('\r\n|' + exports.newline.source); - exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g'); - - - // Test whether a given character code starts an identifier. - - exports.isIdentifierStart = function(code) { - // permit $ (36) and @ (64). @ is used in ES7 decorators. - if (code < 65) return code === 36 || code === 64; - // 65 through 91 are uppercase letters. - if (code < 91) return true; - // permit _ (95). - if (code < 97) return code === 95; - // 97 through 123 are lowercase letters. - if (code < 123) return true; - return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); - }; - - // Test whether a given character is part of an identifier. - - exports.isIdentifierChar = function(code) { - if (code < 48) return code === 36; - if (code < 58) return true; - if (code < 65) return false; - if (code < 91) return true; - if (code < 97) return code === 95; - if (code < 123) return true; - return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); - }; - })(acorn); - /* jshint curly: true */ - - function in_array(what, arr) { - for (var i = 0; i < arr.length; i += 1) { - if (arr[i] === what) { - return true; - } - } - return false; +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var Output = __webpack_require__(2).Output; +var Token = __webpack_require__(3).Token; +var acorn = __webpack_require__(4); +var Options = __webpack_require__(5).Options; +var Tokenizer = __webpack_require__(7).Tokenizer; +var line_starters = __webpack_require__(7).line_starters; +var positionable_operators = __webpack_require__(7).positionable_operators; +var TOKEN = __webpack_require__(7).TOKEN; + +function remove_redundant_indentation(output, frame) { + // This implementation is effective but has some issues: + // - can cause line wrap to happen too soon due to indent removal + // after wrap points are calculated + // These issues are minor compared to ugly indentation. + + if (frame.multiline_frame || + frame.mode === MODE.ForInitializer || + frame.mode === MODE.Conditional) { + return; + } + + // remove one indent from each line inside this section + output.remove_indent(frame.start_line_index); +} + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + +function ltrim(s) { + return s.replace(/^\s+/g, ''); +} + +function generateMapFromStrings(list) { + var result = {}; + for (var x = 0; x < list.length; x++) { + // make the mapped names underscored instead of dash + result[list[x].replace(/-/g, '_')] = list[x]; + } + return result; +} + +function reserved_word(token, word) { + return token && token.type === TOKEN.RESERVED && token.text === word; +} + +function reserved_array(token, words) { + return token && token.type === TOKEN.RESERVED && in_array(token.text, words); +} +// Unsure of what they mean, but they work. Worth cleaning up in future. +var special_words = ['case', 'return', 'do', 'if', 'throw', 'else', 'await', 'break', 'continue', 'async']; + +var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline']; + +// Generate map from array +var OPERATOR_POSITION = generateMapFromStrings(validPositionValues); + +var OPERATOR_POSITION_BEFORE_OR_PRESERVE = [OPERATOR_POSITION.before_newline, OPERATOR_POSITION.preserve_newline]; + +var MODE = { + BlockStatement: 'BlockStatement', // 'BLOCK' + Statement: 'Statement', // 'STATEMENT' + ObjectLiteral: 'ObjectLiteral', // 'OBJECT', + ArrayLiteral: 'ArrayLiteral', //'[EXPRESSION]', + ForInitializer: 'ForInitializer', //'(FOR-EXPRESSION)', + Conditional: 'Conditional', //'(COND-EXPRESSION)', + Expression: 'Expression' //'(EXPRESSION)' +}; + +// we could use just string.split, but +// IE doesn't like returning empty strings +function split_linebreaks(s) { + //return s.split(/\x0d\x0a|\x0a/); + + s = s.replace(acorn.allLineBreaks, '\n'); + var out = [], + idx = s.indexOf("\n"); + while (idx !== -1) { + out.push(s.substring(0, idx)); + s = s.substring(idx + 1); + idx = s.indexOf("\n"); + } + if (s.length) { + out.push(s); + } + return out; +} + +function is_array(mode) { + return mode === MODE.ArrayLiteral; +} + +function is_expression(mode) { + return in_array(mode, [MODE.Expression, MODE.ForInitializer, MODE.Conditional]); +} + +function all_lines_start_with(lines, c) { + for (var i = 0; i < lines.length; i++) { + var line = lines[i].trim(); + if (line.charAt(0) !== c) { + return false; + } + } + return true; +} + +function each_line_matches_indent(lines, indent) { + var i = 0, + len = lines.length, + line; + for (; i < len; i++) { + line = lines[i]; + // allow empty lines to pass through + if (line && line.indexOf(indent) !== 0) { + return false; + } + } + return true; +} + + +function Beautifier(source_text, options) { + options = options || {}; + this._source_text = source_text || ''; + + this._output = null; + this._tokens = null; + this._last_last_text = null; + this._flags = null; + this._previous_flags = null; + + this._flag_store = null; + this._options = new Options(options); +} + +Beautifier.prototype.create_flags = function(flags_base, mode) { + var next_indent_level = 0; + if (flags_base) { + next_indent_level = flags_base.indentation_level; + if (!this._output.just_added_newline() && + flags_base.line_indent_level > next_indent_level) { + next_indent_level = flags_base.line_indent_level; + } + } + + var next_flags = { + mode: mode, + parent: flags_base, + last_token: flags_base ? flags_base.last_token : new Token(TOKEN.START_BLOCK, ''), // last token text + last_word: flags_base ? flags_base.last_word : '', // last TOKEN.WORD passed + declaration_statement: false, + declaration_assignment: false, + multiline_frame: false, + inline_frame: false, + if_block: false, + else_block: false, + do_block: false, + do_while: false, + import_block: false, + in_case_statement: false, // switch(..){ INSIDE HERE } + in_case: false, // we're on the exact line with "case 0:" + case_body: false, // the indented case-action block + indentation_level: next_indent_level, + line_indent_level: flags_base ? flags_base.line_indent_level : next_indent_level, + start_line_index: this._output.get_line_number(), + ternary_depth: 0 + }; + return next_flags; +}; + +Beautifier.prototype._reset = function(source_text) { + var baseIndentString = source_text.match(/^[\t ]*/)[0]; + + this._last_last_text = ''; // pre-last token text + this._output = new Output(this._options, baseIndentString); + + // If testing the ignore directive, start with output disable set to true + this._output.raw = this._options.test_output_raw; + + + // Stack of parsing/formatting states, including MODE. + // We tokenize, parse, and output in an almost purely a forward-only stream of token input + // and formatted output. This makes the beautifier less accurate than full parsers + // but also far more tolerant of syntax errors. + // + // For example, the default mode is MODE.BlockStatement. If we see a '{' we push a new frame of type + // MODE.BlockStatement on the the stack, even though it could be object literal. If we later + // encounter a ":", we'll switch to to MODE.ObjectLiteral. If we then see a ";", + // most full parsers would die, but the beautifier gracefully falls back to + // MODE.BlockStatement and continues on. + this._flag_store = []; + this.set_mode(MODE.BlockStatement); + var tokenizer = new Tokenizer(source_text, this._options); + this._tokens = tokenizer.tokenize(); + return source_text; +}; + +Beautifier.prototype.beautify = function() { + // if disabled, return the input unchanged. + if (this._options.disabled) { + return this._source_text; + } + + var sweet_code; + var source_text = this._reset(this._source_text); + + var eol = this._options.eol; + if (this._options.eol === 'auto') { + eol = '\n'; + if (source_text && acorn.lineBreak.test(source_text || '')) { + eol = source_text.match(acorn.lineBreak)[0]; + } + } + + var current_token = this._tokens.next(); + while (current_token) { + this.handle_token(current_token); + + this._last_last_text = this._flags.last_token.text; + this._flags.last_token = current_token; + + current_token = this._tokens.next(); + } + + sweet_code = this._output.get_code(eol); + + return sweet_code; +}; + +Beautifier.prototype.handle_token = function(current_token, preserve_statement_flags) { + if (current_token.type === TOKEN.START_EXPR) { + this.handle_start_expr(current_token); + } else if (current_token.type === TOKEN.END_EXPR) { + this.handle_end_expr(current_token); + } else if (current_token.type === TOKEN.START_BLOCK) { + this.handle_start_block(current_token); + } else if (current_token.type === TOKEN.END_BLOCK) { + this.handle_end_block(current_token); + } else if (current_token.type === TOKEN.WORD) { + this.handle_word(current_token); + } else if (current_token.type === TOKEN.RESERVED) { + this.handle_word(current_token); + } else if (current_token.type === TOKEN.SEMICOLON) { + this.handle_semicolon(current_token); + } else if (current_token.type === TOKEN.STRING) { + this.handle_string(current_token); + } else if (current_token.type === TOKEN.EQUALS) { + this.handle_equals(current_token); + } else if (current_token.type === TOKEN.OPERATOR) { + this.handle_operator(current_token); + } else if (current_token.type === TOKEN.COMMA) { + this.handle_comma(current_token); + } else if (current_token.type === TOKEN.BLOCK_COMMENT) { + this.handle_block_comment(current_token, preserve_statement_flags); + } else if (current_token.type === TOKEN.COMMENT) { + this.handle_comment(current_token, preserve_statement_flags); + } else if (current_token.type === TOKEN.DOT) { + this.handle_dot(current_token); + } else if (current_token.type === TOKEN.EOF) { + this.handle_eof(current_token); + } else if (current_token.type === TOKEN.UNKNOWN) { + this.handle_unknown(current_token, preserve_statement_flags); + } else { + this.handle_unknown(current_token, preserve_statement_flags); + } +}; + +Beautifier.prototype.handle_whitespace_and_comments = function(current_token, preserve_statement_flags) { + var newlines = current_token.newlines; + var keep_whitespace = this._options.keep_array_indentation && is_array(this._flags.mode); + + if (current_token.comments_before) { + var comment_token = current_token.comments_before.next(); + while (comment_token) { + // The cleanest handling of inline comments is to treat them as though they aren't there. + // Just continue formatting and the behavior should be logical. + // Also ignore unknown tokens. Again, this should result in better behavior. + this.handle_whitespace_and_comments(comment_token, preserve_statement_flags); + this.handle_token(comment_token, preserve_statement_flags); + comment_token = current_token.comments_before.next(); + } + } + + if (keep_whitespace) { + for (var i = 0; i < newlines; i += 1) { + this.print_newline(i > 0, preserve_statement_flags); + } + } else { + if (this._options.max_preserve_newlines && newlines > this._options.max_preserve_newlines) { + newlines = this._options.max_preserve_newlines; + } + + if (this._options.preserve_newlines) { + if (newlines > 1) { + this.print_newline(false, preserve_statement_flags); + for (var j = 1; j < newlines; j += 1) { + this.print_newline(true, preserve_statement_flags); } + } + } + } + +}; + +var newline_restricted_tokens = ['async', 'break', 'continue', 'return', 'throw', 'yield']; + +Beautifier.prototype.allow_wrap_or_preserved_newline = function(current_token, force_linewrap) { + force_linewrap = (force_linewrap === undefined) ? false : force_linewrap; + + // Never wrap the first token on a line + if (this._output.just_added_newline()) { + return; + } + + var shouldPreserveOrForce = (this._options.preserve_newlines && current_token.newlines) || force_linewrap; + var operatorLogicApplies = in_array(this._flags.last_token.text, positionable_operators) || + in_array(current_token.text, positionable_operators); + + if (operatorLogicApplies) { + var shouldPrintOperatorNewline = ( + in_array(this._flags.last_token.text, positionable_operators) && + in_array(this._options.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE) + ) || + in_array(current_token.text, positionable_operators); + shouldPreserveOrForce = shouldPreserveOrForce && shouldPrintOperatorNewline; + } + + if (shouldPreserveOrForce) { + this.print_newline(false, true); + } else if (this._options.wrap_line_length) { + if (reserved_array(this._flags.last_token, newline_restricted_tokens)) { + // These tokens should never have a newline inserted + // between them and the following expression. + return; + } + var proposed_line_length = this._output.current_line.get_character_count() + current_token.text.length + + (this._output.space_before_token ? 1 : 0); + if (proposed_line_length >= this._options.wrap_line_length) { + this.print_newline(false, true); + } + } +}; + +Beautifier.prototype.print_newline = function(force_newline, preserve_statement_flags) { + if (!preserve_statement_flags) { + if (this._flags.last_token.text !== ';' && this._flags.last_token.text !== ',' && this._flags.last_token.text !== '=' && (this._flags.last_token.type !== TOKEN.OPERATOR || this._flags.last_token.text === '--' || this._flags.last_token.text === '++')) { + var next_token = this._tokens.peek(); + while (this._flags.mode === MODE.Statement && + !(this._flags.if_block && reserved_word(next_token, 'else')) && + !this._flags.do_block) { + this.restore_mode(); + } + } + } + + if (this._output.add_new_line(force_newline)) { + this._flags.multiline_frame = true; + } +}; + +Beautifier.prototype.print_token_line_indentation = function(current_token) { + if (this._output.just_added_newline()) { + if (this._options.keep_array_indentation && is_array(this._flags.mode) && current_token.newlines) { + this._output.current_line.push(current_token.whitespace_before); + this._output.space_before_token = false; + } else if (this._output.set_indent(this._flags.indentation_level)) { + this._flags.line_indent_level = this._flags.indentation_level; + } + } +}; + +Beautifier.prototype.print_token = function(current_token, printable_token) { + if (this._output.raw) { + this._output.add_raw_token(current_token); + return; + } + + if (this._options.comma_first && current_token.previous && current_token.previous.type === TOKEN.COMMA && + this._output.just_added_newline()) { + if (this._output.previous_line.last() === ',') { + var popped = this._output.previous_line.pop(); + // if the comma was already at the start of the line, + // pull back onto that line and reprint the indentation + if (this._output.previous_line.is_empty()) { + this._output.previous_line.push(popped); + this._output.trim(true); + this._output.current_line.pop(); + this._output.trim(); + } + + // add the comma in front of the next token + this.print_token_line_indentation(current_token); + this._output.add_token(','); + this._output.space_before_token = true; + } + } + + printable_token = printable_token || current_token.text; + this.print_token_line_indentation(current_token); + this._output.add_token(printable_token); +}; + +Beautifier.prototype.indent = function() { + this._flags.indentation_level += 1; +}; + +Beautifier.prototype.deindent = function() { + if (this._flags.indentation_level > 0 && + ((!this._flags.parent) || this._flags.indentation_level > this._flags.parent.indentation_level)) { + this._flags.indentation_level -= 1; + + } +}; + +Beautifier.prototype.set_mode = function(mode) { + if (this._flags) { + this._flag_store.push(this._flags); + this._previous_flags = this._flags; + } else { + this._previous_flags = this.create_flags(null, mode); + } + + this._flags = this.create_flags(this._previous_flags, mode); +}; + + +Beautifier.prototype.restore_mode = function() { + if (this._flag_store.length > 0) { + this._previous_flags = this._flags; + this._flags = this._flag_store.pop(); + if (this._previous_flags.mode === MODE.Statement) { + remove_redundant_indentation(this._output, this._previous_flags); + } + } +}; + +Beautifier.prototype.start_of_object_property = function() { + return this._flags.parent.mode === MODE.ObjectLiteral && this._flags.mode === MODE.Statement && ( + (this._flags.last_token.text === ':' && this._flags.ternary_depth === 0) || (reserved_array(this._flags.last_token, ['get', 'set']))); +}; + +Beautifier.prototype.start_of_statement = function(current_token) { + var start = false; + start = start || reserved_array(this._flags.last_token, ['var', 'let', 'const']) && current_token.type === TOKEN.WORD; + start = start || reserved_word(this._flags.last_token, 'do'); + start = start || (!(this._flags.parent.mode === MODE.ObjectLiteral && this._flags.mode === MODE.Statement)) && reserved_array(this._flags.last_token, newline_restricted_tokens) && !current_token.newlines; + start = start || reserved_word(this._flags.last_token, 'else') && + !(reserved_word(current_token, 'if') && !current_token.comments_before); + start = start || (this._flags.last_token.type === TOKEN.END_EXPR && (this._previous_flags.mode === MODE.ForInitializer || this._previous_flags.mode === MODE.Conditional)); + start = start || (this._flags.last_token.type === TOKEN.WORD && this._flags.mode === MODE.BlockStatement && + !this._flags.in_case && + !(current_token.text === '--' || current_token.text === '++') && + this._last_last_text !== 'function' && + current_token.type !== TOKEN.WORD && current_token.type !== TOKEN.RESERVED); + start = start || (this._flags.mode === MODE.ObjectLiteral && ( + (this._flags.last_token.text === ':' && this._flags.ternary_depth === 0) || reserved_array(this._flags.last_token, ['get', 'set']))); + + if (start) { + this.set_mode(MODE.Statement); + this.indent(); + + this.handle_whitespace_and_comments(current_token, true); + + // Issue #276: + // If starting a new statement with [if, for, while, do], push to a new line. + // if (a) if (b) if(c) d(); else e(); else f(); + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token, + reserved_array(current_token, ['do', 'for', 'if', 'while'])); + } + return true; + } + return false; +}; + +Beautifier.prototype.handle_start_expr = function(current_token) { + // The conditional starts the statement if appropriate. + if (!this.start_of_statement(current_token)) { + this.handle_whitespace_and_comments(current_token); + } + + var next_mode = MODE.Expression; + if (current_token.text === '[') { + + if (this._flags.last_token.type === TOKEN.WORD || this._flags.last_token.text === ')') { + // this is array index specifier, break immediately + // a[x], fn()[x] + if (reserved_array(this._flags.last_token, line_starters)) { + this._output.space_before_token = true; + } + this.set_mode(next_mode); + this.print_token(current_token); + this.indent(); + if (this._options.space_in_paren) { + this._output.space_before_token = true; + } + return; + } - function trim(s) { - return s.replace(/^\s+|\s+$/g, ''); + next_mode = MODE.ArrayLiteral; + if (is_array(this._flags.mode)) { + if (this._flags.last_token.text === '[' || + (this._flags.last_token.text === ',' && (this._last_last_text === ']' || this._last_last_text === '}'))) { + // ], [ goes to new line + // }, [ goes to new line + if (!this._options.keep_array_indentation) { + this.print_newline(); } + } + } - function ltrim(s) { - return s.replace(/^\s+/g, ''); + if (!in_array(this._flags.last_token.type, [TOKEN.START_EXPR, TOKEN.END_EXPR, TOKEN.WORD, TOKEN.OPERATOR])) { + this._output.space_before_token = true; + } + } else { + if (this._flags.last_token.type === TOKEN.RESERVED) { + if (this._flags.last_token.text === 'for') { + this._output.space_before_token = this._options.space_before_conditional; + next_mode = MODE.ForInitializer; + } else if (in_array(this._flags.last_token.text, ['if', 'while'])) { + this._output.space_before_token = this._options.space_before_conditional; + next_mode = MODE.Conditional; + } else if (in_array(this._flags.last_word, ['await', 'async'])) { + // Should be a space between await and an IIFE, or async and an arrow function + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'import' && current_token.whitespace_before === '') { + this._output.space_before_token = false; + } else if (in_array(this._flags.last_token.text, line_starters) || this._flags.last_token.text === 'catch') { + this._output.space_before_token = true; + } + } else if (this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + // Support of this kind of newline preservation. + // a = (b && + // (c || d)); + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } else if (this._flags.last_token.type === TOKEN.WORD) { + this._output.space_before_token = false; + + // function name() vs function name () + // function* name() vs function* name () + // async name() vs async name () + if (this._options.space_after_named_function) { + // peek starts at next character so -1 is current token + var peek_back_three = this._tokens.peek(-4); + var peek_back_two = this._tokens.peek(-3); + if (reserved_array(peek_back_two, ['async', 'function']) || + (reserved_array(peek_back_three, ['async', 'function']) && peek_back_two.text === '*')) { + this._output.space_before_token = true; } + } + } else { + // Support preserving wrapped arrow function expressions + // a.b('c', + // () => d.e + // ) + this.allow_wrap_or_preserved_newline(current_token); + } - // function rtrim(s) { - // return s.replace(/\s+$/g, ''); - // } + // function() vs function () + // yield*() vs yield* () + // function*() vs function* () + if ((this._flags.last_token.type === TOKEN.RESERVED && (this._flags.last_word === 'function' || this._flags.last_word === 'typeof')) || + (this._flags.last_token.text === '*' && + (in_array(this._last_last_text, ['function', 'yield']) || + (this._flags.mode === MODE.ObjectLiteral && in_array(this._last_last_text, ['{', ',']))))) { + + this._output.space_before_token = this._options.space_after_anon_function; + } - function sanitizeOperatorPosition(opPosition) { - opPosition = opPosition || OPERATOR_POSITION.before_newline; + } + + if (this._flags.last_token.text === ';' || this._flags.last_token.type === TOKEN.START_BLOCK) { + this.print_newline(); + } else if (this._flags.last_token.type === TOKEN.END_EXPR || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.END_BLOCK || this._flags.last_token.text === '.' || this._flags.last_token.type === TOKEN.COMMA) { + // do nothing on (( and )( and ][ and ]( and .( + // TODO: Consider whether forcing this is required. Review failing tests when removed. + this.allow_wrap_or_preserved_newline(current_token, current_token.newlines); + } + + this.set_mode(next_mode); + this.print_token(current_token); + if (this._options.space_in_paren) { + this._output.space_before_token = true; + } + + // In all cases, if we newline while inside an expression it should be indented. + this.indent(); +}; + +Beautifier.prototype.handle_end_expr = function(current_token) { + // statements inside expressions are not valid syntax, but... + // statements must all be closed when their container closes + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + this.handle_whitespace_and_comments(current_token); + + if (this._flags.multiline_frame) { + this.allow_wrap_or_preserved_newline(current_token, + current_token.text === ']' && is_array(this._flags.mode) && !this._options.keep_array_indentation); + } + + if (this._options.space_in_paren) { + if (this._flags.last_token.type === TOKEN.START_EXPR && !this._options.space_in_empty_paren) { + // () [] no inner space in empty parens like these, ever, ref #320 + this._output.trim(); + this._output.space_before_token = false; + } else { + this._output.space_before_token = true; + } + } + if (current_token.text === ']' && this._options.keep_array_indentation) { + this.print_token(current_token); + this.restore_mode(); + } else { + this.restore_mode(); + this.print_token(current_token); + } + remove_redundant_indentation(this._output, this._previous_flags); + + // do {} while () // no statement required after + if (this._flags.do_while && this._previous_flags.mode === MODE.Conditional) { + this._previous_flags.mode = MODE.Expression; + this._flags.do_block = false; + this._flags.do_while = false; + + } +}; + +Beautifier.prototype.handle_start_block = function(current_token) { + this.handle_whitespace_and_comments(current_token); + + // Check if this is should be treated as a ObjectLiteral + var next_token = this._tokens.peek(); + var second_token = this._tokens.peek(1); + if (this._flags.last_word === 'switch' && this._flags.last_token.type === TOKEN.END_EXPR) { + this.set_mode(MODE.BlockStatement); + this._flags.in_case_statement = true; + } else if (second_token && ( + (in_array(second_token.text, [':', ',']) && in_array(next_token.type, [TOKEN.STRING, TOKEN.WORD, TOKEN.RESERVED])) || + (in_array(next_token.text, ['get', 'set', '...']) && in_array(second_token.type, [TOKEN.WORD, TOKEN.RESERVED])) + )) { + // We don't support TypeScript,but we didn't break it for a very long time. + // We'll try to keep not breaking it. + if (!in_array(this._last_last_text, ['class', 'interface'])) { + this.set_mode(MODE.ObjectLiteral); + } else { + this.set_mode(MODE.BlockStatement); + } + } else if (this._flags.last_token.type === TOKEN.OPERATOR && this._flags.last_token.text === '=>') { + // arrow function: (param1, paramN) => { statements } + this.set_mode(MODE.BlockStatement); + } else if (in_array(this._flags.last_token.type, [TOKEN.EQUALS, TOKEN.START_EXPR, TOKEN.COMMA, TOKEN.OPERATOR]) || + reserved_array(this._flags.last_token, ['return', 'throw', 'import', 'default']) + ) { + // Detecting shorthand function syntax is difficult by scanning forward, + // so check the surrounding context. + // If the block is being returned, imported, export default, passed as arg, + // assigned with = or assigned in a nested object, treat as an ObjectLiteral. + this.set_mode(MODE.ObjectLiteral); + } else { + this.set_mode(MODE.BlockStatement); + } + + var empty_braces = !next_token.comments_before && next_token.text === '}'; + var empty_anonymous_function = empty_braces && this._flags.last_word === 'function' && + this._flags.last_token.type === TOKEN.END_EXPR; + + if (this._options.brace_preserve_inline) // check for inline, set inline_frame if so + { + // search forward for a newline wanted inside this block + var index = 0; + var check_token = null; + this._flags.inline_frame = true; + do { + index += 1; + check_token = this._tokens.peek(index - 1); + if (check_token.newlines) { + this._flags.inline_frame = false; + break; + } + } while (check_token.type !== TOKEN.EOF && + !(check_token.type === TOKEN.END_BLOCK && check_token.opened === current_token)); + } + + if ((this._options.brace_style === "expand" || + (this._options.brace_style === "none" && current_token.newlines)) && + !this._flags.inline_frame) { + if (this._flags.last_token.type !== TOKEN.OPERATOR && + (empty_anonymous_function || + this._flags.last_token.type === TOKEN.EQUALS || + (reserved_array(this._flags.last_token, special_words) && this._flags.last_token.text !== 'else'))) { + this._output.space_before_token = true; + } else { + this.print_newline(false, true); + } + } else { // collapse || inline_frame + if (is_array(this._previous_flags.mode) && (this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.COMMA)) { + if (this._flags.last_token.type === TOKEN.COMMA || this._options.space_in_paren) { + this._output.space_before_token = true; + } + + if (this._flags.last_token.type === TOKEN.COMMA || (this._flags.last_token.type === TOKEN.START_EXPR && this._flags.inline_frame)) { + this.allow_wrap_or_preserved_newline(current_token); + this._previous_flags.multiline_frame = this._previous_flags.multiline_frame || this._flags.multiline_frame; + this._flags.multiline_frame = false; + } + } + if (this._flags.last_token.type !== TOKEN.OPERATOR && this._flags.last_token.type !== TOKEN.START_EXPR) { + if (this._flags.last_token.type === TOKEN.START_BLOCK && !this._flags.inline_frame) { + this.print_newline(); + } else { + this._output.space_before_token = true; + } + } + } + this.print_token(current_token); + this.indent(); +}; + +Beautifier.prototype.handle_end_block = function(current_token) { + // statements must all be closed when their container closes + this.handle_whitespace_and_comments(current_token); + + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + var empty_braces = this._flags.last_token.type === TOKEN.START_BLOCK; + + if (this._flags.inline_frame && !empty_braces) { // try inline_frame (only set if this._options.braces-preserve-inline) first + this._output.space_before_token = true; + } else if (this._options.brace_style === "expand") { + if (!empty_braces) { + this.print_newline(); + } + } else { + // skip {} + if (!empty_braces) { + if (is_array(this._flags.mode) && this._options.keep_array_indentation) { + // we REALLY need a newline here, but newliner would skip that + this._options.keep_array_indentation = false; + this.print_newline(); + this._options.keep_array_indentation = true; + + } else { + this.print_newline(); + } + } + } + this.restore_mode(); + this.print_token(current_token); +}; + +Beautifier.prototype.handle_word = function(current_token) { + if (current_token.type === TOKEN.RESERVED) { + if (in_array(current_token.text, ['set', 'get']) && this._flags.mode !== MODE.ObjectLiteral) { + current_token.type = TOKEN.WORD; + } else if (current_token.text === 'import' && this._tokens.peek().text === '(') { + current_token.type = TOKEN.WORD; + } else if (in_array(current_token.text, ['as', 'from']) && !this._flags.import_block) { + current_token.type = TOKEN.WORD; + } else if (this._flags.mode === MODE.ObjectLiteral) { + var next_token = this._tokens.peek(); + if (next_token.text === ':') { + current_token.type = TOKEN.WORD; + } + } + } - var validPositionValues = Object.values(OPERATOR_POSITION); + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + if (reserved_array(this._flags.last_token, ['var', 'let', 'const']) && current_token.type === TOKEN.WORD) { + this._flags.declaration_statement = true; + } + } else if (current_token.newlines && !is_expression(this._flags.mode) && + (this._flags.last_token.type !== TOKEN.OPERATOR || (this._flags.last_token.text === '--' || this._flags.last_token.text === '++')) && + this._flags.last_token.type !== TOKEN.EQUALS && + (this._options.preserve_newlines || !reserved_array(this._flags.last_token, ['var', 'let', 'const', 'set', 'get']))) { + this.handle_whitespace_and_comments(current_token); + this.print_newline(); + } else { + this.handle_whitespace_and_comments(current_token); + } + + if (this._flags.do_block && !this._flags.do_while) { + if (reserved_word(current_token, 'while')) { + // do {} ## while () + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; + this._flags.do_while = true; + return; + } else { + // do {} should always have while as the next word. + // if we don't see the expected while, recover + this.print_newline(); + this._flags.do_block = false; + } + } + + // if may be followed by else, or not + // Bare/inline ifs are tricky + // Need to unwind the modes correctly: if (a) if (b) c(); else d(); else e(); + if (this._flags.if_block) { + if (!this._flags.else_block && reserved_word(current_token, 'else')) { + this._flags.else_block = true; + } else { + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + this._flags.if_block = false; + this._flags.else_block = false; + } + } + + if (this._flags.in_case_statement && reserved_array(current_token, ['case', 'default'])) { + this.print_newline(); + if (this._flags.case_body || this._options.jslint_happy) { + // switch cases following one another + this.deindent(); + this._flags.case_body = false; + } + this.print_token(current_token); + this._flags.in_case = true; + return; + } + + if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } + + if (reserved_word(current_token, 'function')) { + if (in_array(this._flags.last_token.text, ['}', ';']) || + (this._output.just_added_newline() && !(in_array(this._flags.last_token.text, ['(', '[', '{', ':', '=', ',']) || this._flags.last_token.type === TOKEN.OPERATOR))) { + // make sure there is a nice clean space of at least one blank line + // before a new function definition + if (!this._output.just_added_blankline() && !current_token.comments_before) { + this.print_newline(); + this.print_newline(true); + } + } + if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD) { + if (reserved_array(this._flags.last_token, ['get', 'set', 'new', 'export']) || + reserved_array(this._flags.last_token, newline_restricted_tokens)) { + this._output.space_before_token = true; + } else if (reserved_word(this._flags.last_token, 'default') && this._last_last_text === 'export') { + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'declare') { + // accomodates Typescript declare function formatting + this._output.space_before_token = true; + } else { + this.print_newline(); + } + } else if (this._flags.last_token.type === TOKEN.OPERATOR || this._flags.last_token.text === '=') { + // foo = function + this._output.space_before_token = true; + } else if (!this._flags.multiline_frame && (is_expression(this._flags.mode) || is_array(this._flags.mode))) { + // (function + } else { + this.print_newline(); + } - if (!in_array(opPosition, validPositionValues)) { - throw new Error("Invalid Option Value: The option 'operator_position' must be one of the following values\n" + - validPositionValues + - "\nYou passed in: '" + opPosition + "'"); - } + this.print_token(current_token); + this._flags.last_word = current_token.text; + return; + } + + var prefix = 'NONE'; + + if (this._flags.last_token.type === TOKEN.END_BLOCK) { + + if (this._previous_flags.inline_frame) { + prefix = 'SPACE'; + } else if (!reserved_array(current_token, ['else', 'catch', 'finally', 'from'])) { + prefix = 'NEWLINE'; + } else { + if (this._options.brace_style === "expand" || + this._options.brace_style === "end-expand" || + (this._options.brace_style === "none" && current_token.newlines)) { + prefix = 'NEWLINE'; + } else { + prefix = 'SPACE'; + this._output.space_before_token = true; + } + } + } else if (this._flags.last_token.type === TOKEN.SEMICOLON && this._flags.mode === MODE.BlockStatement) { + // TODO: Should this be for STATEMENT as well? + prefix = 'NEWLINE'; + } else if (this._flags.last_token.type === TOKEN.SEMICOLON && is_expression(this._flags.mode)) { + prefix = 'SPACE'; + } else if (this._flags.last_token.type === TOKEN.STRING) { + prefix = 'NEWLINE'; + } else if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD || + (this._flags.last_token.text === '*' && + (in_array(this._last_last_text, ['function', 'yield']) || + (this._flags.mode === MODE.ObjectLiteral && in_array(this._last_last_text, ['{', ',']))))) { + prefix = 'SPACE'; + } else if (this._flags.last_token.type === TOKEN.START_BLOCK) { + if (this._flags.inline_frame) { + prefix = 'SPACE'; + } else { + prefix = 'NEWLINE'; + } + } else if (this._flags.last_token.type === TOKEN.END_EXPR) { + this._output.space_before_token = true; + prefix = 'NEWLINE'; + } + + if (reserved_array(current_token, line_starters) && this._flags.last_token.text !== ')') { + if (this._flags.inline_frame || this._flags.last_token.text === 'else' || this._flags.last_token.text === 'export') { + prefix = 'SPACE'; + } else { + prefix = 'NEWLINE'; + } - return opPosition; + } + + if (reserved_array(current_token, ['else', 'catch', 'finally'])) { + if ((!(this._flags.last_token.type === TOKEN.END_BLOCK && this._previous_flags.mode === MODE.BlockStatement) || + this._options.brace_style === "expand" || + this._options.brace_style === "end-expand" || + (this._options.brace_style === "none" && current_token.newlines)) && + !this._flags.inline_frame) { + this.print_newline(); + } else { + this._output.trim(true); + var line = this._output.current_line; + // If we trimmed and there's something other than a close block before us + // put a newline back in. Handles '} // comment' scenario. + if (line.last() !== '}') { + this.print_newline(); + } + this._output.space_before_token = true; + } + } else if (prefix === 'NEWLINE') { + if (reserved_array(this._flags.last_token, special_words)) { + // no newline between 'return nnn' + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'declare' && reserved_array(current_token, ['var', 'let', 'const'])) { + // accomodates Typescript declare formatting + this._output.space_before_token = true; + } else if (this._flags.last_token.type !== TOKEN.END_EXPR) { + if ((this._flags.last_token.type !== TOKEN.START_EXPR || !reserved_array(current_token, ['var', 'let', 'const'])) && this._flags.last_token.text !== ':') { + // no need to force newline on 'var': for (var x = 0...) + if (reserved_word(current_token, 'if') && reserved_word(current_token.previous, 'else')) { + // no newline for } else if { + this._output.space_before_token = true; + } else { + this.print_newline(); } + } + } else if (reserved_array(current_token, line_starters) && this._flags.last_token.text !== ')') { + this.print_newline(); + } + } else if (this._flags.multiline_frame && is_array(this._flags.mode) && this._flags.last_token.text === ',' && this._last_last_text === '}') { + this.print_newline(); // }, in lists get a newline treatment + } else if (prefix === 'SPACE') { + this._output.space_before_token = true; + } + if (current_token.previous && (current_token.previous.type === TOKEN.WORD || current_token.previous.type === TOKEN.RESERVED)) { + this._output.space_before_token = true; + } + this.print_token(current_token); + this._flags.last_word = current_token.text; + + if (current_token.type === TOKEN.RESERVED) { + if (current_token.text === 'do') { + this._flags.do_block = true; + } else if (current_token.text === 'if') { + this._flags.if_block = true; + } else if (current_token.text === 'import') { + this._flags.import_block = true; + } else if (this._flags.import_block && reserved_word(current_token, 'from')) { + this._flags.import_block = false; + } + } +}; + +Beautifier.prototype.handle_semicolon = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + // Semicolon can be the start (and end) of a statement + this._output.space_before_token = false; + } else { + this.handle_whitespace_and_comments(current_token); + } + + var next_token = this._tokens.peek(); + while (this._flags.mode === MODE.Statement && + !(this._flags.if_block && reserved_word(next_token, 'else')) && + !this._flags.do_block) { + this.restore_mode(); + } + + // hacky but effective for the moment + if (this._flags.import_block) { + this._flags.import_block = false; + } + this.print_token(current_token); +}; + +Beautifier.prototype.handle_string = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + // One difference - strings want at least a space before + this._output.space_before_token = true; + } else { + this.handle_whitespace_and_comments(current_token); + if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD || this._flags.inline_frame) { + this._output.space_before_token = true; + } else if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } else { + this.print_newline(); + } + } + this.print_token(current_token); +}; + +Beautifier.prototype.handle_equals = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + this.handle_whitespace_and_comments(current_token); + } + + if (this._flags.declaration_statement) { + // just got an '=' in a var-line, different formatting/line-breaking, etc will now be done + this._flags.declaration_assignment = true; + } + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; +}; + +Beautifier.prototype.handle_comma = function(current_token) { + this.handle_whitespace_and_comments(current_token, true); + + this.print_token(current_token); + this._output.space_before_token = true; + if (this._flags.declaration_statement) { + if (is_expression(this._flags.parent.mode)) { + // do not break on comma, for(var a = 1, b = 2) + this._flags.declaration_assignment = false; + } - var OPERATOR_POSITION = { - before_newline: 'before-newline', - after_newline: 'after-newline', - preserve_newline: 'preserve-newline', - }; - - var OPERATOR_POSITION_BEFORE_OR_PRESERVE = [OPERATOR_POSITION.before_newline, OPERATOR_POSITION.preserve_newline]; - - var MODE = { - BlockStatement: 'BlockStatement', // 'BLOCK' - Statement: 'Statement', // 'STATEMENT' - ObjectLiteral: 'ObjectLiteral', // 'OBJECT', - ArrayLiteral: 'ArrayLiteral', //'[EXPRESSION]', - ForInitializer: 'ForInitializer', //'(FOR-EXPRESSION)', - Conditional: 'Conditional', //'(COND-EXPRESSION)', - Expression: 'Expression' //'(EXPRESSION)' - }; - - function Beautifier(js_source_text, options) { - "use strict"; - var output; - var tokens = [], - token_pos; - var Tokenizer; - var current_token; - var last_type, last_last_text, indent_string; - var flags, previous_flags, flag_store; - var prefix; - - var handlers, opt; - var baseIndentString = ''; - - handlers = { - 'TK_START_EXPR': handle_start_expr, - 'TK_END_EXPR': handle_end_expr, - 'TK_START_BLOCK': handle_start_block, - 'TK_END_BLOCK': handle_end_block, - 'TK_WORD': handle_word, - 'TK_RESERVED': handle_word, - 'TK_SEMICOLON': handle_semicolon, - 'TK_STRING': handle_string, - 'TK_EQUALS': handle_equals, - 'TK_OPERATOR': handle_operator, - 'TK_COMMA': handle_comma, - 'TK_BLOCK_COMMENT': handle_block_comment, - 'TK_COMMENT': handle_comment, - 'TK_DOT': handle_dot, - 'TK_UNKNOWN': handle_unknown, - 'TK_EOF': handle_eof - }; - - function create_flags(flags_base, mode) { - var next_indent_level = 0; - if (flags_base) { - next_indent_level = flags_base.indentation_level; - if (!output.just_added_newline() && - flags_base.line_indent_level > next_indent_level) { - next_indent_level = flags_base.line_indent_level; - } - } - - var next_flags = { - mode: mode, - parent: flags_base, - last_text: flags_base ? flags_base.last_text : '', // last token text - last_word: flags_base ? flags_base.last_word : '', // last 'TK_WORD' passed - declaration_statement: false, - declaration_assignment: false, - multiline_frame: false, - inline_frame: false, - if_block: false, - else_block: false, - do_block: false, - do_while: false, - import_block: false, - in_case_statement: false, // switch(..){ INSIDE HERE } - in_case: false, // we're on the exact line with "case 0:" - case_body: false, // the indented case-action block - indentation_level: next_indent_level, - line_indent_level: flags_base ? flags_base.line_indent_level : next_indent_level, - start_line_index: output.get_line_number(), - ternary_depth: 0 - }; - return next_flags; - } - - // Some interpreters have unexpected results with foo = baz || bar; - options = options ? options : {}; - - // Allow the setting of language/file-type specific options - // with inheritance of overall settings - options = mergeOpts(options, 'js'); - - opt = {}; - - // compatibility, re - if (options.brace_style === "expand-strict") { //graceful handling of deprecated option - options.brace_style = "expand"; - } else if (options.brace_style === "collapse-preserve-inline") { //graceful handling of deprecated option - options.brace_style = "collapse,preserve-inline"; - } else if (options.braces_on_own_line !== undefined) { //graceful handling of deprecated option - options.brace_style = options.braces_on_own_line ? "expand" : "collapse"; - } else if (!options.brace_style) //Nothing exists to set it - { - options.brace_style = "collapse"; - } - - - var brace_style_split = options.brace_style.split(/[^a-zA-Z0-9_\-]+/); - opt.brace_style = brace_style_split[0]; - opt.brace_preserve_inline = brace_style_split[1] ? brace_style_split[1] : false; - - opt.indent_size = options.indent_size ? parseInt(options.indent_size, 10) : 4; - opt.indent_char = options.indent_char ? options.indent_char : ' '; - opt.eol = options.eol ? options.eol : 'auto'; - opt.preserve_newlines = (options.preserve_newlines === undefined) ? true : options.preserve_newlines; - opt.break_chained_methods = (options.break_chained_methods === undefined) ? false : options.break_chained_methods; - opt.max_preserve_newlines = (options.max_preserve_newlines === undefined) ? 0 : parseInt(options.max_preserve_newlines, 10); - opt.space_in_paren = (options.space_in_paren === undefined) ? false : options.space_in_paren; - opt.space_in_empty_paren = (options.space_in_empty_paren === undefined) ? false : options.space_in_empty_paren; - opt.jslint_happy = (options.jslint_happy === undefined) ? false : options.jslint_happy; - opt.space_after_anon_function = (options.space_after_anon_function === undefined) ? false : options.space_after_anon_function; - opt.keep_array_indentation = (options.keep_array_indentation === undefined) ? false : options.keep_array_indentation; - opt.space_before_conditional = (options.space_before_conditional === undefined) ? true : options.space_before_conditional; - opt.unescape_strings = (options.unescape_strings === undefined) ? false : options.unescape_strings; - opt.wrap_line_length = (options.wrap_line_length === undefined) ? 0 : parseInt(options.wrap_line_length, 10); - opt.e4x = (options.e4x === undefined) ? false : options.e4x; - opt.end_with_newline = (options.end_with_newline === undefined) ? false : options.end_with_newline; - opt.comma_first = (options.comma_first === undefined) ? false : options.comma_first; - opt.operator_position = sanitizeOperatorPosition(options.operator_position); - - // For testing of beautify ignore:start directive - opt.test_output_raw = (options.test_output_raw === undefined) ? false : options.test_output_raw; - - // force opt.space_after_anon_function to true if opt.jslint_happy - if (opt.jslint_happy) { - opt.space_after_anon_function = true; - } - - if (options.indent_with_tabs) { - opt.indent_char = '\t'; - opt.indent_size = 1; - } - - if (opt.eol === 'auto') { - opt.eol = '\n'; - if (js_source_text && acorn.lineBreak.test(js_source_text || '')) { - opt.eol = js_source_text.match(acorn.lineBreak)[0]; - } - } - - opt.eol = opt.eol.replace(/\\r/, '\r').replace(/\\n/, '\n'); - - //---------------------------------- - indent_string = ''; - while (opt.indent_size > 0) { - indent_string += opt.indent_char; - opt.indent_size -= 1; - } - - var preindent_index = 0; - if (js_source_text && js_source_text.length) { - while ((js_source_text.charAt(preindent_index) === ' ' || - js_source_text.charAt(preindent_index) === '\t')) { - baseIndentString += js_source_text.charAt(preindent_index); - preindent_index += 1; - } - js_source_text = js_source_text.substring(preindent_index); - } - - last_type = 'TK_START_BLOCK'; // last token type - last_last_text = ''; // pre-last token text - output = new Output(indent_string, baseIndentString); - - // If testing the ignore directive, start with output disable set to true - output.raw = opt.test_output_raw; - - - // Stack of parsing/formatting states, including MODE. - // We tokenize, parse, and output in an almost purely a forward-only stream of token input - // and formatted output. This makes the beautifier less accurate than full parsers - // but also far more tolerant of syntax errors. - // - // For example, the default mode is MODE.BlockStatement. If we see a '{' we push a new frame of type - // MODE.BlockStatement on the the stack, even though it could be object literal. If we later - // encounter a ":", we'll switch to to MODE.ObjectLiteral. If we then see a ";", - // most full parsers would die, but the beautifier gracefully falls back to - // MODE.BlockStatement and continues on. - flag_store = []; - set_mode(MODE.BlockStatement); - - this.beautify = function() { - - /*jshint onevar:true */ - var sweet_code; - Tokenizer = new tokenizer(js_source_text, opt, indent_string); - tokens = Tokenizer.tokenize(); - token_pos = 0; - - current_token = get_token(); - while (current_token) { - handlers[current_token.type](); - - last_last_text = flags.last_text; - last_type = current_token.type; - flags.last_text = current_token.text; - - token_pos += 1; - current_token = get_token(); - } - - sweet_code = output.get_code(); - if (opt.end_with_newline) { - sweet_code += '\n'; - } - - if (opt.eol !== '\n') { - sweet_code = sweet_code.replace(/[\n]/g, opt.eol); - } - - return sweet_code; - }; - - function handle_whitespace_and_comments(local_token, preserve_statement_flags) { - var newlines = local_token.newlines; - var keep_whitespace = opt.keep_array_indentation && is_array(flags.mode); - var temp_token = current_token; - - for (var h = 0; h < local_token.comments_before.length; h++) { - // The cleanest handling of inline comments is to treat them as though they aren't there. - // Just continue formatting and the behavior should be logical. - // Also ignore unknown tokens. Again, this should result in better behavior. - current_token = local_token.comments_before[h]; - handle_whitespace_and_comments(current_token, preserve_statement_flags); - handlers[current_token.type](preserve_statement_flags); - } - current_token = temp_token; - - if (keep_whitespace) { - for (var i = 0; i < newlines; i += 1) { - print_newline(i > 0, preserve_statement_flags); - } - } else { - if (opt.max_preserve_newlines && newlines > opt.max_preserve_newlines) { - newlines = opt.max_preserve_newlines; - } - - if (opt.preserve_newlines) { - if (local_token.newlines > 1) { - print_newline(false, preserve_statement_flags); - for (var j = 1; j < newlines; j += 1) { - print_newline(true, preserve_statement_flags); - } - } - } - } - - } - - // we could use just string.split, but - // IE doesn't like returning empty strings - function split_linebreaks(s) { - //return s.split(/\x0d\x0a|\x0a/); - - s = s.replace(acorn.allLineBreaks, '\n'); - var out = [], - idx = s.indexOf("\n"); - while (idx !== -1) { - out.push(s.substring(0, idx)); - s = s.substring(idx + 1); - idx = s.indexOf("\n"); - } - if (s.length) { - out.push(s); - } - return out; - } - - var newline_restricted_tokens = ['break', 'continue', 'return', 'throw']; - - function allow_wrap_or_preserved_newline(force_linewrap) { - force_linewrap = (force_linewrap === undefined) ? false : force_linewrap; - - // Never wrap the first token on a line - if (output.just_added_newline()) { - return; - } - - var shouldPreserveOrForce = (opt.preserve_newlines && current_token.wanted_newline) || force_linewrap; - var operatorLogicApplies = in_array(flags.last_text, Tokenizer.positionable_operators) || in_array(current_token.text, Tokenizer.positionable_operators); - - if (operatorLogicApplies) { - var shouldPrintOperatorNewline = ( - in_array(flags.last_text, Tokenizer.positionable_operators) && - in_array(opt.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE) - ) || - in_array(current_token.text, Tokenizer.positionable_operators); - shouldPreserveOrForce = shouldPreserveOrForce && shouldPrintOperatorNewline; - } - - if (shouldPreserveOrForce) { - print_newline(false, true); - } else if (opt.wrap_line_length) { - if (last_type === 'TK_RESERVED' && in_array(flags.last_text, newline_restricted_tokens)) { - // These tokens should never have a newline inserted - // between them and the following expression. - return; - } - var proposed_line_length = output.current_line.get_character_count() + current_token.text.length + - (output.space_before_token ? 1 : 0); - if (proposed_line_length >= opt.wrap_line_length) { - print_newline(false, true); - } - } - } - - function print_newline(force_newline, preserve_statement_flags) { - if (!preserve_statement_flags) { - if (flags.last_text !== ';' && flags.last_text !== ',' && flags.last_text !== '=' && last_type !== 'TK_OPERATOR') { - var next_token = get_token(1); - while (flags.mode === MODE.Statement && - !(flags.if_block && next_token && next_token.type === 'TK_RESERVED' && next_token.text === 'else') && - !flags.do_block) { - restore_mode(); - } - } - } - - if (output.add_new_line(force_newline)) { - flags.multiline_frame = true; - } - } - - function print_token_line_indentation() { - if (output.just_added_newline()) { - if (opt.keep_array_indentation && is_array(flags.mode) && current_token.wanted_newline) { - output.current_line.push(current_token.whitespace_before); - output.space_before_token = false; - } else if (output.set_indent(flags.indentation_level)) { - flags.line_indent_level = flags.indentation_level; - } - } - } - - function print_token(printable_token) { - if (output.raw) { - output.add_raw_token(current_token); - return; - } - - if (opt.comma_first && last_type === 'TK_COMMA' && - output.just_added_newline()) { - if (output.previous_line.last() === ',') { - var popped = output.previous_line.pop(); - // if the comma was already at the start of the line, - // pull back onto that line and reprint the indentation - if (output.previous_line.is_empty()) { - output.previous_line.push(popped); - output.trim(true); - output.current_line.pop(); - output.trim(); - } - - // add the comma in front of the next token - print_token_line_indentation(); - output.add_token(','); - output.space_before_token = true; - } - } - - printable_token = printable_token || current_token.text; - print_token_line_indentation(); - output.add_token(printable_token); - } - - function indent() { - flags.indentation_level += 1; - } - - function deindent() { - if (flags.indentation_level > 0 && - ((!flags.parent) || flags.indentation_level > flags.parent.indentation_level)) { - flags.indentation_level -= 1; - - } - } - - function set_mode(mode) { - if (flags) { - flag_store.push(flags); - previous_flags = flags; - } else { - previous_flags = create_flags(null, mode); - } - - flags = create_flags(previous_flags, mode); - } - - function is_array(mode) { - return mode === MODE.ArrayLiteral; - } - - function is_expression(mode) { - return in_array(mode, [MODE.Expression, MODE.ForInitializer, MODE.Conditional]); - } - - function restore_mode() { - if (flag_store.length > 0) { - previous_flags = flags; - flags = flag_store.pop(); - if (previous_flags.mode === MODE.Statement) { - output.remove_redundant_indentation(previous_flags); - } - } - } - - function start_of_object_property() { - return flags.parent.mode === MODE.ObjectLiteral && flags.mode === MODE.Statement && ( - (flags.last_text === ':' && flags.ternary_depth === 0) || (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['get', 'set']))); - } - - function start_of_statement() { - if ( - (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['var', 'let', 'const']) && current_token.type === 'TK_WORD') || - (last_type === 'TK_RESERVED' && flags.last_text === 'do') || - (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['return', 'throw']) && !current_token.wanted_newline) || - (last_type === 'TK_RESERVED' && flags.last_text === 'else' && - !(current_token.type === 'TK_RESERVED' && current_token.text === 'if' && !current_token.comments_before.length)) || - (last_type === 'TK_END_EXPR' && (previous_flags.mode === MODE.ForInitializer || previous_flags.mode === MODE.Conditional)) || - (last_type === 'TK_WORD' && flags.mode === MODE.BlockStatement && - !flags.in_case && - !(current_token.text === '--' || current_token.text === '++') && - last_last_text !== 'function' && - current_token.type !== 'TK_WORD' && current_token.type !== 'TK_RESERVED') || - (flags.mode === MODE.ObjectLiteral && ( - (flags.last_text === ':' && flags.ternary_depth === 0) || (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['get', 'set'])))) - ) { - - set_mode(MODE.Statement); - indent(); - - handle_whitespace_and_comments(current_token, true); - - // Issue #276: - // If starting a new statement with [if, for, while, do], push to a new line. - // if (a) if (b) if(c) d(); else e(); else f(); - if (!start_of_object_property()) { - allow_wrap_or_preserved_newline( - current_token.type === 'TK_RESERVED' && in_array(current_token.text, ['do', 'for', 'if', 'while'])); - } - - return true; - } - return false; - } - - function all_lines_start_with(lines, c) { - for (var i = 0; i < lines.length; i++) { - var line = trim(lines[i]); - if (line.charAt(0) !== c) { - return false; - } - } - return true; - } - - function each_line_matches_indent(lines, indent) { - var i = 0, - len = lines.length, - line; - for (; i < len; i++) { - line = lines[i]; - // allow empty lines to pass through - if (line && line.indexOf(indent) !== 0) { - return false; - } - } - return true; - } - - function is_special_word(word) { - return in_array(word, ['case', 'return', 'do', 'if', 'throw', 'else']); - } - - function get_token(offset) { - var index = token_pos + (offset || 0); - return (index < 0 || index >= tokens.length) ? null : tokens[index]; - } - - function handle_start_expr() { - // The conditional starts the statement if appropriate. - if (!start_of_statement()) { - handle_whitespace_and_comments(current_token); - } - - var next_mode = MODE.Expression; - if (current_token.text === '[') { - - if (last_type === 'TK_WORD' || flags.last_text === ')') { - // this is array index specifier, break immediately - // a[x], fn()[x] - if (last_type === 'TK_RESERVED' && in_array(flags.last_text, Tokenizer.line_starters)) { - output.space_before_token = true; - } - set_mode(next_mode); - print_token(); - indent(); - if (opt.space_in_paren) { - output.space_before_token = true; - } - return; - } - - next_mode = MODE.ArrayLiteral; - if (is_array(flags.mode)) { - if (flags.last_text === '[' || - (flags.last_text === ',' && (last_last_text === ']' || last_last_text === '}'))) { - // ], [ goes to new line - // }, [ goes to new line - if (!opt.keep_array_indentation) { - print_newline(); - } - } - } - - } else { - if (last_type === 'TK_RESERVED' && flags.last_text === 'for') { - next_mode = MODE.ForInitializer; - } else if (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['if', 'while'])) { - next_mode = MODE.Conditional; - } else { - // next_mode = MODE.Expression; - } - } - - if (flags.last_text === ';' || last_type === 'TK_START_BLOCK') { - print_newline(); - } else if (last_type === 'TK_END_EXPR' || last_type === 'TK_START_EXPR' || last_type === 'TK_END_BLOCK' || flags.last_text === '.') { - // TODO: Consider whether forcing this is required. Review failing tests when removed. - allow_wrap_or_preserved_newline(current_token.wanted_newline); - // do nothing on (( and )( and ][ and ]( and .( - } else if (!(last_type === 'TK_RESERVED' && current_token.text === '(') && last_type !== 'TK_WORD' && last_type !== 'TK_OPERATOR') { - output.space_before_token = true; - } else if ((last_type === 'TK_RESERVED' && (flags.last_word === 'function' || flags.last_word === 'typeof')) || - (flags.last_text === '*' && - (in_array(last_last_text, ['function', 'yield']) || - (flags.mode === MODE.ObjectLiteral && in_array(last_last_text, ['{', ',']))))) { - // function() vs function () - // yield*() vs yield* () - // function*() vs function* () - if (opt.space_after_anon_function) { - output.space_before_token = true; - } - } else if (last_type === 'TK_RESERVED' && (in_array(flags.last_text, Tokenizer.line_starters) || flags.last_text === 'catch')) { - if (opt.space_before_conditional) { - output.space_before_token = true; - } - } - - // Should be a space between await and an IIFE - if (current_token.text === '(' && last_type === 'TK_RESERVED' && flags.last_word === 'await') { - output.space_before_token = true; - } - - // Support of this kind of newline preservation. - // a = (b && - // (c || d)); - if (current_token.text === '(') { - if (last_type === 'TK_EQUALS' || last_type === 'TK_OPERATOR') { - if (!start_of_object_property()) { - allow_wrap_or_preserved_newline(); - } - } - } - - // Support preserving wrapped arrow function expressions - // a.b('c', - // () => d.e - // ) - if (current_token.text === '(' && last_type !== 'TK_WORD' && last_type !== 'TK_RESERVED') { - allow_wrap_or_preserved_newline(); - } - - set_mode(next_mode); - print_token(); - if (opt.space_in_paren) { - output.space_before_token = true; - } - - // In all cases, if we newline while inside an expression it should be indented. - indent(); - } - - function handle_end_expr() { - // statements inside expressions are not valid syntax, but... - // statements must all be closed when their container closes - while (flags.mode === MODE.Statement) { - restore_mode(); - } - - handle_whitespace_and_comments(current_token); - - if (flags.multiline_frame) { - allow_wrap_or_preserved_newline(current_token.text === ']' && is_array(flags.mode) && !opt.keep_array_indentation); - } - - if (opt.space_in_paren) { - if (last_type === 'TK_START_EXPR' && !opt.space_in_empty_paren) { - // () [] no inner space in empty parens like these, ever, ref #320 - output.trim(); - output.space_before_token = false; - } else { - output.space_before_token = true; - } - } - if (current_token.text === ']' && opt.keep_array_indentation) { - print_token(); - restore_mode(); - } else { - restore_mode(); - print_token(); - } - output.remove_redundant_indentation(previous_flags); - - // do {} while () // no statement required after - if (flags.do_while && previous_flags.mode === MODE.Conditional) { - previous_flags.mode = MODE.Expression; - flags.do_block = false; - flags.do_while = false; - - } - } - - function handle_start_block() { - handle_whitespace_and_comments(current_token); - - // Check if this is should be treated as a ObjectLiteral - var next_token = get_token(1); - var second_token = get_token(2); - if (second_token && ( - (in_array(second_token.text, [':', ',']) && in_array(next_token.type, ['TK_STRING', 'TK_WORD', 'TK_RESERVED'])) || - (in_array(next_token.text, ['get', 'set', '...']) && in_array(second_token.type, ['TK_WORD', 'TK_RESERVED'])) - )) { - // We don't support TypeScript,but we didn't break it for a very long time. - // We'll try to keep not breaking it. - if (!in_array(last_last_text, ['class', 'interface'])) { - set_mode(MODE.ObjectLiteral); - } else { - set_mode(MODE.BlockStatement); - } - } else if (last_type === 'TK_OPERATOR' && flags.last_text === '=>') { - // arrow function: (param1, paramN) => { statements } - set_mode(MODE.BlockStatement); - } else if (in_array(last_type, ['TK_EQUALS', 'TK_START_EXPR', 'TK_COMMA', 'TK_OPERATOR']) || - (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['return', 'throw', 'import', 'default'])) - ) { - // Detecting shorthand function syntax is difficult by scanning forward, - // so check the surrounding context. - // If the block is being returned, imported, export default, passed as arg, - // assigned with = or assigned in a nested object, treat as an ObjectLiteral. - set_mode(MODE.ObjectLiteral); - } else { - set_mode(MODE.BlockStatement); - } - - var empty_braces = !next_token.comments_before.length && next_token.text === '}'; - var empty_anonymous_function = empty_braces && flags.last_word === 'function' && - last_type === 'TK_END_EXPR'; - - if (opt.brace_preserve_inline) // check for inline, set inline_frame if so - { - // search forward for a newline wanted inside this block - var index = 0; - var check_token = null; - flags.inline_frame = true; - do { - index += 1; - check_token = get_token(index); - if (check_token.wanted_newline) { - flags.inline_frame = false; - break; - } - } while (check_token.type !== 'TK_EOF' && - !(check_token.type === 'TK_END_BLOCK' && check_token.opened === current_token)); - } - - if ((opt.brace_style === "expand" || - (opt.brace_style === "none" && current_token.wanted_newline)) && - !flags.inline_frame) { - if (last_type !== 'TK_OPERATOR' && - (empty_anonymous_function || - last_type === 'TK_EQUALS' || - (last_type === 'TK_RESERVED' && is_special_word(flags.last_text) && flags.last_text !== 'else'))) { - output.space_before_token = true; - } else { - print_newline(false, true); - } - } else { // collapse || inline_frame - if (is_array(previous_flags.mode) && (last_type === 'TK_START_EXPR' || last_type === 'TK_COMMA')) { - if (last_type === 'TK_COMMA' || opt.space_in_paren) { - output.space_before_token = true; - } - - if (last_type === 'TK_COMMA' || (last_type === 'TK_START_EXPR' && flags.inline_frame)) { - allow_wrap_or_preserved_newline(); - previous_flags.multiline_frame = previous_flags.multiline_frame || flags.multiline_frame; - flags.multiline_frame = false; - } - } - if (last_type !== 'TK_OPERATOR' && last_type !== 'TK_START_EXPR') { - if (last_type === 'TK_START_BLOCK' && !flags.inline_frame) { - print_newline(); - } else { - output.space_before_token = true; - } - } - } - print_token(); - indent(); - } - - function handle_end_block() { - // statements must all be closed when their container closes - handle_whitespace_and_comments(current_token); - - while (flags.mode === MODE.Statement) { - restore_mode(); - } - - var empty_braces = last_type === 'TK_START_BLOCK'; - - if (flags.inline_frame && !empty_braces) { // try inline_frame (only set if opt.braces-preserve-inline) first - output.space_before_token = true; - } else if (opt.brace_style === "expand") { - if (!empty_braces) { - print_newline(); - } - } else { - // skip {} - if (!empty_braces) { - if (is_array(flags.mode) && opt.keep_array_indentation) { - // we REALLY need a newline here, but newliner would skip that - opt.keep_array_indentation = false; - print_newline(); - opt.keep_array_indentation = true; - - } else { - print_newline(); - } - } - } - restore_mode(); - print_token(); - } - - function handle_word() { - if (current_token.type === 'TK_RESERVED') { - if (in_array(current_token.text, ['set', 'get']) && flags.mode !== MODE.ObjectLiteral) { - current_token.type = 'TK_WORD'; - } else if (in_array(current_token.text, ['as', 'from']) && !flags.import_block) { - current_token.type = 'TK_WORD'; - } else if (flags.mode === MODE.ObjectLiteral) { - var next_token = get_token(1); - if (next_token.text === ':') { - current_token.type = 'TK_WORD'; - } - } - } - - if (start_of_statement()) { - // The conditional starts the statement if appropriate. - if (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['var', 'let', 'const']) && current_token.type === 'TK_WORD') { - flags.declaration_statement = true; - } - } else if (current_token.wanted_newline && !is_expression(flags.mode) && - (last_type !== 'TK_OPERATOR' || (flags.last_text === '--' || flags.last_text === '++')) && - last_type !== 'TK_EQUALS' && - (opt.preserve_newlines || !(last_type === 'TK_RESERVED' && in_array(flags.last_text, ['var', 'let', 'const', 'set', 'get'])))) { - handle_whitespace_and_comments(current_token); - print_newline(); - } else { - handle_whitespace_and_comments(current_token); - } - - if (flags.do_block && !flags.do_while) { - if (current_token.type === 'TK_RESERVED' && current_token.text === 'while') { - // do {} ## while () - output.space_before_token = true; - print_token(); - output.space_before_token = true; - flags.do_while = true; - return; - } else { - // do {} should always have while as the next word. - // if we don't see the expected while, recover - print_newline(); - flags.do_block = false; - } - } - - // if may be followed by else, or not - // Bare/inline ifs are tricky - // Need to unwind the modes correctly: if (a) if (b) c(); else d(); else e(); - if (flags.if_block) { - if (!flags.else_block && (current_token.type === 'TK_RESERVED' && current_token.text === 'else')) { - flags.else_block = true; - } else { - while (flags.mode === MODE.Statement) { - restore_mode(); - } - flags.if_block = false; - flags.else_block = false; - } - } - - if (current_token.type === 'TK_RESERVED' && (current_token.text === 'case' || (current_token.text === 'default' && flags.in_case_statement))) { - print_newline(); - if (flags.case_body || opt.jslint_happy) { - // switch cases following one another - deindent(); - flags.case_body = false; - } - print_token(); - flags.in_case = true; - flags.in_case_statement = true; - return; - } - - if (last_type === 'TK_COMMA' || last_type === 'TK_START_EXPR' || last_type === 'TK_EQUALS' || last_type === 'TK_OPERATOR') { - if (!start_of_object_property()) { - allow_wrap_or_preserved_newline(); - } - } - - if (current_token.type === 'TK_RESERVED' && current_token.text === 'function') { - if (in_array(flags.last_text, ['}', ';']) || - (output.just_added_newline() && !(in_array(flags.last_text, ['(', '[', '{', ':', '=', ',']) || last_type === 'TK_OPERATOR'))) { - // make sure there is a nice clean space of at least one blank line - // before a new function definition - if (!output.just_added_blankline() && !current_token.comments_before.length) { - print_newline(); - print_newline(true); - } - } - if (last_type === 'TK_RESERVED' || last_type === 'TK_WORD') { - if (last_type === 'TK_RESERVED' && in_array(flags.last_text, ['get', 'set', 'new', 'return', 'export', 'async'])) { - output.space_before_token = true; - } else if (last_type === 'TK_RESERVED' && flags.last_text === 'default' && last_last_text === 'export') { - output.space_before_token = true; - } else { - print_newline(); - } - } else if (last_type === 'TK_OPERATOR' || flags.last_text === '=') { - // foo = function - output.space_before_token = true; - } else if (!flags.multiline_frame && (is_expression(flags.mode) || is_array(flags.mode))) { - // (function - } else { - print_newline(); - } - - print_token(); - flags.last_word = current_token.text; - return; - } - - prefix = 'NONE'; - - if (last_type === 'TK_END_BLOCK') { - - if (previous_flags.inline_frame) { - prefix = 'SPACE'; - } else if (!(current_token.type === 'TK_RESERVED' && in_array(current_token.text, ['else', 'catch', 'finally', 'from']))) { - prefix = 'NEWLINE'; - } else { - if (opt.brace_style === "expand" || - opt.brace_style === "end-expand" || - (opt.brace_style === "none" && current_token.wanted_newline)) { - prefix = 'NEWLINE'; - } else { - prefix = 'SPACE'; - output.space_before_token = true; - } - } - } else if (last_type === 'TK_SEMICOLON' && flags.mode === MODE.BlockStatement) { - // TODO: Should this be for STATEMENT as well? - prefix = 'NEWLINE'; - } else if (last_type === 'TK_SEMICOLON' && is_expression(flags.mode)) { - prefix = 'SPACE'; - } else if (last_type === 'TK_STRING') { - prefix = 'NEWLINE'; - } else if (last_type === 'TK_RESERVED' || last_type === 'TK_WORD' || - (flags.last_text === '*' && - (in_array(last_last_text, ['function', 'yield']) || - (flags.mode === MODE.ObjectLiteral && in_array(last_last_text, ['{', ',']))))) { - prefix = 'SPACE'; - } else if (last_type === 'TK_START_BLOCK') { - if (flags.inline_frame) { - prefix = 'SPACE'; - } else { - prefix = 'NEWLINE'; - } - } else if (last_type === 'TK_END_EXPR') { - output.space_before_token = true; - prefix = 'NEWLINE'; - } - - if (current_token.type === 'TK_RESERVED' && in_array(current_token.text, Tokenizer.line_starters) && flags.last_text !== ')') { - if (flags.inline_frame || flags.last_text === 'else' || flags.last_text === 'export') { - prefix = 'SPACE'; - } else { - prefix = 'NEWLINE'; - } - - } - - if (current_token.type === 'TK_RESERVED' && in_array(current_token.text, ['else', 'catch', 'finally'])) { - if ((!(last_type === 'TK_END_BLOCK' && previous_flags.mode === MODE.BlockStatement) || - opt.brace_style === "expand" || - opt.brace_style === "end-expand" || - (opt.brace_style === "none" && current_token.wanted_newline)) && - !flags.inline_frame) { - print_newline(); - } else { - output.trim(true); - var line = output.current_line; - // If we trimmed and there's something other than a close block before us - // put a newline back in. Handles '} // comment' scenario. - if (line.last() !== '}') { - print_newline(); - } - output.space_before_token = true; - } - } else if (prefix === 'NEWLINE') { - if (last_type === 'TK_RESERVED' && is_special_word(flags.last_text)) { - // no newline between 'return nnn' - output.space_before_token = true; - } else if (last_type !== 'TK_END_EXPR') { - if ((last_type !== 'TK_START_EXPR' || !(current_token.type === 'TK_RESERVED' && in_array(current_token.text, ['var', 'let', 'const']))) && flags.last_text !== ':') { - // no need to force newline on 'var': for (var x = 0...) - if (current_token.type === 'TK_RESERVED' && current_token.text === 'if' && flags.last_text === 'else') { - // no newline for } else if { - output.space_before_token = true; - } else { - print_newline(); - } - } - } else if (current_token.type === 'TK_RESERVED' && in_array(current_token.text, Tokenizer.line_starters) && flags.last_text !== ')') { - print_newline(); - } - } else if (flags.multiline_frame && is_array(flags.mode) && flags.last_text === ',' && last_last_text === '}') { - print_newline(); // }, in lists get a newline treatment - } else if (prefix === 'SPACE') { - output.space_before_token = true; - } - print_token(); - flags.last_word = current_token.text; - - if (current_token.type === 'TK_RESERVED') { - if (current_token.text === 'do') { - flags.do_block = true; - } else if (current_token.text === 'if') { - flags.if_block = true; - } else if (current_token.text === 'import') { - flags.import_block = true; - } else if (flags.import_block && current_token.type === 'TK_RESERVED' && current_token.text === 'from') { - flags.import_block = false; - } - } - } - - function handle_semicolon() { - if (start_of_statement()) { - // The conditional starts the statement if appropriate. - // Semicolon can be the start (and end) of a statement - output.space_before_token = false; - } else { - handle_whitespace_and_comments(current_token); - } - - var next_token = get_token(1); - while (flags.mode === MODE.Statement && - !(flags.if_block && next_token && next_token.type === 'TK_RESERVED' && next_token.text === 'else') && - !flags.do_block) { - restore_mode(); - } - - // hacky but effective for the moment - if (flags.import_block) { - flags.import_block = false; - } - print_token(); - } - - function handle_string() { - if (start_of_statement()) { - // The conditional starts the statement if appropriate. - // One difference - strings want at least a space before - output.space_before_token = true; - } else { - handle_whitespace_and_comments(current_token); - if (last_type === 'TK_RESERVED' || last_type === 'TK_WORD' || flags.inline_frame) { - output.space_before_token = true; - } else if (last_type === 'TK_COMMA' || last_type === 'TK_START_EXPR' || last_type === 'TK_EQUALS' || last_type === 'TK_OPERATOR') { - if (!start_of_object_property()) { - allow_wrap_or_preserved_newline(); - } - } else { - print_newline(); - } - } - print_token(); - } - - function handle_equals() { - if (start_of_statement()) { - // The conditional starts the statement if appropriate. - } else { - handle_whitespace_and_comments(current_token); - } - - if (flags.declaration_statement) { - // just got an '=' in a var-line, different formatting/line-breaking, etc will now be done - flags.declaration_assignment = true; - } - output.space_before_token = true; - print_token(); - output.space_before_token = true; - } - - function handle_comma() { - handle_whitespace_and_comments(current_token, true); - - print_token(); - output.space_before_token = true; - if (flags.declaration_statement) { - if (is_expression(flags.parent.mode)) { - // do not break on comma, for(var a = 1, b = 2) - flags.declaration_assignment = false; - } - - if (flags.declaration_assignment) { - flags.declaration_assignment = false; - print_newline(false, true); - } else if (opt.comma_first) { - // for comma-first, we want to allow a newline before the comma - // to turn into a newline after the comma, which we will fixup later - allow_wrap_or_preserved_newline(); - } - } else if (flags.mode === MODE.ObjectLiteral || - (flags.mode === MODE.Statement && flags.parent.mode === MODE.ObjectLiteral)) { - if (flags.mode === MODE.Statement) { - restore_mode(); - } - - if (!flags.inline_frame) { - print_newline(); - } - } else if (opt.comma_first) { - // EXPR or DO_BLOCK - // for comma-first, we want to allow a newline before the comma - // to turn into a newline after the comma, which we will fixup later - allow_wrap_or_preserved_newline(); - } - } - - function handle_operator() { - var isGeneratorAsterisk = current_token.text === '*' && - ((last_type === 'TK_RESERVED' && in_array(flags.last_text, ['function', 'yield'])) || - (in_array(last_type, ['TK_START_BLOCK', 'TK_COMMA', 'TK_END_BLOCK', 'TK_SEMICOLON'])) - ); - var isUnary = in_array(current_token.text, ['-', '+']) && ( - in_array(last_type, ['TK_START_BLOCK', 'TK_START_EXPR', 'TK_EQUALS', 'TK_OPERATOR']) || - in_array(flags.last_text, Tokenizer.line_starters) || - flags.last_text === ',' - ); - - if (start_of_statement()) { - // The conditional starts the statement if appropriate. - } else { - var preserve_statement_flags = !isGeneratorAsterisk; - handle_whitespace_and_comments(current_token, preserve_statement_flags); - } - - if (last_type === 'TK_RESERVED' && is_special_word(flags.last_text)) { - // "return" had a special handling in TK_WORD. Now we need to return the favor - output.space_before_token = true; - print_token(); - return; - } - - // hack for actionscript's import .*; - if (current_token.text === '*' && last_type === 'TK_DOT') { - print_token(); - return; - } - - if (current_token.text === '::') { - // no spaces around exotic namespacing syntax operator - print_token(); - return; - } - - // Allow line wrapping between operators when operator_position is - // set to before or preserve - if (last_type === 'TK_OPERATOR' && in_array(opt.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE)) { - allow_wrap_or_preserved_newline(); - } - - if (current_token.text === ':' && flags.in_case) { - flags.case_body = true; - indent(); - print_token(); - print_newline(); - flags.in_case = false; - return; - } - - var space_before = true; - var space_after = true; - var in_ternary = false; - if (current_token.text === ':') { - if (flags.ternary_depth === 0) { - // Colon is invalid javascript outside of ternary and object, but do our best to guess what was meant. - space_before = false; - } else { - flags.ternary_depth -= 1; - in_ternary = true; - } - } else if (current_token.text === '?') { - flags.ternary_depth += 1; - } - - // let's handle the operator_position option prior to any conflicting logic - if (!isUnary && !isGeneratorAsterisk && opt.preserve_newlines && in_array(current_token.text, Tokenizer.positionable_operators)) { - var isColon = current_token.text === ':'; - var isTernaryColon = (isColon && in_ternary); - var isOtherColon = (isColon && !in_ternary); - - switch (opt.operator_position) { - case OPERATOR_POSITION.before_newline: - // if the current token is : and it's not a ternary statement then we set space_before to false - output.space_before_token = !isOtherColon; - - print_token(); - - if (!isColon || isTernaryColon) { - allow_wrap_or_preserved_newline(); - } - - output.space_before_token = true; - return; - - case OPERATOR_POSITION.after_newline: - // if the current token is anything but colon, or (via deduction) it's a colon and in a ternary statement, - // then print a newline. - - output.space_before_token = true; - - if (!isColon || isTernaryColon) { - if (get_token(1).wanted_newline) { - print_newline(false, true); - } else { - allow_wrap_or_preserved_newline(); - } - } else { - output.space_before_token = false; - } - - print_token(); - - output.space_before_token = true; - return; - - case OPERATOR_POSITION.preserve_newline: - if (!isOtherColon) { - allow_wrap_or_preserved_newline(); - } - - // if we just added a newline, or the current token is : and it's not a ternary statement, - // then we set space_before to false - space_before = !(output.just_added_newline() || isOtherColon); - - output.space_before_token = space_before; - print_token(); - output.space_before_token = true; - return; - } - } - - if (isGeneratorAsterisk) { - allow_wrap_or_preserved_newline(); - space_before = false; - var next_token = get_token(1); - space_after = next_token && in_array(next_token.type, ['TK_WORD', 'TK_RESERVED']); - } else if (current_token.text === '...') { - allow_wrap_or_preserved_newline(); - space_before = last_type === 'TK_START_BLOCK'; - space_after = false; - } else if (in_array(current_token.text, ['--', '++', '!', '~']) || isUnary) { - // unary operators (and binary +/- pretending to be unary) special cases - - space_before = false; - space_after = false; - - // http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1 - // if there is a newline between -- or ++ and anything else we should preserve it. - if (current_token.wanted_newline && (current_token.text === '--' || current_token.text === '++')) { - print_newline(false, true); - } - - if (flags.last_text === ';' && is_expression(flags.mode)) { - // for (;; ++i) - // ^^^ - space_before = true; - } - - if (last_type === 'TK_RESERVED') { - space_before = true; - } else if (last_type === 'TK_END_EXPR') { - space_before = !(flags.last_text === ']' && (current_token.text === '--' || current_token.text === '++')); - } else if (last_type === 'TK_OPERATOR') { - // a++ + ++b; - // a - -b - space_before = in_array(current_token.text, ['--', '-', '++', '+']) && in_array(flags.last_text, ['--', '-', '++', '+']); - // + and - are not unary when preceeded by -- or ++ operator - // a-- + b - // a * +b - // a - -b - if (in_array(current_token.text, ['+', '-']) && in_array(flags.last_text, ['--', '++'])) { - space_after = true; - } - } - - - if (((flags.mode === MODE.BlockStatement && !flags.inline_frame) || flags.mode === MODE.Statement) && - (flags.last_text === '{' || flags.last_text === ';')) { - // { foo; --i } - // foo(); --bar; - print_newline(); - } - } - - output.space_before_token = output.space_before_token || space_before; - print_token(); - output.space_before_token = space_after; - } - - function handle_block_comment(preserve_statement_flags) { - if (output.raw) { - output.add_raw_token(current_token); - if (current_token.directives && current_token.directives.preserve === 'end') { - // If we're testing the raw output behavior, do not allow a directive to turn it off. - output.raw = opt.test_output_raw; - } - return; - } - - if (current_token.directives) { - print_newline(false, preserve_statement_flags); - print_token(); - if (current_token.directives.preserve === 'start') { - output.raw = true; - } - print_newline(false, true); - return; - } - - // inline block - if (!acorn.newline.test(current_token.text) && !current_token.wanted_newline) { - output.space_before_token = true; - print_token(); - output.space_before_token = true; - return; - } - - var lines = split_linebreaks(current_token.text); - var j; // iterator for this case - var javadoc = false; - var starless = false; - var lastIndent = current_token.whitespace_before; - var lastIndentLength = lastIndent.length; - - // block comment starts with a new line - print_newline(false, preserve_statement_flags); - if (lines.length > 1) { - javadoc = all_lines_start_with(lines.slice(1), '*'); - starless = each_line_matches_indent(lines.slice(1), lastIndent); - } - - // first line always indented - print_token(lines[0]); - for (j = 1; j < lines.length; j++) { - print_newline(false, true); - if (javadoc) { - // javadoc: reformat and re-indent - print_token(' ' + ltrim(lines[j])); - } else if (starless && lines[j].length > lastIndentLength) { - // starless: re-indent non-empty content, avoiding trim - print_token(lines[j].substring(lastIndentLength)); - } else { - // normal comments output raw - output.add_token(lines[j]); - } - } - - // for comments of more than one line, make sure there's a new line after - print_newline(false, preserve_statement_flags); - } - - function handle_comment(preserve_statement_flags) { - if (current_token.wanted_newline) { - print_newline(false, preserve_statement_flags); - } else { - output.trim(true); - } - - output.space_before_token = true; - print_token(); - print_newline(false, preserve_statement_flags); - } - - function handle_dot() { - if (start_of_statement()) { - // The conditional starts the statement if appropriate. - } else { - handle_whitespace_and_comments(current_token, true); - } - - if (last_type === 'TK_RESERVED' && is_special_word(flags.last_text)) { - output.space_before_token = true; - } else { - // allow preserved newlines before dots in general - // force newlines on dots after close paren when break_chained - for bar().baz() - allow_wrap_or_preserved_newline(flags.last_text === ')' && opt.break_chained_methods); - } - - print_token(); - } - - function handle_unknown(preserve_statement_flags) { - print_token(); - - if (current_token.text[current_token.text.length - 1] === '\n') { - print_newline(false, preserve_statement_flags); - } - } - - function handle_eof() { - // Unwind any open statements - while (flags.mode === MODE.Statement) { - restore_mode(); - } - handle_whitespace_and_comments(current_token); - } - } + if (this._flags.declaration_assignment) { + this._flags.declaration_assignment = false; + this.print_newline(false, true); + } else if (this._options.comma_first) { + // for comma-first, we want to allow a newline before the comma + // to turn into a newline after the comma, which we will fixup later + this.allow_wrap_or_preserved_newline(current_token); + } + } else if (this._flags.mode === MODE.ObjectLiteral || + (this._flags.mode === MODE.Statement && this._flags.parent.mode === MODE.ObjectLiteral)) { + if (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + if (!this._flags.inline_frame) { + this.print_newline(); + } + } else if (this._options.comma_first) { + // EXPR or DO_BLOCK + // for comma-first, we want to allow a newline before the comma + // to turn into a newline after the comma, which we will fixup later + this.allow_wrap_or_preserved_newline(current_token); + } +}; + +Beautifier.prototype.handle_operator = function(current_token) { + var isGeneratorAsterisk = current_token.text === '*' && + (reserved_array(this._flags.last_token, ['function', 'yield']) || + (in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.COMMA, TOKEN.END_BLOCK, TOKEN.SEMICOLON])) + ); + var isUnary = in_array(current_token.text, ['-', '+']) && ( + in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.START_EXPR, TOKEN.EQUALS, TOKEN.OPERATOR]) || + in_array(this._flags.last_token.text, line_starters) || + this._flags.last_token.text === ',' + ); + + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + var preserve_statement_flags = !isGeneratorAsterisk; + this.handle_whitespace_and_comments(current_token, preserve_statement_flags); + } + + if (reserved_array(this._flags.last_token, special_words)) { + // "return" had a special handling in TK_WORD. Now we need to return the favor + this._output.space_before_token = true; + this.print_token(current_token); + return; + } + + // hack for actionscript's import .*; + if (current_token.text === '*' && this._flags.last_token.type === TOKEN.DOT) { + this.print_token(current_token); + return; + } + + if (current_token.text === '::') { + // no spaces around exotic namespacing syntax operator + this.print_token(current_token); + return; + } + + // Allow line wrapping between operators when operator_position is + // set to before or preserve + if (this._flags.last_token.type === TOKEN.OPERATOR && in_array(this._options.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE)) { + this.allow_wrap_or_preserved_newline(current_token); + } + + if (current_token.text === ':' && this._flags.in_case) { + this._flags.case_body = true; + this.indent(); + this.print_token(current_token); + this.print_newline(); + this._flags.in_case = false; + return; + } + + var space_before = true; + var space_after = true; + var in_ternary = false; + if (current_token.text === ':') { + if (this._flags.ternary_depth === 0) { + // Colon is invalid javascript outside of ternary and object, but do our best to guess what was meant. + space_before = false; + } else { + this._flags.ternary_depth -= 1; + in_ternary = true; + } + } else if (current_token.text === '?') { + this._flags.ternary_depth += 1; + } + + // let's handle the operator_position option prior to any conflicting logic + if (!isUnary && !isGeneratorAsterisk && this._options.preserve_newlines && in_array(current_token.text, positionable_operators)) { + var isColon = current_token.text === ':'; + var isTernaryColon = (isColon && in_ternary); + var isOtherColon = (isColon && !in_ternary); + switch (this._options.operator_position) { + case OPERATOR_POSITION.before_newline: + // if the current token is : and it's not a ternary statement then we set space_before to false + this._output.space_before_token = !isOtherColon; - function OutputLine(parent) { - var _character_count = 0; - // use indent_count as a marker for lines that have preserved indentation - var _indent_count = -1; - - var _items = []; - var _empty = true; - - this.set_indent = function(level) { - _character_count = parent.baseIndentLength + level * parent.indent_length; - _indent_count = level; - }; - - this.get_character_count = function() { - return _character_count; - }; - - this.is_empty = function() { - return _empty; - }; - - this.last = function() { - if (!this._empty) { - return _items[_items.length - 1]; - } else { - return null; - } - }; - - this.push = function(input) { - _items.push(input); - _character_count += input.length; - _empty = false; - }; - - this.pop = function() { - var item = null; - if (!_empty) { - item = _items.pop(); - _character_count -= item.length; - _empty = _items.length === 0; - } - return item; - }; - - this.remove_indent = function() { - if (_indent_count > 0) { - _indent_count -= 1; - _character_count -= parent.indent_length; - } - }; - - this.trim = function() { - while (this.last() === ' ') { - _items.pop(); - _character_count -= 1; - } - _empty = _items.length === 0; - }; - - this.toString = function() { - var result = ''; - if (!this._empty) { - if (_indent_count >= 0) { - result = parent.indent_cache[_indent_count]; - } - result += _items.join(''); - } - return result; - }; + this.print_token(current_token); + + if (!isColon || isTernaryColon) { + this.allow_wrap_or_preserved_newline(current_token); } - function Output(indent_string, baseIndentString) { - baseIndentString = baseIndentString || ''; - this.indent_cache = [baseIndentString]; - this.baseIndentLength = baseIndentString.length; - this.indent_length = indent_string.length; - this.raw = false; - - var lines = []; - this.baseIndentString = baseIndentString; - this.indent_string = indent_string; - this.previous_line = null; - this.current_line = null; - this.space_before_token = false; - - this.add_outputline = function() { - this.previous_line = this.current_line; - this.current_line = new OutputLine(this); - lines.push(this.current_line); - }; - - // initialize - this.add_outputline(); - - - this.get_line_number = function() { - return lines.length; - }; - - // Using object instead of string to allow for later expansion of info about each line - this.add_new_line = function(force_newline) { - if (this.get_line_number() === 1 && this.just_added_newline()) { - return false; // no newline on start of file - } - - if (force_newline || !this.just_added_newline()) { - if (!this.raw) { - this.add_outputline(); - } - return true; - } - - return false; - }; - - this.get_code = function() { - var sweet_code = lines.join('\n').replace(/[\r\n\t ]+$/, ''); - return sweet_code; - }; - - this.set_indent = function(level) { - // Never indent your first output indent at the start of the file - if (lines.length > 1) { - while (level >= this.indent_cache.length) { - this.indent_cache.push(this.indent_cache[this.indent_cache.length - 1] + this.indent_string); - } - - this.current_line.set_indent(level); - return true; - } - this.current_line.set_indent(0); - return false; - }; - - this.add_raw_token = function(token) { - for (var x = 0; x < token.newlines; x++) { - this.add_outputline(); - } - this.current_line.push(token.whitespace_before); - this.current_line.push(token.text); - this.space_before_token = false; - }; - - this.add_token = function(printable_token) { - this.add_space_before_token(); - this.current_line.push(printable_token); - }; - - this.add_space_before_token = function() { - if (this.space_before_token && !this.just_added_newline()) { - this.current_line.push(' '); - } - this.space_before_token = false; - }; - - this.remove_redundant_indentation = function(frame) { - // This implementation is effective but has some issues: - // - can cause line wrap to happen too soon due to indent removal - // after wrap points are calculated - // These issues are minor compared to ugly indentation. - - if (frame.multiline_frame || - frame.mode === MODE.ForInitializer || - frame.mode === MODE.Conditional) { - return; - } - - // remove one indent from each line inside this section - var index = frame.start_line_index; - - var output_length = lines.length; - while (index < output_length) { - lines[index].remove_indent(); - index++; - } - }; - - this.trim = function(eat_newlines) { - eat_newlines = (eat_newlines === undefined) ? false : eat_newlines; - - this.current_line.trim(indent_string, baseIndentString); - - while (eat_newlines && lines.length > 1 && - this.current_line.is_empty()) { - lines.pop(); - this.current_line = lines[lines.length - 1]; - this.current_line.trim(); - } - - this.previous_line = lines.length > 1 ? lines[lines.length - 2] : null; - }; - - this.just_added_newline = function() { - return this.current_line.is_empty(); - }; - - this.just_added_blankline = function() { - if (this.just_added_newline()) { - if (lines.length === 1) { - return true; // start of the file and newline = blank - } - - var line = lines[lines.length - 2]; - return line.is_empty(); - } - return false; - }; + this._output.space_before_token = true; + return; + + case OPERATOR_POSITION.after_newline: + // if the current token is anything but colon, or (via deduction) it's a colon and in a ternary statement, + // then print a newline. + + this._output.space_before_token = true; + + if (!isColon || isTernaryColon) { + if (this._tokens.peek().newlines) { + this.print_newline(false, true); + } else { + this.allow_wrap_or_preserved_newline(current_token); + } + } else { + this._output.space_before_token = false; } - var InputScanner = function(input) { - var _input = input; - var _input_length = _input.length; - var _position = 0; - - this.back = function() { - _position -= 1; - }; - - this.hasNext = function() { - return _position < _input_length; - }; - - this.next = function() { - var val = null; - if (this.hasNext()) { - val = _input.charAt(_position); - _position += 1; - } - return val; - }; - - this.peek = function(index) { - var val = null; - index = index || 0; - index += _position; - if (index >= 0 && index < _input_length) { - val = _input.charAt(index); - } - return val; - }; - - this.peekCharCode = function(index) { - var val = 0; - index = index || 0; - index += _position; - if (index >= 0 && index < _input_length) { - val = _input.charCodeAt(index); - } - return val; - }; - - this.test = function(pattern, index) { - index = index || 0; - pattern.lastIndex = _position + index; - return pattern.test(_input); - }; - - this.testChar = function(pattern, index) { - var val = this.peek(index); - return val !== null && pattern.test(val); - }; - - this.match = function(pattern) { - pattern.lastIndex = _position; - var pattern_match = pattern.exec(_input); - if (pattern_match && pattern_match.index === _position) { - _position += pattern_match[0].length; - } else { - pattern_match = null; - } - return pattern_match; - }; - }; - - var Token = function(type, text, newlines, whitespace_before, parent) { - this.type = type; - this.text = text; - - // comments_before are - // comments that have a new line before them - // and may or may not have a newline after - // this is a set of comments before - this.comments_before = /* inline comment*/ []; - - - this.comments_after = []; // no new line before and newline after - this.newlines = newlines || 0; - this.wanted_newline = newlines > 0; - this.whitespace_before = whitespace_before || ''; - this.parent = parent || null; - this.opened = null; - this.directives = null; - }; - - function tokenizer(input_string, opts) { - - var whitespace = "\n\r\t ".split(''); - var digit = /[0-9]/; - var digit_bin = /[01]/; - var digit_oct = /[01234567]/; - var digit_hex = /[0123456789abcdefABCDEF]/; - - this.positionable_operators = '!= !== % & && * ** + - / : < << <= == === > >= >> >>> ? ^ | ||'.split(' '); - var punct = this.positionable_operators.concat( - // non-positionable operators - these do not follow operator position settings - '! %= &= *= **= ++ += , -- -= /= :: <<= = => >>= >>>= ^= |= ~ ...'.split(' ')); - - // words which should always start on new line. - this.line_starters = 'continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export'.split(','); - var reserved_words = this.line_starters.concat(['do', 'in', 'of', 'else', 'get', 'set', 'new', 'catch', 'finally', 'typeof', 'yield', 'async', 'await', 'from', 'as']); - - // /* ... */ comment ends with nearest */ or end of file - var block_comment_pattern = /([\s\S]*?)((?:\*\/)|$)/g; - - // comment ends just before nearest linefeed or end of file - var comment_pattern = /([^\n\r\u2028\u2029]*)/g; - - var directives_block_pattern = /\/\* beautify( \w+[:]\w+)+ \*\//g; - var directive_pattern = / (\w+)[:](\w+)/g; - var directives_end_ignore_pattern = /([\s\S]*?)((?:\/\*\sbeautify\signore:end\s\*\/)|$)/g; - - var template_pattern = /((<\?php|<\?=)[\s\S]*?\?>)|(<%[\s\S]*?%>)/g; - - var n_newlines, whitespace_before_token, in_html_comment, tokens; - var input; - - this.tokenize = function() { - input = new InputScanner(input_string); - in_html_comment = false; - tokens = []; - - var next, last; - var token_values; - var open = null; - var open_stack = []; - var comments = []; - - while (!(last && last.type === 'TK_EOF')) { - token_values = tokenize_next(); - next = new Token(token_values[1], token_values[0], n_newlines, whitespace_before_token); - while (next.type === 'TK_COMMENT' || next.type === 'TK_BLOCK_COMMENT' || next.type === 'TK_UNKNOWN') { - if (next.type === 'TK_BLOCK_COMMENT') { - next.directives = token_values[2]; - } - comments.push(next); - token_values = tokenize_next(); - next = new Token(token_values[1], token_values[0], n_newlines, whitespace_before_token); - } - - if (comments.length) { - next.comments_before = comments; - comments = []; - } - - if (next.type === 'TK_START_BLOCK' || next.type === 'TK_START_EXPR') { - next.parent = last; - open_stack.push(open); - open = next; - } else if ((next.type === 'TK_END_BLOCK' || next.type === 'TK_END_EXPR') && - (open && ( - (next.text === ']' && open.text === '[') || - (next.text === ')' && open.text === '(') || - (next.text === '}' && open.text === '{')))) { - next.parent = open.parent; - next.opened = open; - - open = open_stack.pop(); - } - - tokens.push(next); - last = next; - } - - return tokens; - }; - - function get_directives(text) { - if (!text.match(directives_block_pattern)) { - return null; - } - - var directives = {}; - directive_pattern.lastIndex = 0; - var directive_match = directive_pattern.exec(text); - - while (directive_match) { - directives[directive_match[1]] = directive_match[2]; - directive_match = directive_pattern.exec(text); - } - - return directives; - } - - function tokenize_next() { - var resulting_string; - var whitespace_on_this_line = []; - - n_newlines = 0; - whitespace_before_token = ''; - - var c = input.next(); - - if (c === null) { - return ['', 'TK_EOF']; - } - - var last_token; - if (tokens.length) { - last_token = tokens[tokens.length - 1]; - } else { - // For the sake of tokenizing we can pretend that there was on open brace to start - last_token = new Token('TK_START_BLOCK', '{'); - } - - while (in_array(c, whitespace)) { - - if (acorn.newline.test(c)) { - if (!(c === '\n' && input.peek(-2) === '\r')) { - n_newlines += 1; - whitespace_on_this_line = []; - } - } else { - whitespace_on_this_line.push(c); - } - - c = input.next(); - - if (c === null) { - return ['', 'TK_EOF']; - } - } - - if (whitespace_on_this_line.length) { - whitespace_before_token = whitespace_on_this_line.join(''); - } - - if (digit.test(c) || (c === '.' && input.testChar(digit))) { - var allow_decimal = true; - var allow_e = true; - var local_digit = digit; - - if (c === '0' && input.testChar(/[XxOoBb]/)) { - // switch to hex/oct/bin number, no decimal or e, just hex/oct/bin digits - allow_decimal = false; - allow_e = false; - if (input.testChar(/[Bb]/)) { - local_digit = digit_bin; - } else if (input.testChar(/[Oo]/)) { - local_digit = digit_oct; - } else { - local_digit = digit_hex; - } - c += input.next(); - } else if (c === '.') { - // Already have a decimal for this literal, don't allow another - allow_decimal = false; - } else { - // we know this first loop will run. It keeps the logic simpler. - c = ''; - input.back(); - } - - // Add the digits - while (input.testChar(local_digit)) { - c += input.next(); - - if (allow_decimal && input.peek() === '.') { - c += input.next(); - allow_decimal = false; - } - - // a = 1.e-7 is valid, so we test for . then e in one loop - if (allow_e && input.testChar(/[Ee]/)) { - c += input.next(); - - if (input.testChar(/[+-]/)) { - c += input.next(); - } - - allow_e = false; - allow_decimal = false; - } - } - - return [c, 'TK_WORD']; - } - - if (acorn.isIdentifierStart(input.peekCharCode(-1))) { - if (input.hasNext()) { - while (acorn.isIdentifierChar(input.peekCharCode())) { - c += input.next(); - if (!input.hasNext()) { - break; - } - } - } - - if (!(last_token.type === 'TK_DOT' || - (last_token.type === 'TK_RESERVED' && in_array(last_token.text, ['set', 'get']))) && - in_array(c, reserved_words)) { - if (c === 'in' || c === 'of') { // hack for 'in' and 'of' operators - return [c, 'TK_OPERATOR']; - } - return [c, 'TK_RESERVED']; - } - - return [c, 'TK_WORD']; - } - - if (c === '(' || c === '[') { - return [c, 'TK_START_EXPR']; - } - - if (c === ')' || c === ']') { - return [c, 'TK_END_EXPR']; - } - - if (c === '{') { - return [c, 'TK_START_BLOCK']; - } - - if (c === '}') { - return [c, 'TK_END_BLOCK']; - } - - if (c === ';') { - return [c, 'TK_SEMICOLON']; - } - - if (c === '/') { - var comment = ''; - var comment_match; - // peek for comment /* ... */ - if (input.peek() === '*') { - input.next(); - comment_match = input.match(block_comment_pattern); - comment = '/*' + comment_match[0]; - var directives = get_directives(comment); - if (directives && directives.ignore === 'start') { - comment_match = input.match(directives_end_ignore_pattern); - comment += comment_match[0]; - } - comment = comment.replace(acorn.allLineBreaks, '\n'); - return [comment, 'TK_BLOCK_COMMENT', directives]; - } - // peek for comment // ... - if (input.peek() === '/') { - input.next(); - comment_match = input.match(comment_pattern); - comment = '//' + comment_match[0]; - return [comment, 'TK_COMMENT']; - } - - } - - var startXmlRegExp = /<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; - - if (c === '`' || c === "'" || c === '"' || // string - ( - (c === '/') || // regexp - (opts.e4x && c === "<" && input.test(startXmlRegExp, -1)) // xml - ) && ( // regex and xml can only appear in specific locations during parsing - (last_token.type === 'TK_RESERVED' && in_array(last_token.text, ['return', 'case', 'throw', 'else', 'do', 'typeof', 'yield'])) || - (last_token.type === 'TK_END_EXPR' && last_token.text === ')' && - last_token.parent && last_token.parent.type === 'TK_RESERVED' && in_array(last_token.parent.text, ['if', 'while', 'for'])) || - (in_array(last_token.type, ['TK_COMMENT', 'TK_START_EXPR', 'TK_START_BLOCK', - 'TK_END_BLOCK', 'TK_OPERATOR', 'TK_EQUALS', 'TK_EOF', 'TK_SEMICOLON', 'TK_COMMA' - ])) - )) { - - var sep = c, - esc = false, - has_char_escapes = false; - - resulting_string = c; - - if (sep === '/') { - // - // handle regexp - // - var in_char_class = false; - while (input.hasNext() && - ((esc || in_char_class || input.peek() !== sep) && - !input.testChar(acorn.newline))) { - resulting_string += input.peek(); - if (!esc) { - esc = input.peek() === '\\'; - if (input.peek() === '[') { - in_char_class = true; - } else if (input.peek() === ']') { - in_char_class = false; - } - } else { - esc = false; - } - input.next(); - } - } else if (opts.e4x && sep === '<') { - // - // handle e4x xml literals - // - - var xmlRegExp = /[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; - input.back(); - var xmlStr = ''; - var match = input.match(startXmlRegExp); - if (match) { - // Trim root tag to attempt to - var rootTag = match[2].replace(/^{\s+/, '{').replace(/\s+}$/, '}'); - var isCurlyRoot = rootTag.indexOf('{') === 0; - var depth = 0; - while (match) { - var isEndTag = !!match[1]; - var tagName = match[2]; - var isSingletonTag = (!!match[match.length - 1]) || (tagName.slice(0, 8) === "![CDATA["); - if (!isSingletonTag && - (tagName === rootTag || (isCurlyRoot && tagName.replace(/^{\s+/, '{').replace(/\s+}$/, '}')))) { - if (isEndTag) { - --depth; - } else { - ++depth; - } - } - xmlStr += match[0]; - if (depth <= 0) { - break; - } - match = input.match(xmlRegExp); - } - // if we didn't close correctly, keep unformatted. - if (!match) { - xmlStr += input.match(/[\s\S]*/g)[0]; - } - xmlStr = xmlStr.replace(acorn.allLineBreaks, '\n'); - return [xmlStr, "TK_STRING"]; - } - } else { - // - // handle string - // - var parse_string = function(delimiter, allow_unescaped_newlines, start_sub) { - // Template strings can travers lines without escape characters. - // Other strings cannot - var current_char; - while (input.hasNext()) { - current_char = input.peek(); - if (!(esc || (current_char !== delimiter && - (allow_unescaped_newlines || !acorn.newline.test(current_char))))) { - break; - } - - // Handle \r\n linebreaks after escapes or in template strings - if ((esc || allow_unescaped_newlines) && acorn.newline.test(current_char)) { - if (current_char === '\r' && input.peek(1) === '\n') { - input.next(); - current_char = input.peek(); - } - resulting_string += '\n'; - } else { - resulting_string += current_char; - } - - if (esc) { - if (current_char === 'x' || current_char === 'u') { - has_char_escapes = true; - } - esc = false; - } else { - esc = current_char === '\\'; - } - - input.next(); - - if (start_sub && resulting_string.indexOf(start_sub, resulting_string.length - start_sub.length) !== -1) { - if (delimiter === '`') { - parse_string('}', allow_unescaped_newlines, '`'); - } else { - parse_string('`', allow_unescaped_newlines, '${'); - } - - if (input.hasNext()) { - resulting_string += input.next(); - } - } - } - }; - - if (sep === '`') { - parse_string('`', true, '${'); - } else { - parse_string(sep); - } - } - - if (has_char_escapes && opts.unescape_strings) { - resulting_string = unescape_string(resulting_string); - } - - if (input.peek() === sep) { - resulting_string += sep; - input.next(); - - if (sep === '/') { - // regexps may have modifiers /regexp/MOD , so fetch those, too - // Only [gim] are valid, but if the user puts in garbage, do what we can to take it. - while (input.hasNext() && acorn.isIdentifierStart(input.peekCharCode())) { - resulting_string += input.next(); - } - } - } - return [resulting_string, 'TK_STRING']; - } - - if (c === '#') { - - if (tokens.length === 0 && input.peek() === '!') { - // shebang - resulting_string = c; - while (input.hasNext() && c !== '\n') { - c = input.next(); - resulting_string += c; - } - return [trim(resulting_string) + '\n', 'TK_UNKNOWN']; - } - - - - // Spidermonkey-specific sharp variables for circular references - // https://developer.mozilla.org/En/Sharp_variables_in_JavaScript - // http://mxr.mozilla.org/mozilla-central/source/js/src/jsscan.cpp around line 1935 - var sharp = '#'; - if (input.hasNext() && input.testChar(digit)) { - do { - c = input.next(); - sharp += c; - } while (input.hasNext() && c !== '#' && c !== '='); - if (c === '#') { - // - } else if (input.peek() === '[' && input.peek(1) === ']') { - sharp += '[]'; - input.next(); - input.next(); - } else if (input.peek() === '{' && input.peek(1) === '}') { - sharp += '{}'; - input.next(); - input.next(); - } - return [sharp, 'TK_WORD']; - } - } - - if (c === '<' && (input.peek() === '?' || input.peek() === '%')) { - input.back(); - var template_match = input.match(template_pattern); - if (template_match) { - c = template_match[0]; - c = c.replace(acorn.allLineBreaks, '\n'); - return [c, 'TK_STRING']; - } - } - - if (c === '<' && input.match(/\!--/g)) { - c = '', 'TK_COMMENT']; - } - - if (c === '.') { - if (input.peek() === '.' && input.peek(1) === '.') { - c += input.next() + input.next(); - return [c, 'TK_OPERATOR']; - } - return [c, 'TK_DOT']; - } - - if (in_array(c, punct)) { - while (input.hasNext() && in_array(c + input.peek(), punct)) { - c += input.next(); - if (!input.hasNext()) { - break; - } - } - - if (c === ',') { - return [c, 'TK_COMMA']; - } else if (c === '=') { - return [c, 'TK_EQUALS']; - } else { - return [c, 'TK_OPERATOR']; - } - } - - return [c, 'TK_UNKNOWN']; - } - - - function unescape_string(s) { - // You think that a regex would work for this - // return s.replace(/\\x([0-9a-f]{2})/gi, function(match, val) { - // return String.fromCharCode(parseInt(val, 16)); - // }) - // However, dealing with '\xff', '\\xff', '\\\xff' makes this more fun. - var out = '', - escaped = 0; - - var input_scan = new InputScanner(s); - var matched = null; - - while (input_scan.hasNext()) { - // Keep any whitespace, non-slash characters - // also keep slash pairs. - matched = input_scan.match(/([\s]|[^\\]|\\\\)+/g); - - if (matched) { - out += matched[0]; - } - - if (input_scan.peek() === '\\') { - input_scan.next(); - if (input_scan.peek() === 'x') { - matched = input_scan.match(/x([0-9A-Fa-f]{2})/g); - } else if (input_scan.peek() === 'u') { - matched = input_scan.match(/u([0-9A-Fa-f]{4})/g); - } else { - out += '\\'; - if (input_scan.hasNext()) { - out += input_scan.next(); - } - continue; - } - - // If there's some error decoding, return the original string - if (!matched) { - return s; - } - - escaped = parseInt(matched[1], 16); - - if (escaped > 0x7e && escaped <= 0xff && matched[0].indexOf('x') === 0) { - // we bail out on \x7f..\xff, - // leaving whole string escaped, - // as it's probably completely binary - return s; - } else if (escaped >= 0x00 && escaped < 0x20) { - // leave 0x00...0x1f escaped - out += '\\' + matched[0]; - continue; - } else if (escaped === 0x22 || escaped === 0x27 || escaped === 0x5c) { - // single-quote, apostrophe, backslash - escape these - out += '\\' + String.fromCharCode(escaped); - } else { - out += String.fromCharCode(escaped); - } - } - } - - return out; - } + this.print_token(current_token); + + this._output.space_before_token = true; + return; + + case OPERATOR_POSITION.preserve_newline: + if (!isOtherColon) { + this.allow_wrap_or_preserved_newline(current_token); } - var beautifier = new Beautifier(js_source_text, options); - return beautifier.beautify(); + // if we just added a newline, or the current token is : and it's not a ternary statement, + // then we set space_before to false + space_before = !(this._output.just_added_newline() || isOtherColon); + + this._output.space_before_token = space_before; + this.print_token(current_token); + this._output.space_before_token = true; + return; + } + } + + if (isGeneratorAsterisk) { + this.allow_wrap_or_preserved_newline(current_token); + space_before = false; + var next_token = this._tokens.peek(); + space_after = next_token && in_array(next_token.type, [TOKEN.WORD, TOKEN.RESERVED]); + } else if (current_token.text === '...') { + this.allow_wrap_or_preserved_newline(current_token); + space_before = this._flags.last_token.type === TOKEN.START_BLOCK; + space_after = false; + } else if (in_array(current_token.text, ['--', '++', '!', '~']) || isUnary) { + // unary operators (and binary +/- pretending to be unary) special cases + if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR) { + this.allow_wrap_or_preserved_newline(current_token); + } + + space_before = false; + space_after = false; + + // http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1 + // if there is a newline between -- or ++ and anything else we should preserve it. + if (current_token.newlines && (current_token.text === '--' || current_token.text === '++')) { + this.print_newline(false, true); + } + + if (this._flags.last_token.text === ';' && is_expression(this._flags.mode)) { + // for (;; ++i) + // ^^^ + space_before = true; + } + + if (this._flags.last_token.type === TOKEN.RESERVED) { + space_before = true; + } else if (this._flags.last_token.type === TOKEN.END_EXPR) { + space_before = !(this._flags.last_token.text === ']' && (current_token.text === '--' || current_token.text === '++')); + } else if (this._flags.last_token.type === TOKEN.OPERATOR) { + // a++ + ++b; + // a - -b + space_before = in_array(current_token.text, ['--', '-', '++', '+']) && in_array(this._flags.last_token.text, ['--', '-', '++', '+']); + // + and - are not unary when preceeded by -- or ++ operator + // a-- + b + // a * +b + // a - -b + if (in_array(current_token.text, ['+', '-']) && in_array(this._flags.last_token.text, ['--', '++'])) { + space_after = true; + } + } + + + if (((this._flags.mode === MODE.BlockStatement && !this._flags.inline_frame) || this._flags.mode === MODE.Statement) && + (this._flags.last_token.text === '{' || this._flags.last_token.text === ';')) { + // { foo; --i } + // foo(); --bar; + this.print_newline(); + } + } + + this._output.space_before_token = this._output.space_before_token || space_before; + this.print_token(current_token); + this._output.space_before_token = space_after; +}; + +Beautifier.prototype.handle_block_comment = function(current_token, preserve_statement_flags) { + if (this._output.raw) { + this._output.add_raw_token(current_token); + if (current_token.directives && current_token.directives.preserve === 'end') { + // If we're testing the raw output behavior, do not allow a directive to turn it off. + this._output.raw = this._options.test_output_raw; + } + return; + } + + if (current_token.directives) { + this.print_newline(false, preserve_statement_flags); + this.print_token(current_token); + if (current_token.directives.preserve === 'start') { + this._output.raw = true; + } + this.print_newline(false, true); + return; + } + + // inline block + if (!acorn.newline.test(current_token.text) && !current_token.newlines) { + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; + return; + } + + var lines = split_linebreaks(current_token.text); + var j; // iterator for this case + var javadoc = false; + var starless = false; + var lastIndent = current_token.whitespace_before; + var lastIndentLength = lastIndent.length; + + // block comment starts with a new line + this.print_newline(false, preserve_statement_flags); + if (lines.length > 1) { + javadoc = all_lines_start_with(lines.slice(1), '*'); + starless = each_line_matches_indent(lines.slice(1), lastIndent); + } + + // first line always indented + this.print_token(current_token, lines[0]); + for (j = 1; j < lines.length; j++) { + this.print_newline(false, true); + if (javadoc) { + // javadoc: reformat and re-indent + this.print_token(current_token, ' ' + ltrim(lines[j])); + } else if (starless && lines[j].length > lastIndentLength) { + // starless: re-indent non-empty content, avoiding trim + this.print_token(current_token, lines[j].substring(lastIndentLength)); + } else { + // normal comments output raw + this._output.add_token(lines[j]); + } + } + + // for comments of more than one line, make sure there's a new line after + this.print_newline(false, preserve_statement_flags); +}; + +Beautifier.prototype.handle_comment = function(current_token, preserve_statement_flags) { + if (current_token.newlines) { + this.print_newline(false, preserve_statement_flags); + } else { + this._output.trim(true); + } + + this._output.space_before_token = true; + this.print_token(current_token); + this.print_newline(false, preserve_statement_flags); +}; + +Beautifier.prototype.handle_dot = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + this.handle_whitespace_and_comments(current_token, true); + } + + if (reserved_array(this._flags.last_token, special_words)) { + this._output.space_before_token = false; + } else { + // allow preserved newlines before dots in general + // force newlines on dots after close paren when break_chained - for bar().baz() + this.allow_wrap_or_preserved_newline(current_token, + this._flags.last_token.text === ')' && this._options.break_chained_methods); + } + + // Only unindent chained method dot if this dot starts a new line. + // Otherwise the automatic extra indentation removal will handle the over indent + if (this._options.unindent_chained_methods && this._output.just_added_newline()) { + this.deindent(); + } + + this.print_token(current_token); +}; + +Beautifier.prototype.handle_unknown = function(current_token, preserve_statement_flags) { + this.print_token(current_token); + + if (current_token.text[current_token.text.length - 1] === '\n') { + this.print_newline(false, preserve_statement_flags); + } +}; + +Beautifier.prototype.handle_eof = function(current_token) { + // Unwind any open statements + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + this.handle_whitespace_and_comments(current_token); +}; + +module.exports.Beautifier = Beautifier; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function OutputLine(parent) { + this.__parent = parent; + this.__character_count = 0; + // use indent_count as a marker for this.__lines that have preserved indentation + this.__indent_count = -1; + this.__alignment_count = 0; + this.__items = []; +} + +OutputLine.prototype.item = function(index) { + if (index < 0) { + return this.__items[this.__items.length + index]; + } else { + return this.__items[index]; + } +}; + +OutputLine.prototype.has_match = function(pattern) { + for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) { + if (this.__items[lastCheckedOutput].match(pattern)) { + return true; + } + } + return false; +}; + +OutputLine.prototype.set_indent = function(indent, alignment) { + this.__indent_count = indent || 0; + this.__alignment_count = alignment || 0; + this.__character_count = this.__parent.baseIndentLength + this.__alignment_count + this.__indent_count * this.__parent.indent_length; +}; + +OutputLine.prototype.get_character_count = function() { + return this.__character_count; +}; + +OutputLine.prototype.is_empty = function() { + return this.__items.length === 0; +}; + +OutputLine.prototype.last = function() { + if (!this.is_empty()) { + return this.__items[this.__items.length - 1]; + } else { + return null; + } +}; + +OutputLine.prototype.push = function(item) { + this.__items.push(item); + this.__character_count += item.length; +}; + +OutputLine.prototype.push_raw = function(item) { + this.push(item); + var last_newline_index = item.lastIndexOf('\n'); + if (last_newline_index !== -1) { + this.__character_count = item.length - last_newline_index; + } +}; + +OutputLine.prototype.pop = function() { + var item = null; + if (!this.is_empty()) { + item = this.__items.pop(); + this.__character_count -= item.length; + } + return item; +}; + +OutputLine.prototype.remove_indent = function() { + if (this.__indent_count > 0) { + this.__indent_count -= 1; + this.__character_count -= this.__parent.indent_length; + } +}; + +OutputLine.prototype.trim = function() { + while (this.last() === ' ') { + this.__items.pop(); + this.__character_count -= 1; + } +}; + +OutputLine.prototype.toString = function() { + var result = ''; + if (!this.is_empty()) { + if (this.__indent_count >= 0) { + result = this.__parent.get_indent_string(this.__indent_count); + } + if (this.__alignment_count >= 0) { + result += this.__parent.get_alignment_string(this.__alignment_count); } + result += this.__items.join(''); + } + return result; +}; + +function IndentCache(base_string, level_string) { + this.__cache = [base_string]; + this.__level_string = level_string; +} + +IndentCache.prototype.__ensure_cache = function(level) { + while (level >= this.__cache.length) { + this.__cache.push(this.__cache[this.__cache.length - 1] + this.__level_string); + } +}; + +IndentCache.prototype.get_level_string = function(level) { + this.__ensure_cache(level); + return this.__cache[level]; +}; + + +function Output(options, baseIndentString) { + var indent_string = options.indent_char; + if (options.indent_size > 1) { + indent_string = new Array(options.indent_size + 1).join(options.indent_char); + } + + // Set to null to continue support for auto detection of base indent level. + baseIndentString = baseIndentString || ''; + if (options.indent_level > 0) { + baseIndentString = new Array(options.indent_level + 1).join(indent_string); + } + + this.__indent_cache = new IndentCache(baseIndentString, indent_string); + this.__alignment_cache = new IndentCache('', ' '); + this.baseIndentLength = baseIndentString.length; + this.indent_length = indent_string.length; + this.raw = false; + this._end_with_newline = options.end_with_newline; + + this.__lines = []; + this.previous_line = null; + this.current_line = null; + this.space_before_token = false; + // initialize + this.__add_outputline(); +} - if (typeof define === "function" && define.amd) { - // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) - define([], function() { - return { js_beautify: js_beautify }; - }); - } else if (typeof exports !== "undefined") { - // Add support for CommonJS. Just put this file somewhere on your require.paths - // and you will be able to `var js_beautify = require("beautify").js_beautify`. - exports.js_beautify = js_beautify; - } else if (typeof window !== "undefined") { - // If we're running a web page and don't have either of the above, add our one global - window.js_beautify = js_beautify; - } else if (typeof global !== "undefined") { - // If we don't even have window, try global. - global.js_beautify = js_beautify; +Output.prototype.__add_outputline = function() { + this.previous_line = this.current_line; + this.current_line = new OutputLine(this); + this.__lines.push(this.current_line); +}; + +Output.prototype.get_line_number = function() { + return this.__lines.length; +}; + +Output.prototype.get_indent_string = function(level) { + return this.__indent_cache.get_level_string(level); +}; + +Output.prototype.get_alignment_string = function(level) { + return this.__alignment_cache.get_level_string(level); +}; + +Output.prototype.is_empty = function() { + return !this.previous_line && this.current_line.is_empty(); +}; + +Output.prototype.add_new_line = function(force_newline) { + // never newline at the start of file + // otherwise, newline only if we didn't just add one or we're forced + if (this.is_empty() || + (!force_newline && this.just_added_newline())) { + return false; + } + + // if raw output is enabled, don't print additional newlines, + // but still return True as though you had + if (!this.raw) { + this.__add_outputline(); + } + return true; +}; + +Output.prototype.get_code = function(eol) { + var sweet_code = this.__lines.join('\n').replace(/[\r\n\t ]+$/, ''); + + if (this._end_with_newline) { + sweet_code += '\n'; + } + + if (eol !== '\n') { + sweet_code = sweet_code.replace(/[\n]/g, eol); + } + + return sweet_code; +}; + +Output.prototype.set_indent = function(indent, alignment) { + indent = indent || 0; + alignment = alignment || 0; + + // Never indent your first output indent at the start of the file + if (this.__lines.length > 1) { + this.current_line.set_indent(indent, alignment); + return true; + } + this.current_line.set_indent(); + return false; +}; + +Output.prototype.add_raw_token = function(token) { + for (var x = 0; x < token.newlines; x++) { + this.__add_outputline(); + } + this.current_line.push(token.whitespace_before); + this.current_line.push_raw(token.text); + this.space_before_token = false; +}; + +Output.prototype.add_token = function(printable_token) { + this.add_space_before_token(); + this.current_line.push(printable_token); +}; + +Output.prototype.add_space_before_token = function() { + if (this.space_before_token && !this.just_added_newline()) { + this.current_line.push(' '); + } + this.space_before_token = false; +}; + +Output.prototype.remove_indent = function(index) { + var output_length = this.__lines.length; + while (index < output_length) { + this.__lines[index].remove_indent(); + index++; + } +}; + +Output.prototype.trim = function(eat_newlines) { + eat_newlines = (eat_newlines === undefined) ? false : eat_newlines; + + this.current_line.trim(this.indent_string, this.baseIndentString); + + while (eat_newlines && this.__lines.length > 1 && + this.current_line.is_empty()) { + this.__lines.pop(); + this.current_line = this.__lines[this.__lines.length - 1]; + this.current_line.trim(); + } + + this.previous_line = this.__lines.length > 1 ? + this.__lines[this.__lines.length - 2] : null; +}; + +Output.prototype.just_added_newline = function() { + return this.current_line.is_empty(); +}; + +Output.prototype.just_added_blankline = function() { + return this.is_empty() || + (this.current_line.is_empty() && this.previous_line.is_empty()); +}; + +Output.prototype.ensure_empty_line_above = function(starts_with, ends_with) { + var index = this.__lines.length - 2; + while (index >= 0) { + var potentialEmptyLine = this.__lines[index]; + if (potentialEmptyLine.is_empty()) { + break; + } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 && + potentialEmptyLine.item(-1) !== ends_with) { + this.__lines.splice(index + 1, 0, new OutputLine(this)); + this.previous_line = this.__lines[this.__lines.length - 2]; + break; } + index--; + } +}; + +module.exports.Output = Output; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Token(type, text, newlines, whitespace_before) { + this.type = type; + this.text = text; + + // comments_before are + // comments that have a new line before them + // and may or may not have a newline after + // this is a set of comments before + this.comments_before = null; /* inline comment*/ + + + // this.comments_after = new TokenStream(); // no new line before and newline after + this.newlines = newlines || 0; + this.whitespace_before = whitespace_before || ''; + this.parent = null; + this.next = null; + this.previous = null; + this.opened = null; + this.closed = null; + this.directives = null; +} + + +module.exports.Token = Token; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* jshint node: true, curly: false */ +// Parts of this section of code is taken from acorn. +// +// Acorn was written by Marijn Haverbeke and released under an MIT +// license. The Unicode regexps (for identifiers and whitespace) were +// taken from [Esprima](http://esprima.org) by Ariya Hidayat. +// +// Git repositories for Acorn are available at +// +// http://marijnhaverbeke.nl/git/acorn +// https://github.com/marijnh/acorn.git + +// ## Character categories + + + + +// acorn used char codes to squeeze the last bit of performance out +// Beautifier is okay without that, so we're using regex +// permit $ (36) and @ (64). @ is used in ES7 decorators. +// 65 through 91 are uppercase letters. +// permit _ (95). +// 97 through 123 are lowercase letters. +var baseASCIIidentifierStartChars = "\x24\x40\x41-\x5a\x5f\x61-\x7a"; + +// inside an identifier @ is not allowed but 0-9 are. +var baseASCIIidentifierChars = "\x24\x30-\x39\x41-\x5a\x5f\x61-\x7a"; + +// Big ugly regular expressions that match characters in the +// whitespace, identifier, and identifier-start categories. These +// are only applied when a character is found to actually have a +// code point above 128. +var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +var nonASCIIidentifierChars = "\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +//var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +//var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + +var identifierStart = "[" + baseASCIIidentifierStartChars + nonASCIIidentifierStartChars + "]"; +var identifierChars = "[" + baseASCIIidentifierChars + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]*"; + +exports.identifier = new RegExp(identifierStart + identifierChars, 'g'); + + +var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; // jshint ignore:line + +// Whether a single character denotes a newline. + +exports.newline = /[\n\r\u2028\u2029]/; + +// Matches a whole line break (where CRLF is considered a single +// line break). Used to count lines. + +// in javascript, these two differ +// in python they are the same, different methods are called on them +exports.lineBreak = new RegExp('\r\n|' + exports.newline.source); +exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g'); + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var BaseOptions = __webpack_require__(6).Options; + +var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline']; + +function Options(options) { + BaseOptions.call(this, options, 'js'); + + // compatibility, re + var raw_brace_style = this.raw_options.brace_style || null; + if (raw_brace_style === "expand-strict") { //graceful handling of deprecated option + this.raw_options.brace_style = "expand"; + } else if (raw_brace_style === "collapse-preserve-inline") { //graceful handling of deprecated option + this.raw_options.brace_style = "collapse,preserve-inline"; + } else if (this.raw_options.braces_on_own_line !== undefined) { //graceful handling of deprecated option + this.raw_options.brace_style = this.raw_options.braces_on_own_line ? "expand" : "collapse"; + // } else if (!raw_brace_style) { //Nothing exists to set it + // raw_brace_style = "collapse"; + } + + //preserve-inline in delimited string will trigger brace_preserve_inline, everything + //else is considered a brace_style and the last one only will have an effect + + var brace_style_split = this._get_selection_list('brace_style', ['collapse', 'expand', 'end-expand', 'none', 'preserve-inline']); + + this.brace_preserve_inline = false; //Defaults in case one or other was not specified in meta-option + this.brace_style = "collapse"; + + for (var bs = 0; bs < brace_style_split.length; bs++) { + if (brace_style_split[bs] === "preserve-inline") { + this.brace_preserve_inline = true; + } else { + this.brace_style = brace_style_split[bs]; + } + } + + this.unindent_chained_methods = this._get_boolean('unindent_chained_methods'); + this.break_chained_methods = this._get_boolean('break_chained_methods'); + this.space_in_paren = this._get_boolean('space_in_paren'); + this.space_in_empty_paren = this._get_boolean('space_in_empty_paren'); + this.jslint_happy = this._get_boolean('jslint_happy'); + this.space_after_anon_function = this._get_boolean('space_after_anon_function'); + this.space_after_named_function = this._get_boolean('space_after_named_function'); + this.keep_array_indentation = this._get_boolean('keep_array_indentation'); + this.space_before_conditional = this._get_boolean('space_before_conditional', true); + this.unescape_strings = this._get_boolean('unescape_strings'); + this.e4x = this._get_boolean('e4x'); + this.comma_first = this._get_boolean('comma_first'); + this.operator_position = this._get_selection('operator_position', validPositionValues); + + // For testing of beautify preserve:start directive + this.test_output_raw = this._get_boolean('test_output_raw'); + + // force this._options.space_after_anon_function to true if this._options.jslint_happy + if (this.jslint_happy) { + this.space_after_anon_function = true; + } + +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Options(options, merge_child_field) { + this.raw_options = _mergeOpts(options, merge_child_field); + + // Support passing the source text back with no change + this.disabled = this._get_boolean('disabled'); + + this.eol = this._get_characters('eol', 'auto'); + this.end_with_newline = this._get_boolean('end_with_newline'); + this.indent_size = this._get_number('indent_size', 4); + this.indent_char = this._get_characters('indent_char', ' '); + this.indent_level = this._get_number('indent_level'); + + this.preserve_newlines = this._get_boolean('preserve_newlines', true); + this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786); + if (!this.preserve_newlines) { + this.max_preserve_newlines = 0; + } + + this.indent_with_tabs = this._get_boolean('indent_with_tabs'); + if (this.indent_with_tabs) { + this.indent_char = '\t'; + this.indent_size = 1; + } + + // Backwards compat with 1.3.x + this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char')); + +} + +Options.prototype._get_array = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || []; + if (typeof option_value === 'object') { + if (option_value !== null && typeof option_value.concat === 'function') { + result = option_value.concat(); + } + } else if (typeof option_value === 'string') { + result = option_value.split(/[^a-zA-Z0-9_\/\-]+/); + } + return result; +}; + +Options.prototype._get_boolean = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = option_value === undefined ? !!default_value : !!option_value; + return result; +}; + +Options.prototype._get_characters = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || ''; + if (typeof option_value === 'string') { + result = option_value.replace(/\\r/, '\r').replace(/\\n/, '\n').replace(/\\t/, '\t'); + } + return result; +}; + +Options.prototype._get_number = function(name, default_value) { + var option_value = this.raw_options[name]; + default_value = parseInt(default_value, 10); + if (isNaN(default_value)) { + default_value = 0; + } + var result = parseInt(option_value, 10); + if (isNaN(result)) { + result = default_value; + } + return result; +}; + +Options.prototype._get_selection = function(name, selection_list, default_value) { + var result = this._get_selection_list(name, selection_list, default_value); + if (result.length !== 1) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can only be one of the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result[0]; +}; + + +Options.prototype._get_selection_list = function(name, selection_list, default_value) { + if (!selection_list || selection_list.length === 0) { + throw new Error("Selection list cannot be empty."); + } + + default_value = default_value || [selection_list[0]]; + if (!this._is_valid_selection(default_value, selection_list)) { + throw new Error("Invalid Default Value!"); + } + + var result = this._get_array(name, default_value); + if (!this._is_valid_selection(result, selection_list)) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can contain only the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result; +}; + +Options.prototype._is_valid_selection = function(result, selection_list) { + return result.length && selection_list.length && + !result.some(function(item) { return selection_list.indexOf(item) === -1; }); +}; + + +// merges child options up with the parent options object +// Example: obj = {a: 1, b: {a: 2}} +// mergeOpts(obj, 'b') +// +// Returns: {a: 2} +function _mergeOpts(allOptions, childFieldName) { + var finalOpts = {}; + allOptions = _normalizeOpts(allOptions); + var name; + + for (name in allOptions) { + if (name !== childFieldName) { + finalOpts[name] = allOptions[name]; + } + } + + //merge in the per type settings for the childFieldName + if (childFieldName && allOptions[childFieldName]) { + for (name in allOptions[childFieldName]) { + finalOpts[name] = allOptions[childFieldName][name]; + } + } + return finalOpts; +} + +function _normalizeOpts(options) { + var convertedOpts = {}; + var key; + + for (key in options) { + var newKey = key.replace(/-/g, "_"); + convertedOpts[newKey] = options[key]; + } + return convertedOpts; +} + +module.exports.Options = Options; +module.exports.normalizeOpts = _normalizeOpts; +module.exports.mergeOpts = _mergeOpts; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var InputScanner = __webpack_require__(8).InputScanner; +var BaseTokenizer = __webpack_require__(9).Tokenizer; +var BASETOKEN = __webpack_require__(9).TOKEN; +var Directives = __webpack_require__(11).Directives; +var acorn = __webpack_require__(4); + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + + +var TOKEN = { + START_EXPR: 'TK_START_EXPR', + END_EXPR: 'TK_END_EXPR', + START_BLOCK: 'TK_START_BLOCK', + END_BLOCK: 'TK_END_BLOCK', + WORD: 'TK_WORD', + RESERVED: 'TK_RESERVED', + SEMICOLON: 'TK_SEMICOLON', + STRING: 'TK_STRING', + EQUALS: 'TK_EQUALS', + OPERATOR: 'TK_OPERATOR', + COMMA: 'TK_COMMA', + BLOCK_COMMENT: 'TK_BLOCK_COMMENT', + COMMENT: 'TK_COMMENT', + DOT: 'TK_DOT', + UNKNOWN: 'TK_UNKNOWN', + START: BASETOKEN.START, + RAW: BASETOKEN.RAW, + EOF: BASETOKEN.EOF +}; + + +var directives_core = new Directives(/\/\*/, /\*\//); + +var number_pattern = /0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/g; + +var digit = /[0-9]/; + +// Dot "." must be distinguished from "..." and decimal +var dot_pattern = /[^\d\.]/; + +var positionable_operators = ( + ">>> === !== " + + "<< && >= ** != == <= >> || " + + "< / - + > : & % ? ^ | *").split(' '); + +// IMPORTANT: this must be sorted longest to shortest or tokenizing many not work. +// Also, you must update possitionable operators separately from punct +var punct = + ">>>= " + + "... >>= <<= === >>> !== **= " + + "=> ^= :: /= << <= == && -= >= >> != -- += ** || ++ %= &= *= |= " + + "= ! ? > < : / ^ - + * & % ~ |"; + +punct = punct.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&"); +punct = punct.replace(/ /g, '|'); + +var punct_pattern = new RegExp(punct, 'g'); +var shebang_pattern = /#![^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g; +var include_pattern = /#include[^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g; + +// words which should always start on new line. +var line_starters = 'continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export'.split(','); +var reserved_words = line_starters.concat(['do', 'in', 'of', 'else', 'get', 'set', 'new', 'catch', 'finally', 'typeof', 'yield', 'async', 'await', 'from', 'as']); +var reserved_word_pattern = new RegExp('^(?:' + reserved_words.join('|') + ')$'); + +// /* ... */ comment ends with nearest */ or end of file +var block_comment_pattern = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g; + +// comment ends just before nearest linefeed or end of file +var comment_pattern = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + +var template_pattern = /(?:(?:<\?php|<\?=)[\s\S]*?\?>)|(?:<%[\s\S]*?%>)/g; + +var in_html_comment; + +var Tokenizer = function(input_string, options) { + BaseTokenizer.call(this, input_string, options); + + this._whitespace_pattern = /[\n\r\u2028\u2029\t\u000B\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff ]+/g; + this._newline_pattern = /([^\n\r\u2028\u2029]*)(\r\n|[\n\r\u2028\u2029])?/g; +}; +Tokenizer.prototype = new BaseTokenizer(); + +Tokenizer.prototype._is_comment = function(current_token) { + return current_token.type === TOKEN.COMMENT || current_token.type === TOKEN.BLOCK_COMMENT || current_token.type === TOKEN.UNKNOWN; +}; + +Tokenizer.prototype._is_opening = function(current_token) { + return current_token.type === TOKEN.START_BLOCK || current_token.type === TOKEN.START_EXPR; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { + return (current_token.type === TOKEN.END_BLOCK || current_token.type === TOKEN.END_EXPR) && + (open_token && ( + (current_token.text === ']' && open_token.text === '[') || + (current_token.text === ')' && open_token.text === '(') || + (current_token.text === '}' && open_token.text === '{'))); +}; + +Tokenizer.prototype._reset = function() { + in_html_comment = false; +}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var token = null; + var c = this._input.peek(); + + token = token || this._read_singles(c); + token = token || this._read_word(previous_token); + token = token || this._read_comment(c); + token = token || this._read_string(c); + token = token || this._read_regexp(c, previous_token); + token = token || this._read_xml(c, previous_token); + token = token || this._read_non_javascript(c); + token = token || this._read_punctuation(); + token = token || this._create_token(TOKEN.UNKNOWN, this._input.next()); + + return token; +}; + +Tokenizer.prototype._read_word = function(previous_token) { + var resulting_string; + resulting_string = this._input.read(acorn.identifier); + if (resulting_string !== '') { + if (!(previous_token.type === TOKEN.DOT || + (previous_token.type === TOKEN.RESERVED && (previous_token.text === 'set' || previous_token.text === 'get'))) && + reserved_word_pattern.test(resulting_string)) { + if (resulting_string === 'in' || resulting_string === 'of') { // hack for 'in' and 'of' operators + return this._create_token(TOKEN.OPERATOR, resulting_string); + } + return this._create_token(TOKEN.RESERVED, resulting_string); + } + + return this._create_token(TOKEN.WORD, resulting_string); + } + + resulting_string = this._input.read(number_pattern); + if (resulting_string !== '') { + return this._create_token(TOKEN.WORD, resulting_string); + } +}; + +Tokenizer.prototype._read_singles = function(c) { + var token = null; + if (c === null) { + token = this._create_token(TOKEN.EOF, ''); + } else if (c === '(' || c === '[') { + token = this._create_token(TOKEN.START_EXPR, c); + } else if (c === ')' || c === ']') { + token = this._create_token(TOKEN.END_EXPR, c); + } else if (c === '{') { + token = this._create_token(TOKEN.START_BLOCK, c); + } else if (c === '}') { + token = this._create_token(TOKEN.END_BLOCK, c); + } else if (c === ';') { + token = this._create_token(TOKEN.SEMICOLON, c); + } else if (c === '.' && dot_pattern.test(this._input.peek(1))) { + token = this._create_token(TOKEN.DOT, c); + } else if (c === ',') { + token = this._create_token(TOKEN.COMMA, c); + } + + if (token) { + this._input.next(); + } + return token; +}; + +Tokenizer.prototype._read_punctuation = function() { + var resulting_string = this._input.read(punct_pattern); + + if (resulting_string !== '') { + if (resulting_string === '=') { + return this._create_token(TOKEN.EQUALS, resulting_string); + } else { + return this._create_token(TOKEN.OPERATOR, resulting_string); + } + } +}; + +Tokenizer.prototype._read_non_javascript = function(c) { + var resulting_string = ''; + + if (c === '#') { + if (this._is_first_token()) { + resulting_string = this._input.read(shebang_pattern); + + if (resulting_string) { + return this._create_token(TOKEN.UNKNOWN, resulting_string.trim() + '\n'); + } + } + + // handles extendscript #includes + resulting_string = this._input.read(include_pattern); + + if (resulting_string) { + return this._create_token(TOKEN.UNKNOWN, resulting_string.trim() + '\n'); + } + + c = this._input.next(); + + // Spidermonkey-specific sharp variables for circular references. Considered obsolete. + var sharp = '#'; + if (this._input.hasNext() && this._input.testChar(digit)) { + do { + c = this._input.next(); + sharp += c; + } while (this._input.hasNext() && c !== '#' && c !== '='); + if (c === '#') { + // + } else if (this._input.peek() === '[' && this._input.peek(1) === ']') { + sharp += '[]'; + this._input.next(); + this._input.next(); + } else if (this._input.peek() === '{' && this._input.peek(1) === '}') { + sharp += '{}'; + this._input.next(); + this._input.next(); + } + return this._create_token(TOKEN.WORD, sharp); + } + + this._input.back(); + + } else if (c === '<') { + if (this._input.peek(1) === '?' || this._input.peek(1) === '%') { + resulting_string = this._input.read(template_pattern); + if (resulting_string) { + resulting_string = resulting_string.replace(acorn.allLineBreaks, '\n'); + return this._create_token(TOKEN.STRING, resulting_string); + } + } else if (this._input.match(/<\!--/g)) { + c = '/g)) { + in_html_comment = false; + return this._create_token(TOKEN.COMMENT, '-->'); + } + + return null; +}; + +Tokenizer.prototype._read_comment = function(c) { + var token = null; + if (c === '/') { + var comment = ''; + if (this._input.peek(1) === '*') { + // peek for comment /* ... */ + comment = this._input.read(block_comment_pattern); + var directives = directives_core.get_directives(comment); + if (directives && directives.ignore === 'start') { + comment += directives_core.readIgnored(this._input); + } + comment = comment.replace(acorn.allLineBreaks, '\n'); + token = this._create_token(TOKEN.BLOCK_COMMENT, comment); + token.directives = directives; + } else if (this._input.peek(1) === '/') { + // peek for comment // ... + comment = this._input.read(comment_pattern); + token = this._create_token(TOKEN.COMMENT, comment); + } + } + return token; +}; + +Tokenizer.prototype._read_string = function(c) { + if (c === '`' || c === "'" || c === '"') { + var resulting_string = this._input.next(); + this.has_char_escapes = false; + + if (c === '`') { + resulting_string += this._read_string_recursive('`', true, '${'); + } else { + resulting_string += this._read_string_recursive(c); + } + + if (this.has_char_escapes && this._options.unescape_strings) { + resulting_string = unescape_string(resulting_string); + } + if (this._input.peek() === c) { + resulting_string += this._input.next(); + } + + return this._create_token(TOKEN.STRING, resulting_string); + } + + return null; +}; + +Tokenizer.prototype._allow_regexp_or_xml = function(previous_token) { + // regex and xml can only appear in specific locations during parsing + return (previous_token.type === TOKEN.RESERVED && in_array(previous_token.text, ['return', 'case', 'throw', 'else', 'do', 'typeof', 'yield'])) || + (previous_token.type === TOKEN.END_EXPR && previous_token.text === ')' && + previous_token.opened.previous.type === TOKEN.RESERVED && in_array(previous_token.opened.previous.text, ['if', 'while', 'for'])) || + (in_array(previous_token.type, [TOKEN.COMMENT, TOKEN.START_EXPR, TOKEN.START_BLOCK, TOKEN.START, + TOKEN.END_BLOCK, TOKEN.OPERATOR, TOKEN.EQUALS, TOKEN.EOF, TOKEN.SEMICOLON, TOKEN.COMMA + ])); +}; + +Tokenizer.prototype._read_regexp = function(c, previous_token) { + + if (c === '/' && this._allow_regexp_or_xml(previous_token)) { + // handle regexp + // + var resulting_string = this._input.next(); + var esc = false; + + var in_char_class = false; + while (this._input.hasNext() && + ((esc || in_char_class || this._input.peek() !== c) && + !this._input.testChar(acorn.newline))) { + resulting_string += this._input.peek(); + if (!esc) { + esc = this._input.peek() === '\\'; + if (this._input.peek() === '[') { + in_char_class = true; + } else if (this._input.peek() === ']') { + in_char_class = false; + } + } else { + esc = false; + } + this._input.next(); + } + + if (this._input.peek() === c) { + resulting_string += this._input.next(); + + // regexps may have modifiers /regexp/MOD , so fetch those, too + // Only [gim] are valid, but if the user puts in garbage, do what we can to take it. + resulting_string += this._input.read(acorn.identifier); + } + return this._create_token(TOKEN.STRING, resulting_string); + } + return null; +}; + + +var startXmlRegExp = /<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; +var xmlRegExp = /[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; + +Tokenizer.prototype._read_xml = function(c, previous_token) { + + if (this._options.e4x && c === "<" && this._input.test(startXmlRegExp) && this._allow_regexp_or_xml(previous_token)) { + // handle e4x xml literals + // + var xmlStr = ''; + var match = this._input.match(startXmlRegExp); + if (match) { + // Trim root tag to attempt to + var rootTag = match[2].replace(/^{\s+/, '{').replace(/\s+}$/, '}'); + var isCurlyRoot = rootTag.indexOf('{') === 0; + var depth = 0; + while (match) { + var isEndTag = !!match[1]; + var tagName = match[2]; + var isSingletonTag = (!!match[match.length - 1]) || (tagName.slice(0, 8) === "![CDATA["); + if (!isSingletonTag && + (tagName === rootTag || (isCurlyRoot && tagName.replace(/^{\s+/, '{').replace(/\s+}$/, '}')))) { + if (isEndTag) { + --depth; + } else { + ++depth; + } + } + xmlStr += match[0]; + if (depth <= 0) { + break; + } + match = this._input.match(xmlRegExp); + } + // if we didn't close correctly, keep unformatted. + if (!match) { + xmlStr += this._input.match(/[\s\S]*/g)[0]; + } + xmlStr = xmlStr.replace(acorn.allLineBreaks, '\n'); + return this._create_token(TOKEN.STRING, xmlStr); + } + } + + return null; +}; + +function unescape_string(s) { + // You think that a regex would work for this + // return s.replace(/\\x([0-9a-f]{2})/gi, function(match, val) { + // return String.fromCharCode(parseInt(val, 16)); + // }) + // However, dealing with '\xff', '\\xff', '\\\xff' makes this more fun. + var out = '', + escaped = 0; + + var input_scan = new InputScanner(s); + var matched = null; + + while (input_scan.hasNext()) { + // Keep any whitespace, non-slash characters + // also keep slash pairs. + matched = input_scan.match(/([\s]|[^\\]|\\\\)+/g); + + if (matched) { + out += matched[0]; + } + + if (input_scan.peek() === '\\') { + input_scan.next(); + if (input_scan.peek() === 'x') { + matched = input_scan.match(/x([0-9A-Fa-f]{2})/g); + } else if (input_scan.peek() === 'u') { + matched = input_scan.match(/u([0-9A-Fa-f]{4})/g); + } else { + out += '\\'; + if (input_scan.hasNext()) { + out += input_scan.next(); + } + continue; + } + + // If there's some error decoding, return the original string + if (!matched) { + return s; + } + + escaped = parseInt(matched[1], 16); + + if (escaped > 0x7e && escaped <= 0xff && matched[0].indexOf('x') === 0) { + // we bail out on \x7f..\xff, + // leaving whole string escaped, + // as it's probably completely binary + return s; + } else if (escaped >= 0x00 && escaped < 0x20) { + // leave 0x00...0x1f escaped + out += '\\' + matched[0]; + continue; + } else if (escaped === 0x22 || escaped === 0x27 || escaped === 0x5c) { + // single-quote, apostrophe, backslash - escape these + out += '\\' + String.fromCharCode(escaped); + } else { + out += String.fromCharCode(escaped); + } + } + } + + return out; +} + +// handle string +// +Tokenizer.prototype._read_string_recursive = function(delimiter, allow_unescaped_newlines, start_sub) { + // Template strings can travers lines without escape characters. + // Other strings cannot + var current_char; + var resulting_string = ''; + var esc = false; + while (this._input.hasNext()) { + current_char = this._input.peek(); + if (!(esc || (current_char !== delimiter && + (allow_unescaped_newlines || !acorn.newline.test(current_char))))) { + break; + } + + // Handle \r\n linebreaks after escapes or in template strings + if ((esc || allow_unescaped_newlines) && acorn.newline.test(current_char)) { + if (current_char === '\r' && this._input.peek(1) === '\n') { + this._input.next(); + current_char = this._input.peek(); + } + resulting_string += '\n'; + } else { + resulting_string += current_char; + } + + if (esc) { + if (current_char === 'x' || current_char === 'u') { + this.has_char_escapes = true; + } + esc = false; + } else { + esc = current_char === '\\'; + } + + this._input.next(); + + if (start_sub && resulting_string.indexOf(start_sub, resulting_string.length - start_sub.length) !== -1) { + if (delimiter === '`') { + resulting_string += this._read_string_recursive('}', allow_unescaped_newlines, '`'); + } else { + resulting_string += this._read_string_recursive('`', allow_unescaped_newlines, '${'); + } + + if (this._input.hasNext()) { + resulting_string += this._input.next(); + } + } + } + + return resulting_string; +}; + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; +module.exports.positionable_operators = positionable_operators.slice(); +module.exports.line_starters = line_starters.slice(); + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function InputScanner(input_string) { + this.__input = input_string || ''; + this.__input_length = this.__input.length; + this.__position = 0; +} + +InputScanner.prototype.restart = function() { + this.__position = 0; +}; + +InputScanner.prototype.back = function() { + if (this.__position > 0) { + this.__position -= 1; + } +}; + +InputScanner.prototype.hasNext = function() { + return this.__position < this.__input_length; +}; + +InputScanner.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__input.charAt(this.__position); + this.__position += 1; + } + return val; +}; + +InputScanner.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__input_length) { + val = this.__input.charAt(index); + } + return val; +}; + +InputScanner.prototype.test = function(pattern, index) { + index = index || 0; + index += this.__position; + pattern.lastIndex = index; + + if (index >= 0 && index < this.__input_length) { + var pattern_match = pattern.exec(this.__input); + return pattern_match && pattern_match.index === index; + } else { + return false; + } +}; + +InputScanner.prototype.testChar = function(pattern, index) { + // test one character regex match + var val = this.peek(index); + return val !== null && pattern.test(val); +}; + +InputScanner.prototype.match = function(pattern) { + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match && pattern_match.index === this.__position) { + this.__position += pattern_match[0].length; + } else { + pattern_match = null; + } + return pattern_match; +}; + +InputScanner.prototype.read = function(pattern) { + var val = ''; + var match = this.match(pattern); + if (match) { + val = match[0]; + } + return val; +}; + +InputScanner.prototype.readUntil = function(pattern, include_match) { + var val = ''; + var match_index = this.__position; + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match) { + if (include_match) { + match_index = pattern_match.index + pattern_match[0].length; + } else { + match_index = pattern_match.index; + } + } else { + match_index = this.__input_length; + } + + val = this.__input.substring(this.__position, match_index); + this.__position = match_index; + return val; +}; + +InputScanner.prototype.readUntilAfter = function(pattern) { + return this.readUntil(pattern, true); +}; + +/* css beautifier legacy helpers */ +InputScanner.prototype.peekUntilAfter = function(pattern) { + var start = this.__position; + var val = this.readUntilAfter(pattern); + this.__position = start; + return val; +}; + +InputScanner.prototype.lookBack = function(testVal) { + var start = this.__position - 1; + return start >= testVal.length && this.__input.substring(start - testVal.length, start) + .toLowerCase() === testVal; +}; + + +module.exports.InputScanner = InputScanner; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +var InputScanner = __webpack_require__(8).InputScanner; +var Token = __webpack_require__(3).Token; +var TokenStream = __webpack_require__(10).TokenStream; + +var TOKEN = { + START: 'TK_START', + RAW: 'TK_RAW', + EOF: 'TK_EOF' +}; + +var Tokenizer = function(input_string, options) { + this._input = new InputScanner(input_string); + this._options = options || {}; + this.__tokens = null; + this.__newline_count = 0; + this.__whitespace_before_token = ''; + + this._whitespace_pattern = /[\n\r\t ]+/g; + this._newline_pattern = /([^\n\r]*)(\r\n|[\n\r])?/g; +}; + +Tokenizer.prototype.tokenize = function() { + this._input.restart(); + this.__tokens = new TokenStream(); + + this._reset(); + + var current; + var previous = new Token(TOKEN.START, ''); + var open_token = null; + var open_stack = []; + var comments = new TokenStream(); + + while (previous.type !== TOKEN.EOF) { + current = this._get_next_token(previous, open_token); + while (this._is_comment(current)) { + comments.add(current); + current = this._get_next_token(previous, open_token); + } + + if (!comments.isEmpty()) { + current.comments_before = comments; + comments = new TokenStream(); + } + + current.parent = open_token; + + if (this._is_opening(current)) { + open_stack.push(open_token); + open_token = current; + } else if (open_token && this._is_closing(current, open_token)) { + current.opened = open_token; + open_token.closed = current; + open_token = open_stack.pop(); + current.parent = open_token; + } + + current.previous = previous; + previous.next = current; + + this.__tokens.add(current); + previous = current; + } + + return this.__tokens; +}; + + +Tokenizer.prototype._is_first_token = function() { + return this.__tokens.isEmpty(); +}; + +Tokenizer.prototype._reset = function() {}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var resulting_string = this._input.read(/.+/g); + if (resulting_string) { + return this._create_token(TOKEN.RAW, resulting_string); + } else { + return this._create_token(TOKEN.EOF, ''); + } +}; + +Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._is_opening = function(current_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._create_token = function(type, text) { + var token = new Token(type, text, this.__newline_count, this.__whitespace_before_token); + this.__newline_count = 0; + this.__whitespace_before_token = ''; + return token; +}; + +Tokenizer.prototype._readWhitespace = function() { + var resulting_string = this._input.read(this._whitespace_pattern); + if (resulting_string === ' ') { + this.__whitespace_before_token = resulting_string; + } else if (resulting_string !== '') { + this._newline_pattern.lastIndex = 0; + var nextMatch = this._newline_pattern.exec(resulting_string); + while (nextMatch[2]) { + this.__newline_count += 1; + nextMatch = this._newline_pattern.exec(resulting_string); + } + this.__whitespace_before_token = nextMatch[1]; + } +}; + + + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function TokenStream(parent_token) { + // private + this.__tokens = []; + this.__tokens_length = this.__tokens.length; + this.__position = 0; + this.__parent_token = parent_token; +} + +TokenStream.prototype.restart = function() { + this.__position = 0; +}; + +TokenStream.prototype.isEmpty = function() { + return this.__tokens_length === 0; +}; + +TokenStream.prototype.hasNext = function() { + return this.__position < this.__tokens_length; +}; + +TokenStream.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__tokens[this.__position]; + this.__position += 1; + } + return val; +}; + +TokenStream.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__tokens_length) { + val = this.__tokens[index]; + } + return val; +}; + +TokenStream.prototype.add = function(token) { + if (this.__parent_token) { + token.parent = this.__parent_token; + } + this.__tokens.push(token); + this.__tokens_length += 1; +}; + +module.exports.TokenStream = TokenStream; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + + +function Directives(start_block_pattern, end_block_pattern) { + start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source; + end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source; + this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \w+[:]\w+)+ /.source + end_block_pattern, 'g'); + this.__directive_pattern = / (\w+)[:](\w+)/g; + + this.__directives_end_ignore_pattern = new RegExp('(?:[\\s\\S]*?)((?:' + start_block_pattern + /\sbeautify\signore:end\s/.source + end_block_pattern + ')|$)', 'g'); +} + +Directives.prototype.get_directives = function(text) { + if (!text.match(this.__directives_block_pattern)) { + return null; + } + + var directives = {}; + this.__directive_pattern.lastIndex = 0; + var directive_match = this.__directive_pattern.exec(text); + + while (directive_match) { + directives[directive_match[1]] = directive_match[2]; + directive_match = this.__directive_pattern.exec(text); + } + + return directives; +}; + +Directives.prototype.readIgnored = function(input) { + return input.read(this.__directives_end_ignore_pattern); +}; + + +module.exports.Directives = Directives; + + +/***/ }) +/******/ ]); +var js_beautify = legacy_beautify_js; +/* Footer */ +if (typeof define === "function" && define.amd) { + // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) + define([], function() { + return { js_beautify: js_beautify }; + }); +} else if (typeof exports !== "undefined") { + // Add support for CommonJS. Just put this file somewhere on your require.paths + // and you will be able to `var js_beautify = require("beautify").js_beautify`. + exports.js_beautify = js_beautify; +} else if (typeof window !== "undefined") { + // If we're running a web page and don't have either of the above, add our one global + window.js_beautify = js_beautify; +} else if (typeof global !== "undefined") { + // If we don't even have window, try global. + global.js_beautify = js_beautify; +} + +}()); -}()); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/cli.js b/build/js-transpiled/node_modules/js-beautify/js/lib/cli.js index f959c16d..1350b34b 100755 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/cli.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/cli.js @@ -3,7 +3,7 @@ /* The MIT License (MIT) - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -31,590 +31,612 @@ Written by Daniel Stockman (daniel.stockman@gmail.com) */ +/*jshint strict:false */ var debug = process.env.DEBUG_JSBEAUTIFY || process.env.JSBEAUTIFY_DEBUG ? function() { - console.error.apply(console, arguments); + console.error.apply(console, arguments); } : function() {}; var fs = require('fs'), - cc = require('config-chain'), - beautify = require('../index'), - mkdirp = require('mkdirp'), - nopt = require('nopt'); + cc = require('config-chain'), + beautify = require('../index'), + mkdirp = require('mkdirp'), + nopt = require('nopt'); + +nopt.invalidHandler = function(key, val) { + throw new Error(key + " was invalid with value \"" + val + "\""); +}; + nopt.typeDefs.brace_style = { - type: "brace_style", - validate: function(data, key, val) { - data[key] = val; - // TODO: expand-strict is obsolete, now identical to expand. Remove in future version - // TODO: collapse-preserve-inline is obselete, now identical to collapse,preserve-inline = true. Remove in future version - var validVals = ["collapse", "collapse-preserve-inline", "expand", "end-expand", "expand-strict", "none"]; - var valSplit = val.split(/[^a-zA-Z0-9_\-]+/); - for (var i = 0; i < validVals.length; i++) { - if (validVals[i] === val || validVals[i] === valSplit[0] && valSplit[1] === "preserve-inline") { - return true; - } - } + type: "brace_style", + validate: function(data, key, val) { + data[key] = val; + // TODO: expand-strict is obsolete, now identical to expand. Remove in future version + // TODO: collapse-preserve-inline is obselete, now identical to collapse,preserve-inline = true. Remove in future version + var validVals = ["collapse", "collapse-preserve-inline", "expand", "end-expand", "expand-strict", "none", "preserve-inline"]; + var valSplit = val.split(/[^a-zA-Z0-9_\-]+/); //Split will always return at least one parameter + for (var i = 0; i < valSplit.length; i++) { + if (validVals.indexOf(valSplit[i]) === -1) { return false; + } } + return true; + } }; var path = require('path'), - editorconfig = require('editorconfig'), - knownOpts = { - // Beautifier - "indent_size": Number, - "indent_char": String, - "eol": String, - "indent_level": Number, - "indent_with_tabs": Boolean, - "preserve_newlines": Boolean, - "max_preserve_newlines": Number, - "space_in_paren": Boolean, - "space_in_empty_paren": Boolean, - "jslint_happy": Boolean, - "space_after_anon_function": Boolean, - "brace_style": "brace_style", //See above for validation - "break_chained_methods": Boolean, - "keep_array_indentation": Boolean, - "unescape_strings": Boolean, - "wrap_line_length": Number, - "wrap_attributes": ["auto", "force", "force-aligned"], - "wrap_attributes_indent_size": Number, - "e4x": Boolean, - "end_with_newline": Boolean, - "comma_first": Boolean, - "operator_position": ["before-newline", "after-newline", "preserve-newline"], - // CSS-only - "selector_separator_newline": Boolean, - "newline_between_rules": Boolean, - "space_around_combinator": Boolean, - //deprecated - replaced with space_around_combinator, remove in future version - "space_around_selector_separator": Boolean, - // HTML-only - "max_char": Number, // obsolete since 1.3.5 - "unformatted": [String, Array], - "content_unformatted": [String, Array], - "indent_inner_html": [Boolean], - "indent_handlebars": [Boolean], - "indent_scripts": ["keep", "separate", "normal"], - "extra_liners": [String, Array], - // CLI - "version": Boolean, - "help": Boolean, - "files": [path, Array], - "outfile": path, - "replace": Boolean, - "quiet": Boolean, - "type": ["js", "css", "html"], - "config": path, - "editorconfig": Boolean - }, - // dasherizeShorthands provides { "indent-size": ["--indent_size"] } - // translation, allowing more convenient dashes in CLI arguments - shortHands = dasherizeShorthands({ - // Beautifier - "s": ["--indent_size"], - "c": ["--indent_char"], - "e": ["--eol"], - "l": ["--indent_level"], - "t": ["--indent_with_tabs"], - "p": ["--preserve_newlines"], - "m": ["--max_preserve_newlines"], - "P": ["--space_in_paren"], - "Q": ["--space_in_empty_paren"], - "j": ["--jslint_happy"], - "a": ["--space_after_anon_function"], - "b": ["--brace_style"], - "B": ["--break_chained_methods"], - "k": ["--keep_array_indentation"], - "x": ["--unescape_strings"], - "w": ["--wrap_line_length"], - "X": ["--e4x"], - "n": ["--end_with_newline"], - "C": ["--comma_first"], - "O": ["--operator_position"], - // CSS-only - "L": ["--selector_separator_newline"], - "N": ["--newline_between_rules"], - // HTML-only - "A": ["--wrap_attributes"], - "i": ["--wrap_attributes_indent_size"], - "W": ["--max_char"], // obsolete since 1.3.5 - "U": ["--unformatted"], - "T": ["--content_unformatted"], - "I": ["--indent_inner_html"], - "H": ["--indent_handlebars"], - "S": ["--indent_scripts"], - "E": ["--extra_liners"], - // non-dasherized hybrid shortcuts - "good-stuff": [ - "--keep_array_indentation", - "--keep_function_indentation", - "--jslint_happy" - ], - "js": ["--type", "js"], - "css": ["--type", "css"], - "html": ["--type", "html"], - // CLI - "v": ["--version"], - "h": ["--help"], - "f": ["--files"], - "o": ["--outfile"], - "r": ["--replace"], - "q": ["--quiet"] - // no shorthand for "config" - // no shorthand for "editorconfig" - }); + editorconfig = require('editorconfig'), + knownOpts = { + // Beautifier + "indent_size": Number, + "indent_char": String, + "eol": String, + "indent_level": Number, + "indent_with_tabs": Boolean, + "preserve_newlines": Boolean, + "max_preserve_newlines": Number, + "space_in_paren": Boolean, + "space_in_empty_paren": Boolean, + "jslint_happy": Boolean, + "space_after_anon_function": Boolean, + "space_after_named_function": Boolean, + "brace_style": "brace_style", //See above for validation + "unindent_chained_methods": Boolean, + "break_chained_methods": Boolean, + "keep_array_indentation": Boolean, + "unescape_strings": Boolean, + "wrap_line_length": Number, + "wrap_attributes": ["auto", "force", "force-aligned", "force-expand-multiline", "aligned-multiple", "preserve", "preserve-aligned"], + "wrap_attributes_indent_size": Number, + "e4x": Boolean, + "end_with_newline": Boolean, + "comma_first": Boolean, + "operator_position": ["before-newline", "after-newline", "preserve-newline"], + // CSS-only + "selector_separator_newline": Boolean, + "newline_between_rules": Boolean, + "space_around_combinator": Boolean, + //deprecated - replaced with space_around_combinator, remove in future version + "space_around_selector_separator": Boolean, + // HTML-only + "max_char": Number, // obsolete since 1.3.5 + "inline": [String, Array], + "unformatted": [String, Array], + "content_unformatted": [String, Array], + "indent_inner_html": [Boolean], + "indent_handlebars": [Boolean], + "indent_scripts": ["keep", "separate", "normal"], + "extra_liners": [String, Array], + // CLI + "version": Boolean, + "help": Boolean, + "files": [path, Array], + "outfile": path, + "replace": Boolean, + "quiet": Boolean, + "type": ["js", "css", "html"], + "config": path, + "editorconfig": Boolean + }, + // dasherizeShorthands provides { "indent-size": ["--indent_size"] } + // translation, allowing more convenient dashes in CLI arguments + shortHands = dasherizeShorthands({ + // Beautifier + "s": ["--indent_size"], + "c": ["--indent_char"], + "e": ["--eol"], + "l": ["--indent_level"], + "t": ["--indent_with_tabs"], + "p": ["--preserve_newlines"], + "m": ["--max_preserve_newlines"], + "P": ["--space_in_paren"], + "Q": ["--space_in_empty_paren"], + "j": ["--jslint_happy"], + "a": ["--space_after_anon_function"], + "b": ["--brace_style"], + "u": ["--unindent_chained_methods"], + "B": ["--break_chained_methods"], + "k": ["--keep_array_indentation"], + "x": ["--unescape_strings"], + "w": ["--wrap_line_length"], + "X": ["--e4x"], + "n": ["--end_with_newline"], + "C": ["--comma_first"], + "O": ["--operator_position"], + // CSS-only + "L": ["--selector_separator_newline"], + "N": ["--newline_between_rules"], + // HTML-only + "A": ["--wrap_attributes"], + "i": ["--wrap_attributes_indent_size"], + "W": ["--max_char"], // obsolete since 1.3.5 + "d": ["--inline"], + "U": ["--unformatted"], + "T": ["--content_unformatted"], + "I": ["--indent_inner_html"], + "H": ["--indent_handlebars"], + "S": ["--indent_scripts"], + "E": ["--extra_liners"], + // non-dasherized hybrid shortcuts + "good-stuff": [ + "--keep_array_indentation", + "--keep_function_indentation", + "--jslint_happy" + ], + "js": ["--type", "js"], + "css": ["--type", "css"], + "html": ["--type", "html"], + // CLI + "v": ["--version"], + "h": ["--help"], + "f": ["--files"], + "o": ["--outfile"], + "r": ["--replace"], + "q": ["--quiet"] + // no shorthand for "config" + // no shorthand for "editorconfig" + }); function verifyExists(fullPath) { - return fs.existsSync(fullPath) ? fullPath : null; + return fs.existsSync(fullPath) ? fullPath : null; } function findRecursive(dir, fileName) { - var fullPath = path.join(dir, fileName); - var nextDir = path.dirname(dir); - var result = verifyExists(fullPath); + var fullPath = path.join(dir, fileName); + var nextDir = path.dirname(dir); + var result = verifyExists(fullPath); - if (!result && (nextDir !== dir)) { - result = findRecursive(nextDir, fileName); - } + if (!result && (nextDir !== dir)) { + result = findRecursive(nextDir, fileName); + } - return result; + return result; } function getUserHome() { - var user_home = ''; - try { - user_home = process.env.USERPROFILE || process.env.HOME || ''; - } catch (ex) {} - return user_home; + var user_home = ''; + try { + user_home = process.env.USERPROFILE || process.env.HOME || ''; + } catch (ex) {} + return user_home; } function set_file_editorconfig_opts(file, config) { - try { - var eConfigs = editorconfig.parseSync(file); - - if (eConfigs.indent_style === "tab") { - config.indent_with_tabs = true; - } else if (eConfigs.indent_style === "space") { - config.indent_with_tabs = false; - } - - if (eConfigs.indent_size) { - config.indent_size = eConfigs.indent_size; - } - - if (eConfigs.max_line_length) { - if (eConfigs.max_line_length === "off") { - config.wrap_line_length = 0; - } else { - config.wrap_line_length = parseInt(eConfigs.max_line_length); - } - } - - if (eConfigs.insert_final_newline === true) { - config.end_with_newline = true; - } else if (eConfigs.insert_final_newline === false) { - config.end_with_newline = false; - } - - if (eConfigs.end_of_line) { - if (eConfigs.end_of_line === 'cr') { - config.eol = '\r'; - } else if (eConfigs.end_of_line === 'lf') { - config.eol = '\n'; - } else if (eConfigs.end_of_line === 'crlf') { - config.eol = '\r\n'; - } - } - } catch (e) { - debug(e); + try { + var eConfigs = editorconfig.parseSync(file); + + if (eConfigs.indent_style === "tab") { + config.indent_with_tabs = true; + } else if (eConfigs.indent_style === "space") { + config.indent_with_tabs = false; + } + + if (eConfigs.indent_size) { + config.indent_size = eConfigs.indent_size; + } + + if (eConfigs.max_line_length) { + if (eConfigs.max_line_length === "off") { + config.wrap_line_length = 0; + } else { + config.wrap_line_length = parseInt(eConfigs.max_line_length, 10); + } + } + + if (eConfigs.insert_final_newline === true) { + config.end_with_newline = true; + } else if (eConfigs.insert_final_newline === false) { + config.end_with_newline = false; + } + + if (eConfigs.end_of_line) { + if (eConfigs.end_of_line === 'cr') { + config.eol = '\r'; + } else if (eConfigs.end_of_line === 'lf') { + config.eol = '\n'; + } else if (eConfigs.end_of_line === 'crlf') { + config.eol = '\r\n'; + } } + } catch (e) { + debug(e); + } } // var cli = require('js-beautify/cli'); cli.interpret(); var interpret = exports.interpret = function(argv, slice) { - var parsed = nopt(knownOpts, shortHands, argv, slice); - - if (parsed.version) { - console.log(require('../../package.json').version); - process.exit(0); - } else if (parsed.help) { - usage(); - process.exit(0); + var parsed; + try { + parsed = nopt(knownOpts, shortHands, argv, slice); + } catch (ex) { + usage(ex); + // console.error(ex); + // console.error('Run `' + getScriptName() + ' -h` for help.'); + process.exit(1); + } + + + if (parsed.version) { + console.log(require('../../package.json').version); + process.exit(0); + } else if (parsed.help) { + usage(); + process.exit(0); + } + + var cfg; + var configRecursive = findRecursive(process.cwd(), '.jsbeautifyrc'); + var configHome = verifyExists(path.join(getUserHome() || "", ".jsbeautifyrc")); + var configDefault = __dirname + '/../config/defaults.json'; + + try { + cfg = cc( + parsed, + cleanOptions(cc.env('jsbeautify_'), knownOpts), + parsed.config, + configRecursive, + configHome, + configDefault + ).snapshot; + } catch (ex) { + debug(cfg); + // usage(ex); + console.error(ex); + console.error('Error while loading beautifier configuration.'); + console.error('Configuration file chain included:'); + if (parsed.config) { + console.error(parsed.config); } - - var cfg; - var configRecursive = findRecursive(process.cwd(), '.jsbeautifyrc'); - var configHome = verifyExists(path.join(getUserHome() || "", ".jsbeautifyrc")); - var configDefault = __dirname + '/../config/defaults.json'; - - try { - cfg = cc( - parsed, - cleanOptions(cc.env('jsbeautify_'), knownOpts), - parsed.config, - configRecursive, - configHome, - configDefault - ).snapshot; - } catch (ex) { - debug(cfg); - // usage(ex); - console.error(ex); - console.error('Error while loading beautifier configuration.'); - console.error('Configuration file chain included:'); - if (parsed.config) { - console.error(parsed.config); - } - if (configRecursive) { - console.error(configRecursive); - } - if (configHome) { - console.error(configHome); - } - console.error(configDefault); - console.error('Run `' + getScriptName() + ' -h` for help.'); - process.exit(1); + if (configRecursive) { + console.error(configRecursive); } - - try { - // Verify arguments - checkType(cfg); - checkFiles(cfg); - debug(cfg); - - // Process files synchronously to avoid EMFILE error - cfg.files.forEach(processInputSync, { - cfg: cfg - }); - } catch (ex) { - debug(cfg); - // usage(ex); - console.error(ex); - console.error('Run `' + getScriptName() + ' -h` for help.'); - process.exit(1); + if (configHome) { + console.error(configHome); } + console.error(configDefault); + console.error('Run `' + getScriptName() + ' -h` for help.'); + process.exit(1); + } + + try { + // Verify arguments + checkType(cfg); + checkFiles(cfg); + debug(cfg); + + // Process files synchronously to avoid EMFILE error + cfg.files.forEach(processInputSync, { + cfg: cfg + }); + } catch (ex) { + debug(cfg); + // usage(ex); + console.error(ex); + console.error('Run `' + getScriptName() + ' -h` for help.'); + process.exit(1); + } }; // interpret args immediately when called as executable if (require.main === module) { - interpret(); + interpret(); } function usage(err) { - var scriptName = getScriptName(); - var msg = [ - scriptName + '@' + require('../../package.json').version, - '', - 'CLI Options:', - ' -f, --file Input file(s) (Pass \'-\' for stdin)', - ' -r, --replace Write output in-place, replacing input', - ' -o, --outfile Write output to file (default stdout)', - ' --config Path to config file', - ' --type [js|css|html] ["js"]', - ' -q, --quiet Suppress logging to stdout', - ' -h, --help Show this help', - ' -v, --version Show the version', - '', - 'Beautifier Options:', - ' -s, --indent-size Indentation size [4]', - ' -c, --indent-char Indentation character [" "]', - ' -t, --indent-with-tabs Indent with tabs, overrides -s and -c', - ' -e, --eol Character(s) to use as line terminators.', - ' [first newline in file, otherwise "\\n]', - ' -n, --end-with-newline End output with newline', - ' --editorconfig Use EditorConfig to set up the options' - ]; - - switch (scriptName.split('-').shift()) { - case "js": - msg.push(' -l, --indent-level Initial indentation level [0]'); - msg.push(' -p, --preserve-newlines Preserve line-breaks (--no-preserve-newlines disables)'); - msg.push(' -m, --max-preserve-newlines Number of line-breaks to be preserved in one chunk [10]'); - msg.push(' -P, --space-in-paren Add padding spaces within paren, ie. f( a, b )'); - msg.push(' -E, --space-in-empty-paren Add a single space inside empty paren, ie. f( )'); - msg.push(' -j, --jslint-happy Enable jslint-stricter mode'); - msg.push(' -a, --space-after-anon-function Add a space before an anonymous function\'s parens, ie. function ()'); - msg.push(' -b, --brace-style [collapse|expand|end-expand|none][,preserve-inline] [collapse,preserve-inline]'); - msg.push(' -B, --break-chained-methods Break chained method calls across subsequent lines'); - msg.push(' -k, --keep-array-indentation Preserve array indentation'); - msg.push(' -x, --unescape-strings Decode printable characters encoded in xNN notation'); - msg.push(' -w, --wrap-line-length Wrap lines at next opportunity after N characters [0]'); - msg.push(' -X, --e4x Pass E4X xml literals through untouched'); - msg.push(' --good-stuff Warm the cockles of Crockford\'s heart'); - msg.push(' -C, --comma-first Put commas at the beginning of new line instead of end'); - msg.push(' -O, --operator-position Set operator position (before-newline|after-newline|preserve-newline) [before-newline]'); - break; - case "html": - msg.push(' -b, --brace-style [collapse|expand|end-expand] ["collapse"]'); - msg.push(' -I, --indent-inner-html Indent body and head sections. Default is false.'); - msg.push(' -H, --indent-handlebars Indent handlebars. Default is false.'); - msg.push(' -S, --indent-scripts [keep|separate|normal] ["normal"]'); - msg.push(' -w, --wrap-line-length Wrap lines at next opportunity after N characters [0]'); - msg.push(' -A, --wrap-attributes Wrap html tag attributes to new lines [auto|force] ["auto"]'); - msg.push(' -i, --wrap-attributes-indent-size Indent wrapped tags to after N characters [indent-level]'); - msg.push(' -p, --preserve-newlines Preserve line-breaks (--no-preserve-newlines disables)'); - msg.push(' -m, --max-preserve-newlines Number of line-breaks to be preserved in one chunk [10]'); - msg.push(' -U, --unformatted List of tags (defaults to inline) that should not be reformatted'); - msg.push(' -T, --content_unformatted List of tags (defaults to pre) that its content should not be reformatted'); - msg.push(' -E, --extra_liners List of tags (defaults to [head,body,/html] that should have an extra newline'); - break; - case "css": - msg.push(' -L, --selector-separator-newline Add a newline between multiple selectors.'); - msg.push(' -N, --newline-between-rules Add a newline between CSS rules.'); - } - - if (err) { - msg.push(err); - msg.push(''); - console.error(msg.join('\n')); - } else { - console.log(msg.join('\n')); - } + var scriptName = getScriptName(); + var msg = [ + scriptName + '@' + require('../../package.json').version, + '', + 'CLI Options:', + ' -f, --file Input file(s) (Pass \'-\' for stdin)', + ' -r, --replace Write output in-place, replacing input', + ' -o, --outfile Write output to file (default stdout)', + ' --config Path to config file', + ' --type [js|css|html] ["js"]', + ' -q, --quiet Suppress logging to stdout', + ' -h, --help Show this help', + ' -v, --version Show the version', + '', + 'Beautifier Options:', + ' -s, --indent-size Indentation size [4]', + ' -c, --indent-char Indentation character [" "]', + ' -t, --indent-with-tabs Indent with tabs, overrides -s and -c', + ' -e, --eol Character(s) to use as line terminators.', + ' [first newline in file, otherwise "\\n]', + ' -n, --end-with-newline End output with newline', + ' --editorconfig Use EditorConfig to set up the options' + ]; + + switch (scriptName.split('-').shift()) { + case "js": + msg.push(' -l, --indent-level Initial indentation level [0]'); + msg.push(' -p, --preserve-newlines Preserve line-breaks (--no-preserve-newlines disables)'); + msg.push(' -m, --max-preserve-newlines Number of line-breaks to be preserved in one chunk [10]'); + msg.push(' -P, --space-in-paren Add padding spaces within paren, ie. f( a, b )'); + msg.push(' -E, --space-in-empty-paren Add a single space inside empty paren, ie. f( )'); + msg.push(' -j, --jslint-happy Enable jslint-stricter mode'); + msg.push(' -a, --space-after-anon-function Add a space before an anonymous function\'s parens, ie. function ()'); + msg.push(' --space_after_named_function Add a space before a named function\'s parens, ie. function example ()'); + msg.push(' -b, --brace-style [collapse|expand|end-expand|none][,preserve-inline] [collapse,preserve-inline]'); + msg.push(' -u, --unindent-chained-methods Don\'t indent chained method calls'); + msg.push(' -B, --break-chained-methods Break chained method calls across subsequent lines'); + msg.push(' -k, --keep-array-indentation Preserve array indentation'); + msg.push(' -x, --unescape-strings Decode printable characters encoded in xNN notation'); + msg.push(' -w, --wrap-line-length Wrap lines at next opportunity after N characters [0]'); + msg.push(' -X, --e4x Pass E4X xml literals through untouched'); + msg.push(' --good-stuff Warm the cockles of Crockford\'s heart'); + msg.push(' -C, --comma-first Put commas at the beginning of new line instead of end'); + msg.push(' -O, --operator-position Set operator position (before-newline|after-newline|preserve-newline) [before-newline]'); + break; + case "html": + msg.push(' -b, --brace-style [collapse|expand|end-expand] ["collapse"]'); + msg.push(' -I, --indent-inner-html Indent body and head sections. Default is false.'); + msg.push(' -H, --indent-handlebars Indent handlebars. Default is false.'); + msg.push(' -S, --indent-scripts [keep|separate|normal] ["normal"]'); + msg.push(' -w, --wrap-line-length Wrap lines at next opportunity after N characters [0]'); + msg.push(' -A, --wrap-attributes Wrap html tag attributes to new lines [auto|force|force-aligned|force-expand-multiline|aligned-multiple|preserve|preserve-aligned] ["auto"]'); + msg.push(' -i, --wrap-attributes-indent-size Indent wrapped tags to after N characters [indent-level]'); + msg.push(' -p, --preserve-newlines Preserve line-breaks (--no-preserve-newlines disables)'); + msg.push(' -m, --max-preserve-newlines Number of line-breaks to be preserved in one chunk [10]'); + msg.push(' -U, --unformatted List of tags (defaults to inline) that should not be reformatted'); + msg.push(' -T, --content_unformatted List of tags (defaults to pre) whose content should not be reformatted'); + msg.push(' -E, --extra_liners List of tags (defaults to [head,body,/html] that should have an extra newline'); + break; + case "css": + msg.push(' -L, --selector-separator-newline Add a newline between multiple selectors.'); + msg.push(' -N, --newline-between-rules Add a newline between CSS rules.'); + } + + if (err) { + msg.push(err); + msg.push(''); + console.error(msg.join('\n')); + } else { + console.log(msg.join('\n')); + } } // main iterator, {cfg} passed as thisArg of forEach call function processInputSync(filepath) { - var data = '', - config = this.cfg, - outfile = config.outfile, - input; - - // -o passed with no value overwrites - if (outfile === true || config.replace) { - outfile = filepath; + var data = '', + config = this.cfg, + outfile = config.outfile, + input; + + // -o passed with no value overwrites + if (outfile === true || config.replace) { + outfile = filepath; + } + + var fileType = getOutputType(outfile, filepath, config.type); + + if (config.editorconfig) { + var editorconfig_filepath = filepath; + + if (editorconfig_filepath === '-') { + if (outfile) { + editorconfig_filepath = outfile; + } else { + editorconfig_filepath = 'stdin.' + fileType; + } } - var fileType = getOutputType(outfile, filepath, config.type); + debug("EditorConfig is enabled for ", editorconfig_filepath); + config = cc(config).snapshot; + set_file_editorconfig_opts(editorconfig_filepath, config); + debug(config); + } - if (config.editorconfig) { - var editorconfig_filepath = filepath; + if (filepath === '-') { + input = process.stdin; + input.resume(); - if (editorconfig_filepath === '-') { - if (outfile) { - editorconfig_filepath = outfile; - } else { - editorconfig_filepath = 'stdin.' + fileType; - } - } + input.setEncoding('utf8'); - debug("EditorConfig is enabled for ", editorconfig_filepath); - config = cc(config).snapshot; - set_file_editorconfig_opts(editorconfig_filepath, config); - debug(config); - } - - if (filepath === '-') { - input = process.stdin; - input.resume(); - - input.setEncoding('utf8'); - - input.on('data', function(chunk) { - data += chunk; - }); + input.on('data', function(chunk) { + data += chunk; + }); - input.on('end', function() { - makePretty(fileType, data, config, outfile, writePretty); // Where things get beautified - }); - } else { - data = fs.readFileSync(filepath, 'utf8'); - makePretty(fileType, data, config, outfile, writePretty); - } + input.on('end', function() { + makePretty(fileType, data, config, outfile, writePretty); // Where things get beautified + }); + } else { + data = fs.readFileSync(filepath, 'utf8'); + makePretty(fileType, data, config, outfile, writePretty); + } } function makePretty(fileType, code, config, outfile, callback) { - try { - var pretty = beautify[fileType](code, config); + try { + var pretty = beautify[fileType](code, config); - callback(null, pretty, outfile, config); - } catch (ex) { - callback(ex); - } + callback(null, pretty, outfile, config); + } catch (ex) { + callback(ex); + } } function writePretty(err, pretty, outfile, config) { - debug('writing ' + outfile); - if (err) { - console.error(err); - process.exit(1); - } - - if (outfile) { - mkdirp.sync(path.dirname(outfile)); - - if (isFileDifferent(outfile, pretty)) { - try { - fs.writeFileSync(outfile, pretty, 'utf8'); - logToStdout('beautified ' + path.relative(process.cwd(), outfile), config); - } catch (ex) { - onOutputError(ex); - } - } else { - logToStdout('beautified ' + path.relative(process.cwd(), outfile) + ' - unchanged', config); - } + debug('writing ' + outfile); + if (err) { + console.error(err); + process.exit(1); + } + + if (outfile) { + mkdirp.sync(path.dirname(outfile)); + + if (isFileDifferent(outfile, pretty)) { + try { + fs.writeFileSync(outfile, pretty, 'utf8'); + logToStdout('beautified ' + path.relative(process.cwd(), outfile), config); + } catch (ex) { + onOutputError(ex); + } } else { - process.stdout.write(pretty); + logToStdout('beautified ' + path.relative(process.cwd(), outfile) + ' - unchanged', config); } + } else { + process.stdout.write(pretty); + } } function isFileDifferent(filePath, expected) { - try { - return fs.readFileSync(filePath, 'utf8') !== expected; - } catch (ex) { - // failing to read is the same as different - return true; - } + try { + return fs.readFileSync(filePath, 'utf8') !== expected; + } catch (ex) { + // failing to read is the same as different + return true; + } } // workaround the fact that nopt.clean doesn't return the object passed in :P function cleanOptions(data, types) { - nopt.clean(data, types); - return data; + nopt.clean(data, types); + return data; } // error handler for output stream that swallows errors silently, // allowing the loop to continue over unwritable files. function onOutputError(err) { - if (err.code === 'EACCES') { - console.error(err.path + " is not writable. Skipping!"); - } else { - console.error(err); - process.exit(0); - } + if (err.code === 'EACCES') { + console.error(err.path + " is not writable. Skipping!"); + } else { + console.error(err); + process.exit(0); + } } // turn "--foo_bar" into "foo-bar" function dasherizeFlag(str) { - return str.replace(/^\-+/, '').replace(/_/g, '-'); + return str.replace(/^\-+/, '').replace(/_/g, '-'); } // translate weird python underscored keys into dashed argv, // avoiding single character aliases. function dasherizeShorthands(hash) { - // operate in-place - Object.keys(hash).forEach(function(key) { - // each key value is an array - var val = hash[key][0]; - // only dasherize one-character shorthands - if (key.length === 1 && val.indexOf('_') > -1) { - hash[dasherizeFlag(val)] = val; - } - }); + // operate in-place + Object.keys(hash).forEach(function(key) { + // each key value is an array + var val = hash[key][0]; + // only dasherize one-character shorthands + if (key.length === 1 && val.indexOf('_') > -1) { + hash[dasherizeFlag(val)] = val; + } + }); - return hash; + return hash; } function getOutputType(outfile, filepath, configType) { - if (outfile && /\.(js|css|html)$/.test(outfile)) { - return outfile.split('.').pop(); - } else if (filepath !== '-' && /\.(js|css|html)$/.test(filepath)) { - return filepath.split('.').pop(); - } else if (configType) { - return configType; - } else { - throw 'Could not determine appropriate beautifier from file paths: ' + filepath; - } + if (outfile && /\.(js|css|html)$/.test(outfile)) { + return outfile.split('.').pop(); + } else if (filepath !== '-' && /\.(js|css|html)$/.test(filepath)) { + return filepath.split('.').pop(); + } else if (configType) { + return configType; + } else { + throw 'Could not determine appropriate beautifier from file paths: ' + filepath; + } } function getScriptName() { - return path.basename(process.argv[1]); + return path.basename(process.argv[1]); } function checkType(parsed) { - var scriptType = getScriptName().split('-').shift(); - if (!/^(js|css|html)$/.test(scriptType)) { - scriptType = null; - } + var scriptType = getScriptName().split('-').shift(); + if (!/^(js|css|html)$/.test(scriptType)) { + scriptType = null; + } - debug("executable type:", scriptType); + debug("executable type:", scriptType); - var parsedType = parsed.type; - debug("parsed type:", parsedType); + var parsedType = parsed.type; + debug("parsed type:", parsedType); - if (!parsedType) { - debug("type defaulted:", scriptType); - parsed.type = scriptType; - } + if (!parsedType) { + debug("type defaulted:", scriptType); + parsed.type = scriptType; + } } function checkFiles(parsed) { - var argv = parsed.argv; - var isTTY = true; - - try { - isTTY = process.stdin.isTTY; - } catch (ex) { - debug("error querying for isTTY:", ex); + var argv = parsed.argv; + var isTTY = true; + + try { + isTTY = process.stdin.isTTY; + } catch (ex) { + debug("error querying for isTTY:", ex); + } + + debug('isTTY: ' + isTTY); + + if (!parsed.files) { + parsed.files = []; + } else { + if (argv.cooked.indexOf('-') > -1) { + // strip stdin path eagerly added by nopt in '-f -' case + parsed.files.some(removeDashedPath); } + } + + if (argv.remain.length) { + // assume any remaining args are files + argv.remain.forEach(function(f) { + if (f !== '-') { + parsed.files.push(path.resolve(f)); + } + }); + } - debug('isTTY: ' + isTTY); + if ('string' === typeof parsed.outfile && isTTY && !parsed.files.length) { + // use outfile as input when no other files passed in args + parsed.files.push(parsed.outfile); + // operation is now an implicit overwrite + parsed.replace = true; + } - if (!parsed.files) { - parsed.files = []; - } else { - if (argv.cooked.indexOf('-') > -1) { - // strip stdin path eagerly added by nopt in '-f -' case - parsed.files.some(removeDashedPath); - } - } + if (!parsed.files.length) { + // read stdin by default + parsed.files.push('-'); + } + debug('files.length ' + parsed.files.length); - if (argv.remain.length) { - // assume any remaining args are files - argv.remain.forEach(function(f) { - if (f !== '-') { - parsed.files.push(path.resolve(f)); - } - }); - } + if (parsed.files.indexOf('-') > -1 && isTTY) { + throw 'Must pipe input or define at least one file.'; + } - if ('string' === typeof parsed.outfile && isTTY && !parsed.files.length) { - // use outfile as input when no other files passed in args - parsed.files.push(parsed.outfile); - // operation is now an implicit overwrite - parsed.replace = true; - } - - if (!parsed.files.length) { - // read stdin by default - parsed.files.push('-'); - } - debug('files.length ' + parsed.files.length); + parsed.files.forEach(testFilePath); - if (parsed.files.indexOf('-') > -1 && isTTY) { - throw 'Must pipe input or define at least one file.'; - } - - parsed.files.forEach(testFilePath); - - return parsed; + return parsed; } function removeDashedPath(filepath, i, arr) { - var found = filepath.lastIndexOf('-') === (filepath.length - 1); - if (found) { - arr.splice(i, 1); - } - return found; + var found = filepath.lastIndexOf('-') === (filepath.length - 1); + if (found) { + arr.splice(i, 1); + } + return found; } function testFilePath(filepath) { - try { - if (filepath !== "-") { - fs.statSync(filepath); - } - } catch (err) { - throw 'Unable to open path "' + filepath + '"'; + try { + if (filepath !== "-") { + fs.statSync(filepath); } + } catch (err) { + throw 'Unable to open path "' + filepath + '"'; + } } function logToStdout(str, config) { - if (typeof config.quiet === "undefined" || !config.quiet) { - console.log(str); - } -} \ No newline at end of file + if (typeof config.quiet === "undefined" || !config.quiet) { + console.log(str); + } +} diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/javascriptobfuscator_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/javascriptobfuscator_unpacker.js index 2e68ca68..c18794cd 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/javascriptobfuscator_unpacker.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/javascriptobfuscator_unpacker.js @@ -1,6 +1,33 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // simple unpacker/deobfuscator for scripts messed up with javascriptobfuscator.com -// written by Einar Lielmanis +// written by Einar Lielmanis // // usage: // @@ -10,94 +37,96 @@ // // +/*jshint strict:false */ + var JavascriptObfuscator = { - detect: function(str) { - return /^var _0x[a-f0-9]+ ?\= ?\[/.test(str); - }, - - unpack: function(str) { - if (JavascriptObfuscator.detect(str)) { - var matches = /var (_0x[a-f\d]+) ?\= ?\[(.*?)\];/.exec(str); - if (matches) { - var var_name = matches[1]; - var strings = JavascriptObfuscator._smart_split(matches[2]); - str = str.substring(matches[0].length); - for (var k in strings) { - str = str.replace(new RegExp(var_name + '\\[' + k + '\\]', 'g'), - JavascriptObfuscator._fix_quotes(JavascriptObfuscator._unescape(strings[k]))); - } - } - } - return str; - }, - - _fix_quotes: function(str) { - var matches = /^"(.*)"$/.exec(str); - if (matches) { - str = matches[1]; - str = "'" + str.replace(/'/g, "\\'") + "'"; + detect: function(str) { + return /^var _0x[a-f0-9]+ ?\= ?\[/.test(str); + }, + + unpack: function(str) { + if (JavascriptObfuscator.detect(str)) { + var matches = /var (_0x[a-f\d]+) ?\= ?\[(.*?)\];/.exec(str); + if (matches) { + var var_name = matches[1]; + var strings = JavascriptObfuscator._smart_split(matches[2]); + str = str.substring(matches[0].length); + for (var k in strings) { + str = str.replace(new RegExp(var_name + '\\[' + k + '\\]', 'g'), + JavascriptObfuscator._fix_quotes(JavascriptObfuscator._unescape(strings[k]))); } - return str; - }, + } + } + return str; + }, + + _fix_quotes: function(str) { + var matches = /^"(.*)"$/.exec(str); + if (matches) { + str = matches[1]; + str = "'" + str.replace(/'/g, "\\'") + "'"; + } + return str; + }, - _smart_split: function(str) { - var strings = []; - var pos = 0; + _smart_split: function(str) { + var strings = []; + var pos = 0; + while (pos < str.length) { + if (str.charAt(pos) === '"') { + // new word + var word = ''; + pos += 1; while (pos < str.length) { - if (str.charAt(pos) === '"') { - // new word - var word = ''; - pos += 1; - while (pos < str.length) { - if (str.charAt(pos) === '"') { - break; - } - if (str.charAt(pos) === '\\') { - word += '\\'; - pos++; - } - word += str.charAt(pos); - pos++; - } - strings.push('"' + word + '"'); - } - pos += 1; + if (str.charAt(pos) === '"') { + break; + } + if (str.charAt(pos) === '\\') { + word += '\\'; + pos++; + } + word += str.charAt(pos); + pos++; } - return strings; - }, + strings.push('"' + word + '"'); + } + pos += 1; + } + return strings; + }, - _unescape: function(str) { - // inefficient if used repeatedly or on small strings, but wonderful on single large chunk of text - for (var i = 32; i < 128; i++) { - str = str.replace(new RegExp('\\\\x' + i.toString(16), 'ig'), String.fromCharCode(i)); - } - str = str.replace(/\\x09/g, "\t"); - return str; - }, - - run_tests: function(sanity_test) { - var t = sanity_test || new SanityTest(); - - t.test_function(JavascriptObfuscator._smart_split, "JavascriptObfuscator._smart_split"); - t.expect('', []); - t.expect('"a", "b"', ['"a"', '"b"']); - t.expect('"aaa","bbbb"', ['"aaa"', '"bbbb"']); - t.expect('"a", "b\\\""', ['"a"', '"b\\\""']); - t.test_function(JavascriptObfuscator._unescape, 'JavascriptObfuscator._unescape'); - t.expect('\\x40', '@'); - t.expect('\\x10', '\\x10'); - t.expect('\\x1', '\\x1'); - t.expect("\\x61\\x62\\x22\\x63\\x64", 'ab"cd'); - t.test_function(JavascriptObfuscator.detect, 'JavascriptObfuscator.detect'); - t.expect('', false); - t.expect('abcd', false); - t.expect('var _0xaaaa', false); - t.expect('var _0xaaaa = ["a", "b"]', true); - t.expect('var _0xaaaa=["a", "b"]', true); - t.expect('var _0x1234=["a","b"]', true); - return t; + _unescape: function(str) { + // inefficient if used repeatedly or on small strings, but wonderful on single large chunk of text + for (var i = 32; i < 128; i++) { + str = str.replace(new RegExp('\\\\x' + i.toString(16), 'ig'), String.fromCharCode(i)); } + str = str.replace(/\\x09/g, "\t"); + return str; + }, + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + + t.test_function(JavascriptObfuscator._smart_split, "JavascriptObfuscator._smart_split"); + t.expect('', []); + t.expect('"a", "b"', ['"a"', '"b"']); + t.expect('"aaa","bbbb"', ['"aaa"', '"bbbb"']); + t.expect('"a", "b\\\""', ['"a"', '"b\\\""']); + t.test_function(JavascriptObfuscator._unescape, 'JavascriptObfuscator._unescape'); + t.expect('\\x40', '@'); + t.expect('\\x10', '\\x10'); + t.expect('\\x1', '\\x1'); + t.expect("\\x61\\x62\\x22\\x63\\x64", 'ab"cd'); + t.test_function(JavascriptObfuscator.detect, 'JavascriptObfuscator.detect'); + t.expect('', false); + t.expect('abcd', false); + t.expect('var _0xaaaa', false); + t.expect('var _0xaaaa = ["a", "b"]', true); + t.expect('var _0xaaaa=["a", "b"]', true); + t.expect('var _0x1234=["a","b"]', true); + return t; + } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/myobfuscate_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/myobfuscate_unpacker.js index a7f245de..0e028ed9 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/myobfuscate_unpacker.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/myobfuscate_unpacker.js @@ -1,3 +1,30 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // simple unpacker/deobfuscator for scripts messed up with myobfuscate.com // You really don't want to obfuscate your scripts there: they're tracking @@ -16,7 +43,7 @@ */ // -// written by Einar Lielmanis +// written by Einar Lielmanis // // usage: // @@ -26,65 +53,67 @@ // // +/*jshint strict:false */ + var MyObfuscate = { - detect: function(str) { - if (/^var _?[0O1lI]{3}\=('|\[).*\)\)\);/.test(str)) { - return true; - } - if (/^function _?[0O1lI]{3}\(_/.test(str) && /eval\(/.test(str)) { - return true; - } - return false; - }, - - unpack: function(str) { - if (MyObfuscate.detect(str)) { - var __eval = eval; - try { - eval = function(unpacked) { // jshint ignore:line - if (MyObfuscate.starts_with(unpacked, 'var _escape')) { - // fetch the urlencoded stuff from the script, - var matches = /'([^']*)'/.exec(unpacked); - var unescaped = unescape(matches[1]); - if (MyObfuscate.starts_with(unescaped, '')) { - unescaped = unescaped.substr(0, unescaped.length - 9); - } - unpacked = unescaped; - } - // throw to terminate the script - unpacked = "// Unpacker warning: be careful when using myobfuscate.com for your projects:\n" + - "// scripts obfuscated by the free online version may call back home.\n" + - "\n//\n" + unpacked; - throw unpacked; - }; // jshint ignore:line - __eval(str); // should throw - } catch (e) { - // well, it failed. we'll just return the original, instead of crashing on user. - if (typeof e === "string") { - str = e; - } + detect: function(str) { + if (/^var _?[0O1lI]{3}\=('|\[).*\)\)\);/.test(str)) { + return true; + } + if (/^function _?[0O1lI]{3}\(_/.test(str) && /eval\(/.test(str)) { + return true; + } + return false; + }, + + unpack: function(str) { + if (MyObfuscate.detect(str)) { + var __eval = eval; + try { + eval = function(unpacked) { // jshint ignore:line + if (MyObfuscate.starts_with(unpacked, 'var _escape')) { + // fetch the urlencoded stuff from the script, + var matches = /'([^']*)'/.exec(unpacked); + var unescaped = unescape(matches[1]); + if (MyObfuscate.starts_with(unescaped, '')) { + unescaped = unescaped.substr(0, unescaped.length - 9); } - eval = __eval; // jshint ignore:line + unpacked = unescaped; + } + // throw to terminate the script + unpacked = "// Unpacker warning: be careful when using myobfuscate.com for your projects:\n" + + "// scripts obfuscated by the free online version may call back home.\n" + + "\n//\n" + unpacked; + throw unpacked; + }; // jshint ignore:line + __eval(str); // should throw + } catch (e) { + // well, it failed. we'll just return the original, instead of crashing on user. + if (typeof e === "string") { + str = e; } - return str; - }, + } + eval = __eval; // jshint ignore:line + } + return str; + }, - starts_with: function(str, what) { - return str.substr(0, what.length) === what; - }, + starts_with: function(str, what) { + return str.substr(0, what.length) === what; + }, - ends_with: function(str, what) { - return str.substr(str.length - what.length, what.length) === what; - }, + ends_with: function(str, what) { + return str.substr(str.length - what.length, what.length) === what; + }, - run_tests: function(sanity_test) { - var t = sanity_test || new SanityTest(); + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); - return t; - } + return t; + } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/p_a_c_k_e_r_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/p_a_c_k_e_r_unpacker.js index 0fbb4053..a7421674 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/p_a_c_k_e_r_unpacker.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/p_a_c_k_e_r_unpacker.js @@ -1,6 +1,32 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // Unpacker for Dean Edward's p.a.c.k.e.r, a part of javascript beautifier -// written by Einar Lielmanis // // Coincidentally, it can defeat a couple of other eval-based compressors. // @@ -12,72 +38,74 @@ // // +/*jshint strict:false */ + var P_A_C_K_E_R = { - detect: function(str) { - return (P_A_C_K_E_R.get_chunks(str).length > 0); - }, - - get_chunks: function(str) { - var chunks = str.match(/eval\(\(?function\(.*?(,0,\{\}\)\)|split\('\|'\)\)\))($|\n)/g); - return chunks ? chunks : []; - }, - - unpack: function(str) { - var chunks = P_A_C_K_E_R.get_chunks(str), - chunk; - for (var i = 0; i < chunks.length; i++) { - chunk = chunks[i].replace(/\n$/, ''); - str = str.split(chunk).join(P_A_C_K_E_R.unpack_chunk(chunk)); - } - return str; - }, - - unpack_chunk: function(str) { - var unpacked_source = ''; - var __eval = eval; - if (P_A_C_K_E_R.detect(str)) { - try { - eval = function(s) { // jshint ignore:line - unpacked_source += s; - return unpacked_source; - }; // jshint ignore:line - __eval(str); - if (typeof unpacked_source === 'string' && unpacked_source) { - str = unpacked_source; - } - } catch (e) { - // well, it failed. we'll just return the original, instead of crashing on user. - } + detect: function(str) { + return (P_A_C_K_E_R.get_chunks(str).length > 0); + }, + + get_chunks: function(str) { + var chunks = str.match(/eval\(\(?function\(.*?(,0,\{\}\)\)|split\('\|'\)\)\))($|\n)/g); + return chunks ? chunks : []; + }, + + unpack: function(str) { + var chunks = P_A_C_K_E_R.get_chunks(str), + chunk; + for (var i = 0; i < chunks.length; i++) { + chunk = chunks[i].replace(/\n$/, ''); + str = str.split(chunk).join(P_A_C_K_E_R.unpack_chunk(chunk)); + } + return str; + }, + + unpack_chunk: function(str) { + var unpacked_source = ''; + var __eval = eval; + if (P_A_C_K_E_R.detect(str)) { + try { + eval = function(s) { // jshint ignore:line + unpacked_source += s; + return unpacked_source; + }; // jshint ignore:line + __eval(str); + if (typeof unpacked_source === 'string' && unpacked_source) { + str = unpacked_source; } - eval = __eval; // jshint ignore:line - return str; - }, - - run_tests: function(sanity_test) { - var t = sanity_test || new SanityTest(); - - var pk1 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'var||a'.split('|'),0,{}))"; - var unpk1 = 'var a=1'; - var pk2 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'foo||b'.split('|'),0,{}))"; - var unpk2 = 'foo b=1'; - var pk_broken = "eval(function(p,a,c,k,e,r){BORKBORK;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'var||a'.split('|'),0,{}))"; - var pk3 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1{}))',3,3,'var||a'.split('|'),0,{}))"; - var unpk3 = 'var a=1{}))'; - - t.test_function(P_A_C_K_E_R.detect, "P_A_C_K_E_R.detect"); - t.expect('', false); - t.expect('var a = b', false); - t.test_function(P_A_C_K_E_R.unpack, "P_A_C_K_E_R.unpack"); - t.expect(pk_broken, pk_broken); - t.expect(pk1, unpk1); - t.expect(pk2, unpk2); - t.expect(pk3, unpk3); - - var filler = '\nfiller\n'; - t.expect(filler + pk1 + "\n" + pk_broken + filler + pk2 + filler, filler + unpk1 + "\n" + pk_broken + filler + unpk2 + filler); - - return t; + } catch (e) { + // well, it failed. we'll just return the original, instead of crashing on user. + } } + eval = __eval; // jshint ignore:line + return str; + }, + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + + var pk1 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'var||a'.split('|'),0,{}))"; + var unpk1 = 'var a=1'; + var pk2 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'foo||b'.split('|'),0,{}))"; + var unpk2 = 'foo b=1'; + var pk_broken = "eval(function(p,a,c,k,e,r){BORKBORK;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'var||a'.split('|'),0,{}))"; + var pk3 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1{}))',3,3,'var||a'.split('|'),0,{}))"; + var unpk3 = 'var a=1{}))'; + + t.test_function(P_A_C_K_E_R.detect, "P_A_C_K_E_R.detect"); + t.expect('', false); + t.expect('var a = b', false); + t.test_function(P_A_C_K_E_R.unpack, "P_A_C_K_E_R.unpack"); + t.expect(pk_broken, pk_broken); + t.expect(pk1, unpk1); + t.expect(pk2, unpk2); + t.expect(pk3, unpk3); + + var filler = '\nfiller\n'; + t.expect(filler + pk1 + "\n" + pk_broken + filler + pk2 + filler, filler + unpk1 + "\n" + pk_broken + filler + unpk2 + filler); + + return t; + } -}; \ No newline at end of file +}; diff --git a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/urlencode_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/urlencode_unpacker.js index 71c72ea4..0f7a9a29 100644 --- a/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/urlencode_unpacker.js +++ b/build/js-transpiled/node_modules/js-beautify/js/lib/unpackers/urlencode_unpacker.js @@ -1,8 +1,36 @@ /*global unescape */ /*jshint curly: false, scripturl: true */ + +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // trivial bookmarklet/escaped script detector for the javascript beautifier -// written by Einar Lielmanis +// written by Einar Lielmanis // // usage: // @@ -12,62 +40,65 @@ // // +/*jshint strict:false */ + + var isNode = (typeof module !== 'undefined' && module.exports); if (isNode) { - var SanityTest = require(__dirname + '/../../test/sanitytest'); + var SanityTest = require(__dirname + '/../../test/sanitytest'); } var Urlencoded = { - detect: function(str) { - // the fact that script doesn't contain any space, but has %20 instead - // should be sufficient check for now. - if (str.indexOf(' ') === -1) { - if (str.indexOf('%2') !== -1) return true; - if (str.replace(/[^%]+/g, '').length > 3) return true; - } - return false; - }, - - unpack: function(str) { - if (Urlencoded.detect(str)) { - if (str.indexOf('%2B') !== -1 || str.indexOf('%2b') !== -1) { - // "+" escaped as "%2B" - return unescape(str.replace(/\+/g, '%20')); - } else { - return unescape(str); - } - } - return str; - }, - - - - run_tests: function(sanity_test) { - var t = sanity_test || new SanityTest(); - t.test_function(Urlencoded.detect, "Urlencoded.detect"); - t.expect('', false); - t.expect('var a = b', false); - t.expect('var%20a+=+b', true); - t.expect('var%20a=b', true); - t.expect('var%20%21%22', true); - t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();', true); - t.test_function(Urlencoded.unpack, 'Urlencoded.unpack'); - - t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();', - 'javascript:(function(){var whatever={init:function(){alert("a"+"b")}};whatever.init()})();' - ); - t.expect('', ''); - t.expect('abcd', 'abcd'); - t.expect('var a = b', 'var a = b'); - t.expect('var%20a=b', 'var a=b'); - t.expect('var%20a=b+1', 'var a=b+1'); - t.expect('var%20a=b%2b1', 'var a=b+1'); - return t; + detect: function(str) { + // the fact that script doesn't contain any space, but has %20 instead + // should be sufficient check for now. + if (str.indexOf(' ') === -1) { + if (str.indexOf('%2') !== -1) return true; + if (str.replace(/[^%]+/g, '').length > 3) return true; + } + return false; + }, + + unpack: function(str) { + if (Urlencoded.detect(str)) { + if (str.indexOf('%2B') !== -1 || str.indexOf('%2b') !== -1) { + // "+" escaped as "%2B" + return unescape(str.replace(/\+/g, '%20')); + } else { + return unescape(str); + } } + return str; + }, + + + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + t.test_function(Urlencoded.detect, "Urlencoded.detect"); + t.expect('', false); + t.expect('var a = b', false); + t.expect('var%20a+=+b', true); + t.expect('var%20a=b', true); + t.expect('var%20%21%22', true); + t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();', true); + t.test_function(Urlencoded.unpack, 'Urlencoded.unpack'); + + t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();', + 'javascript:(function(){var whatever={init:function(){alert("a"+"b")}};whatever.init()})();' + ); + t.expect('', ''); + t.expect('abcd', 'abcd'); + t.expect('var a = b', 'var a = b'); + t.expect('var%20a=b', 'var a=b'); + t.expect('var%20a=b+1', 'var a=b+1'); + t.expect('var%20a=b%2b1', 'var a=b+1'); + return t; + } }; if (isNode) { - module.exports = Urlencoded; -} \ No newline at end of file + module.exports = Urlencoded; +} diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/cli.js b/build/js-transpiled/node_modules/js-beautify/js/src/cli.js new file mode 100755 index 00000000..1350b34b --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/cli.js @@ -0,0 +1,642 @@ +#!/usr/bin/env node + +/* + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Js-Beautify Command-line for node.js + ------------------------------------- + + Written by Daniel Stockman (daniel.stockman@gmail.com) + +*/ +/*jshint strict:false */ + +var debug = process.env.DEBUG_JSBEAUTIFY || process.env.JSBEAUTIFY_DEBUG ? function() { + console.error.apply(console, arguments); +} : function() {}; + +var fs = require('fs'), + cc = require('config-chain'), + beautify = require('../index'), + mkdirp = require('mkdirp'), + nopt = require('nopt'); + +nopt.invalidHandler = function(key, val) { + throw new Error(key + " was invalid with value \"" + val + "\""); +}; + +nopt.typeDefs.brace_style = { + type: "brace_style", + validate: function(data, key, val) { + data[key] = val; + // TODO: expand-strict is obsolete, now identical to expand. Remove in future version + // TODO: collapse-preserve-inline is obselete, now identical to collapse,preserve-inline = true. Remove in future version + var validVals = ["collapse", "collapse-preserve-inline", "expand", "end-expand", "expand-strict", "none", "preserve-inline"]; + var valSplit = val.split(/[^a-zA-Z0-9_\-]+/); //Split will always return at least one parameter + for (var i = 0; i < valSplit.length; i++) { + if (validVals.indexOf(valSplit[i]) === -1) { + return false; + } + } + return true; + } +}; +var path = require('path'), + editorconfig = require('editorconfig'), + knownOpts = { + // Beautifier + "indent_size": Number, + "indent_char": String, + "eol": String, + "indent_level": Number, + "indent_with_tabs": Boolean, + "preserve_newlines": Boolean, + "max_preserve_newlines": Number, + "space_in_paren": Boolean, + "space_in_empty_paren": Boolean, + "jslint_happy": Boolean, + "space_after_anon_function": Boolean, + "space_after_named_function": Boolean, + "brace_style": "brace_style", //See above for validation + "unindent_chained_methods": Boolean, + "break_chained_methods": Boolean, + "keep_array_indentation": Boolean, + "unescape_strings": Boolean, + "wrap_line_length": Number, + "wrap_attributes": ["auto", "force", "force-aligned", "force-expand-multiline", "aligned-multiple", "preserve", "preserve-aligned"], + "wrap_attributes_indent_size": Number, + "e4x": Boolean, + "end_with_newline": Boolean, + "comma_first": Boolean, + "operator_position": ["before-newline", "after-newline", "preserve-newline"], + // CSS-only + "selector_separator_newline": Boolean, + "newline_between_rules": Boolean, + "space_around_combinator": Boolean, + //deprecated - replaced with space_around_combinator, remove in future version + "space_around_selector_separator": Boolean, + // HTML-only + "max_char": Number, // obsolete since 1.3.5 + "inline": [String, Array], + "unformatted": [String, Array], + "content_unformatted": [String, Array], + "indent_inner_html": [Boolean], + "indent_handlebars": [Boolean], + "indent_scripts": ["keep", "separate", "normal"], + "extra_liners": [String, Array], + // CLI + "version": Boolean, + "help": Boolean, + "files": [path, Array], + "outfile": path, + "replace": Boolean, + "quiet": Boolean, + "type": ["js", "css", "html"], + "config": path, + "editorconfig": Boolean + }, + // dasherizeShorthands provides { "indent-size": ["--indent_size"] } + // translation, allowing more convenient dashes in CLI arguments + shortHands = dasherizeShorthands({ + // Beautifier + "s": ["--indent_size"], + "c": ["--indent_char"], + "e": ["--eol"], + "l": ["--indent_level"], + "t": ["--indent_with_tabs"], + "p": ["--preserve_newlines"], + "m": ["--max_preserve_newlines"], + "P": ["--space_in_paren"], + "Q": ["--space_in_empty_paren"], + "j": ["--jslint_happy"], + "a": ["--space_after_anon_function"], + "b": ["--brace_style"], + "u": ["--unindent_chained_methods"], + "B": ["--break_chained_methods"], + "k": ["--keep_array_indentation"], + "x": ["--unescape_strings"], + "w": ["--wrap_line_length"], + "X": ["--e4x"], + "n": ["--end_with_newline"], + "C": ["--comma_first"], + "O": ["--operator_position"], + // CSS-only + "L": ["--selector_separator_newline"], + "N": ["--newline_between_rules"], + // HTML-only + "A": ["--wrap_attributes"], + "i": ["--wrap_attributes_indent_size"], + "W": ["--max_char"], // obsolete since 1.3.5 + "d": ["--inline"], + "U": ["--unformatted"], + "T": ["--content_unformatted"], + "I": ["--indent_inner_html"], + "H": ["--indent_handlebars"], + "S": ["--indent_scripts"], + "E": ["--extra_liners"], + // non-dasherized hybrid shortcuts + "good-stuff": [ + "--keep_array_indentation", + "--keep_function_indentation", + "--jslint_happy" + ], + "js": ["--type", "js"], + "css": ["--type", "css"], + "html": ["--type", "html"], + // CLI + "v": ["--version"], + "h": ["--help"], + "f": ["--files"], + "o": ["--outfile"], + "r": ["--replace"], + "q": ["--quiet"] + // no shorthand for "config" + // no shorthand for "editorconfig" + }); + +function verifyExists(fullPath) { + return fs.existsSync(fullPath) ? fullPath : null; +} + +function findRecursive(dir, fileName) { + var fullPath = path.join(dir, fileName); + var nextDir = path.dirname(dir); + var result = verifyExists(fullPath); + + if (!result && (nextDir !== dir)) { + result = findRecursive(nextDir, fileName); + } + + return result; +} + +function getUserHome() { + var user_home = ''; + try { + user_home = process.env.USERPROFILE || process.env.HOME || ''; + } catch (ex) {} + return user_home; +} + +function set_file_editorconfig_opts(file, config) { + try { + var eConfigs = editorconfig.parseSync(file); + + if (eConfigs.indent_style === "tab") { + config.indent_with_tabs = true; + } else if (eConfigs.indent_style === "space") { + config.indent_with_tabs = false; + } + + if (eConfigs.indent_size) { + config.indent_size = eConfigs.indent_size; + } + + if (eConfigs.max_line_length) { + if (eConfigs.max_line_length === "off") { + config.wrap_line_length = 0; + } else { + config.wrap_line_length = parseInt(eConfigs.max_line_length, 10); + } + } + + if (eConfigs.insert_final_newline === true) { + config.end_with_newline = true; + } else if (eConfigs.insert_final_newline === false) { + config.end_with_newline = false; + } + + if (eConfigs.end_of_line) { + if (eConfigs.end_of_line === 'cr') { + config.eol = '\r'; + } else if (eConfigs.end_of_line === 'lf') { + config.eol = '\n'; + } else if (eConfigs.end_of_line === 'crlf') { + config.eol = '\r\n'; + } + } + } catch (e) { + debug(e); + } +} + +// var cli = require('js-beautify/cli'); cli.interpret(); +var interpret = exports.interpret = function(argv, slice) { + var parsed; + try { + parsed = nopt(knownOpts, shortHands, argv, slice); + } catch (ex) { + usage(ex); + // console.error(ex); + // console.error('Run `' + getScriptName() + ' -h` for help.'); + process.exit(1); + } + + + if (parsed.version) { + console.log(require('../../package.json').version); + process.exit(0); + } else if (parsed.help) { + usage(); + process.exit(0); + } + + var cfg; + var configRecursive = findRecursive(process.cwd(), '.jsbeautifyrc'); + var configHome = verifyExists(path.join(getUserHome() || "", ".jsbeautifyrc")); + var configDefault = __dirname + '/../config/defaults.json'; + + try { + cfg = cc( + parsed, + cleanOptions(cc.env('jsbeautify_'), knownOpts), + parsed.config, + configRecursive, + configHome, + configDefault + ).snapshot; + } catch (ex) { + debug(cfg); + // usage(ex); + console.error(ex); + console.error('Error while loading beautifier configuration.'); + console.error('Configuration file chain included:'); + if (parsed.config) { + console.error(parsed.config); + } + if (configRecursive) { + console.error(configRecursive); + } + if (configHome) { + console.error(configHome); + } + console.error(configDefault); + console.error('Run `' + getScriptName() + ' -h` for help.'); + process.exit(1); + } + + try { + // Verify arguments + checkType(cfg); + checkFiles(cfg); + debug(cfg); + + // Process files synchronously to avoid EMFILE error + cfg.files.forEach(processInputSync, { + cfg: cfg + }); + } catch (ex) { + debug(cfg); + // usage(ex); + console.error(ex); + console.error('Run `' + getScriptName() + ' -h` for help.'); + process.exit(1); + } +}; + +// interpret args immediately when called as executable +if (require.main === module) { + interpret(); +} + +function usage(err) { + var scriptName = getScriptName(); + var msg = [ + scriptName + '@' + require('../../package.json').version, + '', + 'CLI Options:', + ' -f, --file Input file(s) (Pass \'-\' for stdin)', + ' -r, --replace Write output in-place, replacing input', + ' -o, --outfile Write output to file (default stdout)', + ' --config Path to config file', + ' --type [js|css|html] ["js"]', + ' -q, --quiet Suppress logging to stdout', + ' -h, --help Show this help', + ' -v, --version Show the version', + '', + 'Beautifier Options:', + ' -s, --indent-size Indentation size [4]', + ' -c, --indent-char Indentation character [" "]', + ' -t, --indent-with-tabs Indent with tabs, overrides -s and -c', + ' -e, --eol Character(s) to use as line terminators.', + ' [first newline in file, otherwise "\\n]', + ' -n, --end-with-newline End output with newline', + ' --editorconfig Use EditorConfig to set up the options' + ]; + + switch (scriptName.split('-').shift()) { + case "js": + msg.push(' -l, --indent-level Initial indentation level [0]'); + msg.push(' -p, --preserve-newlines Preserve line-breaks (--no-preserve-newlines disables)'); + msg.push(' -m, --max-preserve-newlines Number of line-breaks to be preserved in one chunk [10]'); + msg.push(' -P, --space-in-paren Add padding spaces within paren, ie. f( a, b )'); + msg.push(' -E, --space-in-empty-paren Add a single space inside empty paren, ie. f( )'); + msg.push(' -j, --jslint-happy Enable jslint-stricter mode'); + msg.push(' -a, --space-after-anon-function Add a space before an anonymous function\'s parens, ie. function ()'); + msg.push(' --space_after_named_function Add a space before a named function\'s parens, ie. function example ()'); + msg.push(' -b, --brace-style [collapse|expand|end-expand|none][,preserve-inline] [collapse,preserve-inline]'); + msg.push(' -u, --unindent-chained-methods Don\'t indent chained method calls'); + msg.push(' -B, --break-chained-methods Break chained method calls across subsequent lines'); + msg.push(' -k, --keep-array-indentation Preserve array indentation'); + msg.push(' -x, --unescape-strings Decode printable characters encoded in xNN notation'); + msg.push(' -w, --wrap-line-length Wrap lines at next opportunity after N characters [0]'); + msg.push(' -X, --e4x Pass E4X xml literals through untouched'); + msg.push(' --good-stuff Warm the cockles of Crockford\'s heart'); + msg.push(' -C, --comma-first Put commas at the beginning of new line instead of end'); + msg.push(' -O, --operator-position Set operator position (before-newline|after-newline|preserve-newline) [before-newline]'); + break; + case "html": + msg.push(' -b, --brace-style [collapse|expand|end-expand] ["collapse"]'); + msg.push(' -I, --indent-inner-html Indent body and head sections. Default is false.'); + msg.push(' -H, --indent-handlebars Indent handlebars. Default is false.'); + msg.push(' -S, --indent-scripts [keep|separate|normal] ["normal"]'); + msg.push(' -w, --wrap-line-length Wrap lines at next opportunity after N characters [0]'); + msg.push(' -A, --wrap-attributes Wrap html tag attributes to new lines [auto|force|force-aligned|force-expand-multiline|aligned-multiple|preserve|preserve-aligned] ["auto"]'); + msg.push(' -i, --wrap-attributes-indent-size Indent wrapped tags to after N characters [indent-level]'); + msg.push(' -p, --preserve-newlines Preserve line-breaks (--no-preserve-newlines disables)'); + msg.push(' -m, --max-preserve-newlines Number of line-breaks to be preserved in one chunk [10]'); + msg.push(' -U, --unformatted List of tags (defaults to inline) that should not be reformatted'); + msg.push(' -T, --content_unformatted List of tags (defaults to pre) whose content should not be reformatted'); + msg.push(' -E, --extra_liners List of tags (defaults to [head,body,/html] that should have an extra newline'); + break; + case "css": + msg.push(' -L, --selector-separator-newline Add a newline between multiple selectors.'); + msg.push(' -N, --newline-between-rules Add a newline between CSS rules.'); + } + + if (err) { + msg.push(err); + msg.push(''); + console.error(msg.join('\n')); + } else { + console.log(msg.join('\n')); + } +} + +// main iterator, {cfg} passed as thisArg of forEach call + +function processInputSync(filepath) { + var data = '', + config = this.cfg, + outfile = config.outfile, + input; + + // -o passed with no value overwrites + if (outfile === true || config.replace) { + outfile = filepath; + } + + var fileType = getOutputType(outfile, filepath, config.type); + + if (config.editorconfig) { + var editorconfig_filepath = filepath; + + if (editorconfig_filepath === '-') { + if (outfile) { + editorconfig_filepath = outfile; + } else { + editorconfig_filepath = 'stdin.' + fileType; + } + } + + debug("EditorConfig is enabled for ", editorconfig_filepath); + config = cc(config).snapshot; + set_file_editorconfig_opts(editorconfig_filepath, config); + debug(config); + } + + if (filepath === '-') { + input = process.stdin; + input.resume(); + + input.setEncoding('utf8'); + + input.on('data', function(chunk) { + data += chunk; + }); + + input.on('end', function() { + makePretty(fileType, data, config, outfile, writePretty); // Where things get beautified + }); + } else { + data = fs.readFileSync(filepath, 'utf8'); + makePretty(fileType, data, config, outfile, writePretty); + } +} + +function makePretty(fileType, code, config, outfile, callback) { + try { + var pretty = beautify[fileType](code, config); + + callback(null, pretty, outfile, config); + } catch (ex) { + callback(ex); + } +} + +function writePretty(err, pretty, outfile, config) { + debug('writing ' + outfile); + if (err) { + console.error(err); + process.exit(1); + } + + if (outfile) { + mkdirp.sync(path.dirname(outfile)); + + if (isFileDifferent(outfile, pretty)) { + try { + fs.writeFileSync(outfile, pretty, 'utf8'); + logToStdout('beautified ' + path.relative(process.cwd(), outfile), config); + } catch (ex) { + onOutputError(ex); + } + } else { + logToStdout('beautified ' + path.relative(process.cwd(), outfile) + ' - unchanged', config); + } + } else { + process.stdout.write(pretty); + } +} + +function isFileDifferent(filePath, expected) { + try { + return fs.readFileSync(filePath, 'utf8') !== expected; + } catch (ex) { + // failing to read is the same as different + return true; + } +} + +// workaround the fact that nopt.clean doesn't return the object passed in :P + +function cleanOptions(data, types) { + nopt.clean(data, types); + return data; +} + +// error handler for output stream that swallows errors silently, +// allowing the loop to continue over unwritable files. + +function onOutputError(err) { + if (err.code === 'EACCES') { + console.error(err.path + " is not writable. Skipping!"); + } else { + console.error(err); + process.exit(0); + } +} + +// turn "--foo_bar" into "foo-bar" + +function dasherizeFlag(str) { + return str.replace(/^\-+/, '').replace(/_/g, '-'); +} + +// translate weird python underscored keys into dashed argv, +// avoiding single character aliases. + +function dasherizeShorthands(hash) { + // operate in-place + Object.keys(hash).forEach(function(key) { + // each key value is an array + var val = hash[key][0]; + // only dasherize one-character shorthands + if (key.length === 1 && val.indexOf('_') > -1) { + hash[dasherizeFlag(val)] = val; + } + }); + + return hash; +} + +function getOutputType(outfile, filepath, configType) { + if (outfile && /\.(js|css|html)$/.test(outfile)) { + return outfile.split('.').pop(); + } else if (filepath !== '-' && /\.(js|css|html)$/.test(filepath)) { + return filepath.split('.').pop(); + } else if (configType) { + return configType; + } else { + throw 'Could not determine appropriate beautifier from file paths: ' + filepath; + } +} + +function getScriptName() { + return path.basename(process.argv[1]); +} + +function checkType(parsed) { + var scriptType = getScriptName().split('-').shift(); + if (!/^(js|css|html)$/.test(scriptType)) { + scriptType = null; + } + + debug("executable type:", scriptType); + + var parsedType = parsed.type; + debug("parsed type:", parsedType); + + if (!parsedType) { + debug("type defaulted:", scriptType); + parsed.type = scriptType; + } +} + +function checkFiles(parsed) { + var argv = parsed.argv; + var isTTY = true; + + try { + isTTY = process.stdin.isTTY; + } catch (ex) { + debug("error querying for isTTY:", ex); + } + + debug('isTTY: ' + isTTY); + + if (!parsed.files) { + parsed.files = []; + } else { + if (argv.cooked.indexOf('-') > -1) { + // strip stdin path eagerly added by nopt in '-f -' case + parsed.files.some(removeDashedPath); + } + } + + if (argv.remain.length) { + // assume any remaining args are files + argv.remain.forEach(function(f) { + if (f !== '-') { + parsed.files.push(path.resolve(f)); + } + }); + } + + if ('string' === typeof parsed.outfile && isTTY && !parsed.files.length) { + // use outfile as input when no other files passed in args + parsed.files.push(parsed.outfile); + // operation is now an implicit overwrite + parsed.replace = true; + } + + if (!parsed.files.length) { + // read stdin by default + parsed.files.push('-'); + } + debug('files.length ' + parsed.files.length); + + if (parsed.files.indexOf('-') > -1 && isTTY) { + throw 'Must pipe input or define at least one file.'; + } + + parsed.files.forEach(testFilePath); + + return parsed; +} + +function removeDashedPath(filepath, i, arr) { + var found = filepath.lastIndexOf('-') === (filepath.length - 1); + if (found) { + arr.splice(i, 1); + } + return found; +} + +function testFilePath(filepath) { + try { + if (filepath !== "-") { + fs.statSync(filepath); + } + } catch (err) { + throw 'Unable to open path "' + filepath + '"'; + } +} + +function logToStdout(str, config) { + if (typeof config.quiet === "undefined" || !config.quiet) { + console.log(str); + } +} diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/directives.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/directives.js new file mode 100644 index 00000000..f61e6214 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/directives.js @@ -0,0 +1,62 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +function Directives(start_block_pattern, end_block_pattern) { + start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source; + end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source; + this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \w+[:]\w+)+ /.source + end_block_pattern, 'g'); + this.__directive_pattern = / (\w+)[:](\w+)/g; + + this.__directives_end_ignore_pattern = new RegExp('(?:[\\s\\S]*?)((?:' + start_block_pattern + /\sbeautify\signore:end\s/.source + end_block_pattern + ')|$)', 'g'); +} + +Directives.prototype.get_directives = function(text) { + if (!text.match(this.__directives_block_pattern)) { + return null; + } + + var directives = {}; + this.__directive_pattern.lastIndex = 0; + var directive_match = this.__directive_pattern.exec(text); + + while (directive_match) { + directives[directive_match[1]] = directive_match[2]; + directive_match = this.__directive_pattern.exec(text); + } + + return directives; +}; + +Directives.prototype.readIgnored = function(input) { + return input.read(this.__directives_end_ignore_pattern); +}; + + +module.exports.Directives = Directives; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/inputscanner.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/inputscanner.js new file mode 100644 index 00000000..8111b6b3 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/inputscanner.js @@ -0,0 +1,148 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +function InputScanner(input_string) { + this.__input = input_string || ''; + this.__input_length = this.__input.length; + this.__position = 0; +} + +InputScanner.prototype.restart = function() { + this.__position = 0; +}; + +InputScanner.prototype.back = function() { + if (this.__position > 0) { + this.__position -= 1; + } +}; + +InputScanner.prototype.hasNext = function() { + return this.__position < this.__input_length; +}; + +InputScanner.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__input.charAt(this.__position); + this.__position += 1; + } + return val; +}; + +InputScanner.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__input_length) { + val = this.__input.charAt(index); + } + return val; +}; + +InputScanner.prototype.test = function(pattern, index) { + index = index || 0; + index += this.__position; + pattern.lastIndex = index; + + if (index >= 0 && index < this.__input_length) { + var pattern_match = pattern.exec(this.__input); + return pattern_match && pattern_match.index === index; + } else { + return false; + } +}; + +InputScanner.prototype.testChar = function(pattern, index) { + // test one character regex match + var val = this.peek(index); + return val !== null && pattern.test(val); +}; + +InputScanner.prototype.match = function(pattern) { + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match && pattern_match.index === this.__position) { + this.__position += pattern_match[0].length; + } else { + pattern_match = null; + } + return pattern_match; +}; + +InputScanner.prototype.read = function(pattern) { + var val = ''; + var match = this.match(pattern); + if (match) { + val = match[0]; + } + return val; +}; + +InputScanner.prototype.readUntil = function(pattern, include_match) { + var val = ''; + var match_index = this.__position; + pattern.lastIndex = this.__position; + var pattern_match = pattern.exec(this.__input); + if (pattern_match) { + if (include_match) { + match_index = pattern_match.index + pattern_match[0].length; + } else { + match_index = pattern_match.index; + } + } else { + match_index = this.__input_length; + } + + val = this.__input.substring(this.__position, match_index); + this.__position = match_index; + return val; +}; + +InputScanner.prototype.readUntilAfter = function(pattern) { + return this.readUntil(pattern, true); +}; + +/* css beautifier legacy helpers */ +InputScanner.prototype.peekUntilAfter = function(pattern) { + var start = this.__position; + var val = this.readUntilAfter(pattern); + this.__position = start; + return val; +}; + +InputScanner.prototype.lookBack = function(testVal) { + var start = this.__position - 1; + return start >= testVal.length && this.__input.substring(start - testVal.length, start) + .toLowerCase() === testVal; +}; + + +module.exports.InputScanner = InputScanner; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/options.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/options.js new file mode 100644 index 00000000..40dd330b --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/options.js @@ -0,0 +1,177 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +function Options(options, merge_child_field) { + this.raw_options = _mergeOpts(options, merge_child_field); + + // Support passing the source text back with no change + this.disabled = this._get_boolean('disabled'); + + this.eol = this._get_characters('eol', 'auto'); + this.end_with_newline = this._get_boolean('end_with_newline'); + this.indent_size = this._get_number('indent_size', 4); + this.indent_char = this._get_characters('indent_char', ' '); + this.indent_level = this._get_number('indent_level'); + + this.preserve_newlines = this._get_boolean('preserve_newlines', true); + this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786); + if (!this.preserve_newlines) { + this.max_preserve_newlines = 0; + } + + this.indent_with_tabs = this._get_boolean('indent_with_tabs'); + if (this.indent_with_tabs) { + this.indent_char = '\t'; + this.indent_size = 1; + } + + // Backwards compat with 1.3.x + this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char')); + +} + +Options.prototype._get_array = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || []; + if (typeof option_value === 'object') { + if (option_value !== null && typeof option_value.concat === 'function') { + result = option_value.concat(); + } + } else if (typeof option_value === 'string') { + result = option_value.split(/[^a-zA-Z0-9_\/\-]+/); + } + return result; +}; + +Options.prototype._get_boolean = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = option_value === undefined ? !!default_value : !!option_value; + return result; +}; + +Options.prototype._get_characters = function(name, default_value) { + var option_value = this.raw_options[name]; + var result = default_value || ''; + if (typeof option_value === 'string') { + result = option_value.replace(/\\r/, '\r').replace(/\\n/, '\n').replace(/\\t/, '\t'); + } + return result; +}; + +Options.prototype._get_number = function(name, default_value) { + var option_value = this.raw_options[name]; + default_value = parseInt(default_value, 10); + if (isNaN(default_value)) { + default_value = 0; + } + var result = parseInt(option_value, 10); + if (isNaN(result)) { + result = default_value; + } + return result; +}; + +Options.prototype._get_selection = function(name, selection_list, default_value) { + var result = this._get_selection_list(name, selection_list, default_value); + if (result.length !== 1) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can only be one of the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result[0]; +}; + + +Options.prototype._get_selection_list = function(name, selection_list, default_value) { + if (!selection_list || selection_list.length === 0) { + throw new Error("Selection list cannot be empty."); + } + + default_value = default_value || [selection_list[0]]; + if (!this._is_valid_selection(default_value, selection_list)) { + throw new Error("Invalid Default Value!"); + } + + var result = this._get_array(name, default_value); + if (!this._is_valid_selection(result, selection_list)) { + throw new Error( + "Invalid Option Value: The option '" + name + "' can contain only the following values:\n" + + selection_list + "\nYou passed in: '" + this.raw_options[name] + "'"); + } + + return result; +}; + +Options.prototype._is_valid_selection = function(result, selection_list) { + return result.length && selection_list.length && + !result.some(function(item) { return selection_list.indexOf(item) === -1; }); +}; + + +// merges child options up with the parent options object +// Example: obj = {a: 1, b: {a: 2}} +// mergeOpts(obj, 'b') +// +// Returns: {a: 2} +function _mergeOpts(allOptions, childFieldName) { + var finalOpts = {}; + allOptions = _normalizeOpts(allOptions); + var name; + + for (name in allOptions) { + if (name !== childFieldName) { + finalOpts[name] = allOptions[name]; + } + } + + //merge in the per type settings for the childFieldName + if (childFieldName && allOptions[childFieldName]) { + for (name in allOptions[childFieldName]) { + finalOpts[name] = allOptions[childFieldName][name]; + } + } + return finalOpts; +} + +function _normalizeOpts(options) { + var convertedOpts = {}; + var key; + + for (key in options) { + var newKey = key.replace(/-/g, "_"); + convertedOpts[newKey] = options[key]; + } + return convertedOpts; +} + +module.exports.Options = Options; +module.exports.normalizeOpts = _normalizeOpts; +module.exports.mergeOpts = _mergeOpts; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/output.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/output.js new file mode 100644 index 00000000..5e400ffb --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/output.js @@ -0,0 +1,309 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +function OutputLine(parent) { + this.__parent = parent; + this.__character_count = 0; + // use indent_count as a marker for this.__lines that have preserved indentation + this.__indent_count = -1; + this.__alignment_count = 0; + + this.__items = []; +} + +OutputLine.prototype.item = function(index) { + if (index < 0) { + return this.__items[this.__items.length + index]; + } else { + return this.__items[index]; + } +}; + +OutputLine.prototype.has_match = function(pattern) { + for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) { + if (this.__items[lastCheckedOutput].match(pattern)) { + return true; + } + } + return false; +}; + +OutputLine.prototype.set_indent = function(indent, alignment) { + this.__indent_count = indent || 0; + this.__alignment_count = alignment || 0; + this.__character_count = this.__parent.baseIndentLength + this.__alignment_count + this.__indent_count * this.__parent.indent_length; +}; + +OutputLine.prototype.get_character_count = function() { + return this.__character_count; +}; + +OutputLine.prototype.is_empty = function() { + return this.__items.length === 0; +}; + +OutputLine.prototype.last = function() { + if (!this.is_empty()) { + return this.__items[this.__items.length - 1]; + } else { + return null; + } +}; + +OutputLine.prototype.push = function(item) { + this.__items.push(item); + this.__character_count += item.length; +}; + +OutputLine.prototype.push_raw = function(item) { + this.push(item); + var last_newline_index = item.lastIndexOf('\n'); + if (last_newline_index !== -1) { + this.__character_count = item.length - last_newline_index; + } +}; + +OutputLine.prototype.pop = function() { + var item = null; + if (!this.is_empty()) { + item = this.__items.pop(); + this.__character_count -= item.length; + } + return item; +}; + +OutputLine.prototype.remove_indent = function() { + if (this.__indent_count > 0) { + this.__indent_count -= 1; + this.__character_count -= this.__parent.indent_length; + } +}; + +OutputLine.prototype.trim = function() { + while (this.last() === ' ') { + this.__items.pop(); + this.__character_count -= 1; + } +}; + +OutputLine.prototype.toString = function() { + var result = ''; + if (!this.is_empty()) { + if (this.__indent_count >= 0) { + result = this.__parent.get_indent_string(this.__indent_count); + } + if (this.__alignment_count >= 0) { + result += this.__parent.get_alignment_string(this.__alignment_count); + } + result += this.__items.join(''); + } + return result; +}; + +function IndentCache(base_string, level_string) { + this.__cache = [base_string]; + this.__level_string = level_string; +} + +IndentCache.prototype.__ensure_cache = function(level) { + while (level >= this.__cache.length) { + this.__cache.push(this.__cache[this.__cache.length - 1] + this.__level_string); + } +}; + +IndentCache.prototype.get_level_string = function(level) { + this.__ensure_cache(level); + return this.__cache[level]; +}; + + +function Output(options, baseIndentString) { + var indent_string = options.indent_char; + if (options.indent_size > 1) { + indent_string = new Array(options.indent_size + 1).join(options.indent_char); + } + + // Set to null to continue support for auto detection of base indent level. + baseIndentString = baseIndentString || ''; + if (options.indent_level > 0) { + baseIndentString = new Array(options.indent_level + 1).join(indent_string); + } + + this.__indent_cache = new IndentCache(baseIndentString, indent_string); + this.__alignment_cache = new IndentCache('', ' '); + this.baseIndentLength = baseIndentString.length; + this.indent_length = indent_string.length; + this.raw = false; + this._end_with_newline = options.end_with_newline; + + this.__lines = []; + this.previous_line = null; + this.current_line = null; + this.space_before_token = false; + // initialize + this.__add_outputline(); +} + +Output.prototype.__add_outputline = function() { + this.previous_line = this.current_line; + this.current_line = new OutputLine(this); + this.__lines.push(this.current_line); +}; + +Output.prototype.get_line_number = function() { + return this.__lines.length; +}; + +Output.prototype.get_indent_string = function(level) { + return this.__indent_cache.get_level_string(level); +}; + +Output.prototype.get_alignment_string = function(level) { + return this.__alignment_cache.get_level_string(level); +}; + +Output.prototype.is_empty = function() { + return !this.previous_line && this.current_line.is_empty(); +}; + +Output.prototype.add_new_line = function(force_newline) { + // never newline at the start of file + // otherwise, newline only if we didn't just add one or we're forced + if (this.is_empty() || + (!force_newline && this.just_added_newline())) { + return false; + } + + // if raw output is enabled, don't print additional newlines, + // but still return True as though you had + if (!this.raw) { + this.__add_outputline(); + } + return true; +}; + +Output.prototype.get_code = function(eol) { + var sweet_code = this.__lines.join('\n').replace(/[\r\n\t ]+$/, ''); + + if (this._end_with_newline) { + sweet_code += '\n'; + } + + if (eol !== '\n') { + sweet_code = sweet_code.replace(/[\n]/g, eol); + } + + return sweet_code; +}; + +Output.prototype.set_indent = function(indent, alignment) { + indent = indent || 0; + alignment = alignment || 0; + + // Never indent your first output indent at the start of the file + if (this.__lines.length > 1) { + this.current_line.set_indent(indent, alignment); + return true; + } + this.current_line.set_indent(); + return false; +}; + +Output.prototype.add_raw_token = function(token) { + for (var x = 0; x < token.newlines; x++) { + this.__add_outputline(); + } + this.current_line.push(token.whitespace_before); + this.current_line.push_raw(token.text); + this.space_before_token = false; +}; + +Output.prototype.add_token = function(printable_token) { + this.add_space_before_token(); + this.current_line.push(printable_token); +}; + +Output.prototype.add_space_before_token = function() { + if (this.space_before_token && !this.just_added_newline()) { + this.current_line.push(' '); + } + this.space_before_token = false; +}; + +Output.prototype.remove_indent = function(index) { + var output_length = this.__lines.length; + while (index < output_length) { + this.__lines[index].remove_indent(); + index++; + } +}; + +Output.prototype.trim = function(eat_newlines) { + eat_newlines = (eat_newlines === undefined) ? false : eat_newlines; + + this.current_line.trim(this.indent_string, this.baseIndentString); + + while (eat_newlines && this.__lines.length > 1 && + this.current_line.is_empty()) { + this.__lines.pop(); + this.current_line = this.__lines[this.__lines.length - 1]; + this.current_line.trim(); + } + + this.previous_line = this.__lines.length > 1 ? + this.__lines[this.__lines.length - 2] : null; +}; + +Output.prototype.just_added_newline = function() { + return this.current_line.is_empty(); +}; + +Output.prototype.just_added_blankline = function() { + return this.is_empty() || + (this.current_line.is_empty() && this.previous_line.is_empty()); +}; + +Output.prototype.ensure_empty_line_above = function(starts_with, ends_with) { + var index = this.__lines.length - 2; + while (index >= 0) { + var potentialEmptyLine = this.__lines[index]; + if (potentialEmptyLine.is_empty()) { + break; + } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 && + potentialEmptyLine.item(-1) !== ends_with) { + this.__lines.splice(index + 1, 0, new OutputLine(this)); + this.previous_line = this.__lines[this.__lines.length - 2]; + break; + } + index--; + } +}; + +module.exports.Output = Output; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/token.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/token.js new file mode 100644 index 00000000..13f6e901 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/token.js @@ -0,0 +1,54 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +function Token(type, text, newlines, whitespace_before) { + this.type = type; + this.text = text; + + // comments_before are + // comments that have a new line before them + // and may or may not have a newline after + // this is a set of comments before + this.comments_before = null; /* inline comment*/ + + + // this.comments_after = new TokenStream(); // no new line before and newline after + this.newlines = newlines || 0; + this.whitespace_before = whitespace_before || ''; + this.parent = null; + this.next = null; + this.previous = null; + this.opened = null; + this.closed = null; + this.directives = null; +} + + +module.exports.Token = Token; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/tokenizer.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/tokenizer.js new file mode 100644 index 00000000..e2770348 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/tokenizer.js @@ -0,0 +1,152 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var InputScanner = require('../core/inputscanner').InputScanner; +var Token = require('../core/token').Token; +var TokenStream = require('../core/tokenstream').TokenStream; + +var TOKEN = { + START: 'TK_START', + RAW: 'TK_RAW', + EOF: 'TK_EOF' +}; + +var Tokenizer = function(input_string, options) { + this._input = new InputScanner(input_string); + this._options = options || {}; + this.__tokens = null; + this.__newline_count = 0; + this.__whitespace_before_token = ''; + + this._whitespace_pattern = /[\n\r\t ]+/g; + this._newline_pattern = /([^\n\r]*)(\r\n|[\n\r])?/g; +}; + +Tokenizer.prototype.tokenize = function() { + this._input.restart(); + this.__tokens = new TokenStream(); + + this._reset(); + + var current; + var previous = new Token(TOKEN.START, ''); + var open_token = null; + var open_stack = []; + var comments = new TokenStream(); + + while (previous.type !== TOKEN.EOF) { + current = this._get_next_token(previous, open_token); + while (this._is_comment(current)) { + comments.add(current); + current = this._get_next_token(previous, open_token); + } + + if (!comments.isEmpty()) { + current.comments_before = comments; + comments = new TokenStream(); + } + + current.parent = open_token; + + if (this._is_opening(current)) { + open_stack.push(open_token); + open_token = current; + } else if (open_token && this._is_closing(current, open_token)) { + current.opened = open_token; + open_token.closed = current; + open_token = open_stack.pop(); + current.parent = open_token; + } + + current.previous = previous; + previous.next = current; + + this.__tokens.add(current); + previous = current; + } + + return this.__tokens; +}; + + +Tokenizer.prototype._is_first_token = function() { + return this.__tokens.isEmpty(); +}; + +Tokenizer.prototype._reset = function() {}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var resulting_string = this._input.read(/.+/g); + if (resulting_string) { + return this._create_token(TOKEN.RAW, resulting_string); + } else { + return this._create_token(TOKEN.EOF, ''); + } +}; + +Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._is_opening = function(current_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { // jshint unused:false + return false; +}; + +Tokenizer.prototype._create_token = function(type, text) { + var token = new Token(type, text, this.__newline_count, this.__whitespace_before_token); + this.__newline_count = 0; + this.__whitespace_before_token = ''; + return token; +}; + +Tokenizer.prototype._readWhitespace = function() { + var resulting_string = this._input.read(this._whitespace_pattern); + if (resulting_string === ' ') { + this.__whitespace_before_token = resulting_string; + } else if (resulting_string !== '') { + this._newline_pattern.lastIndex = 0; + var nextMatch = this._newline_pattern.exec(resulting_string); + while (nextMatch[2]) { + this.__newline_count += 1; + nextMatch = this._newline_pattern.exec(resulting_string); + } + this.__whitespace_before_token = nextMatch[1]; + } +}; + + + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/core/tokenstream.js b/build/js-transpiled/node_modules/js-beautify/js/src/core/tokenstream.js new file mode 100644 index 00000000..88302ffe --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/core/tokenstream.js @@ -0,0 +1,78 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +function TokenStream(parent_token) { + // private + this.__tokens = []; + this.__tokens_length = this.__tokens.length; + this.__position = 0; + this.__parent_token = parent_token; +} + +TokenStream.prototype.restart = function() { + this.__position = 0; +}; + +TokenStream.prototype.isEmpty = function() { + return this.__tokens_length === 0; +}; + +TokenStream.prototype.hasNext = function() { + return this.__position < this.__tokens_length; +}; + +TokenStream.prototype.next = function() { + var val = null; + if (this.hasNext()) { + val = this.__tokens[this.__position]; + this.__position += 1; + } + return val; +}; + +TokenStream.prototype.peek = function(index) { + var val = null; + index = index || 0; + index += this.__position; + if (index >= 0 && index < this.__tokens_length) { + val = this.__tokens[index]; + } + return val; +}; + +TokenStream.prototype.add = function(token) { + if (this.__parent_token) { + token.parent = this.__parent_token; + } + this.__tokens.push(token); + this.__tokens_length += 1; +}; + +module.exports.TokenStream = TokenStream; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/css/beautifier.js b/build/js-transpiled/node_modules/js-beautify/js/src/css/beautifier.js new file mode 100644 index 00000000..235fbecf --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/css/beautifier.js @@ -0,0 +1,438 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var Options = require('./options').Options; +var Output = require('../core/output').Output; +var InputScanner = require('../core/inputscanner').InputScanner; + +var lineBreak = /\r\n|[\r\n]/; +var allLineBreaks = /\r\n|[\r\n]/g; + +// tokenizer +var whitespaceChar = /\s/; +var whitespacePattern = /(?:\s|\n)+/g; +var block_comment_pattern = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g; +var comment_pattern = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + +function Beautifier(source_text, options) { + this._source_text = source_text || ''; + // Allow the setting of language/file-type specific options + // with inheritance of overall settings + this._options = new Options(options); + this._ch = null; + this._input = null; + + // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule + this.NESTED_AT_RULE = { + "@page": true, + "@font-face": true, + "@keyframes": true, + // also in CONDITIONAL_GROUP_RULE below + "@media": true, + "@supports": true, + "@document": true + }; + this.CONDITIONAL_GROUP_RULE = { + "@media": true, + "@supports": true, + "@document": true + }; + +} + +Beautifier.prototype.eatString = function(endChars) { + var result = ''; + this._ch = this._input.next(); + while (this._ch) { + result += this._ch; + if (this._ch === "\\") { + result += this._input.next(); + } else if (endChars.indexOf(this._ch) !== -1 || this._ch === "\n") { + break; + } + this._ch = this._input.next(); + } + return result; +}; + +// Skips any white space in the source text from the current position. +// When allowAtLeastOneNewLine is true, will output new lines for each +// newline character found; if the user has preserve_newlines off, only +// the first newline will be output +Beautifier.prototype.eatWhitespace = function(allowAtLeastOneNewLine) { + var result = whitespaceChar.test(this._input.peek()); + var isFirstNewLine = true; + + while (whitespaceChar.test(this._input.peek())) { + this._ch = this._input.next(); + if (allowAtLeastOneNewLine && this._ch === '\n') { + if (this._options.preserve_newlines || isFirstNewLine) { + isFirstNewLine = false; + this._output.add_new_line(true); + } + } + } + return result; +}; + +// Nested pseudo-class if we are insideRule +// and the next special character found opens +// a new block +Beautifier.prototype.foundNestedPseudoClass = function() { + var openParen = 0; + var i = 1; + var ch = this._input.peek(i); + while (ch) { + if (ch === "{") { + return true; + } else if (ch === '(') { + // pseudoclasses can contain () + openParen += 1; + } else if (ch === ')') { + if (openParen === 0) { + return false; + } + openParen -= 1; + } else if (ch === ";" || ch === "}") { + return false; + } + i++; + ch = this._input.peek(i); + } + return false; +}; + +Beautifier.prototype.print_string = function(output_string) { + if (this._output.just_added_newline()) { + this._output.set_indent(this._indentLevel); + } + this._output.add_token(output_string); +}; + +Beautifier.prototype.preserveSingleSpace = function(isAfterSpace) { + if (isAfterSpace) { + this._output.space_before_token = true; + } +}; + +Beautifier.prototype.indent = function() { + this._indentLevel++; +}; + +Beautifier.prototype.outdent = function() { + if (this._indentLevel > 0) { + this._indentLevel--; + } +}; + +/*_____________________--------------------_____________________*/ + +Beautifier.prototype.beautify = function() { + if (this._options.disabled) { + return this._source_text; + } + + var source_text = this._source_text; + var eol = this._options.eol; + if (eol === 'auto') { + eol = '\n'; + if (source_text && lineBreak.test(source_text || '')) { + eol = source_text.match(lineBreak)[0]; + } + } + + + // HACK: newline parsing inconsistent. This brute force normalizes the this._input. + source_text = source_text.replace(allLineBreaks, '\n'); + + // reset + var baseIndentString = source_text.match(/^[\t ]*/)[0]; + + this._output = new Output(this._options, baseIndentString); + this._input = new InputScanner(source_text); + this._indentLevel = 0; + this._nestedLevel = 0; + + this._ch = null; + var parenLevel = 0; + + var insideRule = false; + // This is the value side of a property value pair (blue in the following ex) + // label { content: blue } + var insidePropertyValue = false; + var enteringConditionalGroup = false; + var insideAtExtend = false; + var insideAtImport = false; + var topCharacter = this._ch; + + while (true) { + var whitespace = this._input.read(whitespacePattern); + var isAfterSpace = whitespace !== ''; + var previous_ch = topCharacter; + this._ch = this._input.next(); + topCharacter = this._ch; + + if (!this._ch) { + break; + } else if (this._ch === '/' && this._input.peek() === '*') { + // /* css comment */ + // Always start block comments on a new line. + // This handles scenarios where a block comment immediately + // follows a property definition on the same line or where + // minified code is being beautified. + this._output.add_new_line(); + this._input.back(); + this.print_string(this._input.read(block_comment_pattern)); + + // Ensures any new lines following the comment are preserved + this.eatWhitespace(true); + + // Block comments are followed by a new line so they don't + // share a line with other properties + this._output.add_new_line(); + } else if (this._ch === '/' && this._input.peek() === '/') { + // // single line comment + // Preserves the space before a comment + // on the same line as a rule + this._output.space_before_token = true; + this._input.back(); + this.print_string(this._input.read(comment_pattern)); + + // Ensures any new lines following the comment are preserved + this.eatWhitespace(true); + } else if (this._ch === '@') { + this.preserveSingleSpace(isAfterSpace); + + // deal with less propery mixins @{...} + if (this._input.peek() === '{') { + this.print_string(this._ch + this.eatString('}')); + } else { + this.print_string(this._ch); + + // strip trailing space, if present, for hash property checks + var variableOrRule = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g); + + if (variableOrRule.match(/[ :]$/)) { + // we have a variable or pseudo-class, add it and insert one space before continuing + variableOrRule = this.eatString(": ").replace(/\s$/, ''); + this.print_string(variableOrRule); + this._output.space_before_token = true; + } + + variableOrRule = variableOrRule.replace(/\s$/, ''); + + if (variableOrRule === 'extend') { + insideAtExtend = true; + } else if (variableOrRule === 'import') { + insideAtImport = true; + } + + // might be a nesting at-rule + if (variableOrRule in this.NESTED_AT_RULE) { + this._nestedLevel += 1; + if (variableOrRule in this.CONDITIONAL_GROUP_RULE) { + enteringConditionalGroup = true; + } + // might be less variable + } else if (!insideRule && parenLevel === 0 && variableOrRule.indexOf(':') !== -1) { + insidePropertyValue = true; + this.indent(); + } + } + } else if (this._ch === '#' && this._input.peek() === '{') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch + this.eatString('}')); + } else if (this._ch === '{') { + if (insidePropertyValue) { + insidePropertyValue = false; + this.outdent(); + } + this.indent(); + this._output.space_before_token = true; + this.print_string(this._ch); + + // when entering conditional groups, only rulesets are allowed + if (enteringConditionalGroup) { + enteringConditionalGroup = false; + insideRule = (this._indentLevel > this._nestedLevel); + } else { + // otherwise, declarations are also allowed + insideRule = (this._indentLevel >= this._nestedLevel); + } + if (this._options.newline_between_rules && insideRule) { + if (this._output.previous_line && this._output.previous_line.item(-1) !== '{') { + this._output.ensure_empty_line_above('/', ','); + } + } + this.eatWhitespace(true); + this._output.add_new_line(); + } else if (this._ch === '}') { + this.outdent(); + this._output.add_new_line(); + if (previous_ch === '{') { + this._output.trim(true); + } + insideAtImport = false; + insideAtExtend = false; + if (insidePropertyValue) { + this.outdent(); + insidePropertyValue = false; + } + this.print_string(this._ch); + insideRule = false; + if (this._nestedLevel) { + this._nestedLevel--; + } + + this.eatWhitespace(true); + this._output.add_new_line(); + + if (this._options.newline_between_rules && !this._output.just_added_blankline()) { + if (this._input.peek() !== '}') { + this._output.add_new_line(true); + } + } + } else if (this._ch === ":") { + if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack("&") || this.foundNestedPseudoClass()) && !this._input.lookBack("(") && !insideAtExtend) { + // 'property: value' delimiter + // which could be in a conditional group query + this.print_string(':'); + if (!insidePropertyValue) { + insidePropertyValue = true; + this._output.space_before_token = true; + this.eatWhitespace(true); + this.indent(); + } + } else { + // sass/less parent reference don't use a space + // sass nested pseudo-class don't use a space + + // preserve space before pseudoclasses/pseudoelements, as it means "in any child" + if (this._input.lookBack(" ")) { + this._output.space_before_token = true; + } + if (this._input.peek() === ":") { + // pseudo-element + this._ch = this._input.next(); + this.print_string("::"); + } else { + // pseudo-class + this.print_string(':'); + } + } + } else if (this._ch === '"' || this._ch === '\'') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch + this.eatString(this._ch)); + this.eatWhitespace(true); + } else if (this._ch === ';') { + if (insidePropertyValue) { + this.outdent(); + insidePropertyValue = false; + } + insideAtExtend = false; + insideAtImport = false; + this.print_string(this._ch); + this.eatWhitespace(true); + + // This maintains single line comments on the same + // line. Block comments are also affected, but + // a new line is always output before one inside + // that section + if (this._input.peek() !== '/') { + this._output.add_new_line(); + } + } else if (this._ch === '(') { // may be a url + if (this._input.lookBack("url")) { + this.print_string(this._ch); + this.eatWhitespace(); + this._ch = this._input.next(); + if (this._ch === ')' || this._ch === '"' || this._ch === '\'') { + this._input.back(); + parenLevel++; + } else if (this._ch) { + this.print_string(this._ch + this.eatString(')')); + } + } else { + parenLevel++; + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + this.eatWhitespace(); + } + } else if (this._ch === ')') { + this.print_string(this._ch); + parenLevel--; + } else if (this._ch === ',') { + this.print_string(this._ch); + this.eatWhitespace(true); + if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel < 1 && !insideAtImport) { + this._output.add_new_line(); + } else { + this._output.space_before_token = true; + } + } else if ((this._ch === '>' || this._ch === '+' || this._ch === '~') && !insidePropertyValue && parenLevel < 1) { + //handle combinator spacing + if (this._options.space_around_combinator) { + this._output.space_before_token = true; + this.print_string(this._ch); + this._output.space_before_token = true; + } else { + this.print_string(this._ch); + this.eatWhitespace(); + // squash extra whitespace + if (this._ch && whitespaceChar.test(this._ch)) { + this._ch = ''; + } + } + } else if (this._ch === ']') { + this.print_string(this._ch); + } else if (this._ch === '[') { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + } else if (this._ch === '=') { // no whitespace before or after + this.eatWhitespace(); + this.print_string('='); + if (whitespaceChar.test(this._ch)) { + this._ch = ''; + } + } else if (this._ch === '!') { // !important + this.print_string(' '); + this.print_string(this._ch); + } else { + this.preserveSingleSpace(isAfterSpace); + this.print_string(this._ch); + } + } + + var sweetCode = this._output.get_code(eol); + + return sweetCode; +}; + +module.exports.Beautifier = Beautifier; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/css/index.js b/build/js-transpiled/node_modules/js-beautify/js/src/css/index.js new file mode 100644 index 00000000..e59c070d --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/css/index.js @@ -0,0 +1,38 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var Beautifier = require('./beautifier').Beautifier; + +function css_beautify(source_text, options) { + var beautifier = new Beautifier(source_text, options); + return beautifier.beautify(); +} + +module.exports = css_beautify; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/css/options.js b/build/js-transpiled/node_modules/js-beautify/js/src/css/options.js new file mode 100644 index 00000000..862769eb --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/css/options.js @@ -0,0 +1,46 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var BaseOptions = require('../core/options').Options; + +function Options(options) { + BaseOptions.call(this, options, 'css'); + + this.selector_separator_newline = this._get_boolean('selector_separator_newline', true); + this.newline_between_rules = this._get_boolean('newline_between_rules', true); + var space_around_selector_separator = this._get_boolean('space_around_selector_separator'); + this.space_around_combinator = this._get_boolean('space_around_combinator') || space_around_selector_separator; + +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/css/tokenizer.js b/build/js-transpiled/node_modules/js-beautify/js/src/css/tokenizer.js new file mode 100644 index 00000000..648ca950 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/css/tokenizer.js @@ -0,0 +1,29 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/html/beautifier.js b/build/js-transpiled/node_modules/js-beautify/js/src/html/beautifier.js new file mode 100644 index 00000000..2944d8df --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/html/beautifier.js @@ -0,0 +1,749 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var Options = require('../html/options').Options; +var Output = require('../core/output').Output; +var Tokenizer = require('../html/tokenizer').Tokenizer; +var TOKEN = require('../html/tokenizer').TOKEN; + +var lineBreak = /\r\n|[\r\n]/; +var allLineBreaks = /\r\n|[\r\n]/g; + +var Printer = function(options, base_indent_string) { //handles input/output and some other printing functions + + this.indent_level = 0; + this.alignment_size = 0; + this.wrap_line_length = options.wrap_line_length; + this.max_preserve_newlines = options.max_preserve_newlines; + this.preserve_newlines = options.preserve_newlines; + + this._output = new Output(options, base_indent_string); + +}; + +Printer.prototype.current_line_has_match = function(pattern) { + return this._output.current_line.has_match(pattern); +}; + +Printer.prototype.set_space_before_token = function(value) { + this._output.space_before_token = value; +}; + +Printer.prototype.add_raw_token = function(token) { + this._output.add_raw_token(token); +}; + +Printer.prototype.print_preserved_newlines = function(raw_token) { + var newlines = 0; + if (raw_token.type !== TOKEN.TEXT && raw_token.previous.type !== TOKEN.TEXT) { + newlines = raw_token.newlines ? 1 : 0; + } + + if (this.preserve_newlines) { + newlines = raw_token.newlines < this.max_preserve_newlines + 1 ? raw_token.newlines : this.max_preserve_newlines + 1; + } + for (var n = 0; n < newlines; n++) { + this.print_newline(n > 0); + } + + return newlines !== 0; +}; + +Printer.prototype.traverse_whitespace = function(raw_token) { + if (raw_token.whitespace_before || raw_token.newlines) { + if (!this.print_preserved_newlines(raw_token)) { + this._output.space_before_token = true; + this.print_space_or_wrap(raw_token.text); + } + return true; + } + return false; +}; + +// Append a space to the given content (string array) or, if we are +// at the wrap_line_length, append a newline/indentation. +// return true if a newline was added, false if a space was added +Printer.prototype.print_space_or_wrap = function(text) { + if (this.wrap_line_length) { + if (this._output.current_line.get_character_count() + text.length + 1 >= this.wrap_line_length) { //insert a line when the wrap_line_length is reached + return this._output.add_new_line(); + } + } + return false; +}; + +Printer.prototype.print_newline = function(force) { + this._output.add_new_line(force); +}; + +Printer.prototype.print_token = function(text) { + if (text) { + if (this._output.current_line.is_empty()) { + this._output.set_indent(this.indent_level, this.alignment_size); + } + + this._output.add_token(text); + } +}; + +Printer.prototype.print_raw_text = function(text) { + this._output.current_line.push_raw(text); +}; + +Printer.prototype.indent = function() { + this.indent_level++; +}; + +Printer.prototype.unindent = function() { + if (this.indent_level > 0) { + this.indent_level--; + } +}; + +Printer.prototype.get_full_indent = function(level) { + level = this.indent_level + (level || 0); + if (level < 1) { + return ''; + } + + return this._output.get_indent_string(level); +}; + + +var uses_beautifier = function(tag_check, start_token) { + var raw_token = start_token.next; + if (!start_token.closed) { + return false; + } + + while (raw_token.type !== TOKEN.EOF && raw_token.closed !== start_token) { + if (raw_token.type === TOKEN.ATTRIBUTE && raw_token.text === 'type') { + // For script and style tags that have a type attribute, only enable custom beautifiers for matching values + var peekEquals = raw_token.next ? raw_token.next : raw_token; + var peekValue = peekEquals.next ? peekEquals.next : peekEquals; + if (peekEquals.type === TOKEN.EQUALS && peekValue.type === TOKEN.VALUE) { + return (tag_check === 'style' && peekValue.text.search('text/css') > -1) || + (tag_check === 'script' && peekValue.text.search(/(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/) > -1); + } + return false; + } + raw_token = raw_token.next; + } + + return true; +}; + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + +function TagFrame(parent, parser_token, indent_level) { + this.parent = parent || null; + this.tag = parser_token ? parser_token.tag_name : ''; + this.indent_level = indent_level || 0; + this.parser_token = parser_token || null; +} + +function TagStack(printer) { + this._printer = printer; + this._current_frame = null; +} + +TagStack.prototype.get_parser_token = function() { + return this._current_frame ? this._current_frame.parser_token : null; +}; + +TagStack.prototype.record_tag = function(parser_token) { //function to record a tag and its parent in this.tags Object + var new_frame = new TagFrame(this._current_frame, parser_token, this._printer.indent_level); + this._current_frame = new_frame; +}; + +TagStack.prototype._try_pop_frame = function(frame) { //function to retrieve the opening tag to the corresponding closer + var parser_token = null; + + if (frame) { + parser_token = frame.parser_token; + this._printer.indent_level = frame.indent_level; + this._current_frame = frame.parent; + } + + return parser_token; +}; + +TagStack.prototype._get_frame = function(tag_list, stop_list) { //function to retrieve the opening tag to the corresponding closer + var frame = this._current_frame; + + while (frame) { //till we reach '' (the initial value); + if (tag_list.indexOf(frame.tag) !== -1) { //if this is it use it + break; + } else if (stop_list && stop_list.indexOf(frame.tag) !== -1) { + frame = null; + break; + } + frame = frame.parent; + } + + return frame; +}; + +TagStack.prototype.try_pop = function(tag, stop_list) { //function to retrieve the opening tag to the corresponding closer + var frame = this._get_frame([tag], stop_list); + return this._try_pop_frame(frame); +}; + +TagStack.prototype.indent_to_tag = function(tag_list) { + var frame = this._get_frame(tag_list); + if (frame) { + this._printer.indent_level = frame.indent_level; + } +}; + +function Beautifier(source_text, options, js_beautify, css_beautify) { + //Wrapper function to invoke all the necessary constructors and deal with the output. + this._source_text = source_text || ''; + options = options || {}; + this._js_beautify = js_beautify; + this._css_beautify = css_beautify; + this._tag_stack = null; + + // Allow the setting of language/file-type specific options + // with inheritance of overall settings + var optionHtml = new Options(options, 'html'); + + this._options = optionHtml; + + this._is_wrap_attributes_force = this._options.wrap_attributes.substr(0, 'force'.length) === 'force'; + this._is_wrap_attributes_force_expand_multiline = (this._options.wrap_attributes === 'force-expand-multiline'); + this._is_wrap_attributes_force_aligned = (this._options.wrap_attributes === 'force-aligned'); + this._is_wrap_attributes_aligned_multiple = (this._options.wrap_attributes === 'aligned-multiple'); + this._is_wrap_attributes_preserve = this._options.wrap_attributes.substr(0, 'preserve'.length) === 'preserve'; + this._is_wrap_attributes_preserve_aligned = (this._options.wrap_attributes === 'preserve-aligned'); +} + +Beautifier.prototype.beautify = function() { + + // if disabled, return the input unchanged. + if (this._options.disabled) { + return this._source_text; + } + + var source_text = this._source_text; + var eol = this._options.eol; + if (this._options.eol === 'auto') { + eol = '\n'; + if (source_text && lineBreak.test(source_text)) { + eol = source_text.match(lineBreak)[0]; + } + } + + // HACK: newline parsing inconsistent. This brute force normalizes the input. + source_text = source_text.replace(allLineBreaks, '\n'); + var baseIndentString = ''; + + // Including commented out text would change existing html beautifier behavior to autodetect base indent. + // baseIndentString = source_text.match(/^[\t ]*/)[0]; + + var last_token = { + text: '', + type: '' + }; + + var last_tag_token = new TagOpenParserToken(); + + var printer = new Printer(this._options, baseIndentString); + var tokens = new Tokenizer(source_text, this._options).tokenize(); + + this._tag_stack = new TagStack(printer); + + var parser_token = null; + var raw_token = tokens.next(); + while (raw_token.type !== TOKEN.EOF) { + + if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) { + parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token); + last_tag_token = parser_token; + } else if ((raw_token.type === TOKEN.ATTRIBUTE || raw_token.type === TOKEN.EQUALS || raw_token.type === TOKEN.VALUE) || + (raw_token.type === TOKEN.TEXT && !last_tag_token.tag_complete)) { + parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token, tokens); + } else if (raw_token.type === TOKEN.TAG_CLOSE) { + parser_token = this._handle_tag_close(printer, raw_token, last_tag_token); + } else if (raw_token.type === TOKEN.TEXT) { + parser_token = this._handle_text(printer, raw_token, last_tag_token); + } else { + // This should never happen, but if it does. Print the raw token + printer.add_raw_token(raw_token); + } + + last_token = parser_token; + + raw_token = tokens.next(); + } + var sweet_code = printer._output.get_code(eol); + + return sweet_code; +}; + +Beautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_token) { + var parser_token = { text: raw_token.text, type: raw_token.type }; + printer.alignment_size = 0; + last_tag_token.tag_complete = true; + + printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== ''); + if (last_tag_token.is_unformatted) { + printer.add_raw_token(raw_token); + } else { + if (last_tag_token.tag_start_char === '<') { + printer.set_space_before_token(raw_token.text[0] === '/'); // space before />, no space before > + if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.has_wrapped_attrs) { + printer.print_newline(false); + } + } + printer.print_token(raw_token.text); + } + + if (last_tag_token.indent_content && + !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) { + printer.indent(); + + // only indent once per opened tag + last_tag_token.indent_content = false; + } + return parser_token; +}; + +Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, tokens) { + var parser_token = { text: raw_token.text, type: raw_token.type }; + printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== ''); + if (last_tag_token.is_unformatted) { + printer.add_raw_token(raw_token); + } else if (last_tag_token.tag_start_char === '{' && raw_token.type === TOKEN.TEXT) { + // For the insides of handlebars allow newlines or a single space between open and contents + if (printer.print_preserved_newlines(raw_token)) { + printer.print_raw_text(raw_token.whitespace_before + raw_token.text); + } else { + printer.print_token(raw_token.text); + } + } else { + if (raw_token.type === TOKEN.ATTRIBUTE) { + printer.set_space_before_token(true); + last_tag_token.attr_count += 1; + } else if (raw_token.type === TOKEN.EQUALS) { //no space before = + printer.set_space_before_token(false); + } else if (raw_token.type === TOKEN.VALUE && raw_token.previous.type === TOKEN.EQUALS) { //no space before value + printer.set_space_before_token(false); + } + + if (printer._output.space_before_token && last_tag_token.tag_start_char === '<') { + // Allow the current attribute to wrap + // Set wrapped to true if the line is wrapped + var wrapped = printer.print_space_or_wrap(raw_token.text); + if (raw_token.type === TOKEN.ATTRIBUTE) { + if (this._is_wrap_attributes_preserve || this._is_wrap_attributes_preserve_aligned) { + printer.traverse_whitespace(raw_token); + wrapped = wrapped || raw_token.newlines !== 0; + } + // Save whether we have wrapped any attributes + last_tag_token.has_wrapped_attrs = last_tag_token.has_wrapped_attrs || wrapped; + + if (this._is_wrap_attributes_force) { + var force_attr_wrap = last_tag_token.attr_count > 1; + if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.attr_count === 1) { + var is_only_attribute = true; + var peek_index = 0; + var peek_token; + do { + peek_token = tokens.peek(peek_index); + if (peek_token.type === TOKEN.ATTRIBUTE) { + is_only_attribute = false; + break; + } + peek_index += 1; + } while (peek_index < 4 && peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE); + + force_attr_wrap = !is_only_attribute; + } + + if (force_attr_wrap) { + printer.print_newline(false); + last_tag_token.has_wrapped_attrs = true; + } + } + } + } + printer.print_token(raw_token.text); + } + return parser_token; +}; + +Beautifier.prototype._handle_text = function(printer, raw_token, last_tag_token) { + var parser_token = { text: raw_token.text, type: 'TK_CONTENT' }; + if (last_tag_token.custom_beautifier) { //check if we need to format javascript + this._print_custom_beatifier_text(printer, raw_token, last_tag_token); + } else if (last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) { + printer.add_raw_token(raw_token); + } else { + printer.traverse_whitespace(raw_token); + printer.print_token(raw_token.text); + } + return parser_token; +}; + +Beautifier.prototype._print_custom_beatifier_text = function(printer, raw_token, last_tag_token) { + if (raw_token.text !== '') { + printer.print_newline(false); + var text = raw_token.text, + _beautifier, + script_indent_level = 1; + if (last_tag_token.tag_name === 'script') { + _beautifier = typeof this._js_beautify === 'function' && this._js_beautify; + } else if (last_tag_token.tag_name === 'style') { + _beautifier = typeof this._css_beautify === 'function' && this._css_beautify; + } + + if (this._options.indent_scripts === "keep") { + script_indent_level = 0; + } else if (this._options.indent_scripts === "separate") { + script_indent_level = -printer.indent_level; + } + + var indentation = printer.get_full_indent(script_indent_level); + + // if there is at least one empty line at the end of this text, strip it + // we'll be adding one back after the text but before the containing tag. + text = text.replace(/\n[ \t]*$/, ''); + + if (_beautifier) { + + // call the Beautifier if avaliable + var Child_options = function() { + this.eol = '\n'; + }; + Child_options.prototype = this._options.raw_options; + var child_options = new Child_options(); + text = _beautifier(indentation + text, child_options); + } else { + // simply indent the string otherwise + var white = text.match(/^\s*/)[0]; + var _level = white.match(/[^\n\r]*$/)[0].split(this._options.indent_string).length - 1; + var reindent = this._get_full_indent(script_indent_level - _level); + text = (indentation + text.trim()) + .replace(/\r\n|\r|\n/g, '\n' + reindent); + } + if (text) { + printer.print_raw_text(text); + printer.print_newline(true); + } + } +}; + +Beautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token) { + var parser_token = this._get_tag_open_token(raw_token); + + if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) && + raw_token.type === TOKEN.TAG_OPEN && raw_token.text.indexOf(']*)/); + this.tag_check = tag_check_match ? tag_check_match[1] : ''; + } else { + tag_check_match = raw_token.text.match(/^{{\#?([^\s}]+)/); + this.tag_check = tag_check_match ? tag_check_match[1] : ''; + } + this.tag_check = this.tag_check.toLowerCase(); + + if (raw_token.type === TOKEN.COMMENT) { + this.tag_complete = true; + } + + this.is_start_tag = this.tag_check.charAt(0) !== '/'; + this.tag_name = !this.is_start_tag ? this.tag_check.substr(1) : this.tag_check; + this.is_end_tag = !this.is_start_tag || + (raw_token.closed && raw_token.closed.text === '/>'); + + // handlebars tags that don't start with # or ^ are single_tags, and so also start and end. + this.is_end_tag = this.is_end_tag || + (this.tag_start_char === '{' && (this.text.length < 3 || (/[^#\^]/.test(this.text.charAt(2))))); + } +}; + +Beautifier.prototype._get_tag_open_token = function(raw_token) { //function to get a full tag and parse its type + var parser_token = new TagOpenParserToken(this._tag_stack.get_parser_token(), raw_token); + + parser_token.alignment_size = this._options.wrap_attributes_indent_size; + + parser_token.is_end_tag = parser_token.is_end_tag || + in_array(parser_token.tag_check, this._options.void_elements); + + parser_token.is_empty_element = parser_token.tag_complete || + (parser_token.is_start_tag && parser_token.is_end_tag); + + parser_token.is_unformatted = !parser_token.tag_complete && in_array(parser_token.tag_check, this._options.unformatted); + parser_token.is_content_unformatted = !parser_token.is_empty_element && in_array(parser_token.tag_check, this._options.content_unformatted); + parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || parser_token.tag_start_char === '{'; + + return parser_token; +}; + +Beautifier.prototype._set_tag_position = function(printer, raw_token, parser_token, last_tag_token, last_token) { + + if (!parser_token.is_empty_element) { + if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending + parser_token.start_tag_token = this._tag_stack.try_pop(parser_token.tag_name); //remove it and all ancestors + } else { // it's a start-tag + // check if this tag is starting an element that has optional end element + // and do an ending needed + this._do_optional_end_element(parser_token); + + this._tag_stack.record_tag(parser_token); //push it on the tag stack + + if ((parser_token.tag_name === 'script' || parser_token.tag_name === 'style') && + !(parser_token.is_unformatted || parser_token.is_content_unformatted)) { + parser_token.custom_beautifier = uses_beautifier(parser_token.tag_check, raw_token); + } + } + } + + if (in_array(parser_token.tag_check, this._options.extra_liners)) { //check if this double needs an extra line + printer.print_newline(false); + if (!printer._output.just_added_blankline()) { + printer.print_newline(true); + } + } + + if (parser_token.is_empty_element) { //if this tag name is a single tag type (either in the list or has a closing /) + + // if you hit an else case, reset the indent level if you are inside an: + // 'if', 'unless', or 'each' block. + if (parser_token.tag_start_char === '{' && parser_token.tag_check === 'else') { + this._tag_stack.indent_to_tag(['if', 'unless', 'each']); + parser_token.indent_content = true; + // Don't add a newline if opening {{#if}} tag is on the current line + var foundIfOnCurrentLine = printer.current_line_has_match(/{{#if/); + if (!foundIfOnCurrentLine) { + printer.print_newline(false); + } + } + + // Don't add a newline before elements that should remain where they are. + if (parser_token.tag_name === '!--' && last_token.type === TOKEN.TAG_CLOSE && + last_tag_token.is_end_tag && parser_token.text.indexOf('\n') === -1) { + //Do nothing. Leave comments on same line. + } else if (!parser_token.is_inline_element && !parser_token.is_unformatted) { + printer.print_newline(false); + } + } else if (parser_token.is_unformatted || parser_token.is_content_unformatted) { + if (!parser_token.is_inline_element && !parser_token.is_unformatted) { + printer.print_newline(false); + } + } else if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending + if ((parser_token.start_tag_token && parser_token.start_tag_token.multiline_content) || + !(parser_token.is_inline_element || + (last_tag_token.is_inline_element) || + (last_token.type === TOKEN.TAG_CLOSE && + parser_token.start_tag_token === last_tag_token) || + (last_token.type === 'TK_CONTENT') + )) { + printer.print_newline(false); + } + } else { // it's a start-tag + parser_token.indent_content = !parser_token.custom_beautifier; + + if (parser_token.tag_start_char === '<') { + if (parser_token.tag_name === 'html') { + parser_token.indent_content = this._options.indent_inner_html; + } else if (parser_token.tag_name === 'head') { + parser_token.indent_content = this._options.indent_head_inner_html; + } else if (parser_token.tag_name === 'body') { + parser_token.indent_content = this._options.indent_body_inner_html; + } + } + + if (!parser_token.is_inline_element && last_token.type !== 'TK_CONTENT') { + if (parser_token.parent) { + parser_token.parent.multiline_content = true; + } + printer.print_newline(false); + } + } +}; + +//To be used for

tag special case: +//var p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul']; + +Beautifier.prototype._do_optional_end_element = function(parser_token) { + // NOTE: cases of "if there is no more content in the parent element" + // are handled automatically by the beautifier. + // It assumes parent or ancestor close tag closes all children. + // https://www.w3.org/TR/html5/syntax.html#optional-tags + if (parser_token.is_empty_element || !parser_token.is_start_tag || !parser_token.parent) { + return; + + } else if (parser_token.tag_name === 'body') { + // A head element’s end tag may be omitted if the head element is not immediately followed by a space character or a comment. + this._tag_stack.try_pop('head'); + + //} else if (parser_token.tag_name === 'body') { + // DONE: A body element’s end tag may be omitted if the body element is not immediately followed by a comment. + + } else if (parser_token.tag_name === 'li') { + // An li element’s end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element. + this._tag_stack.try_pop('li', ['ol', 'ul']); + + } else if (parser_token.tag_name === 'dd' || parser_token.tag_name === 'dt') { + // A dd element’s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element. + // A dt element’s end tag may be omitted if the dt element is immediately followed by another dt element or a dd element. + this._tag_stack.try_pop('dt', ['dl']); + this._tag_stack.try_pop('dd', ['dl']); + + //} else if (p_closers.indexOf(parser_token.tag_name) !== -1) { + //TODO: THIS IS A BUG FARM. We are not putting this into 1.8.0 as it is likely to blow up. + //A p element’s end tag may be omitted if the p element is immediately followed by an address, article, aside, blockquote, details, div, dl, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr, main, nav, ol, p, pre, section, table, or ul element, or if there is no more content in the parent element and the parent element is an HTML element that is not an a, audio, del, ins, map, noscript, or video element, or an autonomous custom element. + //this._tag_stack.try_pop('p', ['body']); + + } else if (parser_token.tag_name === 'rp' || parser_token.tag_name === 'rt') { + // An rt element’s end tag may be omitted if the rt element is immediately followed by an rt or rp element, or if there is no more content in the parent element. + // An rp element’s end tag may be omitted if the rp element is immediately followed by an rt or rp element, or if there is no more content in the parent element. + this._tag_stack.try_pop('rt', ['ruby', 'rtc']); + this._tag_stack.try_pop('rp', ['ruby', 'rtc']); + + } else if (parser_token.tag_name === 'optgroup') { + // An optgroup element’s end tag may be omitted if the optgroup element is immediately followed by another optgroup element, or if there is no more content in the parent element. + // An option element’s end tag may be omitted if the option element is immediately followed by another option element, or if it is immediately followed by an optgroup element, or if there is no more content in the parent element. + this._tag_stack.try_pop('optgroup', ['select']); + //this._tag_stack.try_pop('option', ['select']); + + } else if (parser_token.tag_name === 'option') { + // An option element’s end tag may be omitted if the option element is immediately followed by another option element, or if it is immediately followed by an optgroup element, or if there is no more content in the parent element. + this._tag_stack.try_pop('option', ['select', 'datalist', 'optgroup']); + + } else if (parser_token.tag_name === 'colgroup') { + // DONE: A colgroup element’s end tag may be omitted if the colgroup element is not immediately followed by a space character or a comment. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + + } else if (parser_token.tag_name === 'thead') { + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + + //} else if (parser_token.tag_name === 'caption') { + // DONE: A caption element’s end tag may be omitted if the caption element is not immediately followed by a space character or a comment. + + } else if (parser_token.tag_name === 'tbody' || parser_token.tag_name === 'tfoot') { + // A thead element’s end tag may be omitted if the thead element is immediately followed by a tbody or tfoot element. + // A tbody element’s end tag may be omitted if the tbody element is immediately followed by a tbody or tfoot element, or if there is no more content in the parent element. + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + this._tag_stack.try_pop('thead', ['table']); + this._tag_stack.try_pop('tbody', ['table']); + + //} else if (parser_token.tag_name === 'tfoot') { + // DONE: A tfoot element’s end tag may be omitted if there is no more content in the parent element. + + } else if (parser_token.tag_name === 'tr') { + // A tr element’s end tag may be omitted if the tr element is immediately followed by another tr element, or if there is no more content in the parent element. + // A colgroup element's end tag may be ommitted if a thead, tfoot, tbody, or tr element is started. + // A caption element's end tag may be ommitted if a colgroup, thead, tfoot, tbody, or tr element is started. + this._tag_stack.try_pop('caption', ['table']); + this._tag_stack.try_pop('colgroup', ['table']); + this._tag_stack.try_pop('tr', ['table', 'thead', 'tbody', 'tfoot']); + + } else if (parser_token.tag_name === 'th' || parser_token.tag_name === 'td') { + // A td element’s end tag may be omitted if the td element is immediately followed by a td or th element, or if there is no more content in the parent element. + // A th element’s end tag may be omitted if the th element is immediately followed by a td or th element, or if there is no more content in the parent element. + this._tag_stack.try_pop('td', ['tr']); + this._tag_stack.try_pop('th', ['tr']); + } + + // Start element omission not handled currently + // A head element’s start tag may be omitted if the element is empty, or if the first thing inside the head element is an element. + // A tbody element’s start tag may be omitted if the first thing inside the tbody element is a tr element, and if the element is not immediately preceded by a tbody, thead, or tfoot element whose end tag has been omitted. (It can’t be omitted if the element is empty.) + // A colgroup element’s start tag may be omitted if the first thing inside the colgroup element is a col element, and if the element is not immediately preceded by another colgroup element whose end tag has been omitted. (It can’t be omitted if the element is empty.) + + // Fix up the parent of the parser token + parser_token.parent = this._tag_stack.get_parser_token(); + +}; + +module.exports.Beautifier = Beautifier; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/html/index.js b/build/js-transpiled/node_modules/js-beautify/js/src/html/index.js new file mode 100644 index 00000000..667c03c0 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/html/index.js @@ -0,0 +1,38 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var Beautifier = require('./beautifier').Beautifier; + +function style_html(html_source, options, js_beautify, css_beautify) { + var beautifier = new Beautifier(html_source, options, js_beautify, css_beautify); + return beautifier.beautify(); +} + +module.exports = style_html; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/html/options.js b/build/js-transpiled/node_modules/js-beautify/js/src/html/options.js new file mode 100644 index 00000000..dfb886d2 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/html/options.js @@ -0,0 +1,82 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var BaseOptions = require('../core/options').Options; + +function Options(options) { + BaseOptions.call(this, options, 'html'); + + this.indent_inner_html = this._get_boolean('indent_inner_html'); + this.indent_body_inner_html = this._get_boolean('indent_body_inner_html', true); + this.indent_head_inner_html = this._get_boolean('indent_head_inner_html', true); + + this.indent_handlebars = this._get_boolean('indent_handlebars', true); + this.wrap_attributes = this._get_selection('wrap_attributes', + ['auto', 'force', 'force-aligned', 'force-expand-multiline', 'aligned-multiple', 'preserve', 'preserve-aligned']); + this.wrap_attributes_indent_size = this._get_number('wrap_attributes_indent_size', this.indent_size); + this.extra_liners = this._get_array('extra_liners', ['head', 'body', '/html']); + + this.inline = this._get_array('inline', [ + // https://www.w3.org/TR/html5/dom.html#phrasing-content + 'a', 'abbr', 'area', 'audio', 'b', 'bdi', 'bdo', 'br', 'button', 'canvas', 'cite', + 'code', 'data', 'datalist', 'del', 'dfn', 'em', 'embed', 'i', 'iframe', 'img', + 'input', 'ins', 'kbd', 'keygen', 'label', 'map', 'mark', 'math', 'meter', 'noscript', + 'object', 'output', 'progress', 'q', 'ruby', 's', 'samp', /* 'script', */ 'select', 'small', + 'span', 'strong', 'sub', 'sup', 'svg', 'template', 'textarea', 'time', 'u', 'var', + 'video', 'wbr', 'text', + // prexisting - not sure of full effect of removing, leaving in + 'acronym', 'address', 'big', 'dt', 'ins', 'strike', 'tt' + ]); + this.void_elements = this._get_array('void_elements', [ + // HTLM void elements - aka self-closing tags - aka singletons + // https://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', + 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr', + // NOTE: Optional tags are too complex for a simple list + // they are hard coded in _do_optional_end_element + + // Doctype and xml elements + '!doctype', '?xml', + // ?php and ?= tags + '?php', '?=', + // other tags that were in this list, keeping just in case + 'basefont', 'isindex' + ]); + this.unformatted = this._get_array('unformatted', []); + this.content_unformatted = this._get_array('content_unformatted', [ + 'pre', 'textarea' + ]); + this.indent_scripts = this._get_selection('indent_scripts', ['normal', 'keep', 'separate']); +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/html/tokenizer.js b/build/js-transpiled/node_modules/js-beautify/js/src/html/tokenizer.js new file mode 100644 index 00000000..8fd9195b --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/html/tokenizer.js @@ -0,0 +1,288 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var BaseTokenizer = require('../core/tokenizer').Tokenizer; +var BASETOKEN = require('../core/tokenizer').TOKEN; +var Directives = require('../core/directives').Directives; + +var TOKEN = { + TAG_OPEN: 'TK_TAG_OPEN', + TAG_CLOSE: 'TK_TAG_CLOSE', + ATTRIBUTE: 'TK_ATTRIBUTE', + EQUALS: 'TK_EQUALS', + VALUE: 'TK_VALUE', + COMMENT: 'TK_COMMENT', + TEXT: 'TK_TEXT', + UNKNOWN: 'TK_UNKNOWN', + START: BASETOKEN.START, + RAW: BASETOKEN.RAW, + EOF: BASETOKEN.EOF +}; + +var directives_core = new Directives(/<\!--/, /-->/); + +var Tokenizer = function(input_string, options) { + BaseTokenizer.call(this, input_string, options); + this._current_tag_name = ''; + + // Words end at whitespace or when a tag starts + // if we are indenting handlebars, they are considered tags + this._word_pattern = this._options.indent_handlebars ? /[\n\r\t <]|{{/g : /[\n\r\t <]/g; +}; +Tokenizer.prototype = new BaseTokenizer(); + +Tokenizer.prototype._is_comment = function(current_token) { // jshint unused:false + return false; //current_token.type === TOKEN.COMMENT || current_token.type === TOKEN.UNKNOWN; +}; + +Tokenizer.prototype._is_opening = function(current_token) { + return current_token.type === TOKEN.TAG_OPEN; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { + return current_token.type === TOKEN.TAG_CLOSE && + (open_token && ( + ((current_token.text === '>' || current_token.text === '/>') && open_token.text[0] === '<') || + (current_token.text === '}}' && open_token.text[0] === '{' && open_token.text[1] === '{'))); +}; + +Tokenizer.prototype._reset = function() { + this._current_tag_name = ''; +}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var token = null; + var c = this._input.peek(); + + if (c === null) { + return this._create_token(TOKEN.EOF, ''); + } + + token = token || this._read_attribute(c, previous_token, open_token); + token = token || this._read_raw_content(previous_token, open_token); + token = token || this._read_comment(c); + token = token || this._read_open(c, open_token); + token = token || this._read_close(c, open_token); + token = token || this._read_content_word(); + token = token || this._create_token(TOKEN.UNKNOWN, this._input.next()); + + return token; +}; + +Tokenizer.prototype._read_comment = function(c) { // jshint unused:false + var token = null; + if (c === '<' || c === '{') { + var peek1 = this._input.peek(1); + var peek2 = this._input.peek(2); + if ((c === '<' && (peek1 === '!' || peek1 === '?' || peek1 === '%')) || + this._options.indent_handlebars && c === '{' && peek1 === '{' && peek2 === '!') { + //if we're in a comment, do something special + // We treat all comments as literals, even more than preformatted tags + // we just look for the appropriate close tag + + // this is will have very poor perf, but will work for now. + var comment = '', + delimiter = '>', + matched = false; + + var input_char = this._input.next(); + + while (input_char) { + comment += input_char; + + // only need to check for the delimiter if the last chars match + if (comment.charAt(comment.length - 1) === delimiter.charAt(delimiter.length - 1) && + comment.indexOf(delimiter) !== -1) { + break; + } + + // only need to search for custom delimiter for the first few characters + if (!matched) { + matched = comment.length > 10; + if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf('{{!--') === 0) { // {{!-- handlebars comment + delimiter = '--}}'; + matched = true; + } else if (comment.indexOf('{{!') === 0) { // {{! handlebars comment + if (comment.length === 5 && comment.indexOf('{{!--') === -1) { + delimiter = '}}'; + matched = true; + } + } else if (comment.indexOf(''; + matched = true; + } else if (comment.indexOf('<%') === 0) { // {{! handlebars comment + delimiter = '%>'; + matched = true; + } + } + + input_char = this._input.next(); + } + + var directives = directives_core.get_directives(comment); + if (directives && directives.ignore === 'start') { + comment += directives_core.readIgnored(this._input); + } + token = this._create_token(TOKEN.COMMENT, comment); + token.directives = directives; + } + } + + return token; +}; + +Tokenizer.prototype._read_open = function(c, open_token) { + var resulting_string = null; + var token = null; + if (!open_token) { + if (c === '<') { + resulting_string = this._input.read(/<(?:[^\n\r\t >{][^\n\r\t >{/]*)?/g); + token = this._create_token(TOKEN.TAG_OPEN, resulting_string); + } else if (this._options.indent_handlebars && c === '{' && this._input.peek(1) === '{') { + resulting_string = this._input.readUntil(/[\n\r\t }]/g); + token = this._create_token(TOKEN.TAG_OPEN, resulting_string); + } + } + return token; +}; + +Tokenizer.prototype._read_close = function(c, open_token) { + var resulting_string = null; + var token = null; + if (open_token) { + if (open_token.text[0] === '<' && (c === '>' || (c === '/' && this._input.peek(1) === '>'))) { + resulting_string = this._input.next(); + if (c === '/') { // for close tag "/>" + resulting_string += this._input.next(); + } + token = this._create_token(TOKEN.TAG_CLOSE, resulting_string); + } else if (open_token.text[0] === '{' && c === '}' && this._input.peek(1) === '}') { + this._input.next(); + this._input.next(); + token = this._create_token(TOKEN.TAG_CLOSE, '}}'); + } + } + + return token; +}; + +Tokenizer.prototype._read_attribute = function(c, previous_token, open_token) { + var token = null; + var resulting_string = ''; + if (open_token && open_token.text[0] === '<') { + + if (c === '=') { + token = this._create_token(TOKEN.EQUALS, this._input.next()); + } else if (c === '"' || c === "'") { + var content = this._input.next(); + var input_string = ''; + var string_pattern = new RegExp(c + '|{{', 'g'); + while (this._input.hasNext()) { + input_string = this._input.readUntilAfter(string_pattern); + content += input_string; + if (input_string[input_string.length - 1] === '"' || input_string[input_string.length - 1] === "'") { + break; + } else if (this._input.hasNext()) { + content += this._input.readUntilAfter(/}}/g); + } + } + + token = this._create_token(TOKEN.VALUE, content); + } else { + if (c === '{' && this._input.peek(1) === '{') { + resulting_string = this._input.readUntilAfter(/}}/g); + } else { + resulting_string = this._input.readUntil(/[\n\r\t =\/>]/g); + } + + if (resulting_string) { + if (previous_token.type === TOKEN.EQUALS) { + token = this._create_token(TOKEN.VALUE, resulting_string); + } else { + token = this._create_token(TOKEN.ATTRIBUTE, resulting_string); + } + } + } + } + return token; +}; + +Tokenizer.prototype._is_content_unformatted = function(tag_name) { + // void_elements have no content and so cannot have unformatted content + // script and style tags should always be read as unformatted content + // finally content_unformatted and unformatted element contents are unformatted + return this._options.void_elements.indexOf(tag_name) === -1 && + (tag_name === 'script' || tag_name === 'style' || + this._options.content_unformatted.indexOf(tag_name) !== -1 || + this._options.unformatted.indexOf(tag_name) !== -1); +}; + + +Tokenizer.prototype._read_raw_content = function(previous_token, open_token) { // jshint unused:false + var resulting_string = ''; + if (open_token && open_token.text[0] === '{') { + resulting_string = this._input.readUntil(/}}/g); + } else if (previous_token.type === TOKEN.TAG_CLOSE && (previous_token.opened.text[0] === '<')) { + var tag_name = previous_token.opened.text.substr(1).toLowerCase(); + if (this._is_content_unformatted(tag_name)) { + resulting_string = this._input.readUntil(new RegExp('', 'ig')); + } + } + + if (resulting_string) { + return this._create_token(TOKEN.TEXT, resulting_string); + } + + return null; +}; + +Tokenizer.prototype._read_content_word = function() { + // if we get here and we see handlebars treat them as plain text + var resulting_string = this._input.readUntil(this._word_pattern); + if (resulting_string) { + return this._create_token(TOKEN.TEXT, resulting_string); + } +}; + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/index.js b/build/js-transpiled/node_modules/js-beautify/js/src/index.js new file mode 100644 index 00000000..2d5bbe1c --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/index.js @@ -0,0 +1,43 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var js_beautify = require('./javascript/index'); +var css_beautify = require('./css/index'); +var html_beautify = require('./html/index'); + +function style_html(html_source, options, js, css) { + js = js || js_beautify; + css = css || css_beautify; + return html_beautify(html_source, options, js, css); +} + +module.exports.js = js_beautify; +module.exports.css = css_beautify; +module.exports.html = style_html; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/javascript/acorn.js b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/acorn.js new file mode 100644 index 00000000..c77a47ed --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/acorn.js @@ -0,0 +1,56 @@ +/* jshint node: true, curly: false */ +// Parts of this section of code is taken from acorn. +// +// Acorn was written by Marijn Haverbeke and released under an MIT +// license. The Unicode regexps (for identifiers and whitespace) were +// taken from [Esprima](http://esprima.org) by Ariya Hidayat. +// +// Git repositories for Acorn are available at +// +// http://marijnhaverbeke.nl/git/acorn +// https://github.com/marijnh/acorn.git + +// ## Character categories + + +'use strict'; + +// acorn used char codes to squeeze the last bit of performance out +// Beautifier is okay without that, so we're using regex +// permit $ (36) and @ (64). @ is used in ES7 decorators. +// 65 through 91 are uppercase letters. +// permit _ (95). +// 97 through 123 are lowercase letters. +var baseASCIIidentifierStartChars = "\x24\x40\x41-\x5a\x5f\x61-\x7a"; + +// inside an identifier @ is not allowed but 0-9 are. +var baseASCIIidentifierChars = "\x24\x30-\x39\x41-\x5a\x5f\x61-\x7a"; + +// Big ugly regular expressions that match characters in the +// whitespace, identifier, and identifier-start categories. These +// are only applied when a character is found to actually have a +// code point above 128. +var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +var nonASCIIidentifierChars = "\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +//var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +//var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + +var identifierStart = "[" + baseASCIIidentifierStartChars + nonASCIIidentifierStartChars + "]"; +var identifierChars = "[" + baseASCIIidentifierChars + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]*"; + +exports.identifier = new RegExp(identifierStart + identifierChars, 'g'); + + +var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; // jshint ignore:line + +// Whether a single character denotes a newline. + +exports.newline = /[\n\r\u2028\u2029]/; + +// Matches a whole line break (where CRLF is considered a single +// line break). Used to count lines. + +// in javascript, these two differ +// in python they are the same, different methods are called on them +exports.lineBreak = new RegExp('\r\n|' + exports.newline.source); +exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g'); diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/javascript/beautifier.js b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/beautifier.js new file mode 100644 index 00000000..94aaf83d --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/beautifier.js @@ -0,0 +1,1410 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var Output = require('../core/output').Output; +var Token = require('../core/token').Token; +var acorn = require('./acorn'); +var Options = require('./options').Options; +var Tokenizer = require('./tokenizer').Tokenizer; +var line_starters = require('./tokenizer').line_starters; +var positionable_operators = require('./tokenizer').positionable_operators; +var TOKEN = require('./tokenizer').TOKEN; + +function remove_redundant_indentation(output, frame) { + // This implementation is effective but has some issues: + // - can cause line wrap to happen too soon due to indent removal + // after wrap points are calculated + // These issues are minor compared to ugly indentation. + + if (frame.multiline_frame || + frame.mode === MODE.ForInitializer || + frame.mode === MODE.Conditional) { + return; + } + + // remove one indent from each line inside this section + output.remove_indent(frame.start_line_index); +} + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + +function ltrim(s) { + return s.replace(/^\s+/g, ''); +} + +function generateMapFromStrings(list) { + var result = {}; + for (var x = 0; x < list.length; x++) { + // make the mapped names underscored instead of dash + result[list[x].replace(/-/g, '_')] = list[x]; + } + return result; +} + +function reserved_word(token, word) { + return token && token.type === TOKEN.RESERVED && token.text === word; +} + +function reserved_array(token, words) { + return token && token.type === TOKEN.RESERVED && in_array(token.text, words); +} +// Unsure of what they mean, but they work. Worth cleaning up in future. +var special_words = ['case', 'return', 'do', 'if', 'throw', 'else', 'await', 'break', 'continue', 'async']; + +var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline']; + +// Generate map from array +var OPERATOR_POSITION = generateMapFromStrings(validPositionValues); + +var OPERATOR_POSITION_BEFORE_OR_PRESERVE = [OPERATOR_POSITION.before_newline, OPERATOR_POSITION.preserve_newline]; + +var MODE = { + BlockStatement: 'BlockStatement', // 'BLOCK' + Statement: 'Statement', // 'STATEMENT' + ObjectLiteral: 'ObjectLiteral', // 'OBJECT', + ArrayLiteral: 'ArrayLiteral', //'[EXPRESSION]', + ForInitializer: 'ForInitializer', //'(FOR-EXPRESSION)', + Conditional: 'Conditional', //'(COND-EXPRESSION)', + Expression: 'Expression' //'(EXPRESSION)' +}; + +// we could use just string.split, but +// IE doesn't like returning empty strings +function split_linebreaks(s) { + //return s.split(/\x0d\x0a|\x0a/); + + s = s.replace(acorn.allLineBreaks, '\n'); + var out = [], + idx = s.indexOf("\n"); + while (idx !== -1) { + out.push(s.substring(0, idx)); + s = s.substring(idx + 1); + idx = s.indexOf("\n"); + } + if (s.length) { + out.push(s); + } + return out; +} + +function is_array(mode) { + return mode === MODE.ArrayLiteral; +} + +function is_expression(mode) { + return in_array(mode, [MODE.Expression, MODE.ForInitializer, MODE.Conditional]); +} + +function all_lines_start_with(lines, c) { + for (var i = 0; i < lines.length; i++) { + var line = lines[i].trim(); + if (line.charAt(0) !== c) { + return false; + } + } + return true; +} + +function each_line_matches_indent(lines, indent) { + var i = 0, + len = lines.length, + line; + for (; i < len; i++) { + line = lines[i]; + // allow empty lines to pass through + if (line && line.indexOf(indent) !== 0) { + return false; + } + } + return true; +} + + +function Beautifier(source_text, options) { + options = options || {}; + this._source_text = source_text || ''; + + this._output = null; + this._tokens = null; + this._last_last_text = null; + this._flags = null; + this._previous_flags = null; + + this._flag_store = null; + this._options = new Options(options); +} + +Beautifier.prototype.create_flags = function(flags_base, mode) { + var next_indent_level = 0; + if (flags_base) { + next_indent_level = flags_base.indentation_level; + if (!this._output.just_added_newline() && + flags_base.line_indent_level > next_indent_level) { + next_indent_level = flags_base.line_indent_level; + } + } + + var next_flags = { + mode: mode, + parent: flags_base, + last_token: flags_base ? flags_base.last_token : new Token(TOKEN.START_BLOCK, ''), // last token text + last_word: flags_base ? flags_base.last_word : '', // last TOKEN.WORD passed + declaration_statement: false, + declaration_assignment: false, + multiline_frame: false, + inline_frame: false, + if_block: false, + else_block: false, + do_block: false, + do_while: false, + import_block: false, + in_case_statement: false, // switch(..){ INSIDE HERE } + in_case: false, // we're on the exact line with "case 0:" + case_body: false, // the indented case-action block + indentation_level: next_indent_level, + line_indent_level: flags_base ? flags_base.line_indent_level : next_indent_level, + start_line_index: this._output.get_line_number(), + ternary_depth: 0 + }; + return next_flags; +}; + +Beautifier.prototype._reset = function(source_text) { + var baseIndentString = source_text.match(/^[\t ]*/)[0]; + + this._last_last_text = ''; // pre-last token text + this._output = new Output(this._options, baseIndentString); + + // If testing the ignore directive, start with output disable set to true + this._output.raw = this._options.test_output_raw; + + + // Stack of parsing/formatting states, including MODE. + // We tokenize, parse, and output in an almost purely a forward-only stream of token input + // and formatted output. This makes the beautifier less accurate than full parsers + // but also far more tolerant of syntax errors. + // + // For example, the default mode is MODE.BlockStatement. If we see a '{' we push a new frame of type + // MODE.BlockStatement on the the stack, even though it could be object literal. If we later + // encounter a ":", we'll switch to to MODE.ObjectLiteral. If we then see a ";", + // most full parsers would die, but the beautifier gracefully falls back to + // MODE.BlockStatement and continues on. + this._flag_store = []; + this.set_mode(MODE.BlockStatement); + var tokenizer = new Tokenizer(source_text, this._options); + this._tokens = tokenizer.tokenize(); + return source_text; +}; + +Beautifier.prototype.beautify = function() { + // if disabled, return the input unchanged. + if (this._options.disabled) { + return this._source_text; + } + + var sweet_code; + var source_text = this._reset(this._source_text); + + var eol = this._options.eol; + if (this._options.eol === 'auto') { + eol = '\n'; + if (source_text && acorn.lineBreak.test(source_text || '')) { + eol = source_text.match(acorn.lineBreak)[0]; + } + } + + var current_token = this._tokens.next(); + while (current_token) { + this.handle_token(current_token); + + this._last_last_text = this._flags.last_token.text; + this._flags.last_token = current_token; + + current_token = this._tokens.next(); + } + + sweet_code = this._output.get_code(eol); + + return sweet_code; +}; + +Beautifier.prototype.handle_token = function(current_token, preserve_statement_flags) { + if (current_token.type === TOKEN.START_EXPR) { + this.handle_start_expr(current_token); + } else if (current_token.type === TOKEN.END_EXPR) { + this.handle_end_expr(current_token); + } else if (current_token.type === TOKEN.START_BLOCK) { + this.handle_start_block(current_token); + } else if (current_token.type === TOKEN.END_BLOCK) { + this.handle_end_block(current_token); + } else if (current_token.type === TOKEN.WORD) { + this.handle_word(current_token); + } else if (current_token.type === TOKEN.RESERVED) { + this.handle_word(current_token); + } else if (current_token.type === TOKEN.SEMICOLON) { + this.handle_semicolon(current_token); + } else if (current_token.type === TOKEN.STRING) { + this.handle_string(current_token); + } else if (current_token.type === TOKEN.EQUALS) { + this.handle_equals(current_token); + } else if (current_token.type === TOKEN.OPERATOR) { + this.handle_operator(current_token); + } else if (current_token.type === TOKEN.COMMA) { + this.handle_comma(current_token); + } else if (current_token.type === TOKEN.BLOCK_COMMENT) { + this.handle_block_comment(current_token, preserve_statement_flags); + } else if (current_token.type === TOKEN.COMMENT) { + this.handle_comment(current_token, preserve_statement_flags); + } else if (current_token.type === TOKEN.DOT) { + this.handle_dot(current_token); + } else if (current_token.type === TOKEN.EOF) { + this.handle_eof(current_token); + } else if (current_token.type === TOKEN.UNKNOWN) { + this.handle_unknown(current_token, preserve_statement_flags); + } else { + this.handle_unknown(current_token, preserve_statement_flags); + } +}; + +Beautifier.prototype.handle_whitespace_and_comments = function(current_token, preserve_statement_flags) { + var newlines = current_token.newlines; + var keep_whitespace = this._options.keep_array_indentation && is_array(this._flags.mode); + + if (current_token.comments_before) { + var comment_token = current_token.comments_before.next(); + while (comment_token) { + // The cleanest handling of inline comments is to treat them as though they aren't there. + // Just continue formatting and the behavior should be logical. + // Also ignore unknown tokens. Again, this should result in better behavior. + this.handle_whitespace_and_comments(comment_token, preserve_statement_flags); + this.handle_token(comment_token, preserve_statement_flags); + comment_token = current_token.comments_before.next(); + } + } + + if (keep_whitespace) { + for (var i = 0; i < newlines; i += 1) { + this.print_newline(i > 0, preserve_statement_flags); + } + } else { + if (this._options.max_preserve_newlines && newlines > this._options.max_preserve_newlines) { + newlines = this._options.max_preserve_newlines; + } + + if (this._options.preserve_newlines) { + if (newlines > 1) { + this.print_newline(false, preserve_statement_flags); + for (var j = 1; j < newlines; j += 1) { + this.print_newline(true, preserve_statement_flags); + } + } + } + } + +}; + +var newline_restricted_tokens = ['async', 'break', 'continue', 'return', 'throw', 'yield']; + +Beautifier.prototype.allow_wrap_or_preserved_newline = function(current_token, force_linewrap) { + force_linewrap = (force_linewrap === undefined) ? false : force_linewrap; + + // Never wrap the first token on a line + if (this._output.just_added_newline()) { + return; + } + + var shouldPreserveOrForce = (this._options.preserve_newlines && current_token.newlines) || force_linewrap; + var operatorLogicApplies = in_array(this._flags.last_token.text, positionable_operators) || + in_array(current_token.text, positionable_operators); + + if (operatorLogicApplies) { + var shouldPrintOperatorNewline = ( + in_array(this._flags.last_token.text, positionable_operators) && + in_array(this._options.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE) + ) || + in_array(current_token.text, positionable_operators); + shouldPreserveOrForce = shouldPreserveOrForce && shouldPrintOperatorNewline; + } + + if (shouldPreserveOrForce) { + this.print_newline(false, true); + } else if (this._options.wrap_line_length) { + if (reserved_array(this._flags.last_token, newline_restricted_tokens)) { + // These tokens should never have a newline inserted + // between them and the following expression. + return; + } + var proposed_line_length = this._output.current_line.get_character_count() + current_token.text.length + + (this._output.space_before_token ? 1 : 0); + if (proposed_line_length >= this._options.wrap_line_length) { + this.print_newline(false, true); + } + } +}; + +Beautifier.prototype.print_newline = function(force_newline, preserve_statement_flags) { + if (!preserve_statement_flags) { + if (this._flags.last_token.text !== ';' && this._flags.last_token.text !== ',' && this._flags.last_token.text !== '=' && (this._flags.last_token.type !== TOKEN.OPERATOR || this._flags.last_token.text === '--' || this._flags.last_token.text === '++')) { + var next_token = this._tokens.peek(); + while (this._flags.mode === MODE.Statement && + !(this._flags.if_block && reserved_word(next_token, 'else')) && + !this._flags.do_block) { + this.restore_mode(); + } + } + } + + if (this._output.add_new_line(force_newline)) { + this._flags.multiline_frame = true; + } +}; + +Beautifier.prototype.print_token_line_indentation = function(current_token) { + if (this._output.just_added_newline()) { + if (this._options.keep_array_indentation && is_array(this._flags.mode) && current_token.newlines) { + this._output.current_line.push(current_token.whitespace_before); + this._output.space_before_token = false; + } else if (this._output.set_indent(this._flags.indentation_level)) { + this._flags.line_indent_level = this._flags.indentation_level; + } + } +}; + +Beautifier.prototype.print_token = function(current_token, printable_token) { + if (this._output.raw) { + this._output.add_raw_token(current_token); + return; + } + + if (this._options.comma_first && current_token.previous && current_token.previous.type === TOKEN.COMMA && + this._output.just_added_newline()) { + if (this._output.previous_line.last() === ',') { + var popped = this._output.previous_line.pop(); + // if the comma was already at the start of the line, + // pull back onto that line and reprint the indentation + if (this._output.previous_line.is_empty()) { + this._output.previous_line.push(popped); + this._output.trim(true); + this._output.current_line.pop(); + this._output.trim(); + } + + // add the comma in front of the next token + this.print_token_line_indentation(current_token); + this._output.add_token(','); + this._output.space_before_token = true; + } + } + + printable_token = printable_token || current_token.text; + this.print_token_line_indentation(current_token); + this._output.add_token(printable_token); +}; + +Beautifier.prototype.indent = function() { + this._flags.indentation_level += 1; +}; + +Beautifier.prototype.deindent = function() { + if (this._flags.indentation_level > 0 && + ((!this._flags.parent) || this._flags.indentation_level > this._flags.parent.indentation_level)) { + this._flags.indentation_level -= 1; + + } +}; + +Beautifier.prototype.set_mode = function(mode) { + if (this._flags) { + this._flag_store.push(this._flags); + this._previous_flags = this._flags; + } else { + this._previous_flags = this.create_flags(null, mode); + } + + this._flags = this.create_flags(this._previous_flags, mode); +}; + + +Beautifier.prototype.restore_mode = function() { + if (this._flag_store.length > 0) { + this._previous_flags = this._flags; + this._flags = this._flag_store.pop(); + if (this._previous_flags.mode === MODE.Statement) { + remove_redundant_indentation(this._output, this._previous_flags); + } + } +}; + +Beautifier.prototype.start_of_object_property = function() { + return this._flags.parent.mode === MODE.ObjectLiteral && this._flags.mode === MODE.Statement && ( + (this._flags.last_token.text === ':' && this._flags.ternary_depth === 0) || (reserved_array(this._flags.last_token, ['get', 'set']))); +}; + +Beautifier.prototype.start_of_statement = function(current_token) { + var start = false; + start = start || reserved_array(this._flags.last_token, ['var', 'let', 'const']) && current_token.type === TOKEN.WORD; + start = start || reserved_word(this._flags.last_token, 'do'); + start = start || (!(this._flags.parent.mode === MODE.ObjectLiteral && this._flags.mode === MODE.Statement)) && reserved_array(this._flags.last_token, newline_restricted_tokens) && !current_token.newlines; + start = start || reserved_word(this._flags.last_token, 'else') && + !(reserved_word(current_token, 'if') && !current_token.comments_before); + start = start || (this._flags.last_token.type === TOKEN.END_EXPR && (this._previous_flags.mode === MODE.ForInitializer || this._previous_flags.mode === MODE.Conditional)); + start = start || (this._flags.last_token.type === TOKEN.WORD && this._flags.mode === MODE.BlockStatement && + !this._flags.in_case && + !(current_token.text === '--' || current_token.text === '++') && + this._last_last_text !== 'function' && + current_token.type !== TOKEN.WORD && current_token.type !== TOKEN.RESERVED); + start = start || (this._flags.mode === MODE.ObjectLiteral && ( + (this._flags.last_token.text === ':' && this._flags.ternary_depth === 0) || reserved_array(this._flags.last_token, ['get', 'set']))); + + if (start) { + this.set_mode(MODE.Statement); + this.indent(); + + this.handle_whitespace_and_comments(current_token, true); + + // Issue #276: + // If starting a new statement with [if, for, while, do], push to a new line. + // if (a) if (b) if(c) d(); else e(); else f(); + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token, + reserved_array(current_token, ['do', 'for', 'if', 'while'])); + } + return true; + } + return false; +}; + +Beautifier.prototype.handle_start_expr = function(current_token) { + // The conditional starts the statement if appropriate. + if (!this.start_of_statement(current_token)) { + this.handle_whitespace_and_comments(current_token); + } + + var next_mode = MODE.Expression; + if (current_token.text === '[') { + + if (this._flags.last_token.type === TOKEN.WORD || this._flags.last_token.text === ')') { + // this is array index specifier, break immediately + // a[x], fn()[x] + if (reserved_array(this._flags.last_token, line_starters)) { + this._output.space_before_token = true; + } + this.set_mode(next_mode); + this.print_token(current_token); + this.indent(); + if (this._options.space_in_paren) { + this._output.space_before_token = true; + } + return; + } + + next_mode = MODE.ArrayLiteral; + if (is_array(this._flags.mode)) { + if (this._flags.last_token.text === '[' || + (this._flags.last_token.text === ',' && (this._last_last_text === ']' || this._last_last_text === '}'))) { + // ], [ goes to new line + // }, [ goes to new line + if (!this._options.keep_array_indentation) { + this.print_newline(); + } + } + } + + if (!in_array(this._flags.last_token.type, [TOKEN.START_EXPR, TOKEN.END_EXPR, TOKEN.WORD, TOKEN.OPERATOR])) { + this._output.space_before_token = true; + } + } else { + if (this._flags.last_token.type === TOKEN.RESERVED) { + if (this._flags.last_token.text === 'for') { + this._output.space_before_token = this._options.space_before_conditional; + next_mode = MODE.ForInitializer; + } else if (in_array(this._flags.last_token.text, ['if', 'while'])) { + this._output.space_before_token = this._options.space_before_conditional; + next_mode = MODE.Conditional; + } else if (in_array(this._flags.last_word, ['await', 'async'])) { + // Should be a space between await and an IIFE, or async and an arrow function + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'import' && current_token.whitespace_before === '') { + this._output.space_before_token = false; + } else if (in_array(this._flags.last_token.text, line_starters) || this._flags.last_token.text === 'catch') { + this._output.space_before_token = true; + } + } else if (this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + // Support of this kind of newline preservation. + // a = (b && + // (c || d)); + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } else if (this._flags.last_token.type === TOKEN.WORD) { + this._output.space_before_token = false; + + // function name() vs function name () + // function* name() vs function* name () + // async name() vs async name () + if (this._options.space_after_named_function) { + // peek starts at next character so -1 is current token + var peek_back_three = this._tokens.peek(-4); + var peek_back_two = this._tokens.peek(-3); + if (reserved_array(peek_back_two, ['async', 'function']) || + (reserved_array(peek_back_three, ['async', 'function']) && peek_back_two.text === '*')) { + this._output.space_before_token = true; + } + } + } else { + // Support preserving wrapped arrow function expressions + // a.b('c', + // () => d.e + // ) + this.allow_wrap_or_preserved_newline(current_token); + } + + // function() vs function () + // yield*() vs yield* () + // function*() vs function* () + if ((this._flags.last_token.type === TOKEN.RESERVED && (this._flags.last_word === 'function' || this._flags.last_word === 'typeof')) || + (this._flags.last_token.text === '*' && + (in_array(this._last_last_text, ['function', 'yield']) || + (this._flags.mode === MODE.ObjectLiteral && in_array(this._last_last_text, ['{', ',']))))) { + + this._output.space_before_token = this._options.space_after_anon_function; + } + + } + + if (this._flags.last_token.text === ';' || this._flags.last_token.type === TOKEN.START_BLOCK) { + this.print_newline(); + } else if (this._flags.last_token.type === TOKEN.END_EXPR || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.END_BLOCK || this._flags.last_token.text === '.' || this._flags.last_token.type === TOKEN.COMMA) { + // do nothing on (( and )( and ][ and ]( and .( + // TODO: Consider whether forcing this is required. Review failing tests when removed. + this.allow_wrap_or_preserved_newline(current_token, current_token.newlines); + } + + this.set_mode(next_mode); + this.print_token(current_token); + if (this._options.space_in_paren) { + this._output.space_before_token = true; + } + + // In all cases, if we newline while inside an expression it should be indented. + this.indent(); +}; + +Beautifier.prototype.handle_end_expr = function(current_token) { + // statements inside expressions are not valid syntax, but... + // statements must all be closed when their container closes + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + this.handle_whitespace_and_comments(current_token); + + if (this._flags.multiline_frame) { + this.allow_wrap_or_preserved_newline(current_token, + current_token.text === ']' && is_array(this._flags.mode) && !this._options.keep_array_indentation); + } + + if (this._options.space_in_paren) { + if (this._flags.last_token.type === TOKEN.START_EXPR && !this._options.space_in_empty_paren) { + // () [] no inner space in empty parens like these, ever, ref #320 + this._output.trim(); + this._output.space_before_token = false; + } else { + this._output.space_before_token = true; + } + } + if (current_token.text === ']' && this._options.keep_array_indentation) { + this.print_token(current_token); + this.restore_mode(); + } else { + this.restore_mode(); + this.print_token(current_token); + } + remove_redundant_indentation(this._output, this._previous_flags); + + // do {} while () // no statement required after + if (this._flags.do_while && this._previous_flags.mode === MODE.Conditional) { + this._previous_flags.mode = MODE.Expression; + this._flags.do_block = false; + this._flags.do_while = false; + + } +}; + +Beautifier.prototype.handle_start_block = function(current_token) { + this.handle_whitespace_and_comments(current_token); + + // Check if this is should be treated as a ObjectLiteral + var next_token = this._tokens.peek(); + var second_token = this._tokens.peek(1); + if (this._flags.last_word === 'switch' && this._flags.last_token.type === TOKEN.END_EXPR) { + this.set_mode(MODE.BlockStatement); + this._flags.in_case_statement = true; + } else if (second_token && ( + (in_array(second_token.text, [':', ',']) && in_array(next_token.type, [TOKEN.STRING, TOKEN.WORD, TOKEN.RESERVED])) || + (in_array(next_token.text, ['get', 'set', '...']) && in_array(second_token.type, [TOKEN.WORD, TOKEN.RESERVED])) + )) { + // We don't support TypeScript,but we didn't break it for a very long time. + // We'll try to keep not breaking it. + if (!in_array(this._last_last_text, ['class', 'interface'])) { + this.set_mode(MODE.ObjectLiteral); + } else { + this.set_mode(MODE.BlockStatement); + } + } else if (this._flags.last_token.type === TOKEN.OPERATOR && this._flags.last_token.text === '=>') { + // arrow function: (param1, paramN) => { statements } + this.set_mode(MODE.BlockStatement); + } else if (in_array(this._flags.last_token.type, [TOKEN.EQUALS, TOKEN.START_EXPR, TOKEN.COMMA, TOKEN.OPERATOR]) || + reserved_array(this._flags.last_token, ['return', 'throw', 'import', 'default']) + ) { + // Detecting shorthand function syntax is difficult by scanning forward, + // so check the surrounding context. + // If the block is being returned, imported, export default, passed as arg, + // assigned with = or assigned in a nested object, treat as an ObjectLiteral. + this.set_mode(MODE.ObjectLiteral); + } else { + this.set_mode(MODE.BlockStatement); + } + + var empty_braces = !next_token.comments_before && next_token.text === '}'; + var empty_anonymous_function = empty_braces && this._flags.last_word === 'function' && + this._flags.last_token.type === TOKEN.END_EXPR; + + if (this._options.brace_preserve_inline) // check for inline, set inline_frame if so + { + // search forward for a newline wanted inside this block + var index = 0; + var check_token = null; + this._flags.inline_frame = true; + do { + index += 1; + check_token = this._tokens.peek(index - 1); + if (check_token.newlines) { + this._flags.inline_frame = false; + break; + } + } while (check_token.type !== TOKEN.EOF && + !(check_token.type === TOKEN.END_BLOCK && check_token.opened === current_token)); + } + + if ((this._options.brace_style === "expand" || + (this._options.brace_style === "none" && current_token.newlines)) && + !this._flags.inline_frame) { + if (this._flags.last_token.type !== TOKEN.OPERATOR && + (empty_anonymous_function || + this._flags.last_token.type === TOKEN.EQUALS || + (reserved_array(this._flags.last_token, special_words) && this._flags.last_token.text !== 'else'))) { + this._output.space_before_token = true; + } else { + this.print_newline(false, true); + } + } else { // collapse || inline_frame + if (is_array(this._previous_flags.mode) && (this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.COMMA)) { + if (this._flags.last_token.type === TOKEN.COMMA || this._options.space_in_paren) { + this._output.space_before_token = true; + } + + if (this._flags.last_token.type === TOKEN.COMMA || (this._flags.last_token.type === TOKEN.START_EXPR && this._flags.inline_frame)) { + this.allow_wrap_or_preserved_newline(current_token); + this._previous_flags.multiline_frame = this._previous_flags.multiline_frame || this._flags.multiline_frame; + this._flags.multiline_frame = false; + } + } + if (this._flags.last_token.type !== TOKEN.OPERATOR && this._flags.last_token.type !== TOKEN.START_EXPR) { + if (this._flags.last_token.type === TOKEN.START_BLOCK && !this._flags.inline_frame) { + this.print_newline(); + } else { + this._output.space_before_token = true; + } + } + } + this.print_token(current_token); + this.indent(); +}; + +Beautifier.prototype.handle_end_block = function(current_token) { + // statements must all be closed when their container closes + this.handle_whitespace_and_comments(current_token); + + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + var empty_braces = this._flags.last_token.type === TOKEN.START_BLOCK; + + if (this._flags.inline_frame && !empty_braces) { // try inline_frame (only set if this._options.braces-preserve-inline) first + this._output.space_before_token = true; + } else if (this._options.brace_style === "expand") { + if (!empty_braces) { + this.print_newline(); + } + } else { + // skip {} + if (!empty_braces) { + if (is_array(this._flags.mode) && this._options.keep_array_indentation) { + // we REALLY need a newline here, but newliner would skip that + this._options.keep_array_indentation = false; + this.print_newline(); + this._options.keep_array_indentation = true; + + } else { + this.print_newline(); + } + } + } + this.restore_mode(); + this.print_token(current_token); +}; + +Beautifier.prototype.handle_word = function(current_token) { + if (current_token.type === TOKEN.RESERVED) { + if (in_array(current_token.text, ['set', 'get']) && this._flags.mode !== MODE.ObjectLiteral) { + current_token.type = TOKEN.WORD; + } else if (current_token.text === 'import' && this._tokens.peek().text === '(') { + current_token.type = TOKEN.WORD; + } else if (in_array(current_token.text, ['as', 'from']) && !this._flags.import_block) { + current_token.type = TOKEN.WORD; + } else if (this._flags.mode === MODE.ObjectLiteral) { + var next_token = this._tokens.peek(); + if (next_token.text === ':') { + current_token.type = TOKEN.WORD; + } + } + } + + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + if (reserved_array(this._flags.last_token, ['var', 'let', 'const']) && current_token.type === TOKEN.WORD) { + this._flags.declaration_statement = true; + } + } else if (current_token.newlines && !is_expression(this._flags.mode) && + (this._flags.last_token.type !== TOKEN.OPERATOR || (this._flags.last_token.text === '--' || this._flags.last_token.text === '++')) && + this._flags.last_token.type !== TOKEN.EQUALS && + (this._options.preserve_newlines || !reserved_array(this._flags.last_token, ['var', 'let', 'const', 'set', 'get']))) { + this.handle_whitespace_and_comments(current_token); + this.print_newline(); + } else { + this.handle_whitespace_and_comments(current_token); + } + + if (this._flags.do_block && !this._flags.do_while) { + if (reserved_word(current_token, 'while')) { + // do {} ## while () + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; + this._flags.do_while = true; + return; + } else { + // do {} should always have while as the next word. + // if we don't see the expected while, recover + this.print_newline(); + this._flags.do_block = false; + } + } + + // if may be followed by else, or not + // Bare/inline ifs are tricky + // Need to unwind the modes correctly: if (a) if (b) c(); else d(); else e(); + if (this._flags.if_block) { + if (!this._flags.else_block && reserved_word(current_token, 'else')) { + this._flags.else_block = true; + } else { + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + this._flags.if_block = false; + this._flags.else_block = false; + } + } + + if (this._flags.in_case_statement && reserved_array(current_token, ['case', 'default'])) { + this.print_newline(); + if (this._flags.case_body || this._options.jslint_happy) { + // switch cases following one another + this.deindent(); + this._flags.case_body = false; + } + this.print_token(current_token); + this._flags.in_case = true; + return; + } + + if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } + + if (reserved_word(current_token, 'function')) { + if (in_array(this._flags.last_token.text, ['}', ';']) || + (this._output.just_added_newline() && !(in_array(this._flags.last_token.text, ['(', '[', '{', ':', '=', ',']) || this._flags.last_token.type === TOKEN.OPERATOR))) { + // make sure there is a nice clean space of at least one blank line + // before a new function definition + if (!this._output.just_added_blankline() && !current_token.comments_before) { + this.print_newline(); + this.print_newline(true); + } + } + if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD) { + if (reserved_array(this._flags.last_token, ['get', 'set', 'new', 'export']) || + reserved_array(this._flags.last_token, newline_restricted_tokens)) { + this._output.space_before_token = true; + } else if (reserved_word(this._flags.last_token, 'default') && this._last_last_text === 'export') { + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'declare') { + // accomodates Typescript declare function formatting + this._output.space_before_token = true; + } else { + this.print_newline(); + } + } else if (this._flags.last_token.type === TOKEN.OPERATOR || this._flags.last_token.text === '=') { + // foo = function + this._output.space_before_token = true; + } else if (!this._flags.multiline_frame && (is_expression(this._flags.mode) || is_array(this._flags.mode))) { + // (function + } else { + this.print_newline(); + } + + this.print_token(current_token); + this._flags.last_word = current_token.text; + return; + } + + var prefix = 'NONE'; + + if (this._flags.last_token.type === TOKEN.END_BLOCK) { + + if (this._previous_flags.inline_frame) { + prefix = 'SPACE'; + } else if (!reserved_array(current_token, ['else', 'catch', 'finally', 'from'])) { + prefix = 'NEWLINE'; + } else { + if (this._options.brace_style === "expand" || + this._options.brace_style === "end-expand" || + (this._options.brace_style === "none" && current_token.newlines)) { + prefix = 'NEWLINE'; + } else { + prefix = 'SPACE'; + this._output.space_before_token = true; + } + } + } else if (this._flags.last_token.type === TOKEN.SEMICOLON && this._flags.mode === MODE.BlockStatement) { + // TODO: Should this be for STATEMENT as well? + prefix = 'NEWLINE'; + } else if (this._flags.last_token.type === TOKEN.SEMICOLON && is_expression(this._flags.mode)) { + prefix = 'SPACE'; + } else if (this._flags.last_token.type === TOKEN.STRING) { + prefix = 'NEWLINE'; + } else if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD || + (this._flags.last_token.text === '*' && + (in_array(this._last_last_text, ['function', 'yield']) || + (this._flags.mode === MODE.ObjectLiteral && in_array(this._last_last_text, ['{', ',']))))) { + prefix = 'SPACE'; + } else if (this._flags.last_token.type === TOKEN.START_BLOCK) { + if (this._flags.inline_frame) { + prefix = 'SPACE'; + } else { + prefix = 'NEWLINE'; + } + } else if (this._flags.last_token.type === TOKEN.END_EXPR) { + this._output.space_before_token = true; + prefix = 'NEWLINE'; + } + + if (reserved_array(current_token, line_starters) && this._flags.last_token.text !== ')') { + if (this._flags.inline_frame || this._flags.last_token.text === 'else' || this._flags.last_token.text === 'export') { + prefix = 'SPACE'; + } else { + prefix = 'NEWLINE'; + } + + } + + if (reserved_array(current_token, ['else', 'catch', 'finally'])) { + if ((!(this._flags.last_token.type === TOKEN.END_BLOCK && this._previous_flags.mode === MODE.BlockStatement) || + this._options.brace_style === "expand" || + this._options.brace_style === "end-expand" || + (this._options.brace_style === "none" && current_token.newlines)) && + !this._flags.inline_frame) { + this.print_newline(); + } else { + this._output.trim(true); + var line = this._output.current_line; + // If we trimmed and there's something other than a close block before us + // put a newline back in. Handles '} // comment' scenario. + if (line.last() !== '}') { + this.print_newline(); + } + this._output.space_before_token = true; + } + } else if (prefix === 'NEWLINE') { + if (reserved_array(this._flags.last_token, special_words)) { + // no newline between 'return nnn' + this._output.space_before_token = true; + } else if (this._flags.last_token.text === 'declare' && reserved_array(current_token, ['var', 'let', 'const'])) { + // accomodates Typescript declare formatting + this._output.space_before_token = true; + } else if (this._flags.last_token.type !== TOKEN.END_EXPR) { + if ((this._flags.last_token.type !== TOKEN.START_EXPR || !reserved_array(current_token, ['var', 'let', 'const'])) && this._flags.last_token.text !== ':') { + // no need to force newline on 'var': for (var x = 0...) + if (reserved_word(current_token, 'if') && reserved_word(current_token.previous, 'else')) { + // no newline for } else if { + this._output.space_before_token = true; + } else { + this.print_newline(); + } + } + } else if (reserved_array(current_token, line_starters) && this._flags.last_token.text !== ')') { + this.print_newline(); + } + } else if (this._flags.multiline_frame && is_array(this._flags.mode) && this._flags.last_token.text === ',' && this._last_last_text === '}') { + this.print_newline(); // }, in lists get a newline treatment + } else if (prefix === 'SPACE') { + this._output.space_before_token = true; + } + if (current_token.previous && (current_token.previous.type === TOKEN.WORD || current_token.previous.type === TOKEN.RESERVED)) { + this._output.space_before_token = true; + } + this.print_token(current_token); + this._flags.last_word = current_token.text; + + if (current_token.type === TOKEN.RESERVED) { + if (current_token.text === 'do') { + this._flags.do_block = true; + } else if (current_token.text === 'if') { + this._flags.if_block = true; + } else if (current_token.text === 'import') { + this._flags.import_block = true; + } else if (this._flags.import_block && reserved_word(current_token, 'from')) { + this._flags.import_block = false; + } + } +}; + +Beautifier.prototype.handle_semicolon = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + // Semicolon can be the start (and end) of a statement + this._output.space_before_token = false; + } else { + this.handle_whitespace_and_comments(current_token); + } + + var next_token = this._tokens.peek(); + while (this._flags.mode === MODE.Statement && + !(this._flags.if_block && reserved_word(next_token, 'else')) && + !this._flags.do_block) { + this.restore_mode(); + } + + // hacky but effective for the moment + if (this._flags.import_block) { + this._flags.import_block = false; + } + this.print_token(current_token); +}; + +Beautifier.prototype.handle_string = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + // One difference - strings want at least a space before + this._output.space_before_token = true; + } else { + this.handle_whitespace_and_comments(current_token); + if (this._flags.last_token.type === TOKEN.RESERVED || this._flags.last_token.type === TOKEN.WORD || this._flags.inline_frame) { + this._output.space_before_token = true; + } else if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR || this._flags.last_token.type === TOKEN.EQUALS || this._flags.last_token.type === TOKEN.OPERATOR) { + if (!this.start_of_object_property()) { + this.allow_wrap_or_preserved_newline(current_token); + } + } else { + this.print_newline(); + } + } + this.print_token(current_token); +}; + +Beautifier.prototype.handle_equals = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + this.handle_whitespace_and_comments(current_token); + } + + if (this._flags.declaration_statement) { + // just got an '=' in a var-line, different formatting/line-breaking, etc will now be done + this._flags.declaration_assignment = true; + } + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; +}; + +Beautifier.prototype.handle_comma = function(current_token) { + this.handle_whitespace_and_comments(current_token, true); + + this.print_token(current_token); + this._output.space_before_token = true; + if (this._flags.declaration_statement) { + if (is_expression(this._flags.parent.mode)) { + // do not break on comma, for(var a = 1, b = 2) + this._flags.declaration_assignment = false; + } + + if (this._flags.declaration_assignment) { + this._flags.declaration_assignment = false; + this.print_newline(false, true); + } else if (this._options.comma_first) { + // for comma-first, we want to allow a newline before the comma + // to turn into a newline after the comma, which we will fixup later + this.allow_wrap_or_preserved_newline(current_token); + } + } else if (this._flags.mode === MODE.ObjectLiteral || + (this._flags.mode === MODE.Statement && this._flags.parent.mode === MODE.ObjectLiteral)) { + if (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + + if (!this._flags.inline_frame) { + this.print_newline(); + } + } else if (this._options.comma_first) { + // EXPR or DO_BLOCK + // for comma-first, we want to allow a newline before the comma + // to turn into a newline after the comma, which we will fixup later + this.allow_wrap_or_preserved_newline(current_token); + } +}; + +Beautifier.prototype.handle_operator = function(current_token) { + var isGeneratorAsterisk = current_token.text === '*' && + (reserved_array(this._flags.last_token, ['function', 'yield']) || + (in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.COMMA, TOKEN.END_BLOCK, TOKEN.SEMICOLON])) + ); + var isUnary = in_array(current_token.text, ['-', '+']) && ( + in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.START_EXPR, TOKEN.EQUALS, TOKEN.OPERATOR]) || + in_array(this._flags.last_token.text, line_starters) || + this._flags.last_token.text === ',' + ); + + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + var preserve_statement_flags = !isGeneratorAsterisk; + this.handle_whitespace_and_comments(current_token, preserve_statement_flags); + } + + if (reserved_array(this._flags.last_token, special_words)) { + // "return" had a special handling in TK_WORD. Now we need to return the favor + this._output.space_before_token = true; + this.print_token(current_token); + return; + } + + // hack for actionscript's import .*; + if (current_token.text === '*' && this._flags.last_token.type === TOKEN.DOT) { + this.print_token(current_token); + return; + } + + if (current_token.text === '::') { + // no spaces around exotic namespacing syntax operator + this.print_token(current_token); + return; + } + + // Allow line wrapping between operators when operator_position is + // set to before or preserve + if (this._flags.last_token.type === TOKEN.OPERATOR && in_array(this._options.operator_position, OPERATOR_POSITION_BEFORE_OR_PRESERVE)) { + this.allow_wrap_or_preserved_newline(current_token); + } + + if (current_token.text === ':' && this._flags.in_case) { + this._flags.case_body = true; + this.indent(); + this.print_token(current_token); + this.print_newline(); + this._flags.in_case = false; + return; + } + + var space_before = true; + var space_after = true; + var in_ternary = false; + if (current_token.text === ':') { + if (this._flags.ternary_depth === 0) { + // Colon is invalid javascript outside of ternary and object, but do our best to guess what was meant. + space_before = false; + } else { + this._flags.ternary_depth -= 1; + in_ternary = true; + } + } else if (current_token.text === '?') { + this._flags.ternary_depth += 1; + } + + // let's handle the operator_position option prior to any conflicting logic + if (!isUnary && !isGeneratorAsterisk && this._options.preserve_newlines && in_array(current_token.text, positionable_operators)) { + var isColon = current_token.text === ':'; + var isTernaryColon = (isColon && in_ternary); + var isOtherColon = (isColon && !in_ternary); + + switch (this._options.operator_position) { + case OPERATOR_POSITION.before_newline: + // if the current token is : and it's not a ternary statement then we set space_before to false + this._output.space_before_token = !isOtherColon; + + this.print_token(current_token); + + if (!isColon || isTernaryColon) { + this.allow_wrap_or_preserved_newline(current_token); + } + + this._output.space_before_token = true; + return; + + case OPERATOR_POSITION.after_newline: + // if the current token is anything but colon, or (via deduction) it's a colon and in a ternary statement, + // then print a newline. + + this._output.space_before_token = true; + + if (!isColon || isTernaryColon) { + if (this._tokens.peek().newlines) { + this.print_newline(false, true); + } else { + this.allow_wrap_or_preserved_newline(current_token); + } + } else { + this._output.space_before_token = false; + } + + this.print_token(current_token); + + this._output.space_before_token = true; + return; + + case OPERATOR_POSITION.preserve_newline: + if (!isOtherColon) { + this.allow_wrap_or_preserved_newline(current_token); + } + + // if we just added a newline, or the current token is : and it's not a ternary statement, + // then we set space_before to false + space_before = !(this._output.just_added_newline() || isOtherColon); + + this._output.space_before_token = space_before; + this.print_token(current_token); + this._output.space_before_token = true; + return; + } + } + + if (isGeneratorAsterisk) { + this.allow_wrap_or_preserved_newline(current_token); + space_before = false; + var next_token = this._tokens.peek(); + space_after = next_token && in_array(next_token.type, [TOKEN.WORD, TOKEN.RESERVED]); + } else if (current_token.text === '...') { + this.allow_wrap_or_preserved_newline(current_token); + space_before = this._flags.last_token.type === TOKEN.START_BLOCK; + space_after = false; + } else if (in_array(current_token.text, ['--', '++', '!', '~']) || isUnary) { + // unary operators (and binary +/- pretending to be unary) special cases + if (this._flags.last_token.type === TOKEN.COMMA || this._flags.last_token.type === TOKEN.START_EXPR) { + this.allow_wrap_or_preserved_newline(current_token); + } + + space_before = false; + space_after = false; + + // http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1 + // if there is a newline between -- or ++ and anything else we should preserve it. + if (current_token.newlines && (current_token.text === '--' || current_token.text === '++')) { + this.print_newline(false, true); + } + + if (this._flags.last_token.text === ';' && is_expression(this._flags.mode)) { + // for (;; ++i) + // ^^^ + space_before = true; + } + + if (this._flags.last_token.type === TOKEN.RESERVED) { + space_before = true; + } else if (this._flags.last_token.type === TOKEN.END_EXPR) { + space_before = !(this._flags.last_token.text === ']' && (current_token.text === '--' || current_token.text === '++')); + } else if (this._flags.last_token.type === TOKEN.OPERATOR) { + // a++ + ++b; + // a - -b + space_before = in_array(current_token.text, ['--', '-', '++', '+']) && in_array(this._flags.last_token.text, ['--', '-', '++', '+']); + // + and - are not unary when preceeded by -- or ++ operator + // a-- + b + // a * +b + // a - -b + if (in_array(current_token.text, ['+', '-']) && in_array(this._flags.last_token.text, ['--', '++'])) { + space_after = true; + } + } + + + if (((this._flags.mode === MODE.BlockStatement && !this._flags.inline_frame) || this._flags.mode === MODE.Statement) && + (this._flags.last_token.text === '{' || this._flags.last_token.text === ';')) { + // { foo; --i } + // foo(); --bar; + this.print_newline(); + } + } + + this._output.space_before_token = this._output.space_before_token || space_before; + this.print_token(current_token); + this._output.space_before_token = space_after; +}; + +Beautifier.prototype.handle_block_comment = function(current_token, preserve_statement_flags) { + if (this._output.raw) { + this._output.add_raw_token(current_token); + if (current_token.directives && current_token.directives.preserve === 'end') { + // If we're testing the raw output behavior, do not allow a directive to turn it off. + this._output.raw = this._options.test_output_raw; + } + return; + } + + if (current_token.directives) { + this.print_newline(false, preserve_statement_flags); + this.print_token(current_token); + if (current_token.directives.preserve === 'start') { + this._output.raw = true; + } + this.print_newline(false, true); + return; + } + + // inline block + if (!acorn.newline.test(current_token.text) && !current_token.newlines) { + this._output.space_before_token = true; + this.print_token(current_token); + this._output.space_before_token = true; + return; + } + + var lines = split_linebreaks(current_token.text); + var j; // iterator for this case + var javadoc = false; + var starless = false; + var lastIndent = current_token.whitespace_before; + var lastIndentLength = lastIndent.length; + + // block comment starts with a new line + this.print_newline(false, preserve_statement_flags); + if (lines.length > 1) { + javadoc = all_lines_start_with(lines.slice(1), '*'); + starless = each_line_matches_indent(lines.slice(1), lastIndent); + } + + // first line always indented + this.print_token(current_token, lines[0]); + for (j = 1; j < lines.length; j++) { + this.print_newline(false, true); + if (javadoc) { + // javadoc: reformat and re-indent + this.print_token(current_token, ' ' + ltrim(lines[j])); + } else if (starless && lines[j].length > lastIndentLength) { + // starless: re-indent non-empty content, avoiding trim + this.print_token(current_token, lines[j].substring(lastIndentLength)); + } else { + // normal comments output raw + this._output.add_token(lines[j]); + } + } + + // for comments of more than one line, make sure there's a new line after + this.print_newline(false, preserve_statement_flags); +}; + +Beautifier.prototype.handle_comment = function(current_token, preserve_statement_flags) { + if (current_token.newlines) { + this.print_newline(false, preserve_statement_flags); + } else { + this._output.trim(true); + } + + this._output.space_before_token = true; + this.print_token(current_token); + this.print_newline(false, preserve_statement_flags); +}; + +Beautifier.prototype.handle_dot = function(current_token) { + if (this.start_of_statement(current_token)) { + // The conditional starts the statement if appropriate. + } else { + this.handle_whitespace_and_comments(current_token, true); + } + + if (reserved_array(this._flags.last_token, special_words)) { + this._output.space_before_token = false; + } else { + // allow preserved newlines before dots in general + // force newlines on dots after close paren when break_chained - for bar().baz() + this.allow_wrap_or_preserved_newline(current_token, + this._flags.last_token.text === ')' && this._options.break_chained_methods); + } + + // Only unindent chained method dot if this dot starts a new line. + // Otherwise the automatic extra indentation removal will handle the over indent + if (this._options.unindent_chained_methods && this._output.just_added_newline()) { + this.deindent(); + } + + this.print_token(current_token); +}; + +Beautifier.prototype.handle_unknown = function(current_token, preserve_statement_flags) { + this.print_token(current_token); + + if (current_token.text[current_token.text.length - 1] === '\n') { + this.print_newline(false, preserve_statement_flags); + } +}; + +Beautifier.prototype.handle_eof = function(current_token) { + // Unwind any open statements + while (this._flags.mode === MODE.Statement) { + this.restore_mode(); + } + this.handle_whitespace_and_comments(current_token); +}; + +module.exports.Beautifier = Beautifier; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/javascript/index.js b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/index.js new file mode 100644 index 00000000..d6f14c04 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/index.js @@ -0,0 +1,38 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var Beautifier = require('./beautifier').Beautifier; + +function js_beautify(js_source_text, options) { + var beautifier = new Beautifier(js_source_text, options); + return beautifier.beautify(); +} + +module.exports = js_beautify; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/javascript/options.js b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/options.js new file mode 100644 index 00000000..1234f239 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/options.js @@ -0,0 +1,93 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var BaseOptions = require('../core/options').Options; + +var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline']; + +function Options(options) { + BaseOptions.call(this, options, 'js'); + + // compatibility, re + var raw_brace_style = this.raw_options.brace_style || null; + if (raw_brace_style === "expand-strict") { //graceful handling of deprecated option + this.raw_options.brace_style = "expand"; + } else if (raw_brace_style === "collapse-preserve-inline") { //graceful handling of deprecated option + this.raw_options.brace_style = "collapse,preserve-inline"; + } else if (this.raw_options.braces_on_own_line !== undefined) { //graceful handling of deprecated option + this.raw_options.brace_style = this.raw_options.braces_on_own_line ? "expand" : "collapse"; + // } else if (!raw_brace_style) { //Nothing exists to set it + // raw_brace_style = "collapse"; + } + + //preserve-inline in delimited string will trigger brace_preserve_inline, everything + //else is considered a brace_style and the last one only will have an effect + + var brace_style_split = this._get_selection_list('brace_style', ['collapse', 'expand', 'end-expand', 'none', 'preserve-inline']); + + this.brace_preserve_inline = false; //Defaults in case one or other was not specified in meta-option + this.brace_style = "collapse"; + + for (var bs = 0; bs < brace_style_split.length; bs++) { + if (brace_style_split[bs] === "preserve-inline") { + this.brace_preserve_inline = true; + } else { + this.brace_style = brace_style_split[bs]; + } + } + + this.unindent_chained_methods = this._get_boolean('unindent_chained_methods'); + this.break_chained_methods = this._get_boolean('break_chained_methods'); + this.space_in_paren = this._get_boolean('space_in_paren'); + this.space_in_empty_paren = this._get_boolean('space_in_empty_paren'); + this.jslint_happy = this._get_boolean('jslint_happy'); + this.space_after_anon_function = this._get_boolean('space_after_anon_function'); + this.space_after_named_function = this._get_boolean('space_after_named_function'); + this.keep_array_indentation = this._get_boolean('keep_array_indentation'); + this.space_before_conditional = this._get_boolean('space_before_conditional', true); + this.unescape_strings = this._get_boolean('unescape_strings'); + this.e4x = this._get_boolean('e4x'); + this.comma_first = this._get_boolean('comma_first'); + this.operator_position = this._get_selection('operator_position', validPositionValues); + + // For testing of beautify preserve:start directive + this.test_output_raw = this._get_boolean('test_output_raw'); + + // force this._options.space_after_anon_function to true if this._options.jslint_happy + if (this.jslint_happy) { + this.space_after_anon_function = true; + } + +} +Options.prototype = new BaseOptions(); + + + +module.exports.Options = Options; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/javascript/tokenizer.js b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/tokenizer.js new file mode 100644 index 00000000..23f2eff2 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/javascript/tokenizer.js @@ -0,0 +1,541 @@ +/*jshint node:true */ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +'use strict'; + +var InputScanner = require('../core/inputscanner').InputScanner; +var BaseTokenizer = require('../core/tokenizer').Tokenizer; +var BASETOKEN = require('../core/tokenizer').TOKEN; +var Directives = require('../core/directives').Directives; +var acorn = require('./acorn'); + +function in_array(what, arr) { + return arr.indexOf(what) !== -1; +} + + +var TOKEN = { + START_EXPR: 'TK_START_EXPR', + END_EXPR: 'TK_END_EXPR', + START_BLOCK: 'TK_START_BLOCK', + END_BLOCK: 'TK_END_BLOCK', + WORD: 'TK_WORD', + RESERVED: 'TK_RESERVED', + SEMICOLON: 'TK_SEMICOLON', + STRING: 'TK_STRING', + EQUALS: 'TK_EQUALS', + OPERATOR: 'TK_OPERATOR', + COMMA: 'TK_COMMA', + BLOCK_COMMENT: 'TK_BLOCK_COMMENT', + COMMENT: 'TK_COMMENT', + DOT: 'TK_DOT', + UNKNOWN: 'TK_UNKNOWN', + START: BASETOKEN.START, + RAW: BASETOKEN.RAW, + EOF: BASETOKEN.EOF +}; + + +var directives_core = new Directives(/\/\*/, /\*\//); + +var number_pattern = /0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/g; + +var digit = /[0-9]/; + +// Dot "." must be distinguished from "..." and decimal +var dot_pattern = /[^\d\.]/; + +var positionable_operators = ( + ">>> === !== " + + "<< && >= ** != == <= >> || " + + "< / - + > : & % ? ^ | *").split(' '); + +// IMPORTANT: this must be sorted longest to shortest or tokenizing many not work. +// Also, you must update possitionable operators separately from punct +var punct = + ">>>= " + + "... >>= <<= === >>> !== **= " + + "=> ^= :: /= << <= == && -= >= >> != -- += ** || ++ %= &= *= |= " + + "= ! ? > < : / ^ - + * & % ~ |"; + +punct = punct.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&"); +punct = punct.replace(/ /g, '|'); + +var punct_pattern = new RegExp(punct, 'g'); +var shebang_pattern = /#![^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g; +var include_pattern = /#include[^\n\r\u2028\u2029]*(?:\r\n|[\n\r\u2028\u2029])?/g; + +// words which should always start on new line. +var line_starters = 'continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export'.split(','); +var reserved_words = line_starters.concat(['do', 'in', 'of', 'else', 'get', 'set', 'new', 'catch', 'finally', 'typeof', 'yield', 'async', 'await', 'from', 'as']); +var reserved_word_pattern = new RegExp('^(?:' + reserved_words.join('|') + ')$'); + +// /* ... */ comment ends with nearest */ or end of file +var block_comment_pattern = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g; + +// comment ends just before nearest linefeed or end of file +var comment_pattern = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + +var template_pattern = /(?:(?:<\?php|<\?=)[\s\S]*?\?>)|(?:<%[\s\S]*?%>)/g; + +var in_html_comment; + +var Tokenizer = function(input_string, options) { + BaseTokenizer.call(this, input_string, options); + + this._whitespace_pattern = /[\n\r\u2028\u2029\t\u000B\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff ]+/g; + this._newline_pattern = /([^\n\r\u2028\u2029]*)(\r\n|[\n\r\u2028\u2029])?/g; +}; +Tokenizer.prototype = new BaseTokenizer(); + +Tokenizer.prototype._is_comment = function(current_token) { + return current_token.type === TOKEN.COMMENT || current_token.type === TOKEN.BLOCK_COMMENT || current_token.type === TOKEN.UNKNOWN; +}; + +Tokenizer.prototype._is_opening = function(current_token) { + return current_token.type === TOKEN.START_BLOCK || current_token.type === TOKEN.START_EXPR; +}; + +Tokenizer.prototype._is_closing = function(current_token, open_token) { + return (current_token.type === TOKEN.END_BLOCK || current_token.type === TOKEN.END_EXPR) && + (open_token && ( + (current_token.text === ']' && open_token.text === '[') || + (current_token.text === ')' && open_token.text === '(') || + (current_token.text === '}' && open_token.text === '{'))); +}; + +Tokenizer.prototype._reset = function() { + in_html_comment = false; +}; + +Tokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false + this._readWhitespace(); + var token = null; + var c = this._input.peek(); + + token = token || this._read_singles(c); + token = token || this._read_word(previous_token); + token = token || this._read_comment(c); + token = token || this._read_string(c); + token = token || this._read_regexp(c, previous_token); + token = token || this._read_xml(c, previous_token); + token = token || this._read_non_javascript(c); + token = token || this._read_punctuation(); + token = token || this._create_token(TOKEN.UNKNOWN, this._input.next()); + + return token; +}; + +Tokenizer.prototype._read_word = function(previous_token) { + var resulting_string; + resulting_string = this._input.read(acorn.identifier); + if (resulting_string !== '') { + if (!(previous_token.type === TOKEN.DOT || + (previous_token.type === TOKEN.RESERVED && (previous_token.text === 'set' || previous_token.text === 'get'))) && + reserved_word_pattern.test(resulting_string)) { + if (resulting_string === 'in' || resulting_string === 'of') { // hack for 'in' and 'of' operators + return this._create_token(TOKEN.OPERATOR, resulting_string); + } + return this._create_token(TOKEN.RESERVED, resulting_string); + } + + return this._create_token(TOKEN.WORD, resulting_string); + } + + resulting_string = this._input.read(number_pattern); + if (resulting_string !== '') { + return this._create_token(TOKEN.WORD, resulting_string); + } +}; + +Tokenizer.prototype._read_singles = function(c) { + var token = null; + if (c === null) { + token = this._create_token(TOKEN.EOF, ''); + } else if (c === '(' || c === '[') { + token = this._create_token(TOKEN.START_EXPR, c); + } else if (c === ')' || c === ']') { + token = this._create_token(TOKEN.END_EXPR, c); + } else if (c === '{') { + token = this._create_token(TOKEN.START_BLOCK, c); + } else if (c === '}') { + token = this._create_token(TOKEN.END_BLOCK, c); + } else if (c === ';') { + token = this._create_token(TOKEN.SEMICOLON, c); + } else if (c === '.' && dot_pattern.test(this._input.peek(1))) { + token = this._create_token(TOKEN.DOT, c); + } else if (c === ',') { + token = this._create_token(TOKEN.COMMA, c); + } + + if (token) { + this._input.next(); + } + return token; +}; + +Tokenizer.prototype._read_punctuation = function() { + var resulting_string = this._input.read(punct_pattern); + + if (resulting_string !== '') { + if (resulting_string === '=') { + return this._create_token(TOKEN.EQUALS, resulting_string); + } else { + return this._create_token(TOKEN.OPERATOR, resulting_string); + } + } +}; + +Tokenizer.prototype._read_non_javascript = function(c) { + var resulting_string = ''; + + if (c === '#') { + if (this._is_first_token()) { + resulting_string = this._input.read(shebang_pattern); + + if (resulting_string) { + return this._create_token(TOKEN.UNKNOWN, resulting_string.trim() + '\n'); + } + } + + // handles extendscript #includes + resulting_string = this._input.read(include_pattern); + + if (resulting_string) { + return this._create_token(TOKEN.UNKNOWN, resulting_string.trim() + '\n'); + } + + c = this._input.next(); + + // Spidermonkey-specific sharp variables for circular references. Considered obsolete. + var sharp = '#'; + if (this._input.hasNext() && this._input.testChar(digit)) { + do { + c = this._input.next(); + sharp += c; + } while (this._input.hasNext() && c !== '#' && c !== '='); + if (c === '#') { + // + } else if (this._input.peek() === '[' && this._input.peek(1) === ']') { + sharp += '[]'; + this._input.next(); + this._input.next(); + } else if (this._input.peek() === '{' && this._input.peek(1) === '}') { + sharp += '{}'; + this._input.next(); + this._input.next(); + } + return this._create_token(TOKEN.WORD, sharp); + } + + this._input.back(); + + } else if (c === '<') { + if (this._input.peek(1) === '?' || this._input.peek(1) === '%') { + resulting_string = this._input.read(template_pattern); + if (resulting_string) { + resulting_string = resulting_string.replace(acorn.allLineBreaks, '\n'); + return this._create_token(TOKEN.STRING, resulting_string); + } + } else if (this._input.match(/<\!--/g)) { + c = '/g)) { + in_html_comment = false; + return this._create_token(TOKEN.COMMENT, '-->'); + } + + return null; +}; + +Tokenizer.prototype._read_comment = function(c) { + var token = null; + if (c === '/') { + var comment = ''; + if (this._input.peek(1) === '*') { + // peek for comment /* ... */ + comment = this._input.read(block_comment_pattern); + var directives = directives_core.get_directives(comment); + if (directives && directives.ignore === 'start') { + comment += directives_core.readIgnored(this._input); + } + comment = comment.replace(acorn.allLineBreaks, '\n'); + token = this._create_token(TOKEN.BLOCK_COMMENT, comment); + token.directives = directives; + } else if (this._input.peek(1) === '/') { + // peek for comment // ... + comment = this._input.read(comment_pattern); + token = this._create_token(TOKEN.COMMENT, comment); + } + } + return token; +}; + +Tokenizer.prototype._read_string = function(c) { + if (c === '`' || c === "'" || c === '"') { + var resulting_string = this._input.next(); + this.has_char_escapes = false; + + if (c === '`') { + resulting_string += this._read_string_recursive('`', true, '${'); + } else { + resulting_string += this._read_string_recursive(c); + } + + if (this.has_char_escapes && this._options.unescape_strings) { + resulting_string = unescape_string(resulting_string); + } + if (this._input.peek() === c) { + resulting_string += this._input.next(); + } + + return this._create_token(TOKEN.STRING, resulting_string); + } + + return null; +}; + +Tokenizer.prototype._allow_regexp_or_xml = function(previous_token) { + // regex and xml can only appear in specific locations during parsing + return (previous_token.type === TOKEN.RESERVED && in_array(previous_token.text, ['return', 'case', 'throw', 'else', 'do', 'typeof', 'yield'])) || + (previous_token.type === TOKEN.END_EXPR && previous_token.text === ')' && + previous_token.opened.previous.type === TOKEN.RESERVED && in_array(previous_token.opened.previous.text, ['if', 'while', 'for'])) || + (in_array(previous_token.type, [TOKEN.COMMENT, TOKEN.START_EXPR, TOKEN.START_BLOCK, TOKEN.START, + TOKEN.END_BLOCK, TOKEN.OPERATOR, TOKEN.EQUALS, TOKEN.EOF, TOKEN.SEMICOLON, TOKEN.COMMA + ])); +}; + +Tokenizer.prototype._read_regexp = function(c, previous_token) { + + if (c === '/' && this._allow_regexp_or_xml(previous_token)) { + // handle regexp + // + var resulting_string = this._input.next(); + var esc = false; + + var in_char_class = false; + while (this._input.hasNext() && + ((esc || in_char_class || this._input.peek() !== c) && + !this._input.testChar(acorn.newline))) { + resulting_string += this._input.peek(); + if (!esc) { + esc = this._input.peek() === '\\'; + if (this._input.peek() === '[') { + in_char_class = true; + } else if (this._input.peek() === ']') { + in_char_class = false; + } + } else { + esc = false; + } + this._input.next(); + } + + if (this._input.peek() === c) { + resulting_string += this._input.next(); + + // regexps may have modifiers /regexp/MOD , so fetch those, too + // Only [gim] are valid, but if the user puts in garbage, do what we can to take it. + resulting_string += this._input.read(acorn.identifier); + } + return this._create_token(TOKEN.STRING, resulting_string); + } + return null; +}; + + +var startXmlRegExp = /<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; +var xmlRegExp = /[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g; + +Tokenizer.prototype._read_xml = function(c, previous_token) { + + if (this._options.e4x && c === "<" && this._input.test(startXmlRegExp) && this._allow_regexp_or_xml(previous_token)) { + // handle e4x xml literals + // + var xmlStr = ''; + var match = this._input.match(startXmlRegExp); + if (match) { + // Trim root tag to attempt to + var rootTag = match[2].replace(/^{\s+/, '{').replace(/\s+}$/, '}'); + var isCurlyRoot = rootTag.indexOf('{') === 0; + var depth = 0; + while (match) { + var isEndTag = !!match[1]; + var tagName = match[2]; + var isSingletonTag = (!!match[match.length - 1]) || (tagName.slice(0, 8) === "![CDATA["); + if (!isSingletonTag && + (tagName === rootTag || (isCurlyRoot && tagName.replace(/^{\s+/, '{').replace(/\s+}$/, '}')))) { + if (isEndTag) { + --depth; + } else { + ++depth; + } + } + xmlStr += match[0]; + if (depth <= 0) { + break; + } + match = this._input.match(xmlRegExp); + } + // if we didn't close correctly, keep unformatted. + if (!match) { + xmlStr += this._input.match(/[\s\S]*/g)[0]; + } + xmlStr = xmlStr.replace(acorn.allLineBreaks, '\n'); + return this._create_token(TOKEN.STRING, xmlStr); + } + } + + return null; +}; + +function unescape_string(s) { + // You think that a regex would work for this + // return s.replace(/\\x([0-9a-f]{2})/gi, function(match, val) { + // return String.fromCharCode(parseInt(val, 16)); + // }) + // However, dealing with '\xff', '\\xff', '\\\xff' makes this more fun. + var out = '', + escaped = 0; + + var input_scan = new InputScanner(s); + var matched = null; + + while (input_scan.hasNext()) { + // Keep any whitespace, non-slash characters + // also keep slash pairs. + matched = input_scan.match(/([\s]|[^\\]|\\\\)+/g); + + if (matched) { + out += matched[0]; + } + + if (input_scan.peek() === '\\') { + input_scan.next(); + if (input_scan.peek() === 'x') { + matched = input_scan.match(/x([0-9A-Fa-f]{2})/g); + } else if (input_scan.peek() === 'u') { + matched = input_scan.match(/u([0-9A-Fa-f]{4})/g); + } else { + out += '\\'; + if (input_scan.hasNext()) { + out += input_scan.next(); + } + continue; + } + + // If there's some error decoding, return the original string + if (!matched) { + return s; + } + + escaped = parseInt(matched[1], 16); + + if (escaped > 0x7e && escaped <= 0xff && matched[0].indexOf('x') === 0) { + // we bail out on \x7f..\xff, + // leaving whole string escaped, + // as it's probably completely binary + return s; + } else if (escaped >= 0x00 && escaped < 0x20) { + // leave 0x00...0x1f escaped + out += '\\' + matched[0]; + continue; + } else if (escaped === 0x22 || escaped === 0x27 || escaped === 0x5c) { + // single-quote, apostrophe, backslash - escape these + out += '\\' + String.fromCharCode(escaped); + } else { + out += String.fromCharCode(escaped); + } + } + } + + return out; +} + +// handle string +// +Tokenizer.prototype._read_string_recursive = function(delimiter, allow_unescaped_newlines, start_sub) { + // Template strings can travers lines without escape characters. + // Other strings cannot + var current_char; + var resulting_string = ''; + var esc = false; + while (this._input.hasNext()) { + current_char = this._input.peek(); + if (!(esc || (current_char !== delimiter && + (allow_unescaped_newlines || !acorn.newline.test(current_char))))) { + break; + } + + // Handle \r\n linebreaks after escapes or in template strings + if ((esc || allow_unescaped_newlines) && acorn.newline.test(current_char)) { + if (current_char === '\r' && this._input.peek(1) === '\n') { + this._input.next(); + current_char = this._input.peek(); + } + resulting_string += '\n'; + } else { + resulting_string += current_char; + } + + if (esc) { + if (current_char === 'x' || current_char === 'u') { + this.has_char_escapes = true; + } + esc = false; + } else { + esc = current_char === '\\'; + } + + this._input.next(); + + if (start_sub && resulting_string.indexOf(start_sub, resulting_string.length - start_sub.length) !== -1) { + if (delimiter === '`') { + resulting_string += this._read_string_recursive('}', allow_unescaped_newlines, '`'); + } else { + resulting_string += this._read_string_recursive('`', allow_unescaped_newlines, '${'); + } + + if (this._input.hasNext()) { + resulting_string += this._input.next(); + } + } + } + + return resulting_string; +}; + +module.exports.Tokenizer = Tokenizer; +module.exports.TOKEN = TOKEN; +module.exports.positionable_operators = positionable_operators.slice(); +module.exports.line_starters = line_starters.slice(); diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/javascriptobfuscator_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/javascriptobfuscator_unpacker.js new file mode 100644 index 00000000..c18794cd --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/javascriptobfuscator_unpacker.js @@ -0,0 +1,132 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +// +// simple unpacker/deobfuscator for scripts messed up with javascriptobfuscator.com +// written by Einar Lielmanis +// +// usage: +// +// if (JavascriptObfuscator.detect(some_string)) { +// var unpacked = JavascriptObfuscator.unpack(some_string); +// } +// +// + +/*jshint strict:false */ + +var JavascriptObfuscator = { + detect: function(str) { + return /^var _0x[a-f0-9]+ ?\= ?\[/.test(str); + }, + + unpack: function(str) { + if (JavascriptObfuscator.detect(str)) { + var matches = /var (_0x[a-f\d]+) ?\= ?\[(.*?)\];/.exec(str); + if (matches) { + var var_name = matches[1]; + var strings = JavascriptObfuscator._smart_split(matches[2]); + str = str.substring(matches[0].length); + for (var k in strings) { + str = str.replace(new RegExp(var_name + '\\[' + k + '\\]', 'g'), + JavascriptObfuscator._fix_quotes(JavascriptObfuscator._unescape(strings[k]))); + } + } + } + return str; + }, + + _fix_quotes: function(str) { + var matches = /^"(.*)"$/.exec(str); + if (matches) { + str = matches[1]; + str = "'" + str.replace(/'/g, "\\'") + "'"; + } + return str; + }, + + _smart_split: function(str) { + var strings = []; + var pos = 0; + while (pos < str.length) { + if (str.charAt(pos) === '"') { + // new word + var word = ''; + pos += 1; + while (pos < str.length) { + if (str.charAt(pos) === '"') { + break; + } + if (str.charAt(pos) === '\\') { + word += '\\'; + pos++; + } + word += str.charAt(pos); + pos++; + } + strings.push('"' + word + '"'); + } + pos += 1; + } + return strings; + }, + + + _unescape: function(str) { + // inefficient if used repeatedly or on small strings, but wonderful on single large chunk of text + for (var i = 32; i < 128; i++) { + str = str.replace(new RegExp('\\\\x' + i.toString(16), 'ig'), String.fromCharCode(i)); + } + str = str.replace(/\\x09/g, "\t"); + return str; + }, + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + + t.test_function(JavascriptObfuscator._smart_split, "JavascriptObfuscator._smart_split"); + t.expect('', []); + t.expect('"a", "b"', ['"a"', '"b"']); + t.expect('"aaa","bbbb"', ['"aaa"', '"bbbb"']); + t.expect('"a", "b\\\""', ['"a"', '"b\\\""']); + t.test_function(JavascriptObfuscator._unescape, 'JavascriptObfuscator._unescape'); + t.expect('\\x40', '@'); + t.expect('\\x10', '\\x10'); + t.expect('\\x1', '\\x1'); + t.expect("\\x61\\x62\\x22\\x63\\x64", 'ab"cd'); + t.test_function(JavascriptObfuscator.detect, 'JavascriptObfuscator.detect'); + t.expect('', false); + t.expect('abcd', false); + t.expect('var _0xaaaa', false); + t.expect('var _0xaaaa = ["a", "b"]', true); + t.expect('var _0xaaaa=["a", "b"]', true); + t.expect('var _0x1234=["a","b"]', true); + return t; + } + + +}; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/myobfuscate_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/myobfuscate_unpacker.js new file mode 100644 index 00000000..0e028ed9 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/myobfuscate_unpacker.js @@ -0,0 +1,119 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +// +// simple unpacker/deobfuscator for scripts messed up with myobfuscate.com +// You really don't want to obfuscate your scripts there: they're tracking +// your unpackings, your script gets turned into something like this, +// as of 2011-04-25: +/* + + var _escape = 'your_script_escaped'; + var _111 = document.createElement('script'); + _111.src = 'http://api.www.myobfuscate.com/?getsrc=ok' + + '&ref=' + encodeURIComponent(document.referrer) + + '&url=' + encodeURIComponent(document.URL); + var 000 = document.getElementsByTagName('head')[0]; + 000.appendChild(_111); + document.write(unescape(_escape)); + +*/ +// +// written by Einar Lielmanis +// +// usage: +// +// if (MyObfuscate.detect(some_string)) { +// var unpacked = MyObfuscate.unpack(some_string); +// } +// +// + +/*jshint strict:false */ + +var MyObfuscate = { + detect: function(str) { + if (/^var _?[0O1lI]{3}\=('|\[).*\)\)\);/.test(str)) { + return true; + } + if (/^function _?[0O1lI]{3}\(_/.test(str) && /eval\(/.test(str)) { + return true; + } + return false; + }, + + unpack: function(str) { + if (MyObfuscate.detect(str)) { + var __eval = eval; + try { + eval = function(unpacked) { // jshint ignore:line + if (MyObfuscate.starts_with(unpacked, 'var _escape')) { + // fetch the urlencoded stuff from the script, + var matches = /'([^']*)'/.exec(unpacked); + var unescaped = unescape(matches[1]); + if (MyObfuscate.starts_with(unescaped, '')) { + unescaped = unescaped.substr(0, unescaped.length - 9); + } + unpacked = unescaped; + } + // throw to terminate the script + unpacked = "// Unpacker warning: be careful when using myobfuscate.com for your projects:\n" + + "// scripts obfuscated by the free online version may call back home.\n" + + "\n//\n" + unpacked; + throw unpacked; + }; // jshint ignore:line + __eval(str); // should throw + } catch (e) { + // well, it failed. we'll just return the original, instead of crashing on user. + if (typeof e === "string") { + str = e; + } + } + eval = __eval; // jshint ignore:line + } + return str; + }, + + starts_with: function(str, what) { + return str.substr(0, what.length) === what; + }, + + ends_with: function(str, what) { + return str.substr(str.length - what.length, what.length) === what; + }, + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + + return t; + } + + +}; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/p_a_c_k_e_r_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/p_a_c_k_e_r_unpacker.js new file mode 100644 index 00000000..a7421674 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/p_a_c_k_e_r_unpacker.js @@ -0,0 +1,111 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +// +// Unpacker for Dean Edward's p.a.c.k.e.r, a part of javascript beautifier +// +// Coincidentally, it can defeat a couple of other eval-based compressors. +// +// usage: +// +// if (P_A_C_K_E_R.detect(some_string)) { +// var unpacked = P_A_C_K_E_R.unpack(some_string); +// } +// +// + +/*jshint strict:false */ + +var P_A_C_K_E_R = { + detect: function(str) { + return (P_A_C_K_E_R.get_chunks(str).length > 0); + }, + + get_chunks: function(str) { + var chunks = str.match(/eval\(\(?function\(.*?(,0,\{\}\)\)|split\('\|'\)\)\))($|\n)/g); + return chunks ? chunks : []; + }, + + unpack: function(str) { + var chunks = P_A_C_K_E_R.get_chunks(str), + chunk; + for (var i = 0; i < chunks.length; i++) { + chunk = chunks[i].replace(/\n$/, ''); + str = str.split(chunk).join(P_A_C_K_E_R.unpack_chunk(chunk)); + } + return str; + }, + + unpack_chunk: function(str) { + var unpacked_source = ''; + var __eval = eval; + if (P_A_C_K_E_R.detect(str)) { + try { + eval = function(s) { // jshint ignore:line + unpacked_source += s; + return unpacked_source; + }; // jshint ignore:line + __eval(str); + if (typeof unpacked_source === 'string' && unpacked_source) { + str = unpacked_source; + } + } catch (e) { + // well, it failed. we'll just return the original, instead of crashing on user. + } + } + eval = __eval; // jshint ignore:line + return str; + }, + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + + var pk1 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'var||a'.split('|'),0,{}))"; + var unpk1 = 'var a=1'; + var pk2 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'foo||b'.split('|'),0,{}))"; + var unpk2 = 'foo b=1'; + var pk_broken = "eval(function(p,a,c,k,e,r){BORKBORK;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1',3,3,'var||a'.split('|'),0,{}))"; + var pk3 = "eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('0 2=1{}))',3,3,'var||a'.split('|'),0,{}))"; + var unpk3 = 'var a=1{}))'; + + t.test_function(P_A_C_K_E_R.detect, "P_A_C_K_E_R.detect"); + t.expect('', false); + t.expect('var a = b', false); + t.test_function(P_A_C_K_E_R.unpack, "P_A_C_K_E_R.unpack"); + t.expect(pk_broken, pk_broken); + t.expect(pk1, unpk1); + t.expect(pk2, unpk2); + t.expect(pk3, unpk3); + + var filler = '\nfiller\n'; + t.expect(filler + pk1 + "\n" + pk_broken + filler + pk2 + filler, filler + unpk1 + "\n" + pk_broken + filler + unpk2 + filler); + + return t; + } + + +}; diff --git a/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/urlencode_unpacker.js b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/urlencode_unpacker.js new file mode 100644 index 00000000..0f7a9a29 --- /dev/null +++ b/build/js-transpiled/node_modules/js-beautify/js/src/unpackers/urlencode_unpacker.js @@ -0,0 +1,104 @@ +/*global unescape */ +/*jshint curly: false, scripturl: true */ + +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +// +// trivial bookmarklet/escaped script detector for the javascript beautifier +// written by Einar Lielmanis +// +// usage: +// +// if (Urlencoded.detect(some_string)) { +// var unpacked = Urlencoded.unpack(some_string); +// } +// +// + +/*jshint strict:false */ + + +var isNode = (typeof module !== 'undefined' && module.exports); +if (isNode) { + var SanityTest = require(__dirname + '/../../test/sanitytest'); +} + +var Urlencoded = { + detect: function(str) { + // the fact that script doesn't contain any space, but has %20 instead + // should be sufficient check for now. + if (str.indexOf(' ') === -1) { + if (str.indexOf('%2') !== -1) return true; + if (str.replace(/[^%]+/g, '').length > 3) return true; + } + return false; + }, + + unpack: function(str) { + if (Urlencoded.detect(str)) { + if (str.indexOf('%2B') !== -1 || str.indexOf('%2b') !== -1) { + // "+" escaped as "%2B" + return unescape(str.replace(/\+/g, '%20')); + } else { + return unescape(str); + } + } + return str; + }, + + + + run_tests: function(sanity_test) { + var t = sanity_test || new SanityTest(); + t.test_function(Urlencoded.detect, "Urlencoded.detect"); + t.expect('', false); + t.expect('var a = b', false); + t.expect('var%20a+=+b', true); + t.expect('var%20a=b', true); + t.expect('var%20%21%22', true); + t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();', true); + t.test_function(Urlencoded.unpack, 'Urlencoded.unpack'); + + t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();', + 'javascript:(function(){var whatever={init:function(){alert("a"+"b")}};whatever.init()})();' + ); + t.expect('', ''); + t.expect('abcd', 'abcd'); + t.expect('var a = b', 'var a = b'); + t.expect('var%20a=b', 'var a=b'); + t.expect('var%20a=b+1', 'var a=b+1'); + t.expect('var%20a=b%2b1', 'var a=b+1'); + return t; + } + + +}; + +if (isNode) { + module.exports = Urlencoded; +} diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/amd-beautify-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/amd-beautify-tests.js deleted file mode 100755 index 0fd7f8e6..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/amd-beautify-tests.js +++ /dev/null @@ -1,62 +0,0 @@ -/*jshint node:true */ - -var requirejs = require('requirejs'), - SanityTest = require('./sanitytest'), - Urlencoded = require('../lib/unpackers/urlencode_unpacker'), - run_javascript_tests = require('./generated/beautify-javascript-tests').run_javascript_tests, - run_css_tests = require('./generated/beautify-css-tests').run_css_tests, - run_html_tests = require('./generated/beautify-html-tests').run_html_tests; - -requirejs.config({ - paths: { - 'beautify': "..", - 'beautify-lib': "../lib" - } -}); - -function amd_beautifier_index_tests(name, test_runner) { - console.log('Testing ' + name + ' with node.js Require.js (index file)...'); - var results = new SanityTest(); - var beautify = requirejs('beautify/index'); - - test_runner( - results, - Urlencoded, - beautify.js, - beautify.html, - beautify.css); - - console.log(results.results_raw()); - return results; -} - -function amd_beautifier_tests(name, test_runner) { - console.log('Testing ' + name + ' with node.js Require.js (separate file)...'); - var results = new SanityTest(); - var js_beautify = requirejs('beautify-lib/beautify'), - css_beautify = requirejs('beautify-lib/beautify-css'), - html_beautify = requirejs('beautify-lib/beautify-html'); - - test_runner( - results, - Urlencoded, - js_beautify.js_beautify, - html_beautify.html_beautify, - css_beautify.css_beautify); - - console.log(results.results_raw()); - return results; -} - - - -if (require.main === module) { - process.exit( - amd_beautifier_tests('js-beautifier', run_javascript_tests).get_exitcode() + - amd_beautifier_index_tests('js-beautifier', run_javascript_tests).get_exitcode() + - amd_beautifier_tests('cs-beautifier', run_css_tests).get_exitcode() + - amd_beautifier_index_tests('css-beautifier', run_css_tests).get_exitcode() + - amd_beautifier_tests('html-beautifier', run_html_tests).get_exitcode() + - amd_beautifier_index_tests('html-beautifier', run_html_tests).get_exitcode() - ); -} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-css-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-css-tests.js deleted file mode 100644 index 556db840..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-css-tests.js +++ /dev/null @@ -1,1393 +0,0 @@ -/* - AUTO-GENERATED. DO NOT MODIFY. - Script: test/generate-tests.js - Template: test/data/css/node.mustache - Data: test/data/css/tests.js - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ -/*jshint unused:false */ - -function run_css_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) -{ - - var default_opts = { - indent_size: 4, - indent_char: ' ', - preserve_newlines: true, - jslint_happy: false, - keep_array_indentation: false, - brace_style: 'collapse', - space_before_conditional: true, - break_chained_methods: false, - selector_separator: '\n', - end_with_newline: false - }; - var opts; - - default_opts.indent_size = 1; - default_opts.indent_char = '\t'; - default_opts.selector_separator_newline = true; - default_opts.end_with_newline = false; - default_opts.newline_between_rules = false; - default_opts.space_around_combinator = false; - default_opts.preserve_newlines = false; - default_opts.space_around_selector_separator = false; - - function reset_options() - { - opts = JSON.parse(JSON.stringify(default_opts)); - } - - function test_css_beautifier(input) - { - return css_beautify(input, opts); - } - - var sanitytest; - - // test the input on beautifier with the current flag settings - // does not check the indentation / surroundings as bt() does - function test_fragment(input, expected) - { - expected = expected || expected === '' ? expected : input; - sanitytest.expect(input, expected); - // if the expected is different from input, run it again - // expected output should be unchanged when run twice. - if (expected !== input) { - sanitytest.expect(expected, expected); - } - - // Everywhere we do newlines, they should be replaced with opts.eol - opts.eol = '\r\\n'; - expected = expected.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - if (input.indexOf('\n') !== -1) { - input = input.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - // Ensure support for auto eol detection - opts.eol = 'auto'; - sanitytest.expect(input, expected); - } - opts.eol = '\n'; - } - - // test css - function t(input, expectation) - { - var wrapped_input, wrapped_expectation; - - expectation = expectation || expectation === '' ? expectation : input; - sanitytest.test_function(test_css_beautifier, 'css_beautify'); - test_fragment(input, expectation); - } - - function unicode_char(value) { - return String.fromCharCode(value); - } - - function beautifier_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - t(".tabs {}"); - - - //============================================================ - // End With Newline - (eof = "\n") - reset_options(); - opts.end_with_newline = true; - test_fragment('', '\n'); - test_fragment(' .tabs{}', ' .tabs {}\n'); - test_fragment( - ' \n' + - '\n' + - '.tabs{}\n' + - '\n' + - '\n' + - '\n', - // -- output -- - ' .tabs {}\n'); - test_fragment('\n'); - - // End With Newline - (eof = "") - reset_options(); - opts.end_with_newline = false; - test_fragment(''); - test_fragment(' .tabs{}', ' .tabs {}'); - test_fragment( - ' \n' + - '\n' + - '.tabs{}\n' + - '\n' + - '\n' + - '\n', - // -- output -- - ' .tabs {}'); - test_fragment('\n', ''); - - - //============================================================ - // Empty braces - reset_options(); - t('.tabs{}', '.tabs {}'); - t('.tabs { }', '.tabs {}'); - t('.tabs { }', '.tabs {}'); - t( - '.tabs \n' + - '{\n' + - ' \n' + - ' }', - // -- output -- - '.tabs {}'); - - - //============================================================ - // - reset_options(); - t( - '#cboxOverlay {\n' + - '\tbackground: url(images/overlay.png) repeat 0 0;\n' + - '\topacity: 0.9;\n' + - '\tfilter: alpha(opacity = 90);\n' + - '}', - // -- output -- - '#cboxOverlay {\n' + - '\tbackground: url(images/overlay.png) repeat 0 0;\n' + - '\topacity: 0.9;\n' + - '\tfilter: alpha(opacity=90);\n' + - '}'); - - - //============================================================ - // Support simple language specific option inheritance/overriding - (c = " ") - reset_options(); - opts.indent_char = ' '; - opts.indent_size = 4; - opts.js = { 'indent_size': 3 }; - opts.css = { 'indent_size': 5 }; - t( - '.selector {\n' + - ' font-size: 12px;\n' + - '}'); - - // Support simple language specific option inheritance/overriding - (c = " ") - reset_options(); - opts.indent_char = ' '; - opts.indent_size = 4; - opts.html = { 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 } }; - t( - '.selector {\n' + - ' font-size: 12px;\n' + - '}'); - - // Support simple language specific option inheritance/overriding - (c = " ") - reset_options(); - opts.indent_char = ' '; - opts.indent_size = 9; - opts.html = { 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 8 }, 'indent_size': 2}; - opts.js = { 'indent_size': 5 }; - opts.css = { 'indent_size': 3 }; - t( - '.selector {\n' + - ' font-size: 12px;\n' + - '}'); - - - //============================================================ - // Space Around Combinator - (space = " ") - reset_options(); - opts.space_around_combinator = true; - t('a>b{}', 'a > b {}'); - t('a~b{}', 'a ~ b {}'); - t('a+b{}', 'a + b {}'); - t('a+b>c{}', 'a + b > c {}'); - t('a > b{}', 'a > b {}'); - t('a ~ b{}', 'a ~ b {}'); - t('a + b{}', 'a + b {}'); - t('a + b > c{}', 'a + b > c {}'); - t( - 'a > b{width: calc(100% + 45px);}', - // -- output -- - 'a > b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a ~ b{width: calc(100% + 45px);}', - // -- output -- - 'a ~ b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a + b{width: calc(100% + 45px);}', - // -- output -- - 'a + b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a + b > c{width: calc(100% + 45px);}', - // -- output -- - 'a + b > c {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - - // Space Around Combinator - (space = "") - reset_options(); - opts.space_around_combinator = false; - t('a>b{}', 'a>b {}'); - t('a~b{}', 'a~b {}'); - t('a+b{}', 'a+b {}'); - t('a+b>c{}', 'a+b>c {}'); - t('a > b{}', 'a>b {}'); - t('a ~ b{}', 'a~b {}'); - t('a + b{}', 'a+b {}'); - t('a + b > c{}', 'a+b>c {}'); - t( - 'a > b{width: calc(100% + 45px);}', - // -- output -- - 'a>b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a ~ b{width: calc(100% + 45px);}', - // -- output -- - 'a~b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a + b{width: calc(100% + 45px);}', - // -- output -- - 'a+b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a + b > c{width: calc(100% + 45px);}', - // -- output -- - 'a+b>c {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - - // Space Around Combinator - (space = " ") - reset_options(); - opts.space_around_selector_separator = true; - t('a>b{}', 'a > b {}'); - t('a~b{}', 'a ~ b {}'); - t('a+b{}', 'a + b {}'); - t('a+b>c{}', 'a + b > c {}'); - t('a > b{}', 'a > b {}'); - t('a ~ b{}', 'a ~ b {}'); - t('a + b{}', 'a + b {}'); - t('a + b > c{}', 'a + b > c {}'); - t( - 'a > b{width: calc(100% + 45px);}', - // -- output -- - 'a > b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a ~ b{width: calc(100% + 45px);}', - // -- output -- - 'a ~ b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a + b{width: calc(100% + 45px);}', - // -- output -- - 'a + b {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - t( - 'a + b > c{width: calc(100% + 45px);}', - // -- output -- - 'a + b > c {\n' + - '\twidth: calc(100% + 45px);\n' + - '}'); - - - //============================================================ - // Selector Separator - (separator = " ", separator1 = " ") - reset_options(); - opts.selector_separator_newline = false; - opts.selector_separator = " "; - t( - '#bla, #foo{color:green}', - // -- output -- - '#bla, #foo {\n' + - '\tcolor: green\n' + - '}'); - t( - '@media print {.tab{}}', - // -- output -- - '@media print {\n' + - '\t.tab {}\n' + - '}'); - t( - '@media print {.tab,.bat{}}', - // -- output -- - '@media print {\n' + - '\t.tab, .bat {}\n' + - '}'); - t( - '#bla, #foo{color:black}', - // -- output -- - '#bla, #foo {\n' + - '\tcolor: black\n' + - '}'); - t( - 'a:first-child,a:first-child{color:red;div:first-child,div:hover{color:black;}}', - // -- output -- - 'a:first-child, a:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:first-child, div:hover {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}'); - - // Selector Separator - (separator = " ", separator1 = " ") - reset_options(); - opts.selector_separator_newline = false; - opts.selector_separator = " "; - t( - '#bla, #foo{color:green}', - // -- output -- - '#bla, #foo {\n' + - '\tcolor: green\n' + - '}'); - t( - '@media print {.tab{}}', - // -- output -- - '@media print {\n' + - '\t.tab {}\n' + - '}'); - t( - '@media print {.tab,.bat{}}', - // -- output -- - '@media print {\n' + - '\t.tab, .bat {}\n' + - '}'); - t( - '#bla, #foo{color:black}', - // -- output -- - '#bla, #foo {\n' + - '\tcolor: black\n' + - '}'); - t( - 'a:first-child,a:first-child{color:red;div:first-child,div:hover{color:black;}}', - // -- output -- - 'a:first-child, a:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:first-child, div:hover {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}'); - - // Selector Separator - (separator = "\n", separator1 = "\n\t") - reset_options(); - opts.selector_separator_newline = true; - opts.selector_separator = " "; - t( - '#bla, #foo{color:green}', - // -- output -- - '#bla,\n#foo {\n' + - '\tcolor: green\n' + - '}'); - t( - '@media print {.tab{}}', - // -- output -- - '@media print {\n' + - '\t.tab {}\n' + - '}'); - t( - '@media print {.tab,.bat{}}', - // -- output -- - '@media print {\n' + - '\t.tab,\n\t.bat {}\n' + - '}'); - t( - '#bla, #foo{color:black}', - // -- output -- - '#bla,\n#foo {\n' + - '\tcolor: black\n' + - '}'); - t( - 'a:first-child,a:first-child{color:red;div:first-child,div:hover{color:black;}}', - // -- output -- - 'a:first-child,\na:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:first-child,\n\tdiv:hover {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}'); - - // Selector Separator - (separator = "\n", separator1 = "\n\t") - reset_options(); - opts.selector_separator_newline = true; - opts.selector_separator = " "; - t( - '#bla, #foo{color:green}', - // -- output -- - '#bla,\n#foo {\n' + - '\tcolor: green\n' + - '}'); - t( - '@media print {.tab{}}', - // -- output -- - '@media print {\n' + - '\t.tab {}\n' + - '}'); - t( - '@media print {.tab,.bat{}}', - // -- output -- - '@media print {\n' + - '\t.tab,\n\t.bat {}\n' + - '}'); - t( - '#bla, #foo{color:black}', - // -- output -- - '#bla,\n#foo {\n' + - '\tcolor: black\n' + - '}'); - t( - 'a:first-child,a:first-child{color:red;div:first-child,div:hover{color:black;}}', - // -- output -- - 'a:first-child,\na:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:first-child,\n\tdiv:hover {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}'); - - - //============================================================ - // Preserve Newlines - (separator_input = "\n\n", separator_output = "\n\n") - reset_options(); - opts.preserve_newlines = true; - t('.div {}\n\n.span {}'); - t( - '#bla, #foo{\n' + - '\tcolor:black;\n\n\tfont-size: 12px;\n' + - '}', - // -- output -- - '#bla,\n' + - '#foo {\n' + - '\tcolor: black;\n\n\tfont-size: 12px;\n' + - '}'); - - // Preserve Newlines - (separator_input = "\n\n", separator_output = "\n") - reset_options(); - opts.preserve_newlines = false; - t('.div {}\n\n.span {}', '.div {}\n.span {}'); - t( - '#bla, #foo{\n' + - '\tcolor:black;\n\n\tfont-size: 12px;\n' + - '}', - // -- output -- - '#bla,\n' + - '#foo {\n' + - '\tcolor: black;\n\tfont-size: 12px;\n' + - '}'); - - - //============================================================ - // Preserve Newlines and newline_between_rules - reset_options(); - opts.preserve_newlines = true; - opts.newline_between_rules = true; - t( - '.div {}.span {}', - // -- output -- - '.div {}\n' + - '\n' + - '.span {}'); - t( - '#bla, #foo{\n' + - '\tcolor:black;\n' + - '\tfont-size: 12px;\n' + - '}', - // -- output -- - '#bla,\n' + - '#foo {\n' + - '\tcolor: black;\n' + - '\tfont-size: 12px;\n' + - '}'); - t( - '#bla, #foo{\n' + - '\tcolor:black;\n' + - '\n' + - '\n' + - '\tfont-size: 12px;\n' + - '}', - // -- output -- - '#bla,\n' + - '#foo {\n' + - '\tcolor: black;\n' + - '\n' + - '\n' + - '\tfont-size: 12px;\n' + - '}'); - t( - '#bla,\n' + - '\n' + - '#foo {\n' + - '\tcolor: black;\n' + - '\tfont-size: 12px;\n' + - '}'); - t( - 'a {\n' + - '\tb: c;\n' + - '\n' + - '\n' + - '\td: {\n' + - '\t\te: f;\n' + - '\t}\n' + - '}'); - t( - '.div {}\n' + - '\n' + - '.span {}'); - t( - '.div {\n' + - '\ta: 1;\n' + - '\n' + - '\n' + - '\tb: 2;\n' + - '}\n' + - '\n' + - '\n' + - '\n' + - '.span {\n' + - '\ta: 1;\n' + - '}'); - t( - '.div {\n' + - '\n' + - '\n' + - '\ta: 1;\n' + - '\n' + - '\n' + - '\tb: 2;\n' + - '}\n' + - '\n' + - '\n' + - '\n' + - '.span {\n' + - '\ta: 1;\n' + - '}'); - t( - '@media screen {\n' + - '\t.div {\n' + - '\t\ta: 1;\n' + - '\n' + - '\n' + - '\t\tb: 2;\n' + - '\t}\n' + - '\n' + - '\n' + - '\n' + - '\t.span {\n' + - '\t\ta: 1;\n' + - '\t}\n' + - '}\n' + - '\n' + - '.div {}\n' + - '\n' + - '.span {}'); - - - //============================================================ - // Preserve Newlines and add tabs - reset_options(); - opts.preserve_newlines = true; - t( - '.tool-tip {\n' + - '\tposition: relative;\n' + - '\n' + - '\t\t\n' + - '\t.tool-tip-content {\n' + - '\t\t&>* {\n' + - '\t\t\tmargin-top: 0;\n' + - '\t\t}\n' + - '\t\t\n' + - '\n' + - '\t\t.mixin-box-shadow(.2rem .2rem .5rem rgba(0, 0, 0, .15));\n' + - '\t\tpadding: 1rem;\n' + - '\t\tposition: absolute;\n' + - '\t\tz-index: 10;\n' + - '\t}\n' + - '}', - // -- output -- - '.tool-tip {\n' + - '\tposition: relative;\n' + - '\n' + - '\n' + - '\t.tool-tip-content {\n' + - '\t\t&>* {\n' + - '\t\t\tmargin-top: 0;\n' + - '\t\t}\n' + - '\n\n\t\t.mixin-box-shadow(.2rem .2rem .5rem rgba(0, 0, 0, .15));\n' + - '\t\tpadding: 1rem;\n' + - '\t\tposition: absolute;\n' + - '\t\tz-index: 10;\n' + - '\t}\n' + - '}'); - - - //============================================================ - // Newline Between Rules - (separator = "\n") - reset_options(); - opts.newline_between_rules = true; - t( - '.div {}\n' + - '.span {}', - // -- output -- - '.div {}\n' + - '\n.span {}'); - t( - '.div{}\n' + - ' \n' + - '.span{}', - // -- output -- - '.div {}\n' + - '\n.span {}'); - t( - '.div {} \n' + - ' \n' + - '.span { } \n', - // -- output -- - '.div {}\n' + - '\n.span {}'); - t( - '.div {\n' + - ' \n' + - '} \n' + - ' .span {\n' + - ' } ', - // -- output -- - '.div {}\n' + - '\n.span {}'); - t( - '.selector1 {\n' + - '\tmargin: 0; /* This is a comment including an url http://domain.com/path/to/file.ext */\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '.selector1 {\n' + - '\tmargin: 0;\n' + - '\t/* This is a comment including an url http://domain.com/path/to/file.ext */\n' + - '}\n' + - '\n.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '.tabs{width:10px;//end of line comment\n' + - 'height:10px;//another\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '.tabs {\n' + - '\twidth: 10px; //end of line comment\n' + - '\theight: 10px; //another\n' + - '}\n' + - '\n.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '#foo {\n' + - '\tbackground-image: url(foo@2x.png);\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '#foo {\n' + - '\tbackground-image: url(foo@2x.png);\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '\n.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo@2x.png);\n' + - '\t}\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo@2x.png);\n' + - '\t}\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '\n.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '@font-face {\n' + - '\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '}\n' + - '@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo.png);\n' + - '\t}\n' + - '\t@media screen and (min-device-pixel-ratio: 2) {\n' + - '\t\t@font-face {\n' + - '\t\t\tfont-family: "Helvetica Neue"\n' + - '\t\t}\n' + - '\t\t#foo:hover {\n' + - '\t\t\tbackground-image: url(foo@2x.png);\n' + - '\t\t}\n' + - '\t}\n' + - '}', - // -- output -- - '@font-face {\n' + - '\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '}\n' + - '\n@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo.png);\n' + - '\t}\n' + - '\t@media screen and (min-device-pixel-ratio: 2) {\n' + - '\t\t@font-face {\n' + - '\t\t\tfont-family: "Helvetica Neue"\n' + - '\t\t}\n' + - '\t\t#foo:hover {\n' + - '\t\t\tbackground-image: url(foo@2x.png);\n' + - '\t\t}\n' + - '\t}\n' + - '}'); - t( - 'a:first-child{color:red;div:first-child{color:black;}}\n' + - '.div{height:15px;}', - // -- output -- - 'a:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:first-child {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}\n' + - '\n.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - 'a:first-child{color:red;div:not(.peq){color:black;}}\n' + - '.div{height:15px;}', - // -- output -- - 'a:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:not(.peq) {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}\n' + - '\n.div {\n' + - '\theight: 15px;\n' + - '}'); - - // Newline Between Rules - (separator = "") - reset_options(); - opts.newline_between_rules = false; - t( - '.div {}\n' + - '.span {}'); - t( - '.div{}\n' + - ' \n' + - '.span{}', - // -- output -- - '.div {}\n' + - '.span {}'); - t( - '.div {} \n' + - ' \n' + - '.span { } \n', - // -- output -- - '.div {}\n' + - '.span {}'); - t( - '.div {\n' + - ' \n' + - '} \n' + - ' .span {\n' + - ' } ', - // -- output -- - '.div {}\n' + - '.span {}'); - t( - '.selector1 {\n' + - '\tmargin: 0; /* This is a comment including an url http://domain.com/path/to/file.ext */\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '.selector1 {\n' + - '\tmargin: 0;\n' + - '\t/* This is a comment including an url http://domain.com/path/to/file.ext */\n' + - '}\n' + - '.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '.tabs{width:10px;//end of line comment\n' + - 'height:10px;//another\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '.tabs {\n' + - '\twidth: 10px; //end of line comment\n' + - '\theight: 10px; //another\n' + - '}\n' + - '.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '#foo {\n' + - '\tbackground-image: url(foo@2x.png);\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '#foo {\n' + - '\tbackground-image: url(foo@2x.png);\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo@2x.png);\n' + - '\t}\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '.div{height:15px;}', - // -- output -- - '@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo@2x.png);\n' + - '\t}\n' + - '\t@font-face {\n' + - '\t\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '\t}\n' + - '}\n' + - '.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - '@font-face {\n' + - '\tfont-family: "Bitstream Vera Serif Bold";\n' + - '\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n' + - '}\n' + - '@media screen {\n' + - '\t#foo:hover {\n' + - '\t\tbackground-image: url(foo.png);\n' + - '\t}\n' + - '\t@media screen and (min-device-pixel-ratio: 2) {\n' + - '\t\t@font-face {\n' + - '\t\t\tfont-family: "Helvetica Neue"\n' + - '\t\t}\n' + - '\t\t#foo:hover {\n' + - '\t\t\tbackground-image: url(foo@2x.png);\n' + - '\t\t}\n' + - '\t}\n' + - '}'); - t( - 'a:first-child{color:red;div:first-child{color:black;}}\n' + - '.div{height:15px;}', - // -- output -- - 'a:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:first-child {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}\n' + - '.div {\n' + - '\theight: 15px;\n' + - '}'); - t( - 'a:first-child{color:red;div:not(.peq){color:black;}}\n' + - '.div{height:15px;}', - // -- output -- - 'a:first-child {\n' + - '\tcolor: red;\n' + - '\tdiv:not(.peq) {\n' + - '\t\tcolor: black;\n' + - '\t}\n' + - '}\n' + - '.div {\n' + - '\theight: 15px;\n' + - '}'); - - - //============================================================ - // Functions braces - reset_options(); - t('.tabs(){}', '.tabs() {}'); - t('.tabs (){}', '.tabs () {}'); - t( - '.tabs (pa, pa(1,2)), .cols { }', - // -- output -- - '.tabs (pa, pa(1, 2)),\n' + - '.cols {}'); - t( - '.tabs(pa, pa(1,2)), .cols { }', - // -- output -- - '.tabs(pa, pa(1, 2)),\n' + - '.cols {}'); - t('.tabs ( ) { }', '.tabs () {}'); - t('.tabs( ) { }', '.tabs() {}'); - t( - '.tabs (t, t2) \n' + - '{\n' + - ' key: val(p1 ,p2); \n' + - ' }', - // -- output -- - '.tabs (t, t2) {\n' + - '\tkey: val(p1, p2);\n' + - '}'); - t( - '.box-shadow(@shadow: 0 1px 3px rgba(0, 0, 0, .25)) {\n' + - '\t-webkit-box-shadow: @shadow;\n' + - '\t-moz-box-shadow: @shadow;\n' + - '\tbox-shadow: @shadow;\n' + - '}'); - - - //============================================================ - // Comments - reset_options(); - t('/* test */'); - t( - '.tabs{/* test */}', - // -- output -- - '.tabs {\n' + - '\t/* test */\n' + - '}'); - t( - '.tabs{/* test */}', - // -- output -- - '.tabs {\n' + - '\t/* test */\n' + - '}'); - t( - '/* header */.tabs {}', - // -- output -- - '/* header */\n' + - '\n' + - '.tabs {}'); - t( - '.tabs {\n' + - '/* non-header */\n' + - 'width:10px;}', - // -- output -- - '.tabs {\n' + - '\t/* non-header */\n' + - '\twidth: 10px;\n' + - '}'); - t('/* header'); - t('// comment'); - t( - '.selector1 {\n' + - '\tmargin: 0; /* This is a comment including an url http://domain.com/path/to/file.ext */\n' + - '}', - // -- output -- - '.selector1 {\n' + - '\tmargin: 0;\n' + - '\t/* This is a comment including an url http://domain.com/path/to/file.ext */\n' + - '}'); - - // single line comment support (less/sass) - t( - '.tabs{\n' + - '// comment\n' + - 'width:10px;\n' + - '}', - // -- output -- - '.tabs {\n' + - '\t// comment\n' + - '\twidth: 10px;\n' + - '}'); - t( - '.tabs{// comment\n' + - 'width:10px;\n' + - '}', - // -- output -- - '.tabs {\n' + - '\t// comment\n' + - '\twidth: 10px;\n' + - '}'); - t( - '//comment\n' + - '.tabs{width:10px;}', - // -- output -- - '//comment\n' + - '.tabs {\n' + - '\twidth: 10px;\n' + - '}'); - t( - '.tabs{//comment\n' + - '//2nd single line comment\n' + - 'width:10px;}', - // -- output -- - '.tabs {\n' + - '\t//comment\n' + - '\t//2nd single line comment\n' + - '\twidth: 10px;\n' + - '}'); - t( - '.tabs{width:10px;//end of line comment\n' + - '}', - // -- output -- - '.tabs {\n' + - '\twidth: 10px; //end of line comment\n' + - '}'); - t( - '.tabs{width:10px;//end of line comment\n' + - 'height:10px;}', - // -- output -- - '.tabs {\n' + - '\twidth: 10px; //end of line comment\n' + - '\theight: 10px;\n' + - '}'); - t( - '.tabs{width:10px;//end of line comment\n' + - 'height:10px;//another\n' + - '}', - // -- output -- - '.tabs {\n' + - '\twidth: 10px; //end of line comment\n' + - '\theight: 10px; //another\n' + - '}'); - - - //============================================================ - // Handle LESS property name interpolation - reset_options(); - t( - 'tag {\n' + - '\t@{prop}: none;\n' + - '}'); - t( - 'tag{@{prop}:none;}', - // -- output -- - 'tag {\n' + - '\t@{prop}: none;\n' + - '}'); - t( - 'tag{ @{prop}: none;}', - // -- output -- - 'tag {\n' + - '\t@{prop}: none;\n' + - '}'); - - // can also be part of property name - t( - 'tag {\n' + - '\tdynamic-@{prop}: none;\n' + - '}'); - t( - 'tag{dynamic-@{prop}:none;}', - // -- output -- - 'tag {\n' + - '\tdynamic-@{prop}: none;\n' + - '}'); - t( - 'tag{ dynamic-@{prop}: none;}', - // -- output -- - 'tag {\n' + - '\tdynamic-@{prop}: none;\n' + - '}'); - - - //============================================================ - // Handle LESS property name interpolation, test #631 - reset_options(); - t( - '.generate-columns(@n, @i: 1) when (@i =< @n) {\n' + - '\t.column-@{i} {\n' + - '\t\twidth: (@i * 100% / @n);\n' + - '\t}\n' + - '\t.generate-columns(@n, (@i + 1));\n' + - '}'); - t( - '.generate-columns(@n,@i:1) when (@i =< @n){.column-@{i}{width:(@i * 100% / @n);}.generate-columns(@n,(@i + 1));}', - // -- output -- - '.generate-columns(@n, @i: 1) when (@i =< @n) {\n' + - '\t.column-@{i} {\n' + - '\t\twidth: (@i * 100% / @n);\n' + - '\t}\n' + - '\t.generate-columns(@n, (@i + 1));\n' + - '}'); - - - //============================================================ - // Psuedo-classes vs Variables - reset_options(); - t('@page :first {}'); - - // Assume the colon goes with the @name. If we're in LESS, this is required regardless of the at-string. - t('@page:first {}', '@page: first {}'); - t('@page: first {}'); - - - //============================================================ - // SASS/SCSS - reset_options(); - - // Basic Interpolation - t( - 'p {\n' + - '\t$font-size: 12px;\n' + - '\t$line-height: 30px;\n' + - '\tfont: #{$font-size}/#{$line-height};\n' + - '}'); - t('p.#{$name} {}'); - t( - '@mixin itemPropertiesCoverItem($items, $margin) {\n' + - '\twidth: calc((100% - ((#{$items} - 1) * #{$margin}rem)) / #{$items});\n' + - '\tmargin: 1.6rem #{$margin}rem 1.6rem 0;\n' + - '}'); - - // Multiple filed issues in LESS due to not(:blah) - t('&:first-of-type:not(:last-child) {}'); - t( - 'div {\n' + - '\t&:not(:first-of-type) {\n' + - '\t\tbackground: red;\n' + - '\t}\n' + - '}'); - - - //============================================================ - // Proper handling of colon in selectors - reset_options(); - opts.selector_separator_newline = false; - t('a :b {}'); - t('a ::b {}'); - t('a:b {}'); - t('a::b {}'); - t( - 'a {}, a::b {}, a ::b {}, a:b {}, a :b {}', - // -- output -- - 'a {}\n' + - ', a::b {}\n' + - ', a ::b {}\n' + - ', a:b {}\n' + - ', a :b {}'); - t( - '.card-blue ::-webkit-input-placeholder {\n' + - '\tcolor: #87D1FF;\n' + - '}'); - t( - 'div [attr] :not(.class) {\n' + - '\tcolor: red;\n' + - '}'); - - - //============================================================ - // Regresssion Tests - reset_options(); - opts.selector_separator_newline = false; - t( - '@media(min-width:768px) {\n' + - '\t.selector::after {\n' + - '\t\t/* property: value */\n' + - '\t}\n' + - '\t.other-selector {\n' + - '\t\t/* property: value */\n' + - '\t}\n' + - '}'); - t( - '.fa-rotate-270 {\n' + - '\tfilter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n' + - '}'); - - - //============================================================ - // - reset_options(); - - - } - - function beautifier_unconverted_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - // test basic css beautifier - t(".tabs {}"); - t(".tabs{color:red;}", ".tabs {\n\tcolor: red;\n}"); - t(".tabs{color:rgb(255, 255, 0)}", ".tabs {\n\tcolor: rgb(255, 255, 0)\n}"); - t(".tabs{background:url('back.jpg')}", ".tabs {\n\tbackground: url('back.jpg')\n}"); - t("#bla, #foo{color:red}", "#bla,\n#foo {\n\tcolor: red\n}"); - t("@media print {.tab{}}", "@media print {\n\t.tab {}\n}"); - t("@media print {.tab{background-image:url(foo@2x.png)}}", "@media print {\n\t.tab {\n\t\tbackground-image: url(foo@2x.png)\n\t}\n}"); - - t("a:before {\n" + - "\tcontent: 'a{color:black;}\"\"\\'\\'\"\\n\\n\\na{color:black}\';\n" + - "}"); - - //lead-in whitespace determines base-indent. - // lead-in newlines are stripped. - t("\n\na, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}"); - t(" a, img {padding: 0.2px}", " a,\n img {\n \tpadding: 0.2px\n }"); - t(" \t \na, img {padding: 0.2px}", " \t a,\n \t img {\n \t \tpadding: 0.2px\n \t }"); - t("\n\n a, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}"); - - // separate selectors - t("#bla, #foo{color:red}", "#bla,\n#foo {\n\tcolor: red\n}"); - t("a, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}"); - - // block nesting - t("#foo {\n\tbackground-image: url(foo@2x.png);\n\t@font-face {\n\t\tfont-family: 'Bitstream Vera Serif Bold';\n\t\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n\t}\n}"); - t("@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo@2x.png);\n\t}\n\t@font-face {\n\t\tfont-family: 'Bitstream Vera Serif Bold';\n\t\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n\t}\n}"); -/* -@font-face { - font-family: 'Bitstream Vera Serif Bold'; - src: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf'); -} -@media screen { - #foo:hover { - background-image: url(foo.png); - } - @media screen and (min-device-pixel-ratio: 2) { - @font-face { - font-family: 'Helvetica Neue' - } - #foo:hover { - background-image: url(foo@2x.png); - } - } -} -*/ - t("@font-face {\n\tfont-family: 'Bitstream Vera Serif Bold';\n\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n}\n@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo.png);\n\t}\n\t@media screen and (min-device-pixel-ratio: 2) {\n\t\t@font-face {\n\t\t\tfont-family: 'Helvetica Neue'\n\t\t}\n\t\t#foo:hover {\n\t\t\tbackground-image: url(foo@2x.png);\n\t\t}\n\t}\n}"); - - // less-css cases - t('.well{@well-bg:@bg-color;@well-fg:@fg-color;}','.well {\n\t@well-bg: @bg-color;\n\t@well-fg: @fg-color;\n}'); - t('.well {&.active {\nbox-shadow: 0 1px 1px @border-color, 1px 0 1px @border-color;}}', - '.well {\n' + - '\t&.active {\n' + - '\t\tbox-shadow: 0 1px 1px @border-color, 1px 0 1px @border-color;\n' + - '\t}\n' + - '}'); - t('a {\n' + - '\tcolor: blue;\n' + - '\t&:hover {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '\t& & &&&.active {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '}'); - - // Not sure if this is sensible - // but I believe it is correct to not remove the space in "&: hover". - t('a {\n' + - '\t&: hover {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '}'); - - // import - t('@import "test";'); - - // don't break nested pseudo-classes - t("a:first-child{color:red;div:first-child{color:black;}}", - "a:first-child {\n\tcolor: red;\n\tdiv:first-child {\n\t\tcolor: black;\n\t}\n}"); - - // handle SASS/LESS parent reference - t("div{&:first-letter {text-transform: uppercase;}}", - "div {\n\t&:first-letter {\n\t\ttext-transform: uppercase;\n\t}\n}"); - - //nested modifiers (&:hover etc) - t(".tabs{&:hover{width:10px;}}", ".tabs {\n\t&:hover {\n\t\twidth: 10px;\n\t}\n}"); - t(".tabs{&.big{width:10px;}}", ".tabs {\n\t&.big {\n\t\twidth: 10px;\n\t}\n}"); - t(".tabs{&>big{width:10px;}}", ".tabs {\n\t&>big {\n\t\twidth: 10px;\n\t}\n}"); - t(".tabs{&+.big{width:10px;}}", ".tabs {\n\t&+.big {\n\t\twidth: 10px;\n\t}\n}"); - - //nested rules - t(".tabs{.child{width:10px;}}", ".tabs {\n\t.child {\n\t\twidth: 10px;\n\t}\n}"); - - //variables - t("@myvar:10px;.tabs{width:10px;}", "@myvar: 10px;\n.tabs {\n\twidth: 10px;\n}"); - t("@myvar:10px; .tabs{width:10px;}", "@myvar: 10px;\n.tabs {\n\twidth: 10px;\n}"); - - // test options - opts.indent_size = 2; - opts.indent_char = ' '; - opts.selector_separator_newline = false; - - // pseudo-classes and pseudo-elements - t("#foo:hover {\n background-image: url(foo@2x.png)\n}"); - t("#foo *:hover {\n color: purple\n}"); - t("::selection {\n color: #ff0000;\n}"); - - // TODO: don't break nested pseduo-classes - t("@media screen {.tab,.bat:hover {color:red}}", "@media screen {\n .tab, .bat:hover {\n color: red\n }\n}"); - - // particular edge case with braces and semicolons inside tags that allows custom text - t("a:not(\"foobar\\\";{}omg\"){\ncontent: 'example\\';{} text';\ncontent: \"example\\\";{} text\";}", - "a:not(\"foobar\\\";{}omg\") {\n content: 'example\\';{} text';\n content: \"example\\\";{} text\";\n}"); - - // may not eat the space before "[" - t('html.js [data-custom="123"] {\n opacity: 1.00;\n}'); - t('html.js *[data-custom="123"] {\n opacity: 1.00;\n}'); - } - - beautifier_tests(); - beautifier_unconverted_tests(); -} - -if (typeof exports !== "undefined") { - exports.run_css_tests = run_css_tests; -} diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-html-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-html-tests.js deleted file mode 100644 index 4d3ea075..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-html-tests.js +++ /dev/null @@ -1,3212 +0,0 @@ -/* - AUTO-GENERATED. DO NOT MODIFY. - Script: test/generate-tests.js - Template: test/data/html/node.mustache - Data: test/data/html/tests.js - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ -/*jshint unused:false */ - -function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) -{ - - var default_opts = { - indent_size: 4, - indent_char: ' ', - preserve_newlines: true, - jslint_happy: false, - keep_array_indentation: false, - brace_style: 'collapse', - space_before_conditional: true, - break_chained_methods: false, - selector_separator: '\n', - end_with_newline: false - }; - var opts; - - default_opts.indent_size = 4; - default_opts.indent_char = ' '; - default_opts.indent_with_tabs = false; - default_opts.preserve_newlines = true; - default_opts.jslint_happy = false; - default_opts.keep_array_indentation = false; - default_opts.brace_style = 'collapse'; - default_opts.extra_liners = ['html', 'head', '/html']; - - function reset_options() - { - opts = JSON.parse(JSON.stringify(default_opts)); - } - - function test_html_beautifier(input) - { - return html_beautify(input, opts); - } - - var sanitytest; - - // test the input on beautifier with the current flag settings - // does not check the indentation / surroundings as bt() does - function test_fragment(input, expected) - { - expected = expected || expected === '' ? expected : input; - sanitytest.expect(input, expected); - // if the expected is different from input, run it again - // expected output should be unchanged when run twice. - if (expected !== input) { - sanitytest.expect(expected, expected); - } - - // Everywhere we do newlines, they should be replaced with opts.eol - opts.eol = '\r\n'; - expected = expected.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - if (input.indexOf('\n') !== -1) { - input = input.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - // Ensure support for auto eol detection - opts.eol = 'auto'; - sanitytest.expect(input, expected); - } - opts.eol = '\n'; - } - - // test html - function bth(input, expectation) - { - var wrapped_input, wrapped_expectation, field_input, field_expectation; - - expectation = expectation || expectation === '' ? expectation : input; - sanitytest.test_function(test_html_beautifier, 'html_beautify'); - test_fragment(input, expectation); - - if (opts.indent_size === 4 && input) { - wrapped_input = '

\n' + input.replace(/^(.+)$/mg, ' $1') + '\n inline\n
'; - wrapped_expectation = '
\n' + expectation.replace(/^(.+)$/mg, ' $1') + '\n inline\n
'; - test_fragment(wrapped_input, wrapped_expectation); - } - } - - function unicode_char(value) { - return String.fromCharCode(value); - } - - function beautifier_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - bth(''); - - - //============================================================ - // Handle inline and block elements differently - () - reset_options(); - test_fragment( - '

Block

', - // -- output -- - '\n' + - '

Block

\n' + - ''); - test_fragment('Inline'); - - - //============================================================ - // End With Newline - (eof = "\n") - reset_options(); - opts.end_with_newline = true; - test_fragment('', '\n'); - test_fragment('
', '
\n'); - test_fragment('\n'); - - // End With Newline - (eof = "") - reset_options(); - opts.end_with_newline = false; - test_fragment(''); - test_fragment('
'); - test_fragment('\n', ''); - - - //============================================================ - // Custom Extra Liners (empty) - () - reset_options(); - opts.extra_liners = []; - test_fragment( - '

x

', - // -- output -- - '\n' + - '\n' + - ' \n' + - '\n' + - '\n' + - '
\n' + - '

x

\n' + - '
\n' + - '\n' + - ''); - - - //============================================================ - // Custom Extra Liners (default) - () - reset_options(); - opts.extra_liners = null; - test_fragment( - '', - // -- output -- - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // Custom Extra Liners (p, string) - () - reset_options(); - opts.extra_liners = 'p,/p'; - test_fragment( - '

x

', - // -- output -- - '\n' + - '\n' + - ' \n' + - '\n' + - '\n' + - '
\n' + - '\n' + - '

x\n' + - '\n' + - '

\n' + - '
\n' + - '\n' + - ''); - - - //============================================================ - // Custom Extra Liners (p) - () - reset_options(); - opts.extra_liners = ['p', '/p']; - test_fragment( - '

x

', - // -- output -- - '\n' + - '\n' + - ' \n' + - '\n' + - '\n' + - '
\n' + - '\n' + - '

x\n' + - '\n' + - '

\n' + - '
\n' + - '\n' + - ''); - - - //============================================================ - // Tests for script and style types (issue 453, 821) - reset_options(); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - bth( - '', - // -- output -- - ''); - - - //============================================================ - // Attribute Wrap alignment with spaces - () - reset_options(); - opts.wrap_attributes = 'force-aligned'; - opts.indent_with_tabs = true; - test_fragment( - '
test
', - // -- output -- - '
\n' + - '\t
\n' + - '\t\t
test
\n' + - '\t
\n' + - '
'); - - - //============================================================ - // Attribute Wrap de-indent - () - reset_options(); - opts.wrap_attributes = 'force-aligned'; - opts.indent_with_tabs = false; - test_fragment( - '
test
', - // -- output -- - '
\n' + - '
test
\n' + - '
'); - test_fragment( - '

\n' + - ' \n' + - '

', - // -- output -- - '

\n' + - ' \n' + - '

'); - test_fragment( - '

\n' + - ' \n' + - '

', - // -- output -- - '

\n' + - ' \n' + - '

'); - - - //============================================================ - // Attribute Wrap - (indent_attr = "\n ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force'; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force'; - opts.wrap_line_length = 80; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force'; - opts.wrap_attributes_indent_size = 8; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = " ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n") - reset_options(); - opts.wrap_attributes = 'auto'; - opts.wrap_line_length = 80; - opts.wrap_attributes_indent_size = 0; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment('', ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = " ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'auto'; - opts.wrap_line_length = 80; - opts.wrap_attributes_indent_size = 4; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment('', ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = " ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = " ") - reset_options(); - opts.wrap_attributes = 'auto'; - opts.wrap_line_length = 0; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
'); - test_fragment('
This is some text
'); - test_fragment('', ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment(''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_faligned = " ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force-aligned'; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_faligned = " ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force-aligned'; - opts.wrap_line_length = 80; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_faligned = " ", indent_attr_first = " ", indent_end = "", indent_end_selfclosing = " ", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force-aligned'; - opts.wrap_attributes_indent_size = 8; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - '
This is some text
'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_first = "\n ", indent_end = "\n", indent_end_selfclosing = "\n", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force-expand-multiline'; - opts.wrap_attributes_indent_size = 4; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - 'This is some text'); - test_fragment( - '
This is some text
', - // -- output -- - 'This is some text'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_first = "\n ", indent_end = "\n", indent_end_selfclosing = "\n", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force-expand-multiline'; - opts.wrap_attributes_indent_size = 4; - opts.wrap_line_length = 80; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - 'This is some text'); - test_fragment( - '
This is some text
', - // -- output -- - 'This is some text'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - // Attribute Wrap - (indent_attr = "\n ", indent_attr_first = "\n ", indent_end = "\n", indent_end_selfclosing = "\n", indent_over80 = "\n ") - reset_options(); - opts.wrap_attributes = 'force-expand-multiline'; - opts.wrap_attributes_indent_size = 8; - test_fragment('
This is some text
', '
This is some text
'); - test_fragment('
This is some text
', '
This is some text
'); - test_fragment( - '
This is some text
', - // -- output -- - 'This is some text'); - test_fragment( - '
This is some text
', - // -- output -- - 'This is some text'); - test_fragment( - '', - // -- output -- - ''); - test_fragment( - '', - // -- output -- - '\n' + - ''); - test_fragment( - '', - // -- output -- - ''); - - - //============================================================ - // Handlebars Indenting Off - reset_options(); - opts.indent_handlebars = false; - test_fragment( - '{{#if 0}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 0}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - '{{#each thing}}\n' + - ' {{name}}\n' + - '{{/each}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#each thing}} {{name}} {{/each}}\n' + - '
'); - - - //============================================================ - // Handlebars Indenting On - (content = "{{field}}") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment('{{#if 0}}{{field}}{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{{field}}{{/if}}', - // -- output -- - '{{#if words}}{{field}}{{/if}}'); - test_fragment( - '{{#if words}}{{field}}{{/if}}', - // -- output -- - '{{#if words}}{{field}}{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{{field}}\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{{field}}\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {{field}}\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {{field}}\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{field}}\n' + - ' {{else}}\n' + - ' {{field}}\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {{field}}\n' + - '{{else}}\n' + - ' {{field}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {{field}}\n' + - ' {{else}}\n' + - '{{field}}\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{{field}}\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {{field}}\n' + - ' {{else}}\n' + - ' {{field}}\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {{field}}\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{{field}}', - // -- output -- - '
{{field}}
'); - test_fragment( - '{{field}}', - // -- output -- - '
{{field}}
'); - test_fragment( - '{{field}}', - // -- output -- - '{{field}}'); - test_fragment('
{{field}}
'); - test_fragment('
{{field}}
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "{{! comment}}") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment('{{#if 0}}{{! comment}}{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{{! comment}}{{/if}}', - // -- output -- - '{{#if words}}{{! comment}}{{/if}}'); - test_fragment( - '{{#if words}}{{! comment}}{{/if}}', - // -- output -- - '{{#if words}}{{! comment}}{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{{! comment}}\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{{! comment}}\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {{! comment}}\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {{! comment}}\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{! comment}}\n' + - ' {{else}}\n' + - ' {{! comment}}\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {{! comment}}\n' + - '{{else}}\n' + - ' {{! comment}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {{! comment}}\n' + - ' {{else}}\n' + - '{{! comment}}\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{{! comment}}\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {{! comment}}\n' + - ' {{else}}\n' + - ' {{! comment}}\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {{! comment}}\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{{! comment}}', - // -- output -- - '
{{! comment}}
'); - test_fragment( - '{{! comment}}', - // -- output -- - '
{{! comment}}
'); - test_fragment( - '{{! comment}}', - // -- output -- - '{{! comment}}'); - test_fragment('
{{! comment}}
'); - test_fragment('
{{! comment}}
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "{{!-- comment--}}") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment('{{#if 0}}{{!-- comment--}}{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{{!-- comment--}}{{/if}}', - // -- output -- - '{{#if words}}{{!-- comment--}}{{/if}}'); - test_fragment( - '{{#if words}}{{!-- comment--}}{{/if}}', - // -- output -- - '{{#if words}}{{!-- comment--}}{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{{!-- comment--}}\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{{!-- comment--}}\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {{!-- comment--}}\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {{!-- comment--}}\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{!-- comment--}}\n' + - ' {{else}}\n' + - ' {{!-- comment--}}\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {{!-- comment--}}\n' + - '{{else}}\n' + - ' {{!-- comment--}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {{!-- comment--}}\n' + - ' {{else}}\n' + - '{{!-- comment--}}\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{{!-- comment--}}\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {{!-- comment--}}\n' + - ' {{else}}\n' + - ' {{!-- comment--}}\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {{!-- comment--}}\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{{!-- comment--}}', - // -- output -- - '
{{!-- comment--}}
'); - test_fragment( - '{{!-- comment--}}', - // -- output -- - '
{{!-- comment--}}
'); - test_fragment( - '{{!-- comment--}}', - // -- output -- - '{{!-- comment--}}'); - test_fragment('
{{!-- comment--}}
'); - test_fragment('
{{!-- comment--}}
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "{pre{{field1}} {{field2}} {{field3}}post") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment('{{#if 0}}{pre{{field1}} {{field2}} {{field3}}post{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{pre{{field1}} {{field2}} {{field3}}post{{/if}}', - // -- output -- - '{{#if words}}{pre{{field1}} {{field2}} {{field3}}post{{/if}}'); - test_fragment( - '{{#if words}}{pre{{field1}} {{field2}} {{field3}}post{{/if}}', - // -- output -- - '{{#if words}}{pre{{field1}} {{field2}} {{field3}}post{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{pre{{field1}} {{field2}} {{field3}}post\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{pre{{field1}} {{field2}} {{field3}}post\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{else}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - '{{else}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{else}}\n' + - '{pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{pre{{field1}} {{field2}} {{field3}}post\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{else}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {pre{{field1}} {{field2}} {{field3}}post\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{pre{{field1}} {{field2}} {{field3}}post', - // -- output -- - '
{pre{{field1}} {{field2}} {{field3}}post
'); - test_fragment( - '{pre{{field1}} {{field2}} {{field3}}post', - // -- output -- - '
{pre{{field1}} {{field2}} {{field3}}post
'); - test_fragment( - '{pre{{field1}} {{field2}} {{field3}}post', - // -- output -- - '{pre{{field1}} {{field2}} {{field3}}post'); - test_fragment('
{pre{{field1}} {{field2}} {{field3}}post
'); - test_fragment('
{pre{{field1}} {{field2}} {{field3}}post
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "{{! \n mult-line\ncomment \n with spacing\n}}") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment( - '{{#if 0}}{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}{{/if}}', - // -- output -- - '{{#if words}}{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}{{/if}}'); - test_fragment( - '{{#if words}}{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}{{/if}}', - // -- output -- - '{{#if words}}{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{else}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{else}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{else}}\n' + - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{else}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}', - // -- output -- - '
{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}
'); - test_fragment( - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}', - // -- output -- - '
{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}
'); - test_fragment( - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}', - // -- output -- - '{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}'); - test_fragment( - '
{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}
'); - test_fragment( - '
{{! \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '}}
'); - test_fragment( - '
'); - test_fragment( - '
'); - test_fragment( - '
'); - test_fragment( - '
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "{{!-- \n mult-line\ncomment \n with spacing\n--}}") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment( - '{{#if 0}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}{{/if}}', - // -- output -- - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}{{/if}}'); - test_fragment( - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}{{/if}}', - // -- output -- - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{else}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}', - // -- output -- - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}
'); - test_fragment( - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}', - // -- output -- - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}
'); - test_fragment( - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}', - // -- output -- - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}'); - test_fragment( - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}
'); - test_fragment( - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - '--}}
'); - test_fragment( - '
'); - test_fragment( - '
'); - test_fragment( - '
'); - test_fragment( - '
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "{{!-- \n mult-line\ncomment \n{{#> component}}\n mult-line\ncomment \n with spacing\n {{/ component}}--}}") - reset_options(); - opts.indent_handlebars = true; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment( - '{{#if 0}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}', - // -- output -- - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}'); - test_fragment( - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}', - // -- output -- - '{{#if words}}{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{else}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' {{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}', - // -- output -- - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}
'); - test_fragment( - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}', - // -- output -- - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}
'); - test_fragment( - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}', - // -- output -- - '{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}'); - test_fragment( - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}
'); - test_fragment( - '
{{!-- \n' + - ' mult-line\n' + - 'comment \n' + - '{{#> component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}
'); - test_fragment( - '
component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}">
'); - test_fragment( - '
'); - test_fragment( - '
component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}\'>
'); - test_fragment( - '
component}}\n' + - ' mult-line\n' + - 'comment \n' + - ' with spacing\n' + - ' {{/ component}}--}}{{/if}}\'>
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - // Handlebars Indenting On - (content = "content") - reset_options(); - opts.indent_handlebars = true; - opts.wrap_line_length = 80; - test_fragment('{{page-title}}'); - test_fragment('{{#if 0}}{{/if}}'); - test_fragment('{{#if 0}}content{{/if}}'); - test_fragment( - '{{#if 0}}\n' + - '{{/if}}'); - test_fragment( - '{{#if words}}{{/if}}', - // -- output -- - '{{#if words}}{{/if}}'); - test_fragment( - '{{#if words}}content{{/if}}', - // -- output -- - '{{#if words}}content{{/if}}'); - test_fragment( - '{{#if words}}content{{/if}}', - // -- output -- - '{{#if words}}content{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '
\n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
', - // -- output -- - '
\n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
'); - test_fragment( - '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - 'content\n' + - '{{/if}}\n' + - '{{#if}}\n' + - 'content\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - // -- output -- - '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' content\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' content\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - '
\n' + - '
\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' content\n' + - ' {{else}}\n' + - ' content\n' + - '{{/if}}', - // -- output -- - '{{#if 1}}\n' + - ' content\n' + - '{{else}}\n' + - ' content\n' + - '{{/if}}'); - test_fragment( - '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - // -- output -- - '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}'); - test_fragment( - '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' content\n' + - ' {{else}}\n' + - 'content\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - 'content\n' + - '{{/if}}', - // -- output -- - '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' content\n' + - ' {{else}}\n' + - ' content\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' content\n' + - '{{/if}}'); - test_fragment( - '', - // -- output -- - '
'); - test_fragment( - 'content', - // -- output -- - '
content
'); - test_fragment( - 'content', - // -- output -- - '
content
'); - test_fragment( - 'content', - // -- output -- - 'content'); - test_fragment('
content
'); - test_fragment('
content
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('
'); - test_fragment('{{condition < 0 ? "result1" : "result2"}}'); - test_fragment('{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}'); - - - //============================================================ - // Handlebars Else tag indenting - reset_options(); - opts.indent_handlebars = true; - test_fragment( - '{{#if test}}
{{else}}
{{/if}}', - // -- output -- - '{{#if test}}\n' + - '
\n' + - '{{else}}\n' + - '
\n' + - '{{/if}}'); - test_fragment('{{#if test}}{{else}}{{/if}}'); - - - //============================================================ - // Unclosed html elements - reset_options(); - test_fragment( - '\n' + - ''); - test_fragment( - '
\n' + - '
'); - test_fragment( - '\n' + - ''); - test_fragment( - '\n' + - ''); - test_fragment( - '\n' + - ''); - test_fragment( - '\n' + - ' \n' + - ' \n' + - ''); - - - //============================================================ - // Unformatted tags - reset_options(); - test_fragment( - '
    \n' + - '
  1. b
    c
  2. \n' + - '
', - // -- output -- - '
    \n' + - '
  1. b\n' + - '
    c
    \n' + - '
  2. \n' + - '
'); - test_fragment( - '
    \n' + - '
  1. bc
  2. \n' + - '
'); - test_fragment( - '
    \n' + - '
  • \n' + - ' \n' + - ' Kontakt\n' + - '
  • \n' + - '
'); - test_fragment('
'); - test_fragment('
'); - test_fragment( - '

\n' + - ' \n' + - '

'); - test_fragment( - '

\n' + - ' \n' + - '

'); - test_fragment( - '

\n' + - ' \n' + - '

'); - test_fragment( - '

\n' + - ' image: image: \n' + - '

'); - test_fragment( - '

\n' + - ' image: image: \n' + - '

'); - - - //============================================================ - // File starting with comment - reset_options(); - test_fragment( - '\n' + - '\n' + - '\n' + - '\n' + - ' a span\n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // Php formatting - reset_options(); - test_fragment( - '

', - // -- output -- - '

\n' + - ' \n' + - '

'); - test_fragment( - '");\n' + - '}\n' + - '?>'); - test_fragment( - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // Support simple language specific option inheritance/overriding - (h = " ", c = " ", j = " ") - reset_options(); - opts.js = { 'indent_size': 3 }; - opts.css = { 'indent_size': 5 }; - test_fragment( - '\n' + - ' \n' + - ' \n' + - ''); - - // Support simple language specific option inheritance/overriding - (h = " ", c = " ", j = " ") - reset_options(); - opts.html = { 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 } }; - test_fragment( - '\n' + - ' \n' + - ' \n' + - ''); - - // Support simple language specific option inheritance/overriding - (h = " ", c = " ", j = " ") - reset_options(); - opts.indent_size = 9; - opts.html = { 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 }, 'indent_size': 2}; - opts.js = { 'indent_size': 5 }; - opts.css = { 'indent_size': 3 }; - test_fragment( - '\n' + - ' \n' + - ' \n' + - ''); - - - //============================================================ - // underscore.js formatting - reset_options(); - test_fragment( - '
\n' + - ' \n' + - '
'); - - - //============================================================ - // Indent with tabs - reset_options(); - opts.indent_with_tabs = true; - test_fragment( - '
\n' + - '
\n' + - '
\n' + - '
', - // -- output -- - '
\n' + - '\t
\n' + - '\t
\n' + - '
'); - - - //============================================================ - // Indent without tabs - reset_options(); - opts.indent_with_tabs = false; - test_fragment( - '
\n' + - '
\n' + - '
\n' + - '
', - // -- output -- - '
\n' + - '
\n' + - '
\n' + - '
'); - - - //============================================================ - // Indent body inner html by default - reset_options(); - test_fragment( - '\n' + - '\n' + - '
\n' + - '\n' + - '\n' + - '', - // -- output -- - '\n' + - '\n' + - '
\n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // indent_body_inner_html set to false prevents indent of body inner html - reset_options(); - opts.indent_body_inner_html = false; - test_fragment( - '\n' + - '\n' + - '
\n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // Indent head inner html by default - reset_options(); - test_fragment( - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '', - // -- output -- - '\n' + - '\n' + - '\n' + - ' \n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // indent_head_inner_html set to false prevents indent of head inner html - reset_options(); - opts.indent_head_inner_html = false; - test_fragment( - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - ''); - - - //============================================================ - // content_unformatted to prevent formatting content - reset_options(); - opts.content_unformatted = ['script', 'style', 'p', 'span', 'br']; - test_fragment( - '

A

', - // -- output -- - '\n' + - '\n' + - '

A

\n' + - ' \n' + - ' \n' + - '\n' + - '\n' + - ''); - test_fragment( - '

Beautify me

But not me

', - // -- output -- - '
\n' + - '

Beautify me

\n' + - '
\n' + - '

But not me

'); - test_fragment( - '
Beautify me

But not me

', - // -- output -- - '
\n' + - '

Beautify me

\n' + - '
\n' + - '

But not me

'); - test_fragment('
blabla
something here
'); - test_fragment('

'); - test_fragment( - '
var a=1;\n' +
-            'var b=a;
', - // -- output -- - '
\n' + - '
var a=1; var b=a;
\n' + - '
'); - test_fragment( - '
\n' +
-            'var a=1;\n' +
-            'var b=a;\n' +
-            '
', - // -- output -- - '
\n' + - '
\n' +
-            '        var a=1; var b=a;\n' +
-            '    
\n' + - '
'); - - - //============================================================ - // default content_unformatted - reset_options(); - test_fragment( - '

A

', - // -- output -- - '\n' + - '\n' + - '

A

\n' + - ' \n' + - ' \n' + - '\n' + - '\n' + - ''); - test_fragment( - '

Beautify me

But not me

', - // -- output -- - '
\n' + - '

Beautify me

\n' + - '
\n' + - '

\n' + - '

But not me

\n' + - '

'); - test_fragment( - '
Beautify me

But not me

', - // -- output -- - '
\n' + - '

Beautify me

\n' + - '
\n' + - '

\n' + - '

But not me

\n' + - '

'); - test_fragment('
blabla
something here
'); - test_fragment('

'); - test_fragment( - '
var a=1;\n' +
-            'var b=a;
', - // -- output -- - '
\n' + - '
var a=1;\n' +
-            'var b=a;
\n' + - '
'); - test_fragment( - '
\n' +
-            'var a=1;\n' +
-            'var b=a;\n' +
-            '
', - // -- output -- - '
\n' + - '
\n' +
-            'var a=1;\n' +
-            'var b=a;\n' +
-            '
\n' + - '
'); - - - //============================================================ - // New Test Suite - reset_options(); - - - } - - function beautifier_unconverted_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - opts.end_with_newline = true; - test_fragment('', '\n'); - test_fragment('
\n'); - test_fragment('
\n\n\n', '
\n'); - test_fragment('\n' + - ' \n' + - '\n'); - - - opts.end_with_newline = false; - // error cases need love too - bth('Evil'); - bth(" - - test_fragment( - '\n' + - ' \n' + - ''); - - test_fragment('
\n', '
'); - bth('
'); - bth('
content
'); - bth('
', - '
\n' + - '
\n' + - '
'); - bth('
content
', - '
\n' + - '
content
\n' + - '
'); - bth('
\n' + - ' content\n' + - '
'); - bth('
\n' + - '
'); - bth('
\n' + - ' content\n' + - '
'); - bth('
\n' + - '
', - '
\n' + - '
'); - bth('
\n' + - '
', - '
\n' + - '
'); - bth('
\n' + - '
\n' + - '
\n' + - '
', - '
\n' + - '
\n' + - '
\n' + - '
'); - bth('
\n' + - '
', - '
\n' + - '
'); - bth('
content
', - '
content
'); - bth('
', - '
'); - bth('content\n' + - '
\n' + - '
\n' + - 'content', - 'content\n' + - '
\n' + - '
\n' + - 'content'); - bth('
  • \n' + - '
    \n' + - '
    \n' + - '
  • '); - bth('
  • \n' + - '
    \n' + - '
    \n' + - '
  • ', - '
  • \n' + - '
    \n' + - '
    \n' + - '
  • '); - bth('
  • \n' + - ' content\n' + - '
  • \n' + - '
  • \n' + - ' content\n' + - '
  • '); - - bth('content'); - bth(' content'); - bth(' content', ' content'); - - bth('content'); - bth(' content'); - bth(' content', ' content'); - - bth('content'); - bth(' content'); - bth(' content', ' content'); - - bth('
    contentcontent
    '); - bth('
    content content
    '); - bth('
    content content
    ', - '
    content content
    '); - bth('Text Link Text'); - - var unformatted = opts.unformatted; - opts.unformatted = ['script', 'style']; - bth(''); - bth(''); - opts.unformatted = unformatted; - - unformatted = opts.unformatted; - opts.unformatted = ['custom-element']; - test_fragment('
    should not' + - ' insert newlines
    ', - '
    should not' + - ' insert newlines
    '); - opts.unformatted = unformatted; - - // Tests that don't pass, but probably should. - // bth('
    content
    '); - - // Handlebars tests - // Without the indent option on, handlebars are treated as content. - - opts.wrap_line_length = 0; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all.
    '); - - // A value of 0 means no max line length, and should not wrap. - //...---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10--------11--------12--------13--------14--------15--------16--------17--------18--------19--------20--------21--------22--------23--------24--------25--------26--------27--------28--------29 - //...12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    '); - - opts.wrap_line_length = "0"; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all.
    '); - - // A value of "0" means no max line length, and should not wrap - //...---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10--------11--------12--------13--------14--------15--------16--------17--------18--------19--------20--------21--------22--------23--------24--------25--------26--------27--------28--------29 - //...12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    '); - - //BUGBUG: This should wrap before 40 not after. - opts.wrap_line_length = 40; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some test text that should wrap_inside_this section here.
    ', - /* expected */ - '
    Some test text that should wrap_inside_this\n' + - ' section here.
    '); - - opts.wrap_line_length = "40"; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some test text that should wrap_inside_this section here.
    ', - /* expected */ - '
    Some test text that should wrap_inside_this\n' + - ' section here.
    '); - - opts.indent_size = 1; - opts.indent_char = '\t'; - opts.preserve_newlines = false; - bth('
    \n\tfoo\n
    ', '
    foo
    '); - - opts.preserve_newlines = true; - bth('
    \n\tfoo\n
    '); - - - - // test preserve_newlines and max_preserve_newlines - opts.preserve_newlines = false; - bth('
    Should not
    \n\n\n' + - '
    preserve newlines
    ', - '
    Should not
    \n' + - '
    preserve newlines
    '); - - opts.preserve_newlines = true; - opts.max_preserve_newlines = 0; - bth('
    Should
    \n\n\n' + - '
    preserve zero newlines
    ', - '
    Should
    \n' + - '
    preserve zero newlines
    '); - - opts.max_preserve_newlines = 1; - bth('
    Should
    \n\n\n' + - '
    preserve one newline
    ', - '
    Should
    \n\n' + - '
    preserve one newline
    '); - - opts.max_preserve_newlines = null; - bth('
    Should
    \n\n\n' + - '
    preserve one newline
    ', - '
    Should
    \n\n\n' + - '
    preserve one newline
    '); - } - - beautifier_tests(); - beautifier_unconverted_tests(); -} - -if (typeof exports !== "undefined") { - exports.run_html_tests = run_html_tests; -} diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-javascript-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-javascript-tests.js deleted file mode 100644 index dc1d18ad..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/generated/beautify-javascript-tests.js +++ /dev/null @@ -1,5825 +0,0 @@ -/* - AUTO-GENERATED. DO NOT MODIFY. - Script: test/generate-tests.js - Template: test/data/javascript/node.mustache - Data: test/data/javascript/tests.js - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ -/*jshint unused:false */ - -function run_javascript_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) -{ - - var default_opts = { - indent_size: 4, - indent_char: ' ', - preserve_newlines: true, - jslint_happy: false, - keep_array_indentation: false, - brace_style: 'collapse', - space_before_conditional: true, - break_chained_methods: false, - selector_separator: '\n', - end_with_newline: false - }; - var opts; - - default_opts.indent_size = 4; - default_opts.indent_char = ' '; - default_opts.preserve_newlines = true; - default_opts.jslint_happy = false; - default_opts.keep_array_indentation = false; - default_opts.brace_style = 'collapse'; - default_opts.operator_position = 'before-newline'; - - function reset_options() - { - opts = JSON.parse(JSON.stringify(default_opts)); - } - - function test_js_beautifier(input) - { - return js_beautify(input, opts); - } - - var sanitytest; - - // test the input on beautifier with the current flag settings - // does not check the indentation / surroundings as bt() does - function test_fragment(input, expected) - { - expected = expected || expected === '' ? expected : input; - sanitytest.expect(input, expected); - // if the expected is different from input, run it again - // expected output should be unchanged when run twice. - if (expected !== input) { - sanitytest.expect(expected, expected); - } - - // Everywhere we do newlines, they should be replaced with opts.eol - opts.eol = '\r\\n'; - expected = expected.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - if (input.indexOf('\n') !== -1) { - input = input.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - // Ensure support for auto eol detection - opts.eol = 'auto'; - sanitytest.expect(input, expected); - } - opts.eol = '\n'; - } - - - - // test the input on beautifier with the current flag settings - // test both the input as well as { input } wrapping - function bt(input, expectation) - { - var wrapped_input, wrapped_expectation; - - expectation = expectation || expectation === '' ? expectation : input; - sanitytest.test_function(test_js_beautifier, 'js_beautify'); - test_fragment(input, expectation); - - // If we set raw, input should be unchanged - opts.test_output_raw = true; - if (!opts.end_with_newline) { - test_fragment(input, input); - } - opts.test_output_raw = false; - - // test also the returned indentation - // e.g if input = "asdf();" - // then test that this remains properly formatted as well: - // { - // asdf(); - // indent; - // } - - var current_indent_size = opts.js ? opts.js.indent_size : null; - current_indent_size = current_indent_size ? current_indent_size : opts.indent_size; - if (current_indent_size === 4 && input) { - wrapped_input = '{\n' + input.replace(/^(.+)$/mg, ' $1') + '\n foo = bar;\n}'; - wrapped_expectation = '{\n' + expectation.replace(/^(.+)$/mg, ' $1') + '\n foo = bar;\n}'; - test_fragment(wrapped_input, wrapped_expectation); - - // If we set raw, input should be unchanged - opts.test_output_raw = true; - if (!opts.end_with_newline) { - test_fragment(wrapped_input, wrapped_input); - } - opts.test_output_raw = false; - } - - } - - // run all tests for the given brace style ("collapse", "expand", "end-expand", or "none"). - // uses various whitespace combinations before and after opening and closing braces, - // respectively, for most of the tests' inputs. - function beautify_brace_tests(brace_style) { - - var indent_on_wrap_str = ' '; // could use Array(opts.indent_size + 1).join(' '); if we wanted to replace _all_ of the hardcoded 4-space in the test and expectation strings - - function permute_brace_tests(expect_open_white, expect_close_white) { - - // run the tests that need permutation against a specific combination of - // pre-opening-brace and pre-closing-brace whitespace - function run_brace_permutation(test_open_white, test_close_white) { - var to = test_open_white, - tc = test_close_white, - eo = expect_open_white ? expect_open_white : to === '' ? ' ' : to, - ec = expect_close_white ? expect_close_white : tc === '' ? ' ' : tc, - i = eo === '\n' ? indent_on_wrap_str: ''; - - bt( '//case 1\nif (a == 1)' + to + '{}\n//case 2\nelse if (a == 2)' + to + '{}', - '//case 1\nif (a == 1)' + eo + '{}\n//case 2\nelse if (a == 2)' + eo + '{}'); - bt( 'if(1)' + to + '{2}' + tc + 'else' + to + '{3}', - 'if (1)' + eo + '{\n 2\n}' + ec + 'else' + eo + '{\n 3\n}'); - bt( 'try' + to + '{a();}' + tc + - 'catch(b)' + to + '{c();}' + tc + - 'catch(d)' + to + '{}' + tc + - 'finally' + to + '{e();}', - // expected - 'try' + eo + '{\n a();\n}' + ec + - 'catch (b)' + eo + '{\n c();\n}' + ec + - 'catch (d)' + eo + '{}' + ec + - 'finally' + eo + '{\n e();\n}'); - bt( 'if(a)' + to + '{b();}' + tc + 'else if(c) foo();', - 'if (a)' + eo + '{\n b();\n}' + ec + 'else if (c) foo();'); - // if/else statement with empty body - bt( 'if (a)' + to + '{\n// comment\n}' + tc + 'else' + to + '{\n// comment\n}', - 'if (a)' + eo + '{\n // comment\n}' + ec + 'else' + eo + '{\n // comment\n}'); - bt( 'if (x)' + to + '{y}' + tc + 'else' + to + '{ if (x)' + to + '{y}}', - 'if (x)' + eo + '{\n y\n}' + ec + 'else' + eo + '{\n if (x)' + eo + i + '{\n y\n }\n}'); - bt( 'if (a)' + to + '{\nb;\n}' + tc + 'else' + to + '{\nc;\n}', - 'if (a)' + eo + '{\n b;\n}' + ec + 'else' + eo + '{\n c;\n}'); - test_fragment(' /*\n* xx\n*/\n// xx\nif (foo)' + to + '{\n bar();\n}', - ' /*\n * xx\n */\n // xx\n if (foo)' + eo + i + '{\n bar();\n }'); - bt( 'if (foo)' + to + '{}' + tc + 'else /regex/.test();', - 'if (foo)' + eo + '{}' + ec + 'else /regex/.test();'); - test_fragment('if (foo)' + to + '{', 'if (foo)' + eo + '{'); - test_fragment('foo' + to + '{', 'foo' + eo + '{'); - test_fragment('return;' + to + '{', 'return;' + eo + '{'); - bt( 'function x()' + to + '{\n foo();\n}zzz', 'function x()' + eo +'{\n foo();\n}\nzzz'); - bt( 'var a = new function a()' + to + '{};', 'var a = new function a()' + eo + '{};'); - bt( 'var a = new function a()' + to + ' {},\n b = new function b()' + to + ' {};', - 'var a = new function a()' + eo + i + '{},\n b = new function b()' + eo + i + '{};'); - bt("foo(" + to + "{\n 'a': 1\n},\n10);", - "foo(" + (eo === ' ' ? '' : eo) + i + "{\n 'a': 1\n },\n 10);"); // "foo( {..." is a weird case - bt('(["foo","bar"]).each(function(i)' + to + '{return i;});', - '(["foo", "bar"]).each(function(i)' + eo + '{\n return i;\n});'); - bt('(function(i)' + to + '{return i;})();', '(function(i)' + eo + '{\n return i;\n})();'); - - bt( "test( /*Argument 1*/" + to + "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - // expected - "test( /*Argument 1*/" + eo + i + "{\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });"); - - bt( "test( /*Argument 1*/" + to + "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */\n" + - "{\n" + - " 'Value2': '2'\n" + - "});", - // expected - "test( /*Argument 1*/" + eo + i + "{\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });"); - } - - run_brace_permutation('\n', '\n'); - run_brace_permutation('\n', ' '); - run_brace_permutation(' ', ' '); - run_brace_permutation(' ', '\n'); - run_brace_permutation('',''); - - // brace tests that don't make sense to permutate - test_fragment('return {'); // return needs the brace. - test_fragment('return /* inline */ {'); - bt('throw {}'); - bt('throw {\n foo;\n}'); - bt( 'var foo = {}'); - test_fragment('a: do {} while (); xxx', 'a: do {} while ();\nxxx'); - bt( '{a: do {} while (); xxx}', '{\n a: do {} while ();xxx\n}'); - bt( 'var a = new function() {};'); - bt( 'var a = new function()\n{};', 'var a = new function() {};'); - bt( "test(\n" + - "/*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "},\n" + - "/*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - // expected - "test(\n" + - " /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });"); - } - - reset_options(); - opts.brace_style = brace_style; - - switch(opts.brace_style) { - case 'collapse': - permute_brace_tests(' ', ' '); - break; - case 'expand': - permute_brace_tests('\n', '\n'); - break; - case 'end-expand': - permute_brace_tests(' ', '\n'); - break; - case 'none': - permute_brace_tests(); - break; - } - } - - function unicode_char(value) { - return String.fromCharCode(value); - } - - function beautifier_tests() - { - sanitytest = test_obj; - - - //============================================================ - // Unicode Support - reset_options(); - bt('var ' + unicode_char(3232) + '_' + unicode_char(3232) + ' = "hi";'); - bt( - 'var ' + unicode_char(228) + 'x = {\n' + - ' ' + unicode_char(228) + 'rgerlich: true\n' + - '};'); - - - //============================================================ - // Test template and continuation strings - reset_options(); - bt('`This is a ${template} string.`'); - bt( - '`This\n' + - ' is\n' + - ' a\n' + - ' ${template}\n' + - ' string.`'); - bt( - 'a = `This is a continuation\\\n' + - 'string.`'); - bt( - 'a = "This is a continuation\\\n' + - 'string."'); - bt( - '`SELECT\n' + - ' nextval(\'${this.options.schema ? `${this.options.schema}.` : \'\'}"${this.tableName}_${this.autoIncrementField}_seq"\'::regclass\n' + - ' ) nextval;`'); - - // Tests for #1030 - bt( - 'const composeUrl = (host) => {\n' + - ' return `${host `test`}`;\n' + - '};'); - bt( - 'const composeUrl = (host, api, key, data) => {\n' + - ' switch (api) {\n' + - ' case "Init":\n' + - ' return `${host}/vwapi/Init?VWID=${key}&DATA=${encodeURIComponent(\n' + - ' Object.keys(data).map((k) => `${k}=${ data[k]}` ).join(";")\n' + - ' )}`;\n' + - ' case "Pay":\n' + - ' return `${host}/vwapi/Pay?SessionId=${par}`;\n' + - ' };\n' + - '};'); - - - //============================================================ - // ES7 Decorators - reset_options(); - bt('@foo'); - bt('@foo(bar)'); - bt( - '@foo(function(k, v) {\n' + - ' implementation();\n' + - '})'); - - - //============================================================ - // ES7 exponential - reset_options(); - bt('x ** 2'); - bt('x ** -2'); - - - //============================================================ - // Spread operator - reset_options(); - opts.brace_style = "collapse,preserve-inline"; - bt('const m = { ...item, c: 3 };'); - bt( - 'const m = {\n' + - ' ...item,\n' + - ' c: 3\n' + - '};'); - bt('const m = { c: 3, ...item };'); - bt('const m = [...item, 3];'); - bt('const m = [3, ...item];'); - - - //============================================================ - // Object literal shorthand functions - reset_options(); - bt( - 'return {\n' + - ' foo() {\n' + - ' return 42;\n' + - ' }\n' + - '}'); - bt( - 'var foo = {\n' + - ' * bar() {\n' + - ' yield 42;\n' + - ' }\n' + - '};'); - bt( - 'var foo = {bar(){return 42;},*barGen(){yield 42;}};', - // -- output -- - 'var foo = {\n' + - ' bar() {\n' + - ' return 42;\n' + - ' },\n' + - ' * barGen() {\n' + - ' yield 42;\n' + - ' }\n' + - '};'); - - // also handle generator shorthand in class - #1013 - bt( - 'class A {\n' + - ' fn() {\n' + - ' return true;\n' + - ' }\n' + - '\n' + - ' * gen() {\n' + - ' return true;\n' + - ' }\n' + - '}'); - bt( - 'class A {\n' + - ' * gen() {\n' + - ' return true;\n' + - ' }\n' + - '\n' + - ' fn() {\n' + - ' return true;\n' + - ' }\n' + - '}'); - - - //============================================================ - // End With Newline - (eof = "\n") - reset_options(); - opts.end_with_newline = true; - test_fragment('', '\n'); - test_fragment(' return .5', ' return .5\n'); - test_fragment( - ' \n' + - '\n' + - 'return .5\n' + - '\n' + - '\n' + - '\n', - // -- output -- - ' return .5\n'); - test_fragment('\n'); - - // End With Newline - (eof = "") - reset_options(); - opts.end_with_newline = false; - test_fragment(''); - test_fragment(' return .5'); - test_fragment( - ' \n' + - '\n' + - 'return .5\n' + - '\n' + - '\n' + - '\n', - // -- output -- - ' return .5'); - test_fragment('\n', ''); - - - //============================================================ - // Support simple language specific option inheritance/overriding - (j = " ") - reset_options(); - opts.js = { 'indent_size': 3 }; - opts.css = { 'indent_size': 5 }; - bt( - 'if (a == b) {\n' + - ' test();\n' + - '}'); - - // Support simple language specific option inheritance/overriding - (j = " ") - reset_options(); - opts.html = { 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 } }; - bt( - 'if (a == b) {\n' + - ' test();\n' + - '}'); - - // Support simple language specific option inheritance/overriding - (j = " ") - reset_options(); - opts.indent_size = 9; - opts.html = { 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 }, 'indent_size': 2}; - opts.js = { 'indent_size': 4 }; - opts.css = { 'indent_size': 3 }; - bt( - 'if (a == b) {\n' + - ' test();\n' + - '}'); - - - //============================================================ - // Brace style permutations - (ibo = "", iao = "", ibc = "", iac = "", obo = " ", oao = " ", obc = " ", oac = " ") - reset_options(); - opts.brace_style = 'collapse,preserve-inline'; - bt( - 'var a ={a: 2};\n' + - 'var a ={a: 2};', - // -- output -- - 'var a = { a: 2 };\n' + - 'var a = { a: 2 };'); - bt( - '//case 1\n' + - 'if (a == 1){}\n' + - '//case 2\n' + - 'else if (a == 2){}', - // -- output -- - '//case 1\n' + - 'if (a == 1) {}\n' + - '//case 2\n' + - 'else if (a == 2) {}'); - bt('if(1){2}else{3}', 'if (1) { 2 } else { 3 }'); - bt('try{a();}catch(b){c();}catch(d){}finally{e();}', 'try { a(); } catch (b) { c(); } catch (d) {} finally { e(); }'); - - // Brace style permutations - (ibo = "\n", iao = "\n", ibc = "\n", iac = "\n", obo = " ", oao = "\n ", obc = "\n", oac = " ") - reset_options(); - opts.brace_style = 'collapse,preserve-inline'; - bt( - 'var a =\n' + - '{\n' + - 'a: 2\n' + - '}\n' + - ';\n' + - 'var a =\n' + - '{\n' + - 'a: 2\n' + - '}\n' + - ';', - // -- output -- - 'var a = {\n' + - ' a: 2\n' + - '};\n' + - 'var a = {\n' + - ' a: 2\n' + - '};'); - bt( - '//case 1\n' + - 'if (a == 1)\n' + - '{}\n' + - '//case 2\n' + - 'else if (a == 2)\n' + - '{}', - // -- output -- - '//case 1\n' + - 'if (a == 1) {}\n' + - '//case 2\n' + - 'else if (a == 2) {}'); - bt( - 'if(1)\n' + - '{\n' + - '2\n' + - '}\n' + - 'else\n' + - '{\n' + - '3\n' + - '}', - // -- output -- - 'if (1) {\n' + - ' 2\n' + - '} else {\n' + - ' 3\n' + - '}'); - bt( - 'try\n' + - '{\n' + - 'a();\n' + - '}\n' + - 'catch(b)\n' + - '{\n' + - 'c();\n' + - '}\n' + - 'catch(d)\n' + - '{}\n' + - 'finally\n' + - '{\n' + - 'e();\n' + - '}', - // -- output -- - 'try {\n' + - ' a();\n' + - '} catch (b) {\n' + - ' c();\n' + - '} catch (d) {} finally {\n' + - ' e();\n' + - '}'); - - // Brace style permutations - (ibo = "", iao = "", ibc = "", iac = "", obo = " ", oao = "\n ", obc = "\n", oac = " ") - reset_options(); - opts.brace_style = 'collapse'; - bt( - 'var a ={a: 2};\n' + - 'var a ={a: 2};', - // -- output -- - 'var a = {\n' + - ' a: 2\n' + - '};\n' + - 'var a = {\n' + - ' a: 2\n' + - '};'); - bt( - '//case 1\n' + - 'if (a == 1){}\n' + - '//case 2\n' + - 'else if (a == 2){}', - // -- output -- - '//case 1\n' + - 'if (a == 1) {}\n' + - '//case 2\n' + - 'else if (a == 2) {}'); - bt( - 'if(1){2}else{3}', - // -- output -- - 'if (1) {\n' + - ' 2\n' + - '} else {\n' + - ' 3\n' + - '}'); - bt( - 'try{a();}catch(b){c();}catch(d){}finally{e();}', - // -- output -- - 'try {\n' + - ' a();\n' + - '} catch (b) {\n' + - ' c();\n' + - '} catch (d) {} finally {\n' + - ' e();\n' + - '}'); - - // Brace style permutations - (ibo = "\n", iao = "\n", ibc = "\n", iac = "\n", obo = " ", oao = "\n ", obc = "\n", oac = " ") - reset_options(); - opts.brace_style = 'collapse'; - bt( - 'var a =\n' + - '{\n' + - 'a: 2\n' + - '}\n' + - ';\n' + - 'var a =\n' + - '{\n' + - 'a: 2\n' + - '}\n' + - ';', - // -- output -- - 'var a = {\n' + - ' a: 2\n' + - '};\n' + - 'var a = {\n' + - ' a: 2\n' + - '};'); - bt( - '//case 1\n' + - 'if (a == 1)\n' + - '{}\n' + - '//case 2\n' + - 'else if (a == 2)\n' + - '{}', - // -- output -- - '//case 1\n' + - 'if (a == 1) {}\n' + - '//case 2\n' + - 'else if (a == 2) {}'); - bt( - 'if(1)\n' + - '{\n' + - '2\n' + - '}\n' + - 'else\n' + - '{\n' + - '3\n' + - '}', - // -- output -- - 'if (1) {\n' + - ' 2\n' + - '} else {\n' + - ' 3\n' + - '}'); - bt( - 'try\n' + - '{\n' + - 'a();\n' + - '}\n' + - 'catch(b)\n' + - '{\n' + - 'c();\n' + - '}\n' + - 'catch(d)\n' + - '{}\n' + - 'finally\n' + - '{\n' + - 'e();\n' + - '}', - // -- output -- - 'try {\n' + - ' a();\n' + - '} catch (b) {\n' + - ' c();\n' + - '} catch (d) {} finally {\n' + - ' e();\n' + - '}'); - - - //============================================================ - // Comma-first option - (c0 = ",\n", c1 = ",\n ", c2 = ",\n ", c3 = ",\n ", f1 = " ,\n ") - reset_options(); - opts.comma_first = false; - bt( - '{a:1, b:2}', - // -- output -- - '{\n' + - ' a: 1,\n' + - ' b: 2\n' + - '}'); - bt( - 'var a=1, b=c[d], e=6;', - // -- output -- - 'var a = 1,\n' + - ' b = c[d],\n' + - ' e = 6;'); - bt( - 'for(var a=1,b=2,c=3;d<3;d++)\n' + - 'e', - // -- output -- - 'for (var a = 1, b = 2, c = 3; d < 3; d++)\n' + - ' e'); - bt( - 'for(var a=1,b=2,\n' + - 'c=3;d<3;d++)\n' + - 'e', - // -- output -- - 'for (var a = 1, b = 2,\n' + - ' c = 3; d < 3; d++)\n' + - ' e'); - bt( - 'function foo() {\n' + - ' return [\n' + - ' "one",\n' + - ' "two"\n' + - ' ];\n' + - '}'); - bt( - 'a=[[1,2],[4,5],[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],[7,8],]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' [7, 8],\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' function() {},\n' + - ' [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' function() {},\n' + - ' function() {},\n' + - ' [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' function() {},\n' + - ' [7, 8]\n' + - ']'); - bt('a=[b,c,function(){},function(){},d]', 'a = [b, c, function() {}, function() {}, d]'); - bt( - 'a=[b,c,\n' + - 'function(){},function(){},d]', - // -- output -- - 'a = [b, c,\n' + - ' function() {},\n' + - ' function() {},\n' + - ' d\n' + - ']'); - bt('a=[a[1],b[4],c[d[7]]]', 'a = [a[1], b[4], c[d[7]]]'); - bt('[1,2,[3,4,[5,6],7],8]', '[1, 2, [3, 4, [5, 6], 7], 8]'); - bt( - '[[["1","2"],["3","4"]],[["5","6","7"],["8","9","0"]],[["1","2","3"],["4","5","6","7"],["8","9","0"]]]', - // -- output -- - '[\n' + - ' [\n' + - ' ["1", "2"],\n' + - ' ["3", "4"]\n' + - ' ],\n' + - ' [\n' + - ' ["5", "6", "7"],\n' + - ' ["8", "9", "0"]\n' + - ' ],\n' + - ' [\n' + - ' ["1", "2", "3"],\n' + - ' ["4", "5", "6", "7"],\n' + - ' ["8", "9", "0"]\n' + - ' ]\n' + - ']'); - bt( - 'changeCollection.add({\n' + - ' name: "Jonathan" // New line inserted after this line on every save\n' + - ' , age: 25\n' + - '});', - // -- output -- - 'changeCollection.add({\n' + - ' name: "Jonathan" // New line inserted after this line on every save\n' + - ' ,\n' + - ' age: 25\n' + - '});'); - bt( - 'changeCollection.add(\n' + - ' function() {\n' + - ' return true;\n' + - ' },\n' + - ' function() {\n' + - ' return true;\n' + - ' }\n' + - ');'); - - // Comma-first option - (c0 = "\n, ", c1 = "\n , ", c2 = "\n , ", c3 = "\n , ", f1 = ", ") - reset_options(); - opts.comma_first = true; - bt( - '{a:1, b:2}', - // -- output -- - '{\n' + - ' a: 1\n' + - ' , b: 2\n' + - '}'); - bt( - 'var a=1, b=c[d], e=6;', - // -- output -- - 'var a = 1\n' + - ' , b = c[d]\n' + - ' , e = 6;'); - bt( - 'for(var a=1,b=2,c=3;d<3;d++)\n' + - 'e', - // -- output -- - 'for (var a = 1, b = 2, c = 3; d < 3; d++)\n' + - ' e'); - bt( - 'for(var a=1,b=2,\n' + - 'c=3;d<3;d++)\n' + - 'e', - // -- output -- - 'for (var a = 1, b = 2\n' + - ' , c = 3; d < 3; d++)\n' + - ' e'); - bt( - 'function foo() {\n' + - ' return [\n' + - ' "one"\n' + - ' , "two"\n' + - ' ];\n' + - '}'); - bt( - 'a=[[1,2],[4,5],[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2]\n' + - ' , [4, 5]\n' + - ' , [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],[7,8],]', - // -- output -- - 'a = [\n' + - ' [1, 2]\n' + - ' , [4, 5]\n' + - ' , [7, 8]\n' + - ', ]'); - bt( - 'a=[[1,2],[4,5],function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2]\n' + - ' , [4, 5]\n' + - ' , function() {}\n' + - ' , [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2]\n' + - ' , [4, 5]\n' + - ' , function() {}\n' + - ' , function() {}\n' + - ' , [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2]\n' + - ' , [4, 5]\n' + - ' , function() {}\n' + - ' , [7, 8]\n' + - ']'); - bt('a=[b,c,function(){},function(){},d]', 'a = [b, c, function() {}, function() {}, d]'); - bt( - 'a=[b,c,\n' + - 'function(){},function(){},d]', - // -- output -- - 'a = [b, c\n' + - ' , function() {}\n' + - ' , function() {}\n' + - ' , d\n' + - ']'); - bt('a=[a[1],b[4],c[d[7]]]', 'a = [a[1], b[4], c[d[7]]]'); - bt('[1,2,[3,4,[5,6],7],8]', '[1, 2, [3, 4, [5, 6], 7], 8]'); - bt( - '[[["1","2"],["3","4"]],[["5","6","7"],["8","9","0"]],[["1","2","3"],["4","5","6","7"],["8","9","0"]]]', - // -- output -- - '[\n' + - ' [\n' + - ' ["1", "2"]\n' + - ' , ["3", "4"]\n' + - ' ]\n' + - ' , [\n' + - ' ["5", "6", "7"]\n' + - ' , ["8", "9", "0"]\n' + - ' ]\n' + - ' , [\n' + - ' ["1", "2", "3"]\n' + - ' , ["4", "5", "6", "7"]\n' + - ' , ["8", "9", "0"]\n' + - ' ]\n' + - ']'); - bt( - 'changeCollection.add({\n' + - ' name: "Jonathan" // New line inserted after this line on every save\n' + - ' , age: 25\n' + - '});'); - bt( - 'changeCollection.add(\n' + - ' function() {\n' + - ' return true;\n' + - ' },\n' + - ' function() {\n' + - ' return true;\n' + - ' }\n' + - ');', - // -- output -- - 'changeCollection.add(\n' + - ' function() {\n' + - ' return true;\n' + - ' }\n' + - ' , function() {\n' + - ' return true;\n' + - ' }\n' + - ');'); - - - //============================================================ - // Space in parens tests - (s = "", e = "") - reset_options(); - opts.space_in_paren = false; - opts.space_in_empty_paren = false; - bt('if(p) foo(a,b);', 'if (p) foo(a, b);'); - bt( - 'try{while(true){willThrow()}}catch(result)switch(result){case 1:++result }', - // -- output -- - 'try {\n' + - ' while (true) {\n' + - ' willThrow()\n' + - ' }\n' + - '} catch (result) switch (result) {\n' + - ' case 1:\n' + - ' ++result\n' + - '}'); - bt('((e/((a+(b)*c)-d))^2)*5;', '((e / ((a + (b) * c) - d)) ^ 2) * 5;'); - bt( - 'function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - // -- output -- - 'function f(a, b) {\n' + - ' if (a) b()\n' + - '}\n' + - '\n' + - 'function g(a, b) {\n' + - ' if (!a) b()\n' + - '}'); - bt('a=[];', 'a = [];'); - bt('a=[b,c,d];', 'a = [b, c, d];'); - bt('a= f[b];', 'a = f[b];'); - bt( - '{\n' + - ' files: [ {\n' + - ' expand: true,\n' + - ' cwd: "www/gui/",\n' + - ' src: [ "im/design_standards/*.*" ],\n' + - ' dest: "www/gui/build"\n' + - ' } ]\n' + - '}', - // -- output -- - '{\n' + - ' files: [{\n' + - ' expand: true,\n' + - ' cwd: "www/gui/",\n' + - ' src: ["im/design_standards/*.*"],\n' + - ' dest: "www/gui/build"\n' + - ' }]\n' + - '}'); - - // Space in parens tests - (s = "", e = "") - reset_options(); - opts.space_in_paren = false; - opts.space_in_empty_paren = true; - bt('if(p) foo(a,b);', 'if (p) foo(a, b);'); - bt( - 'try{while(true){willThrow()}}catch(result)switch(result){case 1:++result }', - // -- output -- - 'try {\n' + - ' while (true) {\n' + - ' willThrow()\n' + - ' }\n' + - '} catch (result) switch (result) {\n' + - ' case 1:\n' + - ' ++result\n' + - '}'); - bt('((e/((a+(b)*c)-d))^2)*5;', '((e / ((a + (b) * c) - d)) ^ 2) * 5;'); - bt( - 'function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - // -- output -- - 'function f(a, b) {\n' + - ' if (a) b()\n' + - '}\n' + - '\n' + - 'function g(a, b) {\n' + - ' if (!a) b()\n' + - '}'); - bt('a=[];', 'a = [];'); - bt('a=[b,c,d];', 'a = [b, c, d];'); - bt('a= f[b];', 'a = f[b];'); - bt( - '{\n' + - ' files: [ {\n' + - ' expand: true,\n' + - ' cwd: "www/gui/",\n' + - ' src: [ "im/design_standards/*.*" ],\n' + - ' dest: "www/gui/build"\n' + - ' } ]\n' + - '}', - // -- output -- - '{\n' + - ' files: [{\n' + - ' expand: true,\n' + - ' cwd: "www/gui/",\n' + - ' src: ["im/design_standards/*.*"],\n' + - ' dest: "www/gui/build"\n' + - ' }]\n' + - '}'); - - // Space in parens tests - (s = " ", e = "") - reset_options(); - opts.space_in_paren = true; - opts.space_in_empty_paren = false; - bt('if(p) foo(a,b);', 'if ( p ) foo( a, b );'); - bt( - 'try{while(true){willThrow()}}catch(result)switch(result){case 1:++result }', - // -- output -- - 'try {\n' + - ' while ( true ) {\n' + - ' willThrow()\n' + - ' }\n' + - '} catch ( result ) switch ( result ) {\n' + - ' case 1:\n' + - ' ++result\n' + - '}'); - bt('((e/((a+(b)*c)-d))^2)*5;', '( ( e / ( ( a + ( b ) * c ) - d ) ) ^ 2 ) * 5;'); - bt( - 'function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - // -- output -- - 'function f( a, b ) {\n' + - ' if ( a ) b()\n' + - '}\n' + - '\n' + - 'function g( a, b ) {\n' + - ' if ( !a ) b()\n' + - '}'); - bt('a=[];', 'a = [];'); - bt('a=[b,c,d];', 'a = [ b, c, d ];'); - bt('a= f[b];', 'a = f[ b ];'); - bt( - '{\n' + - ' files: [ {\n' + - ' expand: true,\n' + - ' cwd: "www/gui/",\n' + - ' src: [ "im/design_standards/*.*" ],\n' + - ' dest: "www/gui/build"\n' + - ' } ]\n' + - '}'); - - // Space in parens tests - (s = " ", e = " ") - reset_options(); - opts.space_in_paren = true; - opts.space_in_empty_paren = true; - bt('if(p) foo(a,b);', 'if ( p ) foo( a, b );'); - bt( - 'try{while(true){willThrow()}}catch(result)switch(result){case 1:++result }', - // -- output -- - 'try {\n' + - ' while ( true ) {\n' + - ' willThrow( )\n' + - ' }\n' + - '} catch ( result ) switch ( result ) {\n' + - ' case 1:\n' + - ' ++result\n' + - '}'); - bt('((e/((a+(b)*c)-d))^2)*5;', '( ( e / ( ( a + ( b ) * c ) - d ) ) ^ 2 ) * 5;'); - bt( - 'function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - // -- output -- - 'function f( a, b ) {\n' + - ' if ( a ) b( )\n' + - '}\n' + - '\n' + - 'function g( a, b ) {\n' + - ' if ( !a ) b( )\n' + - '}'); - bt('a=[];', 'a = [ ];'); - bt('a=[b,c,d];', 'a = [ b, c, d ];'); - bt('a= f[b];', 'a = f[ b ];'); - bt( - '{\n' + - ' files: [ {\n' + - ' expand: true,\n' + - ' cwd: "www/gui/",\n' + - ' src: [ "im/design_standards/*.*" ],\n' + - ' dest: "www/gui/build"\n' + - ' } ]\n' + - '}'); - - - //============================================================ - // operator_position option - ensure no neswlines if preserve_newlines is false - () - reset_options(); - opts.operator_position = 'before-newline'; - opts.preserve_newlines = false; - bt( - 'var res = a + b - c / d * e % f;\n' + - 'var res = g & h | i ^ j;\n' + - 'var res = (k && l || m) ? n : o;\n' + - 'var res = p >> q << r >>> s;\n' + - 'var res = t === u !== v != w == x >= y <= z > aa < ab;\n' + - 'ac + -ad'); - bt( - 'var res = a + b\n' + - '- c /\n' + - 'd * e\n' + - '%\n' + - 'f;\n' + - ' var res = g & h\n' + - '| i ^\n' + - 'j;\n' + - 'var res = (k &&\n' + - 'l\n' + - '|| m) ?\n' + - 'n\n' + - ': o\n' + - ';\n' + - 'var res = p\n' + - '>> q <<\n' + - 'r\n' + - '>>> s;\n' + - 'var res\n' + - ' = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - 'w\n' + - '== x >=\n' + - 'y <= z > aa <\n' + - 'ab;\n' + - 'ac +\n' + - '-ad', - // -- output -- - 'var res = a + b - c / d * e % f;\n' + - 'var res = g & h | i ^ j;\n' + - 'var res = (k && l || m) ? n : o;\n' + - 'var res = p >> q << r >>> s;\n' + - 'var res = t === u !== v != w == x >= y <= z > aa < ab;\n' + - 'ac + -ad'); - - // operator_position option - ensure no neswlines if preserve_newlines is false - () - reset_options(); - opts.operator_position = 'after-newline'; - opts.preserve_newlines = false; - bt( - 'var res = a + b - c / d * e % f;\n' + - 'var res = g & h | i ^ j;\n' + - 'var res = (k && l || m) ? n : o;\n' + - 'var res = p >> q << r >>> s;\n' + - 'var res = t === u !== v != w == x >= y <= z > aa < ab;\n' + - 'ac + -ad'); - bt( - 'var res = a + b\n' + - '- c /\n' + - 'd * e\n' + - '%\n' + - 'f;\n' + - ' var res = g & h\n' + - '| i ^\n' + - 'j;\n' + - 'var res = (k &&\n' + - 'l\n' + - '|| m) ?\n' + - 'n\n' + - ': o\n' + - ';\n' + - 'var res = p\n' + - '>> q <<\n' + - 'r\n' + - '>>> s;\n' + - 'var res\n' + - ' = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - 'w\n' + - '== x >=\n' + - 'y <= z > aa <\n' + - 'ab;\n' + - 'ac +\n' + - '-ad', - // -- output -- - 'var res = a + b - c / d * e % f;\n' + - 'var res = g & h | i ^ j;\n' + - 'var res = (k && l || m) ? n : o;\n' + - 'var res = p >> q << r >>> s;\n' + - 'var res = t === u !== v != w == x >= y <= z > aa < ab;\n' + - 'ac + -ad'); - - // operator_position option - ensure no neswlines if preserve_newlines is false - () - reset_options(); - opts.operator_position = 'preserve-newline'; - opts.preserve_newlines = false; - bt( - 'var res = a + b - c / d * e % f;\n' + - 'var res = g & h | i ^ j;\n' + - 'var res = (k && l || m) ? n : o;\n' + - 'var res = p >> q << r >>> s;\n' + - 'var res = t === u !== v != w == x >= y <= z > aa < ab;\n' + - 'ac + -ad'); - bt( - 'var res = a + b\n' + - '- c /\n' + - 'd * e\n' + - '%\n' + - 'f;\n' + - ' var res = g & h\n' + - '| i ^\n' + - 'j;\n' + - 'var res = (k &&\n' + - 'l\n' + - '|| m) ?\n' + - 'n\n' + - ': o\n' + - ';\n' + - 'var res = p\n' + - '>> q <<\n' + - 'r\n' + - '>>> s;\n' + - 'var res\n' + - ' = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - 'w\n' + - '== x >=\n' + - 'y <= z > aa <\n' + - 'ab;\n' + - 'ac +\n' + - '-ad', - // -- output -- - 'var res = a + b - c / d * e % f;\n' + - 'var res = g & h | i ^ j;\n' + - 'var res = (k && l || m) ? n : o;\n' + - 'var res = p >> q << r >>> s;\n' + - 'var res = t === u !== v != w == x >= y <= z > aa < ab;\n' + - 'ac + -ad'); - - - //============================================================ - // operator_position option - set to 'before-newline' (default value) - reset_options(); - - // comprehensive, various newlines - bt( - 'var res = a + b\n' + - '- c /\n' + - 'd * e\n' + - '%\n' + - 'f;\n' + - ' var res = g & h\n' + - '| i ^\n' + - 'j;\n' + - 'var res = (k &&\n' + - 'l\n' + - '|| m) ?\n' + - 'n\n' + - ': o\n' + - ';\n' + - 'var res = p\n' + - '>> q <<\n' + - 'r\n' + - '>>> s;\n' + - 'var res\n' + - ' = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - 'w\n' + - '== x >=\n' + - 'y <= z > aa <\n' + - 'ab;\n' + - 'ac +\n' + - '-ad', - // -- output -- - 'var res = a + b -\n' + - ' c /\n' + - ' d * e %\n' + - ' f;\n' + - 'var res = g & h |\n' + - ' i ^\n' + - ' j;\n' + - 'var res = (k &&\n' + - ' l ||\n' + - ' m) ?\n' + - ' n :\n' + - ' o;\n' + - 'var res = p >>\n' + - ' q <<\n' + - ' r >>>\n' + - ' s;\n' + - 'var res = t\n' + - '\n' + - ' ===\n' + - ' u !== v !=\n' + - ' w ==\n' + - ' x >=\n' + - ' y <= z > aa <\n' + - ' ab;\n' + - 'ac +\n' + - ' -ad'); - - // colon special case - bt( - 'var a = {\n' + - ' b\n' + - ': bval,\n' + - ' c:\n' + - 'cval\n' + - ' ,d: dval\n' + - '};\n' + - 'var e = f ? g\n' + - ': h;\n' + - 'var i = j ? k :\n' + - 'l;', - // -- output -- - 'var a = {\n' + - ' b: bval,\n' + - ' c: cval,\n' + - ' d: dval\n' + - '};\n' + - 'var e = f ? g :\n' + - ' h;\n' + - 'var i = j ? k :\n' + - ' l;'); - - // catch-all, includes brackets and other various code - bt( - 'var d = 1;\n' + - 'if (a === b\n' + - ' && c) {\n' + - ' d = (c * everything\n' + - ' / something_else) %\n' + - ' b;\n' + - ' e\n' + - ' += d;\n' + - '\n' + - '} else if (!(complex && simple) ||\n' + - ' (emotion && emotion.name === "happy")) {\n' + - ' cryTearsOfJoy(many ||\n' + - ' anOcean\n' + - ' || aRiver);\n' + - '}', - // -- output -- - 'var d = 1;\n' + - 'if (a === b &&\n' + - ' c) {\n' + - ' d = (c * everything /\n' + - ' something_else) %\n' + - ' b;\n' + - ' e\n' + - ' += d;\n' + - '\n' + - '} else if (!(complex && simple) ||\n' + - ' (emotion && emotion.name === "happy")) {\n' + - ' cryTearsOfJoy(many ||\n' + - ' anOcean ||\n' + - ' aRiver);\n' + - '}'); - - - //============================================================ - // operator_position option - set to 'after_newline' - reset_options(); - opts.operator_position = 'after-newline'; - - // comprehensive, various newlines - bt( - 'var res = a + b\n' + - '- c /\n' + - 'd * e\n' + - '%\n' + - 'f;\n' + - ' var res = g & h\n' + - '| i ^\n' + - 'j;\n' + - 'var res = (k &&\n' + - 'l\n' + - '|| m) ?\n' + - 'n\n' + - ': o\n' + - ';\n' + - 'var res = p\n' + - '>> q <<\n' + - 'r\n' + - '>>> s;\n' + - 'var res\n' + - ' = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - 'w\n' + - '== x >=\n' + - 'y <= z > aa <\n' + - 'ab;\n' + - 'ac +\n' + - '-ad', - // -- output -- - 'var res = a + b\n' + - ' - c\n' + - ' / d * e\n' + - ' % f;\n' + - 'var res = g & h\n' + - ' | i\n' + - ' ^ j;\n' + - 'var res = (k\n' + - ' && l\n' + - ' || m)\n' + - ' ? n\n' + - ' : o;\n' + - 'var res = p\n' + - ' >> q\n' + - ' << r\n' + - ' >>> s;\n' + - 'var res = t\n' + - '\n' + - ' === u !== v\n' + - ' != w\n' + - ' == x\n' + - ' >= y <= z > aa\n' + - ' < ab;\n' + - 'ac\n' + - ' + -ad'); - - // colon special case - bt( - 'var a = {\n' + - ' b\n' + - ': bval,\n' + - ' c:\n' + - 'cval\n' + - ' ,d: dval\n' + - '};\n' + - 'var e = f ? g\n' + - ': h;\n' + - 'var i = j ? k :\n' + - 'l;', - // -- output -- - 'var a = {\n' + - ' b: bval,\n' + - ' c: cval,\n' + - ' d: dval\n' + - '};\n' + - 'var e = f ? g\n' + - ' : h;\n' + - 'var i = j ? k\n' + - ' : l;'); - - // catch-all, includes brackets and other various code - bt( - 'var d = 1;\n' + - 'if (a === b\n' + - ' && c) {\n' + - ' d = (c * everything\n' + - ' / something_else) %\n' + - ' b;\n' + - ' e\n' + - ' += d;\n' + - '\n' + - '} else if (!(complex && simple) ||\n' + - ' (emotion && emotion.name === "happy")) {\n' + - ' cryTearsOfJoy(many ||\n' + - ' anOcean\n' + - ' || aRiver);\n' + - '}', - // -- output -- - 'var d = 1;\n' + - 'if (a === b\n' + - ' && c) {\n' + - ' d = (c * everything\n' + - ' / something_else)\n' + - ' % b;\n' + - ' e\n' + - ' += d;\n' + - '\n' + - '} else if (!(complex && simple)\n' + - ' || (emotion && emotion.name === "happy")) {\n' + - ' cryTearsOfJoy(many\n' + - ' || anOcean\n' + - ' || aRiver);\n' + - '}'); - - - //============================================================ - // operator_position option - set to 'preserve-newline' - reset_options(); - opts.operator_position = 'preserve-newline'; - - // comprehensive, various newlines - bt( - 'var res = a + b\n' + - '- c /\n' + - 'd * e\n' + - '%\n' + - 'f;\n' + - ' var res = g & h\n' + - '| i ^\n' + - 'j;\n' + - 'var res = (k &&\n' + - 'l\n' + - '|| m) ?\n' + - 'n\n' + - ': o\n' + - ';\n' + - 'var res = p\n' + - '>> q <<\n' + - 'r\n' + - '>>> s;\n' + - 'var res\n' + - ' = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - 'w\n' + - '== x >=\n' + - 'y <= z > aa <\n' + - 'ab;\n' + - 'ac +\n' + - '-ad', - // -- output -- - 'var res = a + b\n' + - ' - c /\n' + - ' d * e\n' + - ' %\n' + - ' f;\n' + - 'var res = g & h\n' + - ' | i ^\n' + - ' j;\n' + - 'var res = (k &&\n' + - ' l\n' + - ' || m) ?\n' + - ' n\n' + - ' : o;\n' + - 'var res = p\n' + - ' >> q <<\n' + - ' r\n' + - ' >>> s;\n' + - 'var res = t\n' + - '\n' + - ' === u !== v\n' + - ' !=\n' + - ' w\n' + - ' == x >=\n' + - ' y <= z > aa <\n' + - ' ab;\n' + - 'ac +\n' + - ' -ad'); - - // colon special case - bt( - 'var a = {\n' + - ' b\n' + - ': bval,\n' + - ' c:\n' + - 'cval\n' + - ' ,d: dval\n' + - '};\n' + - 'var e = f ? g\n' + - ': h;\n' + - 'var i = j ? k :\n' + - 'l;', - // -- output -- - 'var a = {\n' + - ' b: bval,\n' + - ' c: cval,\n' + - ' d: dval\n' + - '};\n' + - 'var e = f ? g\n' + - ' : h;\n' + - 'var i = j ? k :\n' + - ' l;'); - - // catch-all, includes brackets and other various code - bt( - 'var d = 1;\n' + - 'if (a === b\n' + - ' && c) {\n' + - ' d = (c * everything\n' + - ' / something_else) %\n' + - ' b;\n' + - ' e\n' + - ' += d;\n' + - '\n' + - '} else if (!(complex && simple) ||\n' + - ' (emotion && emotion.name === "happy")) {\n' + - ' cryTearsOfJoy(many ||\n' + - ' anOcean\n' + - ' || aRiver);\n' + - '}'); - - - //============================================================ - // Yield tests - reset_options(); - bt('yield /foo\\//;'); - bt('result = yield pgClient.query_(queryString);'); - bt('yield [1, 2]'); - bt('yield* bar();'); - - // yield should have no space between yield and star - bt('yield * bar();', 'yield* bar();'); - - // yield should have space between star and generator - bt('yield *bar();', 'yield* bar();'); - - - //============================================================ - // Async / await tests - reset_options(); - bt('async function foo() {}'); - bt('let w = async function foo() {}'); - bt( - 'async function foo() {}\n' + - 'var x = await foo();'); - - // async function as an input to another function - bt('wrapper(async function foo() {})'); - - // await on inline anonymous function. should have a space after await - bt( - 'async function() {\n' + - ' var w = await(async function() {\n' + - ' return await foo();\n' + - ' })();\n' + - '}', - // -- output -- - 'async function() {\n' + - ' var w = await (async function() {\n' + - ' return await foo();\n' + - ' })();\n' + - '}'); - - // ensure that this doesn't break anyone with the async library - bt('async.map(function(t) {})'); - - - //============================================================ - // e4x - Test that e4x literals passed through when e4x-option is enabled - reset_options(); - opts.e4x = true; - bt( - 'xml=\n' + - ' foox;', - // -- output -- - 'xml = \n' + - ' foox;'); - bt(''); - bt(''); - bt(''); - bt(''); - bt(''); - - // Handles inline expressions - bt( - 'xml=<{a} b="c">\n' + - ' foox;', - // -- output -- - 'xml = <{a} b="c">\n' + - ' foox;'); - bt( - 'xml=<{a} b="c">\n' + - ' \n' + - ' foox;', - // -- output -- - 'xml = <{a} b="c">\n' + - ' \n' + - ' foox;'); - - // xml literals with special characters in elem names - see http://www.w3.org/TR/REC-xml/#NT-NameChar - bt('xml = <_:.valid.xml- _:.valid.xml-="123"/>;'); - - // xml literals with attributes without equal sign - bt('xml = ;'); - - // Handles CDATA - bt( - 'xml=\n' + - ' foox/]]>;', - // -- output -- - 'xml = \n' + - ' foox/]]>;'); - bt('xml=;', 'xml = ;'); - bt('xml=;', 'xml = ;'); - - // JSX - working jsx from http://prettydiff.com/unit_tests/beautification_javascript_jsx.txt - bt( - 'var ListItem = React.createClass({\n' + - ' render: function() {\n' + - ' return (\n' + - '
  • \n' + - ' \n' + - ' this.props.item.name\n' + - ' \n' + - '
  • \n' + - ' );\n' + - ' }\n' + - '});'); - bt( - 'var List = React.createClass({\n' + - ' renderList: function() {\n' + - ' return this.props.items.map(function(item) {\n' + - ' return ;\n' + - ' });\n' + - ' },\n' + - '\n' + - ' render: function() {\n' + - ' return
      \n' + - ' this.renderList()\n' + - '
    \n' + - ' }\n' + - '});'); - bt( - 'var Mist = React.createClass({\n' + - ' renderList: function() {\n' + - ' return this.props.items.map(function(item) {\n' + - ' return {item}} key={item.id} />;\n' + - ' });\n' + - ' }\n' + - '});'); - bt( - '// JSX\n' + - 'var box = \n' + - ' {shouldShowAnswer(user) ?\n' + - ' no : \n' + - ' Text Content\n' + - ' }\n' + - ' ;\n' + - 'var a = function() {\n' + - ' return asdf;\n' + - '};\n' + - '\n' + - 'var HelloMessage = React.createClass({\n' + - ' render: function() {\n' + - ' return
    Hello {this.props.name}
    ;\n' + - ' }\n' + - '});\n' + - 'React.render(, mountNode);'); - bt( - 'var Timer = React.createClass({\n' + - ' getInitialState: function() {\n' + - ' return {\n' + - ' secondsElapsed: 0\n' + - ' };\n' + - ' },\n' + - ' tick: function() {\n' + - ' this.setState({\n' + - ' secondsElapsed: this.state.secondsElapsed + 1\n' + - ' });\n' + - ' },\n' + - ' componentDidMount: function() {\n' + - ' this.interval = setInterval(this.tick, 1000);\n' + - ' },\n' + - ' componentWillUnmount: function() {\n' + - ' clearInterval(this.interval);\n' + - ' },\n' + - ' render: function() {\n' + - ' return (\n' + - '
    Seconds Elapsed: {this.state.secondsElapsed}
    \n' + - ' );\n' + - ' }\n' + - '});\n' + - 'React.render(, mountNode);'); - bt( - 'var TodoList = React.createClass({\n' + - ' render: function() {\n' + - ' var createItem = function(itemText) {\n' + - ' return
  • {itemText}
  • ;\n' + - ' };\n' + - ' return
      {this.props.items.map(createItem)}
    ;\n' + - ' }\n' + - '});'); - bt( - 'var TodoApp = React.createClass({\n' + - ' getInitialState: function() {\n' + - ' return {\n' + - ' items: [],\n' + - ' text: \'\'\n' + - ' };\n' + - ' },\n' + - ' onChange: function(e) {\n' + - ' this.setState({\n' + - ' text: e.target.value\n' + - ' });\n' + - ' },\n' + - ' handleSubmit: function(e) {\n' + - ' e.preventDefault();\n' + - ' var nextItems = this.state.items.concat([this.state.text]);\n' + - ' var nextText = \'\';\n' + - ' this.setState({\n' + - ' items: nextItems,\n' + - ' text: nextText\n' + - ' });\n' + - ' },\n' + - ' render: function() {\n' + - ' return (\n' + - '
    \n' + - '

    TODO

    \n' + - ' \n' + - '
    \n' + - ' \n' + - ' \n' + - '
    \n' + - '
    \n' + - ' );\n' + - ' }\n' + - '});\n' + - 'React.render(, mountNode);'); - bt( - 'var converter = new Showdown.converter();\n' + - 'var MarkdownEditor = React.createClass({\n' + - ' getInitialState: function() {\n' + - ' return {value: \'Type some *markdown* here!\'};\n' + - ' },\n' + - ' handleChange: function() {\n' + - ' this.setState({value: this.refs.textarea.getDOMNode().value});\n' + - ' },\n' + - ' render: function() {\n' + - ' return (\n' + - '
    \n' + - '

    Input

    \n' + - ' \n' + - '

    Output

    \n' + - ' \n' + - '
    \n' + - ' );\n' + - ' }\n' + - '});\n' + - 'React.render(, mountNode);', - // -- output -- - 'var converter = new Showdown.converter();\n' + - 'var MarkdownEditor = React.createClass({\n' + - ' getInitialState: function() {\n' + - ' return {\n' + - ' value: \'Type some *markdown* here!\'\n' + - ' };\n' + - ' },\n' + - ' handleChange: function() {\n' + - ' this.setState({\n' + - ' value: this.refs.textarea.getDOMNode().value\n' + - ' });\n' + - ' },\n' + - ' render: function() {\n' + - ' return (\n' + - '
    \n' + - '

    Input

    \n' + - ' \n' + - '

    Output

    \n' + - ' \n' + - '
    \n' + - ' );\n' + - ' }\n' + - '});\n' + - 'React.render(, mountNode);'); - - // JSX - Not quite correct jsx formatting that still works - bt( - 'var content = (\n' + - ' \n' + - ' );\n' + - 'var qwer = A dropdown list Do Something Do Something Fun! Do Something Else ;\n' + - 'render(dropdown);', - // -- output -- - 'var content = (\n' + - ' \n' + - ');\n' + - 'var qwer = A dropdown list Do Something Do Something Fun! Do Something Else ;\n' + - 'render(dropdown);'); - - // Handles messed up tags, as long as it isn't the same name - // as the root tag. Also handles tags of same name as root tag - // as long as nesting matches. - bt( - 'xml=;', - // -- output -- - 'xml = ;'); - - // If xml is not terminated, the remainder of the file is treated - // as part of the xml-literal (passed through unaltered) - test_fragment( - 'xml=\n' + - 'c\n' + - 'c\n' + - ' c\n' + - '

    \n' + - ' );\n' + - ' }\n' + - '});'); - bt( - 'let a = React.createClass({\n' + - ' render() {\n' + - ' return (\n' + - '

    \n' + - ' c\n' + - '

    \n' + - ' );\n' + - ' }\n' + - '});'); - bt( - 'let a = React.createClass({\n' + - ' render() {\n' + - ' return (\n' + - '

    \n' + - ' c\n' + - '

    \n' + - ' );\n' + - ' }\n' + - '});'); - bt( - 'let a = React.createClass({\n' + - ' render() {\n' + - ' return (\n' + - ' <{e} className = {d}>\n' + - ' c\n' + - ' \n' + - ' );\n' + - ' }\n' + - '});'); - - // Issue #914 - Multiline attribute in root tag - bt( - 'return (\n' + - '
    {\n' + - ' e.preventDefault()\n' + - ' onClick()\n' + - ' }}>\n' + - ' {children}\n' + - ' \n' + - ');'); - bt( - 'return (\n' + - ' <{\n' + - ' a + b\n' + - ' } href="#"\n' + - ' onClick={e => {\n' + - ' e.preventDefault()\n' + - ' onClick()\n' + - ' }}>\n' + - ' {children}\n' + - ' \n' + - ');'); - bt( - 'return (\n' + - ' <{\n' + - ' a + b\n' + - ' } href="#"\n' + - ' onClick={e => {\n' + - ' e.preventDefault()\n' + - ' onClick()\n' + - ' }}>\n' + - ' {children}\n' + - ' \n' + - ' );', - // -- output -- - 'return (\n' + - ' <{\n' + - ' a + b\n' + - ' } href="#"\n' + - ' onClick={e => {\n' + - ' e.preventDefault()\n' + - ' onClick()\n' + - ' }}>\n' + - ' {children}\n' + - ' \n' + - ');'); - - - //============================================================ - // e4x disabled - reset_options(); - opts.e4x = false; - bt( - 'xml=\n' + - ' foox;', - // -- output -- - 'xml = < a b = "c" > < d / > < e >\n' + - ' foo < /e>x ;'); - - - //============================================================ - // Multiple braces - reset_options(); - bt( - '{{}/z/}', - // -- output -- - '{\n' + - ' {}\n' + - ' /z/\n' + - '}'); - - - //============================================================ - // Beautify preserve formatting - reset_options(); - bt( - '/* beautify preserve:start */\n' + - '/* beautify preserve:end */'); - bt( - '/* beautify preserve:start */\n' + - ' var a = 1;\n' + - '/* beautify preserve:end */'); - bt( - 'var a = 1;\n' + - '/* beautify preserve:start */\n' + - ' var a = 1;\n' + - '/* beautify preserve:end */'); - bt('/* beautify preserve:start */ {asdklgh;y;;{}dd2d}/* beautify preserve:end */'); - bt( - 'var a = 1;\n' + - '/* beautify preserve:start */\n' + - ' var a = 1;\n' + - '/* beautify preserve:end */', - // -- output -- - 'var a = 1;\n' + - '/* beautify preserve:start */\n' + - ' var a = 1;\n' + - '/* beautify preserve:end */'); - bt( - 'var a = 1;\n' + - ' /* beautify preserve:start */\n' + - ' var a = 1;\n' + - '/* beautify preserve:end */', - // -- output -- - 'var a = 1;\n' + - '/* beautify preserve:start */\n' + - ' var a = 1;\n' + - '/* beautify preserve:end */'); - bt( - 'var a = {\n' + - ' /* beautify preserve:start */\n' + - ' one : 1\n' + - ' two : 2,\n' + - ' three : 3,\n' + - ' ten : 10\n' + - ' /* beautify preserve:end */\n' + - '};'); - bt( - 'var a = {\n' + - '/* beautify preserve:start */\n' + - ' one : 1,\n' + - ' two : 2,\n' + - ' three : 3,\n' + - ' ten : 10\n' + - '/* beautify preserve:end */\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify preserve:start */\n' + - ' one : 1,\n' + - ' two : 2,\n' + - ' three : 3,\n' + - ' ten : 10\n' + - '/* beautify preserve:end */\n' + - '};'); - - // one space before and after required, only single spaces inside. - bt( - 'var a = {\n' + - '/* beautify preserve:start */\n' + - ' one : 1,\n' + - ' two : 2,\n' + - ' three : 3,\n' + - ' ten : 10\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify preserve:start */\n' + - ' one: 1,\n' + - ' two: 2,\n' + - ' three: 3,\n' + - ' ten: 10\n' + - '};'); - bt( - 'var a = {\n' + - '/*beautify preserve:start*/\n' + - ' one : 1,\n' + - ' two : 2,\n' + - ' three : 3,\n' + - ' ten : 10\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /*beautify preserve:start*/\n' + - ' one: 1,\n' + - ' two: 2,\n' + - ' three: 3,\n' + - ' ten: 10\n' + - '};'); - bt( - 'var a = {\n' + - '/*beautify preserve:start*/\n' + - ' one : 1,\n' + - ' two : 2,\n' + - ' three : 3,\n' + - ' ten : 10\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /*beautify preserve:start*/\n' + - ' one: 1,\n' + - ' two: 2,\n' + - ' three: 3,\n' + - ' ten: 10\n' + - '};'); - - // Directive: ignore - bt( - '/* beautify ignore:start */\n' + - '/* beautify ignore:end */'); - bt( - '/* beautify ignore:start */\n' + - ' var a,,,{ 1;\n' + - '/* beautify ignore:end */'); - bt( - 'var a = 1;\n' + - '/* beautify ignore:start */\n' + - ' var a = 1;\n' + - '/* beautify ignore:end */'); - bt('/* beautify ignore:start */ {asdklgh;y;+++;dd2d}/* beautify ignore:end */'); - bt( - 'var a = 1;\n' + - '/* beautify ignore:start */\n' + - ' var a,,,{ 1;\n' + - '/* beautify ignore:end */', - // -- output -- - 'var a = 1;\n' + - '/* beautify ignore:start */\n' + - ' var a,,,{ 1;\n' + - '/* beautify ignore:end */'); - bt( - 'var a = 1;\n' + - ' /* beautify ignore:start */\n' + - ' var a,,,{ 1;\n' + - '/* beautify ignore:end */', - // -- output -- - 'var a = 1;\n' + - '/* beautify ignore:start */\n' + - ' var a,,,{ 1;\n' + - '/* beautify ignore:end */'); - bt( - 'var a = {\n' + - ' /* beautify ignore:start */\n' + - ' one : 1\n' + - ' two : 2,\n' + - ' three : {\n' + - ' ten : 10\n' + - ' /* beautify ignore:end */\n' + - '};'); - bt( - 'var a = {\n' + - '/* beautify ignore:start */\n' + - ' one : 1\n' + - ' two : 2,\n' + - ' three : {\n' + - ' ten : 10\n' + - '/* beautify ignore:end */\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify ignore:start */\n' + - ' one : 1\n' + - ' two : 2,\n' + - ' three : {\n' + - ' ten : 10\n' + - '/* beautify ignore:end */\n' + - '};'); - - // Directives - multiple and interacting - bt( - 'var a = {\n' + - '/* beautify preserve:start */\n' + - '/* beautify preserve:start */\n' + - ' one : 1,\n' + - ' /* beautify preserve:end */\n' + - ' two : 2,\n' + - ' three : 3,\n' + - '/* beautify preserve:start */\n' + - ' ten : 10\n' + - '/* beautify preserve:end */\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify preserve:start */\n' + - '/* beautify preserve:start */\n' + - ' one : 1,\n' + - ' /* beautify preserve:end */\n' + - ' two: 2,\n' + - ' three: 3,\n' + - ' /* beautify preserve:start */\n' + - ' ten : 10\n' + - '/* beautify preserve:end */\n' + - '};'); - bt( - 'var a = {\n' + - '/* beautify ignore:start */\n' + - ' one : 1\n' + - ' /* beautify ignore:end */\n' + - ' two : 2,\n' + - '/* beautify ignore:start */\n' + - ' three : {\n' + - ' ten : 10\n' + - '/* beautify ignore:end */\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify ignore:start */\n' + - ' one : 1\n' + - ' /* beautify ignore:end */\n' + - ' two: 2,\n' + - ' /* beautify ignore:start */\n' + - ' three : {\n' + - ' ten : 10\n' + - '/* beautify ignore:end */\n' + - '};'); - - // Starts can occur together, ignore:end must occur alone. - bt( - 'var a = {\n' + - '/* beautify ignore:start */\n' + - ' one : 1\n' + - ' NOTE: ignore end block does not support starting other directives\n' + - ' This does not match the ending the ignore...\n' + - ' /* beautify ignore:end preserve:start */\n' + - ' two : 2,\n' + - '/* beautify ignore:start */\n' + - ' three : {\n' + - ' ten : 10\n' + - ' ==The next comment ends the starting ignore==\n' + - '/* beautify ignore:end */\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify ignore:start */\n' + - ' one : 1\n' + - ' NOTE: ignore end block does not support starting other directives\n' + - ' This does not match the ending the ignore...\n' + - ' /* beautify ignore:end preserve:start */\n' + - ' two : 2,\n' + - '/* beautify ignore:start */\n' + - ' three : {\n' + - ' ten : 10\n' + - ' ==The next comment ends the starting ignore==\n' + - '/* beautify ignore:end */\n' + - '};'); - bt( - 'var a = {\n' + - '/* beautify ignore:start preserve:start */\n' + - ' one : {\n' + - ' /* beautify ignore:end */\n' + - ' two : 2,\n' + - ' /* beautify ignore:start */\n' + - ' three : {\n' + - '/* beautify ignore:end */\n' + - ' ten : 10\n' + - ' // This is all preserved\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify ignore:start preserve:start */\n' + - ' one : {\n' + - ' /* beautify ignore:end */\n' + - ' two : 2,\n' + - ' /* beautify ignore:start */\n' + - ' three : {\n' + - '/* beautify ignore:end */\n' + - ' ten : 10\n' + - ' // This is all preserved\n' + - '};'); - bt( - 'var a = {\n' + - '/* beautify ignore:start preserve:start */\n' + - ' one : {\n' + - ' /* beautify ignore:end */\n' + - ' two : 2,\n' + - ' /* beautify ignore:start */\n' + - ' three : {\n' + - '/* beautify ignore:end */\n' + - ' ten : 10,\n' + - '/* beautify preserve:end */\n' + - ' eleven: 11\n' + - '};', - // -- output -- - 'var a = {\n' + - ' /* beautify ignore:start preserve:start */\n' + - ' one : {\n' + - ' /* beautify ignore:end */\n' + - ' two : 2,\n' + - ' /* beautify ignore:start */\n' + - ' three : {\n' + - '/* beautify ignore:end */\n' + - ' ten : 10,\n' + - '/* beautify preserve:end */\n' + - ' eleven: 11\n' + - '};'); - - - //============================================================ - // Comments and tests - reset_options(); - - // #913 - bt( - 'class test {\n' + - ' method1() {\n' + - ' let resp = null;\n' + - ' }\n' + - ' /**\n' + - ' * @param {String} id\n' + - ' */\n' + - ' method2(id) {\n' + - ' let resp2 = null;\n' + - ' }\n' + - '}'); - - // #1090 - bt( - 'for (var i = 0; i < 20; ++i) // loop\n' + - ' if (i % 3) {\n' + - ' console.log(i);\n' + - ' }\n' + - 'console.log("done");'); - - // #1043 - bt( - 'var o = {\n' + - ' k: 0\n' + - '}\n' + - '// ...\n' + - 'foo(o)'); - - // #713 and #964 - bt( - 'Meteor.call("foo", bar, function(err, result) {\n' + - ' Session.set("baz", result.lorem)\n' + - '})\n' + - '//blah blah'); - - // #815 - bt( - 'foo()\n' + - '// this is a comment\n' + - 'bar()\n' + - '\n' + - 'const foo = 5\n' + - '// comment\n' + - 'bar()'); - - // This shows current behavior. Note #1069 is not addressed yet. - bt( - 'if (modulus === 2) {\n' + - ' // i might be odd here\n' + - ' i += (i & 1);\n' + - ' // now i is guaranteed to be even\n' + - ' // this block is obviously about the statement above\n' + - '\n' + - ' // #1069 This should attach to the block below\n' + - ' // this comment is about the block after it.\n' + - '} else {\n' + - ' // rounding up using integer arithmetic only\n' + - ' if (i % modulus)\n' + - ' i += modulus - (i % modulus);\n' + - ' // now i is divisible by modulus\n' + - ' // behavior of comments should be different for single statements vs block statements/expressions\n' + - '}\n' + - '\n' + - 'if (modulus === 2)\n' + - ' // i might be odd here\n' + - ' i += (i & 1);\n' + - '// now i is guaranteed to be even\n' + - '// non-braced comments unindent immediately\n' + - '\n' + - '// this comment is about the block after it.\n' + - 'else\n' + - ' // rounding up using integer arithmetic only\n' + - ' if (i % modulus)\n' + - ' i += modulus - (i % modulus);\n' + - '// behavior of comments should be different for single statements vs block statements/expressions'); - - - //============================================================ - // Template Formatting - reset_options(); - bt(''); - bt('a = ;'); - bt( - '");\n' + - '}\n' + - '?>'); - bt('a = <%= external() %>;'); - - - //============================================================ - // jslint and space after anon function - (f = " ", c = "") - reset_options(); - opts.jslint_happy = true; - opts.space_after_anon_function = true; - bt( - 'a=typeof(x)', - // -- output -- - 'a = typeof (x)'); - bt( - 'x();\n' + - '\n' + - 'function(){}', - // -- output -- - 'x();\n' + - '\n' + - 'function () {}'); - bt( - 'x();\n' + - '\n' + - 'var x = {\n' + - 'x: function(){}\n' + - '}', - // -- output -- - 'x();\n' + - '\n' + - 'var x = {\n' + - ' x: function () {}\n' + - '}'); - bt( - 'function () {\n' + - ' var a, b, c, d, e = [],\n' + - ' f;\n' + - '}'); - bt( - 'switch(x) {case 0: case 1: a(); break; default: break}', - // -- output -- - 'switch (x) {\n' + - 'case 0:\n' + - 'case 1:\n' + - ' a();\n' + - ' break;\n' + - 'default:\n' + - ' break\n' + - '}'); - bt( - 'switch(x){case -1:break;case !y:break;}', - // -- output -- - 'switch (x) {\n' + - 'case -1:\n' + - ' break;\n' + - 'case !y:\n' + - ' break;\n' + - '}'); - - // typical greasemonkey start - test_fragment( - '// comment 2\n' + - '(function ()'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {}, d = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function () {},\n' + - ' d = \'\';'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {},\n' + - 'd = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function () {},\n' + - ' d = \'\';'); - bt( - 'var o2=$.extend(a);function(){alert(x);}', - // -- output -- - 'var o2 = $.extend(a);\n' + - '\n' + - 'function () {\n' + - ' alert(x);\n' + - '}'); - bt( - 'function*() {\n' + - ' yield 1;\n' + - '}', - // -- output -- - 'function* () {\n' + - ' yield 1;\n' + - '}'); - bt( - 'function* x() {\n' + - ' yield 1;\n' + - '}'); - - // jslint and space after anon function - (f = " ", c = "") - reset_options(); - opts.jslint_happy = true; - opts.space_after_anon_function = false; - bt( - 'a=typeof(x)', - // -- output -- - 'a = typeof (x)'); - bt( - 'x();\n' + - '\n' + - 'function(){}', - // -- output -- - 'x();\n' + - '\n' + - 'function () {}'); - bt( - 'x();\n' + - '\n' + - 'var x = {\n' + - 'x: function(){}\n' + - '}', - // -- output -- - 'x();\n' + - '\n' + - 'var x = {\n' + - ' x: function () {}\n' + - '}'); - bt( - 'function () {\n' + - ' var a, b, c, d, e = [],\n' + - ' f;\n' + - '}'); - bt( - 'switch(x) {case 0: case 1: a(); break; default: break}', - // -- output -- - 'switch (x) {\n' + - 'case 0:\n' + - 'case 1:\n' + - ' a();\n' + - ' break;\n' + - 'default:\n' + - ' break\n' + - '}'); - bt( - 'switch(x){case -1:break;case !y:break;}', - // -- output -- - 'switch (x) {\n' + - 'case -1:\n' + - ' break;\n' + - 'case !y:\n' + - ' break;\n' + - '}'); - - // typical greasemonkey start - test_fragment( - '// comment 2\n' + - '(function ()'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {}, d = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function () {},\n' + - ' d = \'\';'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {},\n' + - 'd = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function () {},\n' + - ' d = \'\';'); - bt( - 'var o2=$.extend(a);function(){alert(x);}', - // -- output -- - 'var o2 = $.extend(a);\n' + - '\n' + - 'function () {\n' + - ' alert(x);\n' + - '}'); - bt( - 'function*() {\n' + - ' yield 1;\n' + - '}', - // -- output -- - 'function* () {\n' + - ' yield 1;\n' + - '}'); - bt( - 'function* x() {\n' + - ' yield 1;\n' + - '}'); - - // jslint and space after anon function - (f = " ", c = " ") - reset_options(); - opts.jslint_happy = false; - opts.space_after_anon_function = true; - bt( - 'a=typeof(x)', - // -- output -- - 'a = typeof (x)'); - bt( - 'x();\n' + - '\n' + - 'function(){}', - // -- output -- - 'x();\n' + - '\n' + - 'function () {}'); - bt( - 'x();\n' + - '\n' + - 'var x = {\n' + - 'x: function(){}\n' + - '}', - // -- output -- - 'x();\n' + - '\n' + - 'var x = {\n' + - ' x: function () {}\n' + - '}'); - bt( - 'function () {\n' + - ' var a, b, c, d, e = [],\n' + - ' f;\n' + - '}'); - bt( - 'switch(x) {case 0: case 1: a(); break; default: break}', - // -- output -- - 'switch (x) {\n' + - ' case 0:\n' + - ' case 1:\n' + - ' a();\n' + - ' break;\n' + - ' default:\n' + - ' break\n' + - '}'); - bt( - 'switch(x){case -1:break;case !y:break;}', - // -- output -- - 'switch (x) {\n' + - ' case -1:\n' + - ' break;\n' + - ' case !y:\n' + - ' break;\n' + - '}'); - - // typical greasemonkey start - test_fragment( - '// comment 2\n' + - '(function ()'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {}, d = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function () {},\n' + - ' d = \'\';'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {},\n' + - 'd = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function () {},\n' + - ' d = \'\';'); - bt( - 'var o2=$.extend(a);function(){alert(x);}', - // -- output -- - 'var o2 = $.extend(a);\n' + - '\n' + - 'function () {\n' + - ' alert(x);\n' + - '}'); - bt( - 'function*() {\n' + - ' yield 1;\n' + - '}', - // -- output -- - 'function* () {\n' + - ' yield 1;\n' + - '}'); - bt( - 'function* x() {\n' + - ' yield 1;\n' + - '}'); - - // jslint and space after anon function - (f = "", c = " ") - reset_options(); - opts.jslint_happy = false; - opts.space_after_anon_function = false; - bt( - 'a=typeof(x)', - // -- output -- - 'a = typeof(x)'); - bt( - 'x();\n' + - '\n' + - 'function(){}', - // -- output -- - 'x();\n' + - '\n' + - 'function() {}'); - bt( - 'x();\n' + - '\n' + - 'var x = {\n' + - 'x: function(){}\n' + - '}', - // -- output -- - 'x();\n' + - '\n' + - 'var x = {\n' + - ' x: function() {}\n' + - '}'); - bt( - 'function () {\n' + - ' var a, b, c, d, e = [],\n' + - ' f;\n' + - '}', - // -- output -- - 'function() {\n' + - ' var a, b, c, d, e = [],\n' + - ' f;\n' + - '}'); - bt( - 'switch(x) {case 0: case 1: a(); break; default: break}', - // -- output -- - 'switch (x) {\n' + - ' case 0:\n' + - ' case 1:\n' + - ' a();\n' + - ' break;\n' + - ' default:\n' + - ' break\n' + - '}'); - bt( - 'switch(x){case -1:break;case !y:break;}', - // -- output -- - 'switch (x) {\n' + - ' case -1:\n' + - ' break;\n' + - ' case !y:\n' + - ' break;\n' + - '}'); - - // typical greasemonkey start - test_fragment( - '// comment 2\n' + - '(function()'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {}, d = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function() {},\n' + - ' d = \'\';'); - bt( - 'var a2, b2, c2, d2 = 0, c = function() {},\n' + - 'd = \'\';', - // -- output -- - 'var a2, b2, c2, d2 = 0,\n' + - ' c = function() {},\n' + - ' d = \'\';'); - bt( - 'var o2=$.extend(a);function(){alert(x);}', - // -- output -- - 'var o2 = $.extend(a);\n' + - '\n' + - 'function() {\n' + - ' alert(x);\n' + - '}'); - bt( - 'function*() {\n' + - ' yield 1;\n' + - '}'); - bt( - 'function* x() {\n' + - ' yield 1;\n' + - '}'); - - - //============================================================ - // Regression tests - reset_options(); - - // Issue 241 - bt( - 'obj\n' + - ' .last({\n' + - ' foo: 1,\n' + - ' bar: 2\n' + - ' });\n' + - 'var test = 1;'); - bt( - 'obj\n' + - ' .last(a, function() {\n' + - ' var test;\n' + - ' });\n' + - 'var test = 1;'); - bt( - 'obj.first()\n' + - ' .second()\n' + - ' .last(function(err, response) {\n' + - ' console.log(err);\n' + - ' });'); - - // Issue 268 and 275 - bt( - 'obj.last(a, function() {\n' + - ' var test;\n' + - '});\n' + - 'var test = 1;'); - bt( - 'obj.last(a,\n' + - ' function() {\n' + - ' var test;\n' + - ' });\n' + - 'var test = 1;'); - bt( - '(function() {if (!window.FOO) window.FOO || (window.FOO = function() {var b = {bar: "zort"};});})();', - // -- output -- - '(function() {\n' + - ' if (!window.FOO) window.FOO || (window.FOO = function() {\n' + - ' var b = {\n' + - ' bar: "zort"\n' + - ' };\n' + - ' });\n' + - '})();'); - - // Issue 281 - bt( - 'define(["dojo/_base/declare", "my/Employee", "dijit/form/Button",\n' + - ' "dojo/_base/lang", "dojo/Deferred"\n' + - '], function(declare, Employee, Button, lang, Deferred) {\n' + - ' return declare(Employee, {\n' + - ' constructor: function() {\n' + - ' new Button({\n' + - ' onClick: lang.hitch(this, function() {\n' + - ' new Deferred().then(lang.hitch(this, function() {\n' + - ' this.salary * 0.25;\n' + - ' }));\n' + - ' })\n' + - ' });\n' + - ' }\n' + - ' });\n' + - '});'); - bt( - 'define(["dojo/_base/declare", "my/Employee", "dijit/form/Button",\n' + - ' "dojo/_base/lang", "dojo/Deferred"\n' + - ' ],\n' + - ' function(declare, Employee, Button, lang, Deferred) {\n' + - ' return declare(Employee, {\n' + - ' constructor: function() {\n' + - ' new Button({\n' + - ' onClick: lang.hitch(this, function() {\n' + - ' new Deferred().then(lang.hitch(this, function() {\n' + - ' this.salary * 0.25;\n' + - ' }));\n' + - ' })\n' + - ' });\n' + - ' }\n' + - ' });\n' + - ' });'); - - // Issue 459 - bt( - '(function() {\n' + - ' return {\n' + - ' foo: function() {\n' + - ' return "bar";\n' + - ' },\n' + - ' bar: ["bar"]\n' + - ' };\n' + - '}());'); - - // Issue 505 - strings should end at newline unless continued by backslash - bt( - 'var name = "a;\n' + - 'name = "b";'); - bt( - 'var name = "a;\\\n' + - ' name = b";'); - - // Issue 514 - some operators require spaces to distinguish them - bt('var c = "_ACTION_TO_NATIVEAPI_" + ++g++ + +new Date;'); - bt('var c = "_ACTION_TO_NATIVEAPI_" - --g-- - -new Date;'); - - // Issue 440 - reserved words can be used as object property names - bt( - 'a = {\n' + - ' function: {},\n' + - ' "function": {},\n' + - ' throw: {},\n' + - ' "throw": {},\n' + - ' var: {},\n' + - ' "var": {},\n' + - ' set: {},\n' + - ' "set": {},\n' + - ' get: {},\n' + - ' "get": {},\n' + - ' if: {},\n' + - ' "if": {},\n' + - ' then: {},\n' + - ' "then": {},\n' + - ' else: {},\n' + - ' "else": {},\n' + - ' yay: {}\n' + - '};'); - - // Issue 331 - if-else with braces edge case - bt( - 'if(x){a();}else{b();}if(y){c();}', - // -- output -- - 'if (x) {\n' + - ' a();\n' + - '} else {\n' + - ' b();\n' + - '}\n' + - 'if (y) {\n' + - ' c();\n' + - '}'); - - // Issue 485 - ensure function declarations behave the same in arrays as elsewhere - bt( - 'var v = ["a",\n' + - ' function() {\n' + - ' return;\n' + - ' }, {\n' + - ' id: 1\n' + - ' }\n' + - '];'); - bt( - 'var v = ["a", function() {\n' + - ' return;\n' + - '}, {\n' + - ' id: 1\n' + - '}];'); - - // Issue 382 - initial totally cursory support for es6 module export - bt( - 'module "Even" {\n' + - ' import odd from "Odd";\n' + - ' export function sum(x, y) {\n' + - ' return x + y;\n' + - ' }\n' + - ' export var pi = 3.141593;\n' + - ' export default moduleName;\n' + - '}'); - bt( - 'module "Even" {\n' + - ' export default function div(x, y) {}\n' + - '}'); - - // Issue 889 - export default { ... } - bt( - 'export default {\n' + - ' func1() {},\n' + - ' func2() {}\n' + - ' func3() {}\n' + - '}'); - bt( - 'export default {\n' + - ' a() {\n' + - ' return 1;\n' + - ' },\n' + - ' b() {\n' + - ' return 2;\n' + - ' },\n' + - ' c() {\n' + - ' return 3;\n' + - ' }\n' + - '}'); - - // Issue 508 - bt('set["name"]'); - bt('get["name"]'); - bt( - 'a = {\n' + - ' set b(x) {},\n' + - ' c: 1,\n' + - ' d: function() {}\n' + - '};'); - bt( - 'a = {\n' + - ' get b() {\n' + - ' retun 0;\n' + - ' },\n' + - ' c: 1,\n' + - ' d: function() {}\n' + - '};'); - - // Issue 298 - do not under indent if/while/for condtionals experesions - bt( - '\'use strict\';\n' + - 'if ([].some(function() {\n' + - ' return false;\n' + - ' })) {\n' + - ' console.log("hello");\n' + - '}'); - - // Issue 298 - do not under indent if/while/for condtionals experesions - bt( - '\'use strict\';\n' + - 'if ([].some(function() {\n' + - ' return false;\n' + - ' })) {\n' + - ' console.log("hello");\n' + - '}'); - - // Issue 552 - Typescript? Okay... we didn't break it before, so try not to break it now. - bt( - 'class Test {\n' + - ' blah: string[];\n' + - ' foo(): number {\n' + - ' return 0;\n' + - ' }\n' + - ' bar(): number {\n' + - ' return 0;\n' + - ' }\n' + - '}'); - bt( - 'interface Test {\n' + - ' blah: string[];\n' + - ' foo(): number {\n' + - ' return 0;\n' + - ' }\n' + - ' bar(): number {\n' + - ' return 0;\n' + - ' }\n' + - '}'); - - // Issue 583 - Functions with comments after them should still indent correctly. - bt( - 'function exit(code) {\n' + - ' setTimeout(function() {\n' + - ' phantom.exit(code);\n' + - ' }, 0);\n' + - ' phantom.onError = function() {};\n' + - '}\n' + - '// Comment'); - - // Issue 806 - newline arrow functions - bt( - 'a.b("c",\n' + - ' () => d.e\n' + - ')'); - - // Issue 810 - es6 object literal detection - bt( - 'function badFormatting() {\n' + - ' return {\n' + - ' a,\n' + - ' b: c,\n' + - ' d: e,\n' + - ' f: g,\n' + - ' h,\n' + - ' i,\n' + - ' j: k\n' + - ' }\n' + - '}\n' + - '\n' + - 'function goodFormatting() {\n' + - ' return {\n' + - ' a: b,\n' + - ' c,\n' + - ' d: e,\n' + - ' f: g,\n' + - ' h,\n' + - ' i,\n' + - ' j: k\n' + - ' }\n' + - '}'); - - // Issue 602 - ES6 object literal shorthand functions - bt( - 'return {\n' + - ' fn1() {},\n' + - ' fn2() {}\n' + - '}'); - bt( - 'throw {\n' + - ' fn1() {},\n' + - ' fn2() {}\n' + - '}'); - bt( - 'foo({\n' + - ' fn1(a) {}\n' + - ' fn2(a) {}\n' + - '})'); - bt( - 'foo("text", {\n' + - ' fn1(a) {}\n' + - ' fn2(a) {}\n' + - '})'); - bt( - 'oneArg = {\n' + - ' fn1(a) {\n' + - ' do();\n' + - ' },\n' + - ' fn2() {}\n' + - '}'); - bt( - 'multiArg = {\n' + - ' fn1(a, b, c) {\n' + - ' do();\n' + - ' },\n' + - ' fn2() {}\n' + - '}'); - bt( - 'noArgs = {\n' + - ' fn1() {\n' + - ' do();\n' + - ' },\n' + - ' fn2() {}\n' + - '}'); - bt( - 'emptyFn = {\n' + - ' fn1() {},\n' + - ' fn2() {}\n' + - '}'); - bt( - 'nested = {\n' + - ' fns: {\n' + - ' fn1() {},\n' + - ' fn2() {}\n' + - ' }\n' + - '}'); - bt( - 'array = [{\n' + - ' fn1() {},\n' + - ' prop: val,\n' + - ' fn2() {}\n' + - '}]'); - bt( - 'expr = expr ? expr : {\n' + - ' fn1() {},\n' + - ' fn2() {}\n' + - '}'); - bt( - 'strange = valid + {\n' + - ' fn1() {},\n' + - ' fn2() {\n' + - ' return 1;\n' + - ' }\n' + - '}.fn2()'); - - // Issue 854 - Arrow function with statement block - bt( - 'test(() => {\n' + - ' var a = {}\n' + - '\n' + - ' a.what = () => true ? 1 : 2\n' + - '\n' + - ' a.thing = () => {\n' + - ' b();\n' + - ' }\n' + - '})'); - - // Issue 406 - Multiline array - bt( - 'var tempName = [\n' + - ' "temp",\n' + - ' process.pid,\n' + - ' (Math.random() * 0x1000000000).toString(36),\n' + - ' new Date().getTime()\n' + - '].join("-");'); - - // Issue #996 - Input ends with backslash throws exception - test_fragment( - 'sd = 1;\n' + - '/'); - - // Issue #1079 - unbraced if with comments should still look right - bt( - 'if (console.log)\n' + - ' for (var i = 0; i < 20; ++i)\n' + - ' if (i % 3)\n' + - ' console.log(i);\n' + - '// all done\n' + - 'console.log("done");'); - - // Issue #1085 - function should not have blank line in a number of cases - bt( - 'var transformer =\n' + - ' options.transformer ||\n' + - ' globalSettings.transformer ||\n' + - ' function(x) {\n' + - ' return x;\n' + - ' };'); - - // Issue #569 - function should not have blank line in a number of cases - bt( - '(function(global) {\n' + - ' "use strict";\n' + - '\n' + - ' /* jshint ignore:start */\n' + - ' include "somefile.js"\n' + - ' /* jshint ignore:end */\n' + - '}(this));'); - bt( - 'function bindAuthEvent(eventName) {\n' + - ' self.auth.on(eventName, function(event, meta) {\n' + - ' self.emit(eventName, event, meta);\n' + - ' });\n' + - '}\n' + - '["logged_in", "logged_out", "signed_up", "updated_user"].forEach(bindAuthEvent);\n' + - '\n' + - 'function bindBrowserEvent(eventName) {\n' + - ' browser.on(eventName, function(event, meta) {\n' + - ' self.emit(eventName, event, meta);\n' + - ' });\n' + - '}\n' + - '["navigating"].forEach(bindBrowserEvent);'); - - // Issue #892 - new line between chained methods - bt( - 'foo\n' + - ' .who()\n' + - '\n' + - ' .knows()\n' + - ' // comment\n' + - ' .nothing() // comment\n' + - '\n' + - ' .more()'); - - - //============================================================ - // Test non-positionable-ops - reset_options(); - bt('a += 2;'); - bt('a -= 2;'); - bt('a *= 2;'); - bt('a /= 2;'); - bt('a %= 2;'); - bt('a &= 2;'); - bt('a ^= 2;'); - bt('a |= 2;'); - bt('a **= 2;'); - bt('a <<= 2;'); - bt('a >>= 2;'); - - - //============================================================ - // brace_style ,preserve-inline tests - (obo = " ", obot = "", oao = "\n", oaot = " ", obc = "\n", oac = " ", oact = "") - reset_options(); - opts.brace_style = 'collapse,preserve-inline'; - bt('import { asdf } from "asdf";'); - bt('import { get } from "asdf";'); - bt('function inLine() { console.log("oh em gee"); }'); - bt('if (cancer) { console.log("Im sorry but you only have so long to live..."); }'); - bt('if (ding) { console.log("dong"); } else { console.log("dang"); }'); - bt( - 'function kindaComplex() {\n' + - ' var a = 2;\n' + - ' var obj = {};\n' + - ' var obj2 = { a: "a", b: "b" };\n' + - ' var obj3 = {\n' + - ' c: "c",\n' + - ' d: "d",\n' + - ' e: "e"\n' + - ' };\n' + - '}'); - bt( - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}', - // -- output -- - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}'); - - // brace_style ,preserve-inline tests - (obo = "\n", obot = " ", oao = "\n", oaot = " ", obc = "\n", oac = "\n", oact = " ") - reset_options(); - opts.brace_style = 'expand,preserve-inline'; - bt('import { asdf } from "asdf";'); - bt('import { get } from "asdf";'); - bt('function inLine() { console.log("oh em gee"); }'); - bt('if (cancer) { console.log("Im sorry but you only have so long to live..."); }'); - bt( - 'if (ding) { console.log("dong"); } else { console.log("dang"); }', - // -- output -- - 'if (ding) { console.log("dong"); }\n' + - 'else { console.log("dang"); }'); - bt( - 'function kindaComplex() {\n' + - ' var a = 2;\n' + - ' var obj = {};\n' + - ' var obj2 = { a: "a", b: "b" };\n' + - ' var obj3 = {\n' + - ' c: "c",\n' + - ' d: "d",\n' + - ' e: "e"\n' + - ' };\n' + - '}', - // -- output -- - 'function kindaComplex()\n' + - '{\n' + - ' var a = 2;\n' + - ' var obj = {};\n' + - ' var obj2 = { a: "a", b: "b" };\n' + - ' var obj3 = {\n' + - ' c: "c",\n' + - ' d: "d",\n' + - ' e: "e"\n' + - ' };\n' + - '}'); - bt( - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}', - // -- output -- - 'function complex()\n' + - '{\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b()\n' + - ' {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}'); - - // brace_style ,preserve-inline tests - (obo = " ", obot = "", oao = "\n", oaot = " ", obc = "\n", oac = "\n", oact = " ") - reset_options(); - opts.brace_style = 'end-expand,preserve-inline'; - bt('import { asdf } from "asdf";'); - bt('import { get } from "asdf";'); - bt('function inLine() { console.log("oh em gee"); }'); - bt('if (cancer) { console.log("Im sorry but you only have so long to live..."); }'); - bt( - 'if (ding) { console.log("dong"); } else { console.log("dang"); }', - // -- output -- - 'if (ding) { console.log("dong"); }\n' + - 'else { console.log("dang"); }'); - bt( - 'function kindaComplex() {\n' + - ' var a = 2;\n' + - ' var obj = {};\n' + - ' var obj2 = { a: "a", b: "b" };\n' + - ' var obj3 = {\n' + - ' c: "c",\n' + - ' d: "d",\n' + - ' e: "e"\n' + - ' };\n' + - '}'); - bt( - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}', - // -- output -- - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}'); - - // brace_style ,preserve-inline tests - (obo = " ", obot = "", oao = "\n", oaot = " ", obc = "\n", oac = " ", oact = "") - reset_options(); - opts.brace_style = 'none,preserve-inline'; - bt('import { asdf } from "asdf";'); - bt('import { get } from "asdf";'); - bt('function inLine() { console.log("oh em gee"); }'); - bt('if (cancer) { console.log("Im sorry but you only have so long to live..."); }'); - bt('if (ding) { console.log("dong"); } else { console.log("dang"); }'); - bt( - 'function kindaComplex() {\n' + - ' var a = 2;\n' + - ' var obj = {};\n' + - ' var obj2 = { a: "a", b: "b" };\n' + - ' var obj3 = {\n' + - ' c: "c",\n' + - ' d: "d",\n' + - ' e: "e"\n' + - ' };\n' + - '}'); - bt( - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}', - // -- output -- - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}'); - - // brace_style ,preserve-inline tests - (obo = " ", obot = "", oao = "\n", oaot = " ", obc = "\n", oac = " ", oact = "") - reset_options(); - opts.brace_style = 'collapse-preserve-inline'; - bt('import { asdf } from "asdf";'); - bt('import { get } from "asdf";'); - bt('function inLine() { console.log("oh em gee"); }'); - bt('if (cancer) { console.log("Im sorry but you only have so long to live..."); }'); - bt('if (ding) { console.log("dong"); } else { console.log("dang"); }'); - bt( - 'function kindaComplex() {\n' + - ' var a = 2;\n' + - ' var obj = {};\n' + - ' var obj2 = { a: "a", b: "b" };\n' + - ' var obj3 = {\n' + - ' c: "c",\n' + - ' d: "d",\n' + - ' e: "e"\n' + - ' };\n' + - '}'); - bt( - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}', - // -- output -- - 'function complex() {\n' + - ' console.log("wowe");\n' + - ' (function() { var a = 2; var b = 3; })();\n' + - ' $.each(arr, function(el, idx) { return el; });\n' + - ' var obj = {\n' + - ' a: function() { console.log("test"); },\n' + - ' b() {\n' + - ' console.log("test2");\n' + - ' }\n' + - ' };\n' + - '}'); - - - //============================================================ - // Destructured and related - reset_options(); - opts.brace_style = 'collapse,preserve-inline'; - - // Issue 382 - import destructured - bt( - 'module "Even" {\n' + - ' import { odd, oddly } from "Odd";\n' + - '}'); - bt( - 'import defaultMember from "module-name";\n' + - 'import * as name from "module-name";\n' + - 'import { member } from "module-name";\n' + - 'import { member as alias } from "module-name";\n' + - 'import { member1, member2 } from "module-name";\n' + - 'import { member1, member2 as alias2 } from "module-name";\n' + - 'import defaultMember, { member, member2 } from "module-name";\n' + - 'import defaultMember, * as name from "module-name";\n' + - 'import "module-name";'); - - // Issue 858 - from is a keyword only after import - bt( - 'if (from < to) {\n' + - ' from++;\n' + - '} else {\n' + - ' from--;\n' + - '}'); - - // Issue 511 - destrutured - bt( - 'var { b, c } = require("../stores");\n' + - 'var { ProjectStore } = require("../stores");\n' + - '\n' + - 'function takeThing({ prop }) {\n' + - ' console.log("inner prop", prop)\n' + - '}'); - - // Issue 315 - Short objects - bt('var a = { b: { c: { d: e } } };'); - bt( - 'var a = {\n' + - ' b: {\n' + - ' c: { d: e }\n' + - ' c3: { d: e }\n' + - ' },\n' + - ' b2: { c: { d: e } }\n' + - '};'); - - // Issue 370 - Short objects in array - bt( - 'var methods = [\n' + - ' { name: "to" },\n' + - ' { name: "step" },\n' + - ' { name: "move" },\n' + - ' { name: "min" },\n' + - ' { name: "max" }\n' + - '];'); - - // Issue 838 - Short objects in array - bt( - 'function(url, callback) {\n' + - ' var script = document.createElement("script")\n' + - ' if (true) script.onreadystatechange = function() {\n' + - ' foo();\n' + - ' }\n' + - ' else script.onload = callback;\n' + - '}'); - - // Issue 578 - Odd indenting after function - bt( - 'function bindAuthEvent(eventName) {\n' + - ' self.auth.on(eventName, function(event, meta) {\n' + - ' self.emit(eventName, event, meta);\n' + - ' });\n' + - '}\n' + - '["logged_in", "logged_out", "signed_up", "updated_user"].forEach(bindAuthEvent);'); - - // Issue #487 - some short expressions examples - bt( - 'if (a == 1) { a++; }\n' + - 'a = { a: a };\n' + - 'UserDB.findOne({ username: "xyz" }, function(err, user) {});\n' + - 'import { fs } from "fs";'); - - // Issue #982 - Fixed return expression collapse-preserve-inline - bt( - 'function foo(arg) {\n' + - ' if (!arg) { a(); }\n' + - ' if (!arg) { return false; }\n' + - ' if (!arg) { throw "inline"; }\n' + - ' return true;\n' + - '}'); - - // Issue #338 - Short expressions - bt( - 'if (someCondition) { return something; }\n' + - 'if (someCondition) {\n' + - ' return something;\n' + - '}\n' + - 'if (someCondition) { break; }\n' + - 'if (someCondition) {\n' + - ' return something;\n' + - '}'); - - - //============================================================ - // Old tests - reset_options(); - bt(''); - test_fragment(' return .5'); - test_fragment( - ' return .5;\n' + - ' a();'); - test_fragment( - ' return .5;\n' + - ' a();'); - test_fragment( - ' return .5;\n' + - ' a();'); - test_fragment(' < div'); - bt('a = 1', 'a = 1'); - bt('a=1', 'a = 1'); - bt('(3) / 2'); - bt('["a", "b"].join("")'); - bt( - 'a();\n' + - '\n' + - 'b();'); - bt( - 'var a = 1 var b = 2', - // -- output -- - 'var a = 1\n' + - 'var b = 2'); - bt( - 'var a=1, b=c[d], e=6;', - // -- output -- - 'var a = 1,\n' + - ' b = c[d],\n' + - ' e = 6;'); - bt( - 'var a,\n' + - ' b,\n' + - ' c;'); - bt( - 'let a = 1 let b = 2', - // -- output -- - 'let a = 1\n' + - 'let b = 2'); - bt( - 'let a=1, b=c[d], e=6;', - // -- output -- - 'let a = 1,\n' + - ' b = c[d],\n' + - ' e = 6;'); - bt( - 'let a,\n' + - ' b,\n' + - ' c;'); - bt( - 'const a = 1 const b = 2', - // -- output -- - 'const a = 1\n' + - 'const b = 2'); - bt( - 'const a=1, b=c[d], e=6;', - // -- output -- - 'const a = 1,\n' + - ' b = c[d],\n' + - ' e = 6;'); - bt( - 'const a,\n' + - ' b,\n' + - ' c;'); - bt('a = " 12345 "'); - bt('a = \' 12345 \''); - bt('if (a == 1) b = 2;'); - bt( - 'if(1){2}else{3}', - // -- output -- - 'if (1) {\n' + - ' 2\n' + - '} else {\n' + - ' 3\n' + - '}'); - bt('if(1||2);', 'if (1 || 2);'); - bt('(a==1)||(b==2)', '(a == 1) || (b == 2)'); - bt( - 'var a = 1 if (2) 3;', - // -- output -- - 'var a = 1\n' + - 'if (2) 3;'); - bt('a = a + 1'); - bt('a = a == 1'); - bt('/12345[^678]*9+/.match(a)'); - bt('a /= 5'); - bt('a = 0.5 * 3'); - bt('a *= 10.55'); - bt('a < .5'); - bt('a <= .5'); - bt('a<.5', 'a < .5'); - bt('a<=.5', 'a <= .5'); - - // exponent literals - bt('a = 1e10'); - bt('a = 1.3e10'); - bt('a = 1.3e-10'); - bt('a = -12345.3e-10'); - bt('a = .12345e-10'); - bt('a = 06789e-10'); - bt('a = e - 10'); - bt('a = 1.3e+10'); - bt('a = 1.e-7'); - bt('a = -12345.3e+10'); - bt('a = .12345e+10'); - bt('a = 06789e+10'); - bt('a = e + 10'); - bt('a=0e-12345.3e-10', 'a = 0e-12345 .3e-10'); - bt('a=0.e-12345.3e-10', 'a = 0.e-12345 .3e-10'); - bt('a=0x.e-12345.3e-10', 'a = 0x.e - 12345.3e-10'); - bt('a=0x0.e-12345.3e-10', 'a = 0x0.e - 12345.3e-10'); - bt('a=0x0.0e-12345.3e-10', 'a = 0x0 .0e-12345 .3e-10'); - bt('a=0g-12345.3e-10', 'a = 0 g - 12345.3e-10'); - bt('a=0.g-12345.3e-10', 'a = 0. g - 12345.3e-10'); - bt('a=0x.g-12345.3e-10', 'a = 0x.g - 12345.3e-10'); - bt('a=0x0.g-12345.3e-10', 'a = 0x0.g - 12345.3e-10'); - bt('a=0x0.0g-12345.3e-10', 'a = 0x0 .0 g - 12345.3e-10'); - - // Decimal literals - bt('a = 0123456789;'); - bt('a = 9876543210;'); - bt('a = 5647308291;'); - bt('a=030e-5', 'a = 030e-5'); - bt('a=00+4', 'a = 00 + 4'); - bt('a=32+4', 'a = 32 + 4'); - bt('a=0.6g+4', 'a = 0.6 g + 4'); - bt('a=01.10', 'a = 01.10'); - bt('a=a.10', 'a = a .10'); - bt('a=00B0x0', 'a = 00 B0x0'); - bt('a=00B0xb0', 'a = 00 B0xb0'); - bt('a=00B0x0b0', 'a = 00 B0x0b0'); - bt('a=0090x0', 'a = 0090 x0'); - bt('a=0g0b0o0', 'a = 0 g0b0o0'); - - // Hexadecimal literals - bt('a = 0x0123456789abcdef;'); - bt('a = 0X0123456789ABCDEF;'); - bt('a = 0xFeDcBa9876543210;'); - bt('a=0x30e-5', 'a = 0x30e - 5'); - bt('a=0xF0+4', 'a = 0xF0 + 4'); - bt('a=0Xff+4', 'a = 0Xff + 4'); - bt('a=0Xffg+4', 'a = 0Xff g + 4'); - bt('a=0x01.10', 'a = 0x01 .10'); - bt('a = 0xb0ce;'); - bt('a = 0x0b0;'); - bt('a=0x0B0x0', 'a = 0x0B0 x0'); - bt('a=0x0B0xb0', 'a = 0x0B0 xb0'); - bt('a=0x0B0x0b0', 'a = 0x0B0 x0b0'); - bt('a=0X090x0', 'a = 0X090 x0'); - bt('a=0Xg0b0o0', 'a = 0X g0b0o0'); - - // Octal literals - bt('a = 0o01234567;'); - bt('a = 0O01234567;'); - bt('a = 0o34120675;'); - bt('a=0o30e-5', 'a = 0o30 e - 5'); - bt('a=0o70+4', 'a = 0o70 + 4'); - bt('a=0O77+4', 'a = 0O77 + 4'); - bt('a=0O778+4', 'a = 0O77 8 + 4'); - bt('a=0O77a+4', 'a = 0O77 a + 4'); - bt('a=0o01.10', 'a = 0o01 .10'); - bt('a=0o0B0x0', 'a = 0o0 B0x0'); - bt('a=0o0B0xb0', 'a = 0o0 B0xb0'); - bt('a=0o0B0x0b0', 'a = 0o0 B0x0b0'); - bt('a=0O090x0', 'a = 0O0 90 x0'); - bt('a=0Og0b0o0', 'a = 0O g0b0o0'); - - // Binary literals - bt('a = 0b010011;'); - bt('a = 0B010011;'); - bt('a = 0b01001100001111;'); - bt('a=0b10e-5', 'a = 0b10 e - 5'); - bt('a=0b10+4', 'a = 0b10 + 4'); - bt('a=0B11+4', 'a = 0B11 + 4'); - bt('a=0B112+4', 'a = 0B11 2 + 4'); - bt('a=0B11a+4', 'a = 0B11 a + 4'); - bt('a=0b01.10', 'a = 0b01 .10'); - bt('a=0b0B0x0', 'a = 0b0 B0x0'); - bt('a=0b0B0xb0', 'a = 0b0 B0xb0'); - bt('a=0b0B0x0b0', 'a = 0b0 B0x0b0'); - bt('a=0B090x0', 'a = 0B0 90 x0'); - bt('a=0Bg0b0o0', 'a = 0B g0b0o0'); - bt('a = [1, 2, 3, 4]'); - bt('F*(g/=f)*g+b', 'F * (g /= f) * g + b'); - bt( - 'a.b({c:d})', - // -- output -- - 'a.b({\n' + - ' c: d\n' + - '})'); - bt( - 'a.b\n' + - '(\n' + - '{\n' + - 'c:\n' + - 'd\n' + - '}\n' + - ')', - // -- output -- - 'a.b({\n' + - ' c: d\n' + - '})'); - bt( - 'a.b({c:"d"})', - // -- output -- - 'a.b({\n' + - ' c: "d"\n' + - '})'); - bt( - 'a.b\n' + - '(\n' + - '{\n' + - 'c:\n' + - '"d"\n' + - '}\n' + - ')', - // -- output -- - 'a.b({\n' + - ' c: "d"\n' + - '})'); - bt('a=!b', 'a = !b'); - bt('a=!!b', 'a = !!b'); - bt('a?b:c', 'a ? b : c'); - bt('a?1:2', 'a ? 1 : 2'); - bt('a?(b):c', 'a ? (b) : c'); - bt( - 'x={a:1,b:w=="foo"?x:y,c:z}', - // -- output -- - 'x = {\n' + - ' a: 1,\n' + - ' b: w == "foo" ? x : y,\n' + - ' c: z\n' + - '}'); - bt('x=a?b?c?d:e:f:g;', 'x = a ? b ? c ? d : e : f : g;'); - bt( - 'x=a?b?c?d:{e1:1,e2:2}:f:g;', - // -- output -- - 'x = a ? b ? c ? d : {\n' + - ' e1: 1,\n' + - ' e2: 2\n' + - '} : f : g;'); - bt('function void(void) {}'); - bt('if(!a)foo();', 'if (!a) foo();'); - bt('a=~a', 'a = ~a'); - bt( - 'a;/*comment*/b;', - // -- output -- - 'a; /*comment*/\n' + - 'b;'); - bt( - 'a;/* comment */b;', - // -- output -- - 'a; /* comment */\n' + - 'b;'); - - // simple comments don't get touched at all - test_fragment( - 'a;/*\n' + - 'comment\n' + - '*/b;', - // -- output -- - 'a;\n' + - '/*\n' + - 'comment\n' + - '*/\n' + - 'b;'); - bt( - 'a;/**\n' + - '* javadoc\n' + - '*/b;', - // -- output -- - 'a;\n' + - '/**\n' + - ' * javadoc\n' + - ' */\n' + - 'b;'); - test_fragment( - 'a;/**\n' + - '\n' + - 'no javadoc\n' + - '*/b;', - // -- output -- - 'a;\n' + - '/**\n' + - '\n' + - 'no javadoc\n' + - '*/\n' + - 'b;'); - - // comment blocks detected and reindented even w/o javadoc starter - bt( - 'a;/*\n' + - '* javadoc\n' + - '*/b;', - // -- output -- - 'a;\n' + - '/*\n' + - ' * javadoc\n' + - ' */\n' + - 'b;'); - bt('if(a)break;', 'if (a) break;'); - bt( - 'if(a){break}', - // -- output -- - 'if (a) {\n' + - ' break\n' + - '}'); - bt('if((a))foo();', 'if ((a)) foo();'); - bt('for(var i=0;;) a', 'for (var i = 0;;) a'); - bt( - 'for(var i=0;;)\n' + - 'a', - // -- output -- - 'for (var i = 0;;)\n' + - ' a'); - bt('a++;'); - bt('for(;;i++)a()', 'for (;; i++) a()'); - bt( - 'for(;;i++)\n' + - 'a()', - // -- output -- - 'for (;; i++)\n' + - ' a()'); - bt('for(;;++i)a', 'for (;; ++i) a'); - bt('return(1)', 'return (1)'); - bt( - 'try{a();}catch(b){c();}finally{d();}', - // -- output -- - 'try {\n' + - ' a();\n' + - '} catch (b) {\n' + - ' c();\n' + - '} finally {\n' + - ' d();\n' + - '}'); - - // magic function call - bt('(xx)()'); - - // another magic function call - bt('a[1]()'); - bt( - 'if(a){b();}else if(c) foo();', - // -- output -- - 'if (a) {\n' + - ' b();\n' + - '} else if (c) foo();'); - bt( - 'switch(x) {case 0: case 1: a(); break; default: break}', - // -- output -- - 'switch (x) {\n' + - ' case 0:\n' + - ' case 1:\n' + - ' a();\n' + - ' break;\n' + - ' default:\n' + - ' break\n' + - '}'); - bt( - 'switch(x){case -1:break;case !y:break;}', - // -- output -- - 'switch (x) {\n' + - ' case -1:\n' + - ' break;\n' + - ' case !y:\n' + - ' break;\n' + - '}'); - bt('a !== b'); - bt( - 'if (a) b(); else c();', - // -- output -- - 'if (a) b();\n' + - 'else c();'); - - // typical greasemonkey start - bt( - '// comment\n' + - '(function something() {})'); - - // duplicating newlines - bt( - '{\n' + - '\n' + - ' x();\n' + - '\n' + - '}'); - bt('if (a in b) foo();'); - bt('if (a of b) foo();'); - bt('if (a of [1, 2, 3]) foo();'); - bt( - 'if(X)if(Y)a();else b();else c();', - // -- output -- - 'if (X)\n' + - ' if (Y) a();\n' + - ' else b();\n' + - 'else c();'); - bt( - 'if (foo) bar();\n' + - 'else break'); - bt('var a, b;'); - bt('var a = new function();'); - test_fragment('new function'); - bt('var a, b'); - bt( - '{a:1, b:2}', - // -- output -- - '{\n' + - ' a: 1,\n' + - ' b: 2\n' + - '}'); - bt( - 'a={1:[-1],2:[+1]}', - // -- output -- - 'a = {\n' + - ' 1: [-1],\n' + - ' 2: [+1]\n' + - '}'); - bt( - 'var l = {\'a\':\'1\', \'b\':\'2\'}', - // -- output -- - 'var l = {\n' + - ' \'a\': \'1\',\n' + - ' \'b\': \'2\'\n' + - '}'); - bt('if (template.user[n] in bk) foo();'); - bt('return 45'); - bt( - 'return this.prevObject ||\n' + - '\n' + - ' this.constructor(null);'); - bt('If[1]'); - bt('Then[1]'); - bt('a = 1;// comment', 'a = 1; // comment'); - bt('a = 1; // comment'); - bt( - 'a = 1;\n' + - ' // comment', - // -- output -- - 'a = 1;\n' + - '// comment'); - bt('a = [-1, -1, -1]'); - bt( - '// a\n' + - '// b\n' + - '\n' + - '\n' + - '\n' + - '// c\n' + - '// d'); - bt( - '// func-comment\n' + - '\n' + - 'function foo() {}\n' + - '\n' + - '// end-func-comment'); - - // The exact formatting these should have is open for discussion, but they are at least reasonable - bt( - 'a = [ // comment\n' + - ' -1, -1, -1\n' + - ']'); - bt( - 'var a = [ // comment\n' + - ' -1, -1, -1\n' + - ']'); - bt( - 'a = [ // comment\n' + - ' -1, // comment\n' + - ' -1, -1\n' + - ']'); - bt( - 'var a = [ // comment\n' + - ' -1, // comment\n' + - ' -1, -1\n' + - ']'); - bt( - 'o = [{a:b},{c:d}]', - // -- output -- - 'o = [{\n' + - ' a: b\n' + - '}, {\n' + - ' c: d\n' + - '}]'); - - // was: extra space appended - bt( - 'if (a) {\n' + - ' do();\n' + - '}'); - - // if/else statement with empty body - bt( - 'if (a) {\n' + - '// comment\n' + - '}else{\n' + - '// comment\n' + - '}', - // -- output -- - 'if (a) {\n' + - ' // comment\n' + - '} else {\n' + - ' // comment\n' + - '}'); - - // multiple comments indentation - bt( - 'if (a) {\n' + - '// comment\n' + - '// comment\n' + - '}', - // -- output -- - 'if (a) {\n' + - ' // comment\n' + - ' // comment\n' + - '}'); - bt( - 'if (a) b() else c();', - // -- output -- - 'if (a) b()\n' + - 'else c();'); - bt( - 'if (a) b() else if c() d();', - // -- output -- - 'if (a) b()\n' + - 'else if c() d();'); - bt('{}'); - bt( - '{\n' + - '\n' + - '}'); - bt( - 'do { a(); } while ( 1 );', - // -- output -- - 'do {\n' + - ' a();\n' + - '} while (1);'); - bt('do {} while (1);'); - bt( - 'do {\n' + - '} while (1);', - // -- output -- - 'do {} while (1);'); - bt( - 'do {\n' + - '\n' + - '} while (1);'); - bt('var a = x(a, b, c)'); - bt( - 'delete x if (a) b();', - // -- output -- - 'delete x\n' + - 'if (a) b();'); - bt( - 'delete x[x] if (a) b();', - // -- output -- - 'delete x[x]\n' + - 'if (a) b();'); - bt('for(var a=1,b=2)d', 'for (var a = 1, b = 2) d'); - bt('for(var a=1,b=2,c=3) d', 'for (var a = 1, b = 2, c = 3) d'); - bt( - 'for(var a=1,b=2,c=3;d<3;d++)\n' + - 'e', - // -- output -- - 'for (var a = 1, b = 2, c = 3; d < 3; d++)\n' + - ' e'); - bt( - 'function x(){(a||b).c()}', - // -- output -- - 'function x() {\n' + - ' (a || b).c()\n' + - '}'); - bt( - 'function x(){return - 1}', - // -- output -- - 'function x() {\n' + - ' return -1\n' + - '}'); - bt( - 'function x(){return ! a}', - // -- output -- - 'function x() {\n' + - ' return !a\n' + - '}'); - bt('x => x'); - bt('(x) => x'); - bt( - 'x => { x }', - // -- output -- - 'x => {\n' + - ' x\n' + - '}'); - bt( - '(x) => { x }', - // -- output -- - '(x) => {\n' + - ' x\n' + - '}'); - - // a common snippet in jQuery plugins - bt( - 'settings = $.extend({},defaults,settings);', - // -- output -- - 'settings = $.extend({}, defaults, settings);'); - bt('$http().then().finally().default()'); - bt( - '$http()\n' + - '.then()\n' + - '.finally()\n' + - '.default()', - // -- output -- - '$http()\n' + - ' .then()\n' + - ' .finally()\n' + - ' .default()'); - bt('$http().when.in.new.catch().throw()'); - bt( - '$http()\n' + - '.when\n' + - '.in\n' + - '.new\n' + - '.catch()\n' + - '.throw()', - // -- output -- - '$http()\n' + - ' .when\n' + - ' .in\n' + - ' .new\n' + - ' .catch()\n' + - ' .throw()'); - bt( - '{xxx;}()', - // -- output -- - '{\n' + - ' xxx;\n' + - '}()'); - bt( - 'a = \'a\'\n' + - 'b = \'b\''); - bt('a = /reg/exp'); - bt('a = /reg/'); - bt('/abc/.test()'); - bt('/abc/i.test()'); - bt( - '{/abc/i.test()}', - // -- output -- - '{\n' + - ' /abc/i.test()\n' + - '}'); - bt('var x=(a)/a;', 'var x = (a) / a;'); - bt('x != -1'); - bt('for (; s-->0;)t', 'for (; s-- > 0;) t'); - bt('for (; s++>0;)u', 'for (; s++ > 0;) u'); - bt('a = s++>s--;', 'a = s++ > s--;'); - bt('a = s++>--s;', 'a = s++ > --s;'); - bt( - '{x=#1=[]}', - // -- output -- - '{\n' + - ' x = #1=[]\n' + - '}'); - bt( - '{a:#1={}}', - // -- output -- - '{\n' + - ' a: #1={}\n' + - '}'); - bt( - '{a:#1#}', - // -- output -- - '{\n' + - ' a: #1#\n' + - '}'); - test_fragment('"incomplete-string'); - test_fragment('\'incomplete-string'); - test_fragment('/incomplete-regex'); - test_fragment('`incomplete-template-string'); - test_fragment( - '{a:1},{a:2}', - // -- output -- - '{\n' + - ' a: 1\n' + - '}, {\n' + - ' a: 2\n' + - '}'); - test_fragment( - 'var ary=[{a:1}, {a:2}];', - // -- output -- - 'var ary = [{\n' + - ' a: 1\n' + - '}, {\n' + - ' a: 2\n' + - '}];'); - - // incomplete - test_fragment( - '{a:#1', - // -- output -- - '{\n' + - ' a: #1'); - - // incomplete - test_fragment( - '{a:#', - // -- output -- - '{\n' + - ' a: #'); - - // incomplete - test_fragment( - '}}}', - // -- output -- - '}\n' + - '}\n' + - '}'); - test_fragment( - ''); - - // incomplete regexp - test_fragment('a=/regexp', 'a = /regexp'); - bt( - '{a:#1=[],b:#1#,c:#999999#}', - // -- output -- - '{\n' + - ' a: #1=[],\n' + - ' b: #1#,\n' + - ' c: #999999#\n' + - '}'); - bt( - 'do{x()}while(a>1)', - // -- output -- - 'do {\n' + - ' x()\n' + - '} while (a > 1)'); - bt( - 'x(); /reg/exp.match(something)', - // -- output -- - 'x();\n' + - '/reg/exp.match(something)'); - test_fragment( - 'something();(', - // -- output -- - 'something();\n' + - '('); - test_fragment( - '#!she/bangs, she bangs\n' + - 'f=1', - // -- output -- - '#!she/bangs, she bangs\n' + - '\n' + - 'f = 1'); - test_fragment( - '#!she/bangs, she bangs\n' + - '\n' + - 'f=1', - // -- output -- - '#!she/bangs, she bangs\n' + - '\n' + - 'f = 1'); - test_fragment( - '#!she/bangs, she bangs\n' + - '\n' + - '/* comment */'); - test_fragment( - '#!she/bangs, she bangs\n' + - '\n' + - '\n' + - '/* comment */'); - test_fragment('#'); - test_fragment('#!'); - bt('function namespace::something()'); - test_fragment( - ''); - test_fragment( - '', - // -- output -- - ''); - bt( - '{foo();--bar;}', - // -- output -- - '{\n' + - ' foo();\n' + - ' --bar;\n' + - '}'); - bt( - '{foo();++bar;}', - // -- output -- - '{\n' + - ' foo();\n' + - ' ++bar;\n' + - '}'); - bt( - '{--bar;}', - // -- output -- - '{\n' + - ' --bar;\n' + - '}'); - bt( - '{++bar;}', - // -- output -- - '{\n' + - ' ++bar;\n' + - '}'); - bt('if(true)++a;', 'if (true) ++a;'); - bt( - 'if(true)\n' + - '++a;', - // -- output -- - 'if (true)\n' + - ' ++a;'); - bt('if(true)--a;', 'if (true) --a;'); - bt( - 'if(true)\n' + - '--a;', - // -- output -- - 'if (true)\n' + - ' --a;'); - bt('elem[array]++;'); - bt('elem++ * elem[array]++;'); - bt('elem-- * -elem[array]++;'); - bt('elem-- + elem[array]++;'); - bt('elem-- - elem[array]++;'); - bt('elem-- - -elem[array]++;'); - bt('elem-- - +elem[array]++;'); - - // Handling of newlines around unary ++ and -- operators - bt( - '{foo\n' + - '++bar;}', - // -- output -- - '{\n' + - ' foo\n' + - ' ++bar;\n' + - '}'); - bt( - '{foo++\n' + - 'bar;}', - // -- output -- - '{\n' + - ' foo++\n' + - ' bar;\n' + - '}'); - - // This is invalid, but harder to guard against. Issue #203. - bt( - '{foo\n' + - '++\n' + - 'bar;}', - // -- output -- - '{\n' + - ' foo\n' + - ' ++\n' + - ' bar;\n' + - '}'); - - // regexps - bt( - 'a(/abc\\/\\/def/);b()', - // -- output -- - 'a(/abc\\/\\/def/);\n' + - 'b()'); - bt( - 'a(/a[b\\[\\]c]d/);b()', - // -- output -- - 'a(/a[b\\[\\]c]d/);\n' + - 'b()'); - - // incomplete char class - test_fragment('a(/a[b\\['); - - // allow unescaped / in char classes - bt( - 'a(/[a/b]/);b()', - // -- output -- - 'a(/[a/b]/);\n' + - 'b()'); - bt('typeof /foo\\//;'); - bt('throw /foo\\//;'); - bt('do /foo\\//;'); - bt('return /foo\\//;'); - bt( - 'switch (a) {\n' + - ' case /foo\\//:\n' + - ' b\n' + - '}'); - bt( - 'if (a) /foo\\//\n' + - 'else /foo\\//;'); - bt('if (foo) /regex/.test();'); - bt('for (index in [1, 2, 3]) /^test$/i.test(s)'); - bt( - 'function foo() {\n' + - ' return [\n' + - ' "one",\n' + - ' "two"\n' + - ' ];\n' + - '}'); - bt( - 'a=[[1,2],[4,5],[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' function() {},\n' + - ' [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' function() {},\n' + - ' function() {},\n' + - ' [7, 8]\n' + - ']'); - bt( - 'a=[[1,2],[4,5],function(){},[7,8]]', - // -- output -- - 'a = [\n' + - ' [1, 2],\n' + - ' [4, 5],\n' + - ' function() {},\n' + - ' [7, 8]\n' + - ']'); - bt('a=[b,c,function(){},function(){},d]', 'a = [b, c, function() {}, function() {}, d]'); - bt( - 'a=[b,c,\n' + - 'function(){},function(){},d]', - // -- output -- - 'a = [b, c,\n' + - ' function() {},\n' + - ' function() {},\n' + - ' d\n' + - ']'); - bt('a=[a[1],b[4],c[d[7]]]', 'a = [a[1], b[4], c[d[7]]]'); - bt('[1,2,[3,4,[5,6],7],8]', '[1, 2, [3, 4, [5, 6], 7], 8]'); - bt( - '[[["1","2"],["3","4"]],[["5","6","7"],["8","9","0"]],[["1","2","3"],["4","5","6","7"],["8","9","0"]]]', - // -- output -- - '[\n' + - ' [\n' + - ' ["1", "2"],\n' + - ' ["3", "4"]\n' + - ' ],\n' + - ' [\n' + - ' ["5", "6", "7"],\n' + - ' ["8", "9", "0"]\n' + - ' ],\n' + - ' [\n' + - ' ["1", "2", "3"],\n' + - ' ["4", "5", "6", "7"],\n' + - ' ["8", "9", "0"]\n' + - ' ]\n' + - ']'); - bt( - '{[x()[0]];indent;}', - // -- output -- - '{\n' + - ' [x()[0]];\n' + - ' indent;\n' + - '}'); - bt( - '/*\n' + - ' foo trailing space \n' + - ' * bar trailing space \n' + - '**/'); - bt( - '{\n' + - ' /*\n' + - ' foo \n' + - ' * bar \n' + - ' */\n' + - '}'); - bt('return ++i'); - bt('return !!x'); - bt('return !x'); - bt('return [1,2]', 'return [1, 2]'); - bt('return;'); - bt( - 'return\n' + - 'func'); - bt('catch(e)', 'catch (e)'); - bt( - 'var a=1,b={foo:2,bar:3},{baz:4,wham:5},c=4;', - // -- output -- - 'var a = 1,\n' + - ' b = {\n' + - ' foo: 2,\n' + - ' bar: 3\n' + - ' },\n' + - ' {\n' + - ' baz: 4,\n' + - ' wham: 5\n' + - ' }, c = 4;'); - bt( - 'var a=1,b={foo:2,bar:3},{baz:4,wham:5},\n' + - 'c=4;', - // -- output -- - 'var a = 1,\n' + - ' b = {\n' + - ' foo: 2,\n' + - ' bar: 3\n' + - ' },\n' + - ' {\n' + - ' baz: 4,\n' + - ' wham: 5\n' + - ' },\n' + - ' c = 4;'); - - // inline comment - bt( - 'function x(/*int*/ start, /*string*/ foo)', - // -- output -- - 'function x( /*int*/ start, /*string*/ foo)'); - - // javadoc comment - bt( - '/**\n' + - '* foo\n' + - '*/', - // -- output -- - '/**\n' + - ' * foo\n' + - ' */'); - bt( - '{\n' + - '/**\n' + - '* foo\n' + - '*/\n' + - '}', - // -- output -- - '{\n' + - ' /**\n' + - ' * foo\n' + - ' */\n' + - '}'); - - // starless block comment - bt( - '/**\n' + - 'foo\n' + - '*/'); - bt( - '/**\n' + - 'foo\n' + - '**/'); - bt( - '/**\n' + - 'foo\n' + - 'bar\n' + - '**/'); - bt( - '/**\n' + - 'foo\n' + - '\n' + - 'bar\n' + - '**/'); - bt( - '/**\n' + - 'foo\n' + - ' bar\n' + - '**/'); - bt( - '{\n' + - '/**\n' + - 'foo\n' + - '*/\n' + - '}', - // -- output -- - '{\n' + - ' /**\n' + - ' foo\n' + - ' */\n' + - '}'); - bt( - '{\n' + - '/**\n' + - 'foo\n' + - '**/\n' + - '}', - // -- output -- - '{\n' + - ' /**\n' + - ' foo\n' + - ' **/\n' + - '}'); - bt( - '{\n' + - '/**\n' + - 'foo\n' + - 'bar\n' + - '**/\n' + - '}', - // -- output -- - '{\n' + - ' /**\n' + - ' foo\n' + - ' bar\n' + - ' **/\n' + - '}'); - bt( - '{\n' + - '/**\n' + - 'foo\n' + - '\n' + - 'bar\n' + - '**/\n' + - '}', - // -- output -- - '{\n' + - ' /**\n' + - ' foo\n' + - '\n' + - ' bar\n' + - ' **/\n' + - '}'); - bt( - '{\n' + - '/**\n' + - 'foo\n' + - ' bar\n' + - '**/\n' + - '}', - // -- output -- - '{\n' + - ' /**\n' + - ' foo\n' + - ' bar\n' + - ' **/\n' + - '}'); - bt( - '{\n' + - ' /**\n' + - ' foo\n' + - 'bar\n' + - ' **/\n' + - '}'); - bt( - 'var a,b,c=1,d,e,f=2;', - // -- output -- - 'var a, b, c = 1,\n' + - ' d, e, f = 2;'); - bt( - 'var a,b,c=[],d,e,f=2;', - // -- output -- - 'var a, b, c = [],\n' + - ' d, e, f = 2;'); - bt( - 'function() {\n' + - ' var a, b, c, d, e = [],\n' + - ' f;\n' + - '}'); - bt( - 'do/regexp/;\n' + - 'while(1);', - // -- output -- - 'do /regexp/;\n' + - 'while (1);'); - bt( - 'var a = a,\n' + - 'a;\n' + - 'b = {\n' + - 'b\n' + - '}', - // -- output -- - 'var a = a,\n' + - ' a;\n' + - 'b = {\n' + - ' b\n' + - '}'); - bt( - 'var a = a,\n' + - ' /* c */\n' + - ' b;'); - bt( - 'var a = a,\n' + - ' // c\n' + - ' b;'); - - // weird element referencing - bt('foo.("bar");'); - bt( - 'if (a) a()\n' + - 'else b()\n' + - 'newline()'); - bt( - 'if (a) a()\n' + - 'newline()'); - bt('a=typeof(x)', 'a = typeof(x)'); - bt( - 'var a = function() {\n' + - ' return null;\n' + - ' },\n' + - ' b = false;'); - bt( - 'var a = function() {\n' + - ' func1()\n' + - '}'); - bt( - 'var a = function() {\n' + - ' func1()\n' + - '}\n' + - 'var b = function() {\n' + - ' func2()\n' + - '}'); - - // code with and without semicolons - bt( - 'var whatever = require("whatever");\n' + - 'function() {\n' + - ' a = 6;\n' + - '}', - // -- output -- - 'var whatever = require("whatever");\n' + - '\n' + - 'function() {\n' + - ' a = 6;\n' + - '}'); - bt( - 'var whatever = require("whatever")\n' + - 'function() {\n' + - ' a = 6\n' + - '}', - // -- output -- - 'var whatever = require("whatever")\n' + - '\n' + - 'function() {\n' + - ' a = 6\n' + - '}'); - bt( - '{"x":[{"a":1,"b":3},\n' + - '7,8,8,8,8,{"b":99},{"a":11}]}', - // -- output -- - '{\n' + - ' "x": [{\n' + - ' "a": 1,\n' + - ' "b": 3\n' + - ' },\n' + - ' 7, 8, 8, 8, 8, {\n' + - ' "b": 99\n' + - ' }, {\n' + - ' "a": 11\n' + - ' }\n' + - ' ]\n' + - '}'); - bt( - '{"x":[{"a":1,"b":3},7,8,8,8,8,{"b":99},{"a":11}]}', - // -- output -- - '{\n' + - ' "x": [{\n' + - ' "a": 1,\n' + - ' "b": 3\n' + - ' }, 7, 8, 8, 8, 8, {\n' + - ' "b": 99\n' + - ' }, {\n' + - ' "a": 11\n' + - ' }]\n' + - '}'); - bt( - '{"1":{"1a":"1b"},"2"}', - // -- output -- - '{\n' + - ' "1": {\n' + - ' "1a": "1b"\n' + - ' },\n' + - ' "2"\n' + - '}'); - bt( - '{a:{a:b},c}', - // -- output -- - '{\n' + - ' a: {\n' + - ' a: b\n' + - ' },\n' + - ' c\n' + - '}'); - bt( - '{[y[a]];keep_indent;}', - // -- output -- - '{\n' + - ' [y[a]];\n' + - ' keep_indent;\n' + - '}'); - bt( - 'if (x) {y} else { if (x) {y}}', - // -- output -- - 'if (x) {\n' + - ' y\n' + - '} else {\n' + - ' if (x) {\n' + - ' y\n' + - ' }\n' + - '}'); - bt( - 'if (foo) one()\n' + - 'two()\n' + - 'three()'); - bt( - 'if (1 + foo() && bar(baz()) / 2) one()\n' + - 'two()\n' + - 'three()'); - bt( - 'if (1 + foo() && bar(baz()) / 2) one();\n' + - 'two();\n' + - 'three();'); - bt( - 'var a=1,b={bang:2},c=3;', - // -- output -- - 'var a = 1,\n' + - ' b = {\n' + - ' bang: 2\n' + - ' },\n' + - ' c = 3;'); - bt( - 'var a={bing:1},b=2,c=3;', - // -- output -- - 'var a = {\n' + - ' bing: 1\n' + - ' },\n' + - ' b = 2,\n' + - ' c = 3;'); - - - } - - function beautifier_unconverted_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - opts.indent_size = 1; - opts.indent_char = ' '; - bt('{ one_char() }', "{\n one_char()\n}"); - - bt('var a,b=1,c=2', 'var a, b = 1,\n c = 2'); - - opts.indent_size = 4; - opts.indent_char = ' '; - bt('{ one_char() }', "{\n one_char()\n}"); - - opts.indent_size = 1; - opts.indent_char = "\t"; - bt('{ one_char() }', "{\n\tone_char()\n}"); - bt('x = a ? b : c; x;', 'x = a ? b : c;\nx;'); - - //set to something else than it should change to, but with tabs on, should override - opts.indent_size = 5; - opts.indent_char = ' '; - opts.indent_with_tabs = true; - - bt('{ one_char() }', "{\n\tone_char()\n}"); - bt('x = a ? b : c; x;', 'x = a ? b : c;\nx;'); - - opts.indent_size = 4; - opts.indent_char = ' '; - opts.indent_with_tabs = false; - - reset_options(); - //============================================================ - opts.preserve_newlines = false; - - bt('var\na=dont_preserve_newlines;', 'var a = dont_preserve_newlines;'); - - // make sure the blank line between function definitions stays - // even when preserve_newlines = false - bt('function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}'); - bt('function foo() {\n return 1;\n}\nfunction foo() {\n return 1;\n}', - 'function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}' - ); - bt('function foo() {\n return 1;\n}\n\n\nfunction foo() {\n return 1;\n}', - 'function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}' - ); - - opts.preserve_newlines = true; - bt('var\na=do_preserve_newlines;', 'var\n a = do_preserve_newlines;'); - bt('if (foo) // comment\n{\n bar();\n}'); - - - reset_options(); - //============================================================ - opts.keep_array_indentation = false; - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f'\n]"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i'\n]"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i'\n]"); - bt('var x = [{}\n]', 'var x = [{}]'); - bt('var x = [{foo:bar}\n]', 'var x = [{\n foo: bar\n}]'); - bt("a = ['something',\n 'completely',\n 'different'];\nif (x);", - "a = ['something',\n 'completely',\n 'different'\n];\nif (x);"); - bt("a = ['a','b','c']", "a = ['a', 'b', 'c']"); - - bt("a = ['a', 'b','c']", "a = ['a', 'b', 'c']"); - bt("x = [{'a':0}]", - "x = [{\n 'a': 0\n}]"); - bt('{a([[a1]], {b;});}', - '{\n a([\n [a1]\n ], {\n b;\n });\n}'); - bt("a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\n[\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n].toString();"); - bt("a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n].toString();"); - bt("function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}", - "function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}"); - bt('function foo() {\n return [\n "one",\n "two"\n ];\n}'); - // 4 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}", - "function foo() {\n" + - " return [{\n" + - " one: 'x',\n" + - " two: [{\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }]\n" + - " }];\n" + - "}"); - // 3 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}", - "function foo() {\n" + - " return [{\n" + - " one: 'x',\n" + - " two: [{\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }]\n" + - " }];\n" + - "}"); - - opts.keep_array_indentation = true; - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f']"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']"); - bt('var x = [{}\n]', 'var x = [{}\n]'); - bt('var x = [{foo:bar}\n]', 'var x = [{\n foo: bar\n }\n]'); - bt("a = ['something',\n 'completely',\n 'different'];\nif (x);"); - bt("a = ['a','b','c']", "a = ['a', 'b', 'c']"); - bt("a = ['a', 'b','c']", "a = ['a', 'b', 'c']"); - bt("x = [{'a':0}]", - "x = [{\n 'a': 0\n}]"); - bt('{a([[a1]], {b;});}', - '{\n a([[a1]], {\n b;\n });\n}'); - bt("a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();"); - bt("a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();"); - bt("function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}", - "function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}"); - bt('function foo() {\n return [\n "one",\n "two"\n ];\n}'); - // 4 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}"); - // 3 spaces per indent input, processed with 4-spaces per indent - // Should be unchanged, but is not - #445 -// bt( "function foo() {\n" + -// " return [\n" + -// " {\n" + -// " one: 'x',\n" + -// " two: [\n" + -// " {\n" + -// " id: 'a',\n" + -// " name: 'apple'\n" + -// " }, {\n" + -// " id: 'b',\n" + -// " name: 'banana'\n" + -// " }\n" + -// " ]\n" + -// " }\n" + -// " ];\n" + -// "}"); - - - reset_options(); - //============================================================ - bt('a = //comment\n /regex/;'); - - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', 'if (a) {\n b;\n} else {\n c;\n}'); - - // tests for brace positioning - beautify_brace_tests('expand'); - beautify_brace_tests('collapse'); - beautify_brace_tests('end-expand'); - beautify_brace_tests('none'); - - test_fragment('roo = {\n /*\n ****\n FOO\n ****\n */\n BAR: 0\n};'); - - bt('"foo""bar""baz"', '"foo"\n"bar"\n"baz"'); - bt("'foo''bar''baz'", "'foo'\n'bar'\n'baz'"); - - - test_fragment("if (zz) {\n // ....\n}\n(function"); - - bt("{\n get foo() {}\n}"); - bt("{\n var a = get\n foo();\n}"); - bt("{\n set foo() {}\n}"); - bt("{\n var a = set\n foo();\n}"); - bt("var x = {\n get function()\n}"); - bt("var x = {\n set function()\n}"); - - // According to my current research get/set have no special meaning outside of an object literal - bt("var x = set\n\na() {}", "var x = set\n\na() {}"); - bt("var x = set\n\nfunction() {}", "var x = set\n\nfunction() {}"); - - bt(''); - bt(' - bt('for () /abc/.test()'); - bt('if (k) /aaa/m.test(v) && l();'); - bt('switch (true) {\n case /swf/i.test(foo):\n bar();\n}'); - bt('createdAt = {\n type: Date,\n default: Date.now\n}'); - bt('switch (createdAt) {\n case a:\n Date,\n default:\n Date.now\n}'); - - reset_options(); - //============================================================ - opts.space_before_conditional = false; - bt('if(a) b()'); - - - reset_options(); - //============================================================ - opts.preserve_newlines = true; - bt('var a = 42; // foo\n\nvar b;'); - bt('var a = 42; // foo\n\n\nvar b;'); - bt("var a = 'foo' +\n 'bar';"); - bt("var a = \"foo\" +\n \"bar\";"); - bt('this.oa = new OAuth(\n' + - ' _requestToken,\n' + - ' _accessToken,\n' + - ' consumer_key\n' + - ');'); - - - reset_options(); - //============================================================ - opts.unescape_strings = false; - bt('"\\\\s"'); // == "\\s" in the js source - bt("'\\\\s'"); // == '\\s' in the js source - bt("'\\\\\\s'"); // == '\\\s' in the js source - bt("'\\s'"); // == '\s' in the js source - bt('"•"'); - bt('"—"'); - bt('"\\x41\\x42\\x43\\x01"', '"\\x41\\x42\\x43\\x01"'); - bt('"\\u2022"', '"\\u2022"'); - bt('a = /\s+/'); - // bt('a = /\\x41/','a = /A/'); - bt('"\\u2022";a = /\s+/;"\\x41\\x42\\x43\\x01".match(/\\x41/);','"\\u2022";\na = /\s+/;\n"\\x41\\x42\\x43\\x01".match(/\\x41/);'); - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"', '"\\x22\\x27", \'\\x22\\x27\', "\\x5c", \'\\x5c\', "\\xff and \\xzz", "unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"'); - - opts.unescape_strings = true; - test_fragment('"\\x20\\x40\\x4a"', '" @J"'); - test_fragment('"\\xff\\x40\\x4a"'); - test_fragment('"\\u0072\\u016B\\u0137\\u012B\\u0074\\u0069\\u0073"', '"\u0072\u016B\u0137\u012B\u0074\u0069\u0073"'); - test_fragment('"Google Chrome est\\u00E1 actualizado."', '"Google Chrome está actualizado."'); - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff"', - '"\\"\\\'", \'\\"\\\'\', "\\\\", \'\\\\\', "\\xff and \\xzz", "unicode \\u0000 \\" \\\' \\\\ ' + unicode_char(0xffff) + '"'); - - // For error case, return the string unchanged - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"', - '"\\"\\\'", \'\\"\\\'\', "\\\\", \'\\\\\', "\\xff and \\xzz", "unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"'); - - reset_options(); - //============================================================ - bt('return function();'); - bt('var a = function();'); - bt('var a = 5 + function();'); - - bt('import foo.*;', 'import foo.*;'); // actionscript's import - test_fragment('function f(a: a, b: b)'); // actionscript - - bt('{\n foo // something\n ,\n bar // something\n baz\n}'); - bt('function a(a) {} function b(b) {} function c(c) {}', 'function a(a) {}\n\nfunction b(b) {}\n\nfunction c(c) {}'); - bt('foo(a, function() {})'); - - bt('foo(a, /regex/)'); - - bt('/* foo */\n"x"'); - - reset_options(); - //============================================================ - opts.break_chained_methods = false; - opts.preserve_newlines = false; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat);\nfoo.bar().baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat)\nfoo.bar().baz().cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this.something = foo.bar().baz().cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this.something.xxx = foo.moo.bar()'); - - opts.break_chained_methods = false; - opts.preserve_newlines = true; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat);\nfoo.bar().baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat)\nfoo.bar().baz().cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this\n .something = foo.bar()\n .baz().cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this\n .something\n .xxx = foo.moo\n .bar()'); - - opts.break_chained_methods = true; - opts.preserve_newlines = false; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat);\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat)\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this.something = foo.bar()\n .baz()\n .cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this.something.xxx = foo.moo.bar()'); - - opts.break_chained_methods = true; - opts.preserve_newlines = true; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat);\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat)\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this\n .something = foo.bar()\n .baz()\n .cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this\n .something\n .xxx = foo.moo\n .bar()'); - - reset_options(); - //============================================================ - // Line wrap test intputs - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - wrap_input_1=('foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - wrap_input_2=('{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n.but_this_can\n' + - ' return between_return_and_expression_should_never_wrap.but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - ' if (wraps_can_occur && inside_an_if_block) that_is_\n.okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - ' }' + - '}'); - - opts.preserve_newlines = false; - opts.wrap_line_length = 0; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 70; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 40; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat &&\n' + - ' "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 41; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 45; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_2, - /* expected */ - '{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - ' return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - ' }\n'+ - '}'); - - opts.preserve_newlines = true; - opts.wrap_line_length = 0; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 70; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - - opts.wrap_line_length = 40; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat &&\n' + - ' "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 41; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 45; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_2, - /* expected */ - '{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - ' return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - ' }\n'+ - '}'); - - reset_options(); - //============================================================ - opts.preserve_newlines = false; - bt('if (foo) // comment\n bar();'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n /asdf/;'); - bt('this.oa = new OAuth(\n' + - ' _requestToken,\n' + - ' _accessToken,\n' + - ' consumer_key\n' + - ');', - 'this.oa = new OAuth(_requestToken, _accessToken, consumer_key);'); - bt('foo = {\n x: y, // #44\n w: z // #44\n}'); - bt('switch (x) {\n case "a":\n // comment on newline\n break;\n case "b": // comment on same line\n break;\n}'); - bt('this.type =\n this.options =\n // comment\n this.enabled null;', - 'this.type = this.options =\n // comment\n this.enabled null;'); - bt('someObj\n .someFunc1()\n // This comment should not break the indent\n .someFunc2();', - 'someObj.someFunc1()\n // This comment should not break the indent\n .someFunc2();'); - - bt('if (true ||\n!true) return;', 'if (true || !true) return;'); - - // these aren't ready yet. - //bt('if (foo) // comment\n bar() /*i*/ + baz() /*j\n*/ + asdf();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\nelse\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\n else a();'); - bt('if (foo)\nbar();\nelse\ncar();', - 'if (foo) bar();\nelse car();'); - - bt('if (foo) if (bar) if (baz);\na();', - 'if (foo)\n if (bar)\n if (baz);\na();'); - bt('if (foo) if (bar) if (baz) whee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();'); - bt('if (foo) a()\nif (bar) if (baz) whee();\na();', - 'if (foo) a()\nif (bar)\n if (baz) whee();\na();'); - bt('if (foo);\nif (bar) if (baz) whee();\na();', - 'if (foo);\nif (bar)\n if (baz) whee();\na();'); - bt('if (options)\n' + - ' for (var p in options)\n' + - ' this[p] = options[p];', - 'if (options)\n'+ - ' for (var p in options) this[p] = options[p];'); - bt('if (options) for (var p in options) this[p] = options[p];', - 'if (options)\n for (var p in options) this[p] = options[p];'); - - bt('if (options) do q(); while (b());', - 'if (options)\n do q(); while (b());'); - bt('if (options) while (b()) q();', - 'if (options)\n while (b()) q();'); - bt('if (options) do while (b()) q(); while (a());', - 'if (options)\n do\n while (b()) q(); while (a());'); - - bt('function f(a, b, c,\nd, e) {}', - 'function f(a, b, c, d, e) {}'); - - bt('function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}'); - bt('function f(a,b) {if(a) b()}\n\n\n\nfunction g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}'); - - // This is not valid syntax, but still want to behave reasonably and not side-effect - bt('(if(a) b())(if(a) b())', - '(\n if (a) b())(\n if (a) b())'); - bt('(if(a) b())\n\n\n(if(a) b())', - '(\n if (a) b())\n(\n if (a) b())'); - - - - bt("if\n(a)\nb();", "if (a) b();"); - bt('var a =\nfoo', 'var a = foo'); - bt('var a = {\n"a":1,\n"b":2}', "var a = {\n \"a\": 1,\n \"b\": 2\n}"); - bt("var a = {\n'a':1,\n'b':2}", "var a = {\n 'a': 1,\n 'b': 2\n}"); - bt('var a = /*i*/ "b";'); - bt('var a = /*i*/\n"b";', 'var a = /*i*/ "b";'); - bt('var a = /*i*/\nb;', 'var a = /*i*/ b;'); - bt('{\n\n\n"x"\n}', '{\n "x"\n}'); - bt('if(a &&\nb\n||\nc\n||d\n&&\ne) e = f', 'if (a && b || c || d && e) e = f'); - bt('if(a &&\n(b\n||\nc\n||d)\n&&\ne) e = f', 'if (a && (b || c || d) && e) e = f'); - test_fragment('\n\n"x"', '"x"'); - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\nb = 2;'); - - opts.preserve_newlines = true; - bt('if (foo) // comment\n bar();'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n /asdf/;'); - bt('foo = {\n x: y, // #44\n w: z // #44\n}'); - bt('switch (x) {\n case "a":\n // comment on newline\n break;\n case "b": // comment on same line\n break;\n}'); - bt('this.type =\n this.options =\n // comment\n this.enabled null;'); - bt('someObj\n .someFunc1()\n // This comment should not break the indent\n .someFunc2();'); - - bt('if (true ||\n!true) return;', 'if (true ||\n !true) return;'); - - // these aren't ready yet. - // bt('if (foo) // comment\n bar() /*i*/ + baz() /*j\n*/ + asdf();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\na();', - 'if (foo)\n if (bar)\n if (baz)\n whee();\na();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\nelse\na();', - 'if (foo)\n if (bar)\n if (baz)\n whee();\n else\n a();'); - bt('if (foo)\nbar();\nelse\ncar();', - 'if (foo)\n bar();\nelse\n car();'); - bt('if (foo) bar();\nelse\ncar();', - 'if (foo) bar();\nelse\n car();'); - - bt('if (foo) if (bar) if (baz);\na();', - 'if (foo)\n if (bar)\n if (baz);\na();'); - bt('if (foo) if (bar) if (baz) whee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();'); - bt('if (foo) a()\nif (bar) if (baz) whee();\na();', - 'if (foo) a()\nif (bar)\n if (baz) whee();\na();'); - bt('if (foo);\nif (bar) if (baz) whee();\na();', - 'if (foo);\nif (bar)\n if (baz) whee();\na();'); - bt('if (options)\n' + - ' for (var p in options)\n' + - ' this[p] = options[p];'); - bt('if (options) for (var p in options) this[p] = options[p];', - 'if (options)\n for (var p in options) this[p] = options[p];'); - - bt('if (options) do q(); while (b());', - 'if (options)\n do q(); while (b());'); - bt('if (options) do; while (b());', - 'if (options)\n do; while (b());'); - bt('if (options) while (b()) q();', - 'if (options)\n while (b()) q();'); - bt('if (options) do while (b()) q(); while (a());', - 'if (options)\n do\n while (b()) q(); while (a());'); - - bt('function f(a, b, c,\nd, e) {}', - 'function f(a, b, c,\n d, e) {}'); - - bt('function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}'); - bt('function f(a,b) {if(a) b()}\n\n\n\nfunction g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\n\n\nfunction g(a, b) {\n if (!a) b()\n}'); - // This is not valid syntax, but still want to behave reasonably and not side-effect - bt('(if(a) b())(if(a) b())', - '(\n if (a) b())(\n if (a) b())'); - bt('(if(a) b())\n\n\n(if(a) b())', - '(\n if (a) b())\n\n\n(\n if (a) b())'); - - // space between functions - bt('/*\n * foo\n */\nfunction foo() {}'); - bt('// a nice function\nfunction foo() {}'); - bt('function foo() {}\nfunction foo() {}', - 'function foo() {}\n\nfunction foo() {}' - ); - - bt('[\n function() {}\n]'); - - - - bt("if\n(a)\nb();", "if (a)\n b();"); - bt('var a =\nfoo', 'var a =\n foo'); - bt('var a = {\n"a":1,\n"b":2}', "var a = {\n \"a\": 1,\n \"b\": 2\n}"); - bt("var a = {\n'a':1,\n'b':2}", "var a = {\n 'a': 1,\n 'b': 2\n}"); - bt('var a = /*i*/ "b";'); - bt('var a = /*i*/\n"b";', 'var a = /*i*/\n "b";'); - bt('var a = /*i*/\nb;', 'var a = /*i*/\n b;'); - bt('{\n\n\n"x"\n}', '{\n\n\n "x"\n}'); - bt('if(a &&\nb\n||\nc\n||d\n&&\ne) e = f', 'if (a &&\n b ||\n c ||\n d &&\n e) e = f'); - bt('if(a &&\n(b\n||\nc\n||d)\n&&\ne) e = f', 'if (a &&\n (b ||\n c ||\n d) &&\n e) e = f'); - test_fragment('\n\n"x"', '"x"'); - - // this beavior differs between js and python, defaults to unlimited in js, 10 in python - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;'); - opts.max_preserve_newlines = 8; - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\n\n\n\n\n\n\n\nb = 2;'); - - reset_options(); - //============================================================ - - - Urlencoded.run_tests(sanitytest); - } - - beautifier_tests(); - beautifier_unconverted_tests(); -} - -if (typeof exports !== "undefined") { - exports.run_javascript_tests = run_javascript_tests; -} diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-html-perf-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-html-perf-tests.js deleted file mode 100644 index bd0e849a..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-html-perf-tests.js +++ /dev/null @@ -1,51 +0,0 @@ -/*global js_beautify: true */ -/*jshint node:true */ -/*jshint unused:false */ - - -var fs = require('fs'), - SanityTest = require('./sanitytest'), - Benchmark = require('benchmark'), - Urlencoded = require('../lib/unpackers/urlencode_unpacker'), - js_beautify = require('../index').js_beautify, - css_beautify = require('../index').css_beautify, - html_beautify = require('../index').html_beautify; - -function node_beautifier_html_tests() { - console.log('Testing performance...'); - var index_html = fs.readFileSync(__dirname + '/../../index.html', 'utf8'); - var data_attr = fs.readFileSync(__dirname + '/../../test/resources/html-with-base64image.html', 'utf8'); - var options = { - wrap_line_length: 80 - }; - - //warm-up - html_beautify(index_html, options); - html_beautify(data_attr, options); - - var suite = new Benchmark.Suite(); - - suite.add("html-beautify (index.html)", function() { - html_beautify(index_html, options); - }) - .add("html-beautify (base64 image)", function() { - html_beautify(data_attr, options); - }) - // add listeners - .on('cycle', function(event) { - console.log(String(event.target)); - }) - .on('error', function(event) { - return 1; - }) - .on('complete', function(event) {}) - .run(); - return 0; -} - - - - -if (require.main === module) { - process.exit(node_beautifier_html_tests()); -} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-perf-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-perf-tests.js deleted file mode 100644 index d62a7a50..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-perf-tests.js +++ /dev/null @@ -1,50 +0,0 @@ -/*global js_beautify: true */ -/*jshint node:true */ -/*jshint unused:false */ - -var fs = require('fs'), - SanityTest = require('./sanitytest'), - Benchmark = require('benchmark'), - Urlencoded = require('../lib/unpackers/urlencode_unpacker'), - js_beautify = require('../index').js_beautify, - css_beautify = require('../index').css_beautify, - html_beautify = require('../index').html_beautify; - -function node_beautifier_tests() { - console.log('Testing performance...'); - var data = fs.readFileSync(__dirname + '/../../test/resources/underscore.js', 'utf8'); - var data_min = fs.readFileSync(__dirname + '/../../test/resources/underscore-min.js', 'utf8'); - var options = { - wrap_line_length: 80 - }; - - //warm-up - js_beautify(data, options); - js_beautify(data_min, options); - - var suite = new Benchmark.Suite(); - - suite.add("js-beautify (underscore)", function() { - js_beautify(data, options); - }) - .add("js-beautify (underscore-min)", function() { - js_beautify(data_min, options); - }) - // add listeners - .on('cycle', function(event) { - console.log(String(event.target)); - }) - .on('error', function(event) { - return 1; - }) - .on('complete', function(event) {}) - .run(); - return 0; -} - - - - -if (require.main === module) { - process.exit(node_beautifier_tests()); -} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-tests.js b/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-tests.js deleted file mode 100755 index 55c4828e..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/node-beautify-tests.js +++ /dev/null @@ -1,45 +0,0 @@ -/*jshint node:true */ - -var SanityTest = require('./sanitytest'), - Urlencoded = require('../lib/unpackers/urlencode_unpacker'), - run_javascript_tests = require('./generated/beautify-javascript-tests').run_javascript_tests, - run_css_tests = require('./generated/beautify-css-tests').run_css_tests, - run_html_tests = require('./generated/beautify-html-tests').run_html_tests; - -function test_legacy_names() { - var beautify = require('../index'); - var results = new SanityTest(); - - console.log('First ensure that legacy import names equal the new ones'); - results.expect(beautify.js, beautify.js_beautify); - results.expect(beautify.css, beautify.css_beautify); - results.expect(beautify.html, beautify.html_beautify); - - console.log(results.results_raw()); - return results; -} - -function node_beautifier_tests(name, test_runner) { - console.log('Testing ' + name + ' with node.js CommonJS...'); - var beautify = require('../index'); - - var results = new SanityTest(); - test_runner( - results, - Urlencoded, - beautify.js, - beautify.html, - beautify.css); - - console.log(results.results_raw()); - return results; -} - -if (require.main === module) { - process.exit( - test_legacy_names() + - node_beautifier_tests('js-beautifier', run_javascript_tests).get_exitcode() + - node_beautifier_tests('css-beautifier', run_css_tests).get_exitcode() + - node_beautifier_tests('html-beautifier', run_html_tests).get_exitcode() - ); -} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/requirejs-html-beautify.html b/build/js-transpiled/node_modules/js-beautify/js/test/requirejs-html-beautify.html deleted file mode 100644 index a1088c0e..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/requirejs-html-beautify.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - -

    RequireJS test

    - -

    - This example loads the html-beautifier by using a relative path in the require call to the beautify-html.js file. - (also works works with absolute paths) -

    - -
    -require(["../lib/beautify-html"],function(html_beautify){
    -	var input = document.getElementById("input").value;
    -	var output = html_beautify.html_beautify(input);
    -	document.getElementById("output").innerHTML = output;
    -});
    -
    - -

    Input

    - - -

    Output

    - - - - \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/resources/configerror/subDir1/subDir2/empty.txt b/build/js-transpiled/node_modules/js-beautify/js/test/resources/configerror/subDir1/subDir2/empty.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/resources/editorconfig/example-base.js b/build/js-transpiled/node_modules/js-beautify/js/test/resources/editorconfig/example-base.js deleted file mode 100644 index fbcdbd7d..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/resources/editorconfig/example-base.js +++ /dev/null @@ -1,3 +0,0 @@ -function indentMe() { - "no, me!"; // indent_size 4, will be beautified to 2 with editorconfig -} diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/resources/example1.js b/build/js-transpiled/node_modules/js-beautify/js/test/resources/example1.js deleted file mode 100644 index 279108fe..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/resources/example1.js +++ /dev/null @@ -1,3 +0,0 @@ -function indentMe() { -"no, me!"; -} diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/resources/indent11chars/subDir1/subDir2/empty.txt b/build/js-transpiled/node_modules/js-beautify/js/test/resources/indent11chars/subDir1/subDir2/empty.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/run-tests b/build/js-transpiled/node_modules/js-beautify/js/test/run-tests deleted file mode 100755 index 86b14dc6..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/run-tests +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/spidermonkey-1.7 -s - -//#!/usr/bin/js - -// a little helper for testing from command line -// just run it, it will output the test results - -load('js/lib/beautify.js'); -load('js/test/sanitytest.js') -load('js/test/beautify-tests.js') -load('js/lib/unpackers/urlencode_unpacker.js') - -print(run_beautifier_tests(new SanityTest(), Urlencoded, js_beautify).results_raw()) - - -// for nodejs use this from the command line from the main directory: -// node test/beautify-tests.js diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/sanitytest.js b/build/js-transpiled/node_modules/js-beautify/js/test/sanitytest.js deleted file mode 100644 index 445b68ee..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/sanitytest.js +++ /dev/null @@ -1,144 +0,0 @@ -// -// simple testing interface -// written by Einar Lielmanis, einar@jsbeautifier.org -// -// usage: -// -// var t = new SanityTest(function (x) { return x; }, 'my function'); -// t.expect('input', 'output'); -// t.expect('a', 'a'); -// output_somewhere(t.results()); // good for
    , html safe-ish
    -// alert(t.results_raw());        // html unescaped
    -
    -
    -function SanityTest(func, name_of_test) {
    -
    -    var test_func = func || function(x) {
    -        return x;
    -    };
    -
    -    var test_name = name_of_test || '';
    -
    -    var n_failed = 0;
    -    var n_succeeded = 0;
    -
    -    var failures = [];
    -
    -    this.test_function = function(func, name) {
    -        test_func = func;
    -        test_name = name || '';
    -    };
    -
    -    this.get_exitcode = function() {
    -        return n_succeeded === 0 || n_failed !== 0 ? 1 : 0;
    -    };
    -
    -    this.expect = function(parameters, expected_value) {
    -        // multi-parameter calls not supported (I don't need them now).
    -        var result = test_func(parameters);
    -        // proper array checking is a pain. i'll maybe do it later, compare strings representations instead
    -        if ((result === expected_value) || (expected_value instanceof Array && result.join(', ') === expected_value.join(', '))) {
    -            n_succeeded += 1;
    -        } else {
    -            n_failed += 1;
    -            failures.push([test_name, parameters, expected_value, result]);
    -        }
    -    };
    -
    -
    -    this.results_raw = function() {
    -        var results = '';
    -        if (n_failed === 0) {
    -            if (n_succeeded === 0) {
    -                results = 'No tests run.';
    -            } else {
    -                results = 'All ' + n_succeeded + ' tests passed.';
    -            }
    -        } else {
    -            for (var i = 0; i < failures.length; i++) {
    -                var f = failures[i];
    -                if (f[0]) {
    -                    f[0] = f[0] + ' ';
    -                }
    -                results += '==== ' + f[0] + '============================================================\n';
    -                results += '---- input -------\n' + this.prettyprint(f[1]) + '\n';
    -                results += '---- expected ----\n' + this.prettyprint(f[2]) + '\n';
    -                results += '---- output ------\n' + this.prettyprint(f[3]) + '\n';
    -                results += '---- expected-ws ------\n' + this.prettyprint_whitespace(f[2]) + '\n';
    -                results += '---- output-ws ------\n' + this.prettyprint_whitespace(f[3]) + '\n';
    -                results += '================================================================\n\n';
    -            }
    -            results += n_failed + ' tests failed.\n';
    -        }
    -        return results;
    -    };
    -
    -
    -    this.results = function() {
    -        return this.lazy_escape(this.results_raw());
    -    };
    -
    -    this.prettyprint_whitespace = function(something, quote_strings) {
    -        return (this.prettyprint(something, quote_strings)
    -            .replace(/\r\n/g, '\\r\n')
    -            .replace(/\n/g, '\\n\n')
    -            .replace(/\r/g, '\\r\n')
    -            .replace(/ /g, '_')
    -            .replace(/\t/g, '===|'));
    -    };
    -
    -    this.prettyprint = function(something, quote_strings) {
    -        var type = typeof something;
    -        switch (type.toLowerCase()) {
    -            case 'string':
    -                if (quote_strings) {
    -                    return "'" + something.replace("'", "\\'") + "'";
    -                }
    -                return something;
    -            case 'number':
    -                return '' + something;
    -            case 'boolean':
    -                return something ? 'true' : 'false';
    -            case 'undefined':
    -                return 'undefined';
    -            case 'object':
    -                if (something instanceof Array) {
    -                    var x = [];
    -                    var expected_index = 0;
    -                    for (var k in something) {
    -                        if (k === expected_index) {
    -                            x.push(this.prettyprint(something[k], true));
    -                            expected_index += 1;
    -                        } else {
    -                            x.push('\n' + k + ': ' + this.prettyprint(something[k], true));
    -                        }
    -                    }
    -                    return '[' + x.join(', ') + ']';
    -                }
    -                return 'object: ' + something;
    -            default:
    -                return type + ': ' + something;
    -        }
    -    };
    -
    -
    -    this.lazy_escape = function(str) {
    -        return str.replace(//g, '>').replace(/\n/g, '
    '); - }; - - - this.log = function() { - if (window.console) { - if (console.firebug) { - console.log.apply(console, Array.prototype.slice.call(arguments)); - } else { - console.log.call(console, Array.prototype.slice.call(arguments)); - } - } - }; - -} - -if (typeof module !== 'undefined' && module.exports) { - module.exports = SanityTest; -} \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/js/test/shell-smoke-test.sh b/build/js-transpiled/node_modules/js-beautify/js/test/shell-smoke-test.sh deleted file mode 100755 index c32266d1..00000000 --- a/build/js-transpiled/node_modules/js-beautify/js/test/shell-smoke-test.sh +++ /dev/null @@ -1,383 +0,0 @@ -#!/usr/bin/env bash - -REL_SCRIPT_DIR="`dirname \"$0\"`" -SCRIPT_DIR="`( cd \"$REL_SCRIPT_DIR\" && pwd )`" - - -test_cli_common() -{ - echo ---------------------------------------- - echo Testing common cli behavior... - CLI_SCRIPT_NAME=${1:?missing_param}.js - CLI_SCRIPT=$SCRIPT_DIR/../bin/$CLI_SCRIPT_NAME - echo Script: $CLI_SCRIPT - - # should find the minimal help output - $CLI_SCRIPT 2>&1 | grep -q "Must pipe input or define at least one file\." || { - $CLI_SCRIPT 2>&1 - echo "[$CLI_SCRIPT_NAME] Output should be help message." - exit 1 - } - - $CLI_SCRIPT 2> /dev/null && { - echo "[$CLI_SCRIPT_NAME (with no parameters)] Return code should be error." - exit 1 - } - - $CLI_SCRIPT -Z 2> /dev/null && { - echo "[$CLI_SCRIPT_NAME -Z] Return code for invalid parameter should be error." - exit 1 - } - - $CLI_SCRIPT -h > /dev/null || { - echo "[$CLI_SCRIPT_NAME -h] Return code should be success." - exit 1 - } - - $CLI_SCRIPT -v > /dev/null || { - echo "[$CLI_SCRIPT_NAME -v] Return code should be success." - exit 1 - } - - MISSING_FILE="$SCRIPT_DIR/../../../js/bin/missing_file" - MISSING_FILE_MESSAGE="Unable to open path" - $CLI_SCRIPT $MISSING_FILE 2> /dev/null && { - echo "[$CLI_SCRIPT_NAME $MISSING_FILE] Return code should be error." - exit 1 - } - - $CLI_SCRIPT $MISSING_FILE 2>&1 | grep -q "$MISSING_FILE_MESSAGE" || { - echo "[$CLI_SCRIPT_NAME $MISSING_FILE] Stderr should have useful message." - exit 1 - } - - if [ "`$CLI_SCRIPT $MISSING_FILE 2> /dev/null`" != "" ]; then - echo "[$CLI_SCRIPT_NAME $MISSING_FILE] Stdout should have no text." - exit 1 - fi - -} - -setup_temp() -{ - mkdir -p target - TEST_TEMP=$PWD/`mktemp -d target/test_temp_XXXX` - echo Created $TEST_TEMP... -} - -cleanup() -{ - rm -rf $TEST_TEMP && echo Removed $TEST_TEMP... - test -z $1 || exit $1 -} - - -test_cli_js_beautify() -{ - echo ---------------------------------------- - echo Testing js-beautify cli behavior... - CLI_SCRIPT=$SCRIPT_DIR/../bin/js-beautify.js - - $CLI_SCRIPT $SCRIPT_DIR/../bin/js-beautify.js > /dev/null || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js was expected succeed." - exit 1 - } - - $CLI_SCRIPT $SCRIPT_DIR/../bin/css-beautify.js > /dev/null || { - echo "js-beautify output for $SCRIPT_DIR/../bin/css-beautify.js was expected succeed." - exit 1 - } - - $CLI_SCRIPT $SCRIPT_DIR/../bin/js-beautify.js | diff $SCRIPT_DIR/../bin/js-beautify.js - || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js was expected to be unchanged." - exit 1 - } - - node $SCRIPT_DIR/../lib/cli.js $SCRIPT_DIR/../bin/js-beautify.js | diff $SCRIPT_DIR/../bin/js-beautify.js - || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js was expected to be unchanged." - exit 1 - } - - cat $SCRIPT_DIR/../bin/js-beautify.js | $CLI_SCRIPT | diff $SCRIPT_DIR/../bin/js-beautify.js - || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js was expected to be unchanged." - exit 1 - } - - cat $SCRIPT_DIR/../bin/js-beautify.js | $CLI_SCRIPT - | diff $SCRIPT_DIR/../bin/js-beautify.js - || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js was expected to be unchanged." - exit 1 - } - - setup_temp - cat $SCRIPT_DIR/../bin/js-beautify.js | $CLI_SCRIPT -o $TEST_TEMP/js-beautify-pipe.js - && diff $TEST_TEMP/js-beautify-pipe.js $SCRIPT_DIR/../bin/js-beautify.js || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js should have been created in $TEST_TEMP/js-beautify-pipe.js." - cleanup 1 - } - - $CLI_SCRIPT -o $TEST_TEMP/js-beautify.js $SCRIPT_DIR/../bin/js-beautify.js && diff $SCRIPT_DIR/../bin/js-beautify.js $TEST_TEMP/js-beautify.js || { - echo "js-beautify output for $SCRIPT_DIR/../bin/js-beautify.js should have been created in $TEST_TEMP/js-beautify.js." - cleanup 1 - } - - # ensure new line settings work - $CLI_SCRIPT -o $TEST_TEMP/js-beautify-n.js -e '\n' $SCRIPT_DIR/../bin/js-beautify.js - $CLI_SCRIPT -o $TEST_TEMP/js-beautify-rn.js -e '\r\n' $TEST_TEMP/js-beautify-n.js - - # ensure eol processed correctly - $CLI_SCRIPT -o $TEST_TEMP/js-beautify-n-dash.js --indent-size 2 --eol '\n' $TEST_TEMP/js-beautify-n.js - $CLI_SCRIPT -o $TEST_TEMP/js-beautify-rn-dash.js --indent-size 2 --eol '\r\n' $TEST_TEMP/js-beautify-n.js - diff -q $TEST_TEMP/js-beautify-n-dash.js $TEST_TEMP/js-beautify-rn-dash.js && { - diff $TEST_TEMP/js-beautify-n-dash.js $TEST_TEMP/js-beautify-rn-dash.js | cat -t -e - echo "js-beautify output for $TEST_TEMP/js-beautify-n-dash.js and $TEST_TEMP/js-beautify-rn-dash.js was expected to be different." - cleanup 1 - } - - diff -q $TEST_TEMP/js-beautify-n.js $TEST_TEMP/js-beautify-rn.js && { - diff $TEST_TEMP/js-beautify-n.js $TEST_TEMP/js-beautify-rn.js | cat -t -e - echo "js-beautify output for $TEST_TEMP/js-beautify-n.js and $TEST_TEMP/js-beautify-rn.js was expected to be different." - cleanup 1 - } - - $CLI_SCRIPT $TEST_TEMP/js-beautify-n.js | diff -q $TEST_TEMP/js-beautify-n.js - || { - echo "js-beautify output for $TEST_TEMP/js-beautify-n.js was expected to be unchanged." - cleanup 1 - } - - $CLI_SCRIPT -e 'auto' $TEST_TEMP/js-beautify-rn.js | diff -q $TEST_TEMP/js-beautify-rn.js - || { - echo "js-beautify output for $TEST_TEMP/js-beautify-rn.js was expected to be unchanged." - cleanup 1 - } - - # EditorConfig related tests - cp -r js/test/resources/editorconfig $TEST_TEMP/ - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/example.js --end-with-newline --indent-size 4 -e '\n' $TEST_TEMP/editorconfig/example-base.js - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/example-ec.js --indent-size 2 -e '\n' $TEST_TEMP/editorconfig/example-base.js - - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/cr/example.js --end-with-newline --indent-size 4 -e '\n' $TEST_TEMP/editorconfig/example-base.js - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/cr/example-ec.js --indent-size 2 -e '\r' $TEST_TEMP/editorconfig/example-base.js - - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/crlf/example.js --end-with-newline --indent-size 4 -e '\n' $TEST_TEMP/editorconfig/example-base.js - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/crlf/example-ec.js --indent-size 2 -e '\r\n' $TEST_TEMP/editorconfig/example-base.js - - $CLI_SCRIPT -o $TEST_TEMP/editorconfig/error/example.js --end-with-newline --indent-size 4 -e '\n' $TEST_TEMP/editorconfig/example-base.js - - pushd $TEST_TEMP/editorconfig - - cd $TEST_TEMP/editorconfig/error - $CLI_SCRIPT --editorconfig $TEST_TEMP/js-beautify-n.js \ - > /dev/null || { - echo "Invalid editorconfig file should not report error (consistent with the EditorConfig)." - cleanup 1 - } - - $CLI_SCRIPT --editorconfig example.js \ - > /dev/null || { - echo "Invalid editorconfig file should not report error (consistent with the EditorConfig)." - cleanup 1 - } - - # TODO: EditorConfig setting should NOT overide cli setting, but that is - # the current by-design behavior, due to code limitations. - - # file input scenario - SCENARIO=a - cd $TEST_TEMP/editorconfig || exit 1 - $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js example.js \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - cd $TEST_TEMP/editorconfig/crlf || exit 1 - $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js example.js \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - cd $TEST_TEMP/editorconfig/cr || exit 1 - $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js example.js \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - # stdin input to stdout scenario - SCENARIO=b - cd $TEST_TEMP/editorconfig || exit 1 - echo "cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig > example-${SCENARIO}.js" - cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig > example-${SCENARIO}.js \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - cd $TEST_TEMP/editorconfig/crlf || exit 1 - echo "cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig > example-${SCENARIO}.js" - cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig > example-${SCENARIO}.js \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - cd $TEST_TEMP/editorconfig/cr || exit 1 - echo "cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig > example-${SCENARIO}.js" - cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig > example-${SCENARIO}.js \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - - # stdin input to file scenario - SCENARIO=c - cd $TEST_TEMP/editorconfig || exit 1 - echo "cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js" - cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js - \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - cd $TEST_TEMP/editorconfig/crlf || exit 1 - cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js - \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - cd $TEST_TEMP/editorconfig/cr || exit 1 - cat example.js | $CLI_SCRIPT --end-with-newline --indent-size 6 --editorconfig -o example-${SCENARIO}.js - \ - && diff -q example-${SCENARIO}.js example-ec.js || { - echo "EditorConfig setting should overide cli setting." - diff example-${SCENARIO}.js example-ec.js | cat -t -e - cleanup 1 - } - - popd - # End EditorConfig - - # ensure unchanged files are not overwritten - $CLI_SCRIPT -o $TEST_TEMP/js-beautify.js $SCRIPT_DIR/../bin/js-beautify.js - cp -p $TEST_TEMP/js-beautify.js $TEST_TEMP/js-beautify-old.js - touch $TEST_TEMP/js-beautify.js - sleep 2 - touch $TEST_TEMP/js-beautify-old.js - $CLI_SCRIPT -r $TEST_TEMP/js-beautify.js && test $TEST_TEMP/js-beautify.js -nt $TEST_TEMP/js-beautify-old.js && { - echo "js-beautify should not replace unchanged file $TEST_TEMP/js-beautify.js when using -r" - cleanup 1 - } - - $CLI_SCRIPT -o $TEST_TEMP/js-beautify.js $TEST_TEMP/js-beautify.js && test $TEST_TEMP/js-beautify.js -nt $TEST_TEMP/js-beautify-old.js && { - echo "js-beautify should not replace unchanged file $TEST_TEMP/js-beautify.js when using -o and same file name" - cleanup 1 - } - - $CLI_SCRIPT -o $TEST_TEMP/js-beautify.js $TEST_TEMP/js-beautify-old.js && test $TEST_TEMP/js-beautify.js -nt $TEST_TEMP/js-beautify-old.js && { - echo "js-beautify should not replace unchanged file $TEST_TEMP/js-beautify.js when using -o and different file name" - cleanup 1 - } - - $CLI_SCRIPT $SCRIPT_DIR/../bin/css-beautify.js | diff -q $SCRIPT_DIR/../bin/css-beautify.js - && { - echo "js-beautify output for $SCRIPT_DIR/../bin/css-beautify.js was expected to be different." - cleanup 1 - } - - unset HOME - unset USERPROFILE - $CLI_SCRIPT -o $TEST_TEMP/example1-default.js $SCRIPT_DIR/resources/example1.js || exit 1 - - $CLI_SCRIPT -o $TEST_TEMP/example1-sanity.js $TEST_TEMP/example1-default.js || exit 1 - diff -q $TEST_TEMP/example1-default.js $TEST_TEMP/example1-sanity.js || { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be identical after no change in settings." - cleanup 1 - } - - cd $SCRIPT_DIR/resources/configerror - $CLI_SCRIPT $TEST_TEMP/example1-default.js 2>&1 | grep -q "Error while loading beautifier configuration\." || { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be configration load error message." - cleanup 1 - } - - cd $SCRIPT_DIR/resources/indent11chars - $CLI_SCRIPT $TEST_TEMP/example1-default.js | diff -q $TEST_TEMP/example1-default.js - && { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be different based on CWD settings." - cleanup 1 - } - - cd $SCRIPT_DIR/resources/indent11chars/subDir1/subDir2 - $CLI_SCRIPT $TEST_TEMP/example1-default.js | diff -q $TEST_TEMP/example1-default.js - && { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be different based on CWD parent folder settings." - cleanup 1 - } - cd $SCRIPT_DIR - - export HOME=$SCRIPT_DIR/resources/indent11chars - $CLI_SCRIPT $TEST_TEMP/example1-default.js | diff -q $TEST_TEMP/example1-default.js - && { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be different based on HOME settings." - cleanup 1 - } - - $CLI_SCRIPT -o $TEST_TEMP/example1-indent11chars.js $TEST_TEMP/example1-default.js - - unset HOME - export USERPROFILE=$SCRIPT_DIR/resources/indent11chars - # node -p 'process.env["USERPROFILE"] || process.env["HOME"] || "unset"' - $CLI_SCRIPT $TEST_TEMP/example1-default.js | diff -q $TEST_TEMP/example1-indent11chars.js - || { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be identical for same HOME and USERPROFILE settings." - cleanup 1 - } - - $CLI_SCRIPT $TEST_TEMP/example1-default.js | diff -q $TEST_TEMP/example1-default.js - && { - echo "js-beautify output for $TEST_TEMP/example1-default.js was expected to be different based on USERPROFILE settings." - cleanup 1 - } - - cleanup -} - -test_smoke_js_beautify() -{ - echo ---------------------------------------- - echo Testing js-beautify functionality... - node $SCRIPT_DIR/node-beautify-tests.js || exit 1 - node $SCRIPT_DIR/amd-beautify-tests.js || exit 1 -} - - -test_performance_js_beautify() -{ - echo ---------------------------------------- - echo Testing js-beautify performance... - node $SCRIPT_DIR/node-beautify-perf-tests.js || exit 1 - echo ---------------------------------------- -} - -test_performance_html_beautify() -{ - echo ---------------------------------------- - echo Testing html-beautify performance... - node $SCRIPT_DIR/node-beautify-html-perf-tests.js || exit 1 - echo ---------------------------------------- -} - -test_cli_common css-beautify -test_cli_common html-beautify -test_cli_common js-beautify - -test_cli_js_beautify -test_smoke_js_beautify -test_performance_js_beautify -test_performance_html_beautify - -echo ---------------------------------------- -echo $0 - PASSED. -echo ---------------------------------------- diff --git a/build/js-transpiled/node_modules/js-beautify/jsbeautifyrc b/build/js-transpiled/node_modules/js-beautify/jsbeautifyrc deleted file mode 100644 index eb55c233..00000000 --- a/build/js-transpiled/node_modules/js-beautify/jsbeautifyrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "indent_size": 4, - "indent_char": " ", - "indent_level": 0, - "indent_with_tabs": false, - "preserve_newlines": true, - "max_preserve_newlines": 10, - "jslint_happy": false, - "space_after_anon_function": false, - "brace_style": "collapse,preserve-inline", - "keep_array_indentation": false, - "keep_function_indentation": false, - "space_before_conditional": true, - "break_chained_methods": false, - "eval_code": false, - "unescape_strings": false, - "wrap_line_length": 0 -} diff --git a/build/js-transpiled/node_modules/js-beautify/package.json b/build/js-transpiled/node_modules/js-beautify/package.json index 9e1e7afb..9119d237 100644 --- a/build/js-transpiled/node_modules/js-beautify/package.json +++ b/build/js-transpiled/node_modules/js-beautify/package.json @@ -1,30 +1,30 @@ { - "_from": "js-beautify@1.6.14", - "_id": "js-beautify@1.6.14", + "_from": "js-beautify@1.8.8", + "_id": "js-beautify@1.8.8", "_inBundle": false, - "_integrity": "sha1-07j3Mi0CuSd9WL0jgmTDJ+WARM0=", + "_integrity": "sha512-qVNq7ZZ7ZbLdzorvSlRDadS0Rh5oyItaE95v6I4wbbuSiijxn7SnnsV6dvKlcXuO2jX7lK8tn9fBulx34K/Ejg==", "_location": "/js-beautify", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "js-beautify@1.6.14", + "raw": "js-beautify@1.8.8", "name": "js-beautify", "escapedName": "js-beautify", - "rawSpec": "1.6.14", + "rawSpec": "1.8.8", "saveSpec": null, - "fetchSpec": "1.6.14" + "fetchSpec": "1.8.8" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.6.14.tgz", - "_shasum": "d3b8f7322d02b9277d58bd238264c327e58044cd", - "_spec": "js-beautify@1.6.14", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.8.tgz", + "_shasum": "1eb175b73a3571a5f1ed8d98e7cf2b05bfa98471", + "_spec": "js-beautify@1.8.8", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Einar Lielmanis", - "email": "einar@jsbeautifier.org" + "email": "einar@beautifier.io" }, "bin": { "css-beautify": "./js/bin/css-beautify.js", @@ -70,29 +70,39 @@ }, { "name": "Liam Newman", - "email": "bitwiseman@gmail.com" + "email": "bitwiseman@beautifier.io" } ], "dependencies": { "config-chain": "~1.1.5", - "editorconfig": "^0.13.2", + "editorconfig": "^0.15.0", "mkdirp": "~0.5.0", - "nopt": "~3.0.1" + "nopt": "~4.0.1" }, "deprecated": false, - "description": "jsbeautifier.org for node", + "description": "beautifier.io for node", "devDependencies": { - "benchmark": "2.1.0", - "jshint": "~2.9.1", - "mustache": "~2.2.1", - "node-static": "~0.7.1", - "requirejs": "2.1.x" + "benchmark": "^2.1.4", + "jshint": "^2.9.6", + "mocha": "^5.2.0", + "mustache": "^2.3.2", + "node-static": "^0.7.10", + "requirejs": "^2.3.6", + "webpack": "^4.17.1", + "webpack-command": "^0.4.1" }, "directories": { "lib": "js/lib", "test": "js/test" }, - "homepage": "http://jsbeautifier.org/", + "files": [ + "js/bin/", + "js/lib/*.js", + "js/lib/unpackers/", + "js/index.js", + "js/src/**/*" + ], + "homepage": "https://beautifier.io/", "keywords": [ "beautify", "beautifier", @@ -106,5 +116,5 @@ "url": "git://github.com/beautify-web/js-beautify.git" }, "scripts": {}, - "version": "1.6.14" + "version": "1.8.8" } diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/css/node.mustache b/build/js-transpiled/node_modules/js-beautify/test/data/css/node.mustache deleted file mode 100644 index 612e2f29..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/css/node.mustache +++ /dev/null @@ -1,269 +0,0 @@ -/* -{{&header_text}} - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ -/*jshint unused:false */ - -function run_css_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) -{ - - var default_opts = { - indent_size: 4, - indent_char: ' ', - preserve_newlines: true, - jslint_happy: false, - keep_array_indentation: false, - brace_style: 'collapse', - space_before_conditional: true, - break_chained_methods: false, - selector_separator: '\n', - end_with_newline: false - }; - var opts; - -{{#default_options}} default_opts.{{name}} = {{&value}}; -{{/default_options}} - - function reset_options() - { - opts = JSON.parse(JSON.stringify(default_opts)); - } - - function test_css_beautifier(input) - { - return css_beautify(input, opts); - } - - var sanitytest; - - // test the input on beautifier with the current flag settings - // does not check the indentation / surroundings as bt() does - function test_fragment(input, expected) - { - expected = expected || expected === '' ? expected : input; - sanitytest.expect(input, expected); - // if the expected is different from input, run it again - // expected output should be unchanged when run twice. - if (expected !== input) { - sanitytest.expect(expected, expected); - } - - // Everywhere we do newlines, they should be replaced with opts.eol - opts.eol = '\r\\n'; - expected = expected.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - if (input.indexOf('\n') !== -1) { - input = input.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - // Ensure support for auto eol detection - opts.eol = 'auto'; - sanitytest.expect(input, expected); - } - opts.eol = '\n'; - } - - // test css - function t(input, expectation) - { - var wrapped_input, wrapped_expectation; - - expectation = expectation || expectation === '' ? expectation : input; - sanitytest.test_function(test_css_beautifier, 'css_beautify'); - test_fragment(input, expectation); - } - - function unicode_char(value) { - return String.fromCharCode(value); - } - - function beautifier_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - t(".tabs {}"); - -{{#groups}}{{#set_mustache_tags}}.{{/set_mustache_tags}} - //============================================================ - {{^matrix}} - // {{&name}} - reset_options(); - {{#options}} - opts.{{name}} = {{&value}}; - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}}; - {{/tests}} - - {{/matrix}} - {{#matrix}} - // {{&name}} - ({{#matrix_context_string}}.{{/matrix_context_string}}) - reset_options(); - {{#options}} - opts.{{name}} = {{&value}}; - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}}; - {{/tests}} - - {{/matrix}} -{{#unset_mustache_tags}}.{{/unset_mustache_tags}}{{/groups}} - } - - function beautifier_unconverted_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - // test basic css beautifier - t(".tabs {}"); - t(".tabs{color:red;}", ".tabs {\n\tcolor: red;\n}"); - t(".tabs{color:rgb(255, 255, 0)}", ".tabs {\n\tcolor: rgb(255, 255, 0)\n}"); - t(".tabs{background:url('back.jpg')}", ".tabs {\n\tbackground: url('back.jpg')\n}"); - t("#bla, #foo{color:red}", "#bla,\n#foo {\n\tcolor: red\n}"); - t("@media print {.tab{}}", "@media print {\n\t.tab {}\n}"); - t("@media print {.tab{background-image:url(foo@2x.png)}}", "@media print {\n\t.tab {\n\t\tbackground-image: url(foo@2x.png)\n\t}\n}"); - - t("a:before {\n" + - "\tcontent: 'a{color:black;}\"\"\\'\\'\"\\n\\n\\na{color:black}\';\n" + - "}"); - - //lead-in whitespace determines base-indent. - // lead-in newlines are stripped. - t("\n\na, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}"); - t(" a, img {padding: 0.2px}", " a,\n img {\n \tpadding: 0.2px\n }"); - t(" \t \na, img {padding: 0.2px}", " \t a,\n \t img {\n \t \tpadding: 0.2px\n \t }"); - t("\n\n a, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}"); - - // separate selectors - t("#bla, #foo{color:red}", "#bla,\n#foo {\n\tcolor: red\n}"); - t("a, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}"); - - // block nesting - t("#foo {\n\tbackground-image: url(foo@2x.png);\n\t@font-face {\n\t\tfont-family: 'Bitstream Vera Serif Bold';\n\t\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n\t}\n}"); - t("@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo@2x.png);\n\t}\n\t@font-face {\n\t\tfont-family: 'Bitstream Vera Serif Bold';\n\t\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n\t}\n}"); -/* -@font-face { - font-family: 'Bitstream Vera Serif Bold'; - src: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf'); -} -@media screen { - #foo:hover { - background-image: url(foo.png); - } - @media screen and (min-device-pixel-ratio: 2) { - @font-face { - font-family: 'Helvetica Neue' - } - #foo:hover { - background-image: url(foo@2x.png); - } - } -} -*/ - t("@font-face {\n\tfont-family: 'Bitstream Vera Serif Bold';\n\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n}\n@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo.png);\n\t}\n\t@media screen and (min-device-pixel-ratio: 2) {\n\t\t@font-face {\n\t\t\tfont-family: 'Helvetica Neue'\n\t\t}\n\t\t#foo:hover {\n\t\t\tbackground-image: url(foo@2x.png);\n\t\t}\n\t}\n}"); - - // less-css cases - t('.well{@well-bg:@bg-color;@well-fg:@fg-color;}','.well {\n\t@well-bg: @bg-color;\n\t@well-fg: @fg-color;\n}'); - t('.well {&.active {\nbox-shadow: 0 1px 1px @border-color, 1px 0 1px @border-color;}}', - '.well {\n' + - '\t&.active {\n' + - '\t\tbox-shadow: 0 1px 1px @border-color, 1px 0 1px @border-color;\n' + - '\t}\n' + - '}'); - t('a {\n' + - '\tcolor: blue;\n' + - '\t&:hover {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '\t& & &&&.active {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '}'); - - // Not sure if this is sensible - // but I believe it is correct to not remove the space in "&: hover". - t('a {\n' + - '\t&: hover {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '}'); - - // import - t('@import "test";'); - - // don't break nested pseudo-classes - t("a:first-child{color:red;div:first-child{color:black;}}", - "a:first-child {\n\tcolor: red;\n\tdiv:first-child {\n\t\tcolor: black;\n\t}\n}"); - - // handle SASS/LESS parent reference - t("div{&:first-letter {text-transform: uppercase;}}", - "div {\n\t&:first-letter {\n\t\ttext-transform: uppercase;\n\t}\n}"); - - //nested modifiers (&:hover etc) - t(".tabs{&:hover{width:10px;}}", ".tabs {\n\t&:hover {\n\t\twidth: 10px;\n\t}\n}"); - t(".tabs{&.big{width:10px;}}", ".tabs {\n\t&.big {\n\t\twidth: 10px;\n\t}\n}"); - t(".tabs{&>big{width:10px;}}", ".tabs {\n\t&>big {\n\t\twidth: 10px;\n\t}\n}"); - t(".tabs{&+.big{width:10px;}}", ".tabs {\n\t&+.big {\n\t\twidth: 10px;\n\t}\n}"); - - //nested rules - t(".tabs{.child{width:10px;}}", ".tabs {\n\t.child {\n\t\twidth: 10px;\n\t}\n}"); - - //variables - t("@myvar:10px;.tabs{width:10px;}", "@myvar: 10px;\n.tabs {\n\twidth: 10px;\n}"); - t("@myvar:10px; .tabs{width:10px;}", "@myvar: 10px;\n.tabs {\n\twidth: 10px;\n}"); - - // test options - opts.indent_size = 2; - opts.indent_char = ' '; - opts.selector_separator_newline = false; - - // pseudo-classes and pseudo-elements - t("#foo:hover {\n background-image: url(foo@2x.png)\n}"); - t("#foo *:hover {\n color: purple\n}"); - t("::selection {\n color: #ff0000;\n}"); - - // TODO: don't break nested pseduo-classes - t("@media screen {.tab,.bat:hover {color:red}}", "@media screen {\n .tab, .bat:hover {\n color: red\n }\n}"); - - // particular edge case with braces and semicolons inside tags that allows custom text - t("a:not(\"foobar\\\";{}omg\"){\ncontent: 'example\\';{} text';\ncontent: \"example\\\";{} text\";}", - "a:not(\"foobar\\\";{}omg\") {\n content: 'example\\';{} text';\n content: \"example\\\";{} text\";\n}"); - - // may not eat the space before "[" - t('html.js [data-custom="123"] {\n opacity: 1.00;\n}'); - t('html.js *[data-custom="123"] {\n opacity: 1.00;\n}'); - } - - beautifier_tests(); - beautifier_unconverted_tests(); -} - -if (typeof exports !== "undefined") { - exports.run_css_tests = run_css_tests; -} diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/css/python.mustache b/build/js-transpiled/node_modules/js-beautify/test/data/css/python.mustache deleted file mode 100644 index 8811661f..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/css/python.mustache +++ /dev/null @@ -1,270 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -''' -{{&header_text}} - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -''' - -import unittest -import cssbeautifier -import copy - -class CSSBeautifierTest(unittest.TestCase): - - options = None - - @classmethod - def setUpClass(cls): - false = False - true = True - - default_options = cssbeautifier.default_options() - default_options.indent_size = 1 - default_options.indent_char = '\t' - default_options.selector_separator_newline = true - default_options.end_with_newline = false - default_options.newline_between_rules = false - -{{#default_options}} default_options.{{name}} = {{&value}} -{{/default_options}} - - cls.default_options = default_options - - def reset_options(self): - self.options = copy.copy(self.default_options) - - def testGenerated(self): - self.reset_options() - test_fragment = self.decodesto - t = self.decodesto - - false = False - true = True - -{{#groups}}{{#set_mustache_tags}}.{{/set_mustache_tags}} - #============================================================ - {{^matrix}} - # {{&name}} - self.reset_options(); - {{#options}} - self.options.{{name}} = {{&value}} - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}} - {{/tests}} - - {{/matrix}} - {{#matrix}} - # {{&name}} - ({{#matrix_context_string}}.{{/matrix_context_string}}) - self.reset_options(); - {{#options}} - self.options.{{name}} = {{&value}} - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}} - {{/tests}} - - {{/matrix}} -{{#unset_mustache_tags}}.{{/unset_mustache_tags}}{{/groups}} - - def testNewline(self): - self.reset_options() - t = self.decodesto - - self.options.end_with_newline = True - t("", "\n") - t("\n", "\n") - t(".tabs{}\n", ".tabs {}\n") - t(".tabs{}", ".tabs {}\n") - - def testBasics(self): - self.reset_options() - t = self.decodesto - - t("", "") - t("\n", "") - t(".tabs{}\n", ".tabs {}") - t(".tabs{}", ".tabs {}") - t(".tabs{color:red}", ".tabs {\n\tcolor: red\n}") - t(".tabs{color:rgb(255, 255, 0)}", ".tabs {\n\tcolor: rgb(255, 255, 0)\n}") - t(".tabs{background:url('back.jpg')}", ".tabs {\n\tbackground: url('back.jpg')\n}") - t("#bla, #foo{color:red}", "#bla,\n#foo {\n\tcolor: red\n}") - t("@media print {.tab{}}", "@media print {\n\t.tab {}\n}") - t("@media print {.tab{background-image:url(foo@2x.png)}}", "@media print {\n\t.tab {\n\t\tbackground-image: url(foo@2x.png)\n\t}\n}") - - t("a:before {\n" + - "\tcontent: 'a{color:black;}\"\"\\'\\'\"\\n\\n\\na{color:black}\';\n" + - "}"); - - # may not eat the space before "[" - t('html.js [data-custom="123"] {\n\topacity: 1.00;\n}') - t('html.js *[data-custom="123"] {\n\topacity: 1.00;\n}') - - # lead-in whitespace determines base-indent. - # lead-in newlines are stripped. - t("\n\na, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}") - t(" a, img {padding: 0.2px}", " a,\n img {\n \tpadding: 0.2px\n }") - t(" \t \na, img {padding: 0.2px}", " \t a,\n \t img {\n \t \tpadding: 0.2px\n \t }") - t("\n\n a, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}") - - def testSeperateSelectors(self): - self.reset_options() - t = self.decodesto - - t("#bla, #foo{color:red}", "#bla,\n#foo {\n\tcolor: red\n}") - t("a, img {padding: 0.2px}", "a,\nimg {\n\tpadding: 0.2px\n}") - - - def testBlockNesting(self): - self.reset_options() - t = self.decodesto - - t("#foo {\n\tbackground-image: url(foo@2x.png);\n\t@font-face {\n\t\tfont-family: 'Bitstream Vera Serif Bold';\n\t\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n\t}\n}") - t("@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo@2x.png);\n\t}\n\t@font-face {\n\t\tfont-family: 'Bitstream Vera Serif Bold';\n\t\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n\t}\n}") - -# @font-face { -# font-family: 'Bitstream Vera Serif Bold'; -# src: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf'); -# } -# @media screen { -# #foo:hover { -# background-image: url(foo.png); -# } -# @media screen and (min-device-pixel-ratio: 2) { -# @font-face { -# font-family: 'Helvetica Neue' -# } -# #foo:hover { -# background-image: url(foo@2x.png); -# } -# } -# } - t("@font-face {\n\tfont-family: 'Bitstream Vera Serif Bold';\n\tsrc: url('http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf');\n}\n@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo.png);\n\t}\n\t@media screen and (min-device-pixel-ratio: 2) {\n\t\t@font-face {\n\t\t\tfont-family: 'Helvetica Neue'\n\t\t}\n\t\t#foo:hover {\n\t\t\tbackground-image: url(foo@2x.png);\n\t\t}\n\t}\n}") - - - def testOptions(self): - self.reset_options() - self.options.indent_size = 2 - self.options.indent_char = ' ' - self.options.selector_separator_newline = False - t = self.decodesto - - # pseudo-classes and pseudo-elements - t("#foo:hover {\n background-image: url(foo@2x.png)\n}") - t("#foo *:hover {\n color: purple\n}") - t("::selection {\n color: #ff0000;\n}") - - # TODO: don't break nested pseduo-classes - t("@media screen {.tab,.bat:hover {color:red}}", "@media screen {\n .tab, .bat:hover {\n color: red\n }\n}") - - # particular edge case with braces and semicolons inside tags that allows custom text - t( "a:not(\"foobar\\\";{}omg\"){\ncontent: 'example\\';{} text';\ncontent: \"example\\\";{} text\";}", - "a:not(\"foobar\\\";{}omg\") {\n content: 'example\\';{} text';\n content: \"example\\\";{} text\";\n}") - - def testLessCss(self): - self.reset_options() - t = self.decodesto - - t('.well{ \n @well-bg:@bg-color;@well-fg:@fg-color;}','.well {\n\t@well-bg: @bg-color;\n\t@well-fg: @fg-color;\n}') - t('.well {&.active {\nbox-shadow: 0 1px 1px @border-color, 1px 0 1px @border-color;}}', - '.well {\n' + - '\t&.active {\n' + - '\t\tbox-shadow: 0 1px 1px @border-color, 1px 0 1px @border-color;\n' + - '\t}\n' + - '}') - t('a {\n' + - '\tcolor: blue;\n' + - '\t&:hover {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '\t& & &&&.active {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '}') - - # Not sure if this is sensible - # but I believe it is correct to not remove the space in "&: hover". - t('a {\n' + - '\t&: hover {\n' + - '\t\tcolor: green;\n' + - '\t}\n' + - '}'); - - # import - t('@import "test";'); - - # don't break nested pseudo-classes - t("a:first-child{color:red;div:first-child{color:black;}}", - "a:first-child {\n\tcolor: red;\n\tdiv:first-child {\n\t\tcolor: black;\n\t}\n}"); - - # handle SASS/LESS parent reference - t("div{&:first-letter {text-transform: uppercase;}}", - "div {\n\t&:first-letter {\n\t\ttext-transform: uppercase;\n\t}\n}"); - - # nested modifiers (&:hover etc) - t(".tabs{&:hover{width:10px;}}", ".tabs {\n\t&:hover {\n\t\twidth: 10px;\n\t}\n}") - t(".tabs{&.big{width:10px;}}", ".tabs {\n\t&.big {\n\t\twidth: 10px;\n\t}\n}") - t(".tabs{&>big{width:10px;}}", ".tabs {\n\t&>big {\n\t\twidth: 10px;\n\t}\n}") - t(".tabs{&+.big{width:10px;}}", ".tabs {\n\t&+.big {\n\t\twidth: 10px;\n\t}\n}") - - # nested rules - t(".tabs{.child{width:10px;}}", ".tabs {\n\t.child {\n\t\twidth: 10px;\n\t}\n}") - - # variables - t("@myvar:10px;.tabs{width:10px;}", "@myvar: 10px;\n.tabs {\n\twidth: 10px;\n}") - t("@myvar:10px; .tabs{width:10px;}", "@myvar: 10px;\n.tabs {\n\twidth: 10px;\n}") - - def decodesto(self, input, expectation=None): - if expectation == None: - expectation = input - - self.assertMultiLineEqual( - cssbeautifier.beautify(input, self.options), expectation) - - # if the expected is different from input, run it again - # expected output should be unchanged when run twice. - if not expectation != input: - self.assertMultiLineEqual( - cssbeautifier.beautify(expectation, self.options), expectation) - - # Everywhere we do newlines, they should be replaced with opts.eol - self.options.eol = '\r\\n'; - expectation = expectation.replace('\n', '\r\n') - self.assertMultiLineEqual( - cssbeautifier.beautify(input, self.options), expectation) - if input.find('\n') != -1: - input = input.replace('\n', '\r\n') - self.assertMultiLineEqual( - cssbeautifier.beautify(input, self.options), expectation) - # Ensure support for auto eol detection - self.options.eol = 'auto' - self.assertMultiLineEqual( - cssbeautifier.beautify(input, self.options), expectation) - self.options.eol = '\n' - -if __name__ == '__main__': - unittest.main() diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/css/tests.js b/build/js-transpiled/node_modules/js-beautify/test/data/css/tests.js deleted file mode 100644 index 43ca23a2..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/css/tests.js +++ /dev/null @@ -1,445 +0,0 @@ -/* - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -exports.test_data = { - default_options: [ - { name: "indent_size", value: "1" }, - { name: "indent_char", value: "'\\t'" }, - { name: "selector_separator_newline", value: "true" }, - { name: "end_with_newline", value: "false" }, - { name: "newline_between_rules", value: "false" }, - { name: "space_around_combinator", value: "false" }, - { name: "preserve_newlines", value: "false" }, - // deprecated - { name: "space_around_selector_separator", value: "false" } - ], - groups: [{ - name: "End With Newline", - description: "", - matrix: [{ - options: [ - { name: "end_with_newline", value: "true" } - ], - eof: '\\n' - }, { - options: [ - { name: "end_with_newline", value: "false" } - ], - eof: '' - }], - tests: [ - { fragment: true, input: '', output: '{{eof}}' }, - { fragment: true, input: ' .tabs{}', output: ' .tabs {}{{eof}}' }, - { fragment: true, input: ' \n\n.tabs{}\n\n\n\n', output: ' .tabs {}{{eof}}' }, - { fragment: true, input: '\n', output: '{{eof}}' } - ], - }, { - name: "Empty braces", - description: "", - tests: [ - { input: '.tabs{}', output: '.tabs {}' }, - { input: '.tabs { }', output: '.tabs {}' }, - { input: '.tabs { }', output: '.tabs {}' }, - // When we support preserving newlines this will need to change - { input: '.tabs \n{\n \n }', output: '.tabs {}' } - ], - }, { - name: "", - description: "", - tests: [{ - input: '#cboxOverlay {\n\tbackground: url(images/overlay.png) repeat 0 0;\n\topacity: 0.9;\n\tfilter: alpha(opacity = 90);\n}', - output: '#cboxOverlay {\n\tbackground: url(images/overlay.png) repeat 0 0;\n\topacity: 0.9;\n\tfilter: alpha(opacity=90);\n}' - }, ], - }, { - name: "Support simple language specific option inheritance/overriding", - description: "Support simple language specific option inheritance/overriding", - matrix: [{ - options: [ - { name: "indent_char", value: "' '" }, - { name: "indent_size", value: "4" }, - { name: "js", value: "{ 'indent_size': 3 }" }, - { name: "css", value: "{ 'indent_size': 5 }" } - ], - c: ' ', - }, - { - options: [ - { name: "indent_char", value: "' '" }, - { name: "indent_size", value: "4" }, - { name: "html", value: "{ 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 } }" } - ], - c: ' ' - }, - { - options: [ - { name: "indent_char", value: "' '" }, - { name: "indent_size", value: "9" }, - { name: "html", value: "{ 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 8 }, 'indent_size': 2}" }, - { name: "js", value: "{ 'indent_size': 5 }" }, - { name: "css", value: "{ 'indent_size': 3 }" } - ], - c: ' ' - } - ], - tests: [{ - unchanged: [ - '.selector {', - '{{c}}font-size: 12px;', - '}' - ] - }] - }, { - name: "Space Around Combinator", - description: "", - matrix: [{ - options: [{ name: "space_around_combinator", value: "true" }], - space: ' ' - }, { - options: [{ name: "space_around_combinator", value: "false" }], - space: '' - }, { - // space_around_selector_separator is deprecated, but needs to keep working for now. - options: [{ name: "space_around_selector_separator", value: "true" }], - space: ' ' - }], - tests: [ - { input: 'a>b{}', output: 'a{{space}}>{{space}}b {}' }, - { input: 'a~b{}', output: 'a{{space}}~{{space}}b {}' }, - { input: 'a+b{}', output: 'a{{space}}+{{space}}b {}' }, - { input: 'a+b>c{}', output: 'a{{space}}+{{space}}b{{space}}>{{space}}c {}' }, - { input: 'a > b{}', output: 'a{{space}}>{{space}}b {}' }, - { input: 'a ~ b{}', output: 'a{{space}}~{{space}}b {}' }, - { input: 'a + b{}', output: 'a{{space}}+{{space}}b {}' }, - { input: 'a + b > c{}', output: 'a{{space}}+{{space}}b{{space}}>{{space}}c {}' }, - { - input: 'a > b{width: calc(100% + 45px);}', - output: [ - 'a{{space}}>{{space}}b {', - '\twidth: calc(100% + 45px);', - '}' - ] - }, - { - input: 'a ~ b{width: calc(100% + 45px);}', - output: [ - 'a{{space}}~{{space}}b {', - '\twidth: calc(100% + 45px);', - '}' - ] - }, - { - input: 'a + b{width: calc(100% + 45px);}', - output: [ - 'a{{space}}+{{space}}b {', - '\twidth: calc(100% + 45px);', - '}' - ] - }, - { - input: 'a + b > c{width: calc(100% + 45px);}', - output: [ - 'a{{space}}+{{space}}b{{space}}>{{space}}c {', - '\twidth: calc(100% + 45px);', - '}' - ] - } - ] - }, { - name: 'Selector Separator', - description: '', - matrix: [{ - options: [ - { name: 'selector_separator_newline', value: 'false' }, - { name: 'selector_separator', value: '" "' } - ], - separator: ' ', - separator1: ' ' - }, { - options: [ - { name: 'selector_separator_newline', value: 'false' }, - { name: 'selector_separator', value: '" "' } - ], - // BUG: #713 - separator: ' ', - separator1: ' ' - }, { - options: [ - { name: 'selector_separator_newline', value: 'true' }, - { name: 'selector_separator', value: '" "' } - ], - separator: '\\n', - separator1: '\\n\\t' - }, { - options: [ - { name: 'selector_separator_newline', value: 'true' }, - { name: 'selector_separator', value: '" "' } - ], - separator: '\\n', - separator1: '\\n\\t' - }], - tests: [ - { input: '#bla, #foo{color:green}', output: '#bla,{{separator}}#foo {\n\tcolor: green\n}' }, - { input: '@media print {.tab{}}', output: '@media print {\n\t.tab {}\n}' }, - { input: '@media print {.tab,.bat{}}', output: '@media print {\n\t.tab,{{separator1}}.bat {}\n}' }, - { input: '#bla, #foo{color:black}', output: '#bla,{{separator}}#foo {\n\tcolor: black\n}' }, { - input: 'a:first-child,a:first-child{color:red;div:first-child,div:hover{color:black;}}', - output: 'a:first-child,{{separator}}a:first-child {\n\tcolor: red;\n\tdiv:first-child,{{separator1}}div:hover {\n\t\tcolor: black;\n\t}\n}' - } - ] - }, { - name: "Preserve Newlines", - description: "", - matrix: [{ - options: [ - { name: "preserve_newlines", value: "true" } - ], - separator_input: '\\n\\n', - separator_output: '\\n\\n', - }, { - options: [ - { name: "preserve_newlines", value: "false" } - ], - separator_input: '\\n\\n', - separator_output: '\\n', - }], - tests: [ - { input: '.div {}{{separator_input}}.span {}', output: '.div {}{{separator_output}}.span {}' }, - { input: '#bla, #foo{\n\tcolor:black;{{separator_input}}\tfont-size: 12px;\n}', output: '#bla,\n#foo {\n\tcolor: black;{{separator_output}}\tfont-size: 12px;\n}' } - ], - }, - { - name: "Preserve Newlines and newline_between_rules", - description: "", - options: [ - { name: "preserve_newlines", value: "true" }, - { name: "newline_between_rules", value: "true" } - ], - tests: [ - { input: '.div {}.span {}', output: '.div {}\n\n.span {}' }, - { input: '#bla, #foo{\n\tcolor:black;\n\tfont-size: 12px;\n}', output: '#bla,\n#foo {\n\tcolor: black;\n\tfont-size: 12px;\n}' }, - { input: '#bla, #foo{\n\tcolor:black;\n\n\n\tfont-size: 12px;\n}', output: '#bla,\n#foo {\n\tcolor: black;\n\n\n\tfont-size: 12px;\n}' }, - { unchanged: '#bla,\n\n#foo {\n\tcolor: black;\n\tfont-size: 12px;\n}' }, - { unchanged: 'a {\n\tb: c;\n\n\n\td: {\n\t\te: f;\n\t}\n}' }, - { unchanged: '.div {}\n\n.span {}' }, - { unchanged: '.div {\n\ta: 1;\n\n\n\tb: 2;\n}\n\n\n\n.span {\n\ta: 1;\n}' }, - { unchanged: '.div {\n\n\n\ta: 1;\n\n\n\tb: 2;\n}\n\n\n\n.span {\n\ta: 1;\n}' }, - { unchanged: '@media screen {\n\t.div {\n\t\ta: 1;\n\n\n\t\tb: 2;\n\t}\n\n\n\n\t.span {\n\t\ta: 1;\n\t}\n}\n\n.div {}\n\n.span {}' }, - ], - }, { - name: "Preserve Newlines and add tabs", - options: [{ name: "preserve_newlines", value: "true" }], - description: "", - tests: [{ - input: '.tool-tip {\n\tposition: relative;\n\n\t\t\n\t.tool-tip-content {\n\t\t&>* {\n\t\t\tmargin-top: 0;\n\t\t}\n\t\t\n\n\t\t.mixin-box-shadow(.2rem .2rem .5rem rgba(0, 0, 0, .15));\n\t\tpadding: 1rem;\n\t\tposition: absolute;\n\t\tz-index: 10;\n\t}\n}', - output: '.tool-tip {\n\tposition: relative;\n\n\n\t.tool-tip-content {\n\t\t&>* {\n\t\t\tmargin-top: 0;\n\t\t}\n\\n\\n\t\t.mixin-box-shadow(.2rem .2rem .5rem rgba(0, 0, 0, .15));\n\t\tpadding: 1rem;\n\t\tposition: absolute;\n\t\tz-index: 10;\n\t}\n}' - }], - }, { - name: "Newline Between Rules", - description: "", - matrix: [{ - options: [ - { name: "newline_between_rules", value: "true" } - ], - separator: '\\n' - }, { - options: [ - { name: "newline_between_rules", value: "false" } - ], - separator: '' - }], - tests: [ - { input: '.div {}\n.span {}', output: '.div {}\n{{separator}}.span {}' }, - { input: '.div{}\n \n.span{}', output: '.div {}\n{{separator}}.span {}' }, - { input: '.div {} \n \n.span { } \n', output: '.div {}\n{{separator}}.span {}' }, - { input: '.div {\n \n} \n .span {\n } ', output: '.div {}\n{{separator}}.span {}' }, - { input: '.selector1 {\n\tmargin: 0; /* This is a comment including an url http://domain.com/path/to/file.ext */\n}\n.div{height:15px;}', output: '.selector1 {\n\tmargin: 0;\n\t/* This is a comment including an url http://domain.com/path/to/file.ext */\n}\n{{separator}}.div {\n\theight: 15px;\n}' }, - { input: '.tabs{width:10px;//end of line comment\nheight:10px;//another\n}\n.div{height:15px;}', output: '.tabs {\n\twidth: 10px; //end of line comment\n\theight: 10px; //another\n}\n{{separator}}.div {\n\theight: 15px;\n}' }, - { input: '#foo {\n\tbackground-image: url(foo@2x.png);\n\t@font-face {\n\t\tfont-family: "Bitstream Vera Serif Bold";\n\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n\t}\n}\n.div{height:15px;}', output: '#foo {\n\tbackground-image: url(foo@2x.png);\n\t@font-face {\n\t\tfont-family: "Bitstream Vera Serif Bold";\n\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n\t}\n}\n{{separator}}.div {\n\theight: 15px;\n}' }, - { input: '@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo@2x.png);\n\t}\n\t@font-face {\n\t\tfont-family: "Bitstream Vera Serif Bold";\n\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n\t}\n}\n.div{height:15px;}', output: '@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo@2x.png);\n\t}\n\t@font-face {\n\t\tfont-family: "Bitstream Vera Serif Bold";\n\t\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n\t}\n}\n{{separator}}.div {\n\theight: 15px;\n}' }, - { input: '@font-face {\n\tfont-family: "Bitstream Vera Serif Bold";\n\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n}\n@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo.png);\n\t}\n\t@media screen and (min-device-pixel-ratio: 2) {\n\t\t@font-face {\n\t\t\tfont-family: "Helvetica Neue"\n\t\t}\n\t\t#foo:hover {\n\t\t\tbackground-image: url(foo@2x.png);\n\t\t}\n\t}\n}', output: '@font-face {\n\tfont-family: "Bitstream Vera Serif Bold";\n\tsrc: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");\n}\n{{separator}}@media screen {\n\t#foo:hover {\n\t\tbackground-image: url(foo.png);\n\t}\n\t@media screen and (min-device-pixel-ratio: 2) {\n\t\t@font-face {\n\t\t\tfont-family: "Helvetica Neue"\n\t\t}\n\t\t#foo:hover {\n\t\t\tbackground-image: url(foo@2x.png);\n\t\t}\n\t}\n}' }, - { input: 'a:first-child{color:red;div:first-child{color:black;}}\n.div{height:15px;}', output: 'a:first-child {\n\tcolor: red;\n\tdiv:first-child {\n\t\tcolor: black;\n\t}\n}\n{{separator}}.div {\n\theight: 15px;\n}' }, - { input: 'a:first-child{color:red;div:not(.peq){color:black;}}\n.div{height:15px;}', output: 'a:first-child {\n\tcolor: red;\n\tdiv:not(.peq) {\n\t\tcolor: black;\n\t}\n}\n{{separator}}.div {\n\theight: 15px;\n}' }, - ], - }, { - name: "Functions braces", - description: "", - tests: [ - { input: '.tabs(){}', output: '.tabs() {}' }, - { input: '.tabs (){}', output: '.tabs () {}' }, - { input: '.tabs (pa, pa(1,2)), .cols { }', output: '.tabs (pa, pa(1, 2)),\n.cols {}' }, - { input: '.tabs(pa, pa(1,2)), .cols { }', output: '.tabs(pa, pa(1, 2)),\n.cols {}' }, - { input: '.tabs ( ) { }', output: '.tabs () {}' }, - { input: '.tabs( ) { }', output: '.tabs() {}' }, - { input: '.tabs (t, t2) \n{\n key: val(p1 ,p2); \n }', output: '.tabs (t, t2) {\n\tkey: val(p1, p2);\n}' }, - { unchanged: '.box-shadow(@shadow: 0 1px 3px rgba(0, 0, 0, .25)) {\n\t-webkit-box-shadow: @shadow;\n\t-moz-box-shadow: @shadow;\n\tbox-shadow: @shadow;\n}' } - ], - }, { - name: "Comments", - description: "", - tests: [ - { unchanged: '/* test */' }, - { input: '.tabs{/* test */}', output: '.tabs {\n\t/* test */\n}' }, - { input: '.tabs{/* test */}', output: '.tabs {\n\t/* test */\n}' }, - { input: '/* header */.tabs {}', output: '/* header */\n\n.tabs {}' }, - { input: '.tabs {\n/* non-header */\nwidth:10px;}', output: '.tabs {\n\t/* non-header */\n\twidth: 10px;\n}' }, - { unchanged: '/* header' }, - { unchanged: '// comment' }, { - input: '.selector1 {\n\tmargin: 0; /* This is a comment including an url http://domain.com/path/to/file.ext */\n}', - output: '.selector1 {\n\tmargin: 0;\n\t/* This is a comment including an url http://domain.com/path/to/file.ext */\n}' - }, - - { - comment: "single line comment support (less/sass)", - input: '.tabs{\n// comment\nwidth:10px;\n}', - output: '.tabs {\n\t// comment\n\twidth: 10px;\n}' - }, - { input: '.tabs{// comment\nwidth:10px;\n}', output: '.tabs {\n\t// comment\n\twidth: 10px;\n}' }, - { input: '//comment\n.tabs{width:10px;}', output: '//comment\n.tabs {\n\twidth: 10px;\n}' }, - { input: '.tabs{//comment\n//2nd single line comment\nwidth:10px;}', output: '.tabs {\n\t//comment\n\t//2nd single line comment\n\twidth: 10px;\n}' }, - { input: '.tabs{width:10px;//end of line comment\n}', output: '.tabs {\n\twidth: 10px; //end of line comment\n}' }, - { input: '.tabs{width:10px;//end of line comment\nheight:10px;}', output: '.tabs {\n\twidth: 10px; //end of line comment\n\theight: 10px;\n}' }, - { input: '.tabs{width:10px;//end of line comment\nheight:10px;//another\n}', output: '.tabs {\n\twidth: 10px; //end of line comment\n\theight: 10px; //another\n}' } - ], - }, { - name: "Handle LESS property name interpolation", - description: "", - tests: [ - { unchanged: 'tag {\n\t@{prop}: none;\n}' }, - { input: 'tag{@{prop}:none;}', output: 'tag {\n\t@{prop}: none;\n}' }, - { input: 'tag{ @{prop}: none;}', output: 'tag {\n\t@{prop}: none;\n}' }, - { - comment: "can also be part of property name", - unchanged: 'tag {\n\tdynamic-@{prop}: none;\n}' - }, - { input: 'tag{dynamic-@{prop}:none;}', output: 'tag {\n\tdynamic-@{prop}: none;\n}' }, - { input: 'tag{ dynamic-@{prop}: none;}', output: 'tag {\n\tdynamic-@{prop}: none;\n}' }, - ], - }, { - name: "Handle LESS property name interpolation, test #631", - description: "", - tests: [ - { unchanged: '.generate-columns(@n, @i: 1) when (@i =< @n) {\n\t.column-@{i} {\n\t\twidth: (@i * 100% / @n);\n\t}\n\t.generate-columns(@n, (@i + 1));\n}' }, - { - input: '.generate-columns(@n,@i:1) when (@i =< @n){.column-@{i}{width:(@i * 100% / @n);}.generate-columns(@n,(@i + 1));}', - output: '.generate-columns(@n, @i: 1) when (@i =< @n) {\n\t.column-@{i} {\n\t\twidth: (@i * 100% / @n);\n\t}\n\t.generate-columns(@n, (@i + 1));\n}' - } - ], - }, { - name: "Psuedo-classes vs Variables", - description: "", - tests: [ - { unchanged: '@page :first {}' }, { - comment: "Assume the colon goes with the @name. If we're in LESS, this is required regardless of the at-string.", - input: '@page:first {}', - output: '@page: first {}' - }, - { unchanged: '@page: first {}' } - ], - }, { - name: "SASS/SCSS", - description: "", - tests: [{ - comment: "Basic Interpolation", - unchanged: 'p {\n\t$font-size: 12px;\n\t$line-height: 30px;\n\tfont: #{$font-size}/#{$line-height};\n}' - }, - { unchanged: 'p.#{$name} {}' }, { - unchanged: [ - '@mixin itemPropertiesCoverItem($items, $margin) {', - '\twidth: calc((100% - ((#{$items} - 1) * #{$margin}rem)) / #{$items});', - '\tmargin: 1.6rem #{$margin}rem 1.6rem 0;', - '}' - ] - }, - { - comment: "Multiple filed issues in LESS due to not(:blah)", - unchanged: '&:first-of-type:not(:last-child) {}' - }, - { - unchanged: [ - 'div {', - '\t&:not(:first-of-type) {', - '\t\tbackground: red;', - '\t}', - '}', - ] - } - - ], - }, { - name: "Proper handling of colon in selectors", - description: "Space before a colon in a selector must be preserved, as it means pseudoclass/pseudoelement on any child", - options: [{ name: "selector_separator_newline", value: "false" }], - tests: [ - { unchanged: 'a :b {}' }, - { unchanged: 'a ::b {}' }, - { unchanged: 'a:b {}' }, - { unchanged: 'a::b {}' }, - { - input: 'a {}, a::b {}, a ::b {}, a:b {}, a :b {}', - output: 'a {}\n, a::b {}\n, a ::b {}\n, a:b {}\n, a :b {}' - }, - { - unchanged: [ - '.card-blue ::-webkit-input-placeholder {', - '\tcolor: #87D1FF;', - '}' - ] - }, - { - unchanged: [ - 'div [attr] :not(.class) {', - '\tcolor: red;', - '}' - ] - } - ] - }, { - name: "Regresssion Tests", - description: "General Regression tests for known issues", - options: [{ name: "selector_separator_newline", value: "false" }], - tests: [{ - unchanged: [ - '@media(min-width:768px) {', - '\t.selector::after {', - '\t\t/* property: value */', - '\t}', - '\t.other-selector {', - '\t\t/* property: value */', - '\t}', - '}' - ] - }, { - unchanged: [ - '.fa-rotate-270 {', - '\tfilter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);', - '}' - ] - }] - }, { - - } - ] -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/html/node.mustache b/build/js-transpiled/node_modules/js-beautify/test/data/html/node.mustache deleted file mode 100644 index 68d27697..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/html/node.mustache +++ /dev/null @@ -1,378 +0,0 @@ -/* -{{&header_text}} - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ -/*jshint unused:false */ - -function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) -{ - - var default_opts = { - indent_size: 4, - indent_char: ' ', - preserve_newlines: true, - jslint_happy: false, - keep_array_indentation: false, - brace_style: 'collapse', - space_before_conditional: true, - break_chained_methods: false, - selector_separator: '\n', - end_with_newline: false - }; - var opts; - -{{#default_options}} default_opts.{{name}} = {{&value}}; -{{/default_options}} - - function reset_options() - { - opts = JSON.parse(JSON.stringify(default_opts)); - } - - function test_html_beautifier(input) - { - return html_beautify(input, opts); - } - - var sanitytest; - - // test the input on beautifier with the current flag settings - // does not check the indentation / surroundings as bt() does - function test_fragment(input, expected) - { - expected = expected || expected === '' ? expected : input; - sanitytest.expect(input, expected); - // if the expected is different from input, run it again - // expected output should be unchanged when run twice. - if (expected !== input) { - sanitytest.expect(expected, expected); - } - - // Everywhere we do newlines, they should be replaced with opts.eol - opts.eol = '\r\n'; - expected = expected.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - if (input.indexOf('\n') !== -1) { - input = input.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - // Ensure support for auto eol detection - opts.eol = 'auto'; - sanitytest.expect(input, expected); - } - opts.eol = '\n'; - } - - // test html - function bth(input, expectation) - { - var wrapped_input, wrapped_expectation, field_input, field_expectation; - - expectation = expectation || expectation === '' ? expectation : input; - sanitytest.test_function(test_html_beautifier, 'html_beautify'); - test_fragment(input, expectation); - - if (opts.indent_size === 4 && input) { - wrapped_input = '
    \n' + input.replace(/^(.+)$/mg, ' $1') + '\n inline\n
    '; - wrapped_expectation = '
    \n' + expectation.replace(/^(.+)$/mg, ' $1') + '\n inline\n
    '; - test_fragment(wrapped_input, wrapped_expectation); - } - } - - function unicode_char(value) { - return String.fromCharCode(value); - } - - function beautifier_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - bth(''); - -{{#groups}}{{#set_mustache_tags}}.{{/set_mustache_tags}} - //============================================================ - {{^matrix}} - // {{&name}} - reset_options(); - {{#options}} - opts.{{name}} = {{&value}}; - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}}; - {{/tests}} - - {{/matrix}} - {{#matrix}} - // {{&name}} - ({{#matrix_context_string}}.{{/matrix_context_string}}) - reset_options(); - {{#options}} - opts.{{name}} = {{&value}}; - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}}; - {{/tests}} - - {{/matrix}} -{{#unset_mustache_tags}}.{{/unset_mustache_tags}}{{/groups}} - } - - function beautifier_unconverted_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - opts.end_with_newline = true; - test_fragment('', '\n'); - test_fragment('
    \n'); - test_fragment('
    \n\n\n', '
    \n'); - test_fragment('\n' + - ' \n' + - '\n'); - - - opts.end_with_newline = false; - // error cases need love too - bth('Evil'); - bth(" - - test_fragment( - '\n' + - ' \n' + - ''); - - test_fragment('
    \n', '
    '); - bth('
    '); - bth('
    content
    '); - bth('
    ', - '
    \n' + - '
    \n' + - '
    '); - bth('
    content
    ', - '
    \n' + - '
    content
    \n' + - '
    '); - bth('
    \n' + - ' content\n' + - '
    '); - bth('
    \n' + - '
    '); - bth('
    \n' + - ' content\n' + - '
    '); - bth('
    \n' + - '
    ', - '
    \n' + - '
    '); - bth('
    \n' + - '
    ', - '
    \n' + - '
    '); - bth('
    \n' + - '
    \n' + - '
    \n' + - '
    ', - '
    \n' + - '
    \n' + - '
    \n' + - '
    '); - bth('
    \n' + - '
    ', - '
    \n' + - '
    '); - bth('
    content
    ', - '
    content
    '); - bth('
    ', - '
    '); - bth('content\n' + - '
    \n' + - '
    \n' + - 'content', - 'content\n' + - '
    \n' + - '
    \n' + - 'content'); - bth('
  • \n' + - '
    \n' + - '
    \n' + - '
  • '); - bth('
  • \n' + - '
    \n' + - '
    \n' + - '
  • ', - '
  • \n' + - '
    \n' + - '
    \n' + - '
  • '); - bth('
  • \n' + - ' content\n' + - '
  • \n' + - '
  • \n' + - ' content\n' + - '
  • '); - - bth('content'); - bth(' content'); - bth(' content', ' content'); - - bth('content'); - bth(' content'); - bth(' content', ' content'); - - bth('content'); - bth(' content'); - bth(' content', ' content'); - - bth('
    contentcontent
    '); - bth('
    content content
    '); - bth('
    content content
    ', - '
    content content
    '); - bth('Text Link Text'); - - var unformatted = opts.unformatted; - opts.unformatted = ['script', 'style']; - bth(''); - bth(''); - opts.unformatted = unformatted; - - unformatted = opts.unformatted; - opts.unformatted = ['custom-element']; - test_fragment('
    should not' + - ' insert newlines
    ', - '
    should not' + - ' insert newlines
    '); - opts.unformatted = unformatted; - - // Tests that don't pass, but probably should. - // bth('
    content
    '); - - // Handlebars tests - // Without the indent option on, handlebars are treated as content. - - opts.wrap_line_length = 0; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all.
    '); - - // A value of 0 means no max line length, and should not wrap. - //...---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10--------11--------12--------13--------14--------15--------16--------17--------18--------19--------20--------21--------22--------23--------24--------25--------26--------27--------28--------29 - //...12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    '); - - opts.wrap_line_length = "0"; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all.
    '); - - // A value of "0" means no max line length, and should not wrap - //...---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10--------11--------12--------13--------14--------15--------16--------17--------18--------19--------20--------21--------22--------23--------24--------25--------26--------27--------28--------29 - //...12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    ', - /* expected */ - '
    Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all. Some text that should not wrap at all.
    '); - - //BUGBUG: This should wrap before 40 not after. - opts.wrap_line_length = 40; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some test text that should wrap_inside_this section here.
    ', - /* expected */ - '
    Some test text that should wrap_inside_this\n' + - ' section here.
    '); - - opts.wrap_line_length = "40"; - //...---------1---------2---------3---------4---------5---------6---------7 - //...1234567890123456789012345678901234567890123456789012345678901234567890 - bth('
    Some test text that should wrap_inside_this section here.
    ', - /* expected */ - '
    Some test text that should wrap_inside_this\n' + - ' section here.
    '); - - opts.indent_size = 1; - opts.indent_char = '\t'; - opts.preserve_newlines = false; - bth('
    \n\tfoo\n
    ', '
    foo
    '); - - opts.preserve_newlines = true; - bth('
    \n\tfoo\n
    '); - - - - // test preserve_newlines and max_preserve_newlines - opts.preserve_newlines = false; - bth('
    Should not
    \n\n\n' + - '
    preserve newlines
    ', - '
    Should not
    \n' + - '
    preserve newlines
    '); - - opts.preserve_newlines = true; - opts.max_preserve_newlines = 0; - bth('
    Should
    \n\n\n' + - '
    preserve zero newlines
    ', - '
    Should
    \n' + - '
    preserve zero newlines
    '); - - opts.max_preserve_newlines = 1; - bth('
    Should
    \n\n\n' + - '
    preserve one newline
    ', - '
    Should
    \n\n' + - '
    preserve one newline
    '); - - opts.max_preserve_newlines = null; - bth('
    Should
    \n\n\n' + - '
    preserve one newline
    ', - '
    Should
    \n\n\n' + - '
    preserve one newline
    '); - } - - beautifier_tests(); - beautifier_unconverted_tests(); -} - -if (typeof exports !== "undefined") { - exports.run_html_tests = run_html_tests; -} diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/html/tests.js b/build/js-transpiled/node_modules/js-beautify/test/data/html/tests.js deleted file mode 100644 index 021d8ce8..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/html/tests.js +++ /dev/null @@ -1,1105 +0,0 @@ -/* - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -exports.test_data = { - default_options: [ - { name: "indent_size", value: "4" }, - { name: "indent_char", value: "' '" }, - { name: "indent_with_tabs", value: "false" }, - { name: "preserve_newlines", value: "true" }, - { name: "jslint_happy", value: "false" }, - { name: "keep_array_indentation", value: "false" }, - { name: "brace_style", value: "'collapse'" }, - { name: "extra_liners", value: "['html', 'head', '/html']" } - ], - groups: [{ - name: "Handle inline and block elements differently", - description: "", - matrix: [{}], - tests: [{ - fragment: true, - input: '

    Block

    ', - output: [ - '', - '

    Block

    ', - '' - ] - }, { - fragment: true, - unchanged: 'Inline' - }] - }, { - name: "End With Newline", - description: "", - matrix: [{ - options: [ - { name: "end_with_newline", value: "true" } - ], - eof: '\n' - }, { - options: [ - { name: "end_with_newline", value: "false" } - ], - eof: '' - } - - ], - tests: [ - { fragment: true, input: '', output: '{{eof}}' }, - { fragment: true, input: '
    ', output: '
    {{eof}}' }, - // { fragment: true, input: ' \n\n
    \n\n\n\n', output: '
    {{eof}}' }, - { fragment: true, input: '\n', output: '{{eof}}' } - ], - }, { - name: "Custom Extra Liners (empty)", - description: "", - matrix: [{ - options: [ - { name: "extra_liners", value: "[]" } - ] - }, - - ], - tests: [{ - fragment: true, - input: '

    x

    ', - output: '\n\n \n\n\n
    \n

    x

    \n
    \n\n' - }], - }, { - name: "Custom Extra Liners (default)", - description: "", - matrix: [{ - options: [ - { name: "extra_liners", value: "null" } - ] - }, - - ], - tests: [{ - fragment: true, - input: '', - output: '\n\n\n\n\n\n' - }], - }, { - name: "Custom Extra Liners (p, string)", - description: "", - matrix: [{ - options: [ - { name: "extra_liners", value: "'p,/p'" } - ] - }, - - ], - tests: [{ - fragment: true, - input: '

    x

    ', - output: '\n\n \n\n\n
    \n\n

    x\n\n

    \n
    \n\n' - }], - }, { - name: "Custom Extra Liners (p)", - description: "", - matrix: [{ - options: [ - { name: "extra_liners", value: "['p', '/p']" } - ] - }, - - ], - tests: [{ - fragment: true, - input: '

    x

    ', - output: '\n\n \n\n\n
    \n\n

    x\n\n

    \n
    \n\n' - }], - }, { - name: "Tests for script and style types (issue 453, 821)", - description: "Only format recognized script types", - tests: [{ - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, { - input: '', - output: [ - '' - ] - }, - - ], - }, { - name: "Attribute Wrap alignment with spaces", - description: "Ensure attributes are internally aligned with spaces when the indent_character is set to tab", - matrix: [{ - options: [ - { name: "wrap_attributes", value: "'force-aligned'" }, - { name: "indent_with_tabs", value: "true" } - ] - }], - tests: [{ - fragment: true, - input: '
    test
    ', - output: '
    \n\t
    \n\t\t
    test
    \n\t
    \n
    ' - }] - }, { - name: "Attribute Wrap de-indent", - description: "Tags de-indent when attributes are wrapped", - matrix: [{ - options: [ - { name: "wrap_attributes", value: "'force-aligned'" }, - { name: "indent_with_tabs", value: "false" } - ] - }], - tests: [{ - fragment: true, - input: '
    test
    ', - output: '
    \n
    test
    \n
    ' - }, - { - fragment: true, - input: '

    \n \n

    ', - output: '

    \n \n

    ' - }, - { - fragment: true, - input: '

    \n \n

    ', - output: '

    \n \n

    ' - } - ] - }, { - name: "Attribute Wrap", - description: "Wraps attributes inside of html tags", - matrix: [{ - options: [ - { name: "wrap_attributes", value: "'force'" } - ], - indent_attr: '\n ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force'" }, - { name: "wrap_line_length", value: "80" } - ], - indent_attr: '\n ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force'" }, - { name: "wrap_attributes_indent_size", value: "8" } - ], - indent_attr: '\n ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'auto'" }, - { name: "wrap_line_length", value: "80" }, - { name: "wrap_attributes_indent_size", value: "0" } - ], - indent_attr: ' ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n' - }, { - options: [ - { name: "wrap_attributes", value: "'auto'" }, - { name: "wrap_line_length", value: "80" }, - { name: "wrap_attributes_indent_size", value: "4" } - ], - indent_attr: ' ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'auto'" }, - { name: "wrap_line_length", value: "0" } - ], - indent_attr: ' ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: ' ' - }, { - options: [ - { name: "wrap_attributes", value: "'force-aligned'" } - ], - indent_attr: '\n ', - indent_attr_faligned: ' ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force-aligned'" }, - { name: "wrap_line_length", value: "80" } - ], - indent_attr: '\n ', - indent_attr_faligned: ' ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force-aligned'" }, - { name: "wrap_attributes_indent_size", value: "8" } - ], - indent_attr: '\n ', - indent_attr_faligned: ' ', - indent_attr_first: ' ', - indent_end: '', - indent_end_selfclosing: ' ', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force-expand-multiline'" }, - { name: "wrap_attributes_indent_size", value: "4" } - ], - indent_attr: '\n ', - indent_attr_first: '\n ', - indent_end: '\n', - indent_end_selfclosing: '\n', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force-expand-multiline'" }, - { name: "wrap_attributes_indent_size", value: "4" }, - { name: "wrap_line_length", value: "80" } - ], - indent_attr: '\n ', - indent_attr_first: '\n ', - indent_end: '\n', - indent_end_selfclosing: '\n', - indent_over80: '\n ' - }, { - options: [ - { name: "wrap_attributes", value: "'force-expand-multiline'" }, - { name: "wrap_attributes_indent_size", value: "8" } - ], - indent_attr: '\n ', - indent_attr_first: '\n ', - indent_end: '\n', - indent_end_selfclosing: '\n', - indent_over80: '\n ' - }], - tests: [{ - fragment: true, - input: '
    This is some text
    ', - output: '
    This is some text
    ' - }, { - fragment: true, - input: '
    This is some text
    ', - output: '
    This is some text
    ' - }, { - fragment: true, - input: '
    This is some text
    ', - output: 'This is some text' - }, { - fragment: true, - input: '
    This is some text
    ', - output: 'This is some text' - }, { - fragment: true, - input: '', - output: '' - }, { - fragment: true, - input: '', - output: '\n' - }, { - fragment: true, - input: '', - output: '' - }] - }, { - name: "Handlebars Indenting Off", - description: "Test handlebar behavior when indenting is off", - template: "^^^ $$$", - options: [ - { name: "indent_handlebars", value: "false" } - ], - tests: [{ - fragment: true, - input_: '{{#if 0}}\n' + - '
    \n' + - '
    \n' + - '{{/if}}', - output: '{{#if 0}}\n' + - '
    \n' + - '
    \n' + - '{{/if}}' - }, { - fragment: true, - input_: '
    \n' + - '{{#each thing}}\n' + - ' {{name}}\n' + - '{{/each}}\n' + - '
    ', - output: '
    \n' + - ' {{#each thing}} {{name}} {{/each}}\n' + - '
    ' - } - - ] - }, { - name: "Handlebars Indenting On", - description: "Test handlebar formatting", - template: "^^^ $$$", - matrix: [{ - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{{field}}' - }, { - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{{! comment}}' - }, { - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{{!-- comment--}}' - }, { - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{pre{{field1}} {{field2}} {{field3}}post' - }, { - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{{! \n mult-line\ncomment \n with spacing\n}}' - }, { - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{{!-- \n mult-line\ncomment \n with spacing\n--}}' - }, { - options: [ - { name: "indent_handlebars", value: "true" } - ], - content: '{{!-- \n mult-line\ncomment \n{{#> component}}\n mult-line\ncomment \n with spacing\n {{/ component}}--}}' - }, { - options: [ - { name: "indent_handlebars", value: "true" }, - { name: "wrap_line_length", value: "80" } - ], - content: 'content' - }], - tests: [ - { fragment: true, unchanged: '{{page-title}}' }, - { fragment: true, unchanged: '{{#if 0}}{{/if}}' }, - { fragment: true, unchanged: '{{#if 0}}^^^&content$$${{/if}}' }, - { fragment: true, unchanged: '{{#if 0}}\n{{/if}}' }, { - fragment: true, - input_: '{{#if words}}{{/if}}', - output: '{{#if words}}{{/if}}' - }, { - fragment: true, - input_: '{{#if words}}^^^&content$$${{/if}}', - output: '{{#if words}}^^^&content$$${{/if}}' - }, { - fragment: true, - input_: '{{#if words}}^^^&content$$${{/if}}', - output: '{{#if words}}^^^&content$$${{/if}}' - }, { - fragment: true, - unchanged: '{{#if 1}}\n' + - '
    \n' + - '
    \n' + - '{{/if}}' - }, { - fragment: true, - input_: '{{#if 1}}\n' + - '
    \n' + - '
    \n' + - '{{/if}}', - output: '{{#if 1}}\n' + - '
    \n' + - '
    \n' + - '{{/if}}' - }, { - fragment: true, - unchanged: '
    \n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
    ' - }, { - fragment: true, - input_: '
    \n' + - '{{#if 1}}\n' + - '{{/if}}\n' + - '
    ', - output: '
    \n' + - ' {{#if 1}}\n' + - ' {{/if}}\n' + - '
    ' - }, { - fragment: true, - input_: '{{#if}}\n' + - '{{#each}}\n' + - '{{#if}}\n' + - '^^^&content$$$\n' + - '{{/if}}\n' + - '{{#if}}\n' + - '^^^&content$$$\n' + - '{{/if}}\n' + - '{{/each}}\n' + - '{{/if}}', - output: '{{#if}}\n' + - ' {{#each}}\n' + - ' {{#if}}\n' + - ' ^^^&content$$$\n' + - ' {{/if}}\n' + - ' {{#if}}\n' + - ' ^^^&content$$$\n' + - ' {{/if}}\n' + - ' {{/each}}\n' + - '{{/if}}' - }, { - fragment: true, - unchanged: '{{#if 1}}\n' + - '
    \n' + - '
    \n' + - '{{/if}}' - }, - - // Test {{else}} aligned with {{#if}} and {{/if}} - { - fragment: true, - input_: '{{#if 1}}\n' + - ' ^^^&content$$$\n' + - ' {{else}}\n' + - ' ^^^&content$$$\n' + - '{{/if}}', - output: '{{#if 1}}\n' + - ' ^^^&content$$$\n' + - '{{else}}\n' + - ' ^^^&content$$$\n' + - '{{/if}}' - }, { - fragment: true, - input_: '{{#if 1}}\n' + - ' {{else}}\n' + - ' {{/if}}', - output: '{{#if 1}}\n' + - '{{else}}\n' + - '{{/if}}' - }, { - fragment: true, - input_: '{{#if thing}}\n' + - '{{#if otherthing}}\n' + - ' ^^^&content$$$\n' + - ' {{else}}\n' + - '^^^&content$$$\n' + - ' {{/if}}\n' + - ' {{else}}\n' + - '^^^&content$$$\n' + - '{{/if}}', - output: '{{#if thing}}\n' + - ' {{#if otherthing}}\n' + - ' ^^^&content$$$\n' + - ' {{else}}\n' + - ' ^^^&content$$$\n' + - ' {{/if}}\n' + - '{{else}}\n' + - ' ^^^&content$$$\n' + - '{{/if}}' - }, - // Test {{}} inside of <> tags, which should be separated by spaces - // for readability, unless they are inside a string. - { - fragment: true, - input_: '', - output: '
    ' - }, { - fragment: true, - input_: '^^^&content$$$', - output: '
    ^^^&content$$$
    ' - }, { - fragment: true, - input_: '^^^&content$$$', - output: '
    ^^^&content$$$
    ' - }, { - fragment: true, - input_: '^^^&content$$$', - output: '^^^&content$$$' - }, { - fragment: true, - unchanged: '
    ^^^&content$$$
    ' - }, { - fragment: true, - unchanged: '
    ^^^&content$$$
    ' - }, - - // Quotes found inside of Handlebars expressions inside of quoted - // strings themselves should not be considered string delimiters. - { - fragment: true, - unchanged: '
    ' - }, { - fragment: true, - unchanged: '
    ' - }, { - fragment: true, - unchanged: '
    ' - }, { - fragment: true, - unchanged: '
    ' - }, { - fragment: true, - unchanged: '{{condition < 0 ? "result1" : "result2"}}' - }, { - fragment: true, - unchanged: '{{condition1 && condition2 && condition3 && condition4 < 0 ? "resForTrue" : "resForFalse"}}' - } - ], - }, { - name: "Handlebars Else tag indenting", - description: "Handlebar Else tags should be newlined after formatted tags", - template: "^^^ $$$", - options: [ - { name: "indent_handlebars", value: "true" } - ], - tests: [{ - fragment: true, - input_: '{{#if test}}
    {{else}}
    {{/if}}', - output: '{{#if test}}\n' + - '
    \n' + - '{{else}}\n' + - '
    \n' + - '{{/if}}' - }, { - fragment: true, - unchanged: '{{#if test}}{{else}}{{/if}}' - }] - }, { - name: "Unclosed html elements", - description: "Unclosed elements should not indent", - options: [], - tests: [ - { fragment: true, unchanged: '\n' }, - { fragment: true, unchanged: '
    \n
    ' }, - { fragment: true, unchanged: '\n' }, - { fragment: true, unchanged: '\n' }, - { fragment: true, unchanged: '\n' }, - { fragment: true, unchanged: '\n \n \n' } - ] - }, { - name: "Unformatted tags", - description: "Unformatted tag behavior", - options: [], - tests: [{ - fragment: true, - input: '
      \n
    1. b
      c
    2. \n
    ', - output: [ - '
      ', - '
    1. b', - '
      c
      ', - '
    2. ', - '
    ' - ] - }, - { fragment: true, unchanged: '
      \n
    1. bc
    2. \n
    ' }, - { fragment: true, unchanged: '' }, - { fragment: true, unchanged: '
    ' }, - { fragment: true, unchanged: '
    ' }, - { fragment: true, unchanged: '

    \n \n

    ' }, - { fragment: true, unchanged: '

    \n \n

    ' }, - { fragment: true, unchanged: '

    \n \n

    ' }, - { fragment: true, unchanged: '

    \n image: image: \n

    ' }, - { fragment: true, unchanged: '

    \n image: image: \n

    ' }, - ] - }, { - name: "File starting with comment", - description: "Unformatted tag behavior", - options: [], - tests: [{ - fragment: true, - unchanged: [ - '', - '', - '', - '', - ' a span', - '', - '', - '' - ] - }, ] - }, { - name: "Php formatting", - description: "Php () treated as comments.", - options: [], - tests: [{ - fragment: true, - input: '

    ', - output: '

    \n \n

    ', - }, { - fragment: true, - unchanged: [ - '");', - '}', - '?>' - ] - }, { - fragment: true, - unchanged: [ - '', - '', - '', - '', - '', - '', - '', - '', - '', - '' - ] - }] - }, { - name: "Support simple language specific option inheritance/overriding", - description: "Support simple language specific option inheritance/overriding", - matrix: [{ - options: [ - { name: "js", value: "{ 'indent_size': 3 }" }, - { name: "css", value: "{ 'indent_size': 5 }" } - ], - h: ' ', - c: ' ', - j: ' ' - }, - { - options: [ - { name: "html", value: "{ 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 } }" } - ], - h: ' ', - c: ' ', - j: ' ' - }, - { - options: [ - { name: "indent_size", value: "9" }, - { name: "html", value: "{ 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 }, 'indent_size': 2}" }, - { name: "js", value: "{ 'indent_size': 5 }" }, - { name: "css", value: "{ 'indent_size': 3 }" } - ], - h: ' ', - c: ' ', - j: ' ' - } - ], - tests: [{ - fragment: true, - unchanged: [ - '', - '{{h}}', - '{{h}}', - '', - ] - }, ] - }, { - name: "underscore.js formatting", - description: "underscore.js templates (<% ... %>) treated as comments.", - options: [], - tests: [{ - fragment: true, - unchanged: [ - '
    ', - ' ', - '
    ' - ] - }, ] - }, { - name: "Indent with tabs", - description: "Use one tab instead of several spaces for indentation", - template: "^^^ $$$", - options: [ - { name: "indent_with_tabs", value: "true" } - ], - tests: [{ - fragment: true, - input_: '
    \n' + - '
    \n' + - '
    \n' + - '
    ', - output: '
    \n' + - '\t
    \n' + - '\t
    \n' + - '
    ' - }] - }, { - name: "Indent without tabs", - description: "Use several spaces for indentation", - template: "^^^ $$$", - options: [ - { name: "indent_with_tabs", value: "false" } - ], - tests: [{ - fragment: true, - input_: '
    \n' + - '
    \n' + - '
    \n' + - '
    ', - output: '
    \n' + - '
    \n' + - '
    \n' + - '
    ' - }] - }, { - name: "Indent body inner html by default", - description: "", - tests: [{ - fragment: true, - input: '\n\n
    \n\n\n', - output: '\n\n
    \n\n\n' - }] - }, { - name: "indent_body_inner_html set to false prevents indent of body inner html", - description: "", - options: [ - { name: 'indent_body_inner_html', value: "false" } - ], - tests: [{ - fragment: true, - unchanged: '\n\n
    \n\n\n' - }] - }, { - name: "Indent head inner html by default", - description: "", - tests: [{ - fragment: true, - input: '\n\n\n\n\n\n', - output: '\n\n\n \n\n\n' - }] - }, { - name: "indent_head_inner_html set to false prevents indent of head inner html", - description: "", - options: [ - { name: 'indent_head_inner_html', value: "false" } - ], - tests: [{ - fragment: true, - unchanged: '\n\n\n\n\n\n' - }] - }, { - name: "content_unformatted to prevent formatting content", - description: "", - options: [ - { name: 'content_unformatted', value: "['script', 'style', 'p', 'span', 'br']" } - ], - tests: [{ - fragment: true, - input: '

    A

    ', - output: [ - '', - '', - '

    A

    ', - ' ', - ' ', - '', - '', - '' - ] - }, { - fragment: true, - input: '

    Beautify me

    But not me

    ', - output: [ - '
    ', - '

    Beautify me

    ', - '
    ', - '

    But not me

    ' - ] - }, { - fragment: true, - input: '
    Beautify me

    But not me

    ', - output: [ - '
    ', - '

    Beautify me

    ', - '
    ', - '

    But not me

    ' - ] - }, { - fragment: true, - unchanged: '
    blabla
    something here
    ' - }, { - fragment: true, - unchanged: '

    ' - }, { - fragment: true, - input: '
    var a=1;\nvar b=a;
    ', - output: [ - '
    ', - '
    var a=1; var b=a;
    ', - '
    ' - ] - }, { - fragment: true, - input: '
    \nvar a=1;\nvar b=a;\n
    ', - output: [ - '
    ', - '
    ',
    -                '        var a=1; var b=a;',
    -                '    
    ', - '
    ' - ] - }] - }, { - name: "default content_unformatted", - description: "", - options: [], - tests: [{ - fragment: true, - input: '

    A

    ', - output: [ - '', - '', - '

    A

    ', - ' ', - ' ', - '', - '', - '' - ] - }, { - fragment: true, - input: '

    Beautify me

    But not me

    ', - output: [ - '
    ', - '

    Beautify me

    ', - '
    ', - '

    ', - '

    But not me

    ', - '

    ', - ] - }, { - fragment: true, - input: '
    Beautify me

    But not me

    ', - output: [ - '
    ', - '

    Beautify me

    ', - '
    ', - '

    ', - '

    But not me

    ', - '

    ' - ] - }, { - fragment: true, - unchanged: '
    blabla
    something here
    ' - }, { - fragment: true, - unchanged: '

    ' - }, { - fragment: true, - input: '
    var a=1;\nvar b=a;
    ', - output: [ - '
    ', - '
    var a=1;',
    -                'var b=a;
    ', - '
    ' - ] - }, { - fragment: true, - input: '
    \nvar a=1;\nvar b=a;\n
    ', - output: [ - '
    ', - '
    ',
    -                'var a=1;',
    -                'var b=a;',
    -                '
    ', - '
    ' - ] - }] - }, { - name: "New Test Suite" - }], -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/inputlib.js b/build/js-transpiled/node_modules/js-beautify/test/data/javascript/inputlib.js deleted file mode 100644 index 1017236e..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/inputlib.js +++ /dev/null @@ -1,84 +0,0 @@ -//--------// -// Inputs // -//--------// - -var operator_position = { - sanity: [ - 'var res = a + b - c / d * e % f;', - 'var res = g & h | i ^ j;', - 'var res = (k && l || m) ? n : o;', - 'var res = p >> q << r >>> s;', - 'var res = t === u !== v != w == x >= y <= z > aa < ab;', - 'ac + -ad' - ], - comprehensive: [ - 'var res = a + b', - '- c /', - 'd * e', - '%', - 'f;', - ' var res = g & h', - '| i ^', - 'j;', - 'var res = (k &&', - 'l', - '|| m) ?', - 'n', - ': o', - ';', - 'var res = p', - '>> q <<', - 'r', - '>>> s;', - 'var res', - ' = t', - '', - ' === u !== v', - ' !=', - 'w', - '== x >=', - 'y <= z > aa <', - 'ab;', - 'ac +', - '-ad' - ], - colon_special_case: [ - 'var a = {', - ' b', - ': bval,', - ' c:', - 'cval', - ' ,d: dval', - '};', - 'var e = f ? g', - ': h;', - 'var i = j ? k :', - 'l;' - ], - catch_all: [ - 'var d = 1;', - 'if (a === b', - ' && c) {', - ' d = (c * everything', - ' / something_else) %', - ' b;', - ' e', - ' += d;', - '', - '} else if (!(complex && simple) ||', - ' (emotion && emotion.name === "happy")) {', - ' cryTearsOfJoy(many ||', - ' anOcean', - ' || aRiver);', - '}' - ] -}; - - -//---------// -// Exports // -//---------// - -module.exports = { - operator_position: operator_position -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/node.mustache b/build/js-transpiled/node_modules/js-beautify/test/data/javascript/node.mustache deleted file mode 100644 index db6f120d..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/node.mustache +++ /dev/null @@ -1,1114 +0,0 @@ -/* -{{&header_text}} - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ -/*jshint unused:false */ - -function run_javascript_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) -{ - - var default_opts = { - indent_size: 4, - indent_char: ' ', - preserve_newlines: true, - jslint_happy: false, - keep_array_indentation: false, - brace_style: 'collapse', - space_before_conditional: true, - break_chained_methods: false, - selector_separator: '\n', - end_with_newline: false - }; - var opts; - -{{#default_options}} default_opts.{{name}} = {{&value}}; -{{/default_options}} - - function reset_options() - { - opts = JSON.parse(JSON.stringify(default_opts)); - } - - function test_js_beautifier(input) - { - return js_beautify(input, opts); - } - - var sanitytest; - - // test the input on beautifier with the current flag settings - // does not check the indentation / surroundings as bt() does - function test_fragment(input, expected) - { - expected = expected || expected === '' ? expected : input; - sanitytest.expect(input, expected); - // if the expected is different from input, run it again - // expected output should be unchanged when run twice. - if (expected !== input) { - sanitytest.expect(expected, expected); - } - - // Everywhere we do newlines, they should be replaced with opts.eol - opts.eol = '\r\\n'; - expected = expected.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - if (input.indexOf('\n') !== -1) { - input = input.replace(/[\n]/g, '\r\n'); - sanitytest.expect(input, expected); - // Ensure support for auto eol detection - opts.eol = 'auto'; - sanitytest.expect(input, expected); - } - opts.eol = '\n'; - } - - - - // test the input on beautifier with the current flag settings - // test both the input as well as { input } wrapping - function bt(input, expectation) - { - var wrapped_input, wrapped_expectation; - - expectation = expectation || expectation === '' ? expectation : input; - sanitytest.test_function(test_js_beautifier, 'js_beautify'); - test_fragment(input, expectation); - - // If we set raw, input should be unchanged - opts.test_output_raw = true; - if (!opts.end_with_newline) { - test_fragment(input, input); - } - opts.test_output_raw = false; - - // test also the returned indentation - // e.g if input = "asdf();" - // then test that this remains properly formatted as well: - // { - // asdf(); - // indent; - // } - - var current_indent_size = opts.js ? opts.js.indent_size : null; - current_indent_size = current_indent_size ? current_indent_size : opts.indent_size; - if (current_indent_size === 4 && input) { - wrapped_input = '{\n' + input.replace(/^(.+)$/mg, ' $1') + '\n foo = bar;\n}'; - wrapped_expectation = '{\n' + expectation.replace(/^(.+)$/mg, ' $1') + '\n foo = bar;\n}'; - test_fragment(wrapped_input, wrapped_expectation); - - // If we set raw, input should be unchanged - opts.test_output_raw = true; - if (!opts.end_with_newline) { - test_fragment(wrapped_input, wrapped_input); - } - opts.test_output_raw = false; - } - - } - - // run all tests for the given brace style ("collapse", "expand", "end-expand", or "none"). - // uses various whitespace combinations before and after opening and closing braces, - // respectively, for most of the tests' inputs. - function beautify_brace_tests(brace_style) { - - var indent_on_wrap_str = ' '; // could use Array(opts.indent_size + 1).join(' '); if we wanted to replace _all_ of the hardcoded 4-space in the test and expectation strings - - function permute_brace_tests(expect_open_white, expect_close_white) { - - // run the tests that need permutation against a specific combination of - // pre-opening-brace and pre-closing-brace whitespace - function run_brace_permutation(test_open_white, test_close_white) { - var to = test_open_white, - tc = test_close_white, - eo = expect_open_white ? expect_open_white : to === '' ? ' ' : to, - ec = expect_close_white ? expect_close_white : tc === '' ? ' ' : tc, - i = eo === '\n' ? indent_on_wrap_str: ''; - - bt( '//case 1\nif (a == 1)' + to + '{}\n//case 2\nelse if (a == 2)' + to + '{}', - '//case 1\nif (a == 1)' + eo + '{}\n//case 2\nelse if (a == 2)' + eo + '{}'); - bt( 'if(1)' + to + '{2}' + tc + 'else' + to + '{3}', - 'if (1)' + eo + '{\n 2\n}' + ec + 'else' + eo + '{\n 3\n}'); - bt( 'try' + to + '{a();}' + tc + - 'catch(b)' + to + '{c();}' + tc + - 'catch(d)' + to + '{}' + tc + - 'finally' + to + '{e();}', - // expected - 'try' + eo + '{\n a();\n}' + ec + - 'catch (b)' + eo + '{\n c();\n}' + ec + - 'catch (d)' + eo + '{}' + ec + - 'finally' + eo + '{\n e();\n}'); - bt( 'if(a)' + to + '{b();}' + tc + 'else if(c) foo();', - 'if (a)' + eo + '{\n b();\n}' + ec + 'else if (c) foo();'); - // if/else statement with empty body - bt( 'if (a)' + to + '{\n// comment\n}' + tc + 'else' + to + '{\n// comment\n}', - 'if (a)' + eo + '{\n // comment\n}' + ec + 'else' + eo + '{\n // comment\n}'); - bt( 'if (x)' + to + '{y}' + tc + 'else' + to + '{ if (x)' + to + '{y}}', - 'if (x)' + eo + '{\n y\n}' + ec + 'else' + eo + '{\n if (x)' + eo + i + '{\n y\n }\n}'); - bt( 'if (a)' + to + '{\nb;\n}' + tc + 'else' + to + '{\nc;\n}', - 'if (a)' + eo + '{\n b;\n}' + ec + 'else' + eo + '{\n c;\n}'); - test_fragment(' /*\n* xx\n*/\n// xx\nif (foo)' + to + '{\n bar();\n}', - ' /*\n * xx\n */\n // xx\n if (foo)' + eo + i + '{\n bar();\n }'); - bt( 'if (foo)' + to + '{}' + tc + 'else /regex/.test();', - 'if (foo)' + eo + '{}' + ec + 'else /regex/.test();'); - test_fragment('if (foo)' + to + '{', 'if (foo)' + eo + '{'); - test_fragment('foo' + to + '{', 'foo' + eo + '{'); - test_fragment('return;' + to + '{', 'return;' + eo + '{'); - bt( 'function x()' + to + '{\n foo();\n}zzz', 'function x()' + eo +'{\n foo();\n}\nzzz'); - bt( 'var a = new function a()' + to + '{};', 'var a = new function a()' + eo + '{};'); - bt( 'var a = new function a()' + to + ' {},\n b = new function b()' + to + ' {};', - 'var a = new function a()' + eo + i + '{},\n b = new function b()' + eo + i + '{};'); - bt("foo(" + to + "{\n 'a': 1\n},\n10);", - "foo(" + (eo === ' ' ? '' : eo) + i + "{\n 'a': 1\n },\n 10);"); // "foo( {..." is a weird case - bt('(["foo","bar"]).each(function(i)' + to + '{return i;});', - '(["foo", "bar"]).each(function(i)' + eo + '{\n return i;\n});'); - bt('(function(i)' + to + '{return i;})();', '(function(i)' + eo + '{\n return i;\n})();'); - - bt( "test( /*Argument 1*/" + to + "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - // expected - "test( /*Argument 1*/" + eo + i + "{\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });"); - - bt( "test( /*Argument 1*/" + to + "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */\n" + - "{\n" + - " 'Value2': '2'\n" + - "});", - // expected - "test( /*Argument 1*/" + eo + i + "{\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });"); - } - - run_brace_permutation('\n', '\n'); - run_brace_permutation('\n', ' '); - run_brace_permutation(' ', ' '); - run_brace_permutation(' ', '\n'); - run_brace_permutation('',''); - - // brace tests that don't make sense to permutate - test_fragment('return {'); // return needs the brace. - test_fragment('return /* inline */ {'); - bt('throw {}'); - bt('throw {\n foo;\n}'); - bt( 'var foo = {}'); - test_fragment('a: do {} while (); xxx', 'a: do {} while ();\nxxx'); - bt( '{a: do {} while (); xxx}', '{\n a: do {} while ();xxx\n}'); - bt( 'var a = new function() {};'); - bt( 'var a = new function()\n{};', 'var a = new function() {};'); - bt( "test(\n" + - "/*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "},\n" + - "/*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - // expected - "test(\n" + - " /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });"); - } - - reset_options(); - opts.brace_style = brace_style; - - switch(opts.brace_style) { - case 'collapse': - permute_brace_tests(' ', ' '); - break; - case 'expand': - permute_brace_tests('\n', '\n'); - break; - case 'end-expand': - permute_brace_tests(' ', '\n'); - break; - case 'none': - permute_brace_tests(); - break; - } - } - - function unicode_char(value) { - return String.fromCharCode(value); - } - - function beautifier_tests() - { - sanitytest = test_obj; - -{{#groups}}{{#set_mustache_tags}}.{{/set_mustache_tags}} - //============================================================ - {{^matrix}} - // {{&name}} - reset_options(); - {{#options}} - opts.{{name}} = {{&value}}; - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}}; - {{/tests}} - - {{/matrix}} - {{#matrix}} - // {{&name}} - ({{#matrix_context_string}}.{{/matrix_context_string}}) - reset_options(); - {{#options}} - opts.{{name}} = {{&value}}; - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}}; - {{/tests}} - - {{/matrix}} -{{#unset_mustache_tags}}.{{/unset_mustache_tags}}{{/groups}} - } - - function beautifier_unconverted_tests() - { - sanitytest = test_obj; - - reset_options(); - //============================================================ - opts.indent_size = 1; - opts.indent_char = ' '; - bt('{ one_char() }', "{\n one_char()\n}"); - - bt('var a,b=1,c=2', 'var a, b = 1,\n c = 2'); - - opts.indent_size = 4; - opts.indent_char = ' '; - bt('{ one_char() }', "{\n one_char()\n}"); - - opts.indent_size = 1; - opts.indent_char = "\t"; - bt('{ one_char() }', "{\n\tone_char()\n}"); - bt('x = a ? b : c; x;', 'x = a ? b : c;\nx;'); - - //set to something else than it should change to, but with tabs on, should override - opts.indent_size = 5; - opts.indent_char = ' '; - opts.indent_with_tabs = true; - - bt('{ one_char() }', "{\n\tone_char()\n}"); - bt('x = a ? b : c; x;', 'x = a ? b : c;\nx;'); - - opts.indent_size = 4; - opts.indent_char = ' '; - opts.indent_with_tabs = false; - - reset_options(); - //============================================================ - opts.preserve_newlines = false; - - bt('var\na=dont_preserve_newlines;', 'var a = dont_preserve_newlines;'); - - // make sure the blank line between function definitions stays - // even when preserve_newlines = false - bt('function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}'); - bt('function foo() {\n return 1;\n}\nfunction foo() {\n return 1;\n}', - 'function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}' - ); - bt('function foo() {\n return 1;\n}\n\n\nfunction foo() {\n return 1;\n}', - 'function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}' - ); - - opts.preserve_newlines = true; - bt('var\na=do_preserve_newlines;', 'var\n a = do_preserve_newlines;'); - bt('if (foo) // comment\n{\n bar();\n}'); - - - reset_options(); - //============================================================ - opts.keep_array_indentation = false; - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f'\n]"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i'\n]"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i'\n]"); - bt('var x = [{}\n]', 'var x = [{}]'); - bt('var x = [{foo:bar}\n]', 'var x = [{\n foo: bar\n}]'); - bt("a = ['something',\n 'completely',\n 'different'];\nif (x);", - "a = ['something',\n 'completely',\n 'different'\n];\nif (x);"); - bt("a = ['a','b','c']", "a = ['a', 'b', 'c']"); - - bt("a = ['a', 'b','c']", "a = ['a', 'b', 'c']"); - bt("x = [{'a':0}]", - "x = [{\n 'a': 0\n}]"); - bt('{a([[a1]], {b;});}', - '{\n a([\n [a1]\n ], {\n b;\n });\n}'); - bt("a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\n[\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n].toString();"); - bt("a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n].toString();"); - bt("function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}", - "function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}"); - bt('function foo() {\n return [\n "one",\n "two"\n ];\n}'); - // 4 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}", - "function foo() {\n" + - " return [{\n" + - " one: 'x',\n" + - " two: [{\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }]\n" + - " }];\n" + - "}"); - // 3 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}", - "function foo() {\n" + - " return [{\n" + - " one: 'x',\n" + - " two: [{\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }]\n" + - " }];\n" + - "}"); - - opts.keep_array_indentation = true; - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f']"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']"); - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']"); - bt('var x = [{}\n]', 'var x = [{}\n]'); - bt('var x = [{foo:bar}\n]', 'var x = [{\n foo: bar\n }\n]'); - bt("a = ['something',\n 'completely',\n 'different'];\nif (x);"); - bt("a = ['a','b','c']", "a = ['a', 'b', 'c']"); - bt("a = ['a', 'b','c']", "a = ['a', 'b', 'c']"); - bt("x = [{'a':0}]", - "x = [{\n 'a': 0\n}]"); - bt('{a([[a1]], {b;});}', - '{\n a([[a1]], {\n b;\n });\n}'); - bt("a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();"); - bt("a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();"); - bt("function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}", - "function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}"); - bt('function foo() {\n return [\n "one",\n "two"\n ];\n}'); - // 4 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}"); - // 3 spaces per indent input, processed with 4-spaces per indent - // Should be unchanged, but is not - #445 -// bt( "function foo() {\n" + -// " return [\n" + -// " {\n" + -// " one: 'x',\n" + -// " two: [\n" + -// " {\n" + -// " id: 'a',\n" + -// " name: 'apple'\n" + -// " }, {\n" + -// " id: 'b',\n" + -// " name: 'banana'\n" + -// " }\n" + -// " ]\n" + -// " }\n" + -// " ];\n" + -// "}"); - - - reset_options(); - //============================================================ - bt('a = //comment\n /regex/;'); - - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', 'if (a) {\n b;\n} else {\n c;\n}'); - - // tests for brace positioning - beautify_brace_tests('expand'); - beautify_brace_tests('collapse'); - beautify_brace_tests('end-expand'); - beautify_brace_tests('none'); - - test_fragment('roo = {\n /*\n ****\n FOO\n ****\n */\n BAR: 0\n};'); - - bt('"foo""bar""baz"', '"foo"\n"bar"\n"baz"'); - bt("'foo''bar''baz'", "'foo'\n'bar'\n'baz'"); - - - test_fragment("if (zz) {\n // ....\n}\n(function"); - - bt("{\n get foo() {}\n}"); - bt("{\n var a = get\n foo();\n}"); - bt("{\n set foo() {}\n}"); - bt("{\n var a = set\n foo();\n}"); - bt("var x = {\n get function()\n}"); - bt("var x = {\n set function()\n}"); - - // According to my current research get/set have no special meaning outside of an object literal - bt("var x = set\n\na() {}", "var x = set\n\na() {}"); - bt("var x = set\n\nfunction() {}", "var x = set\n\nfunction() {}"); - - bt(''); - bt(' - bt('for () /abc/.test()'); - bt('if (k) /aaa/m.test(v) && l();'); - bt('switch (true) {\n case /swf/i.test(foo):\n bar();\n}'); - bt('createdAt = {\n type: Date,\n default: Date.now\n}'); - bt('switch (createdAt) {\n case a:\n Date,\n default:\n Date.now\n}'); - - reset_options(); - //============================================================ - opts.space_before_conditional = false; - bt('if(a) b()'); - - - reset_options(); - //============================================================ - opts.preserve_newlines = true; - bt('var a = 42; // foo\n\nvar b;'); - bt('var a = 42; // foo\n\n\nvar b;'); - bt("var a = 'foo' +\n 'bar';"); - bt("var a = \"foo\" +\n \"bar\";"); - bt('this.oa = new OAuth(\n' + - ' _requestToken,\n' + - ' _accessToken,\n' + - ' consumer_key\n' + - ');'); - - - reset_options(); - //============================================================ - opts.unescape_strings = false; - bt('"\\\\s"'); // == "\\s" in the js source - bt("'\\\\s'"); // == '\\s' in the js source - bt("'\\\\\\s'"); // == '\\\s' in the js source - bt("'\\s'"); // == '\s' in the js source - bt('"•"'); - bt('"—"'); - bt('"\\x41\\x42\\x43\\x01"', '"\\x41\\x42\\x43\\x01"'); - bt('"\\u2022"', '"\\u2022"'); - bt('a = /\s+/'); - // bt('a = /\\x41/','a = /A/'); - bt('"\\u2022";a = /\s+/;"\\x41\\x42\\x43\\x01".match(/\\x41/);','"\\u2022";\na = /\s+/;\n"\\x41\\x42\\x43\\x01".match(/\\x41/);'); - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"', '"\\x22\\x27", \'\\x22\\x27\', "\\x5c", \'\\x5c\', "\\xff and \\xzz", "unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"'); - - opts.unescape_strings = true; - test_fragment('"\\x20\\x40\\x4a"', '" @J"'); - test_fragment('"\\xff\\x40\\x4a"'); - test_fragment('"\\u0072\\u016B\\u0137\\u012B\\u0074\\u0069\\u0073"', '"\u0072\u016B\u0137\u012B\u0074\u0069\u0073"'); - test_fragment('"Google Chrome est\\u00E1 actualizado."', '"Google Chrome está actualizado."'); - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff"', - '"\\"\\\'", \'\\"\\\'\', "\\\\", \'\\\\\', "\\xff and \\xzz", "unicode \\u0000 \\" \\\' \\\\ ' + unicode_char(0xffff) + '"'); - - // For error case, return the string unchanged - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"', - '"\\"\\\'", \'\\"\\\'\', "\\\\", \'\\\\\', "\\xff and \\xzz", "unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"'); - - reset_options(); - //============================================================ - bt('return function();'); - bt('var a = function();'); - bt('var a = 5 + function();'); - - bt('import foo.*;', 'import foo.*;'); // actionscript's import - test_fragment('function f(a: a, b: b)'); // actionscript - - bt('{\n foo // something\n ,\n bar // something\n baz\n}'); - bt('function a(a) {} function b(b) {} function c(c) {}', 'function a(a) {}\n\nfunction b(b) {}\n\nfunction c(c) {}'); - bt('foo(a, function() {})'); - - bt('foo(a, /regex/)'); - - bt('/* foo */\n"x"'); - - reset_options(); - //============================================================ - opts.break_chained_methods = false; - opts.preserve_newlines = false; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat);\nfoo.bar().baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat)\nfoo.bar().baz().cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this.something = foo.bar().baz().cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this.something.xxx = foo.moo.bar()'); - - opts.break_chained_methods = false; - opts.preserve_newlines = true; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat);\nfoo.bar().baz().cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat)\nfoo.bar().baz().cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this\n .something = foo.bar()\n .baz().cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this\n .something\n .xxx = foo.moo\n .bar()'); - - opts.break_chained_methods = true; - opts.preserve_newlines = false; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat);\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat)\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this.something = foo.bar()\n .baz()\n .cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this.something.xxx = foo.moo.bar()'); - - opts.break_chained_methods = true; - opts.preserve_newlines = true; - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat);\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat)\nfoo.bar()\n .baz()\n .cucumber(fat)'); - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this\n .something = foo.bar()\n .baz()\n .cucumber(fat)'); - bt('this.something.xxx = foo.moo.bar()'); - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this\n .something\n .xxx = foo.moo\n .bar()'); - - reset_options(); - //============================================================ - // Line wrap test intputs - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - wrap_input_1=('foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - wrap_input_2=('{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n.but_this_can\n' + - ' return between_return_and_expression_should_never_wrap.but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - ' if (wraps_can_occur && inside_an_if_block) that_is_\n.okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - ' }' + - '}'); - - opts.preserve_newlines = false; - opts.wrap_line_length = 0; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 70; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 40; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat &&\n' + - ' "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 41; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 45; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_2, - /* expected */ - '{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - ' return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - ' }\n'+ - '}'); - - opts.preserve_newlines = true; - opts.wrap_line_length = 0; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 70; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}'); - - - opts.wrap_line_length = 40; - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat &&\n' + - ' "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 41; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - /* expected */ - 'foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}'); - - opts.wrap_line_length = 45; - // NOTE: wrap is only best effort - line continues until next wrap point is found. - //.............---------1---------2---------3---------4---------5---------6---------7 - //.............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_2, - /* expected */ - '{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - ' return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - ' }\n'+ - '}'); - - reset_options(); - //============================================================ - opts.preserve_newlines = false; - bt('if (foo) // comment\n bar();'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n /asdf/;'); - bt('this.oa = new OAuth(\n' + - ' _requestToken,\n' + - ' _accessToken,\n' + - ' consumer_key\n' + - ');', - 'this.oa = new OAuth(_requestToken, _accessToken, consumer_key);'); - bt('foo = {\n x: y, // #44\n w: z // #44\n}'); - bt('switch (x) {\n case "a":\n // comment on newline\n break;\n case "b": // comment on same line\n break;\n}'); - bt('this.type =\n this.options =\n // comment\n this.enabled null;', - 'this.type = this.options =\n // comment\n this.enabled null;'); - bt('someObj\n .someFunc1()\n // This comment should not break the indent\n .someFunc2();', - 'someObj.someFunc1()\n // This comment should not break the indent\n .someFunc2();'); - - bt('if (true ||\n!true) return;', 'if (true || !true) return;'); - - // these aren't ready yet. - //bt('if (foo) // comment\n bar() /*i*/ + baz() /*j\n*/ + asdf();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\nelse\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\n else a();'); - bt('if (foo)\nbar();\nelse\ncar();', - 'if (foo) bar();\nelse car();'); - - bt('if (foo) if (bar) if (baz);\na();', - 'if (foo)\n if (bar)\n if (baz);\na();'); - bt('if (foo) if (bar) if (baz) whee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();'); - bt('if (foo) a()\nif (bar) if (baz) whee();\na();', - 'if (foo) a()\nif (bar)\n if (baz) whee();\na();'); - bt('if (foo);\nif (bar) if (baz) whee();\na();', - 'if (foo);\nif (bar)\n if (baz) whee();\na();'); - bt('if (options)\n' + - ' for (var p in options)\n' + - ' this[p] = options[p];', - 'if (options)\n'+ - ' for (var p in options) this[p] = options[p];'); - bt('if (options) for (var p in options) this[p] = options[p];', - 'if (options)\n for (var p in options) this[p] = options[p];'); - - bt('if (options) do q(); while (b());', - 'if (options)\n do q(); while (b());'); - bt('if (options) while (b()) q();', - 'if (options)\n while (b()) q();'); - bt('if (options) do while (b()) q(); while (a());', - 'if (options)\n do\n while (b()) q(); while (a());'); - - bt('function f(a, b, c,\nd, e) {}', - 'function f(a, b, c, d, e) {}'); - - bt('function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}'); - bt('function f(a,b) {if(a) b()}\n\n\n\nfunction g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}'); - - // This is not valid syntax, but still want to behave reasonably and not side-effect - bt('(if(a) b())(if(a) b())', - '(\n if (a) b())(\n if (a) b())'); - bt('(if(a) b())\n\n\n(if(a) b())', - '(\n if (a) b())\n(\n if (a) b())'); - - - - bt("if\n(a)\nb();", "if (a) b();"); - bt('var a =\nfoo', 'var a = foo'); - bt('var a = {\n"a":1,\n"b":2}', "var a = {\n \"a\": 1,\n \"b\": 2\n}"); - bt("var a = {\n'a':1,\n'b':2}", "var a = {\n 'a': 1,\n 'b': 2\n}"); - bt('var a = /*i*/ "b";'); - bt('var a = /*i*/\n"b";', 'var a = /*i*/ "b";'); - bt('var a = /*i*/\nb;', 'var a = /*i*/ b;'); - bt('{\n\n\n"x"\n}', '{\n "x"\n}'); - bt('if(a &&\nb\n||\nc\n||d\n&&\ne) e = f', 'if (a && b || c || d && e) e = f'); - bt('if(a &&\n(b\n||\nc\n||d)\n&&\ne) e = f', 'if (a && (b || c || d) && e) e = f'); - test_fragment('\n\n"x"', '"x"'); - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\nb = 2;'); - - opts.preserve_newlines = true; - bt('if (foo) // comment\n bar();'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n (bar());'); - bt('if (foo) // comment\n /asdf/;'); - bt('foo = {\n x: y, // #44\n w: z // #44\n}'); - bt('switch (x) {\n case "a":\n // comment on newline\n break;\n case "b": // comment on same line\n break;\n}'); - bt('this.type =\n this.options =\n // comment\n this.enabled null;'); - bt('someObj\n .someFunc1()\n // This comment should not break the indent\n .someFunc2();'); - - bt('if (true ||\n!true) return;', 'if (true ||\n !true) return;'); - - // these aren't ready yet. - // bt('if (foo) // comment\n bar() /*i*/ + baz() /*j\n*/ + asdf();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\na();', - 'if (foo)\n if (bar)\n if (baz)\n whee();\na();'); - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\nelse\na();', - 'if (foo)\n if (bar)\n if (baz)\n whee();\n else\n a();'); - bt('if (foo)\nbar();\nelse\ncar();', - 'if (foo)\n bar();\nelse\n car();'); - bt('if (foo) bar();\nelse\ncar();', - 'if (foo) bar();\nelse\n car();'); - - bt('if (foo) if (bar) if (baz);\na();', - 'if (foo)\n if (bar)\n if (baz);\na();'); - bt('if (foo) if (bar) if (baz) whee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();'); - bt('if (foo) a()\nif (bar) if (baz) whee();\na();', - 'if (foo) a()\nif (bar)\n if (baz) whee();\na();'); - bt('if (foo);\nif (bar) if (baz) whee();\na();', - 'if (foo);\nif (bar)\n if (baz) whee();\na();'); - bt('if (options)\n' + - ' for (var p in options)\n' + - ' this[p] = options[p];'); - bt('if (options) for (var p in options) this[p] = options[p];', - 'if (options)\n for (var p in options) this[p] = options[p];'); - - bt('if (options) do q(); while (b());', - 'if (options)\n do q(); while (b());'); - bt('if (options) do; while (b());', - 'if (options)\n do; while (b());'); - bt('if (options) while (b()) q();', - 'if (options)\n while (b()) q();'); - bt('if (options) do while (b()) q(); while (a());', - 'if (options)\n do\n while (b()) q(); while (a());'); - - bt('function f(a, b, c,\nd, e) {}', - 'function f(a, b, c,\n d, e) {}'); - - bt('function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}'); - bt('function f(a,b) {if(a) b()}\n\n\n\nfunction g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\n\n\nfunction g(a, b) {\n if (!a) b()\n}'); - // This is not valid syntax, but still want to behave reasonably and not side-effect - bt('(if(a) b())(if(a) b())', - '(\n if (a) b())(\n if (a) b())'); - bt('(if(a) b())\n\n\n(if(a) b())', - '(\n if (a) b())\n\n\n(\n if (a) b())'); - - // space between functions - bt('/*\n * foo\n */\nfunction foo() {}'); - bt('// a nice function\nfunction foo() {}'); - bt('function foo() {}\nfunction foo() {}', - 'function foo() {}\n\nfunction foo() {}' - ); - - bt('[\n function() {}\n]'); - - - - bt("if\n(a)\nb();", "if (a)\n b();"); - bt('var a =\nfoo', 'var a =\n foo'); - bt('var a = {\n"a":1,\n"b":2}', "var a = {\n \"a\": 1,\n \"b\": 2\n}"); - bt("var a = {\n'a':1,\n'b':2}", "var a = {\n 'a': 1,\n 'b': 2\n}"); - bt('var a = /*i*/ "b";'); - bt('var a = /*i*/\n"b";', 'var a = /*i*/\n "b";'); - bt('var a = /*i*/\nb;', 'var a = /*i*/\n b;'); - bt('{\n\n\n"x"\n}', '{\n\n\n "x"\n}'); - bt('if(a &&\nb\n||\nc\n||d\n&&\ne) e = f', 'if (a &&\n b ||\n c ||\n d &&\n e) e = f'); - bt('if(a &&\n(b\n||\nc\n||d)\n&&\ne) e = f', 'if (a &&\n (b ||\n c ||\n d) &&\n e) e = f'); - test_fragment('\n\n"x"', '"x"'); - - // this beavior differs between js and python, defaults to unlimited in js, 10 in python - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;'); - opts.max_preserve_newlines = 8; - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\n\n\n\n\n\n\n\nb = 2;'); - - reset_options(); - //============================================================ - - - Urlencoded.run_tests(sanitytest); - } - - beautifier_tests(); - beautifier_unconverted_tests(); -} - -if (typeof exports !== "undefined") { - exports.run_javascript_tests = run_javascript_tests; -} diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/python.mustache b/build/js-transpiled/node_modules/js-beautify/test/data/javascript/python.mustache deleted file mode 100644 index 4cdde4d8..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/python.mustache +++ /dev/null @@ -1,1322 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -''' -{{&header_text}} - - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -''' - -import re -import unittest -import jsbeautifier -import six -import copy - -class TestJSBeautifier(unittest.TestCase): - options = None - - @classmethod - def setUpClass(cls): - true = True - false = False - - default_options = jsbeautifier.default_options() - default_options.indent_size = 4 - default_options.indent_char = ' ' - default_options.preserve_newlines = True - default_options.jslint_happy = False - default_options.keep_array_indentation = False - default_options.brace_style = 'collapse' - default_options.indent_level = 0 - default_options.break_chained_methods = False - default_options.eol = '\n' - -{{#default_options}} default_options.{{name}} = {{&value}} -{{/default_options}} - - cls.default_options = default_options - cls.wrapregex = re.compile('^(.+)$', re.MULTILINE) - - def reset_options(self): - self.options = copy.copy(self.default_options) - - def test_unescape(self): - # Test cases contributed by - test_fragment = self.decodesto - self.reset_options() - bt = self.bt - - def unicode_char(value): - return six.unichr(value) - - bt('"\\\\s"') # == "\\s" in the js source - bt("'\\\\s'") # == '\\s' in the js source - bt("'\\\\\\s'") # == '\\\s' in the js source - bt("'\\s'") # == '\s' in the js source - bt('"•"') - bt('"—"') - bt('"\\x41\\x42\\x43\\x01"', '"\\x41\\x42\\x43\\x01"') - bt('"\\u2022"', '"\\u2022"') - bt('a = /\s+/') - #bt('a = /\\x41/','a = /A/') - bt('"\\u2022";a = /\s+/;"\\x41\\x42\\x43\\x01".match(/\\x41/);','"\\u2022";\na = /\s+/;\n"\\x41\\x42\\x43\\x01".match(/\\x41/);') - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"', '"\\x22\\x27", \'\\x22\\x27\', "\\x5c", \'\\x5c\', "\\xff and \\xzz", "unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"') - - self.options.unescape_strings = True - - bt('"\\x41\\x42\\x43\\x01"', '"ABC\\x01"') - test_fragment('"\\x20\\x40\\x4a"', '" @J"'); - test_fragment('"\\xff\\x40\\x4a"'); - test_fragment('"\\u0072\\u016B\\u0137\\u012B\\u0074\\u0069\\u0073"', six.u('"\u0072\u016B\u0137\u012B\u0074\u0069\u0073"')); - - bt('a = /\s+/') - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff"', - '"\\"\\\'", \'\\"\\\'\', "\\\\", \'\\\\\', "\\xff", "unicode \\u0000 \\" \\\' \\\\ ' + unicode_char(0xffff) + '"'); - - # For error case, return the string unchanged - test_fragment('"\\x22\\x27",\'\\x22\\x27\',"\\x5c",\'\\x5c\',"\\xff and \\xzz","unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"', - '"\\"\\\'", \'\\"\\\'\', "\\\\", \'\\\\\', "\\xff and \\xzz", "unicode \\u0000 \\u0022 \\u0027 \\u005c \\uffff \\uzzzz"'); - - self.options.unescape_strings = False - - def test_beautifier(self): - test_fragment = self.decodesto - bt = self.bt - - true = True - false = False - - def unicode_char(value): - return six.unichr(value) - -{{#groups}}{{#set_mustache_tags}}.{{/set_mustache_tags}} - #============================================================ - {{^matrix}} - # {{&name}} - self.reset_options(); - {{#options}} - self.options.{{name}} = {{&value}} - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}} - {{/tests}} - - {{/matrix}} - {{#matrix}} - # {{&name}} - ({{#matrix_context_string}}.{{/matrix_context_string}}) - self.reset_options(); - {{#options}} - self.options.{{name}} = {{&value}} - {{/options}} - {{#tests}} - {{#test_line}}.{{/test_line}} - {{/tests}} - - {{/matrix}} -{{#unset_mustache_tags}}.{{/unset_mustache_tags}}{{/groups}} - - def test_beautifier_unconverted(self): - test_fragment = self.decodesto - bt = self.bt - - self.reset_options(); - #============================================================ - self.options.indent_size = 1; - self.options.indent_char = ' '; - bt('{ one_char() }', "{\n one_char()\n}") - - bt('var a,b=1,c=2', 'var a, b = 1,\n c = 2') - - self.options.indent_size = 4; - self.options.indent_char = ' '; - bt('{ one_char() }', "{\n one_char()\n}") - - self.options.indent_size = 1; - self.options.indent_char = "\t"; - bt('{ one_char() }', "{\n\tone_char()\n}") - bt('x = a ? b : c; x;', 'x = a ? b : c;\nx;') - - #set to something else than it should change to, but with tabs on, should override - self.options.indent_size = 5; - self.options.indent_char = ' '; - self.options.indent_with_tabs = True; - - bt('{ one_char() }', "{\n\tone_char()\n}") - bt('x = a ? b : c; x;', 'x = a ? b : c;\nx;') - - - self.reset_options(); - #============================================================ - self.options.preserve_newlines = False; - bt('var\na=dont_preserve_newlines;', 'var a = dont_preserve_newlines;') - - # make sure the blank line between function definitions stays - # even when preserve_newlines = False - bt('function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}') - bt('function foo() {\n return 1;\n}\nfunction foo() {\n return 1;\n}', - 'function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}' - ) - bt('function foo() {\n return 1;\n}\n\n\nfunction foo() {\n return 1;\n}', - 'function foo() {\n return 1;\n}\n\nfunction foo() {\n return 1;\n}' - ) - - - self.options.preserve_newlines = True; - bt('var\na=do_preserve_newlines;', 'var\n a = do_preserve_newlines;') - bt('if (foo) // comment\n{\n bar();\n}') - - - self.reset_options(); - #============================================================ - self.options.keep_array_indentation = False; - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f'\n]") - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i'\n]") - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']", - "a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i'\n]") - bt('var x = [{}\n]', 'var x = [{}]') - bt('var x = [{foo:bar}\n]', 'var x = [{\n foo: bar\n}]') - bt("a = ['something',\n 'completely',\n 'different'];\nif (x);", - "a = ['something',\n 'completely',\n 'different'\n];\nif (x);") - bt("a = ['a','b','c']", "a = ['a', 'b', 'c']") - bt("a = ['a', 'b','c']", "a = ['a', 'b', 'c']") - bt("x = [{'a':0}]", - "x = [{\n 'a': 0\n}]") - bt('{a([[a1]], {b;});}', - '{\n a([\n [a1]\n ], {\n b;\n });\n}') - bt("a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\n[\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n].toString();") - bt("a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n].toString();") - bt("function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}", - "function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}") - bt('function foo() {\n return [\n "one",\n "two"\n ];\n}') - # 4 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}", - "function foo() {\n" + - " return [{\n" + - " one: 'x',\n" + - " two: [{\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }]\n" + - " }];\n" + - "}") - # 3 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}", - "function foo() {\n" + - " return [{\n" + - " one: 'x',\n" + - " two: [{\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }]\n" + - " }];\n" + - "}") - - self.options.keep_array_indentation = True; - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f']") - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']") - bt("a = ['a', 'b', 'c',\n 'd', 'e', 'f',\n 'g', 'h', 'i']") - bt('var x = [{}\n]', 'var x = [{}\n]') - bt('var x = [{foo:bar}\n]', 'var x = [{\n foo: bar\n }\n]') - bt("a = ['something',\n 'completely',\n 'different'];\nif (x);") - bt("a = ['a','b','c']", "a = ['a', 'b', 'c']") - bt("a = ['a', 'b','c']", "a = ['a', 'b', 'c']") - bt("x = [{'a':0}]", - "x = [{\n 'a': 0\n}]") - bt('{a([[a1]], {b;});}', - '{\n a([[a1]], {\n b;\n });\n}') - bt("a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\n [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();") - bt("a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();", - "a();\na = [\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ].toString();") - bt("function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}", - "function() {\n Foo([\n ['sdfsdfsd'],\n ['sdfsdfsdf']\n ]);\n}") - bt('function foo() {\n return [\n "one",\n "two"\n ];\n}') - # 4 spaces per indent input, processed with 4-spaces per indent - bt( "function foo() {\n" + - " return [\n" + - " {\n" + - " one: 'x',\n" + - " two: [\n" + - " {\n" + - " id: 'a',\n" + - " name: 'apple'\n" + - " }, {\n" + - " id: 'b',\n" + - " name: 'banana'\n" + - " }\n" + - " ]\n" + - " }\n" + - " ];\n" + - "}") - # 3 spaces per indent input, processed with 4-spaces per indent - # Should be unchanged, but is not - #445 -# bt( "function foo() {\n" + -# " return [\n" + -# " {\n" + -# " one: 'x',\n" + -# " two: [\n" + -# " {\n" + -# " id: 'a',\n" + -# " name: 'apple'\n" + -# " }, {\n" + -# " id: 'b',\n" + -# " name: 'banana'\n" + -# " }\n" + -# " ]\n" + -# " }\n" + -# " ];\n" + -# "}") - - self.reset_options(); - #============================================================ - bt('a = //comment\n /regex/;') - - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', 'if (a) {\n b;\n} else {\n c;\n}') - - bt('var a = new function();') - test_fragment('new function') - - self.reset_options(); - #============================================================ - # START tests for brace positioning - - # If this is ever supported, update tests for each brace style. - # test_fragment('return\n{', 'return\n{') # can't support this?, but that's an improbable and extreme case anyway. - - self.options.brace_style = 'expand'; - - bt('//case 1\nif (a == 1)\n{}\n//case 2\nelse if (a == 2)\n{}') - bt('if(1){2}else{3}', "if (1)\n{\n 2\n}\nelse\n{\n 3\n}") - bt('try{a();}catch(b){c();}catch(d){}finally{e();}', - "try\n{\n a();\n}\ncatch (b)\n{\n c();\n}\ncatch (d)\n{}\nfinally\n{\n e();\n}") - bt('if(a){b();}else if(c) foo();', - "if (a)\n{\n b();\n}\nelse if (c) foo();") - bt("if (a) {\n// comment\n}else{\n// comment\n}", - "if (a)\n{\n // comment\n}\nelse\n{\n // comment\n}") # if/else statement with empty body - bt('if (x) {y} else { if (x) {y}}', - 'if (x)\n{\n y\n}\nelse\n{\n if (x)\n {\n y\n }\n}') - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', - 'if (a)\n{\n b;\n}\nelse\n{\n c;\n}') - test_fragment(' /*\n* xx\n*/\n// xx\nif (foo) {\n bar();\n}', - ' /*\n * xx\n */\n // xx\n if (foo)\n {\n bar();\n }') - bt('if (foo)\n{}\nelse /regex/.test();') - test_fragment('if (foo) {', 'if (foo)\n{') - test_fragment('foo {', 'foo\n{') - test_fragment('return {', 'return {') # return needs the brace. - test_fragment('return /* inline */ {', 'return /* inline */ {') - test_fragment('return;\n{', 'return;\n{') - bt("throw {}") - bt("throw {\n foo;\n}") - bt('var foo = {}') - bt('function x() {\n foo();\n}zzz', 'function x()\n{\n foo();\n}\nzzz') - test_fragment('a: do {} while (); xxx', 'a: do {} while ();\nxxx') - bt('{a: do {} while (); xxx}', '{\n a: do {} while ();xxx\n}') - bt('var a = new function() {};') - bt('var a = new function a() {};', 'var a = new function a()\n{};') - bt('var a = new function()\n{};', 'var a = new function() {};') - bt('var a = new function a()\n{};') - bt('var a = new function a()\n {},\n b = new function b()\n {};') - bt("foo({\n 'a': 1\n},\n10);", - "foo(\n {\n 'a': 1\n },\n 10);") - bt('(["foo","bar"]).each(function(i) {return i;});', - '(["foo", "bar"]).each(function(i)\n{\n return i;\n});') - bt('(function(i) {return i;})();', - '(function(i)\n{\n return i;\n})();') - bt( "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test(\n" + - "/*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "},\n" + - "/*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test(\n" + - " /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test( /*Argument 1*/\n" + - "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */\n" + - "{\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - - self.options.brace_style = 'collapse'; - - bt('//case 1\nif (a == 1) {}\n//case 2\nelse if (a == 2) {}') - bt('if(1){2}else{3}', "if (1) {\n 2\n} else {\n 3\n}") - bt('try{a();}catch(b){c();}catch(d){}finally{e();}', - "try {\n a();\n} catch (b) {\n c();\n} catch (d) {} finally {\n e();\n}") - bt('if(a){b();}else if(c) foo();', - "if (a) {\n b();\n} else if (c) foo();") - bt("if (a) {\n// comment\n}else{\n// comment\n}", - "if (a) {\n // comment\n} else {\n // comment\n}") # if/else statement with empty body - bt('if (x) {y} else { if (x) {y}}', - 'if (x) {\n y\n} else {\n if (x) {\n y\n }\n}') - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', - 'if (a) {\n b;\n} else {\n c;\n}') - test_fragment(' /*\n* xx\n*/\n// xx\nif (foo) {\n bar();\n}', - ' /*\n * xx\n */\n // xx\n if (foo) {\n bar();\n }') - bt('if (foo) {} else /regex/.test();') - test_fragment('if (foo) {', 'if (foo) {') - test_fragment('foo {', 'foo {') - test_fragment('return {', 'return {') # return needs the brace. - test_fragment('return /* inline */ {', 'return /* inline */ {') - test_fragment('return;\n{', 'return; {') - bt("throw {}") - bt("throw {\n foo;\n}") - bt('var foo = {}') - bt('function x() {\n foo();\n}zzz', 'function x() {\n foo();\n}\nzzz') - test_fragment('a: do {} while (); xxx', 'a: do {} while ();\nxxx') - bt('{a: do {} while (); xxx}', '{\n a: do {} while ();xxx\n}') - bt('var a = new function() {};') - bt('var a = new function a() {};') - bt('var a = new function()\n{};', 'var a = new function() {};') - bt('var a = new function a()\n{};', 'var a = new function a() {};') - bt('var a = new function a()\n {},\n b = new function b()\n {};', 'var a = new function a() {},\n b = new function b() {};') - bt("foo({\n 'a': 1\n},\n10);", - "foo({\n 'a': 1\n },\n 10);") - bt('(["foo","bar"]).each(function(i) {return i;});', - '(["foo", "bar"]).each(function(i) {\n return i;\n});') - bt('(function(i) {return i;})();', - '(function(i) {\n return i;\n})();') - bt( "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test(\n" + - "/*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "},\n" + - "/*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test(\n" + - " /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test( /*Argument 1*/\n" + - "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */\n" + - "{\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - - self.options.brace_style = "end-expand"; - - bt('//case 1\nif (a == 1) {}\n//case 2\nelse if (a == 2) {}') - bt('if(1){2}else{3}', "if (1) {\n 2\n}\nelse {\n 3\n}") - bt('try{a();}catch(b){c();}catch(d){}finally{e();}', - "try {\n a();\n}\ncatch (b) {\n c();\n}\ncatch (d) {}\nfinally {\n e();\n}") - bt('if(a){b();}else if(c) foo();', - "if (a) {\n b();\n}\nelse if (c) foo();") - bt("if (a) {\n// comment\n}else{\n// comment\n}", - "if (a) {\n // comment\n}\nelse {\n // comment\n}") # if/else statement with empty body - bt('if (x) {y} else { if (x) {y}}', - 'if (x) {\n y\n}\nelse {\n if (x) {\n y\n }\n}') - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', - 'if (a) {\n b;\n}\nelse {\n c;\n}') - test_fragment(' /*\n* xx\n*/\n// xx\nif (foo) {\n bar();\n}', - ' /*\n * xx\n */\n // xx\n if (foo) {\n bar();\n }') - bt('if (foo) {}\nelse /regex/.test();') - test_fragment('if (foo) {', 'if (foo) {') - test_fragment('foo {', 'foo {') - test_fragment('return {', 'return {') # return needs the brace. - test_fragment('return /* inline */ {', 'return /* inline */ {') - test_fragment('return;\n{', 'return; {') - bt("throw {}") - bt("throw {\n foo;\n}") - bt('var foo = {}') - bt('function x() {\n foo();\n}zzz', 'function x() {\n foo();\n}\nzzz') - test_fragment('a: do {} while (); xxx', 'a: do {} while ();\nxxx') - bt('{a: do {} while (); xxx}', '{\n a: do {} while ();xxx\n}') - bt('var a = new function() {};') - bt('var a = new function a() {};') - bt('var a = new function()\n{};', 'var a = new function() {};') - bt('var a = new function a()\n{};', 'var a = new function a() {};') - bt('var a = new function a()\n {},\n b = new function b()\n {};', 'var a = new function a() {},\n b = new function b() {};') - bt("foo({\n 'a': 1\n},\n10);", - "foo({\n 'a': 1\n },\n 10);") - bt('(["foo","bar"]).each(function(i) {return i;});', - '(["foo", "bar"]).each(function(i) {\n return i;\n});') - bt('(function(i) {return i;})();', - '(function(i) {\n return i;\n})();') - bt( "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test(\n" + - "/*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "},\n" + - "/*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test(\n" + - " /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test( /*Argument 1*/\n" + - "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */\n" + - "{\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - - self.options.brace_style = 'none'; - - bt('//case 1\nif (a == 1)\n{}\n//case 2\nelse if (a == 2)\n{}') - bt('if(1){2}else{3}', "if (1) {\n 2\n} else {\n 3\n}") - bt('try{a();}catch(b){c();}catch(d){}finally{e();}', - "try {\n a();\n} catch (b) {\n c();\n} catch (d) {} finally {\n e();\n}") - bt('if(a){b();}else if(c) foo();', - "if (a) {\n b();\n} else if (c) foo();") - bt("if (a) {\n// comment\n}else{\n// comment\n}", - "if (a) {\n // comment\n} else {\n // comment\n}") # if/else statement with empty body - bt('if (x) {y} else { if (x) {y}}', - 'if (x) {\n y\n} else {\n if (x) {\n y\n }\n}') - bt('if (a)\n{\nb;\n}\nelse\n{\nc;\n}', - 'if (a)\n{\n b;\n}\nelse\n{\n c;\n}') - test_fragment(' /*\n* xx\n*/\n// xx\nif (foo) {\n bar();\n}', - ' /*\n * xx\n */\n // xx\n if (foo) {\n bar();\n }') - bt('if (foo)\n{}\nelse /regex/.test();') - test_fragment('if (foo) {') - test_fragment('foo {') - test_fragment('return {') # return needs the brace. - test_fragment('return /* inline */ {') - test_fragment('return;\n{') - bt("throw {}") - bt("throw {\n foo;\n}") - bt('var foo = {}') - bt('function x() {\n foo();\n}zzz', 'function x() {\n foo();\n}\nzzz') - test_fragment('a: do {} while (); xxx', 'a: do {} while ();\nxxx') - bt('{a: do {} while (); xxx}', '{\n a: do {} while ();xxx\n}') - bt('var a = new function() {};') - bt('var a = new function a() {};') - bt('var a = new function()\n{};', 'var a = new function() {};') - bt('var a = new function a()\n{};') - bt('var a = new function a()\n {},\n b = new function b()\n {};') - bt("foo({\n 'a': 1\n},\n10);", - "foo({\n 'a': 1\n },\n 10);") - bt('(["foo","bar"]).each(function(i) {return i;});', - '(["foo", "bar"]).each(function(i) {\n return i;\n});') - bt('(function(i) {return i;})();', - '(function(i) {\n return i;\n})();') - bt( "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test(\n" + - "/*Argument 1*/ {\n" + - " 'Value1': '1'\n" + - "},\n" + - "/*Argument 2\n" + - " */ {\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test(\n" + - " /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - bt( "test( /*Argument 1*/\n" + - "{\n" + - " 'Value1': '1'\n" + - "}, /*Argument 2\n" + - " */\n" + - "{\n" + - " 'Value2': '2'\n" + - "});", - # expected - "test( /*Argument 1*/\n" + - " {\n" + - " 'Value1': '1'\n" + - " },\n" + - " /*Argument 2\n" + - " */\n" + - " {\n" + - " 'Value2': '2'\n" + - " });") - # END tests for brace position - - self.reset_options(); - #============================================================ - test_fragment('roo = {\n /*\n ****\n FOO\n ****\n */\n BAR: 0\n};') - test_fragment("if (zz) {\n // ....\n}\n(function") - - self.reset_options(); - #============================================================ - self.options.preserve_newlines = True; - bt('var a = 42; // foo\n\nvar b;') - bt('var a = 42; // foo\n\n\nvar b;') - bt("var a = 'foo' +\n 'bar';") - bt("var a = \"foo\" +\n \"bar\";") - - bt('"foo""bar""baz"', '"foo"\n"bar"\n"baz"') - bt("'foo''bar''baz'", "'foo'\n'bar'\n'baz'") - bt("{\n get foo() {}\n}") - bt("{\n var a = get\n foo();\n}") - bt("{\n set foo() {}\n}") - bt("{\n var a = set\n foo();\n}") - bt("var x = {\n get function()\n}") - bt("var x = {\n set function()\n}") - - # According to my current research get/set have no special meaning outside of an object literal - bt("var x = set\n\na() {}", "var x = set\n\na() {}") - bt("var x = set\n\nfunction() {}", "var x = set\n\nfunction() {}") - - bt('') - bt(' - bt('for () /abc/.test()') - bt('if (k) /aaa/m.test(v) && l();') - bt('switch (true) {\n case /swf/i.test(foo):\n bar();\n}') - bt('createdAt = {\n type: Date,\n default: Date.now\n}') - bt('switch (createdAt) {\n case a:\n Date,\n default:\n Date.now\n}') - - bt('return function();') - bt('var a = function();') - bt('var a = 5 + function();') - - bt('{\n foo // something\n ,\n bar // something\n baz\n}') - bt('function a(a) {} function b(b) {} function c(c) {}', 'function a(a) {}\n\nfunction b(b) {}\n\nfunction c(c) {}') - - - bt('import foo.*;', 'import foo.*;') # actionscript's import - test_fragment('function f(a: a, b: b)') # actionscript - bt('foo(a, function() {})') - bt('foo(a, /regex/)') - - bt('/* foo */\n"x"') - - self.reset_options(); - #============================================================ - self.options.break_chained_methods = False - self.options.preserve_newlines = False - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat);\nfoo.bar().baz().cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo.bar().baz().cucumber(fat)\nfoo.bar().baz().cucumber(fat)') - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this.something = foo.bar().baz().cucumber(fat)') - bt('this.something.xxx = foo.moo.bar()') - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this.something.xxx = foo.moo.bar()') - - self.options.break_chained_methods = False - self.options.preserve_newlines = True - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat);\nfoo.bar().baz().cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz().cucumber(fat)\nfoo.bar().baz().cucumber(fat)') - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this\n .something = foo.bar()\n .baz().cucumber(fat)') - bt('this.something.xxx = foo.moo.bar()') - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this\n .something\n .xxx = foo.moo\n .bar()') - - self.options.break_chained_methods = True - self.options.preserve_newlines = False - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat);\nfoo.bar()\n .baz()\n .cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo.bar()\n .baz()\n .cucumber(fat)\nfoo.bar()\n .baz()\n .cucumber(fat)') - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this.something = foo.bar()\n .baz()\n .cucumber(fat)') - bt('this.something.xxx = foo.moo.bar()') - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this.something.xxx = foo.moo.bar()') - - self.options.break_chained_methods = True - self.options.preserve_newlines = True - bt('foo\n.bar()\n.baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat); foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat);\nfoo.bar()\n .baz()\n .cucumber(fat)') - bt('foo\n.bar()\n.baz().cucumber(fat)\n foo.bar().baz().cucumber(fat)', 'foo\n .bar()\n .baz()\n .cucumber(fat)\nfoo.bar()\n .baz()\n .cucumber(fat)') - bt('this\n.something = foo.bar()\n.baz().cucumber(fat)', 'this\n .something = foo.bar()\n .baz()\n .cucumber(fat)') - bt('this.something.xxx = foo.moo.bar()') - bt('this\n.something\n.xxx = foo.moo\n.bar()', 'this\n .something\n .xxx = foo.moo\n .bar()') - - self.reset_options(); - #============================================================ - # Line wrap test intputs - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - wrap_input_1=('foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}') - - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - wrap_input_2=('{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n.but_this_can\n' + - ' return between_return_and_expression_should_never_wrap.but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - ' if (wraps_can_occur && inside_an_if_block) that_is_\n.okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - ' }' + - '}') - - self.options.preserve_newlines = False - self.options.wrap_line_length = 0 - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}') - - self.options.wrap_line_length = 70 - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap.but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}') - - self.options.wrap_line_length = 40 - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat &&\n' + - ' "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}') - - self.options.wrap_line_length = 41 - # NOTE: wrap is only best effort - line continues until next wrap point is found. - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}') - - - self.options.wrap_line_length = 45 - # NOTE: wrap is only best effort - line continues until next wrap point is found. - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_2, - # expected # - '{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - ' return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_.okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - ' }\n'+ - '}') - - self.options.preserve_newlines = True - self.options.wrap_line_length = 0 - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}') - - - self.options.wrap_line_length = 70 - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat && "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap.but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap.but_this_can\n' + - 'if (wraps_can_occur && inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token + 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap + but_this_can,\n' + - ' propertz: first_token_should_never_wrap + !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" + "but_this_can"\n' + - '}') - - - self.options.wrap_line_length = 40 - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat &&\n' + - ' "sassy") || (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}') - - self.options.wrap_line_length = 41 - # NOTE: wrap is only best effort - line continues until next wrap point is found. - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_1, - # expected # - 'foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - 'Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - 'return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - 'if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - 'object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - '}') - - self.options.wrap_line_length = 45 - # NOTE: wrap is only best effort - line continues until next wrap point is found. - #..............---------1---------2---------3---------4---------5---------6---------7 - #..............1234567890123456789012345678901234567890123456789012345678901234567890 - test_fragment(wrap_input_2, - # expected # - '{\n' + - ' foo.bar().baz().cucumber((fat && "sassy") ||\n' + - ' (leans && mean));\n' + - ' Test_very_long_variable_name_this_should_never_wrap\n' + - ' .but_this_can\n' + - ' return between_return_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' throw between_throw_and_expression_should_never_wrap\n' + - ' .but_this_can\n' + - ' if (wraps_can_occur &&\n' + - ' inside_an_if_block) that_is_\n' + - ' .okay();\n' + - ' object_literal = {\n' + - ' propertx: first_token +\n' + - ' 12345678.99999E-6,\n' + - ' property: first_token_should_never_wrap +\n' + - ' but_this_can,\n' + - ' propertz: first_token_should_never_wrap +\n' + - ' !but_this_can,\n' + - ' proper: "first_token_should_never_wrap" +\n' + - ' "but_this_can"\n' + - ' }\n'+ - '}') - - self.reset_options(); - #============================================================ - self.options.preserve_newlines = False - bt('if (foo) // comment\n bar();') - bt('if (foo) // comment\n (bar());') - bt('if (foo) // comment\n (bar());') - bt('if (foo) // comment\n /asdf/;') - bt('this.oa = new OAuth(\n' + - ' _requestToken,\n' + - ' _accessToken,\n' + - ' consumer_key\n' + - ');', - 'this.oa = new OAuth(_requestToken, _accessToken, consumer_key);') - bt('foo = {\n x: y, // #44\n w: z // #44\n}') - bt('switch (x) {\n case "a":\n // comment on newline\n break;\n case "b": // comment on same line\n break;\n}') - bt('this.type =\n this.options =\n // comment\n this.enabled null;', - 'this.type = this.options =\n // comment\n this.enabled null;') - bt('someObj\n .someFunc1()\n // This comment should not break the indent\n .someFunc2();', - 'someObj.someFunc1()\n // This comment should not break the indent\n .someFunc2();') - - bt('if (true ||\n!true) return;', 'if (true || !true) return;') - - # these aren't ready yet. - #bt('if (foo) // comment\n bar() /*i*/ + baz() /*j\n*/ + asdf();') - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();') - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\nelse\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\n else a();') - bt('if (foo)\nbar();\nelse\ncar();', - 'if (foo) bar();\nelse car();') - - bt('if (foo) if (bar) if (baz);\na();', - 'if (foo)\n if (bar)\n if (baz);\na();') - bt('if (foo) if (bar) if (baz) whee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();') - bt('if (foo) a()\nif (bar) if (baz) whee();\na();', - 'if (foo) a()\nif (bar)\n if (baz) whee();\na();') - bt('if (foo);\nif (bar) if (baz) whee();\na();', - 'if (foo);\nif (bar)\n if (baz) whee();\na();') - bt('if (options)\n' + - ' for (var p in options)\n' + - ' this[p] = options[p];', - 'if (options)\n'+ - ' for (var p in options) this[p] = options[p];') - bt('if (options) for (var p in options) this[p] = options[p];', - 'if (options)\n for (var p in options) this[p] = options[p];') - - bt('if (options) do q(); while (b());', - 'if (options)\n do q(); while (b());') - bt('if (options) while (b()) q();', - 'if (options)\n while (b()) q();') - bt('if (options) do while (b()) q(); while (a());', - 'if (options)\n do\n while (b()) q(); while (a());') - - bt('function f(a, b, c,\nd, e) {}', - 'function f(a, b, c, d, e) {}') - - bt('function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}') - bt('function f(a,b) {if(a) b()}\n\n\n\nfunction g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}') - # This is not valid syntax, but still want to behave reasonably and not side-effect - bt('(if(a) b())(if(a) b())', - '(\n if (a) b())(\n if (a) b())') - bt('(if(a) b())\n\n\n(if(a) b())', - '(\n if (a) b())\n(\n if (a) b())') - - # space between functions - bt('/*\n * foo\n */\nfunction foo() {}') - bt('// a nice function\nfunction foo() {}') - bt('function foo() {}\nfunction foo() {}', - 'function foo() {}\n\nfunction foo() {}' - ) - - bt('[\n function() {}\n]') - - - bt("if\n(a)\nb();", "if (a) b();") - bt('var a =\nfoo', 'var a = foo') - bt('var a = {\n"a":1,\n"b":2}', "var a = {\n \"a\": 1,\n \"b\": 2\n}") - bt("var a = {\n'a':1,\n'b':2}", "var a = {\n 'a': 1,\n 'b': 2\n}") - bt('var a = /*i*/ "b";') - bt('var a = /*i*/\n"b";', 'var a = /*i*/ "b";') - bt('var a = /*i*/\nb;', 'var a = /*i*/ b;') - bt('{\n\n\n"x"\n}', '{\n "x"\n}') - bt('if(a &&\nb\n||\nc\n||d\n&&\ne) e = f', 'if (a && b || c || d && e) e = f') - bt('if(a &&\n(b\n||\nc\n||d)\n&&\ne) e = f', 'if (a && (b || c || d) && e) e = f') - test_fragment('\n\n"x"', '"x"') - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\nb = 2;') - - - self.options.preserve_newlines = True - bt('if (foo) // comment\n bar();') - bt('if (foo) // comment\n (bar());') - bt('if (foo) // comment\n (bar());') - bt('if (foo) // comment\n /asdf/;') - bt('this.oa = new OAuth(\n' + - ' _requestToken,\n' + - ' _accessToken,\n' + - ' consumer_key\n' + - ');') - bt('foo = {\n x: y, // #44\n w: z // #44\n}') - bt('switch (x) {\n case "a":\n // comment on newline\n break;\n case "b": // comment on same line\n break;\n}') - bt('this.type =\n this.options =\n // comment\n this.enabled null;') - bt('someObj\n .someFunc1()\n // This comment should not break the indent\n .someFunc2();') - - bt('if (true ||\n!true) return;', 'if (true ||\n !true) return;') - - # these aren't ready yet. - # bt('if (foo) // comment\n bar() /*i*/ + baz() /*j\n*/ + asdf();') - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\na();', - 'if (foo)\n if (bar)\n if (baz)\n whee();\na();') - bt('if\n(foo)\nif\n(bar)\nif\n(baz)\nwhee();\nelse\na();', - 'if (foo)\n if (bar)\n if (baz)\n whee();\n else\n a();') - bt('if (foo)\nbar();\nelse\ncar();', - 'if (foo)\n bar();\nelse\n car();') - bt('if (foo) bar();\nelse\ncar();', - 'if (foo) bar();\nelse\n car();') - - bt('if (foo) if (bar) if (baz);\na();', - 'if (foo)\n if (bar)\n if (baz);\na();') - bt('if (foo) if (bar) if (baz) whee();\na();', - 'if (foo)\n if (bar)\n if (baz) whee();\na();') - bt('if (foo) a()\nif (bar) if (baz) whee();\na();', - 'if (foo) a()\nif (bar)\n if (baz) whee();\na();') - bt('if (foo);\nif (bar) if (baz) whee();\na();', - 'if (foo);\nif (bar)\n if (baz) whee();\na();') - bt('if (options)\n' + - ' for (var p in options)\n' + - ' this[p] = options[p];') - bt('if (options) for (var p in options) this[p] = options[p];', - 'if (options)\n for (var p in options) this[p] = options[p];') - - bt('if (options) do q(); while (b());', - 'if (options)\n do q(); while (b());') - bt('if (options) do; while (b());', - 'if (options)\n do; while (b());') - bt('if (options) while (b()) q();', - 'if (options)\n while (b()) q();') - bt('if (options) do while (b()) q(); while (a());', - 'if (options)\n do\n while (b()) q(); while (a());') - - bt('function f(a, b, c,\nd, e) {}', - 'function f(a, b, c,\n d, e) {}') - - bt('function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\nfunction g(a, b) {\n if (!a) b()\n}') - bt('function f(a,b) {if(a) b()}\n\n\n\nfunction g(a,b) {if(!a) b()}', - 'function f(a, b) {\n if (a) b()\n}\n\n\n\nfunction g(a, b) {\n if (!a) b()\n}') - # This is not valid syntax, but still want to behave reasonably and not side-effect - bt('(if(a) b())(if(a) b())', - '(\n if (a) b())(\n if (a) b())') - bt('(if(a) b())\n\n\n(if(a) b())', - '(\n if (a) b())\n\n\n(\n if (a) b())') - - - bt("if\n(a)\nb();", "if (a)\n b();") - bt('var a =\nfoo', 'var a =\n foo') - bt('var a = {\n"a":1,\n"b":2}', "var a = {\n \"a\": 1,\n \"b\": 2\n}") - bt("var a = {\n'a':1,\n'b':2}", "var a = {\n 'a': 1,\n 'b': 2\n}") - bt('var a = /*i*/ "b";') - bt('var a = /*i*/\n"b";', 'var a = /*i*/\n "b";') - bt('var a = /*i*/\nb;', 'var a = /*i*/\n b;') - bt('{\n\n\n"x"\n}', '{\n\n\n "x"\n}') - bt('if(a &&\nb\n||\nc\n||d\n&&\ne) e = f', 'if (a &&\n b ||\n c ||\n d &&\n e) e = f') - bt('if(a &&\n(b\n||\nc\n||d)\n&&\ne) e = f', 'if (a &&\n (b ||\n c ||\n d) &&\n e) e = f') - test_fragment('\n\n"x"', '"x"') - # this beavior differs between js and python, defaults to unlimited in js, 10 in python - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\n\n\n\n\n\n\n\n\n\nb = 2;') - self.options.max_preserve_newlines = 8; - bt('a = 1;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nb = 2;', - 'a = 1;\n\n\n\n\n\n\n\nb = 2;') - - self.reset_options(); - #============================================================ - - - def decodesto(self, input, expectation=None): - if expectation == None: - expectation = input - - self.assertMultiLineEqual( - jsbeautifier.beautify(input, self.options), expectation) - - # if the expected is different from input, run it again - # expected output should be unchanged when run twice. - if not expectation == None: - self.assertMultiLineEqual( - jsbeautifier.beautify(expectation, self.options), expectation) - - # Everywhere we do newlines, they should be replaced with opts.eol - self.options.eol = '\r\\n'; - expectation = expectation.replace('\n', '\r\n') - self.assertMultiLineEqual( - jsbeautifier.beautify(input, self.options), expectation) - if input.find('\n') != -1: - input = input.replace('\n', '\r\n') - self.assertMultiLineEqual( - jsbeautifier.beautify(input, self.options), expectation) - # Ensure support for auto eol detection - self.options.eol = 'auto' - self.assertMultiLineEqual( - jsbeautifier.beautify(input, self.options), expectation) - self.options.eol = '\n' - - def wrap(self, text): - return self.wrapregex.sub(' \\1', text) - - def bt(self, input, expectation=None): - if expectation == None: - expectation = input - - self.decodesto(input, expectation) - # If we set raw, input should be unchanged - self.options.test_output_raw = True - if self.options.end_with_newline: - elf.decodesto(input, input) - self.options.test_output_raw = False - - current_indent_size = None - if self.options.js and self.options.js['indent_size']: - current_indent_size = self.options.js['indent_size'] - - if not current_indent_size: - current_indent_size = self.options.indent_size - - if current_indent_size == 4 and input: - wrapped_input = '{\n%s\n foo = bar;\n}' % self.wrap(input) - wrapped_expect = '{\n%s\n foo = bar;\n}' % self.wrap(expectation) - self.decodesto(wrapped_input, wrapped_expect) - - # If we set raw, input should be unchanged - self.options.test_output_raw = True - if self.options.end_with_newline: - elf.decodesto(wrapped_input, wrapped_input) - self.options.test_output_raw = False - - -if __name__ == '__main__': - unittest.main() diff --git a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/tests.js b/build/js-transpiled/node_modules/js-beautify/test/data/javascript/tests.js deleted file mode 100644 index bb78f75a..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/data/javascript/tests.js +++ /dev/null @@ -1,3083 +0,0 @@ -/* - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -var inputlib = require('./inputlib'); - -exports.test_data = { - default_options: [ - { name: "indent_size", value: "4" }, - { name: "indent_char", value: "' '" }, - { name: "preserve_newlines", value: "true" }, - { name: "jslint_happy", value: "false" }, - { name: "keep_array_indentation", value: "false" }, - { name: "brace_style", value: "'collapse'" }, - { name: "operator_position", value: "'before-newline'" } - ], - groups: [{ - name: "Unicode Support", - description: "", - tests: [{ - unchanged: "var ' + unicode_char(3232) + '_' + unicode_char(3232) + ' = \"hi\";" - }, { - unchanged: [ - "var ' + unicode_char(228) + 'x = {", - " ' + unicode_char(228) + 'rgerlich: true", - "};" - ] - }] - }, { - name: "Test template and continuation strings", - description: "", - tests: [ - { unchanged: '`This is a ${template} string.`' }, - { unchanged: '`This\n is\n a\n ${template}\n string.`' }, - { unchanged: 'a = `This is a continuation\\\\\nstring.`' }, - { unchanged: 'a = "This is a continuation\\\\\nstring."' }, - { unchanged: '`SELECT\n nextval(\\\'${this.options.schema ? `${this.options.schema}.` : \\\'\\\'}"${this.tableName}_${this.autoIncrementField}_seq"\\\'::regclass\n ) nextval;`' }, - { - comment: 'Tests for #1030', - unchanged: [ - 'const composeUrl = (host) => {', - ' return `${host `test`}`;', - '};' - ] - }, { - unchanged: [ - 'const composeUrl = (host, api, key, data) => {', - ' switch (api) {', - ' case "Init":', - ' return `${host}/vwapi/Init?VWID=${key}&DATA=${encodeURIComponent(', - ' Object.keys(data).map((k) => `${k}=${ data[k]}` ).join(";")', - ' )}`;', - ' case "Pay":', - ' return `${host}/vwapi/Pay?SessionId=${par}`;', - ' };', - '};' - ] - } - ] - }, { - name: "ES7 Decorators", - description: "Permit ES7 decorators, which are invoked with a leading \"@\".", - tests: [ - { unchanged: '@foo' }, - { unchanged: '@foo(bar)' }, - { - unchanged: [ - '@foo(function(k, v) {', - ' implementation();', - '})' - ] - } - ] - }, { - name: "ES7 exponential", - description: "ES7 exponential", - tests: [ - { unchanged: 'x ** 2' }, - { unchanged: 'x ** -2' } - ] - }, { - name: "Spread operator", - description: "Spread operator", - options: [ - { name: 'brace_style', value: '"collapse,preserve-inline"' } - ], - tests: [ - { unchanged: 'const m = { ...item, c: 3 };' }, - { unchanged: 'const m = {\n ...item,\n c: 3\n};' }, - { unchanged: 'const m = { c: 3, ...item };' }, - { unchanged: 'const m = [...item, 3];' }, - { unchanged: 'const m = [3, ...item];' } - ] - }, { - name: "Object literal shorthand functions", - description: "Object literal shorthand functions", - tests: [ - { unchanged: 'return {\n foo() {\n return 42;\n }\n}' }, - { - unchanged: [ - 'var foo = {', - ' * bar() {', - ' yield 42;', - ' }', - '};' - ] - }, - { - input: 'var foo = {bar(){return 42;},*barGen(){yield 42;}};', - output: ['var foo = {', - ' bar() {', - ' return 42;', - ' },', - ' * barGen() {', - ' yield 42;', - ' }', - '};' - ] - }, { - comment: 'also handle generator shorthand in class - #1013', - unchanged: [ - 'class A {', - ' fn() {', - ' return true;', - ' }', - '', - ' * gen() {', - ' return true;', - ' }', - '}' - ] - }, { - unchanged: [ - 'class A {', - ' * gen() {', - ' return true;', - ' }', - '', - ' fn() {', - ' return true;', - ' }', - '}' - ] - } - ] - }, { - name: "End With Newline", - description: "", - matrix: [{ - options: [ - { name: "end_with_newline", value: "true" } - ], - eof: '\n' - }, { - options: [ - { name: "end_with_newline", value: "false" } - ], - eof: '' - } - - ], - tests: [ - { fragment: true, input: '', output: '{{eof}}' }, - { fragment: true, input: ' return .5', output: ' return .5{{eof}}' }, - { fragment: true, input: ' \n\nreturn .5\n\n\n\n', output: ' return .5{{eof}}' }, - { fragment: true, input: '\n', output: '{{eof}}' } - ], - }, { - name: "Support simple language specific option inheritance/overriding", - description: "Support simple language specific option inheritance/overriding", - matrix: [{ - options: [ - { name: "js", value: "{ 'indent_size': 3 }" }, - { name: "css", value: "{ 'indent_size': 5 }" } - ], - j: ' ' - }, - { - options: [ - { name: "html", value: "{ 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 } }" } - ], - j: ' ' - }, - { - options: [ - { name: "indent_size", value: "9" }, - { name: "html", value: "{ 'js': { 'indent_size': 3 }, 'css': { 'indent_size': 5 }, 'indent_size': 2}" }, - { name: "js", value: "{ 'indent_size': 4 }" }, - { name: "css", value: "{ 'indent_size': 3 }" } - ], - j: ' ' - } - ], - tests: [{ - unchanged: [ - 'if (a == b) {', - '{{j}}test();', - '}' - ] - }, ] - }, { - name: "Brace style permutations", - description: "", - template: "< >", - matrix: [ - // brace_style collapse,preserve-inline - Should preserve if no newlines - { - options: [ - { name: "brace_style", value: "'collapse,preserve-inline'" } - ], - ibo: '', - iao: '', - ibc: '', - iac: '', - obo: ' ', - oao: ' ', - obc: ' ', - oac: ' ' - }, - { - options: [ - { name: "brace_style", value: "'collapse,preserve-inline'" } - ], - ibo: '\n', - iao: '\n', - ibc: '\n', - iac: '\n', - obo: ' ', - oao: '\n ', - obc: '\n', - oac: ' ' - }, - - // brace_style collapse - Shouldn't preserve if no newlines (uses collapse styling) - { - options: [ - { name: "brace_style", value: "'collapse'" } - ], - ibo: '', - iao: '', - ibc: '', - iac: '', - obo: ' ', - oao: '\n ', - obc: '\n', - oac: ' ' - }, - { - options: [ - { name: "brace_style", value: "'collapse'" } - ], - ibo: '\n', - iao: '\n', - ibc: '\n', - iac: '\n', - obo: ' ', - oao: '\n ', - obc: '\n', - oac: ' ' - }, - ], - tests: [{ - input: 'var a ={a: 2};\nvar a ={a: 2};', - output: 'var a ={a: 2};\nvar a ={a: 2};' - }, - // { - // input: 'var a ={a:{a:{a:2}}};\nvar a ={a:{a:{a:2}}};', - // output: 'var a ={a:{a:{a: 2}}};\nvar a ={a:{a:{a: 2}}};' - // }, - { - input: '//case 1\nif (a == 1){}\n//case 2\nelse if (a == 2){}', - output: '//case 1\nif (a == 1){}\n//case 2\nelse if (a == 2){}' - }, - { - input: 'if(1){2}else{3}', - output: 'if (1){2}else{3}' - }, - { - input: 'try{a();}' + - 'catch(b){c();}' + - 'catch(d){}' + - 'finally{e();}', - output: - // expected - 'try{a();}' + - 'catch (b){c();}' + - 'catch (d){}' + - 'finally{e();}' - } - ], - }, { - name: "Comma-first option", - description: "Put commas at the start of lines instead of the end", - matrix: [{ - options: [ - { name: "comma_first", value: "false" } - ], - c0: ',\n', - c1: ',\n ', - c2: ',\n ', - c3: ',\n ', - // edge cases where engine bails - f1: ' ,\n ' - }, { - options: [ - { name: "comma_first", value: "true" } - ], - c0: '\n, ', - c1: '\n , ', - c2: '\n , ', - c3: '\n , ', - // edge cases where engine bails - f1: ', ' - }], - tests: [ - { input: '{a:1, b:2}', output: "{\n a: 1{{c1}}b: 2\n}" }, - { input: 'var a=1, b=c[d], e=6;', output: 'var a = 1{{c1}}b = c[d]{{c1}}e = 6;' }, - { input: "for(var a=1,b=2,c=3;d<3;d++)\ne", output: "for (var a = 1, b = 2, c = 3; d < 3; d++)\n e" }, - { input: "for(var a=1,b=2,\nc=3;d<3;d++)\ne", output: "for (var a = 1, b = 2{{c2}}c = 3; d < 3; d++)\n e" }, - { unchanged: 'function foo() {\n return [\n "one"{{c2}}"two"\n ];\n}' }, - { input: 'a=[[1,2],[4,5],[7,8]]', output: "a = [\n [1, 2]{{c1}}[4, 5]{{c1}}[7, 8]\n]" }, - { input: 'a=[[1,2],[4,5],[7,8],]', output: "a = [\n [1, 2]{{c1}}[4, 5]{{c1}}[7, 8]{{c0}}]" }, - { - input: 'a=[[1,2],[4,5],function(){},[7,8]]', - output: "a = [\n [1, 2]{{c1}}[4, 5]{{c1}}function() {}{{c1}}[7, 8]\n]" - }, - { - input: 'a=[[1,2],[4,5],function(){},function(){},[7,8]]', - output: "a = [\n [1, 2]{{c1}}[4, 5]{{c1}}function() {}{{c1}}function() {}{{c1}}[7, 8]\n]" - }, - { - input: 'a=[[1,2],[4,5],function(){},[7,8]]', - output: "a = [\n [1, 2]{{c1}}[4, 5]{{c1}}function() {}{{c1}}[7, 8]\n]" - }, - { - input: 'a=[b,c,function(){},function(){},d]', - output: "a = [b, c, function() {}, function() {}, d]" - }, - { - input: 'a=[b,c,\nfunction(){},function(){},d]', - output: "a = [b, c{{c1}}function() {}{{c1}}function() {}{{c1}}d\n]" - }, - { input: 'a=[a[1],b[4],c[d[7]]]', output: "a = [a[1], b[4], c[d[7]]]" }, - { input: '[1,2,[3,4,[5,6],7],8]', output: "[1, 2, [3, 4, [5, 6], 7], 8]" }, - - { - input: '[[["1","2"],["3","4"]],[["5","6","7"],["8","9","0"]],[["1","2","3"],["4","5","6","7"],["8","9","0"]]]', - output: '[\n [\n ["1", "2"]{{c2}}["3", "4"]\n ]{{c1}}[\n ["5", "6", "7"]{{c2}}["8", "9", "0"]\n ]{{c1}}[\n ["1", "2", "3"]{{c2}}["4", "5", "6", "7"]{{c2}}["8", "9", "0"]\n ]\n]' - }, - { - input: [ - 'changeCollection.add({', - ' name: "Jonathan" // New line inserted after this line on every save', - ' , age: 25', - '});' - ], - output: [ - 'changeCollection.add({', - ' name: "Jonathan" // New line inserted after this line on every save', - ' {{f1}}age: 25', - '});' - ] - }, - { - input: [ - 'changeCollection.add(', - ' function() {', - ' return true;', - ' },', - ' function() {', - ' return true;', - ' }', - ');' - ], - output: [ - 'changeCollection.add(', - ' function() {', - ' return true;', - ' }{{c1}}function() {', - ' return true;', - ' }', - ');' - ] - }, - ], - }, { - name: "Space in parens tests", - description: "put space inside parens", - matrix: [{ - options: [ - { name: "space_in_paren", value: "false" }, - { name: "space_in_empty_paren", value: "false" }, - ], - s: '', - e: '', - }, { - options: [ - { name: "space_in_paren", value: "false" }, - { name: "space_in_empty_paren", value: "true" }, - ], - s: '', - e: '', - }, { - options: [ - { name: "space_in_paren", value: "true" }, - { name: "space_in_empty_paren", value: "false" }, - ], - s: ' ', - e: '', - }, { - options: [ - { name: "space_in_paren", value: "true" }, - { name: "space_in_empty_paren", value: "true" }, - ], - s: ' ', - e: ' ', - }], - tests: [{ - input: 'if(p) foo(a,b);', - output: 'if ({{s}}p{{s}}) foo({{s}}a, b{{s}});' - }, - { - input: 'try{while(true){willThrow()}}catch(result)switch(result){case 1:++result }', - output: 'try {\n while ({{s}}true{{s}}) {\n willThrow({{e}})\n }\n} catch ({{s}}result{{s}}) switch ({{s}}result{{s}}) {\n case 1:\n ++result\n}' - }, - { - input: '((e/((a+(b)*c)-d))^2)*5;', - output: '({{s}}({{s}}e / ({{s}}({{s}}a + ({{s}}b{{s}}) * c{{s}}) - d{{s}}){{s}}) ^ 2{{s}}) * 5;' - }, - { - input: 'function f(a,b) {if(a) b()}function g(a,b) {if(!a) b()}', - output: 'function f({{s}}a, b{{s}}) {\n if ({{s}}a{{s}}) b({{e}})\n}\n\nfunction g({{s}}a, b{{s}}) {\n if ({{s}}!a{{s}}) b({{e}})\n}' - }, - { - input: 'a=[];', - output: 'a = [{{e}}];' - }, - { - input: 'a=[b,c,d];', - output: 'a = [{{s}}b, c, d{{s}}];' - }, - { - input: 'a= f[b];', - output: 'a = f[{{s}}b{{s}}];' - }, - { - input: [ - '{', - ' files: [ {', - ' expand: true,', - ' cwd: "www/gui/",', - ' src: [ "im/design_standards/*.*" ],', - ' dest: "www/gui/build"', - ' } ]', - '}' - ], - output: [ - '{', - ' files: [{{s}}{', - ' expand: true,', - ' cwd: "www/gui/",', - ' src: [{{s}}"im/design_standards/*.*"{{s}}],', - ' dest: "www/gui/build"', - ' }{{s}}]', - '}' - ], - }, - ], - }, { - name: "operator_position option - ensure no neswlines if preserve_newlines is false", - matrix: [{ - options: [ - { name: "operator_position", value: "'before-newline'" }, - { name: "preserve_newlines", value: "false" } - ] - }, { - options: [ - { name: "operator_position", value: "'after-newline'" }, - { name: "preserve_newlines", value: "false" } - ] - }, { - options: [ - { name: "operator_position", value: "'preserve-newline'" }, - { name: "preserve_newlines", value: "false" } - ] - }], - tests: [{ - unchanged: inputlib.operator_position.sanity - }, { - input: inputlib.operator_position.comprehensive, - output: inputlib.operator_position.sanity, - }] - }, { - name: "operator_position option - set to 'before-newline' (default value)", - tests: [{ - comment: 'comprehensive, various newlines', - input: inputlib.operator_position.comprehensive, - output: [ - 'var res = a + b -', - ' c /', - ' d * e %', - ' f;', - 'var res = g & h |', - ' i ^', - ' j;', - 'var res = (k &&', - ' l ||', - ' m) ?', - ' n :', - ' o;', - 'var res = p >>', - ' q <<', - ' r >>>', - ' s;', - 'var res = t', - '', - ' ===', - ' u !== v !=', - ' w ==', - ' x >=', - ' y <= z > aa <', - ' ab;', - 'ac +', - ' -ad' - ] - }, { - comment: 'colon special case', - input: inputlib.operator_position.colon_special_case, - output: [ - 'var a = {', - ' b: bval,', - ' c: cval,', - ' d: dval', - '};', - 'var e = f ? g :', - ' h;', - 'var i = j ? k :', - ' l;' - ] - }, { - comment: 'catch-all, includes brackets and other various code', - input: inputlib.operator_position.catch_all, - output: [ - 'var d = 1;', - 'if (a === b &&', - ' c) {', - ' d = (c * everything /', - ' something_else) %', - ' b;', - ' e', - ' += d;', - '', - '} else if (!(complex && simple) ||', - ' (emotion && emotion.name === "happy")) {', - ' cryTearsOfJoy(many ||', - ' anOcean ||', - ' aRiver);', - '}' - ] - }] - }, { - name: "operator_position option - set to 'after_newline'", - options: [{ - name: "operator_position", - value: "'after-newline'" - }], - tests: [{ - comment: 'comprehensive, various newlines', - input: inputlib.operator_position.comprehensive, - output: [ - 'var res = a + b', - ' - c', - ' / d * e', - ' % f;', - 'var res = g & h', - ' | i', - ' ^ j;', - 'var res = (k', - ' && l', - ' || m)', - ' ? n', - ' : o;', - 'var res = p', - ' >> q', - ' << r', - ' >>> s;', - 'var res = t', - '', - ' === u !== v', - ' != w', - ' == x', - ' >= y <= z > aa', - ' < ab;', - 'ac', - ' + -ad' - ] - }, { - comment: 'colon special case', - input: inputlib.operator_position.colon_special_case, - output: [ - 'var a = {', - ' b: bval,', - ' c: cval,', - ' d: dval', - '};', - 'var e = f ? g', - ' : h;', - 'var i = j ? k', - ' : l;' - ] - }, { - comment: 'catch-all, includes brackets and other various code', - input: inputlib.operator_position.catch_all, - output: [ - 'var d = 1;', - 'if (a === b', - ' && c) {', - ' d = (c * everything', - ' / something_else)', - ' % b;', - ' e', - ' += d;', - '', - '} else if (!(complex && simple)', - ' || (emotion && emotion.name === "happy")) {', - ' cryTearsOfJoy(many', - ' || anOcean', - ' || aRiver);', - '}' - ] - }] - }, { - name: "operator_position option - set to 'preserve-newline'", - options: [{ - name: "operator_position", - value: "'preserve-newline'" - }], - tests: [{ - comment: 'comprehensive, various newlines', - input: inputlib.operator_position.comprehensive, - output: [ - 'var res = a + b', - ' - c /', - ' d * e', - ' %', - ' f;', - 'var res = g & h', - ' | i ^', - ' j;', - 'var res = (k &&', - ' l', - ' || m) ?', - ' n', - ' : o;', - 'var res = p', - ' >> q <<', - ' r', - ' >>> s;', - 'var res = t', - '', - ' === u !== v', - ' !=', - ' w', - ' == x >=', - ' y <= z > aa <', - ' ab;', - 'ac +', - ' -ad' - ] - }, { - comment: 'colon special case', - input: inputlib.operator_position.colon_special_case, - output: [ - 'var a = {', - ' b: bval,', - ' c: cval,', - ' d: dval', - '};', - 'var e = f ? g', - ' : h;', - 'var i = j ? k :', - ' l;' - ] - }, { - comment: 'catch-all, includes brackets and other various code', - unchanged: inputlib.operator_position.catch_all - }] - }, { - name: "Yield tests", - description: "ES6 yield tests", - tests: [ - { unchanged: 'yield /foo\\\\//;' }, - { unchanged: 'result = yield pgClient.query_(queryString);' }, - { unchanged: 'yield [1, 2]' }, - { unchanged: "yield* bar();" }, - { - comment: "yield should have no space between yield and star", - input: "yield * bar();", - output: "yield* bar();" - }, - { - comment: "yield should have space between star and generator", - input: "yield *bar();", - output: "yield* bar();" - } - ] - }, { - name: "Async / await tests", - description: "ES7 async / await tests", - tests: [ - { unchanged: "async function foo() {}" }, - { unchanged: "let w = async function foo() {}" }, - { unchanged: "async function foo() {}\nvar x = await foo();" }, - { - comment: "async function as an input to another function", - unchanged: "wrapper(async function foo() {})" - }, - { - comment: "await on inline anonymous function. should have a space after await", - input_: "async function() {\n var w = await(async function() {\n return await foo();\n })();\n}", - output: "async function() {\n var w = await (async function() {\n return await foo();\n })();\n}" - }, - { - comment: "ensure that this doesn't break anyone with the async library", - unchanged: "async.map(function(t) {})" - } - ] - }, { - name: "e4x - Test that e4x literals passed through when e4x-option is enabled", - description: "", - options: [ - { name: 'e4x', value: true } - ], - tests: [ - { input: 'xml=\n foox;', output: 'xml = \n foox;' }, - { unchanged: '' }, - { unchanged: '' }, - { unchanged: '' }, - { unchanged: '' }, - { unchanged: '' }, - - { - comment: 'Handles inline expressions', - input: 'xml=<{a} b="c">\n foox;', - output: 'xml = <{a} b="c">\n foox;' - }, - { - input: 'xml=<{a} b="c">\n \n foox;', - output: 'xml = <{a} b="c">\n \n foox;' - }, - { - comment: 'xml literals with special characters in elem names - see http://www.w3.org/TR/REC-xml/#NT-NameChar', - unchanged: 'xml = <_:.valid.xml- _:.valid.xml-="123"/>;' - }, - { - comment: 'xml literals with attributes without equal sign', - unchanged: 'xml = ;' - }, - - { - comment: 'Handles CDATA', - input: 'xml=\n foox/]]>;', - output: 'xml = \n foox/]]>;' - }, - { input: 'xml=;', output: 'xml = ;' }, - { input: 'xml=;', output: 'xml = ;' }, - - { - comment: 'JSX - working jsx from http://prettydiff.com/unit_tests/beautification_javascript_jsx.txt', - unchanged: [ - 'var ListItem = React.createClass({', - ' render: function() {', - ' return (', - '
  • ', - ' ', - ' this.props.item.name', - ' ', - '
  • ', - ' );', - ' }', - '});' - ] - }, - { - unchanged: [ - 'var List = React.createClass({', - ' renderList: function() {', - ' return this.props.items.map(function(item) {', - ' return ;', - ' });', - ' },', - '', - ' render: function() {', - ' return
      ', - ' this.renderList()', - '
    ', - ' }', - '});' - ] - }, - { - unchanged: [ - 'var Mist = React.createClass({', - ' renderList: function() {', - ' return this.props.items.map(function(item) {', - ' return {item}} key={item.id} />;', - ' });', - ' }', - '});', - ] - }, - { - unchanged: [ - '// JSX', - 'var box = ', - ' {shouldShowAnswer(user) ?', - ' no : ', - ' Text Content', - ' }', - ' ;', - 'var a = function() {', - ' return asdf;', - '};', - '', - 'var HelloMessage = React.createClass({', - ' render: function() {', - ' return
    Hello {this.props.name}
    ;', - ' }', - '});', - 'React.render(, mountNode);', - ] - }, - { - unchanged: [ - 'var Timer = React.createClass({', - ' getInitialState: function() {', - ' return {', - ' secondsElapsed: 0', - ' };', - ' },', - ' tick: function() {', - ' this.setState({', - ' secondsElapsed: this.state.secondsElapsed + 1', - ' });', - ' },', - ' componentDidMount: function() {', - ' this.interval = setInterval(this.tick, 1000);', - ' },', - ' componentWillUnmount: function() {', - ' clearInterval(this.interval);', - ' },', - ' render: function() {', - ' return (', - '
    Seconds Elapsed: {this.state.secondsElapsed}
    ', - ' );', - ' }', - '});', - 'React.render(, mountNode);' - ] - }, - { - unchanged: [ - 'var TodoList = React.createClass({', - ' render: function() {', - ' var createItem = function(itemText) {', - ' return
  • {itemText}
  • ;', - ' };', - ' return
      {this.props.items.map(createItem)}
    ;', - ' }', - '});' - ] - }, - { - unchanged: [ - 'var TodoApp = React.createClass({', - ' getInitialState: function() {', - ' return {', - ' items: [],', - ' text: \\\'\\\'', - ' };', - ' },', - ' onChange: function(e) {', - ' this.setState({', - ' text: e.target.value', - ' });', - ' },', - ' handleSubmit: function(e) {', - ' e.preventDefault();', - ' var nextItems = this.state.items.concat([this.state.text]);', - ' var nextText = \\\'\\\';', - ' this.setState({', - ' items: nextItems,', - ' text: nextText', - ' });', - ' },', - ' render: function() {', - ' return (', - '
    ', - '

    TODO

    ', - ' ', - '
    ', - ' ', - ' ', - '
    ', - '
    ', - ' );', - ' }', - '});', - 'React.render(, mountNode);' - ] - }, - { - input: [ - 'var converter = new Showdown.converter();', - 'var MarkdownEditor = React.createClass({', - ' getInitialState: function() {', - ' return {value: \\\'Type some *markdown* here!\\\'};', - ' },', - ' handleChange: function() {', - ' this.setState({value: this.refs.textarea.getDOMNode().value});', - ' },', - ' render: function() {', - ' return (', - '
    ', - '

    Input

    ', - ' ', - '

    Output

    ', - ' ', - '
    ', - ' );', - ' }', - '});', - 'React.render(, mountNode);' - - ], - output: [ - 'var converter = new Showdown.converter();', - 'var MarkdownEditor = React.createClass({', - ' getInitialState: function() {', - ' return {', - ' value: \\\'Type some *markdown* here!\\\'', - ' };', - ' },', - ' handleChange: function() {', - ' this.setState({', - ' value: this.refs.textarea.getDOMNode().value', - ' });', - ' },', - ' render: function() {', - ' return (', - '
    ', - '

    Input

    ', - ' ', - '

    Output

    ', - ' ', - '
    ', - ' );', - ' }', - '});', - 'React.render(, mountNode);' - ] - }, - { - comment: 'JSX - Not quite correct jsx formatting that still works', - input: [ - 'var content = (', - ' ', - ' );', - 'var qwer = A dropdown list Do Something Do Something Fun! Do Something Else ;', - 'render(dropdown);', - ], - output: [ - 'var content = (', - ' ', - ');', - 'var qwer = A dropdown list Do Something Do Something Fun! Do Something Else ;', - 'render(dropdown);', - ] - }, - { - comment: [ - "Handles messed up tags, as long as it isn't the same name", - "as the root tag. Also handles tags of same name as root tag", - "as long as nesting matches." - ], - input_: 'xml=;', - output: 'xml = ;' - }, - - { - comment: [ - "If xml is not terminated, the remainder of the file is treated", - "as part of the xml-literal (passed through unaltered)" - ], - fragment: true, - input_: 'xml=\nc\nc', - ' c', - '

    ', - ' );', - ' }', - '});' - ] - }, - { - unchanged: [ - 'let a = React.createClass({', - ' render() {', - ' return (', - '

    ', - ' c', - '

    ', - ' );', - ' }', - '});' - ] - }, - { - unchanged: [ - 'let a = React.createClass({', - ' render() {', - ' return (', - '

    ', - ' c', - '

    ', - ' );', - ' }', - '});' - ] - }, - { - unchanged: [ - 'let a = React.createClass({', - ' render() {', - ' return (', - ' <{e} className = {d}>', - ' c', - ' ', - ' );', - ' }', - '});' - ] - }, - { - comment: 'Issue #914 - Multiline attribute in root tag', - unchanged: [ - 'return (', - '
    {', - ' e.preventDefault()', - ' onClick()', - ' }}>', - ' {children}', - ' ', - ');' - ] - }, - { - unchanged: [ - 'return (', - ' <{', - ' a + b', - ' } href="#"', - ' onClick={e => {', - ' e.preventDefault()', - ' onClick()', - ' }}>', - ' {children}', - ' ', - ');' - ] - }, - { - input: [ - 'return (', - ' <{', - ' a + b', - ' } href="#"', - ' onClick={e => {', - ' e.preventDefault()', - ' onClick()', - ' }}>', - ' {children}', - ' ', - ' );' - ], - output: [ - 'return (', - ' <{', - ' a + b', - ' } href="#"', - ' onClick={e => {', - ' e.preventDefault()', - ' onClick()', - ' }}>', - ' {children}', - ' ', - ');' - ] - } - ] - }, { - name: "e4x disabled", - description: "", - options: [ - { name: 'e4x', value: false } - ], - tests: [{ - input_: 'xml=\n foox;', - output: 'xml = < a b = "c" > < d / > < e >\n foo < /e>x ;' - }] - }, { - name: "Multiple braces", - description: "", - template: "^^^ $$$", - options: [], - tests: [ - { input: '{{}/z/}', output: '{\n {}\n /z/\n}' } - ] - }, { - name: "Beautify preserve formatting", - description: "Allow beautifier to preserve sections", - tests: [ - { unchanged: "/* beautify preserve:start */\n/* beautify preserve:end */" }, - { unchanged: "/* beautify preserve:start */\n var a = 1;\n/* beautify preserve:end */" }, - { unchanged: "var a = 1;\n/* beautify preserve:start */\n var a = 1;\n/* beautify preserve:end */" }, - { unchanged: "/* beautify preserve:start */ {asdklgh;y;;{}dd2d}/* beautify preserve:end */" }, - { - input_: "var a = 1;\n/* beautify preserve:start */\n var a = 1;\n/* beautify preserve:end */", - output: "var a = 1;\n/* beautify preserve:start */\n var a = 1;\n/* beautify preserve:end */" - }, - { - input_: "var a = 1;\n /* beautify preserve:start */\n var a = 1;\n/* beautify preserve:end */", - output: "var a = 1;\n/* beautify preserve:start */\n var a = 1;\n/* beautify preserve:end */" - }, - { - unchanged: [ - 'var a = {', - ' /* beautify preserve:start */', - ' one : 1', - ' two : 2,', - ' three : 3,', - ' ten : 10', - ' /* beautify preserve:end */', - '};' - ] - }, - { - input: [ - 'var a = {', - '/* beautify preserve:start */', - ' one : 1,', - ' two : 2,', - ' three : 3,', - ' ten : 10', - '/* beautify preserve:end */', - '};' - ], - output: [ - 'var a = {', - ' /* beautify preserve:start */', - ' one : 1,', - ' two : 2,', - ' three : 3,', - ' ten : 10', - '/* beautify preserve:end */', - '};' - ] - }, - { - comment: 'one space before and after required, only single spaces inside.', - input: [ - 'var a = {', - '/* beautify preserve:start */', - ' one : 1,', - ' two : 2,', - ' three : 3,', - ' ten : 10', - '};' - ], - output: [ - 'var a = {', - ' /* beautify preserve:start */', - ' one: 1,', - ' two: 2,', - ' three: 3,', - ' ten: 10', - '};' - ] - }, - { - input: [ - 'var a = {', - '/*beautify preserve:start*/', - ' one : 1,', - ' two : 2,', - ' three : 3,', - ' ten : 10', - '};' - ], - output: [ - 'var a = {', - ' /*beautify preserve:start*/', - ' one: 1,', - ' two: 2,', - ' three: 3,', - ' ten: 10', - '};' - ] - }, - { - input: [ - 'var a = {', - '/*beautify preserve:start*/', - ' one : 1,', - ' two : 2,', - ' three : 3,', - ' ten : 10', - '};' - ], - output: [ - 'var a = {', - ' /*beautify preserve:start*/', - ' one: 1,', - ' two: 2,', - ' three: 3,', - ' ten: 10', - '};' - ] - }, - - { - comment: 'Directive: ignore', - unchanged: "/* beautify ignore:start */\n/* beautify ignore:end */" - }, - { unchanged: "/* beautify ignore:start */\n var a,,,{ 1;\n/* beautify ignore:end */" }, - { unchanged: "var a = 1;\n/* beautify ignore:start */\n var a = 1;\n/* beautify ignore:end */" }, - { unchanged: "/* beautify ignore:start */ {asdklgh;y;+++;dd2d}/* beautify ignore:end */" }, - { - input_: "var a = 1;\n/* beautify ignore:start */\n var a,,,{ 1;\n/* beautify ignore:end */", - output: "var a = 1;\n/* beautify ignore:start */\n var a,,,{ 1;\n/* beautify ignore:end */" - }, - { - input_: "var a = 1;\n /* beautify ignore:start */\n var a,,,{ 1;\n/* beautify ignore:end */", - output: "var a = 1;\n/* beautify ignore:start */\n var a,,,{ 1;\n/* beautify ignore:end */" - }, - { - unchanged: [ - 'var a = {', - ' /* beautify ignore:start */', - ' one : 1', - ' two : 2,', - ' three : {', - ' ten : 10', - ' /* beautify ignore:end */', - '};' - ] - }, - { - input: [ - 'var a = {', - '/* beautify ignore:start */', - ' one : 1', - ' two : 2,', - ' three : {', - ' ten : 10', - '/* beautify ignore:end */', - '};' - ], - output: [ - 'var a = {', - ' /* beautify ignore:start */', - ' one : 1', - ' two : 2,', - ' three : {', - ' ten : 10', - '/* beautify ignore:end */', - '};' - ] - }, - { - comment: 'Directives - multiple and interacting', - input: [ - 'var a = {', - '/* beautify preserve:start */', - '/* beautify preserve:start */', - ' one : 1,', - ' /* beautify preserve:end */', - ' two : 2,', - ' three : 3,', - '/* beautify preserve:start */', - ' ten : 10', - '/* beautify preserve:end */', - '};' - ], - output: [ - 'var a = {', - ' /* beautify preserve:start */', - '/* beautify preserve:start */', - ' one : 1,', - ' /* beautify preserve:end */', - ' two: 2,', - ' three: 3,', - ' /* beautify preserve:start */', - ' ten : 10', - '/* beautify preserve:end */', - '};' - ] - }, - { - input: [ - 'var a = {', - '/* beautify ignore:start */', - ' one : 1', - ' /* beautify ignore:end */', - ' two : 2,', - '/* beautify ignore:start */', - ' three : {', - ' ten : 10', - '/* beautify ignore:end */', - '};' - ], - output: [ - 'var a = {', - ' /* beautify ignore:start */', - ' one : 1', - ' /* beautify ignore:end */', - ' two: 2,', - ' /* beautify ignore:start */', - ' three : {', - ' ten : 10', - '/* beautify ignore:end */', - '};' - ] - }, - { - comment: 'Starts can occur together, ignore:end must occur alone.', - input: [ - 'var a = {', - '/* beautify ignore:start */', - ' one : 1', - ' NOTE: ignore end block does not support starting other directives', - ' This does not match the ending the ignore...', - ' /* beautify ignore:end preserve:start */', - ' two : 2,', - '/* beautify ignore:start */', - ' three : {', - ' ten : 10', - ' ==The next comment ends the starting ignore==', - '/* beautify ignore:end */', - '};' - ], - output: [ - 'var a = {', - ' /* beautify ignore:start */', - ' one : 1', - ' NOTE: ignore end block does not support starting other directives', - ' This does not match the ending the ignore...', - ' /* beautify ignore:end preserve:start */', - ' two : 2,', - '/* beautify ignore:start */', - ' three : {', - ' ten : 10', - ' ==The next comment ends the starting ignore==', - '/* beautify ignore:end */', - '};' - ] - }, - { - input: [ - 'var a = {', - '/* beautify ignore:start preserve:start */', - ' one : {', - ' /* beautify ignore:end */', - ' two : 2,', - ' /* beautify ignore:start */', - ' three : {', - '/* beautify ignore:end */', - ' ten : 10', - ' // This is all preserved', - '};' - ], - output: [ - 'var a = {', - ' /* beautify ignore:start preserve:start */', - ' one : {', - ' /* beautify ignore:end */', - ' two : 2,', - ' /* beautify ignore:start */', - ' three : {', - '/* beautify ignore:end */', - ' ten : 10', - ' // This is all preserved', - '};' - ] - }, - { - input: [ - 'var a = {', - '/* beautify ignore:start preserve:start */', - ' one : {', - ' /* beautify ignore:end */', - ' two : 2,', - ' /* beautify ignore:start */', - ' three : {', - '/* beautify ignore:end */', - ' ten : 10,', - '/* beautify preserve:end */', - ' eleven: 11', - '};' - ], - output: [ - 'var a = {', - ' /* beautify ignore:start preserve:start */', - ' one : {', - ' /* beautify ignore:end */', - ' two : 2,', - ' /* beautify ignore:start */', - ' three : {', - '/* beautify ignore:end */', - ' ten : 10,', - '/* beautify preserve:end */', - ' eleven: 11', - '};' - ] - }, - ] - }, { - name: "Comments and tests", - description: "Comments should be in the right indent and not side-ffect.", - options: [], - tests: [{ - comment: '#913', - - unchanged: [ - 'class test {', - ' method1() {', - ' let resp = null;', - ' }', - ' /**', - ' * @param {String} id', - ' */', - ' method2(id) {', - ' let resp2 = null;', - ' }', - '}' - ] - }, - { - comment: '#1090', - unchanged: [ - 'for (var i = 0; i < 20; ++i) // loop', - ' if (i % 3) {', - ' console.log(i);', - ' }', - 'console.log("done");', - ] - }, - { - comment: '#1043', - unchanged: [ - 'var o = {', - ' k: 0', - '}', - '// ...', - 'foo(o)', - ] - }, - { - comment: '#713 and #964', - unchanged: [ - 'Meteor.call("foo", bar, function(err, result) {', - ' Session.set("baz", result.lorem)', - '})', - '//blah blah', - ] - }, - { - comment: '#815', - unchanged: [ - 'foo()', - '// this is a comment', - 'bar()', - '', - 'const foo = 5', - '// comment', - 'bar()', - ] - }, - { - comment: 'This shows current behavior. Note #1069 is not addressed yet.', - unchanged: [ - 'if (modulus === 2) {', - ' // i might be odd here', - ' i += (i & 1);', - ' // now i is guaranteed to be even', - ' // this block is obviously about the statement above', - '', - ' // #1069 This should attach to the block below', - ' // this comment is about the block after it.', - '} else {', - ' // rounding up using integer arithmetic only', - ' if (i % modulus)', - ' i += modulus - (i % modulus);', - ' // now i is divisible by modulus', - ' // behavior of comments should be different for single statements vs block statements/expressions', - '}', - '', - 'if (modulus === 2)', - ' // i might be odd here', - ' i += (i & 1);', - '// now i is guaranteed to be even', - '// non-braced comments unindent immediately', - '', - '// this comment is about the block after it.', - 'else', - ' // rounding up using integer arithmetic only', - ' if (i % modulus)', - ' i += modulus - (i % modulus);', - '// behavior of comments should be different for single statements vs block statements/expressions', - ] - }, - - ] - }, { - name: "Template Formatting", - description: "Php () and underscore.js templating treated as strings.", - options: [], - tests: [ - { unchanged: '' }, - { unchanged: 'a = ;' }, - { - unchanged: [ - '");', - '}', - '?>' - ] - }, - { unchanged: 'a = <%= external() %>;' } - ] - }, { - name: "jslint and space after anon function", - description: "jslint_happy and space_after_anon_function tests", - matrix: [{ - options: [ - { name: "jslint_happy", value: "true" }, - { name: "space_after_anon_function", value: "true" } - ], - f: ' ', - c: '' - }, { - options: [ - { name: "jslint_happy", value: "true" }, - { name: "space_after_anon_function", value: "false" } - ], - f: ' ', - c: '' - }, { - options: [ - { name: "jslint_happy", value: "false" }, - { name: "space_after_anon_function", value: "true" } - ], - f: ' ', - c: ' ' - }, { - options: [ - { name: "jslint_happy", value: "false" }, - { name: "space_after_anon_function", value: "false" } - ], - f: '', - c: ' ' - } - - - ], - tests: [{ - input_: 'a=typeof(x)', - output: 'a = typeof{{f}}(x)' - }, - { - input_: 'x();\n\nfunction(){}', - output: 'x();\n\nfunction{{f}}() {}' - }, - { - input_: 'x();\n\nvar x = {\nx: function(){}\n}', - output: 'x();\n\nvar x = {\n x: function{{f}}() {}\n}' - }, - { - input_: 'function () {\n var a, b, c, d, e = [],\n f;\n}', - output: 'function{{f}}() {\n var a, b, c, d, e = [],\n f;\n}' - }, - - { - input_: 'switch(x) {case 0: case 1: a(); break; default: break}', - output: 'switch (x) {\n{{c}}case 0:\n{{c}}case 1:\n{{c}} a();\n{{c}} break;\n{{c}}default:\n{{c}} break\n}' - }, - { - input: 'switch(x){case -1:break;case !y:break;}', - output: 'switch (x) {\n{{c}}case -1:\n{{c}} break;\n{{c}}case !y:\n{{c}} break;\n}' - }, - { - comment: 'typical greasemonkey start', - fragment: true, - unchanged: '// comment 2\n(function{{f}}()' - }, - - { - input_: 'var a2, b2, c2, d2 = 0, c = function() {}, d = \\\'\\\';', - output: 'var a2, b2, c2, d2 = 0,\n c = function{{f}}() {},\n d = \\\'\\\';' - }, - { - input_: 'var a2, b2, c2, d2 = 0, c = function() {},\nd = \\\'\\\';', - output: 'var a2, b2, c2, d2 = 0,\n c = function{{f}}() {},\n d = \\\'\\\';' - }, - { - input_: 'var o2=$.extend(a);function(){alert(x);}', - output: 'var o2 = $.extend(a);\n\nfunction{{f}}() {\n alert(x);\n}' - }, - { input: 'function*() {\n yield 1;\n}', output: 'function*{{f}}() {\n yield 1;\n}' }, - { unchanged: 'function* x() {\n yield 1;\n}' }, - ] - }, { - name: "Regression tests", - description: "Ensure specific bugs do not recur", - options: [], - tests: [{ - comment: "Issue 241", - unchanged: [ - 'obj', - ' .last({', - ' foo: 1,', - ' bar: 2', - ' });', - 'var test = 1;' - ] - }, - { - unchanged: [ - 'obj', - ' .last(a, function() {', - ' var test;', - ' });', - 'var test = 1;' - ] - }, - { - unchanged: [ - 'obj.first()', - ' .second()', - ' .last(function(err, response) {', - ' console.log(err);', - ' });' - ] - }, - { - comment: "Issue 268 and 275", - unchanged: [ - 'obj.last(a, function() {', - ' var test;', - '});', - 'var test = 1;' - ] - }, - { - unchanged: [ - 'obj.last(a,', - ' function() {', - ' var test;', - ' });', - 'var test = 1;' - ] - }, - { - input: '(function() {if (!window.FOO) window.FOO || (window.FOO = function() {var b = {bar: "zort"};});})();', - output: [ - '(function() {', - ' if (!window.FOO) window.FOO || (window.FOO = function() {', - ' var b = {', - ' bar: "zort"', - ' };', - ' });', - '})();' - ] - }, - { - comment: "Issue 281", - unchanged: [ - 'define(["dojo/_base/declare", "my/Employee", "dijit/form/Button",', - ' "dojo/_base/lang", "dojo/Deferred"', - '], function(declare, Employee, Button, lang, Deferred) {', - ' return declare(Employee, {', - ' constructor: function() {', - ' new Button({', - ' onClick: lang.hitch(this, function() {', - ' new Deferred().then(lang.hitch(this, function() {', - ' this.salary * 0.25;', - ' }));', - ' })', - ' });', - ' }', - ' });', - '});' - ] - }, - { - unchanged: [ - 'define(["dojo/_base/declare", "my/Employee", "dijit/form/Button",', - ' "dojo/_base/lang", "dojo/Deferred"', - ' ],', - ' function(declare, Employee, Button, lang, Deferred) {', - ' return declare(Employee, {', - ' constructor: function() {', - ' new Button({', - ' onClick: lang.hitch(this, function() {', - ' new Deferred().then(lang.hitch(this, function() {', - ' this.salary * 0.25;', - ' }));', - ' })', - ' });', - ' }', - ' });', - ' });' - ] - }, - { - comment: "Issue 459", - unchanged: [ - '(function() {', - ' return {', - ' foo: function() {', - ' return "bar";', - ' },', - ' bar: ["bar"]', - ' };', - '}());' - ] - }, - { - comment: "Issue 505 - strings should end at newline unless continued by backslash", - unchanged: [ - 'var name = "a;', - 'name = "b";' - ] - }, - { - unchanged: [ - 'var name = "a;\\\\', - ' name = b";' - ] - }, - { - comment: "Issue 514 - some operators require spaces to distinguish them", - unchanged: 'var c = "_ACTION_TO_NATIVEAPI_" + ++g++ + +new Date;' - }, - { - unchanged: 'var c = "_ACTION_TO_NATIVEAPI_" - --g-- - -new Date;' - }, - { - comment: "Issue 440 - reserved words can be used as object property names", - unchanged: [ - 'a = {', - ' function: {},', - ' "function": {},', - ' throw: {},', - ' "throw": {},', - ' var: {},', - ' "var": {},', - ' set: {},', - ' "set": {},', - ' get: {},', - ' "get": {},', - ' if: {},', - ' "if": {},', - ' then: {},', - ' "then": {},', - ' else: {},', - ' "else": {},', - ' yay: {}', - '};' - ] - }, - { - comment: "Issue 331 - if-else with braces edge case", - input: 'if(x){a();}else{b();}if(y){c();}', - output: [ - 'if (x) {', - ' a();', - '} else {', - ' b();', - '}', - 'if (y) {', - ' c();', - '}' - ] - }, - { - comment: "Issue 485 - ensure function declarations behave the same in arrays as elsewhere", - unchanged: [ - 'var v = ["a",', - ' function() {', - ' return;', - ' }, {', - ' id: 1', - ' }', - '];' - ] - }, - { - unchanged: [ - 'var v = ["a", function() {', - ' return;', - '}, {', - ' id: 1', - '}];' - ] - }, - { - comment: "Issue 382 - initial totally cursory support for es6 module export", - unchanged: [ - 'module "Even" {', - ' import odd from "Odd";', - ' export function sum(x, y) {', - ' return x + y;', - ' }', - ' export var pi = 3.141593;', - ' export default moduleName;', - '}' - ] - }, - { - unchanged: [ - 'module "Even" {', - ' export default function div(x, y) {}', - '}' - ] - }, - { - comment: 'Issue 889 - export default { ... }', - unchanged: [ - 'export default {', - ' func1() {},', - ' func2() {}', - ' func3() {}', - '}' - ] - }, - { - unchanged: [ - 'export default {', - ' a() {', - ' return 1;', - ' },', - ' b() {', - ' return 2;', - ' },', - ' c() {', - ' return 3;', - ' }', - '}' - ] - }, - { - comment: "Issue 508", - unchanged: 'set["name"]' - }, - { - unchanged: 'get["name"]' - }, - { - fragmeent: true, - unchanged: [ - 'a = {', - ' set b(x) {},', - ' c: 1,', - ' d: function() {}', - '};' - ] - }, - { - fragmeent: true, - unchanged: [ - 'a = {', - ' get b() {', - ' retun 0;', - ' },', - ' c: 1,', - ' d: function() {}', - '};' - ] - }, - { - comment: "Issue 298 - do not under indent if/while/for condtionals experesions", - unchanged: [ - '\\\'use strict\\\';', - 'if ([].some(function() {', - ' return false;', - ' })) {', - ' console.log("hello");', - '}' - ] - }, - { - comment: "Issue 298 - do not under indent if/while/for condtionals experesions", - unchanged: [ - '\\\'use strict\\\';', - 'if ([].some(function() {', - ' return false;', - ' })) {', - ' console.log("hello");', - '}' - ] - }, - { - comment: "Issue 552 - Typescript? Okay... we didn't break it before, so try not to break it now.", - unchanged: [ - 'class Test {', - ' blah: string[];', - ' foo(): number {', - ' return 0;', - ' }', - ' bar(): number {', - ' return 0;', - ' }', - '}' - ] - }, - { - unchanged: [ - 'interface Test {', - ' blah: string[];', - ' foo(): number {', - ' return 0;', - ' }', - ' bar(): number {', - ' return 0;', - ' }', - '}' - ] - }, - { - comment: "Issue 583 - Functions with comments after them should still indent correctly.", - unchanged: [ - 'function exit(code) {', - ' setTimeout(function() {', - ' phantom.exit(code);', - ' }, 0);', - ' phantom.onError = function() {};', - '}', - '// Comment' - ] - }, - { - comment: "Issue 806 - newline arrow functions", - unchanged: [ - 'a.b("c",', - ' () => d.e', - ')' - ] - }, - { - comment: "Issue 810 - es6 object literal detection", - unchanged: [ - 'function badFormatting() {', - ' return {', - ' a,', - ' b: c,', - ' d: e,', - ' f: g,', - ' h,', - ' i,', - ' j: k', - ' }', - '}', - '', - 'function goodFormatting() {', - ' return {', - ' a: b,', - ' c,', - ' d: e,', - ' f: g,', - ' h,', - ' i,', - ' j: k', - ' }', - '}' - ] - }, - { - comment: "Issue 602 - ES6 object literal shorthand functions", - unchanged: [ - 'return {', - ' fn1() {},', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'throw {', - ' fn1() {},', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'foo({', - ' fn1(a) {}', - ' fn2(a) {}', - '})' - ] - }, { - unchanged: [ - 'foo("text", {', - ' fn1(a) {}', - ' fn2(a) {}', - '})' - ] - }, { - unchanged: [ - 'oneArg = {', - ' fn1(a) {', - ' do();', - ' },', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'multiArg = {', - ' fn1(a, b, c) {', - ' do();', - ' },', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'noArgs = {', - ' fn1() {', - ' do();', - ' },', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'emptyFn = {', - ' fn1() {},', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'nested = {', - ' fns: {', - ' fn1() {},', - ' fn2() {}', - ' }', - '}' - ] - }, { - unchanged: [ - 'array = [{', - ' fn1() {},', - ' prop: val,', - ' fn2() {}', - '}]' - ] - }, { - unchanged: [ - 'expr = expr ? expr : {', - ' fn1() {},', - ' fn2() {}', - '}' - ] - }, { - unchanged: [ - 'strange = valid + {', - ' fn1() {},', - ' fn2() {', - ' return 1;', - ' }', - '}.fn2()' - ] - }, - { - comment: "Issue 854 - Arrow function with statement block", - unchanged: [ - 'test(() => {', - ' var a = {}', - '', - ' a.what = () => true ? 1 : 2', - '', - ' a.thing = () => {', - ' b();', - ' }', - '})' - ] - }, - { - comment: "Issue 406 - Multiline array", - unchanged: [ - 'var tempName = [', - ' "temp",', - ' process.pid,', - ' (Math.random() * 0x1000000000).toString(36),', - ' new Date().getTime()', - '].join("-");' - ] - }, - { - comment: "Issue #996 - Input ends with backslash throws exception", - fragment: true, - unchanged: [ - 'sd = 1;', - '/' - ] - }, - { - comment: "Issue #1079 - unbraced if with comments should still look right", - unchanged: [ - 'if (console.log)', - ' for (var i = 0; i < 20; ++i)', - ' if (i % 3)', - ' console.log(i);', - '// all done', - 'console.log("done");' - ] - }, - { - comment: "Issue #1085 - function should not have blank line in a number of cases", - unchanged: [ - 'var transformer =', - ' options.transformer ||', - ' globalSettings.transformer ||', - ' function(x) {', - ' return x;', - ' };' - ] - }, - { - comment: "Issue #569 - function should not have blank line in a number of cases", - unchanged: [ - '(function(global) {', - ' "use strict";', - '', - ' /* jshint ignore:start */', - ' include "somefile.js"', - ' /* jshint ignore:end */', - '}(this));' - ] - }, - { - unchanged: [ - 'function bindAuthEvent(eventName) {', - ' self.auth.on(eventName, function(event, meta) {', - ' self.emit(eventName, event, meta);', - ' });', - '}', - '["logged_in", "logged_out", "signed_up", "updated_user"].forEach(bindAuthEvent);', - '', - 'function bindBrowserEvent(eventName) {', - ' browser.on(eventName, function(event, meta) {', - ' self.emit(eventName, event, meta);', - ' });', - '}', - '["navigating"].forEach(bindBrowserEvent);' - ] - }, - { - comment: "Issue #892 - new line between chained methods ", - unchanged: [ - 'foo', - ' .who()', - '', - ' .knows()', - ' // comment', - ' .nothing() // comment', - '', - ' .more()' - ] - } - ] - }, { - name: "Test non-positionable-ops", - description: "Ensure specific bugs do not recur", - tests: [ - { unchanged: 'a += 2;' }, - { unchanged: 'a -= 2;' }, - { unchanged: 'a *= 2;' }, - { unchanged: 'a /= 2;' }, - { unchanged: 'a %= 2;' }, - { unchanged: 'a &= 2;' }, - { unchanged: 'a ^= 2;' }, - { unchanged: 'a |= 2;' }, - { unchanged: 'a **= 2;' }, - { unchanged: 'a <<= 2;' }, - { unchanged: 'a >>= 2;' }, - ] - }, { - //Relies on the tab being four spaces as default for the tests - name: "brace_style ,preserve-inline tests", - description: "brace_style *,preserve-inline varying different brace_styles", - template: "< >", - matrix: [ - //test for all options of brace_style - { - options: [ - { name: "brace_style", value: "'collapse,preserve-inline'" } - ], - obo: ' ', - obot: '', //Output Before Open curlybrace & Tab character - oao: '\n', - oaot: ' ', //Output After Open curlybrace & corresponding Tab - obc: '\n', //Output Before Close curlybrace - oac: ' ', - oact: '' //Output After Close curlybrace & corresponding Tab character - }, - { - options: [ - { name: "brace_style", value: "'expand,preserve-inline'" } - ], - obo: '\n', - obot: ' ', - oao: '\n', - oaot: ' ', - obc: '\n', - oac: '\n', - oact: ' ' - }, - { - options: [ - { name: "brace_style", value: "'end-expand,preserve-inline'" } - ], - obo: ' ', - obot: '', - oao: '\n', - oaot: ' ', - obc: '\n', - oac: '\n', - oact: ' ' - }, - { - //None tries not to touch brace style so all the tests in this - //matrix were formatted as if they were collapse - options: [ - { name: "brace_style", value: "'none,preserve-inline'" } - ], - obo: ' ', - obot: '', - oao: '\n', - oaot: ' ', - obc: '\n', - oac: ' ', - oact: '' - }, - //Test for backward compatibility - { - options: [ - { name: "brace_style", value: "'collapse-preserve-inline'" } - ], - //Equivalent to the output of the first test - obo: ' ', - obot: '', - oao: '\n', - oaot: ' ', - obc: '\n', - oac: ' ', - oact: '' - } - ], - tests: [ - //Test single inline blocks - { - unchanged: 'import { asdf } from "asdf";' - }, - { - unchanged: 'import { get } from "asdf";' - }, - { - unchanged: 'function inLine() { console.log("oh em gee"); }' - }, - { - unchanged: 'if (cancer) { console.log("Im sorry but you only have so long to live..."); }' - }, - //Test more complex inliners - { - input: 'if (ding) { console.log("dong"); } else { console.log("dang"); }', - output: 'if (ding) { console.log("dong"); }else { console.log("dang"); }' - }, - //Test complex mixes of the two - { - //The outer function and the third object (obj3) should not - //be preserved. All other objects should be - input: [ - 'function kindaComplex() {', - ' var a = 2;', - ' var obj = {};', - ' var obj2 = { a: "a", b: "b" };', - ' var obj3 = {', - ' c: "c",', - ' d: "d",', - ' e: "e"', - ' };', - '}' - ], - output: [ - 'function kindaComplex(){' + //NL in templates - 'var a = 2;', - ' var obj = {};', - ' var obj2 = { a: "a", b: "b" };', - ' var obj3 = {' + //NL in templates, Expand doesnt affect js objects - 'c: "c",', - ' d: "d",', - ' e: "e"' + //NL in templates - ' };' + //NL in templates - '}' - ] - }, - { - //All inlines should be preserved, all non-inlines (specifically - //complex(), obj, and obj.b should not be preserved (and hence - //have the template spacing defined in output) - input: [ - 'function complex() {', - ' console.log("wowe");', - ' (function() { var a = 2; var b = 3; })();', - ' $.each(arr, function(el, idx) { return el; });', - ' var obj = {', - ' a: function() { console.log("test"); },', - ' b() {', - ' console.log("test2");', - ' }', - ' };', - '}' - - ], - output: [ - 'function complex(){' + //NL in templates - 'console.log("wowe");', - ' (function() { var a = 2; var b = 3; })();', - ' $.each(arr, function(el, idx) { return el; });', - ' var obj = {' + //NL in templates - 'a: function() { console.log("test"); },', - ' b(){' + //NL in templates - 'console.log("test2");' + - ' }' + //NL in templates - ' };' + //NL in templates - '}' - ] - } - ] - }, { - name: "Destructured and related", - description: "Ensure specific bugs do not recur", - options: [ - { name: "brace_style", value: "'collapse,preserve-inline'" } - ], //Issue 1052, now collapse,preserve-inline instead of collapse-preserve-inline - tests: [{ - comment: "Issue 382 - import destructured ", - unchanged: [ - 'module "Even" {', - ' import { odd, oddly } from "Odd";', - '}' - ] - }, - { - unchanged: [ - 'import defaultMember from "module-name";', - 'import * as name from "module-name";', - 'import { member } from "module-name";', - 'import { member as alias } from "module-name";', - 'import { member1, member2 } from "module-name";', - 'import { member1, member2 as alias2 } from "module-name";', - 'import defaultMember, { member, member2 } from "module-name";', - 'import defaultMember, * as name from "module-name";', - 'import "module-name";' - ] - }, - { - comment: "Issue 858 - from is a keyword only after import", - unchanged: [ - 'if (from < to) {', - ' from++;', - '} else {', - ' from--;', - '}' - ] - }, - { - comment: "Issue 511 - destrutured", - unchanged: [ - 'var { b, c } = require("../stores");', - 'var { ProjectStore } = require("../stores");', - '', - 'function takeThing({ prop }) {', - ' console.log("inner prop", prop)', - '}' - ] - }, - { - comment: "Issue 315 - Short objects", - unchanged: [ - 'var a = { b: { c: { d: e } } };' - ] - }, - { - unchanged: [ - 'var a = {', - ' b: {', - ' c: { d: e }', - ' c3: { d: e }', - ' },', - ' b2: { c: { d: e } }', - '};' - ] - }, - { - comment: "Issue 370 - Short objects in array", - unchanged: [ - 'var methods = [', - ' { name: "to" },', - ' { name: "step" },', - ' { name: "move" },', - ' { name: "min" },', - ' { name: "max" }', - '];' - ] - }, - { - comment: "Issue 838 - Short objects in array", - unchanged: [ - 'function(url, callback) {', - ' var script = document.createElement("script")', - ' if (true) script.onreadystatechange = function() {', - ' foo();', - ' }', - ' else script.onload = callback;', - '}' - ] - }, - { - comment: "Issue 578 - Odd indenting after function", - unchanged: [ - 'function bindAuthEvent(eventName) {', - ' self.auth.on(eventName, function(event, meta) {', - ' self.emit(eventName, event, meta);', - ' });', - '}', - '["logged_in", "logged_out", "signed_up", "updated_user"].forEach(bindAuthEvent);', - ] - }, - { - comment: "Issue #487 - some short expressions examples", - unchanged: [ - 'if (a == 1) { a++; }', - 'a = { a: a };', - 'UserDB.findOne({ username: "xyz" }, function(err, user) {});', - 'import { fs } from "fs";' - ] - }, - { - comment: "Issue #982 - Fixed return expression collapse-preserve-inline", - unchanged: [ - 'function foo(arg) {', - ' if (!arg) { a(); }', - ' if (!arg) { return false; }', - ' if (!arg) { throw "inline"; }', - ' return true;', - '}' - ] - }, - { - comment: "Issue #338 - Short expressions ", - unchanged: [ - 'if (someCondition) { return something; }', - 'if (someCondition) {', - ' return something;', - '}', - 'if (someCondition) { break; }', - 'if (someCondition) {', - ' return something;', - '}' - ] - } - ] - }, { - // ======================================================= - // New tests groups should be added above this line. - // Everything below is a work in progress - converting - // old test to generated form. - // ======================================================= - name: "Old tests", - description: "Largely unorganized pile of tests", - options: [], - tests: [ - { unchanged: '' }, - { fragment: true, unchanged: ' return .5' }, - { fragment: true, unchanged: ' return .5;\n a();' }, - { fragment: true, unchanged: ' return .5;\n a();' }, - { fragment: true, unchanged: ' return .5;\n a();' }, - { fragment: true, unchanged: ' < div' }, - { input: 'a = 1', output: 'a = 1' }, - { input: 'a=1', output: 'a = 1' }, - { unchanged: '(3) / 2' }, - { unchanged: '["a", "b"].join("")' }, - { unchanged: 'a();\n\nb();' }, - { input: 'var a = 1 var b = 2', output: 'var a = 1\nvar b = 2' }, - { input: 'var a=1, b=c[d], e=6;', output: 'var a = 1,\n b = c[d],\n e = 6;' }, - { unchanged: 'var a,\n b,\n c;' }, - { input: 'let a = 1 let b = 2', output: 'let a = 1\nlet b = 2' }, - { input: 'let a=1, b=c[d], e=6;', output: 'let a = 1,\n b = c[d],\n e = 6;' }, - { unchanged: 'let a,\n b,\n c;' }, - { input: 'const a = 1 const b = 2', output: 'const a = 1\nconst b = 2' }, - { input: 'const a=1, b=c[d], e=6;', output: 'const a = 1,\n b = c[d],\n e = 6;' }, - { unchanged: 'const a,\n b,\n c;' }, - { unchanged: 'a = " 12345 "' }, - { unchanged: "a = \\' 12345 \\'" }, - { unchanged: 'if (a == 1) b = 2;' }, - { input: 'if(1){2}else{3}', output: 'if (1) {\n 2\n} else {\n 3\n}' }, - { input: 'if(1||2);', output: 'if (1 || 2);' }, - { input: '(a==1)||(b==2)', output: '(a == 1) || (b == 2)' }, - { input: 'var a = 1 if (2) 3;', output: 'var a = 1\nif (2) 3;' }, - { unchanged: 'a = a + 1' }, - { unchanged: 'a = a == 1' }, - { unchanged: '/12345[^678]*9+/.match(a)' }, - { unchanged: 'a /= 5' }, - { unchanged: 'a = 0.5 * 3' }, - { unchanged: 'a *= 10.55' }, - { unchanged: 'a < .5' }, - { unchanged: 'a <= .5' }, - { input: 'a<.5', output: 'a < .5' }, - { input: 'a<=.5', output: 'a <= .5' }, - - { - comment: 'exponent literals', - unchanged: 'a = 1e10' - }, - { unchanged: 'a = 1.3e10' }, - { unchanged: 'a = 1.3e-10' }, - { unchanged: 'a = -12345.3e-10' }, - { unchanged: 'a = .12345e-10' }, - { unchanged: 'a = 06789e-10' }, - { unchanged: 'a = e - 10' }, - { unchanged: 'a = 1.3e+10' }, - { unchanged: 'a = 1.e-7' }, - { unchanged: 'a = -12345.3e+10' }, - { unchanged: 'a = .12345e+10' }, - { unchanged: 'a = 06789e+10' }, - { unchanged: 'a = e + 10' }, - { input: 'a=0e-12345.3e-10', output: 'a = 0e-12345 .3e-10' }, - { input: 'a=0.e-12345.3e-10', output: 'a = 0.e-12345 .3e-10' }, - { input: 'a=0x.e-12345.3e-10', output: 'a = 0x.e - 12345.3e-10' }, - { input: 'a=0x0.e-12345.3e-10', output: 'a = 0x0.e - 12345.3e-10' }, - { input: 'a=0x0.0e-12345.3e-10', output: 'a = 0x0 .0e-12345 .3e-10' }, - { input: 'a=0g-12345.3e-10', output: 'a = 0 g - 12345.3e-10' }, - { input: 'a=0.g-12345.3e-10', output: 'a = 0. g - 12345.3e-10' }, - { input: 'a=0x.g-12345.3e-10', output: 'a = 0x.g - 12345.3e-10' }, - { input: 'a=0x0.g-12345.3e-10', output: 'a = 0x0.g - 12345.3e-10' }, - { input: 'a=0x0.0g-12345.3e-10', output: 'a = 0x0 .0 g - 12345.3e-10' }, - - { - comment: 'Decimal literals', - unchanged: 'a = 0123456789;' - }, - { unchanged: 'a = 9876543210;' }, - { unchanged: 'a = 5647308291;' }, - { input: 'a=030e-5', output: 'a = 030e-5' }, - { input: 'a=00+4', output: 'a = 00 + 4' }, - { input: 'a=32+4', output: 'a = 32 + 4' }, - { input: 'a=0.6g+4', output: 'a = 0.6 g + 4' }, - { input: 'a=01.10', output: 'a = 01.10' }, - { input: 'a=a.10', output: 'a = a .10' }, - { input: 'a=00B0x0', output: 'a = 00 B0x0' }, - { input: 'a=00B0xb0', output: 'a = 00 B0xb0' }, - { input: 'a=00B0x0b0', output: 'a = 00 B0x0b0' }, - { input: 'a=0090x0', output: 'a = 0090 x0' }, - { input: 'a=0g0b0o0', output: 'a = 0 g0b0o0' }, - - { - comment: 'Hexadecimal literals', - unchanged: 'a = 0x0123456789abcdef;' - }, - { unchanged: 'a = 0X0123456789ABCDEF;' }, - { unchanged: 'a = 0xFeDcBa9876543210;' }, - { input: 'a=0x30e-5', output: 'a = 0x30e - 5' }, - { input: 'a=0xF0+4', output: 'a = 0xF0 + 4' }, - { input: 'a=0Xff+4', output: 'a = 0Xff + 4' }, - { input: 'a=0Xffg+4', output: 'a = 0Xff g + 4' }, - { input: 'a=0x01.10', output: 'a = 0x01 .10' }, - { unchanged: 'a = 0xb0ce;' }, - { unchanged: 'a = 0x0b0;' }, - { input: 'a=0x0B0x0', output: 'a = 0x0B0 x0' }, - { input: 'a=0x0B0xb0', output: 'a = 0x0B0 xb0' }, - { input: 'a=0x0B0x0b0', output: 'a = 0x0B0 x0b0' }, - { input: 'a=0X090x0', output: 'a = 0X090 x0' }, - { input: 'a=0Xg0b0o0', output: 'a = 0X g0b0o0' }, - - { - comment: 'Octal literals', - unchanged: 'a = 0o01234567;' - }, - { unchanged: 'a = 0O01234567;' }, - { unchanged: 'a = 0o34120675;' }, - { input: 'a=0o30e-5', output: 'a = 0o30 e - 5' }, - { input: 'a=0o70+4', output: 'a = 0o70 + 4' }, - { input: 'a=0O77+4', output: 'a = 0O77 + 4' }, - { input: 'a=0O778+4', output: 'a = 0O77 8 + 4' }, - { input: 'a=0O77a+4', output: 'a = 0O77 a + 4' }, - { input: 'a=0o01.10', output: 'a = 0o01 .10' }, - { input: 'a=0o0B0x0', output: 'a = 0o0 B0x0' }, - { input: 'a=0o0B0xb0', output: 'a = 0o0 B0xb0' }, - { input: 'a=0o0B0x0b0', output: 'a = 0o0 B0x0b0' }, - { input: 'a=0O090x0', output: 'a = 0O0 90 x0' }, - { input: 'a=0Og0b0o0', output: 'a = 0O g0b0o0' }, - - { - comment: 'Binary literals', - unchanged: 'a = 0b010011;' - }, - { unchanged: 'a = 0B010011;' }, - { unchanged: 'a = 0b01001100001111;' }, - { input: 'a=0b10e-5', output: 'a = 0b10 e - 5' }, - { input: 'a=0b10+4', output: 'a = 0b10 + 4' }, - { input: 'a=0B11+4', output: 'a = 0B11 + 4' }, - { input: 'a=0B112+4', output: 'a = 0B11 2 + 4' }, - { input: 'a=0B11a+4', output: 'a = 0B11 a + 4' }, - { input: 'a=0b01.10', output: 'a = 0b01 .10' }, - { input: 'a=0b0B0x0', output: 'a = 0b0 B0x0' }, - { input: 'a=0b0B0xb0', output: 'a = 0b0 B0xb0' }, - { input: 'a=0b0B0x0b0', output: 'a = 0b0 B0x0b0' }, - { input: 'a=0B090x0', output: 'a = 0B0 90 x0' }, - { input: 'a=0Bg0b0o0', output: 'a = 0B g0b0o0' }, - { unchanged: 'a = [1, 2, 3, 4]' }, - { input: 'F*(g/=f)*g+b', output: 'F * (g /= f) * g + b' }, - { input: 'a.b({c:d})', output: 'a.b({\n c: d\n})' }, - { input: 'a.b\n(\n{\nc:\nd\n}\n)', output: 'a.b({\n c: d\n})' }, - { input: 'a.b({c:"d"})', output: 'a.b({\n c: "d"\n})' }, - { input: 'a.b\n(\n{\nc:\n"d"\n}\n)', output: 'a.b({\n c: "d"\n})' }, - { input: 'a=!b', output: 'a = !b' }, - { input: 'a=!!b', output: 'a = !!b' }, - { input: 'a?b:c', output: 'a ? b : c' }, - { input: 'a?1:2', output: 'a ? 1 : 2' }, - { input: 'a?(b):c', output: 'a ? (b) : c' }, - { input: 'x={a:1,b:w=="foo"?x:y,c:z}', output: 'x = {\n a: 1,\n b: w == "foo" ? x : y,\n c: z\n}' }, - { input: 'x=a?b?c?d:e:f:g;', output: 'x = a ? b ? c ? d : e : f : g;' }, - { input: 'x=a?b?c?d:{e1:1,e2:2}:f:g;', output: 'x = a ? b ? c ? d : {\n e1: 1,\n e2: 2\n} : f : g;' }, - { unchanged: 'function void(void) {}' }, - { input: 'if(!a)foo();', output: 'if (!a) foo();' }, - { input: 'a=~a', output: 'a = ~a' }, - { input: 'a;/*comment*/b;', output: "a; /*comment*/\nb;" }, - { input: 'a;/* comment */b;', output: "a; /* comment */\nb;" }, - { fragment: true, input: 'a;/*\ncomment\n*/b;', output: "a;\n/*\ncomment\n*/\nb;", comment: "simple comments don't get touched at all" }, - { input: 'a;/**\n* javadoc\n*/b;', output: "a;\n/**\n * javadoc\n */\nb;" }, - { fragment: true, input: 'a;/**\n\nno javadoc\n*/b;', output: "a;\n/**\n\nno javadoc\n*/\nb;" }, - { input: 'a;/*\n* javadoc\n*/b;', output: "a;\n/*\n * javadoc\n */\nb;", comment: 'comment blocks detected and reindented even w/o javadoc starter' }, - { input: 'if(a)break;', output: "if (a) break;" }, - { input: 'if(a){break}', output: "if (a) {\n break\n}" }, - { input: 'if((a))foo();', output: 'if ((a)) foo();' }, - { input: 'for(var i=0;;) a', output: 'for (var i = 0;;) a' }, - { input: 'for(var i=0;;)\na', output: 'for (var i = 0;;)\n a' }, - { unchanged: 'a++;' }, - { input: 'for(;;i++)a()', output: 'for (;; i++) a()' }, - { input: 'for(;;i++)\na()', output: 'for (;; i++)\n a()' }, - { input: 'for(;;++i)a', output: 'for (;; ++i) a' }, - { input: 'return(1)', output: 'return (1)' }, - { input: 'try{a();}catch(b){c();}finally{d();}', output: "try {\n a();\n} catch (b) {\n c();\n} finally {\n d();\n}" }, - { unchanged: '(xx)()', comment: ' magic function call' }, - { unchanged: 'a[1]()', comment: 'another magic function call' }, - { input: 'if(a){b();}else if(c) foo();', output: "if (a) {\n b();\n} else if (c) foo();" }, - { input: 'switch(x) {case 0: case 1: a(); break; default: break}', output: "switch (x) {\n case 0:\n case 1:\n a();\n break;\n default:\n break\n}" }, - { input: 'switch(x){case -1:break;case !y:break;}', output: 'switch (x) {\n case -1:\n break;\n case !y:\n break;\n}' }, - { unchanged: 'a !== b' }, - { input: 'if (a) b(); else c();', output: "if (a) b();\nelse c();" }, - { unchanged: "// comment\n(function something() {})", comment: 'typical greasemonkey start' }, - { unchanged: "{\n\n x();\n\n}", comment: 'duplicating newlines' }, - { unchanged: 'if (a in b) foo();' }, - { unchanged: 'if (a of b) foo();' }, - { unchanged: 'if (a of [1, 2, 3]) foo();' }, - { - input: 'if(X)if(Y)a();else b();else c();', - output: "if (X)\n if (Y) a();\n else b();\nelse c();" - }, - { unchanged: 'if (foo) bar();\nelse break' }, - { unchanged: 'var a, b;' }, - { unchanged: 'var a = new function();' }, - { fragment: true, unchanged: 'new function' }, - { unchanged: 'var a, b' }, - { input: '{a:1, b:2}', output: "{\n a: 1,\n b: 2\n}" }, - { input: 'a={1:[-1],2:[+1]}', output: 'a = {\n 1: [-1],\n 2: [+1]\n}' }, - { input: "var l = {\\'a\\':\\'1\\', \\'b\\':\\'2\\'}", output: "var l = {\n \\'a\\': \\'1\\',\n \\'b\\': \\'2\\'\n}" }, - { unchanged: 'if (template.user[n] in bk) foo();' }, - { unchanged: 'return 45' }, - { unchanged: 'return this.prevObject ||\n\n this.constructor(null);' }, - { unchanged: 'If[1]' }, - { unchanged: 'Then[1]' }, - { input: "a = 1;// comment", output: "a = 1; // comment" }, - { unchanged: "a = 1; // comment" }, - { input: "a = 1;\n // comment", output: "a = 1;\n// comment" }, - { unchanged: 'a = [-1, -1, -1]' }, - - // These must work as non-fragments. - { unchanged: ['// a', '// b', '', '', '', '// c', '// d'] }, - { unchanged: ['// func-comment', '', 'function foo() {}', '', '// end-func-comment'] }, - - { - comment: 'The exact formatting these should have is open for discussion, but they are at least reasonable', - unchanged: 'a = [ // comment\n -1, -1, -1\n]' - }, - { unchanged: 'var a = [ // comment\n -1, -1, -1\n]' }, - { unchanged: 'a = [ // comment\n -1, // comment\n -1, -1\n]' }, - { unchanged: 'var a = [ // comment\n -1, // comment\n -1, -1\n]' }, - - { input: 'o = [{a:b},{c:d}]', output: 'o = [{\n a: b\n}, {\n c: d\n}]' }, - - { - comment: 'was: extra space appended', - unchanged: "if (a) {\n do();\n}" - }, - - { - comment: 'if/else statement with empty body', - input: "if (a) {\n// comment\n}else{\n// comment\n}", - output: "if (a) {\n // comment\n} else {\n // comment\n}" - }, - { comment: 'multiple comments indentation', input: "if (a) {\n// comment\n// comment\n}", output: "if (a) {\n // comment\n // comment\n}" }, - { input: "if (a) b() else c();", output: "if (a) b()\nelse c();" }, - { input: "if (a) b() else if c() d();", output: "if (a) b()\nelse if c() d();" }, - - { unchanged: "{}" }, - { unchanged: "{\n\n}" }, - { input: "do { a(); } while ( 1 );", output: "do {\n a();\n} while (1);" }, - { unchanged: "do {} while (1);" }, - { input: "do {\n} while (1);", output: "do {} while (1);" }, - { unchanged: "do {\n\n} while (1);" }, - { unchanged: "var a = x(a, b, c)" }, - { input: "delete x if (a) b();", output: "delete x\nif (a) b();" }, - { input: "delete x[x] if (a) b();", output: "delete x[x]\nif (a) b();" }, - { input: "for(var a=1,b=2)d", output: "for (var a = 1, b = 2) d" }, - { input: "for(var a=1,b=2,c=3) d", output: "for (var a = 1, b = 2, c = 3) d" }, - { input: "for(var a=1,b=2,c=3;d<3;d++)\ne", output: "for (var a = 1, b = 2, c = 3; d < 3; d++)\n e" }, - { input: "function x(){(a||b).c()}", output: "function x() {\n (a || b).c()\n}" }, - { input: "function x(){return - 1}", output: "function x() {\n return -1\n}" }, - { input: "function x(){return ! a}", output: "function x() {\n return !a\n}" }, - { unchanged: "x => x" }, - { unchanged: "(x) => x" }, - { input: "x => { x }", output: "x => {\n x\n}" }, - { input: "(x) => { x }", output: "(x) => {\n x\n}" }, - - { - comment: 'a common snippet in jQuery plugins', - input_: "settings = $.extend({},defaults,settings);", - output: "settings = $.extend({}, defaults, settings);" - }, - - // reserved words used as property names - { unchanged: "$http().then().finally().default()" }, - { input: "$http()\n.then()\n.finally()\n.default()", output: "$http()\n .then()\n .finally()\n .default()" }, - { unchanged: "$http().when.in.new.catch().throw()" }, - { input: "$http()\n.when\n.in\n.new\n.catch()\n.throw()", output: "$http()\n .when\n .in\n .new\n .catch()\n .throw()" }, - - { input: '{xxx;}()', output: '{\n xxx;\n}()' }, - - { unchanged: "a = \\'a\\'\nb = \\'b\\'" }, - { unchanged: "a = /reg/exp" }, - { unchanged: "a = /reg/" }, - { unchanged: '/abc/.test()' }, - { unchanged: '/abc/i.test()' }, - { input: "{/abc/i.test()}", output: "{\n /abc/i.test()\n}" }, - { input: 'var x=(a)/a;', output: 'var x = (a) / a;' }, - - { unchanged: 'x != -1' }, - - { input: 'for (; s-->0;)t', output: 'for (; s-- > 0;) t' }, - { input: 'for (; s++>0;)u', output: 'for (; s++ > 0;) u' }, - { input: 'a = s++>s--;', output: 'a = s++ > s--;' }, - { input: 'a = s++>--s;', output: 'a = s++ > --s;' }, - - { input: '{x=#1=[]}', output: '{\n x = #1=[]\n}' }, - { input: '{a:#1={}}', output: '{\n a: #1={}\n}' }, - { input: '{a:#1#}', output: '{\n a: #1#\n}' }, - - { fragment: true, unchanged: '"incomplete-string' }, - { fragment: true, unchanged: "\\'incomplete-string" }, - { fragment: true, unchanged: '/incomplete-regex' }, - { fragment: true, unchanged: '`incomplete-template-string' }, - - { fragment: true, input: '{a:1},{a:2}', output: '{\n a: 1\n}, {\n a: 2\n}' }, - { fragment: true, input: 'var ary=[{a:1}, {a:2}];', output: 'var ary = [{\n a: 1\n}, {\n a: 2\n}];' }, - - { comment: 'incomplete', fragment: true, input: '{a:#1', output: '{\n a: #1' }, - { comment: 'incomplete', fragment: true, input: '{a:#', output: '{\n a: #' }, - - { comment: 'incomplete', fragment: true, input: '}}}', output: '}\n}\n}' }, - - { fragment: true, unchanged: '' }, - - { comment: 'incomplete regexp', fragment: true, input: 'a=/regexp', output: 'a = /regexp' }, - - { input: '{a:#1=[],b:#1#,c:#999999#}', output: '{\n a: #1=[],\n b: #1#,\n c: #999999#\n}' }, - - { input: "do{x()}while(a>1)", output: "do {\n x()\n} while (a > 1)" }, - - { input: "x(); /reg/exp.match(something)", output: "x();\n/reg/exp.match(something)" }, - - { fragment: true, input: "something();(", output: "something();\n(" }, - { fragment: true, input: "#!she/bangs, she bangs\nf=1", output: "#!she/bangs, she bangs\n\nf = 1" }, - { fragment: true, input: "#!she/bangs, she bangs\n\nf=1", output: "#!she/bangs, she bangs\n\nf = 1" }, - { fragment: true, unchanged: "#!she/bangs, she bangs\n\n/* comment */" }, - { fragment: true, unchanged: "#!she/bangs, she bangs\n\n\n/* comment */" }, - { fragment: true, unchanged: "#" }, - { fragment: true, unchanged: "#!" }, - - { unchanged: "function namespace::something()" }, - - { fragment: true, unchanged: "" }, - { fragment: true, input: "", output: "" }, - - { input: '{foo();--bar;}', output: '{\n foo();\n --bar;\n}' }, - { input: '{foo();++bar;}', output: '{\n foo();\n ++bar;\n}' }, - { input: '{--bar;}', output: '{\n --bar;\n}' }, - { input: '{++bar;}', output: '{\n ++bar;\n}' }, - { input: 'if(true)++a;', output: 'if (true) ++a;' }, - { input: 'if(true)\n++a;', output: 'if (true)\n ++a;' }, - { input: 'if(true)--a;', output: 'if (true) --a;' }, - { input: 'if(true)\n--a;', output: 'if (true)\n --a;' }, - { unchanged: 'elem[array]++;' }, - { unchanged: 'elem++ * elem[array]++;' }, - { unchanged: 'elem-- * -elem[array]++;' }, - { unchanged: 'elem-- + elem[array]++;' }, - { unchanged: 'elem-- - elem[array]++;' }, - { unchanged: 'elem-- - -elem[array]++;' }, - { unchanged: 'elem-- - +elem[array]++;' }, - - - { - comment: 'Handling of newlines around unary ++ and -- operators', - input: '{foo\n++bar;}', - output: '{\n foo\n ++bar;\n}' - }, - { input: '{foo++\nbar;}', output: '{\n foo++\n bar;\n}' }, - - { - comment: 'This is invalid, but harder to guard against. Issue #203.', - input: '{foo\n++\nbar;}', - output: '{\n foo\n ++\n bar;\n}' - }, - - { - comment: 'regexps', - input: 'a(/abc\\\\/\\\\/def/);b()', - output: "a(/abc\\\\/\\\\/def/);\nb()" - }, - { input: 'a(/a[b\\\\[\\\\]c]d/);b()', output: "a(/a[b\\\\[\\\\]c]d/);\nb()" }, - { comment: 'incomplete char class', fragment: true, unchanged: 'a(/a[b\\\\[' }, - - { - comment: 'allow unescaped / in char classes', - input: 'a(/[a/b]/);b()', - output: "a(/[a/b]/);\nb()" - }, - { unchanged: 'typeof /foo\\\\//;' }, - { unchanged: 'throw /foo\\\\//;' }, - { unchanged: 'do /foo\\\\//;' }, - { unchanged: 'return /foo\\\\//;' }, - { unchanged: 'switch (a) {\n case /foo\\\\//:\n b\n}' }, - { unchanged: 'if (a) /foo\\\\//\nelse /foo\\\\//;' }, - - { unchanged: 'if (foo) /regex/.test();' }, - { unchanged: "for (index in [1, 2, 3]) /^test$/i.test(s)" }, - - { unchanged: 'function foo() {\n return [\n "one",\n "two"\n ];\n}' }, - { input: 'a=[[1,2],[4,5],[7,8]]', output: "a = [\n [1, 2],\n [4, 5],\n [7, 8]\n]" }, - { - input: 'a=[[1,2],[4,5],function(){},[7,8]]', - output: "a = [\n [1, 2],\n [4, 5],\n function() {},\n [7, 8]\n]" - }, - { - input: 'a=[[1,2],[4,5],function(){},function(){},[7,8]]', - output: "a = [\n [1, 2],\n [4, 5],\n function() {},\n function() {},\n [7, 8]\n]" - }, - { - input: 'a=[[1,2],[4,5],function(){},[7,8]]', - output: "a = [\n [1, 2],\n [4, 5],\n function() {},\n [7, 8]\n]" - }, - { - input: 'a=[b,c,function(){},function(){},d]', - output: "a = [b, c, function() {}, function() {}, d]" - }, - { - input: 'a=[b,c,\nfunction(){},function(){},d]', - output: "a = [b, c,\n function() {},\n function() {},\n d\n]" - }, - { input: 'a=[a[1],b[4],c[d[7]]]', output: "a = [a[1], b[4], c[d[7]]]" }, - { input: '[1,2,[3,4,[5,6],7],8]', output: "[1, 2, [3, 4, [5, 6], 7], 8]" }, - - { - input: '[[["1","2"],["3","4"]],[["5","6","7"],["8","9","0"]],[["1","2","3"],["4","5","6","7"],["8","9","0"]]]', - output: '[\n [\n ["1", "2"],\n ["3", "4"]\n ],\n [\n ["5", "6", "7"],\n ["8", "9", "0"]\n ],\n [\n ["1", "2", "3"],\n ["4", "5", "6", "7"],\n ["8", "9", "0"]\n ]\n]' - }, - - { input: '{[x()[0]];indent;}', output: '{\n [x()[0]];\n indent;\n}' }, - { unchanged: '/*\n foo trailing space \n * bar trailing space \n**/' }, - { unchanged: '{\n /*\n foo \n * bar \n */\n}' }, - - { unchanged: 'return ++i' }, - { unchanged: 'return !!x' }, - { unchanged: 'return !x' }, - { input: 'return [1,2]', output: 'return [1, 2]' }, - { unchanged: 'return;' }, - { unchanged: 'return\nfunc' }, - { input: 'catch(e)', output: 'catch (e)' }, - - { - input: 'var a=1,b={foo:2,bar:3},{baz:4,wham:5},c=4;', - output: 'var a = 1,\n b = {\n foo: 2,\n bar: 3\n },\n {\n baz: 4,\n wham: 5\n }, c = 4;' - }, - { - input: 'var a=1,b={foo:2,bar:3},{baz:4,wham:5},\nc=4;', - output: 'var a = 1,\n b = {\n foo: 2,\n bar: 3\n },\n {\n baz: 4,\n wham: 5\n },\n c = 4;' - }, - - { - comment: 'inline comment', - input_: 'function x(/*int*/ start, /*string*/ foo)', - output: 'function x( /*int*/ start, /*string*/ foo)' - }, - - { - comment: 'javadoc comment', - input: '/**\n* foo\n*/', - output: '/**\n * foo\n */' - }, - { input: '{\n/**\n* foo\n*/\n}', output: '{\n /**\n * foo\n */\n}' }, - - { - comment: 'starless block comment', - unchanged: '/**\nfoo\n*/' - }, - { unchanged: '/**\nfoo\n**/' }, - { unchanged: '/**\nfoo\nbar\n**/' }, - { unchanged: '/**\nfoo\n\nbar\n**/' }, - { unchanged: '/**\nfoo\n bar\n**/' }, - { input: '{\n/**\nfoo\n*/\n}', output: '{\n /**\n foo\n */\n}' }, - { input: '{\n/**\nfoo\n**/\n}', output: '{\n /**\n foo\n **/\n}' }, - { input: '{\n/**\nfoo\nbar\n**/\n}', output: '{\n /**\n foo\n bar\n **/\n}' }, - { input: '{\n/**\nfoo\n\nbar\n**/\n}', output: '{\n /**\n foo\n\n bar\n **/\n}' }, - { input: '{\n/**\nfoo\n bar\n**/\n}', output: '{\n /**\n foo\n bar\n **/\n}' }, - { unchanged: '{\n /**\n foo\nbar\n **/\n}' }, - - { input: 'var a,b,c=1,d,e,f=2;', output: 'var a, b, c = 1,\n d, e, f = 2;' }, - { input: 'var a,b,c=[],d,e,f=2;', output: 'var a, b, c = [],\n d, e, f = 2;' }, - { unchanged: 'function() {\n var a, b, c, d, e = [],\n f;\n}' }, - - { input: 'do/regexp/;\nwhile(1);', output: 'do /regexp/;\nwhile (1);' }, - { input: 'var a = a,\na;\nb = {\nb\n}', output: 'var a = a,\n a;\nb = {\n b\n}' }, - - { unchanged: 'var a = a,\n /* c */\n b;' }, - { unchanged: 'var a = a,\n // c\n b;' }, - - { - comment: 'weird element referencing', - unchanged: 'foo.("bar");' - }, - - - { unchanged: 'if (a) a()\nelse b()\nnewline()' }, - { unchanged: 'if (a) a()\nnewline()' }, - { input: 'a=typeof(x)', output: 'a = typeof(x)' }, - - { unchanged: 'var a = function() {\n return null;\n },\n b = false;' }, - - { unchanged: 'var a = function() {\n func1()\n}' }, - { unchanged: 'var a = function() {\n func1()\n}\nvar b = function() {\n func2()\n}' }, - - { - comment: 'code with and without semicolons', - input_: 'var whatever = require("whatever");\nfunction() {\n a = 6;\n}', - output: 'var whatever = require("whatever");\n\nfunction() {\n a = 6;\n}' - }, - { - input: 'var whatever = require("whatever")\nfunction() {\n a = 6\n}', - output: 'var whatever = require("whatever")\n\nfunction() {\n a = 6\n}' - }, - - { input: '{"x":[{"a":1,"b":3},\n7,8,8,8,8,{"b":99},{"a":11}]}', output: '{\n "x": [{\n "a": 1,\n "b": 3\n },\n 7, 8, 8, 8, 8, {\n "b": 99\n }, {\n "a": 11\n }\n ]\n}' }, - { input: '{"x":[{"a":1,"b":3},7,8,8,8,8,{"b":99},{"a":11}]}', output: '{\n "x": [{\n "a": 1,\n "b": 3\n }, 7, 8, 8, 8, 8, {\n "b": 99\n }, {\n "a": 11\n }]\n}' }, - - { input: '{"1":{"1a":"1b"},"2"}', output: '{\n "1": {\n "1a": "1b"\n },\n "2"\n}' }, - { input: '{a:{a:b},c}', output: '{\n a: {\n a: b\n },\n c\n}' }, - - { input: '{[y[a]];keep_indent;}', output: '{\n [y[a]];\n keep_indent;\n}' }, - - { input: 'if (x) {y} else { if (x) {y}}', output: 'if (x) {\n y\n} else {\n if (x) {\n y\n }\n}' }, - - { unchanged: 'if (foo) one()\ntwo()\nthree()' }, - { unchanged: 'if (1 + foo() && bar(baz()) / 2) one()\ntwo()\nthree()' }, - { unchanged: 'if (1 + foo() && bar(baz()) / 2) one();\ntwo();\nthree();' }, - - { input: 'var a=1,b={bang:2},c=3;', output: 'var a = 1,\n b = {\n bang: 2\n },\n c = 3;' }, - { input: 'var a={bing:1},b=2,c=3;', output: 'var a = {\n bing: 1\n },\n b = 2,\n c = 3;' }, - - ], - }], - examples: [{ - // Example - group_name: "one", - description: "", - options: [], - values: [{ - source: "", //string or array of lines - output: "" //string or array of lines - }] - }] -}; \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/generate-tests.js b/build/js-transpiled/node_modules/js-beautify/test/generate-tests.js deleted file mode 100644 index 2d001621..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/generate-tests.js +++ /dev/null @@ -1,216 +0,0 @@ -#!/usr/bin/env node - -/* - The MIT License (MIT) - - Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -var fs = require('fs'); -var mustache = require('mustache'); -var path = require('path'); - -function generate_tests() { - // javascript - generate_test_files('javascript', 'bt', 'js/test/generated/beautify-javascript-tests.js', 'python/jsbeautifier/tests/generated/tests.py'); - - // css - generate_test_files('css', 't', 'js/test/generated/beautify-css-tests.js', 'python/cssbeautifier/tests/generated/tests.py'); - - // html - // no python html beautifier, so no tests - generate_test_files('html', 'bth', 'js/test/generated/beautify-html-tests.js'); -} - -function generate_test_files(data_folder, test_method, node_output, python_output) { - var data_file_path, input_path, template_file_path; - var test_data, template; - - input_path = path.resolve(__dirname, 'data', data_folder); - data_file_path = path.resolve(input_path, 'tests.js'); - test_data = require(data_file_path).test_data; - - template_file_path = path.resolve(input_path, 'node.mustache'); - template = fs.readFileSync(template_file_path, { encoding: 'utf-8' }); - set_formatters(test_data, test_method, '// '); - set_generated_header(test_data, data_file_path, template_file_path); - fs.writeFileSync(path.resolve(__dirname, '..', node_output), - mustache.render(template, test_data), { encoding: 'utf-8' }); - - if (python_output) { - template_file_path = path.resolve(input_path, 'python.mustache'); - template = fs.readFileSync(template_file_path, { encoding: 'utf-8' }); - set_formatters(test_data, test_method, '# '); - set_generated_header(test_data, data_file_path, template_file_path); - fs.writeFileSync(path.resolve(__dirname, '..', python_output), - mustache.render(template, test_data), { encoding: 'utf-8' }); - } -} - -function set_generated_header(data, data_file_path, template_file_path) { - var relative_script_path = path.relative(process.cwd(), __filename).split(path.sep).join('/'); - var relative_data_file_path = path.relative(process.cwd(), data_file_path).split(path.sep).join('/'); - var relative_template_file_path = path.relative(process.cwd(), template_file_path).split(path.sep).join('/'); - - data.header_text = - ' AUTO-GENERATED. DO NOT MODIFY.\n' + - ' Script: ' + relative_script_path + '\n' + - ' Template: ' + relative_template_file_path + '\n' + - ' Data: ' + relative_data_file_path; - -} - -function isStringOrArray(val) { - return typeof val === 'string' || val instanceof Array; -} - -function getTestString(val) { - val = val.split('\n'); - - var result = "'" + val.join("\\n' +\n '").replace(/\t/g, '\\t') + "'"; - result = result.replace(/' \+\n ''$/, "'"); - return result; -} - -function set_formatters(data, test_method, comment_mark) { - - // utility mustache functions - data.matrix_context_string = function() { - var context = this; - return function(text, render) { - var outputs = []; - // text is ignored for this - for (var name in context) { - if (name === 'options') { - continue; - } - - if (context.hasOwnProperty(name)) { - outputs.push(name + ' = "' + context[name].replace(/\n/g, '\\n').replace(/\t/g, '\\t') + '"'); - } - } - return render(outputs.join(', ')); - }; - }; - - data.test_line = function() { - return function(text, render) { - var method_text = this.fragment ? 'test_fragment' : test_method; - var comment = ''; - var before_input = method_text + '('; - var input = null; - var before_output = ', '; - var output = null; - - // text is ignored for this. - if (typeof this.comment === 'string') { - this.comment = this.comment.split('\n'); - } - - if (this.comment instanceof Array) { - comment = '\n ' + comment_mark + this.comment.join('\n ' + comment_mark) + '\n '; - } - - // input: the default field - // input_: allow underscore for formatting alignment with "output" - // unchanged: use "unchanged" instead of "input" if there is no output - input = this.input || this.input_ || this.unchanged; - if (input instanceof Array) { - input = input.join('\n'); - } - - if (isStringOrArray(this.output)) { - output = this.output; - if (output instanceof Array) { - output = output.join('\n'); - } - } - - // Do all most error checking - if (!(this.input !== null || this.input_ !== null || this.unchanged !== null)) { - throw "Missing test input field (input, input_, or unchanged)."; - } else if ((this.input !== null && (this.input_ !== null || this.unchanged !== null)) && - (this.input_ === null || this.unchanged === null)) { - throw "Only one test input field allowed (input, input_, or unchanged): " + input; - } else if (output && isStringOrArray(this.unchanged)) { - throw "Cannot specify 'output' with 'unchanged' test input: " + input; - } else if (!output && !isStringOrArray(this.unchanged)) { - throw "Neither 'output' nor 'unchanged' specified for test input: " + input; - } else if (input === output) { - // Raw input and output can be the same, just omit output. - throw "Test strings are identical. Omit 'output' and use 'unchanged': " + input; - } - - if (output && output.indexOf('<%') !== -1) { - mustache.tags = ['<%', '%>']; - } - - input = getTestString(render(input)); - - if (output) { - output = getTestString(render(output)); - } else { - output = ''; - } - - if (output && output.indexOf('<%') !== -1) { - mustache.tags = ['{{', '}}']; - } - - if (this.input_ || input.indexOf('\n') !== -1 || output.indexOf('\n') !== -1) { - before_input = method_text + '(\n '; - before_output = ',\n ' + comment_mark + ' -- output --\n '; - } - if (output === '') { - before_output = ''; - } - - // Rendered input and output can be the same, just omit output. - if (output === input) { - before_output = ''; - output = ''; - } - return comment + before_input + input + before_output + output + ')'; - }; - }; - - data.set_mustache_tags = function() { - return function( /* text, render */ ) { - if (this.template) { - mustache.tags = this.template.split(' '); - } - return ''; - }; - }; - - data.unset_mustache_tags = function() { - return function( /* text , render */ ) { - if (this.template) { - mustache.tags = ['{{', '}}']; - } - return ''; - }; - }; -} - -generate_tests(); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/resources/html-with-base64image.html b/build/js-transpiled/node_modules/js-beautify/test/resources/html-with-base64image.html deleted file mode 100644 index c32bbc84..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/resources/html-with-base64image.html +++ /dev/null @@ -1 +0,0 @@ -


    \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/resources/underscore-min.js b/build/js-transpiled/node_modules/js-beautify/test/resources/underscore-min.js deleted file mode 100644 index 11f1d96f..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/resources/underscore-min.js +++ /dev/null @@ -1,6 +0,0 @@ -// Underscore.js 1.7.0 -// http://underscorejs.org -// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. -(function(){var n=this,t=n._,r=Array.prototype,e=Object.prototype,u=Function.prototype,i=r.push,a=r.slice,o=r.concat,l=e.toString,c=e.hasOwnProperty,f=Array.isArray,s=Object.keys,p=u.bind,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=h),exports._=h):n._=h,h.VERSION="1.7.0";var g=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}};h.iteratee=function(n,t,r){return null==n?h.identity:h.isFunction(n)?g(n,t,r):h.isObject(n)?h.matches(n):h.property(n)},h.each=h.forEach=function(n,t,r){if(null==n)return n;t=g(t,r);var e,u=n.length;if(u===+u)for(e=0;u>e;e++)t(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,t,r){if(null==n)return[];t=h.iteratee(t,r);for(var e,u=n.length!==+n.length&&h.keys(n),i=(u||n).length,a=Array(i),o=0;i>o;o++)e=u?u[o]:o,a[o]=t(n[e],e,n);return a};var v="Reduce of empty array with no initial value";h.reduce=h.foldl=h.inject=function(n,t,r,e){null==n&&(n=[]),t=g(t,e,4);var u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length,o=0;if(arguments.length<3){if(!a)throw new TypeError(v);r=n[i?i[o++]:o++]}for(;a>o;o++)u=i?i[o]:o,r=t(r,n[u],u,n);return r},h.reduceRight=h.foldr=function(n,t,r,e){null==n&&(n=[]),t=g(t,e,4);var u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length;if(arguments.length<3){if(!a)throw new TypeError(v);r=n[i?i[--a]:--a]}for(;a--;)u=i?i[a]:a,r=t(r,n[u],u,n);return r},h.find=h.detect=function(n,t,r){var e;return t=h.iteratee(t,r),h.some(n,function(n,r,u){return t(n,r,u)?(e=n,!0):void 0}),e},h.filter=h.select=function(n,t,r){var e=[];return null==n?e:(t=h.iteratee(t,r),h.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e)},h.reject=function(n,t,r){return h.filter(n,h.negate(h.iteratee(t)),r)},h.every=h.all=function(n,t,r){if(null==n)return!0;t=h.iteratee(t,r);var e,u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length;for(e=0;a>e;e++)if(u=i?i[e]:e,!t(n[u],u,n))return!1;return!0},h.some=h.any=function(n,t,r){if(null==n)return!1;t=h.iteratee(t,r);var e,u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length;for(e=0;a>e;e++)if(u=i?i[e]:e,t(n[u],u,n))return!0;return!1},h.contains=h.include=function(n,t){return null==n?!1:(n.length!==+n.length&&(n=h.values(n)),h.indexOf(n,t)>=0)},h.invoke=function(n,t){var r=a.call(arguments,2),e=h.isFunction(t);return h.map(n,function(n){return(e?t:n[t]).apply(n,r)})},h.pluck=function(n,t){return h.map(n,h.property(t))},h.where=function(n,t){return h.filter(n,h.matches(t))},h.findWhere=function(n,t){return h.find(n,h.matches(t))},h.max=function(n,t,r){var e,u,i=-1/0,a=-1/0;if(null==t&&null!=n){n=n.length===+n.length?n:h.values(n);for(var o=0,l=n.length;l>o;o++)e=n[o],e>i&&(i=e)}else t=h.iteratee(t,r),h.each(n,function(n,r,e){u=t(n,r,e),(u>a||u===-1/0&&i===-1/0)&&(i=n,a=u)});return i},h.min=function(n,t,r){var e,u,i=1/0,a=1/0;if(null==t&&null!=n){n=n.length===+n.length?n:h.values(n);for(var o=0,l=n.length;l>o;o++)e=n[o],i>e&&(i=e)}else t=h.iteratee(t,r),h.each(n,function(n,r,e){u=t(n,r,e),(a>u||1/0===u&&1/0===i)&&(i=n,a=u)});return i},h.shuffle=function(n){for(var t,r=n&&n.length===+n.length?n:h.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=h.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},h.sample=function(n,t,r){return null==t||r?(n.length!==+n.length&&(n=h.values(n)),n[h.random(n.length-1)]):h.shuffle(n).slice(0,Math.max(0,t))},h.sortBy=function(n,t,r){return t=h.iteratee(t,r),h.pluck(h.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var m=function(n){return function(t,r,e){var u={};return r=h.iteratee(r,e),h.each(t,function(e,i){var a=r(e,i,t);n(u,e,a)}),u}};h.groupBy=m(function(n,t,r){h.has(n,r)?n[r].push(t):n[r]=[t]}),h.indexBy=m(function(n,t,r){n[r]=t}),h.countBy=m(function(n,t,r){h.has(n,r)?n[r]++:n[r]=1}),h.sortedIndex=function(n,t,r,e){r=h.iteratee(r,e,1);for(var u=r(t),i=0,a=n.length;a>i;){var o=i+a>>>1;r(n[o])t?[]:a.call(n,0,t)},h.initial=function(n,t,r){return a.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},h.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:a.call(n,Math.max(n.length-t,0))},h.rest=h.tail=h.drop=function(n,t,r){return a.call(n,null==t||r?1:t)},h.compact=function(n){return h.filter(n,h.identity)};var y=function(n,t,r,e){if(t&&h.every(n,h.isArray))return o.apply(e,n);for(var u=0,a=n.length;a>u;u++){var l=n[u];h.isArray(l)||h.isArguments(l)?t?i.apply(e,l):y(l,t,r,e):r||e.push(l)}return e};h.flatten=function(n,t){return y(n,t,!1,[])},h.without=function(n){return h.difference(n,a.call(arguments,1))},h.uniq=h.unique=function(n,t,r,e){if(null==n)return[];h.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=h.iteratee(r,e));for(var u=[],i=[],a=0,o=n.length;o>a;a++){var l=n[a];if(t)a&&i===l||u.push(l),i=l;else if(r){var c=r(l,a,n);h.indexOf(i,c)<0&&(i.push(c),u.push(l))}else h.indexOf(u,l)<0&&u.push(l)}return u},h.union=function(){return h.uniq(y(arguments,!0,!0,[]))},h.intersection=function(n){if(null==n)return[];for(var t=[],r=arguments.length,e=0,u=n.length;u>e;e++){var i=n[e];if(!h.contains(t,i)){for(var a=1;r>a&&h.contains(arguments[a],i);a++);a===r&&t.push(i)}}return t},h.difference=function(n){var t=y(a.call(arguments,1),!0,!0,[]);return h.filter(n,function(n){return!h.contains(t,n)})},h.zip=function(n){if(null==n)return[];for(var t=h.max(arguments,"length").length,r=Array(t),e=0;t>e;e++)r[e]=h.pluck(arguments,e);return r},h.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},h.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=h.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}for(;u>e;e++)if(n[e]===t)return e;return-1},h.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=n.length;for("number"==typeof r&&(e=0>r?e+r+1:Math.min(e,r+1));--e>=0;)if(n[e]===t)return e;return-1},h.range=function(n,t,r){arguments.length<=1&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var d=function(){};h.bind=function(n,t){var r,e;if(p&&n.bind===p)return p.apply(n,a.call(arguments,1));if(!h.isFunction(n))throw new TypeError("Bind must be called on a function");return r=a.call(arguments,2),e=function(){if(!(this instanceof e))return n.apply(t,r.concat(a.call(arguments)));d.prototype=n.prototype;var u=new d;d.prototype=null;var i=n.apply(u,r.concat(a.call(arguments)));return h.isObject(i)?i:u}},h.partial=function(n){var t=a.call(arguments,1);return function(){for(var r=0,e=t.slice(),u=0,i=e.length;i>u;u++)e[u]===h&&(e[u]=arguments[r++]);for(;r=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=h.bind(n[r],n);return n},h.memoize=function(n,t){var r=function(e){var u=r.cache,i=t?t.apply(this,arguments):e;return h.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},h.delay=function(n,t){var r=a.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},h.defer=function(n){return h.delay.apply(h,[n,1].concat(a.call(arguments,1)))},h.throttle=function(n,t,r){var e,u,i,a=null,o=0;r||(r={});var l=function(){o=r.leading===!1?0:h.now(),a=null,i=n.apply(e,u),a||(e=u=null)};return function(){var c=h.now();o||r.leading!==!1||(o=c);var f=t-(c-o);return e=this,u=arguments,0>=f||f>t?(clearTimeout(a),a=null,o=c,i=n.apply(e,u),a||(e=u=null)):a||r.trailing===!1||(a=setTimeout(l,f)),i}},h.debounce=function(n,t,r){var e,u,i,a,o,l=function(){var c=h.now()-a;t>c&&c>0?e=setTimeout(l,t-c):(e=null,r||(o=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,a=h.now();var c=r&&!e;return e||(e=setTimeout(l,t)),c&&(o=n.apply(i,u),i=u=null),o}},h.wrap=function(n,t){return h.partial(t,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},h.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},h.before=function(n,t){var r;return function(){return--n>0?r=t.apply(this,arguments):t=null,r}},h.once=h.partial(h.before,2),h.keys=function(n){if(!h.isObject(n))return[];if(s)return s(n);var t=[];for(var r in n)h.has(n,r)&&t.push(r);return t},h.values=function(n){for(var t=h.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},h.pairs=function(n){for(var t=h.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},h.invert=function(n){for(var t={},r=h.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},h.functions=h.methods=function(n){var t=[];for(var r in n)h.isFunction(n[r])&&t.push(r);return t.sort()},h.extend=function(n){if(!h.isObject(n))return n;for(var t,r,e=1,u=arguments.length;u>e;e++){t=arguments[e];for(r in t)c.call(t,r)&&(n[r]=t[r])}return n},h.pick=function(n,t,r){var e,u={};if(null==n)return u;if(h.isFunction(t)){t=g(t,r);for(e in n){var i=n[e];t(i,e,n)&&(u[e]=i)}}else{var l=o.apply([],a.call(arguments,1));n=new Object(n);for(var c=0,f=l.length;f>c;c++)e=l[c],e in n&&(u[e]=n[e])}return u},h.omit=function(n,t,r){if(h.isFunction(t))t=h.negate(t);else{var e=h.map(o.apply([],a.call(arguments,1)),String);t=function(n,t){return!h.contains(e,t)}}return h.pick(n,t,r)},h.defaults=function(n){if(!h.isObject(n))return n;for(var t=1,r=arguments.length;r>t;t++){var e=arguments[t];for(var u in e)n[u]===void 0&&(n[u]=e[u])}return n},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,t){return t(n),n};var b=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof h&&(n=n._wrapped),t instanceof h&&(t=t._wrapped);var u=l.call(n);if(u!==l.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]===n)return e[i]===t;var a=n.constructor,o=t.constructor;if(a!==o&&"constructor"in n&&"constructor"in t&&!(h.isFunction(a)&&a instanceof a&&h.isFunction(o)&&o instanceof o))return!1;r.push(n),e.push(t);var c,f;if("[object Array]"===u){if(c=n.length,f=c===t.length)for(;c--&&(f=b(n[c],t[c],r,e)););}else{var s,p=h.keys(n);if(c=p.length,f=h.keys(t).length===c)for(;c--&&(s=p[c],f=h.has(t,s)&&b(n[s],t[s],r,e)););}return r.pop(),e.pop(),f};h.isEqual=function(n,t){return b(n,t,[],[])},h.isEmpty=function(n){if(null==n)return!0;if(h.isArray(n)||h.isString(n)||h.isArguments(n))return 0===n.length;for(var t in n)if(h.has(n,t))return!1;return!0},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=f||function(n){return"[object Array]"===l.call(n)},h.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp"],function(n){h["is"+n]=function(t){return l.call(t)==="[object "+n+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return h.has(n,"callee")}),"function"!=typeof/./&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&n!==+n},h.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===l.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return n===void 0},h.has=function(n,t){return null!=n&&c.call(n,t)},h.noConflict=function(){return n._=t,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(n){return function(t){return t[n]}},h.matches=function(n){var t=h.pairs(n),r=t.length;return function(n){if(null==n)return!r;n=new Object(n);for(var e=0;r>e;e++){var u=t[e],i=u[0];if(u[1]!==n[i]||!(i in n))return!1}return!0}},h.times=function(n,t,r){var e=Array(Math.max(0,n));t=g(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},h.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},h.now=Date.now||function(){return(new Date).getTime()};var _={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},w=h.invert(_),j=function(n){var t=function(t){return n[t]},r="(?:"+h.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};h.escape=j(_),h.unescape=j(w),h.result=function(n,t){if(null==n)return void 0;var r=n[t];return h.isFunction(r)?n[t]():r};var x=0;h.uniqueId=function(n){var t=++x+"";return n?n+t:t},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var A=/(.)^/,k={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},O=/\\|'|\r|\n|\u2028|\u2029/g,F=function(n){return"\\"+k[n]};h.template=function(n,t,r){!t&&r&&(t=r),t=h.defaults({},t,h.templateSettings);var e=RegExp([(t.escape||A).source,(t.interpolate||A).source,(t.evaluate||A).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,a,o){return i+=n.slice(u,o).replace(O,F),u=o+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":a&&(i+="';\n"+a+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var a=new Function(t.variable||"obj","_",i)}catch(o){throw o.source=i,o}var l=function(n){return a.call(this,n,h)},c=t.variable||"obj";return l.source="function("+c+"){\n"+i+"}",l},h.chain=function(n){var t=h(n);return t._chain=!0,t};var E=function(n){return this._chain?h(n).chain():n};h.mixin=function(n){h.each(h.functions(n),function(t){var r=h[t]=n[t];h.prototype[t]=function(){var n=[this._wrapped];return i.apply(n,arguments),E.call(this,r.apply(h,n))}})},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=r[n];h.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],E.call(this,r)}}),h.each(["concat","join","slice"],function(n){var t=r[n];h.prototype[n]=function(){return E.call(this,t.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}).call(this); -//# sourceMappingURL=underscore-min.map \ No newline at end of file diff --git a/build/js-transpiled/node_modules/js-beautify/test/resources/underscore.js b/build/js-transpiled/node_modules/js-beautify/test/resources/underscore.js deleted file mode 100644 index a2534461..00000000 --- a/build/js-transpiled/node_modules/js-beautify/test/resources/underscore.js +++ /dev/null @@ -1,1439 +0,0 @@ -// Underscore.js 1.7.0 -// http://underscorejs.org -// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `exports` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var - push = ArrayProto.push, - slice = ArrayProto.slice, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.7.0'; - - // Internal function that returns an efficient (for current engines) version - // of the passed-in callback, to be repeatedly applied in other Underscore - // functions. - var optimizeCb = function(func, context, argCount) { - if (context === void 0) return func; - switch (argCount == null ? 3 : argCount) { - case 1: return function(value) { - return func.call(context, value); - }; - case 2: return function(value, other) { - return func.call(context, value, other); - }; - case 3: return function(value, index, collection) { - return func.call(context, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(context, accumulator, value, index, collection); - }; - } - return function() { - return func.apply(context, arguments); - }; - }; - - // A mostly-internal function to generate callbacks that can be applied - // to each element in a collection, returning the desired result — either - // identity, an arbitrary callback, a property matcher, or a property accessor. - var cb = function(value, context, argCount) { - if (value == null) return _.identity; - if (_.isFunction(value)) return optimizeCb(value, context, argCount); - if (_.isObject(value)) return _.matches(value); - return _.property(value); - }; - _.iteratee = function(value, context) { - return cb(value, context); - }; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles raw objects in addition to array-likes. Treats all - // sparse array-likes as if they were dense. - _.each = _.forEach = function(obj, iteratee, context) { - if (obj == null) return obj; - iteratee = optimizeCb(iteratee, context); - var i, length = obj.length; - if (length === +length) { - for (i = 0; i < length; i++) { - iteratee(obj[i], i, obj); - } - } else { - var keys = _.keys(obj); - for (i = 0, length = keys.length; i < length; i++) { - iteratee(obj[keys[i]], keys[i], obj); - } - } - return obj; - }; - - // Return the results of applying the iteratee to each element. - _.map = _.collect = function(obj, iteratee, context) { - if (obj == null) return []; - iteratee = cb(iteratee, context); - var keys = obj.length !== +obj.length && _.keys(obj), - length = (keys || obj).length, - results = Array(length), - currentKey; - for (var index = 0; index < length; index++) { - currentKey = keys ? keys[index] : index; - results[index] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - var reduceError = 'Reduce of empty array with no initial value'; - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. - _.reduce = _.foldl = _.inject = function(obj, iteratee, memo, context) { - if (obj == null) obj = []; - iteratee = optimizeCb(iteratee, context, 4); - var keys = obj.length !== +obj.length && _.keys(obj), - length = (keys || obj).length, - index = 0, currentKey; - if (arguments.length < 3) { - if (!length) throw new TypeError(reduceError); - memo = obj[keys ? keys[index++] : index++]; - } - for (; index < length; index++) { - currentKey = keys ? keys[index] : index; - memo = iteratee(memo, obj[currentKey], currentKey, obj); - } - return memo; - }; - - // The right-associative version of reduce, also known as `foldr`. - _.reduceRight = _.foldr = function(obj, iteratee, memo, context) { - if (obj == null) obj = []; - iteratee = optimizeCb(iteratee, context, 4); - var keys = obj.length !== + obj.length && _.keys(obj), - index = (keys || obj).length, - currentKey; - if (arguments.length < 3) { - if (!index) throw new TypeError(reduceError); - memo = obj[keys ? keys[--index] : --index]; - } - while (index--) { - currentKey = keys ? keys[index] : index; - memo = iteratee(memo, obj[currentKey], currentKey, obj); - } - return memo; - }; - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, predicate, context) { - var result; - predicate = cb(predicate, context); - _.some(obj, function(value, index, list) { - if (predicate(value, index, list)) { - result = value; - return true; - } - }); - return result; - }; - - // Return all the elements that pass a truth test. - // Aliased as `select`. - _.filter = _.select = function(obj, predicate, context) { - var results = []; - if (obj == null) return results; - predicate = cb(predicate, context); - _.each(obj, function(value, index, list) { - if (predicate(value, index, list)) results.push(value); - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, predicate, context) { - return _.filter(obj, _.negate(cb(predicate)), context); - }; - - // Determine whether all of the elements match a truth test. - // Aliased as `all`. - _.every = _.all = function(obj, predicate, context) { - if (obj == null) return true; - predicate = cb(predicate, context); - var keys = obj.length !== +obj.length && _.keys(obj), - length = (keys || obj).length, - index, currentKey; - for (index = 0; index < length; index++) { - currentKey = keys ? keys[index] : index; - if (!predicate(obj[currentKey], currentKey, obj)) return false; - } - return true; - }; - - // Determine if at least one element in the object matches a truth test. - // Aliased as `any`. - _.some = _.any = function(obj, predicate, context) { - if (obj == null) return false; - predicate = cb(predicate, context); - var keys = obj.length !== +obj.length && _.keys(obj), - length = (keys || obj).length, - index, currentKey; - for (index = 0; index < length; index++) { - currentKey = keys ? keys[index] : index; - if (predicate(obj[currentKey], currentKey, obj)) return true; - } - return false; - }; - - // Determine if the array or object contains a given value (using `===`). - // Aliased as `include`. - _.contains = _.include = function(obj, target) { - if (obj == null) return false; - if (obj.length !== +obj.length) obj = _.values(obj); - return _.indexOf(obj, target) >= 0; - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - return (isFunc ? method : value[method]).apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, _.property(key)); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs) { - return _.filter(obj, _.matches(attrs)); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.find(obj, _.matches(attrs)); - }; - - // Return the maximum element (or element-based computation). - _.max = function(obj, iteratee, context) { - var result = -Infinity, lastComputed = -Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = obj.length === +obj.length ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value > result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed > lastComputed || computed === -Infinity && result === -Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iteratee, context) { - var result = Infinity, lastComputed = Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = obj.length === +obj.length ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value < result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed < lastComputed || computed === Infinity && result === Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Shuffle a collection, using the modern version of the - // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). - _.shuffle = function(obj) { - var set = obj && obj.length === +obj.length ? obj : _.values(obj); - var length = set.length; - var shuffled = Array(length); - for (var index = 0, rand; index < length; index++) { - rand = _.random(0, index); - if (rand !== index) shuffled[index] = shuffled[rand]; - shuffled[rand] = set[index]; - } - return shuffled; - }; - - // Sample **n** random values from a collection. - // If **n** is not specified, returns a single random element. - // The internal `guard` argument allows it to work with `map`. - _.sample = function(obj, n, guard) { - if (n == null || guard) { - if (obj.length !== +obj.length) obj = _.values(obj); - return obj[_.random(obj.length - 1)]; - } - return _.shuffle(obj).slice(0, Math.max(0, n)); - }; - - // Sort the object's values by a criterion produced by an iteratee. - _.sortBy = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value: value, - index: index, - criteria: iteratee(value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index - right.index; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(behavior) { - return function(obj, iteratee, context) { - var result = {}; - iteratee = cb(iteratee, context); - _.each(obj, function(value, index) { - var key = iteratee(value, index, obj); - behavior(result, value, key); - }); - return result; - }; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = group(function(result, value, key) { - if (_.has(result, key)) result[key].push(value); else result[key] = [value]; - }); - - // Indexes the object's values by a criterion, similar to `groupBy`, but for - // when you know that your index values will be unique. - _.indexBy = group(function(result, value, key) { - result[key] = value; - }); - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = group(function(result, value, key) { - if (_.has(result, key)) result[key]++; else result[key] = 1; - }); - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iteratee, context) { - iteratee = cb(iteratee, context, 1); - var value = iteratee(obj); - var low = 0, high = array.length; - while (low < high) { - var mid = low + high >>> 1; - if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; - } - return low; - }; - - // Safely create a real, live array from anything iterable. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (obj.length === +obj.length) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return obj.length === +obj.length ? obj.length : _.keys(obj).length; - }; - - // Split a collection into two arrays: one whose elements all satisfy the given - // predicate, and one whose elements all do not satisfy the predicate. - _.partition = function(obj, predicate, context) { - predicate = cb(predicate, context); - var pass = [], fail = []; - _.each(obj, function(value, key, obj) { - (predicate(value, key, obj) ? pass : fail).push(value); - }); - return [pass, fail]; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[0]; - return _.initial(array, array.length - n); - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. The **guard** check allows it to work with - // `_.map`. - _.initial = function(array, n, guard) { - return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. The **guard** check allows it to work with `_.map`. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[array.length - 1]; - return _.rest(array, Math.max(0, array.length - n)); - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. The **guard** - // check allows it to work with `_.map`. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, n == null || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, strict, startIndex) { - var output = [], idx = 0, value; - for (var i = startIndex || 0, length = input && input.length; i < length; i++) { - value = input[i]; - if (value && value.length >= 0 && (_.isArray(value) || _.isArguments(value))) { - //flatten current level of array or arguments object - if (!shallow) value = flatten(value, shallow, strict); - var j = 0, len = value.length; - output.length += len; - while (j < len) { - output[idx++] = value[j++]; - } - } else if (!strict) { - output[idx++] = value; - } - } - return output; - }; - - // Flatten out an array, either recursively (by default), or just one level. - _.flatten = function(array, shallow) { - return flatten(array, shallow, false); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iteratee, context) { - if (array == null) return []; - if (!_.isBoolean(isSorted)) { - context = iteratee; - iteratee = isSorted; - isSorted = false; - } - if (iteratee != null) iteratee = cb(iteratee, context); - var result = []; - var seen = []; - for (var i = 0, length = array.length; i < length; i++) { - var value = array[i], - computed = iteratee ? iteratee(value, i, array) : value; - if (isSorted) { - if (!i || seen !== computed) result.push(value); - seen = computed; - } else if (iteratee) { - if (!_.contains(seen, computed)) { - seen.push(computed); - result.push(value); - } - } else if (!_.contains(result, value)) { - result.push(value); - } - } - return result; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(flatten(arguments, true, true)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - if (array == null) return []; - var result = []; - var argsLength = arguments.length; - for (var i = 0, length = array.length; i < length; i++) { - var item = array[i]; - if (_.contains(result, item)) continue; - for (var j = 1; j < argsLength; j++) { - if (!_.contains(arguments[j], item)) break; - } - if (j === argsLength) result.push(item); - } - return result; - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = flatten(arguments, true, true, 1); - return _.filter(array, function(value){ - return !_.contains(rest, value); - }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function(array) { - if (array == null) return []; - var length = _.max(arguments, 'length').length; - var results = Array(length); - while (length-- > 0) { - results[length] = _.pluck(arguments, length); - } - return results; - }; - - // Complement of _.zip. Unzip accepts an array of arrays and groups - // each array's elements on shared indices - _.unzip = function(array) { - return _.zip.apply(null, array); - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - if (list == null) return {}; - var result = {}; - for (var i = 0, length = list.length; i < length; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // Return the position of the first occurrence of an item in an array, - // or -1 if the item is not included in the array. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = function(array, item, isSorted) { - var i = 0, length = array && array.length; - if (typeof isSorted == 'number') { - i = isSorted < 0 ? Math.max(0, length + isSorted) : isSorted; - } else if (isSorted) { - i = _.sortedIndex(array, item); - return array[i] === item ? i : -1; - } - for (; i < length; i++) if (array[i] === item) return i; - return -1; - }; - - _.lastIndexOf = function(array, item, from) { - var idx = array ? array.length : 0; - if (typeof from == 'number') { - idx = from < 0 ? idx + from + 1 : Math.min(idx, from + 1); - } - while (--idx >= 0) if (array[idx] === item) return idx; - return -1; - }; - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (arguments.length <= 1) { - stop = start || 0; - start = 0; - } - step = step || 1; - - var length = Math.max(Math.ceil((stop - start) / step), 0); - var range = Array(length); - - for (var idx = 0; idx < length; idx++, start += step) { - range[idx] = start; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Reusable constructor function for prototype setting. - var Ctor = function(){}; - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - var args, bound; - if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); - args = slice.call(arguments, 2); - bound = function() { - if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments))); - Ctor.prototype = func.prototype; - var self = new Ctor; - Ctor.prototype = null; - var result = func.apply(self, args.concat(slice.call(arguments))); - if (_.isObject(result)) return result; - return self; - }; - return bound; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. _ acts - // as a placeholder, allowing any combination of arguments to be pre-filled. - _.partial = function(func) { - var boundArgs = slice.call(arguments, 1); - return function() { - var position = 0; - var args = boundArgs.slice(); - for (var i = 0, length = args.length; i < length; i++) { - if (args[i] === _) args[i] = arguments[position++]; - } - while (position < arguments.length) args.push(arguments[position++]); - return func.apply(this, args); - }; - }; - - // Bind a number of an object's methods to that object. Remaining arguments - // are the method names to be bound. Useful for ensuring that all callbacks - // defined on an object belong to it. - _.bindAll = function(obj) { - var i, length = arguments.length, key; - if (length <= 1) throw new Error('bindAll must be passed function names'); - for (i = 1; i < length; i++) { - key = arguments[i]; - obj[key] = _.bind(obj[key], obj); - } - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memoize = function(key) { - var cache = memoize.cache; - var address = '' + (hasher ? hasher.apply(this, arguments) : key); - if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); - return cache[address]; - }; - memoize.cache = {}; - return memoize; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ - return func.apply(null, args); - }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = function(func) { - return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); - }; - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. Normally, the throttled function will run - // as much as it can, without ever going more than once per `wait` duration; - // but if you'd like to disable the execution on the leading edge, pass - // `{leading: false}`. To disable execution on the trailing edge, ditto. - _.throttle = function(func, wait, options) { - var context, args, result; - var timeout = null; - var previous = 0; - if (!options) options = {}; - var later = function() { - previous = options.leading === false ? 0 : _.now(); - timeout = null; - result = func.apply(context, args); - if (!timeout) context = args = null; - }; - return function() { - var now = _.now(); - if (!previous && options.leading === false) previous = now; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0 || remaining > wait) { - if (timeout) { - clearTimeout(timeout); - timeout = null; - } - previous = now; - result = func.apply(context, args); - if (!timeout) context = args = null; - } else if (!timeout && options.trailing !== false) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, args, context, timestamp, result; - - var later = function() { - var last = _.now() - timestamp; - - if (last < wait && last >= 0) { - timeout = setTimeout(later, wait - last); - } else { - timeout = null; - if (!immediate) { - result = func.apply(context, args); - if (!timeout) context = args = null; - } - } - }; - - return function() { - context = this; - args = arguments; - timestamp = _.now(); - var callNow = immediate && !timeout; - if (!timeout) timeout = setTimeout(later, wait); - if (callNow) { - result = func.apply(context, args); - context = args = null; - } - - return result; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return _.partial(wrapper, func); - }; - - // Returns a negated version of the passed-in predicate. - _.negate = function(predicate) { - return function() { - return !predicate.apply(this, arguments); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var args = arguments; - var start = args.length - 1; - return function() { - var i = start; - var result = args[start].apply(this, arguments); - while (i--) result = args[i].call(this, result); - return result; - }; - }; - - // Returns a function that will only be executed after being called N times. - _.after = function(times, func) { - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Returns a function that will only be executed before being called N times. - _.before = function(times, func) { - var memo; - return function() { - if (--times > 0) { - memo = func.apply(this, arguments); - } else { - func = null; - } - return memo; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = _.partial(_.before, 2); - - // Object Functions - // ---------------- - - // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. - var hasEnumBug = !({toString: null}).propertyIsEnumerable('toString'); - var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', - 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; - - // Retrieve the names of an object's properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = function(obj) { - if (!_.isObject(obj)) return []; - if (nativeKeys) return nativeKeys(obj); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys.push(key); - - // Ahem, IE < 9. - if (hasEnumBug) { - var nonEnumIdx = nonEnumerableProps.length; - while (nonEnumIdx--) { - var prop = nonEnumerableProps[nonEnumIdx]; - if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); - } - } - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var values = Array(length); - for (var i = 0; i < length; i++) { - values[i] = obj[keys[i]]; - } - return values; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var pairs = Array(length); - for (var i = 0; i < length; i++) { - pairs[i] = [keys[i], obj[keys[i]]]; - } - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - var keys = _.keys(obj); - for (var i = 0, length = keys.length; i < length; i++) { - result[obj[keys[i]]] = keys[i]; - } - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = function(obj) { - if (!_.isObject(obj)) return obj; - var source, prop; - for (var i = 1, length = arguments.length; i < length; i++) { - source = arguments[i]; - for (prop in source) { - obj[prop] = source[prop]; - } - } - return obj; - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(obj, iteratee, context) { - var result = {}, key; - if (obj == null) return result; - if (_.isFunction(iteratee)) { - iteratee = optimizeCb(iteratee, context); - for (key in obj) { - var value = obj[key]; - if (iteratee(value, key, obj)) result[key] = value; - } - } else { - var keys = flatten(arguments, false, false, 1); - obj = new Object(obj); - for (var i = 0, length = keys.length; i < length; i++) { - key = keys[i]; - if (key in obj) result[key] = obj[key]; - } - } - return result; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj, iteratee, context) { - if (_.isFunction(iteratee)) { - iteratee = _.negate(iteratee); - } else { - var keys = _.map(flatten(arguments, false, false, 1), String); - iteratee = function(value, key) { - return !_.contains(keys, key); - }; - } - return _.pick(obj, iteratee, context); - }; - - // Fill in a given object with default properties. - _.defaults = function(obj) { - if (!_.isObject(obj)) return obj; - for (var i = 1, length = arguments.length; i < length; i++) { - var source = arguments[i]; - for (var prop in source) { - if (obj[prop] === void 0) obj[prop] = source[prop]; - } - } - return obj; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). - if (a === b) return a !== 0 || 1 / a === 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className !== toString.call(b)) return false; - switch (className) { - // Strings, numbers, regular expressions, dates, and booleans are compared by value. - case '[object RegExp]': - // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return '' + a === '' + b; - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. - // Object(NaN) is equivalent to NaN - if (+a !== +a) return +b !== +b; - // An `egal` comparison is performed for other numeric values. - return +a === 0 ? 1 / +a === 1 / b : +a === +b; - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a === +b; - } - - var areArrays = className === '[object Array]'; - if (!areArrays) { - if (typeof a != 'object' || typeof b != 'object') return false; - - // Objects with different constructors are not equivalent, but `Object`s or `Array`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && - _.isFunction(bCtor) && bCtor instanceof bCtor) - && ('constructor' in a && 'constructor' in b)) { - return false; - } - } - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] === a) return bStack[length] === b; - } - - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - var size, result; - // Recursively compare objects and arrays. - if (areArrays) { - // Compare array lengths to determine if a deep comparison is necessary. - size = a.length; - result = size === b.length; - if (result) { - // Deep compare the contents, ignoring non-numeric properties. - while (size--) { - if (!(result = eq(a[size], b[size], aStack, bStack))) break; - } - } - } else { - // Deep compare objects. - var keys = _.keys(a), key; - size = keys.length; - // Ensure that both objects contain the same number of properties before comparing deep equality. - result = _.keys(b).length === size; - if (result) { - while (size--) { - // Deep compare each member - key = keys[size]; - if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break; - } - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return result; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b, [], []); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (_.isArray(obj) || _.isString(obj) || _.isArguments(obj)) return obj.length === 0; - for (var key in obj) if (_.has(obj, key)) return false; - return true; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) === '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. - _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) === '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE < 9), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return _.has(obj, 'callee'); - }; - } - - // Optimize `isFunction` if appropriate. Work around an IE 11 bug. - if (typeof /./ !== 'function') { - _.isFunction = function(obj) { - return typeof obj == 'function' || false; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj !== +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return obj != null && hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iteratees. - _.identity = function(value) { - return value; - }; - - // Predicate-generating functions. Often useful outside of Underscore. - _.constant = function(value) { - return function() { - return value; - }; - }; - - _.noop = function(){}; - - _.property = function(key) { - return function(obj) { - return obj == null ? void 0 : obj[key]; - }; - }; - - // Returns a predicate for checking whether an object has a given set of `key:value` pairs. - _.matches = function(attrs) { - var pairs = _.pairs(attrs), length = pairs.length; - return function(obj) { - if (obj == null) return !length; - obj = new Object(obj); - for (var i = 0; i < length; i++) { - var pair = pairs[i], key = pair[0]; - if (pair[1] !== obj[key] || !(key in obj)) return false; - } - return true; - }; - }; - - // Run a function **n** times. - _.times = function(n, iteratee, context) { - var accum = Array(Math.max(0, n)); - iteratee = optimizeCb(iteratee, context, 1); - for (var i = 0; i < n; i++) accum[i] = iteratee(i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // A (possibly faster) way to get the current timestamp as an integer. - _.now = Date.now || function() { - return new Date().getTime(); - }; - - // List of HTML entities for escaping. - var escapeMap = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }; - var unescapeMap = _.invert(escapeMap); - - // Functions for escaping and unescaping strings to/from HTML interpolation. - var createEscaper = function(map) { - var escaper = function(match) { - return map[match]; - }; - // Regexes for identifying a key that needs to be escaped - var source = '(?:' + _.keys(map).join('|') + ')'; - var testRegexp = RegExp(source); - var replaceRegexp = RegExp(source, 'g'); - return function(string) { - string = string == null ? '' : '' + string; - return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; - }; - }; - _.escape = createEscaper(escapeMap); - _.unescape = createEscaper(unescapeMap); - - // If the value of the named `property` is a function then invoke it with the - // `object` as context; otherwise, return it. - _.result = function(object, property, fallback) { - var value = object == null ? void 0 : object[property]; - if (value === void 0) { - return fallback; - } - return _.isFunction(value) ? object[property]() : value; - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\u2028|\u2029/g; - - var escapeChar = function(match) { - return '\\' + escapes[match]; - }; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - // NB: `oldSettings` only exists for backwards compatibility. - _.template = function(text, settings, oldSettings) { - if (!settings && oldSettings) settings = oldSettings; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset).replace(escaper, escapeChar); - index = offset + match.length; - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } else if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } else if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - - // Adobe VMs need the match returned to produce the correct offest. - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + 'return __p;\n'; - - try { - var render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled source as a convenience for precompilation. - var argument = settings.variable || 'obj'; - template.source = 'function(' + argument + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function. Start chaining a wrapped Underscore object. - _.chain = function(obj) { - var instance = _(obj); - instance._chain = true; - return instance; - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(instance, obj) { - return instance._chain ? _(obj).chain() : obj; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - _.each(_.functions(obj), function(name) { - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result(this, func.apply(_, args)); - }; - }); - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; - return result(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - _.each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result(this, method.apply(this._wrapped, arguments)); - }; - }); - - // Extracts the result from a wrapped and chained object. - _.prototype.value = function() { - return this._wrapped; - }; - - // AMD registration happens at the end for compatibility with AMD loaders - // that may not enforce next-turn semantics on modules. Even though general - // practice for AMD registration is to be anonymous, underscore registers - // as a named module because, like jQuery, it is a base library that is - // popular enough to be bundled in a third party lib, but not be part of - // an AMD load request. Those cases could generate an error when an - // anonymous define() is called outside of a loader request. - if (typeof define === 'function' && define.amd) { - define('underscore', [], function() { - return _; - }); - } -}.call(this)); diff --git a/build/js-transpiled/node_modules/js-beautify/tools/build.sh b/build/js-transpiled/node_modules/js-beautify/tools/build.sh deleted file mode 100755 index 523eabe5..00000000 --- a/build/js-transpiled/node_modules/js-beautify/tools/build.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/env bash - -REL_SCRIPT_DIR="`dirname \"$0\"`" -SCRIPT_DIR="`( cd \"$REL_SCRIPT_DIR\" && pwd )`" -PROJECT_DIR="`( cd \"$SCRIPT_DIR/..\" && pwd )`" - -build_help() -{ - echo "build.sh " - echo " full - build and test of all implementations" - echo " all - build of both implementations" - echo " js - build of javascript" - echo " py - build of python" - echo " alltest - test both implementations, js and python" - echo " pytest - test python implementation" - echo " jstest - test javascript implementation" -} - -build_ci() -{ - build_full - build_git_status -} - -build_full() -{ - build_all - build_alltest -} - -build_all() -{ - build_py - build_js -} - -build_py() -{ - echo Building python module... - pip install -e ./python || exit 1 -} - -build_js() -{ - echo Building javascript... - npm install || exit 1 - generate_tests - # jshint - $PROJECT_DIR/node_modules/.bin/jshint 'js' 'test' || exit 1 - - # beautify test and data - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/test/amd-beautify-tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/test/node-beautify-html-perf-tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/test/node-beautify-perf-tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/test/node-beautify-tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/test/sanitytest.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/test/data/css/tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/test/data/html/tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/test/data/javascript/inputlib.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/test/data/javascript/tests.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/test/generate-tests.js || exit 1 - - # beautify product code - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/unpackers/javascriptobfuscator_unpacker.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/unpackers/myobfuscate_unpacker.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/unpackers/p_a_c_k_e_r_unpacker.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/unpackers/urlencode_unpacker.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/beautify-css.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/beautify-html.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/beautify.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/lib/cli.js || exit 1 - $PROJECT_DIR/js/bin/js-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r $PROJECT_DIR/js/index.js || exit 1 - - - # html not ready yet - # $PROJECT_DIR/js/bin/html-beautify.js --config $PROJECT_DIR/jsbeautifyrc -r index.html - - # jshint again to make sure things haven't changed - $PROJECT_DIR/node_modules/.bin/jshint 'js' 'test' || exit 1 -} - -generate_tests() -{ - node test/generate-tests.js || exit 1 -} - -build_alltest() -{ - build_jstest - build_pytest -} - -build_pytest() -{ - echo Testing python implementation... - generate_tests - cd python - python --version - ./jsbeautifier/tests/shell-smoke-test.sh || exit 1 -} - -build_jstest() -{ - echo Testing javascript implementation... - generate_tests - node --version - ./js/test/shell-smoke-test.sh || exit 1 -} - -build_git_status() -{ - $SCRIPT_DIR/git-status-clear.sh || exit 1 -} - -build_update-codemirror() -{ - rm -rf node_modules/codemirror - npm install codemirror - rm -rf ./web/third-party/codemirror/* - cp ./node_modules/codemirror/LICENSE ./web/third-party/codemirror/ - cp ./node_modules/codemirror/README.md ./web/third-party/codemirror/ - cp -r ./node_modules/codemirror/lib ./web/third-party/codemirror/ - mkdir -p ./web/third-party/codemirror/mode - cp -r ./node_modules/codemirror/mode/javascript ./web/third-party/codemirror/mode/ - git add -Av ./web/third-party/codemirror -} - -main() { - cd $PROJECT_DIR - local ACTION - ACTION=build_${1:-full} - if [ -n "$(type -t $ACTION)" ] && [ "$(type -t $ACTION)" = "function" ]; then - $ACTION - else - build_help - fi - -} - -(main $*) diff --git a/build/js-transpiled/node_modules/js-beautify/tools/generate-changelog.sh b/build/js-transpiled/node_modules/js-beautify/tools/generate-changelog.sh deleted file mode 100755 index bf1ca190..00000000 --- a/build/js-transpiled/node_modules/js-beautify/tools/generate-changelog.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -REL_SCRIPT_DIR="`dirname \"$0\"`" -SCRIPT_DIR="`( cd \"$REL_SCRIPT_DIR\" && pwd )`" - -# based on https://gist.github.com/joelittlejohn/5937573 -# - -main() -{ - cd $SCRIPT_DIR/.. - - if [ "$#" -ne 1 ]; then - echo "Usage: ./generate-changelog.sh user/repo" - exit 1 - fi - - IFS=$'\n' - echo "# Changelog" > CHANGELOG.md - - for m in $(curl -s "https://api.github.com/repos/$1/milestones?state=closed" | jq -c '.[] | [.title, .number, .description]' | gsort -r -V); do - mid=$(echo $m | sed 's/\[".*",\(.*\),".*"\]/\1/') - title=$(echo $m | sed 's/\["\(.*\)",.*,".*"\]/\1/') - - echo "Processing milestone: $title..." - echo $m | sed 's/\["\(.*\)",.*\]/## \1/' >> CHANGELOG.md - echo "" >> CHANGELOG.md - echo '### Description' >> CHANGELOG.md - echo $m | sed 's/\[".*",.*,"\(.*\)"\]/\1/' | sed -e 's/\\"/"/g' | sed -e 's/\\r\\n/\\n/g' | sed -e 's/\\n/\'$'\n/g' >> CHANGELOG.md - echo "" >> CHANGELOG.md - echo '### Closed Issues' >> CHANGELOG.md - for i in $(curl -s "https://api.github.com/repos/$1/issues?milestone=$mid&state=closed" | jq -c '.[] | [.html_url, .number, .title]'); do - echo $i | sed 's/\["\(.*\)",\(.*\),\"\(.*\)\"\]/* \3 ([#\2](\1))/' | sed 's/\\"/"/g' >> CHANGELOG.md - done - echo "" >> CHANGELOG.md - echo "" >> CHANGELOG.md - done -} - -(main $*) diff --git a/build/js-transpiled/node_modules/js-beautify/tools/git-status-clear.sh b/build/js-transpiled/node_modules/js-beautify/tools/git-status-clear.sh deleted file mode 100755 index e231a95e..00000000 --- a/build/js-transpiled/node_modules/js-beautify/tools/git-status-clear.sh +++ /dev/null @@ -1,18 +0,0 @@ -echo "Post-build git status check..." -echo "Ensuring no changes visible to git have been made to '$*' ..." - -git status $* | egrep -q 'nothing to commit.*working (directory|tree) clean' || { - # we should find nothing to commit. If we don't, build has failed. - echo "ERROR: Post-build git status check - FAILED." - echo "Git status reported changes to non-git-ignore'd files." - echo "TO REPRO: Run 'git status $*'. The use git gui or git diff to see what was changed during the build." - echo "TO FIX: Amend your commit and rebuild. Repeat until git status reports no changes both before and after the build." - echo "OUTPUT FOR 'git status $*':" - git status $* - echo "." - echo "OUTPUT FOR 'git diff $*':" - git diff $* | cat -t -e - exit 1 -} -echo "Post-build git status check - Succeeded." -exit 0 diff --git a/build/js-transpiled/node_modules/js-beautify/tools/release-all.sh b/build/js-transpiled/node_modules/js-beautify/tools/release-all.sh deleted file mode 100755 index dd255cc7..00000000 --- a/build/js-transpiled/node_modules/js-beautify/tools/release-all.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash - -REL_SCRIPT_DIR="`dirname \"$0\"`" -SCRIPT_DIR="`( cd \"$REL_SCRIPT_DIR\" && pwd )`" - -case "$OSTYPE" in - darwin*) PLATFORM="OSX" ;; - linux*) PLATFORM="LINUX" ;; - bsd*) PLATFORM="BSD" ;; - *) PLATFORM="UNKNOWN" ;; -esac - -generate_changelog() -{ - $SCRIPT_DIR/generate-changelog.sh beautify-web/js-beautify || exit 1 - git commit -am "Update Changelog for $NEW_VERSION" -} - -release_python() -{ - git clean -xfd || exit 1 - echo "__version__ = '$NEW_VERSION'" > python/jsbeautifier/__version__.py - git commit -am "Python $NEW_VERSION" - cd python - python setup.py register -r pypi - python setup.py sdist upload -r pypi - git push -} - -release_node() -{ - git clean -xfd || exit 1 - npm version $NEW_VERSION - npm publish . - git push - git push --tags -} - -release_web() -{ - local ORIGINAL_BRANCH - ORIGINAL_BRANCH=$(git branch | grep '[*] .*' | awk '{print $2}') - git clean -xfd || exit 1 - git fetch || exit 1 - git checkout -B gh-pages origin/gh-pages || exit 1 - git merge origin/master && git push || exit 1 - git checkout $ORIGINAL_BRANCH -} - -sedi() { - if [[ "$PLATFORM" == "OSX" || "$PLATFORM" == "BSD" ]]; then - sed -i "" $@ - elif [ "$PLATFORM" == "LINUX" ]; then - sed -i $@ - else - exit 1 - fi -} - -update_readme_versions() -{ - git clean -xfd || exit 1 - sedi -E 's@(cdn.rawgit.+beautify/v)[^/]+@\1'$NEW_VERSION'@' README.md - sedi -E 's@(cdnjs.cloudflare.+beautify/)[^/]+@\1'$NEW_VERSION'@' README.md - sedi -E 's/\((README\.md:.js-beautify@).+\)/(\1'$NEW_VERSION')/' README.md - git add README.md - git commit -m "Bump version numbers in README.md" -} - -main() -{ - cd $SCRIPT_DIR/.. - - local NEW_VERSION=$1 - NEW_VERSION=$1 - - git checkout master - - generate_changelog - update_readme_versions - (release_python) - release_node - release_web -} - -(main $*) diff --git a/build/js-transpiled/node_modules/json5/CHANGELOG.md b/build/js-transpiled/node_modules/json5/CHANGELOG.md index 6db820cb..b27fd07f 100644 --- a/build/js-transpiled/node_modules/json5/CHANGELOG.md +++ b/build/js-transpiled/node_modules/json5/CHANGELOG.md @@ -1,7 +1,138 @@ +### v2.1.0 [[code][c2.1.0], [diff][d2.1.0]] + +[c2.1.0]: https://github.com/json5/json5/tree/v2.1.0 +[d2.1.0]: https://github.com/json5/json5/compare/v2.0.1...v2.1.0 + +- New: The `index.mjs` and `index.min.mjs` browser builds in the `dist` + directory support ES6 modules. ([#187]) + +### v2.0.1 [[code][c2.0.1], [diff][d2.0.1]] + +[c2.0.1]: https://github.com/json5/json5/tree/v2.0.1 +[d2.0.1]: https://github.com/json5/json5/compare/v2.0.0...v2.0.1 + +- Fix: The browser builds in the `dist` directory support ES5. ([#182]) + +### v2.0.0 [[code][c2.0.0], [diff][d2.0.0]] + +[c2.0.0]: https://github.com/json5/json5/tree/v2.0.0 +[d2.0.0]: https://github.com/json5/json5/compare/v1.0.1...v2.0.0 + +- **Major**: JSON5 officially supports Node.js v6 and later. Support for Node.js + v4 has been dropped. Since Node.js v6 supports ES5 features, the code has been + rewritten in native ES5, and the dependence on Babel has been eliminated. + +- New: Support for Unicode 10 has been added. + +- New: The test framework has been migrated from Mocha to Tap. + +- New: The browser build at `dist/index.js` is no longer minified by default. A + minified version is available at `dist/index.min.js`. ([#181]) + +- Fix: The warning has been made clearer when line and paragraph separators are + used in strings. + +- Fix: `package.json5` has been restored, and it is automatically generated and + committed when the version is bumped. A new `build-package` NPM script has + been added to facilitate this. + +### v1.0.1 [[code][c1.0.1], [diff][d1.0.1]] + +[c1.0.1]: https://github.com/json5/json5/tree/v1.0.1 +[d1.0.1]: https://github.com/json5/json5/compare/v1.0.0...v1.0.1 + +This release includes a bug fix and minor change. + +- Fix: `parse` throws on unclosed objects and arrays. + +- New: `package.json5` has been removed until an easier way to keep it in sync + with `package.json` is found. + + +### v1.0.0 [[code][c1.0.0], [diff][d1.0.0]] + +[c1.0.0]: https://github.com/json5/json5/tree/v1.0.0 +[d1.0.0]: https://github.com/json5/json5/compare/v0.5.1...v1.0.0 + +This release includes major internal changes and public API enhancements. + +- **Major**: JSON5 officially supports Node.js v4 and later. Support for Node.js + v0.10 and v0.12 have been dropped. + +- New: Unicode property names and Unicode escapes in property names are + supported. ([#1]) + +- New: `stringify` outputs trailing commas in objects and arrays when a `space` + option is provided. ([#66]) + +- New: JSON5 allows line and paragraph separator characters (U+2028 and U+2029) + in strings in order to be compatible with JSON. However, ES5 does not allow + these characters in strings, so JSON5 gives a warning when they are parsed and + escapes them when they are stringified. ([#70]) + +- New: `stringify` accepts an options object as its second argument. The + supported options are `replacer`, `space`, and a new `quote` option that + specifies the quote character used in strings. ([#71]) + +- New: The CLI supports STDIN and STDOUT and adds `--out-file`, `--space`, and + `--validate` options. See `json5 --help` for more information. ([#72], [#84], + and [#108]) + +- New: In addition to the white space characters space `\t`, `\v`, `\f`, `\n`, + `\r`, and `\xA0`, the additional white space characters `\u2028`, `\u2029`, + and all other characters in the Space Separator Unicode category are allowed. + +- New: In addition to the character escapes `\'`, `\"`, `\\`, `\b`, `\f`, `\n`, + `\r`, and `\t`, the additional character escapes `\v` and `\0`, hexadecimal + escapes like `\x0F`, and unnecessary escapes like `\a` are allowed in string + values and string property names. + +- New: `stringify` outputs strings with single quotes by default but + intelligently uses double quotes if there are more single quotes than double + quotes inside the string. (i.e. `stringify('Stay here.')` outputs + `'Stay here.'` while `stringify('Let\'s go.')` outputs `"Let's go."`) + +- New: When a character is not allowed in a string, `stringify` outputs a + character escape like `\t` when available, a hexadecimal escape like `\x0F` + when the Unicode code point is less than 256, or a Unicode character escape + like `\u01FF`, in that order. + +- New: `stringify` checks for a `toJSON5` method on objects and, if it exists, + stringifies its return value instead of the object. `toJSON5` overrides + `toJSON` if they both exist. + +- New: To `require` or `import` JSON5 files, use `require('json5/lib/register')` + or `import 'json5/lib/register'`. Previous versions used `json5/lib/require`, + which still exists for backward compatibility but is deprecated and will give + a warning. + +- New: To use JSON5 in browsers, use the file at `dist/index.js` or + `https://unpkg.com/json5@^1.0.0`. + +- Fix: `stringify` properly outputs `Infinity` and `NaN`. ([#67]) + +- Fix: `isWord` no longer becomes a property of `JSON5` after calling + `stringify`. ([#68] and [#89]) + +- Fix: `stringify` no longer throws when an object does not have a `prototype`. + ([#154]) + +- Fix: `stringify` properly handles the `key` argument of `toJSON(key)` methods. + `toJSON5(key)` follows this pattern. + +- Fix: `stringify` accepts `Number` and `String` objects as its `space` + argument. + +- Fix: In addition to a function, `stringify` also accepts an array of keys to + include in the output as its `replacer` argument. Numbers, `Number` objects, + and `String` objects will be converted to a string if they are given as array + values. + + ### v0.5.1 [[code][c0.5.1], [diff][d0.5.1]] -[c0.5.1]: https://github.com/aseemk/json5/tree/v0.5.1 -[d0.5.1]: https://github.com/aseemk/json5/compare/v0.5.0...v0.5.1 +[c0.5.1]: https://github.com/json5/json5/tree/v0.5.1 +[d0.5.1]: https://github.com/json5/json5/compare/v0.5.0...v0.5.1 This release includes a minor fix for indentations when stringifying empty arrays. @@ -11,8 +142,8 @@ arrays. ### v0.5.0 [[code][c0.5.0], [diff][d0.5.0]] -[c0.5.0]: https://github.com/aseemk/json5/tree/v0.5.0 -[d0.5.0]: https://github.com/aseemk/json5/compare/v0.4.0...v0.5.0 +[c0.5.0]: https://github.com/json5/json5/tree/v0.5.0 +[d0.5.0]: https://github.com/json5/json5/compare/v0.4.0...v0.5.0 This release includes major internal changes and public API enhancements. @@ -28,8 +159,8 @@ This release includes major internal changes and public API enhancements. ### v0.4.0 [[code][c0.4.0], [diff][d0.4.0]] -[c0.4.0]: https://github.com/aseemk/json5/tree/v0.4.0 -[d0.4.0]: https://github.com/aseemk/json5/compare/v0.2.0...v0.4.0 +[c0.4.0]: https://github.com/json5/json5/tree/v0.4.0 +[d0.4.0]: https://github.com/json5/json5/compare/v0.2.0...v0.4.0 Note that v0.3.0 was tagged, but never published to npm, so this v0.4.0 changelog entry includes v0.3.0 features. @@ -61,8 +192,8 @@ This is a massive release that adds `stringify` support, among other things. ### v0.2.0 [[code][c0.2.0], [diff][d0.2.0]] -[c0.2.0]: https://github.com/aseemk/json5/tree/v0.2.0 -[d0.2.0]: https://github.com/aseemk/json5/compare/v0.1.0...v0.2.0 +[c0.2.0]: https://github.com/json5/json5/tree/v0.2.0 +[d0.2.0]: https://github.com/json5/json5/compare/v0.1.0...v0.2.0 This release fixes some bugs and adds some more utility features to help you express data more easily: @@ -90,8 +221,8 @@ express data more easily: ### v0.1.0 [[code][c0.1.0], [diff][d0.1.0]] -[c0.1.0]: https://github.com/aseemk/json5/tree/v0.1.0 -[d0.1.0]: https://github.com/aseemk/json5/compare/v0.0.1...v0.1.0 +[c0.1.0]: https://github.com/json5/json5/tree/v0.1.0 +[d0.1.0]: https://github.com/json5/json5/compare/v0.0.1...v0.1.0 This release tightens JSON5 support and adds helpful utility features: @@ -122,8 +253,8 @@ This release tightens JSON5 support and adds helpful utility features: ### v0.0.1 [[code][c0.0.1], [diff][d0.0.1]] -[c0.0.1]: https://github.com/aseemk/json5/tree/v0.0.1 -[d0.0.1]: https://github.com/aseemk/json5/compare/v0.0.0...v0.0.1 +[c0.0.1]: https://github.com/json5/json5/tree/v0.0.1 +[d0.0.1]: https://github.com/json5/json5/compare/v0.0.0...v0.0.1 This was the first implementation of this JSON5 parser. @@ -139,7 +270,7 @@ This was the first implementation of this JSON5 parser. - Support comments, both inline and block. -### v0.0.0 [[code](https://github.com/aseemk/json5/tree/v0.0.0)] +### v0.0.0 [[code](https://github.com/json5/json5/tree/v0.0.0)] Let's consider this to be Douglas Crockford's original [json_parse.js] — a parser for the regular JSON format. @@ -156,14 +287,29 @@ parser for the regular JSON format. [@jordanbtucker]: https://github.com/jordanbtucker [@amb26]: https://github.com/amb26 -[#16]: https://github.com/aseemk/json5/issues/16 -[#24]: https://github.com/aseemk/json5/issues/24 -[#30]: https://github.com/aseemk/json5/issues/30 -[#32]: https://github.com/aseemk/json5/issues/32 -[#36]: https://github.com/aseemk/json5/issues/36 -[#57]: https://github.com/aseemk/json5/issues/57 -[#58]: https://github.com/aseemk/json5/pull/58 -[#60]: https://github.com/aseemk/json5/pull/60 -[#63]: https://github.com/aseemk/json5/pull/63 -[#97]: https://github.com/aseemk/json5/pull/97 -[#101]: https://github.com/aseemk/json5/pull/101 +[#1]: https://github.com/json5/json5/issues/1 +[#16]: https://github.com/json5/json5/issues/16 +[#24]: https://github.com/json5/json5/issues/24 +[#30]: https://github.com/json5/json5/issues/30 +[#32]: https://github.com/json5/json5/issues/32 +[#36]: https://github.com/json5/json5/issues/36 +[#57]: https://github.com/json5/json5/issues/57 +[#58]: https://github.com/json5/json5/pull/58 +[#60]: https://github.com/json5/json5/pull/60 +[#63]: https://github.com/json5/json5/pull/63 +[#66]: https://github.com/json5/json5/issues/66 +[#67]: https://github.com/json5/json5/issues/67 +[#68]: https://github.com/json5/json5/issues/68 +[#70]: https://github.com/json5/json5/issues/70 +[#71]: https://github.com/json5/json5/issues/71 +[#72]: https://github.com/json5/json5/issues/72 +[#84]: https://github.com/json5/json5/pull/84 +[#89]: https://github.com/json5/json5/pull/89 +[#97]: https://github.com/json5/json5/pull/97 +[#101]: https://github.com/json5/json5/pull/101 +[#108]: https://github.com/json5/json5/pull/108 +[#134]: https://github.com/json5/json5/pull/134 +[#154]: https://github.com/json5/json5/issues/154 +[#181]: https://github.com/json5/json5/issues/181 +[#182]: https://github.com/json5/json5/issues/182 +[#187]: https://github.com/json5/json5/issues/187 diff --git a/build/js-transpiled/node_modules/json5/LICENSE.md b/build/js-transpiled/node_modules/json5/LICENSE.md index 861df26e..2171aca5 100644 --- a/build/js-transpiled/node_modules/json5/LICENSE.md +++ b/build/js-transpiled/node_modules/json5/LICENSE.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2012-2016 Aseem Kishore, and [others](https://github.com/aseemk/json5/contributors). +Copyright (c) 2012-2018 Aseem Kishore, and [others]. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -19,3 +19,5 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +[others]: https://github.com/json5/json5/contributors diff --git a/build/js-transpiled/node_modules/json5/README.md b/build/js-transpiled/node_modules/json5/README.md index a4285148..9064b12b 100644 --- a/build/js-transpiled/node_modules/json5/README.md +++ b/build/js-transpiled/node_modules/json5/README.md @@ -1,286 +1,234 @@ -# JSON5 – Modern JSON +# JSON5 – JSON for Humans -[![Build Status](https://travis-ci.org/json5/json5.svg)](https://travis-ci.org/json5/json5) +[![Build Status](https://travis-ci.org/json5/json5.svg)][Build Status] +[![Coverage +Status](https://coveralls.io/repos/github/json5/json5/badge.svg)][Coverage +Status] -JSON is an excellent data format, but we think it can be better. +The JSON5 Data Interchange Format (JSON5) is a superset of [JSON] that aims to +alleviate some of the limitations of JSON by expanding its syntax to include +some productions from [ECMAScript 5.1]. -**JSON5 is a proposed extension to JSON** that aims to make it easier for -*humans to write and maintain* by hand. It does this by adding some minimal -syntax features directly from ECMAScript 5. +This JavaScript library is the official reference implementation for JSON5 +parsing and serialization libraries. -JSON5 remains a **strict subset of JavaScript**, adds **no new data types**, -and **works with all existing JSON content**. +[Build Status]: https://travis-ci.org/json5/json5 -JSON5 is *not* an official successor to JSON, and JSON5 content may *not* -work with existing JSON parsers. For this reason, JSON5 files use a new .json5 -extension. *(TODO: new MIME type needed too.)* +[Coverage Status]: https://coveralls.io/github/json5/json5 -The code here is a **reference JavaScript implementation** for both Node.js -and all browsers. It’s based directly off of Douglas Crockford’s own [JSON -implementation][json_parse.js], and it’s both robust and secure. +[JSON]: https://tools.ietf.org/html/rfc7159 +[ECMAScript 5.1]: https://www.ecma-international.org/ecma-262/5.1/ -## Why - -JSON isn’t the friendliest to *write*. Keys need to be quoted, objects and -arrays can’t have trailing commas, and comments aren’t allowed — even though -none of these are the case with regular JavaScript today. - -That was fine when JSON’s goal was to be a great data format, but JSON’s usage -has expanded beyond *machines*. JSON is now used for writing [configs][ex1], -[manifests][ex2], even [tests][ex3] — all by *humans*. - -[ex1]: http://plovr.com/docs.html -[ex2]: https://www.npmjs.org/doc/files/package.json.html -[ex3]: http://code.google.com/p/fuzztester/wiki/JSONFileFormat - -There are other formats that are human-friendlier, like YAML, but changing -from JSON to a completely different format is undesirable in many cases. -JSON5’s aim is to remain close to JSON and JavaScript. - - -## Features - -The following is the exact list of additions to JSON’s syntax introduced by -JSON5. **All of these are optional**, and **all of these come from ES5**. +## Summary of Features +The following ECMAScript 5.1 features, which are not supported in JSON, have +been extended to JSON5. ### Objects - -- Object keys can be unquoted if they’re valid [identifiers][mdn_variables]. - Yes, even reserved keywords (like `default`) are valid unquoted keys in ES5 - [[§11.1.5](http://es5.github.com/#x11.1.5), [§7.6](http://es5.github.com/#x7.6)]. - ([More info](https://mathiasbynens.be/notes/javascript-identifiers)) - - *(TODO: Unicode characters and escape sequences aren’t yet supported in this - implementation.)* - -- Object keys can also be single-quoted. - -- Objects can have trailing commas. - -[mdn_variables]: https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Core_Language_Features#Variables +- Object keys may be an ECMAScript 5.1 _[IdentifierName]_. +- Objects may have a single trailing comma. ### Arrays - -- Arrays can have trailing commas. +- Arrays may have a single trailing comma. ### Strings - -- Strings can be single-quoted. - -- Strings can be split across multiple lines; just prefix each newline with a - backslash. [ES5 [§7.8.4](http://es5.github.com/#x7.8.4)] +- Strings may be single quoted. +- Strings may span multiple lines by escaping new line characters. +- Strings may include character escapes. ### Numbers - -- Numbers can be hexadecimal (base 16). - -- Numbers can begin or end with a (leading or trailing) decimal point. - -- Numbers can include `Infinity`, `-Infinity`, `NaN`, and `-NaN`. - -- Numbers can begin with an explicit plus sign. +- Numbers may be hexadecimal. +- Numbers may have a leading or trailing decimal point. +- Numbers may be [IEEE 754] positive infinity, negative infinity, and NaN. +- Numbers may begin with an explicit plus sign. ### Comments +- Single and multi-line comments are allowed. -- Both inline (single-line) and block (multi-line) comments are allowed. - +### White Space +- Additional white space characters are allowed. -## Example +[IdentifierName]: https://www.ecma-international.org/ecma-262/5.1/#sec-7.6 -The following is a contrived example, but it illustrates most of the features: +[IEEE 754]: http://ieeexplore.ieee.org/servlet/opac?punumber=4610933 +## Short Example ```js { - foo: 'bar', - while: true, - - this: 'is a \ -multi-line string', - - // this is an inline comment - here: 'is another', // inline comment - - /* this is a block comment - that continues on another line */ - - hex: 0xDEADbeef, - half: .5, - delta: +10, - to: Infinity, // and beyond! - - finally: 'a trailing comma', - oh: [ - "we shouldn't forget", - 'arrays can have', - 'trailing commas too', - ], + // comments + unquoted: 'and you can quote me on that', + singleQuotes: 'I can use "double quotes" here', + lineBreaks: "Look, Mom! \ +No \\n's!", + hexadecimal: 0xdecaf, + leadingDecimalPoint: .8675309, andTrailing: 8675309., + positiveSign: +1, + trailingComma: 'in objects', andIn: ['arrays',], + "backwardsCompatible": "with JSON", } ``` -This implementation’s own [package.json5](package.json5) is more realistic: - -```js -// This file is written in JSON5 syntax, naturally, but npm needs a regular -// JSON file, so compile via `npm run build`. Be sure to keep both in sync! - -{ - name: 'json5', - version: '0.5.0', - description: 'JSON for the ES5 era.', - keywords: ['json', 'es5'], - author: 'Aseem Kishore ', - contributors: [ - // TODO: Should we remove this section in favor of GitHub's list? - // https://github.com/aseemk/json5/contributors - 'Max Nanasy ', - 'Andrew Eisenberg ', - 'Jordan Tucker ', - ], - main: 'lib/json5.js', - bin: 'lib/cli.js', - files: ["lib/"], - dependencies: {}, - devDependencies: { - gulp: "^3.9.1", - 'gulp-jshint': "^2.0.0", - jshint: "^2.9.1", - 'jshint-stylish': "^2.1.0", - mocha: "^2.4.5" - }, - scripts: { - build: 'node ./lib/cli.js -c package.json5', - test: 'mocha --ui exports --reporter spec', - // TODO: Would it be better to define these in a mocha.opts file? - }, - homepage: 'http://json5.org/', - license: 'MIT', - repository: { - type: 'git', - url: 'https://github.com/aseemk/json5.git', - }, -} -``` - - -## Community - -Join the [Google Group](http://groups.google.com/group/json5) if you’re -interested in JSON5 news, updates, and general discussion. -Don’t worry, it’s very low-traffic. - -The [GitHub wiki](https://github.com/aseemk/json5/wiki) is a good place to track -JSON5 support and usage. Contribute freely there! - -[GitHub Issues](https://github.com/aseemk/json5/issues) is the place to -formally propose feature requests and report bugs. Questions and general -feedback are better directed at the Google Group. - - -## Usage - -This JavaScript implementation of JSON5 simply provides a `JSON5` object just -like the native ES5 `JSON` object. - -To use from Node: +## Specification +For a detailed explanation of the JSON5 format, please read the [official +specification](https://json5.github.io/json5-spec/). +## Installation +### Node.js ```sh npm install json5 ``` ```js -var JSON5 = require('json5'); +const JSON5 = require('json5') ``` -To use in the browser (adds the `JSON5` object to the global namespace): - +### Browsers ```html - + ``` -Then in both cases, you can simply replace native `JSON` calls with `JSON5`: +This will create a global `JSON5` variable. + +## API +The JSON5 API is compatible with the [JSON API]. + +[JSON API]: +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON + +### JSON5.parse() +Parses a JSON5 string, constructing the JavaScript value or object described by +the string. An optional reviver function can be provided to perform a +transformation on the resulting object before it is returned. + +#### Syntax + JSON5.parse(text[, reviver]) + +#### Parameters +- `text`: The string to parse as JSON5. +- `reviver`: If a function, this prescribes how the value originally produced by + parsing is transformed, before being returned. + +#### Return value +The object corresponding to the given JSON5 text. + +### JSON5.stringify() +Converts a JavaScript value to a JSON5 string, optionally replacing values if a +replacer function is specified, or optionally including only the specified +properties if a replacer array is specified. + +#### Syntax + JSON5.stringify(value[, replacer[, space]]) + JSON5.stringify(value[, options]) + +#### Parameters +- `value`: The value to convert to a JSON5 string. +- `replacer`: A function that alters the behavior of the stringification + process, or an array of String and Number objects that serve as a whitelist + for selecting/filtering the properties of the value object to be included in + the JSON5 string. If this value is null or not provided, all properties of the + object are included in the resulting JSON5 string. +- `space`: A String or Number object that's used to insert white space into the + output JSON5 string for readability purposes. If this is a Number, it + indicates the number of space characters to use as white space; this number is + capped at 10 (if it is greater, the value is just 10). Values less than 1 + indicate that no space should be used. If this is a String, the string (or the + first 10 characters of the string, if it's longer than that) is used as white + space. If this parameter is not provided (or is null), no white space is used. + If white space is used, trailing commas will be used in objects and arrays. +- `options`: An object with the following properties: + - `replacer`: Same as the `replacer` parameter. + - `space`: Same as the `space` parameter. + - `quote`: A String representing the quote character to use when serializing + strings. + +#### Return value +A JSON5 string representing the value. + +### Node.js `require()` JSON5 files +When using Node.js, you can `require()` JSON5 files by adding the following +statement. ```js -var obj = JSON5.parse('{unquoted:"key",trailing:"comma",}'); -var str = JSON5.stringify(obj); +require('json5/lib/register') ``` -`JSON5.parse` supports all of the JSON5 features listed above (*TODO: except -Unicode*), as well as the native [`reviver` argument][json-parse]. - -[json-parse]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse - -`JSON5.stringify` mainly avoids quoting keys where possible, but we hope to -keep expanding it in the future (e.g. to also output trailing commas). -It supports the native [`replacer` and `space` arguments][json-stringify], -as well. *(TODO: Any implemented `toJSON` methods aren’t used today.)* - -[json-stringify]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify - - -### Extras - -If you’re running this on Node, you can also register a JSON5 `require()` hook -to let you `require()` `.json5` files just like you can `.json` files: +Then you can load a JSON5 file with a Node.js `require()` statement. For +example: ```js -require('json5/lib/require'); -require('./path/to/foo'); // tries foo.json5 after foo.js, foo.json, etc. -require('./path/to/bar.json5'); +const config = require('./config.json5') ``` -This module also provides a `json5` executable (requires Node) for converting -JSON5 files to JSON: +## CLI +Since JSON is more widely used than JSON5, this package includes a CLI for +converting JSON5 to JSON and for validating the syntax of JSON5 documents. + +### Installation +```sh +npm install --global json5 +``` +### Usage ```sh -json5 -c path/to/foo.json5 # generates path/to/foo.json +json5 [options] ``` +If `` is not provided, then STDIN is used. -## Development +#### Options: +- `-s`, `--space`: The number of spaces to indent or `t` for tabs +- `-o`, `--out-file [file]`: Output to the specified file, otherwise STDOUT +- `-v`, `--validate`: Validate JSON5 but do not output JSON +- `-V`, `--version`: Output the version number +- `-h`, `--help`: Output usage information +## Contributing +### Development ```sh -git clone git://github.com/aseemk/json5.git +git clone https://github.com/json5/json5 cd json5 npm install -npm test ``` -As the `package.json5` file states, be sure to run `npm run build` on changes -to `package.json5`, since npm requires `package.json`. +When contributing code, please write relevant tests and run `npm test` and `npm +run lint` before submitting pull requests. Please use an editor that supports +[EditorConfig](http://editorconfig.org/). -Feel free to [file issues](https://github.com/aseemk/json5/issues) and submit -[pull requests](https://github.com/aseemk/json5/pulls) — contributions are -welcome. If you do submit a pull request, please be sure to add or update the -tests, and ensure that `npm test` continues to pass. +### Issues +To report bugs or request features regarding the JSON5 data format, please +submit an issue to the [official specification +repository](https://github.com/json5/json5-spec). +To report bugs or request features regarding the JavaScript implentation of +JSON5, please submit an issue to this repository. ## License - MIT. See [LICENSE.md](./LICENSE.md) for details. - ## Credits +[Assem Kishore](https://github.com/aseemk) founded this project. [Michael Bolin](http://bolinfest.com/) independently arrived at and published -some of these same ideas with awesome explanations and detail. -Recommended reading: -[Suggested Improvements to JSON](http://bolinfest.com/essays/json.html) +some of these same ideas with awesome explanations and detail. Recommended +reading: [Suggested Improvements to JSON](http://bolinfest.com/essays/json.html) [Douglas Crockford](http://www.crockford.com/) of course designed and built -JSON, but his state machine diagrams on the [JSON website](http://json.org/), -as cheesy as it may sound, gave me motivation and confidence that building a -new parser to implement these ideas this was within my reach! -This code is also modeled directly off of Doug’s open-source [json_parse.js][] -parser. I’m super grateful for that clean and well-documented code. +JSON, but his state machine diagrams on the [JSON website](http://json.org/), as +cheesy as it may sound, gave us motivation and confidence that building a new +parser to implement these ideas was within reach! The original +implementation of JSON5 was also modeled directly off of Doug’s open-source +[json_parse.js] parser. We’re grateful for that clean and well-documented +code. -[json_parse.js]: https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js +[json_parse.js]: +https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js [Max Nanasy](https://github.com/MaxNanasy) has been an early and prolific -supporter, contributing multiple patches and ideas. Thanks Max! +supporter, contributing multiple patches and ideas. -[Andrew Eisenberg](https://github.com/aeisenberg) has contributed the +[Andrew Eisenberg](https://github.com/aeisenberg) contributed the original `stringify` method. [Jordan Tucker](https://github.com/jordanbtucker) has aligned JSON5 more closely -with ES5 and is actively maintaining this project. +with ES5, wrote the official JSON5 specification, completely rewrote the +codebase from the ground up, and is actively maintaining this project. diff --git a/build/js-transpiled/node_modules/json5/dist/index.js b/build/js-transpiled/node_modules/json5/dist/index.js new file mode 100644 index 00000000..dcbe04fe --- /dev/null +++ b/build/js-transpiled/node_modules/json5/dist/index.js @@ -0,0 +1,1688 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.JSON5 = factory()); +}(this, (function () { 'use strict'; + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var _global = createCommonjsModule(function (module) { + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); + if (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef + }); + + var _core = createCommonjsModule(function (module) { + var core = module.exports = { version: '2.5.7' }; + if (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef + }); + var _core_1 = _core.version; + + var _isObject = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; + }; + + var _anObject = function (it) { + if (!_isObject(it)) { throw TypeError(it + ' is not an object!'); } + return it; + }; + + var _fails = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } + }; + + // Thank's IE8 for his funny defineProperty + var _descriptors = !_fails(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; + }); + + var document = _global.document; + // typeof document.createElement is 'object' in old IE + var is = _isObject(document) && _isObject(document.createElement); + var _domCreate = function (it) { + return is ? document.createElement(it) : {}; + }; + + var _ie8DomDefine = !_descriptors && !_fails(function () { + return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7; + }); + + // 7.1.1 ToPrimitive(input [, PreferredType]) + + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + var _toPrimitive = function (it, S) { + if (!_isObject(it)) { return it; } + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; } + if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { return val; } + if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; } + throw TypeError("Can't convert object to primitive value"); + }; + + var dP = Object.defineProperty; + + var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) { + _anObject(O); + P = _toPrimitive(P, true); + _anObject(Attributes); + if (_ie8DomDefine) { try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } } + if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported!'); } + if ('value' in Attributes) { O[P] = Attributes.value; } + return O; + }; + + var _objectDp = { + f: f + }; + + var _propertyDesc = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + + var _hide = _descriptors ? function (object, key, value) { + return _objectDp.f(object, key, _propertyDesc(1, value)); + } : function (object, key, value) { + object[key] = value; + return object; + }; + + var hasOwnProperty = {}.hasOwnProperty; + var _has = function (it, key) { + return hasOwnProperty.call(it, key); + }; + + var id = 0; + var px = Math.random(); + var _uid = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); + }; + + var _redefine = createCommonjsModule(function (module) { + var SRC = _uid('src'); + var TO_STRING = 'toString'; + var $toString = Function[TO_STRING]; + var TPL = ('' + $toString).split(TO_STRING); + + _core.inspectSource = function (it) { + return $toString.call(it); + }; + + (module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) { _has(val, 'name') || _hide(val, 'name', key); } + if (O[key] === val) { return; } + if (isFunction) { _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); } + if (O === _global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + _hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + _hide(O, key, val); + } + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); + }); + }); + + var _aFunction = function (it) { + if (typeof it != 'function') { throw TypeError(it + ' is not a function!'); } + return it; + }; + + // optional / simple context binding + + var _ctx = function (fn, that, length) { + _aFunction(fn); + if (that === undefined) { return fn; } + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; + }; + + var PROTOTYPE = 'prototype'; + + var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) { source = name; } + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out; + // extend global + if (target) { _redefine(target, key, out, type & $export.U); } + // export + if (exports[key] != out) { _hide(exports, key, exp); } + if (IS_PROTO && expProto[key] != out) { expProto[key] = out; } + } + }; + _global.core = _core; + // type bitmap + $export.F = 1; // forced + $export.G = 2; // global + $export.S = 4; // static + $export.P = 8; // proto + $export.B = 16; // bind + $export.W = 32; // wrap + $export.U = 64; // safe + $export.R = 128; // real proto method for `library` + var _export = $export; + + // 7.1.4 ToInteger + var ceil = Math.ceil; + var floor = Math.floor; + var _toInteger = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); + }; + + // 7.2.1 RequireObjectCoercible(argument) + var _defined = function (it) { + if (it == undefined) { throw TypeError("Can't call method on " + it); } + return it; + }; + + // true -> String#at + // false -> String#codePointAt + var _stringAt = function (TO_STRING) { + return function (that, pos) { + var s = String(_defined(that)); + var i = _toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) { return TO_STRING ? '' : undefined; } + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; + }; + + var $at = _stringAt(false); + _export(_export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } + }); + + var codePointAt = _core.String.codePointAt; + + var max = Math.max; + var min = Math.min; + var _toAbsoluteIndex = function (index, length) { + index = _toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); + }; + + var fromCharCode = String.fromCharCode; + var $fromCodePoint = String.fromCodePoint; + + // length should be 1, old FF problem + _export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { + var arguments$1 = arguments; + // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments$1[i++]; + if (_toAbsoluteIndex(code, 0x10ffff) !== code) { throw RangeError(code + ' is not a valid code point'); } + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } + }); + + var fromCodePoint = _core.String.fromCodePoint; + + // This is a generated file. Do not edit. + var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; + var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; + var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; + + var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue + }; + + var util = { + isSpaceSeparator: function isSpaceSeparator (c) { + return unicode.Space_Separator.test(c) + }, + + isIdStartChar: function isIdStartChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar: function isIdContinueChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit: function isDigit (c) { + return /[0-9]/.test(c) + }, + + isHexDigit: function isHexDigit (c) { + return /[0-9A-Fa-f]/.test(c) + }, + }; + + var source; + var parseState; + var stack; + var pos; + var line; + var column; + var token; + var key; + var root; + + var parse = function parse (text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root + }; + + function internalize (holder, name, reviver) { + var value = holder[name]; + if (value != null && typeof value === 'object') { + for (var key in value) { + var replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + value[key] = replacement; + } + } + } + + return reviver.call(holder, name, value) + } + + var lexState; + var buffer; + var doubleQuote; + var sign; + var c; + + function lex () { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + var token = lexStates[lexState](); + if (token) { + return token + } + } + } + + function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } + } + + function read () { + var c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c + } + + var lexStates = { + default: function default$1 () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + return + + case '/': + read(); + lexState = 'comment'; + return + + case undefined: + read(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment: function comment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return + + case '/': + read(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read()) + }, + + multiLineComment: function multiLineComment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + }, + + multiLineCommentAsterisk: function multiLineCommentAsterisk () { + switch (c) { + case '*': + read(); + return + + case '/': + read(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + lexState = 'multiLineComment'; + }, + + singleLineComment: function singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + lexState = 'default'; + return + + case undefined: + read(); + return newToken('eof') + } + + read(); + }, + + value: function value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read(); + literal('ull'); + return newToken('null', null) + + case 't': + read(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape: function identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName: function identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read(); + return + + case '\\': + read(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape: function identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign: function sign$1 () { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero: function zero () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger: function decimalInteger () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading: function decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read()) + }, + + decimalPoint: function decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction: function decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent: function decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign: function decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger: function decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal: function hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger: function hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string: function string () { + switch (c) { + case '\\': + read(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read(); + }, + + start: function start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName: function beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return + + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read()) + }, + + afterPropertyName: function afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue: function beforePropertyValue () { + lexState = 'value'; + }, + + afterPropertyValue: function afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue: function beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value'; + }, + + afterArrayValue: function afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end: function end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, + }; + + function newToken (type, value) { + return { + type: type, + value: value, + line: line, + column: column, + } + } + + function literal (s) { + for (var i = 0, list = s; i < list.length; i += 1) { + var c = list[i]; + + var p = peek(); + + if (p !== c) { + throw invalidChar(read()) + } + + read(); + } + } + + function escape () { + var c = peek(); + switch (c) { + case 'b': + read(); + return '\b' + + case 'f': + read(); + return '\f' + + case 'n': + read(); + return '\n' + + case 'r': + read(); + return '\r' + + case 't': + read(); + return '\t' + + case 'v': + read(); + return '\v' + + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read(); + return hexEscape() + + case 'u': + read(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read(); + return '' + + case '\r': + read(); + if (peek() === '\n') { + read(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() + } + + function hexEscape () { + var buffer = ''; + var c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + return String.fromCodePoint(parseInt(buffer, 16)) + } + + function unicodeEscape () { + var buffer = ''; + var count = 4; + + while (count-- > 0) { + var c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) + } + + var parseStates = { + start: function start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName: function beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName: function afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue: function beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue: function beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue: function afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue: function afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end: function end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, + }; + + function push () { + var value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + var parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + parent[key] = value; + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } + } + + function pop () { + stack.pop(); + + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } + + // This code is unreachable. + // function invalidParseState () { + // return new Error(`JSON5: invalid parse state '${parseState}'`) + // } + + // This code is unreachable. + // function invalidLexState (state) { + // return new Error(`JSON5: invalid lex state '${state}'`) + // } + + function invalidChar (c) { + if (c === undefined) { + return syntaxError(("JSON5: invalid end of input at " + line + ":" + column)) + } + + return syntaxError(("JSON5: invalid character '" + (formatChar(c)) + "' at " + line + ":" + column)) + } + + function invalidEOF () { + return syntaxError(("JSON5: invalid end of input at " + line + ":" + column)) + } + + // This code is unreachable. + // function invalidToken () { + // if (token.type === 'eof') { + // return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + // } + + // const c = String.fromCodePoint(token.value.codePointAt(0)) + // return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) + // } + + function invalidIdentifier () { + column -= 5; + return syntaxError(("JSON5: invalid identifier character at " + line + ":" + column)) + } + + function separatorChar (c) { + console.warn(("JSON5: '" + (formatChar(c)) + "' in strings is not valid ECMAScript; consider escaping")); + } + + function formatChar (c) { + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c + } + + function syntaxError (message) { + var err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err + } + + var stringify = function stringify (value, replacer, space) { + var stack = []; + var indent = ''; + var propertyList; + var replacerFunc; + var gap = ''; + var quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (var i = 0, list = replacer; i < list.length; i += 1) { + var v = list[i]; + + var item = (void 0); + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + var value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + var quotes = { + "'": 0.1, + '"': 0.2, + }; + + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + var product = ''; + + for (var i = 0, list = value; i < list.length; i += 1) { + var c = list[i]; + + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { return (quotes[a] < quotes[b]) ? a : b; }); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + var stepback = indent; + indent = indent + gap; + + var keys = propertyList || Object.keys(value); + var partial = []; + for (var i = 0, list = keys; i < list.length; i += 1) { + var key = list[i]; + + var propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + var member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + var final; + if (partial.length === 0) { + final = '{}'; + } else { + var properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + var separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + var firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (var i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + var stepback = indent; + indent = indent + gap; + + var partial = []; + for (var i = 0; i < value.length; i++) { + var propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + var final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + var properties = partial.join(','); + final = '[' + properties + ']'; + } else { + var separator = ',\n' + indent; + var properties$1 = partial.join(separator); + final = '[\n' + indent + properties$1 + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } + }; + + var JSON5 = { + parse: parse, + stringify: stringify, + }; + + var lib = JSON5; + + var es5 = lib; + + return es5; + +}))); diff --git a/build/js-transpiled/node_modules/json5/dist/index.min.js b/build/js-transpiled/node_modules/json5/dist/index.min.js new file mode 100644 index 00000000..b336abad --- /dev/null +++ b/build/js-transpiled/node_modules/json5/dist/index.min.js @@ -0,0 +1 @@ +!function(u,D){"object"==typeof exports&&"undefined"!=typeof module?module.exports=D():"function"==typeof define&&define.amd?define(D):u.JSON5=D()}(this,function(){"use strict";function u(u,D){return u(D={exports:{}},D.exports),D.exports}var D=u(function(u){var D=u.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=D)}),e=u(function(u){var D=u.exports={version:"2.5.7"};"number"==typeof __e&&(__e=D)}),t=(e.version,function(u){return"object"==typeof u?null!==u:"function"==typeof u}),r=function(u){if(!t(u))throw TypeError(u+" is not an object!");return u},F=function(u){try{return!!u()}catch(u){return!0}},n=!F(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),C=D.document,A=t(C)&&t(C.createElement),E=!n&&!F(function(){return 7!=Object.defineProperty((u="div",A?C.createElement(u):{}),"a",{get:function(){return 7}}).a;var u}),i=Object.defineProperty,o={f:n?Object.defineProperty:function(u,D,e){if(r(u),D=function(u,D){if(!t(u))return u;var e,r;if(D&&"function"==typeof(e=u.toString)&&!t(r=e.call(u)))return r;if("function"==typeof(e=u.valueOf)&&!t(r=e.call(u)))return r;if(!D&&"function"==typeof(e=u.toString)&&!t(r=e.call(u)))return r;throw TypeError("Can't convert object to primitive value")}(D,!0),r(e),E)try{return i(u,D,e)}catch(u){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(u[D]=e.value),u}},a=n?function(u,D,e){return o.f(u,D,function(u,D){return{enumerable:!(1&u),configurable:!(2&u),writable:!(4&u),value:D}}(1,e))}:function(u,D,e){return u[D]=e,u},c={}.hasOwnProperty,B=function(u,D){return c.call(u,D)},s=0,f=Math.random(),l=u(function(u){var t,r="Symbol(".concat(void 0===(t="src")?"":t,")_",(++s+f).toString(36)),F=Function.toString,n=(""+F).split("toString");e.inspectSource=function(u){return F.call(u)},(u.exports=function(u,e,t,F){var C="function"==typeof t;C&&(B(t,"name")||a(t,"name",e)),u[e]!==t&&(C&&(B(t,r)||a(t,r,u[e]?""+u[e]:n.join(String(e)))),u===D?u[e]=t:F?u[e]?u[e]=t:a(u,e,t):(delete u[e],a(u,e,t)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[r]||F.call(this)})}),d=function(u,D,e){if(function(u){if("function"!=typeof u)throw TypeError(u+" is not a function!")}(u),void 0===D)return u;switch(e){case 1:return function(e){return u.call(D,e)};case 2:return function(e,t){return u.call(D,e,t)};case 3:return function(e,t,r){return u.call(D,e,t,r)}}return function(){return u.apply(D,arguments)}},v=function(u,t,r){var F,n,C,A,E=u&v.F,i=u&v.G,o=u&v.S,c=u&v.P,B=u&v.B,s=i?D:o?D[t]||(D[t]={}):(D[t]||{}).prototype,f=i?e:e[t]||(e[t]={}),p=f.prototype||(f.prototype={});for(F in i&&(r=t),r)C=((n=!E&&s&&void 0!==s[F])?s:r)[F],A=B&&n?d(C,D):c&&"function"==typeof C?d(Function.call,C):C,s&&l(s,F,C,u&v.U),f[F]!=C&&a(f,F,A),c&&p[F]!=C&&(p[F]=C)};D.core=e,v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128;var p,h=v,m=Math.ceil,g=Math.floor,y=function(u){return isNaN(u=+u)?0:(u>0?g:m)(u)},w=(p=!1,function(u,D){var e,t,r=String(function(u){if(null==u)throw TypeError("Can't call method on "+u);return u}(u)),F=y(D),n=r.length;return F<0||F>=n?p?"":void 0:(e=r.charCodeAt(F))<55296||e>56319||F+1===n||(t=r.charCodeAt(F+1))<56320||t>57343?p?r.charAt(F):e:p?r.slice(F,F+2):t-56320+(e-55296<<10)+65536});h(h.P,"String",{codePointAt:function(u){return w(this,u)}});e.String.codePointAt;var S=Math.max,b=Math.min,x=String.fromCharCode,N=String.fromCodePoint;h(h.S+h.F*(!!N&&1!=N.length),"String",{fromCodePoint:function(u){for(var D,e,t,r=arguments,F=[],n=arguments.length,C=0;n>C;){if(D=+r[C++],t=1114111,((e=y(e=D))<0?S(e+t,0):b(e,t))!==D)throw RangeError(D+" is not a valid code point");F.push(D<65536?x(D):x(55296+((D-=65536)>>10),D%1024+56320))}return F.join("")}});e.String.fromCodePoint;var P,I,O,_,j,V,J,M,L,k,T,H,$,z,R={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},G={isSpaceSeparator:function(u){return R.Space_Separator.test(u)},isIdStartChar:function(u){return u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||R.ID_Start.test(u)},isIdContinueChar:function(u){return u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||R.ID_Continue.test(u)},isDigit:function(u){return/[0-9]/.test(u)},isHexDigit:function(u){return/[0-9A-Fa-f]/.test(u)}};function U(){for(k="default",T="",H=!1,$=1;;){z=Z();var u=W[k]();if(u)return u}}function Z(){if(P[_])return String.fromCodePoint(P.codePointAt(_))}function q(){var u=Z();return"\n"===u?(j++,V=0):u?V+=u.length:V++,u&&(_+=u.length),u}var W={default:function(){switch(z){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void q();case"/":return q(),void(k="comment");case void 0:return q(),X("eof")}if(!G.isSpaceSeparator(z))return W[I]();q()},comment:function(){switch(z){case"*":return q(),void(k="multiLineComment");case"/":return q(),void(k="singleLineComment")}throw eu(q())},multiLineComment:function(){switch(z){case"*":return q(),void(k="multiLineCommentAsterisk");case void 0:throw eu(q())}q()},multiLineCommentAsterisk:function(){switch(z){case"*":return void q();case"/":return q(),void(k="default");case void 0:throw eu(q())}q(),k="multiLineComment"},singleLineComment:function(){switch(z){case"\n":case"\r":case"\u2028":case"\u2029":return q(),void(k="default");case void 0:return q(),X("eof")}q()},value:function(){switch(z){case"{":case"[":return X("punctuator",q());case"n":return q(),K("ull"),X("null",null);case"t":return q(),K("rue"),X("boolean",!0);case"f":return q(),K("alse"),X("boolean",!1);case"-":case"+":return"-"===q()&&($=-1),void(k="sign");case".":return T=q(),void(k="decimalPointLeading");case"0":return T=q(),void(k="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return T=q(),void(k="decimalInteger");case"I":return q(),K("nfinity"),X("numeric",1/0);case"N":return q(),K("aN"),X("numeric",NaN);case'"':case"'":return H='"'===q(),T="",void(k="string")}throw eu(q())},identifierNameStartEscape:function(){if("u"!==z)throw eu(q());q();var u=Q();switch(u){case"$":case"_":break;default:if(!G.isIdStartChar(u))throw ru()}T+=u,k="identifierName"},identifierName:function(){switch(z){case"$":case"_":case"‌":case"‍":return void(T+=q());case"\\":return q(),void(k="identifierNameEscape")}if(!G.isIdContinueChar(z))return X("identifier",T);T+=q()},identifierNameEscape:function(){if("u"!==z)throw eu(q());q();var u=Q();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!G.isIdContinueChar(u))throw ru()}T+=u,k="identifierName"},sign:function(){switch(z){case".":return T=q(),void(k="decimalPointLeading");case"0":return T=q(),void(k="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return T=q(),void(k="decimalInteger");case"I":return q(),K("nfinity"),X("numeric",$*(1/0));case"N":return q(),K("aN"),X("numeric",NaN)}throw eu(q())},zero:function(){switch(z){case".":return T+=q(),void(k="decimalPoint");case"e":case"E":return T+=q(),void(k="decimalExponent");case"x":case"X":return T+=q(),void(k="hexadecimal")}return X("numeric",0*$)},decimalInteger:function(){switch(z){case".":return T+=q(),void(k="decimalPoint");case"e":case"E":return T+=q(),void(k="decimalExponent")}if(!G.isDigit(z))return X("numeric",$*Number(T));T+=q()},decimalPointLeading:function(){if(G.isDigit(z))return T+=q(),void(k="decimalFraction");throw eu(q())},decimalPoint:function(){switch(z){case"e":case"E":return T+=q(),void(k="decimalExponent")}return G.isDigit(z)?(T+=q(),void(k="decimalFraction")):X("numeric",$*Number(T))},decimalFraction:function(){switch(z){case"e":case"E":return T+=q(),void(k="decimalExponent")}if(!G.isDigit(z))return X("numeric",$*Number(T));T+=q()},decimalExponent:function(){switch(z){case"+":case"-":return T+=q(),void(k="decimalExponentSign")}if(G.isDigit(z))return T+=q(),void(k="decimalExponentInteger");throw eu(q())},decimalExponentSign:function(){if(G.isDigit(z))return T+=q(),void(k="decimalExponentInteger");throw eu(q())},decimalExponentInteger:function(){if(!G.isDigit(z))return X("numeric",$*Number(T));T+=q()},hexadecimal:function(){if(G.isHexDigit(z))return T+=q(),void(k="hexadecimalInteger");throw eu(q())},hexadecimalInteger:function(){if(!G.isHexDigit(z))return X("numeric",$*Number(T));T+=q()},string:function(){switch(z){case"\\":return q(),void(T+=function(){switch(Z()){case"b":return q(),"\b";case"f":return q(),"\f";case"n":return q(),"\n";case"r":return q(),"\r";case"t":return q(),"\t";case"v":return q(),"\v";case"0":if(q(),G.isDigit(Z()))throw eu(q());return"\0";case"x":return q(),function(){var u="",D=Z();if(!G.isHexDigit(D))throw eu(q());if(u+=q(),D=Z(),!G.isHexDigit(D))throw eu(q());return u+=q(),String.fromCodePoint(parseInt(u,16))}();case"u":return q(),Q();case"\n":case"\u2028":case"\u2029":return q(),"";case"\r":return q(),"\n"===Z()&&q(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw eu(q())}return q()}());case'"':return H?(q(),X("string",T)):void(T+=q());case"'":return H?void(T+=q()):(q(),X("string",T));case"\n":case"\r":throw eu(q());case"\u2028":case"\u2029":!function(u){console.warn("JSON5: '"+Fu(u)+"' in strings is not valid ECMAScript; consider escaping")}(z);break;case void 0:throw eu(q())}T+=q()},start:function(){switch(z){case"{":case"[":return X("punctuator",q())}k="value"},beforePropertyName:function(){switch(z){case"$":case"_":return T=q(),void(k="identifierName");case"\\":return q(),void(k="identifierNameStartEscape");case"}":return X("punctuator",q());case'"':case"'":return H='"'===q(),void(k="string")}if(G.isIdStartChar(z))return T+=q(),void(k="identifierName");throw eu(q())},afterPropertyName:function(){if(":"===z)return X("punctuator",q());throw eu(q())},beforePropertyValue:function(){k="value"},afterPropertyValue:function(){switch(z){case",":case"}":return X("punctuator",q())}throw eu(q())},beforeArrayValue:function(){if("]"===z)return X("punctuator",q());k="value"},afterArrayValue:function(){switch(z){case",":case"]":return X("punctuator",q())}throw eu(q())},end:function(){throw eu(q())}};function X(u,D){return{type:u,value:D,line:j,column:V}}function K(u){for(var D=0,e=u;D0;){var e=Z();if(!G.isHexDigit(e))throw eu(q());u+=q()}return String.fromCodePoint(parseInt(u,16))}var Y={start:function(){if("eof"===J.type)throw tu();uu()},beforePropertyName:function(){switch(J.type){case"identifier":case"string":return M=J.value,void(I="afterPropertyName");case"punctuator":return void Du();case"eof":throw tu()}},afterPropertyName:function(){if("eof"===J.type)throw tu();I="beforePropertyValue"},beforePropertyValue:function(){if("eof"===J.type)throw tu();uu()},beforeArrayValue:function(){if("eof"===J.type)throw tu();"punctuator"!==J.type||"]"!==J.value?uu():Du()},afterPropertyValue:function(){if("eof"===J.type)throw tu();switch(J.value){case",":return void(I="beforePropertyName");case"}":Du()}},afterArrayValue:function(){if("eof"===J.type)throw tu();switch(J.value){case",":return void(I="beforeArrayValue");case"]":Du()}},end:function(){}};function uu(){var u;switch(J.type){case"punctuator":switch(J.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=J.value}if(void 0===L)L=u;else{var D=O[O.length-1];Array.isArray(D)?D.push(u):D[M]=u}if(null!==u&&"object"==typeof u)O.push(u),I=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{var e=O[O.length-1];I=null==e?"end":Array.isArray(e)?"afterArrayValue":"afterPropertyValue"}}function Du(){O.pop();var u=O[O.length-1];I=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}function eu(u){return nu(void 0===u?"JSON5: invalid end of input at "+j+":"+V:"JSON5: invalid character '"+Fu(u)+"' at "+j+":"+V)}function tu(){return nu("JSON5: invalid end of input at "+j+":"+V)}function ru(){return nu("JSON5: invalid identifier character at "+j+":"+(V-=5))}function Fu(u){var D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){var e=u.charCodeAt(0).toString(16);return"\\x"+("00"+e).substring(e.length)}return u}function nu(u){var D=new SyntaxError(u);return D.lineNumber=j,D.columnNumber=V,D}return{parse:function(u,D){P=String(u),I="start",O=[],_=0,j=1,V=0,J=void 0,M=void 0,L=void 0;do{J=U(),Y[I]()}while("eof"!==J.type);return"function"==typeof D?function u(D,e,t){var r=D[e];if(null!=r&&"object"==typeof r)for(var F in r){var n=u(r,F,t);void 0===n?delete r[F]:r[F]=n}return t.call(D,e,r)}({"":L},"",D):L},stringify:function(u,D,e){var t,r,F,n=[],C="",A="";if(null==D||"object"!=typeof D||Array.isArray(D)||(e=D.space,F=D.quote,D=D.replacer),"function"==typeof D)r=D;else if(Array.isArray(D)){t=[];for(var E=0,i=D;E0&&(e=Math.min(10,Math.floor(e)),A=" ".substr(0,e)):"string"==typeof e&&(A=e.substr(0,10)),c("",{"":u});function c(u,D){var e=D[u];switch(null!=e&&("function"==typeof e.toJSON5?e=e.toJSON5(u):"function"==typeof e.toJSON&&(e=e.toJSON(u))),r&&(e=r.call(D,u,e)),e instanceof Number?e=Number(e):e instanceof String?e=String(e):e instanceof Boolean&&(e=e.valueOf()),e){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof e?B(e):"number"==typeof e?String(e):"object"==typeof e?Array.isArray(e)?function(u){if(n.indexOf(u)>=0)throw TypeError("Converting circular structure to JSON5");n.push(u);var D=C;C+=A;for(var e,t=[],r=0;r=0)throw TypeError("Converting circular structure to JSON5");n.push(u);var D=C;C+=A;for(var e,r,F=t||Object.keys(u),E=[],i=0,o=F;iunicode.Space_Separator.test(u),isIdStartChar:u=>u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||unicode.ID_Start.test(u),isIdContinueChar:u=>u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||unicode.ID_Continue.test(u),isDigit:u=>/[0-9]/.test(u),isHexDigit:u=>/[0-9A-Fa-f]/.test(u)};let source,parseState,stack,pos,line,column,token,key,root;var parse=function(u,D){source=String(u),parseState="start",stack=[],pos=0,line=1,column=0,token=void 0,key=void 0,root=void 0;do{token=lex(),parseStates[parseState]()}while("eof"!==token.type);return"function"==typeof D?internalize({"":root},"",D):root};function internalize(u,D,e){const r=u[D];if(null!=r&&"object"==typeof r)for(const u in r){const D=internalize(r,u,e);void 0===D?delete r[u]:r[u]=D}return e.call(u,D,r)}let lexState,buffer,doubleQuote,sign,c;function lex(){for(lexState="default",buffer="",doubleQuote=!1,sign=1;;){c=peek();const u=lexStates[lexState]();if(u)return u}}function peek(){if(source[pos])return String.fromCodePoint(source.codePointAt(pos))}function read(){const u=peek();return"\n"===u?(line++,column=0):u?column+=u.length:column++,u&&(pos+=u.length),u}const lexStates={default(){switch(c){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void read();case"/":return read(),void(lexState="comment");case void 0:return read(),newToken("eof")}if(!util.isSpaceSeparator(c))return lexStates[parseState]();read()},comment(){switch(c){case"*":return read(),void(lexState="multiLineComment");case"/":return read(),void(lexState="singleLineComment")}throw invalidChar(read())},multiLineComment(){switch(c){case"*":return read(),void(lexState="multiLineCommentAsterisk");case void 0:throw invalidChar(read())}read()},multiLineCommentAsterisk(){switch(c){case"*":return void read();case"/":return read(),void(lexState="default");case void 0:throw invalidChar(read())}read(),lexState="multiLineComment"},singleLineComment(){switch(c){case"\n":case"\r":case"\u2028":case"\u2029":return read(),void(lexState="default");case void 0:return read(),newToken("eof")}read()},value(){switch(c){case"{":case"[":return newToken("punctuator",read());case"n":return read(),literal("ull"),newToken("null",null);case"t":return read(),literal("rue"),newToken("boolean",!0);case"f":return read(),literal("alse"),newToken("boolean",!1);case"-":case"+":return"-"===read()&&(sign=-1),void(lexState="sign");case".":return buffer=read(),void(lexState="decimalPointLeading");case"0":return buffer=read(),void(lexState="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return buffer=read(),void(lexState="decimalInteger");case"I":return read(),literal("nfinity"),newToken("numeric",1/0);case"N":return read(),literal("aN"),newToken("numeric",NaN);case'"':case"'":return doubleQuote='"'===read(),buffer="",void(lexState="string")}throw invalidChar(read())},identifierNameStartEscape(){if("u"!==c)throw invalidChar(read());read();const u=unicodeEscape();switch(u){case"$":case"_":break;default:if(!util.isIdStartChar(u))throw invalidIdentifier()}buffer+=u,lexState="identifierName"},identifierName(){switch(c){case"$":case"_":case"‌":case"‍":return void(buffer+=read());case"\\":return read(),void(lexState="identifierNameEscape")}if(!util.isIdContinueChar(c))return newToken("identifier",buffer);buffer+=read()},identifierNameEscape(){if("u"!==c)throw invalidChar(read());read();const u=unicodeEscape();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!util.isIdContinueChar(u))throw invalidIdentifier()}buffer+=u,lexState="identifierName"},sign(){switch(c){case".":return buffer=read(),void(lexState="decimalPointLeading");case"0":return buffer=read(),void(lexState="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return buffer=read(),void(lexState="decimalInteger");case"I":return read(),literal("nfinity"),newToken("numeric",sign*(1/0));case"N":return read(),literal("aN"),newToken("numeric",NaN)}throw invalidChar(read())},zero(){switch(c){case".":return buffer+=read(),void(lexState="decimalPoint");case"e":case"E":return buffer+=read(),void(lexState="decimalExponent");case"x":case"X":return buffer+=read(),void(lexState="hexadecimal")}return newToken("numeric",0*sign)},decimalInteger(){switch(c){case".":return buffer+=read(),void(lexState="decimalPoint");case"e":case"E":return buffer+=read(),void(lexState="decimalExponent")}if(!util.isDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},decimalPointLeading(){if(util.isDigit(c))return buffer+=read(),void(lexState="decimalFraction");throw invalidChar(read())},decimalPoint(){switch(c){case"e":case"E":return buffer+=read(),void(lexState="decimalExponent")}return util.isDigit(c)?(buffer+=read(),void(lexState="decimalFraction")):newToken("numeric",sign*Number(buffer))},decimalFraction(){switch(c){case"e":case"E":return buffer+=read(),void(lexState="decimalExponent")}if(!util.isDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},decimalExponent(){switch(c){case"+":case"-":return buffer+=read(),void(lexState="decimalExponentSign")}if(util.isDigit(c))return buffer+=read(),void(lexState="decimalExponentInteger");throw invalidChar(read())},decimalExponentSign(){if(util.isDigit(c))return buffer+=read(),void(lexState="decimalExponentInteger");throw invalidChar(read())},decimalExponentInteger(){if(!util.isDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},hexadecimal(){if(util.isHexDigit(c))return buffer+=read(),void(lexState="hexadecimalInteger");throw invalidChar(read())},hexadecimalInteger(){if(!util.isHexDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},string(){switch(c){case"\\":return read(),void(buffer+=escape());case'"':return doubleQuote?(read(),newToken("string",buffer)):void(buffer+=read());case"'":return doubleQuote?void(buffer+=read()):(read(),newToken("string",buffer));case"\n":case"\r":throw invalidChar(read());case"\u2028":case"\u2029":separatorChar(c);break;case void 0:throw invalidChar(read())}buffer+=read()},start(){switch(c){case"{":case"[":return newToken("punctuator",read())}lexState="value"},beforePropertyName(){switch(c){case"$":case"_":return buffer=read(),void(lexState="identifierName");case"\\":return read(),void(lexState="identifierNameStartEscape");case"}":return newToken("punctuator",read());case'"':case"'":return doubleQuote='"'===read(),void(lexState="string")}if(util.isIdStartChar(c))return buffer+=read(),void(lexState="identifierName");throw invalidChar(read())},afterPropertyName(){if(":"===c)return newToken("punctuator",read());throw invalidChar(read())},beforePropertyValue(){lexState="value"},afterPropertyValue(){switch(c){case",":case"}":return newToken("punctuator",read())}throw invalidChar(read())},beforeArrayValue(){if("]"===c)return newToken("punctuator",read());lexState="value"},afterArrayValue(){switch(c){case",":case"]":return newToken("punctuator",read())}throw invalidChar(read())},end(){throw invalidChar(read())}};function newToken(u,D){return{type:u,value:D,line:line,column:column}}function literal(u){for(const D of u){if(peek()!==D)throw invalidChar(read());read()}}function escape(){switch(peek()){case"b":return read(),"\b";case"f":return read(),"\f";case"n":return read(),"\n";case"r":return read(),"\r";case"t":return read(),"\t";case"v":return read(),"\v";case"0":if(read(),util.isDigit(peek()))throw invalidChar(read());return"\0";case"x":return read(),hexEscape();case"u":return read(),unicodeEscape();case"\n":case"\u2028":case"\u2029":return read(),"";case"\r":return read(),"\n"===peek()&&read(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw invalidChar(read())}return read()}function hexEscape(){let u="",D=peek();if(!util.isHexDigit(D))throw invalidChar(read());if(u+=read(),D=peek(),!util.isHexDigit(D))throw invalidChar(read());return u+=read(),String.fromCodePoint(parseInt(u,16))}function unicodeEscape(){let u="",D=4;for(;D-- >0;){const D=peek();if(!util.isHexDigit(D))throw invalidChar(read());u+=read()}return String.fromCodePoint(parseInt(u,16))}const parseStates={start(){if("eof"===token.type)throw invalidEOF();push()},beforePropertyName(){switch(token.type){case"identifier":case"string":return key=token.value,void(parseState="afterPropertyName");case"punctuator":return void pop();case"eof":throw invalidEOF()}},afterPropertyName(){if("eof"===token.type)throw invalidEOF();parseState="beforePropertyValue"},beforePropertyValue(){if("eof"===token.type)throw invalidEOF();push()},beforeArrayValue(){if("eof"===token.type)throw invalidEOF();"punctuator"!==token.type||"]"!==token.value?push():pop()},afterPropertyValue(){if("eof"===token.type)throw invalidEOF();switch(token.value){case",":return void(parseState="beforePropertyName");case"}":pop()}},afterArrayValue(){if("eof"===token.type)throw invalidEOF();switch(token.value){case",":return void(parseState="beforeArrayValue");case"]":pop()}},end(){}};function push(){let u;switch(token.type){case"punctuator":switch(token.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=token.value}if(void 0===root)root=u;else{const D=stack[stack.length-1];Array.isArray(D)?D.push(u):D[key]=u}if(null!==u&&"object"==typeof u)stack.push(u),parseState=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=stack[stack.length-1];parseState=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}}function pop(){stack.pop();const u=stack[stack.length-1];parseState=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}function invalidChar(u){return syntaxError(void 0===u?`JSON5: invalid end of input at ${line}:${column}`:`JSON5: invalid character '${formatChar(u)}' at ${line}:${column}`)}function invalidEOF(){return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)}function invalidIdentifier(){return syntaxError(`JSON5: invalid identifier character at ${line}:${column-=5}`)}function separatorChar(u){console.warn(`JSON5: '${formatChar(u)}' in strings is not valid ECMAScript; consider escaping`)}function formatChar(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return"\\x"+("00"+D).substring(D.length)}return u}function syntaxError(u){const D=new SyntaxError(u);return D.lineNumber=line,D.columnNumber=column,D}var stringify=function(u,D,e){const r=[];let t,F,C,a="",A="";if(null==D||"object"!=typeof D||Array.isArray(D)||(e=D.space,C=D.quote,D=D.replacer),"function"==typeof D)F=D;else if(Array.isArray(D)){t=[];for(const u of D){let D;"string"==typeof u?D=u:("number"==typeof u||u instanceof String||u instanceof Number)&&(D=String(u)),void 0!==D&&t.indexOf(D)<0&&t.push(D)}}return e instanceof Number?e=Number(e):e instanceof String&&(e=String(e)),"number"==typeof e?e>0&&(e=Math.min(10,Math.floor(e)),A=" ".substr(0,e)):"string"==typeof e&&(A=e.substr(0,10)),E("",{"":u});function E(u,D){let e=D[u];switch(null!=e&&("function"==typeof e.toJSON5?e=e.toJSON5(u):"function"==typeof e.toJSON&&(e=e.toJSON(u))),F&&(e=F.call(D,u,e)),e instanceof Number?e=Number(e):e instanceof String?e=String(e):e instanceof Boolean&&(e=e.valueOf()),e){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof e?n(e):"number"==typeof e?String(e):"object"==typeof e?Array.isArray(e)?function(u){if(r.indexOf(u)>=0)throw TypeError("Converting circular structure to JSON5");r.push(u);let D=a;a+=A;let e,t=[];for(let D=0;D=0)throw TypeError("Converting circular structure to JSON5");r.push(u);let D=a;a+=A;let e,F=t||Object.keys(u),C=[];for(const D of F){const e=E(D,u);if(void 0!==e){let u=i(D)+":";""!==A&&(u+=" "),u+=e,C.push(u)}}if(0===C.length)e="{}";else{let u;if(""===A)u=C.join(","),e="{"+u+"}";else{let r=",\n"+a;u=C.join(r),e="{\n"+a+u+",\n"+D+"}"}}return r.pop(),a=D,e}(e):void 0}function n(u){const D={"'":.1,'"':.2},e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let r="";for(const t of u){switch(t){case"'":case'"':D[t]++,r+=t;continue}if(e[t])r+=e[t];else if(t<" "){let u=t.charCodeAt(0).toString(16);r+="\\x"+("00"+u).substring(u.length)}else r+=t}const t=C||Object.keys(D).reduce((u,e)=>D[u]= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return /[0-9]/.test(c) + }, + + isHexDigit (c) { + return /[0-9A-Fa-f]/.test(c) + }, +}; + +let source; +let parseState; +let stack; +let pos; +let line; +let column; +let token; +let key; +let root; + +var parse = function parse (text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +}; + +function internalize (holder, name, reviver) { + const value = holder[name]; + if (value != null && typeof value === 'object') { + for (const key in value) { + const replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + value[key] = replacement; + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState; +let buffer; +let doubleQuote; +let sign; +let c; + +function lex () { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState](); + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read () { + const c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + return + + case '/': + read(); + lexState = 'comment'; + return + + case undefined: + read(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return + + case '/': + read(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read()) + }, + + multiLineComment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read(); + return + + case '/': + read(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + lexState = 'multiLineComment'; + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + lexState = 'default'; + return + + case undefined: + read(); + return newToken('eof') + } + + read(); + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read(); + literal('ull'); + return newToken('null', null) + + case 't': + read(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read(); + return + + case '\\': + read(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign () { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read(); + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return + + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue () { + lexState = 'value'; + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value'; + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, +}; + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek(); + + if (p !== c) { + throw invalidChar(read()) + } + + read(); + } +} + +function escape () { + const c = peek(); + switch (c) { + case 'b': + read(); + return '\b' + + case 'f': + read(); + return '\f' + + case 'n': + read(); + return '\n' + + case 'r': + read(); + return '\r' + + case 't': + read(); + return '\t' + + case 'v': + read(); + return '\v' + + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read(); + return hexEscape() + + case 'u': + read(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read(); + return '' + + case '\r': + read(); + if (peek() === '\n') { + read(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() +} + +function hexEscape () { + let buffer = ''; + let c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = ''; + let count = 4; + + while (count-- > 0) { + const c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +}; + +function push () { + let value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + const parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + parent[key] = value; + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } +} + +function pop () { + stack.pop(); + + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5; + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`); +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError (message) { + const err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err +} + +var stringify = function stringify (value, replacer, space) { + const stack = []; + let indent = ''; + let propertyList; + let replacerFunc; + let gap = ''; + let quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (const v of replacer) { + let item; + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + }; + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + let product = ''; + + for (const c of value) { + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let keys = propertyList || Object.keys(value); + let partial = []; + for (const key of keys) { + const propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + let member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + let final; + if (partial.length === 0) { + final = '{}'; + } else { + let properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + let separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let partial = []; + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + let final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + let properties = partial.join(','); + final = '[' + properties + ']'; + } else { + let separator = ',\n' + indent; + let properties = partial.join(separator); + final = '[\n' + indent + properties + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } +}; + +const JSON5 = { + parse, + stringify, +}; + +var lib = JSON5; + +export default lib; diff --git a/build/js-transpiled/node_modules/json5/lib/cli.js b/build/js-transpiled/node_modules/json5/lib/cli.js index 9b72f6d1..de852f15 100755 --- a/build/js-transpiled/node_modules/json5/lib/cli.js +++ b/build/js-transpiled/node_modules/json5/lib/cli.js @@ -1,41 +1,112 @@ #!/usr/bin/env node -// cli.js -// JSON5 command-line interface. -// -// This is pretty minimal for now; just supports compiling files via `-c`. -// TODO More useful functionality, like output path, watch, etc.? - -var FS = require('fs'); -var JSON5 = require('./json5'); -var Path = require('path'); - -var USAGE = [ - 'Usage: json5 -c path/to/file.json5 ...', - 'Compiles JSON5 files into sibling JSON files with the same basenames.', -].join('\n'); - -// if valid, args look like [node, json5, -c, file1, file2, ...] -var args = process.argv; - -if (args.length < 4 || args[2] !== '-c') { - console.error(USAGE); - process.exit(1); +const fs = require('fs') +const path = require('path') +const minimist = require('minimist') +const pkg = require('../package.json') +const JSON5 = require('./') + +const argv = minimist(process.argv.slice(2), { + alias: { + 'convert': 'c', + 'space': 's', + 'validate': 'v', + 'out-file': 'o', + 'version': 'V', + 'help': 'h', + }, + boolean: [ + 'convert', + 'validate', + 'version', + 'help', + ], + string: [ + 'space', + 'out-file', + ], +}) + +if (argv.version) { + version() +} else if (argv.help) { + usage() +} else { + const inFilename = argv._[0] + + let readStream + if (inFilename) { + readStream = fs.createReadStream(inFilename) + } else { + readStream = process.stdin + } + + let json5 = '' + readStream.on('data', data => { + json5 += data + }) + + readStream.on('end', () => { + let space + if (argv.space === 't' || argv.space === 'tab') { + space = '\t' + } else { + space = Number(argv.space) + } + + let value + try { + value = JSON5.parse(json5) + if (!argv.validate) { + const json = JSON.stringify(value, null, space) + + let writeStream + + // --convert is for backward compatibility with v0.5.1. If + // specified with and not --out-file, then a file with + // the same name but with a .json extension will be written. + if (argv.convert && inFilename && !argv.o) { + const parsedFilename = path.parse(inFilename) + const outFilename = path.format( + Object.assign( + parsedFilename, + {base: path.basename(parsedFilename.base, parsedFilename.ext) + '.json'} + ) + ) + + writeStream = fs.createWriteStream(outFilename) + } else if (argv.o) { + writeStream = fs.createWriteStream(argv.o) + } else { + writeStream = process.stdout + } + + writeStream.write(json) + } + } catch (err) { + console.error(err.message) + process.exit(1) + } + }) } -var cwd = process.cwd(); -var files = args.slice(3); +function version () { + console.log(pkg.version) +} + +function usage () { + console.log( + ` + Usage: json5 [options] -// iterate over each file and convert JSON5 files to JSON: -files.forEach(function (file) { - var path = Path.resolve(cwd, file); - var basename = Path.basename(path, '.json5'); - var dirname = Path.dirname(path); + If is not provided, then STDIN is used. - var json5 = FS.readFileSync(path, 'utf8'); - var obj = JSON5.parse(json5); - var json = JSON.stringify(obj, null, 4); // 4 spaces; TODO configurable? + Options: - path = Path.join(dirname, basename + '.json'); - FS.writeFileSync(path, json, 'utf8'); -}); + -s, --space The number of spaces to indent or 't' for tabs + -o, --out-file [file] Output to the specified file, otherwise STDOUT + -v, --validate Validate JSON5 but do not output JSON + -V, --version Output the version number + -h, --help Output usage information` + ) +} diff --git a/build/js-transpiled/node_modules/json5/lib/index.js b/build/js-transpiled/node_modules/json5/lib/index.js new file mode 100644 index 00000000..36796388 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/lib/index.js @@ -0,0 +1,9 @@ +const parse = require('./parse') +const stringify = require('./stringify') + +const JSON5 = { + parse, + stringify, +} + +module.exports = JSON5 diff --git a/build/js-transpiled/node_modules/json5/lib/json5.js b/build/js-transpiled/node_modules/json5/lib/json5.js deleted file mode 100644 index 4a4590d0..00000000 --- a/build/js-transpiled/node_modules/json5/lib/json5.js +++ /dev/null @@ -1,770 +0,0 @@ -// json5.js -// Modern JSON. See README.md for details. -// -// This file is based directly off of Douglas Crockford's json_parse.js: -// https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js - -var JSON5 = (typeof exports === 'object' ? exports : {}); - -JSON5.parse = (function () { - "use strict"; - -// This is a function that can parse a JSON5 text, producing a JavaScript -// data structure. It is a simple, recursive descent parser. It does not use -// eval or regular expressions, so it can be used as a model for implementing -// a JSON5 parser in other languages. - -// We are defining the function inside of another function to avoid creating -// global variables. - - var at, // The index of the current character - lineNumber, // The current line number - columnNumber, // The current column number - ch, // The current character - escapee = { - "'": "'", - '"': '"', - '\\': '\\', - '/': '/', - '\n': '', // Replace escaped newlines in strings w/ empty string - b: '\b', - f: '\f', - n: '\n', - r: '\r', - t: '\t' - }, - ws = [ - ' ', - '\t', - '\r', - '\n', - '\v', - '\f', - '\xA0', - '\uFEFF' - ], - text, - - renderChar = function (chr) { - return chr === '' ? 'EOF' : "'" + chr + "'"; - }, - - error = function (m) { - -// Call error when something is wrong. - - var error = new SyntaxError(); - // beginning of message suffix to agree with that provided by Gecko - see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse - error.message = m + " at line " + lineNumber + " column " + columnNumber + " of the JSON5 data. Still to read: " + JSON.stringify(text.substring(at - 1, at + 19)); - error.at = at; - // These two property names have been chosen to agree with the ones in Gecko, the only popular - // environment which seems to supply this info on JSON.parse - error.lineNumber = lineNumber; - error.columnNumber = columnNumber; - throw error; - }, - - next = function (c) { - -// If a c parameter is provided, verify that it matches the current character. - - if (c && c !== ch) { - error("Expected " + renderChar(c) + " instead of " + renderChar(ch)); - } - -// Get the next character. When there are no more characters, -// return the empty string. - - ch = text.charAt(at); - at++; - columnNumber++; - if (ch === '\n' || ch === '\r' && peek() !== '\n') { - lineNumber++; - columnNumber = 0; - } - return ch; - }, - - peek = function () { - -// Get the next character without consuming it or -// assigning it to the ch varaible. - - return text.charAt(at); - }, - - identifier = function () { - -// Parse an identifier. Normally, reserved words are disallowed here, but we -// only use this for unquoted object keys, where reserved words are allowed, -// so we don't check for those here. References: -// - http://es5.github.com/#x7.6 -// - https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Core_Language_Features#Variables -// - http://docstore.mik.ua/orelly/webprog/jscript/ch02_07.htm -// TODO Identifiers can have Unicode "letters" in them; add support for those. - - var key = ch; - - // Identifiers must start with a letter, _ or $. - if ((ch !== '_' && ch !== '$') && - (ch < 'a' || ch > 'z') && - (ch < 'A' || ch > 'Z')) { - error("Bad identifier as unquoted key"); - } - - // Subsequent characters can contain digits. - while (next() && ( - ch === '_' || ch === '$' || - (ch >= 'a' && ch <= 'z') || - (ch >= 'A' && ch <= 'Z') || - (ch >= '0' && ch <= '9'))) { - key += ch; - } - - return key; - }, - - number = function () { - -// Parse a number value. - - var number, - sign = '', - string = '', - base = 10; - - if (ch === '-' || ch === '+') { - sign = ch; - next(ch); - } - - // support for Infinity (could tweak to allow other words): - if (ch === 'I') { - number = word(); - if (typeof number !== 'number' || isNaN(number)) { - error('Unexpected word for number'); - } - return (sign === '-') ? -number : number; - } - - // support for NaN - if (ch === 'N' ) { - number = word(); - if (!isNaN(number)) { - error('expected word to be NaN'); - } - // ignore sign as -NaN also is NaN - return number; - } - - if (ch === '0') { - string += ch; - next(); - if (ch === 'x' || ch === 'X') { - string += ch; - next(); - base = 16; - } else if (ch >= '0' && ch <= '9') { - error('Octal literal'); - } - } - - switch (base) { - case 10: - while (ch >= '0' && ch <= '9' ) { - string += ch; - next(); - } - if (ch === '.') { - string += '.'; - while (next() && ch >= '0' && ch <= '9') { - string += ch; - } - } - if (ch === 'e' || ch === 'E') { - string += ch; - next(); - if (ch === '-' || ch === '+') { - string += ch; - next(); - } - while (ch >= '0' && ch <= '9') { - string += ch; - next(); - } - } - break; - case 16: - while (ch >= '0' && ch <= '9' || ch >= 'A' && ch <= 'F' || ch >= 'a' && ch <= 'f') { - string += ch; - next(); - } - break; - } - - if(sign === '-') { - number = -string; - } else { - number = +string; - } - - if (!isFinite(number)) { - error("Bad number"); - } else { - return number; - } - }, - - string = function () { - -// Parse a string value. - - var hex, - i, - string = '', - delim, // double quote or single quote - uffff; - -// When parsing for string values, we must look for ' or " and \ characters. - - if (ch === '"' || ch === "'") { - delim = ch; - while (next()) { - if (ch === delim) { - next(); - return string; - } else if (ch === '\\') { - next(); - if (ch === 'u') { - uffff = 0; - for (i = 0; i < 4; i += 1) { - hex = parseInt(next(), 16); - if (!isFinite(hex)) { - break; - } - uffff = uffff * 16 + hex; - } - string += String.fromCharCode(uffff); - } else if (ch === '\r') { - if (peek() === '\n') { - next(); - } - } else if (typeof escapee[ch] === 'string') { - string += escapee[ch]; - } else { - break; - } - } else if (ch === '\n') { - // unescaped newlines are invalid; see: - // https://github.com/aseemk/json5/issues/24 - // TODO this feels special-cased; are there other - // invalid unescaped chars? - break; - } else { - string += ch; - } - } - } - error("Bad string"); - }, - - inlineComment = function () { - -// Skip an inline comment, assuming this is one. The current character should -// be the second / character in the // pair that begins this inline comment. -// To finish the inline comment, we look for a newline or the end of the text. - - if (ch !== '/') { - error("Not an inline comment"); - } - - do { - next(); - if (ch === '\n' || ch === '\r') { - next(); - return; - } - } while (ch); - }, - - blockComment = function () { - -// Skip a block comment, assuming this is one. The current character should be -// the * character in the /* pair that begins this block comment. -// To finish the block comment, we look for an ending */ pair of characters, -// but we also watch for the end of text before the comment is terminated. - - if (ch !== '*') { - error("Not a block comment"); - } - - do { - next(); - while (ch === '*') { - next('*'); - if (ch === '/') { - next('/'); - return; - } - } - } while (ch); - - error("Unterminated block comment"); - }, - - comment = function () { - -// Skip a comment, whether inline or block-level, assuming this is one. -// Comments always begin with a / character. - - if (ch !== '/') { - error("Not a comment"); - } - - next('/'); - - if (ch === '/') { - inlineComment(); - } else if (ch === '*') { - blockComment(); - } else { - error("Unrecognized comment"); - } - }, - - white = function () { - -// Skip whitespace and comments. -// Note that we're detecting comments by only a single / character. -// This works since regular expressions are not valid JSON(5), but this will -// break if there are other valid values that begin with a / character! - - while (ch) { - if (ch === '/') { - comment(); - } else if (ws.indexOf(ch) >= 0) { - next(); - } else { - return; - } - } - }, - - word = function () { - -// true, false, or null. - - switch (ch) { - case 't': - next('t'); - next('r'); - next('u'); - next('e'); - return true; - case 'f': - next('f'); - next('a'); - next('l'); - next('s'); - next('e'); - return false; - case 'n': - next('n'); - next('u'); - next('l'); - next('l'); - return null; - case 'I': - next('I'); - next('n'); - next('f'); - next('i'); - next('n'); - next('i'); - next('t'); - next('y'); - return Infinity; - case 'N': - next( 'N' ); - next( 'a' ); - next( 'N' ); - return NaN; - } - error("Unexpected " + renderChar(ch)); - }, - - value, // Place holder for the value function. - - array = function () { - -// Parse an array value. - - var array = []; - - if (ch === '[') { - next('['); - white(); - while (ch) { - if (ch === ']') { - next(']'); - return array; // Potentially empty array - } - // ES5 allows omitting elements in arrays, e.g. [,] and - // [,null]. We don't allow this in JSON5. - if (ch === ',') { - error("Missing array element"); - } else { - array.push(value()); - } - white(); - // If there's no comma after this value, this needs to - // be the end of the array. - if (ch !== ',') { - next(']'); - return array; - } - next(','); - white(); - } - } - error("Bad array"); - }, - - object = function () { - -// Parse an object value. - - var key, - object = {}; - - if (ch === '{') { - next('{'); - white(); - while (ch) { - if (ch === '}') { - next('}'); - return object; // Potentially empty object - } - - // Keys can be unquoted. If they are, they need to be - // valid JS identifiers. - if (ch === '"' || ch === "'") { - key = string(); - } else { - key = identifier(); - } - - white(); - next(':'); - object[key] = value(); - white(); - // If there's no comma after this pair, this needs to be - // the end of the object. - if (ch !== ',') { - next('}'); - return object; - } - next(','); - white(); - } - } - error("Bad object"); - }; - - value = function () { - -// Parse a JSON value. It could be an object, an array, a string, a number, -// or a word. - - white(); - switch (ch) { - case '{': - return object(); - case '[': - return array(); - case '"': - case "'": - return string(); - case '-': - case '+': - case '.': - return number(); - default: - return ch >= '0' && ch <= '9' ? number() : word(); - } - }; - -// Return the json_parse function. It will have access to all of the above -// functions and variables. - - return function (source, reviver) { - var result; - - text = String(source); - at = 0; - lineNumber = 1; - columnNumber = 1; - ch = ' '; - result = value(); - white(); - if (ch) { - error("Syntax error"); - } - -// If there is a reviver function, we recursively walk the new structure, -// passing each name/value pair to the reviver function for possible -// transformation, starting with a temporary root object that holds the result -// in an empty key. If there is not a reviver function, we simply return the -// result. - - return typeof reviver === 'function' ? (function walk(holder, key) { - var k, v, value = holder[key]; - if (value && typeof value === 'object') { - for (k in value) { - if (Object.prototype.hasOwnProperty.call(value, k)) { - v = walk(value, k); - if (v !== undefined) { - value[k] = v; - } else { - delete value[k]; - } - } - } - } - return reviver.call(holder, key, value); - }({'': result}, '')) : result; - }; -}()); - -// JSON5 stringify will not quote keys where appropriate -JSON5.stringify = function (obj, replacer, space) { - if (replacer && (typeof(replacer) !== "function" && !isArray(replacer))) { - throw new Error('Replacer must be a function or an array'); - } - var getReplacedValueOrUndefined = function(holder, key, isTopLevel) { - var value = holder[key]; - - // Replace the value with its toJSON value first, if possible - if (value && value.toJSON && typeof value.toJSON === "function") { - value = value.toJSON(); - } - - // If the user-supplied replacer if a function, call it. If it's an array, check objects' string keys for - // presence in the array (removing the key/value pair from the resulting JSON if the key is missing). - if (typeof(replacer) === "function") { - return replacer.call(holder, key, value); - } else if(replacer) { - if (isTopLevel || isArray(holder) || replacer.indexOf(key) >= 0) { - return value; - } else { - return undefined; - } - } else { - return value; - } - }; - - function isWordChar(c) { - return (c >= 'a' && c <= 'z') || - (c >= 'A' && c <= 'Z') || - (c >= '0' && c <= '9') || - c === '_' || c === '$'; - } - - function isWordStart(c) { - return (c >= 'a' && c <= 'z') || - (c >= 'A' && c <= 'Z') || - c === '_' || c === '$'; - } - - function isWord(key) { - if (typeof key !== 'string') { - return false; - } - if (!isWordStart(key[0])) { - return false; - } - var i = 1, length = key.length; - while (i < length) { - if (!isWordChar(key[i])) { - return false; - } - i++; - } - return true; - } - - // export for use in tests - JSON5.isWord = isWord; - - // polyfills - function isArray(obj) { - if (Array.isArray) { - return Array.isArray(obj); - } else { - return Object.prototype.toString.call(obj) === '[object Array]'; - } - } - - function isDate(obj) { - return Object.prototype.toString.call(obj) === '[object Date]'; - } - - var objStack = []; - function checkForCircular(obj) { - for (var i = 0; i < objStack.length; i++) { - if (objStack[i] === obj) { - throw new TypeError("Converting circular structure to JSON"); - } - } - } - - function makeIndent(str, num, noNewLine) { - if (!str) { - return ""; - } - // indentation no more than 10 chars - if (str.length > 10) { - str = str.substring(0, 10); - } - - var indent = noNewLine ? "" : "\n"; - for (var i = 0; i < num; i++) { - indent += str; - } - - return indent; - } - - var indentStr; - if (space) { - if (typeof space === "string") { - indentStr = space; - } else if (typeof space === "number" && space >= 0) { - indentStr = makeIndent(" ", space, true); - } else { - // ignore space parameter - } - } - - // Copied from Crokford's implementation of JSON - // See https://github.com/douglascrockford/JSON-js/blob/e39db4b7e6249f04a195e7dd0840e610cc9e941e/json2.js#L195 - // Begin - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }; - function escapeString(string) { - -// If the string contains no control characters, no quote characters, and no -// backslash characters, then we can safely slap some quotes around it. -// Otherwise we must also replace the offending characters with safe escape -// sequences. - escapable.lastIndex = 0; - return escapable.test(string) ? '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? - c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : '"' + string + '"'; - } - // End - - function internalStringify(holder, key, isTopLevel) { - var buffer, res; - - // Replace the value, if necessary - var obj_part = getReplacedValueOrUndefined(holder, key, isTopLevel); - - if (obj_part && !isDate(obj_part)) { - // unbox objects - // don't unbox dates, since will turn it into number - obj_part = obj_part.valueOf(); - } - switch(typeof obj_part) { - case "boolean": - return obj_part.toString(); - - case "number": - if (isNaN(obj_part) || !isFinite(obj_part)) { - return "null"; - } - return obj_part.toString(); - - case "string": - return escapeString(obj_part.toString()); - - case "object": - if (obj_part === null) { - return "null"; - } else if (isArray(obj_part)) { - checkForCircular(obj_part); - buffer = "["; - objStack.push(obj_part); - - for (var i = 0; i < obj_part.length; i++) { - res = internalStringify(obj_part, i, false); - buffer += makeIndent(indentStr, objStack.length); - if (res === null || typeof res === "undefined") { - buffer += "null"; - } else { - buffer += res; - } - if (i < obj_part.length-1) { - buffer += ","; - } else if (indentStr) { - buffer += "\n"; - } - } - objStack.pop(); - if (obj_part.length) { - buffer += makeIndent(indentStr, objStack.length, true) - } - buffer += "]"; - } else { - checkForCircular(obj_part); - buffer = "{"; - var nonEmpty = false; - objStack.push(obj_part); - for (var prop in obj_part) { - if (obj_part.hasOwnProperty(prop)) { - var value = internalStringify(obj_part, prop, false); - isTopLevel = false; - if (typeof value !== "undefined" && value !== null) { - buffer += makeIndent(indentStr, objStack.length); - nonEmpty = true; - key = isWord(prop) ? prop : escapeString(prop); - buffer += key + ":" + (indentStr ? ' ' : '') + value + ","; - } - } - } - objStack.pop(); - if (nonEmpty) { - buffer = buffer.substring(0, buffer.length-1) + makeIndent(indentStr, objStack.length) + "}"; - } else { - buffer = '{}'; - } - } - return buffer; - default: - // functions and undefined should be ignored - return undefined; - } - } - - // special case...when undefined is used inside of - // a compound object/array, return null. - // but when top-level, return undefined - var topLevelHolder = {"":obj}; - if (obj === undefined) { - return getReplacedValueOrUndefined(topLevelHolder, '', true); - } - return internalStringify(topLevelHolder, '', true); -}; diff --git a/build/js-transpiled/node_modules/json5/lib/parse.js b/build/js-transpiled/node_modules/json5/lib/parse.js new file mode 100644 index 00000000..c01646fc --- /dev/null +++ b/build/js-transpiled/node_modules/json5/lib/parse.js @@ -0,0 +1,1087 @@ +const util = require('./util') + +let source +let parseState +let stack +let pos +let line +let column +let token +let key +let root + +module.exports = function parse (text, reviver) { + source = String(text) + parseState = 'start' + stack = [] + pos = 0 + line = 1 + column = 0 + token = undefined + key = undefined + root = undefined + + do { + token = lex() + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState]() + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +} + +function internalize (holder, name, reviver) { + const value = holder[name] + if (value != null && typeof value === 'object') { + for (const key in value) { + const replacement = internalize(value, key, reviver) + if (replacement === undefined) { + delete value[key] + } else { + value[key] = replacement + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState +let buffer +let doubleQuote +let sign +let c + +function lex () { + lexState = 'default' + buffer = '' + doubleQuote = false + sign = 1 + + for (;;) { + c = peek() + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState]() + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read () { + const c = peek() + + if (c === '\n') { + line++ + column = 0 + } else if (c) { + column += c.length + } else { + column++ + } + + if (c) { + pos += c.length + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read() + return + + case '/': + read() + lexState = 'comment' + return + + case undefined: + read() + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read() + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read() + lexState = 'multiLineComment' + return + + case '/': + read() + lexState = 'singleLineComment' + return + } + + throw invalidChar(read()) + }, + + multiLineComment () { + switch (c) { + case '*': + read() + lexState = 'multiLineCommentAsterisk' + return + + case undefined: + throw invalidChar(read()) + } + + read() + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read() + return + + case '/': + read() + lexState = 'default' + return + + case undefined: + throw invalidChar(read()) + } + + read() + lexState = 'multiLineComment' + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read() + lexState = 'default' + return + + case undefined: + read() + return newToken('eof') + } + + read() + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read() + literal('ull') + return newToken('null', null) + + case 't': + read() + literal('rue') + return newToken('boolean', true) + + case 'f': + read() + literal('alse') + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1 + } + + lexState = 'sign' + return + + case '.': + buffer = read() + lexState = 'decimalPointLeading' + return + + case '0': + buffer = read() + lexState = 'zero' + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read() + lexState = 'decimalInteger' + return + + case 'I': + read() + literal('nfinity') + return newToken('numeric', Infinity) + + case 'N': + read() + literal('aN') + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"') + buffer = '' + lexState = 'string' + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read() + const u = unicodeEscape() + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u + lexState = 'identifierName' + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read() + return + + case '\\': + read() + lexState = 'identifierNameEscape' + return + } + + if (util.isIdContinueChar(c)) { + buffer += read() + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read() + const u = unicodeEscape() + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u + lexState = 'identifierName' + }, + + sign () { + switch (c) { + case '.': + buffer = read() + lexState = 'decimalPointLeading' + return + + case '0': + buffer = read() + lexState = 'zero' + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read() + lexState = 'decimalInteger' + return + + case 'I': + read() + literal('nfinity') + return newToken('numeric', sign * Infinity) + + case 'N': + read() + literal('aN') + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero () { + switch (c) { + case '.': + buffer += read() + lexState = 'decimalPoint' + return + + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + + case 'x': + case 'X': + buffer += read() + lexState = 'hexadecimal' + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read() + lexState = 'decimalPoint' + return + + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalFraction' + return + } + + throw invalidChar(read()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalFraction' + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read() + lexState = 'decimalExponentSign' + return + } + + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalExponentInteger' + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalExponentInteger' + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read() + lexState = 'hexadecimalInteger' + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read() + buffer += escape() + return + + case '"': + if (doubleQuote) { + read() + return newToken('string', buffer) + } + + buffer += read() + return + + case "'": + if (!doubleQuote) { + read() + return newToken('string', buffer) + } + + buffer += read() + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c) + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read() + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value' + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read() + lexState = 'identifierName' + return + + case '\\': + read() + lexState = 'identifierNameStartEscape' + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"') + lexState = 'string' + return + } + + if (util.isIdStartChar(c)) { + buffer += read() + lexState = 'identifierName' + return + } + + throw invalidChar(read()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue () { + lexState = 'value' + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value' + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, +} + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek() + + if (p !== c) { + throw invalidChar(read()) + } + + read() + } +} + +function escape () { + const c = peek() + switch (c) { + case 'b': + read() + return '\b' + + case 'f': + read() + return '\f' + + case 'n': + read() + return '\n' + + case 'r': + read() + return '\r' + + case 't': + read() + return '\t' + + case 'v': + read() + return '\v' + + case '0': + read() + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read() + return hexEscape() + + case 'u': + read() + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read() + return '' + + case '\r': + read() + if (peek() === '\n') { + read() + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() +} + +function hexEscape () { + let buffer = '' + let c = peek() + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + + c = peek() + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = '' + let count = 4 + + while (count-- > 0) { + const c = peek() + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push() + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value + parseState = 'afterPropertyName' + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop() + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue' + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push() + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop() + return + } + + push() + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName' + return + + case '}': + pop() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue' + return + + case ']': + pop() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +} + +function push () { + let value + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {} + break + + case '[': + value = [] + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value + } else { + const parent = stack[stack.length - 1] + if (Array.isArray(parent)) { + parent.push(value) + } else { + parent[key] = value + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value) + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue' + } else { + parseState = 'beforePropertyName' + } + } else { + const current = stack[stack.length - 1] + if (current == null) { + parseState = 'end' + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue' + } else { + parseState = 'afterPropertyValue' + } + } +} + +function pop () { + stack.pop() + + const current = stack[stack.length - 1] + if (current == null) { + parseState = 'end' + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue' + } else { + parseState = 'afterPropertyValue' + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5 + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`) +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + } + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16) + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError (message) { + const err = new SyntaxError(message) + err.lineNumber = line + err.columnNumber = column + return err +} diff --git a/build/js-transpiled/node_modules/json5/lib/register.js b/build/js-transpiled/node_modules/json5/lib/register.js new file mode 100644 index 00000000..935cdbaf --- /dev/null +++ b/build/js-transpiled/node_modules/json5/lib/register.js @@ -0,0 +1,13 @@ +const fs = require('fs') +const JSON5 = require('./') + +// eslint-disable-next-line node/no-deprecated-api +require.extensions['.json5'] = function (module, filename) { + const content = fs.readFileSync(filename, 'utf8') + try { + module.exports = JSON5.parse(content) + } catch (err) { + err.message = filename + ': ' + err.message + throw err + } +} diff --git a/build/js-transpiled/node_modules/json5/lib/require.js b/build/js-transpiled/node_modules/json5/lib/require.js index 73e56fe9..3aa29bee 100644 --- a/build/js-transpiled/node_modules/json5/lib/require.js +++ b/build/js-transpiled/node_modules/json5/lib/require.js @@ -1,18 +1,4 @@ -// require.js -// Node.js only: adds a require() hook for .json5 files, just like the native -// hook for .json files. -// -// Usage: -// require('json5/require'); -// require('./foo'); // will check foo.json5 after foo.js, foo.json, etc. -// require('./bar.json5'); +// This file is for backward compatibility with v0.5.1. +require('./register') -var FS = require('fs'); -var JSON5 = require('./json5'); - -// Modeled off of (v0.6.18 link; check latest too): -// https://github.com/joyent/node/blob/v0.6.18/lib/module.js#L468-L472 -require.extensions['.json5'] = function (module, filename) { - var content = FS.readFileSync(filename, 'utf8'); - module.exports = JSON5.parse(content); -}; +console.warn("'json5/require' is deprecated. Please use 'json5/register' instead.") diff --git a/build/js-transpiled/node_modules/json5/lib/stringify.js b/build/js-transpiled/node_modules/json5/lib/stringify.js new file mode 100644 index 00000000..0df12f49 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/lib/stringify.js @@ -0,0 +1,254 @@ +const util = require('./util') + +module.exports = function stringify (value, replacer, space) { + const stack = [] + let indent = '' + let propertyList + let replacerFunc + let gap = '' + let quote + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space + quote = replacer.quote + replacer = replacer.replacer + } + + if (typeof replacer === 'function') { + replacerFunc = replacer + } else if (Array.isArray(replacer)) { + propertyList = [] + for (const v of replacer) { + let item + + if (typeof v === 'string') { + item = v + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v) + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item) + } + } + } + + if (space instanceof Number) { + space = Number(space) + } else if (space instanceof String) { + space = String(space) + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)) + gap = ' '.substr(0, space) + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10) + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key] + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key) + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key) + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value) + } + + if (value instanceof Number) { + value = Number(value) + } else if (value instanceof String) { + value = String(value) + } else if (value instanceof Boolean) { + value = value.valueOf() + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + } + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + } + + let product = '' + + for (const c of value) { + switch (c) { + case "'": + case '"': + quotes[c]++ + product += c + continue + } + + if (replacements[c]) { + product += replacements[c] + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16) + product += '\\x' + ('00' + hexString).substring(hexString.length) + continue + } + + product += c + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b) + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]) + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value) + + let stepback = indent + indent = indent + gap + + let keys = propertyList || Object.keys(value) + let partial = [] + for (const key of keys) { + const propertyString = serializeProperty(key, value) + if (propertyString !== undefined) { + let member = serializeKey(key) + ':' + if (gap !== '') { + member += ' ' + } + member += propertyString + partial.push(member) + } + } + + let final + if (partial.length === 0) { + final = '{}' + } else { + let properties + if (gap === '') { + properties = partial.join(',') + final = '{' + properties + '}' + } else { + let separator = ',\n' + indent + properties = partial.join(separator) + final = '{\n' + indent + properties + ',\n' + stepback + '}' + } + } + + stack.pop() + indent = stepback + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)) + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value) + + let stepback = indent + indent = indent + gap + + let partial = [] + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value) + partial.push((propertyString !== undefined) ? propertyString : 'null') + } + + let final + if (partial.length === 0) { + final = '[]' + } else { + if (gap === '') { + let properties = partial.join(',') + final = '[' + properties + ']' + } else { + let separator = ',\n' + indent + let properties = partial.join(separator) + final = '[\n' + indent + properties + ',\n' + stepback + ']' + } + } + + stack.pop() + indent = stepback + return final + } +} diff --git a/build/js-transpiled/node_modules/json5/lib/unicode.js b/build/js-transpiled/node_modules/json5/lib/unicode.js new file mode 100644 index 00000000..215ccd84 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/lib/unicode.js @@ -0,0 +1,4 @@ +// This is a generated file. Do not edit. +module.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/ +module.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/ +module.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ diff --git a/build/js-transpiled/node_modules/json5/lib/util.js b/build/js-transpiled/node_modules/json5/lib/util.js new file mode 100644 index 00000000..3b5e4664 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/lib/util.js @@ -0,0 +1,35 @@ +const unicode = require('../lib/unicode') + +module.exports = { + isSpaceSeparator (c) { + return unicode.Space_Separator.test(c) + }, + + isIdStartChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return /[0-9]/.test(c) + }, + + isHexDigit (c) { + return /[0-9A-Fa-f]/.test(c) + }, +} diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/.travis.yml b/build/js-transpiled/node_modules/json5/node_modules/minimist/.travis.yml new file mode 100644 index 00000000..74c57bf1 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/.travis.yml @@ -0,0 +1,8 @@ +language: node_js +node_js: + - "0.8" + - "0.10" + - "0.12" + - "iojs" +before_install: + - npm install -g npm@~1.4.6 diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/LICENSE b/build/js-transpiled/node_modules/json5/node_modules/minimist/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/example/parse.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/example/parse.js new file mode 100644 index 00000000..abff3e8e --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/example/parse.js @@ -0,0 +1,2 @@ +var argv = require('../')(process.argv.slice(2)); +console.dir(argv); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/index.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/index.js new file mode 100644 index 00000000..6a0559d5 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/index.js @@ -0,0 +1,236 @@ +module.exports = function (args, opts) { + if (!opts) opts = {}; + + var flags = { bools : {}, strings : {}, unknownFn: null }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + + var aliases = {}; + Object.keys(opts.alias || {}).forEach(function (key) { + aliases[key] = [].concat(opts.alias[key]); + aliases[key].forEach(function (x) { + aliases[x] = [key].concat(aliases[key].filter(function (y) { + return x !== y; + })); + }); + }); + + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + + var defaults = opts['default'] || {}; + + var argv = { _ : [] }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] === undefined ? false : defaults[key]); + }); + + var notFlags = []; + + if (args.indexOf('--') !== -1) { + notFlags = args.slice(args.indexOf('--')+1); + args = args.slice(0, args.indexOf('--')); + } + + function argDefined(key, arg) { + return (flags.allBools && /^--[^=]+$/.test(arg)) || + flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg (key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + + var value = !flags.strings[key] && isNumber(val) + ? Number(val) : val + ; + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), value); + }); + } + + function setKey (obj, keys, value) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + if (o[key] === undefined) o[key] = {}; + o = o[key]; + }); + + var key = keys[keys.length - 1]; + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (/^--.+=/.test(arg)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + var key = m[1]; + var value = m[2]; + if (flags.bools[key]) { + value = value !== 'false'; + } + setArg(key, value, arg); + } + else if (/^--no-.+/.test(arg)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false, arg); + } + else if (/^--.+/.test(arg)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !/^-/.test(next) + && !flags.bools[key] + && !flags.allBools + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + else if (/^-[^-]+/.test(arg)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + var next = arg.slice(j+2); + + if (next === '-') { + setArg(letters[j], next, arg) + continue; + } + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + + if (/[A-Za-z]/.test(letters[j]) + && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { + setArg(letters[j], next, arg); + broken = true; + break; + } + + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2), arg); + broken = true; + break; + } + else { + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); + } + } + + var key = arg.slice(-1)[0]; + if (!broken && key !== '-') { + if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) + && !flags.bools[key] + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i+1], arg); + i++; + } + else if (args[i+1] && /true|false/.test(args[i+1])) { + setArg(key, args[i+1] === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + } + else { + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push( + flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) + ); + } + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + } + } + + Object.keys(defaults).forEach(function (key) { + if (!hasKey(argv, key.split('.'))) { + setKey(argv, key.split('.'), defaults[key]); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), defaults[key]); + }); + } + }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function(key) { + argv['--'].push(key); + }); + } + else { + notFlags.forEach(function(key) { + argv._.push(key); + }); + } + + return argv; +}; + +function hasKey (obj, keys) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + o = (o[key] || {}); + }); + + var key = keys[keys.length - 1]; + return key in o; +} + +function isNumber (x) { + if (typeof x === 'number') return true; + if (/^0x[0-9a-f]+$/i.test(x)) return true; + return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); +} + diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/package.json b/build/js-transpiled/node_modules/json5/node_modules/minimist/package.json new file mode 100644 index 00000000..00b4f6ee --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/package.json @@ -0,0 +1,73 @@ +{ + "_from": "minimist@^1.2.0", + "_id": "minimist@1.2.0", + "_inBundle": false, + "_integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "_location": "/json5/minimist", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "minimist@^1.2.0", + "name": "minimist", + "escapedName": "minimist", + "rawSpec": "^1.2.0", + "saveSpec": null, + "fetchSpec": "^1.2.0" + }, + "_requiredBy": [ + "/json5" + ], + "_resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "_shasum": "a35008b20f41383eec1fb914f4cd5df79a264284", + "_spec": "minimist@^1.2.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/json5", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "bugs": { + "url": "https://github.com/substack/minimist/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "parse argument options", + "devDependencies": { + "covert": "^1.0.0", + "tap": "~0.4.0", + "tape": "^3.5.0" + }, + "homepage": "https://github.com/substack/minimist", + "keywords": [ + "argv", + "getopt", + "parser", + "optimist" + ], + "license": "MIT", + "main": "index.js", + "name": "minimist", + "repository": { + "type": "git", + "url": "git://github.com/substack/minimist.git" + }, + "scripts": { + "coverage": "covert test/*.js", + "test": "tap test/*.js" + }, + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/6..latest", + "ff/5", + "firefox/latest", + "chrome/10", + "chrome/latest", + "safari/5.1", + "safari/latest", + "opera/12" + ] + }, + "version": "1.2.0" +} diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/readme.markdown b/build/js-transpiled/node_modules/json5/node_modules/minimist/readme.markdown new file mode 100644 index 00000000..30a74cf8 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/readme.markdown @@ -0,0 +1,91 @@ +# minimist + +parse argument options + +This module is the guts of optimist's argument parser without all the +fanciful decoration. + +[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist) + +[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist) + +# example + +``` js +var argv = require('minimist')(process.argv.slice(2)); +console.dir(argv); +``` + +``` +$ node example/parse.js -a beep -b boop +{ _: [], a: 'beep', b: 'boop' } +``` + +``` +$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz +{ _: [ 'foo', 'bar', 'baz' ], + x: 3, + y: 4, + n: 5, + a: true, + b: true, + c: true, + beep: 'boop' } +``` + +# methods + +``` js +var parseArgs = require('minimist') +``` + +## var argv = parseArgs(args, opts={}) + +Return an argument object `argv` populated with the array arguments from `args`. + +`argv._` contains all the arguments that didn't have an option associated with +them. + +Numeric-looking arguments will be returned as numbers unless `opts.string` or +`opts.boolean` is set for that argument name. + +Any arguments after `'--'` will not be parsed and will end up in `argv._`. + +options can be: + +* `opts.string` - a string or array of strings argument names to always treat as +strings +* `opts.boolean` - a boolean, string or array of strings to always treat as +booleans. if `true` will treat all double hyphenated arguments without equal signs +as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`) +* `opts.alias` - an object mapping string names to strings or arrays of string +argument names to use as aliases +* `opts.default` - an object mapping string argument names to default values +* `opts.stopEarly` - when true, populate `argv._` with everything after the +first non-option +* `opts['--']` - when true, populate `argv._` with everything before the `--` +and `argv['--']` with everything after the `--`. Here's an example: +* `opts.unknown` - a function which is invoked with a command line parameter not +defined in the `opts` configuration object. If the function returns `false`, the +unknown option is not added to `argv`. + +``` +> require('./')('one two three -- four five --six'.split(' '), { '--': true }) +{ _: [ 'one', 'two', 'three' ], + '--': [ 'four', 'five', '--six' ] } +``` + +Note that with `opts['--']` set, parsing for arguments still stops after the +`--`. + +# install + +With [npm](https://npmjs.org) do: + +``` +npm install minimist +``` + +# license + +MIT diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/all_bool.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/all_bool.js new file mode 100644 index 00000000..ac835483 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/all_bool.js @@ -0,0 +1,32 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean true (default all --args to boolean)', function (t) { + var argv = parse(['moo', '--honk', 'cow'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); + +test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { + var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + tacos: 'good', + p: 55, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/bool.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/bool.js new file mode 100644 index 00000000..14b0717c --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/bool.js @@ -0,0 +1,166 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean default false', function (t) { + var argv = parse(['moo'], { + boolean: ['t', 'verbose'], + default: { verbose: false, t: false } + }); + + t.deepEqual(argv, { + verbose: false, + t: false, + _: ['moo'] + }); + + t.deepEqual(typeof argv.verbose, 'boolean'); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); + +}); + +test('boolean groups', function (t) { + var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { + boolean: ['x','y','z'] + }); + + t.deepEqual(argv, { + x : true, + y : false, + z : true, + _ : [ 'one', 'two', 'three' ] + }); + + t.deepEqual(typeof argv.x, 'boolean'); + t.deepEqual(typeof argv.y, 'boolean'); + t.deepEqual(typeof argv.z, 'boolean'); + t.end(); +}); +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = parse(aliased, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var propertyArgv = parse(regular, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + alias: { 'h': 'herp' }, + boolean: 'herp' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias array with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var alt = [ '--harp', 'derp' ]; + var opts = { + alias: { 'h': ['herp', 'harp'] }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var altPropertyArgv = parse(alt, opts); + var expected = { + harp: true, + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.same(altPropertyArgv, expected); + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = parse(['--boool', '--other=true'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = parse(['--boool', '--other=false'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); + +test('boolean --boool=true', function (t) { + var parsed = parse(['--boool=true'], { + default: { + boool: false + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, true); + t.end(); +}); + +test('boolean --boool=false', function (t) { + var parsed = parse(['--boool=false'], { + default: { + boool: true + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, false); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/dash.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/dash.js new file mode 100644 index 00000000..5a4fa5be --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/dash.js @@ -0,0 +1,31 @@ +var parse = require('../'); +var test = require('tape'); + +test('-', function (t) { + t.plan(5); + t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); + t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); + t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); + t.deepEqual( + parse([ '-b', '-' ], { boolean: 'b' }), + { b: true, _: [ '-' ] } + ); + t.deepEqual( + parse([ '-s', '-' ], { string: 's' }), + { s: '-', _: [] } + ); +}); + +test('-a -- b', function (t) { + t.plan(3); + t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); + t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); + t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); +}); + +test('move arguments after the -- into their own `--` array', function(t) { + t.plan(1); + t.deepEqual( + parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }), + { name: 'John', _: [ 'before' ], '--': [ 'after' ] }); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/default_bool.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/default_bool.js new file mode 100644 index 00000000..780a3112 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/default_bool.js @@ -0,0 +1,35 @@ +var test = require('tape'); +var parse = require('../'); + +test('boolean default true', function (t) { + var argv = parse([], { + boolean: 'sometrue', + default: { sometrue: true } + }); + t.equal(argv.sometrue, true); + t.end(); +}); + +test('boolean default false', function (t) { + var argv = parse([], { + boolean: 'somefalse', + default: { somefalse: false } + }); + t.equal(argv.somefalse, false); + t.end(); +}); + +test('boolean default to null', function (t) { + var argv = parse([], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, null); + var argv = parse(['--maybe'], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, true); + t.end(); + +}) diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/dotted.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/dotted.js new file mode 100644 index 00000000..d8b3e856 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/dotted.js @@ -0,0 +1,22 @@ +var parse = require('../'); +var test = require('tape'); + +test('dotted alias', function (t) { + var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); + t.equal(argv.a.b, 22); + t.equal(argv.aa.bb, 22); + t.end(); +}); + +test('dotted default', function (t) { + var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); + t.equal(argv.a.b, 11); + t.equal(argv.aa.bb, 11); + t.end(); +}); + +test('dotted default with no alias', function (t) { + var argv = parse('', {default: {'a.b': 11}}); + t.equal(argv.a.b, 11); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/kv_short.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/kv_short.js new file mode 100644 index 00000000..f813b305 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/kv_short.js @@ -0,0 +1,16 @@ +var parse = require('../'); +var test = require('tape'); + +test('short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-b=123' ]); + t.deepEqual(argv, { b: 123, _: [] }); +}); + +test('multi short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-a=whatever', '-b=robots' ]); + t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/long.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/long.js new file mode 100644 index 00000000..5d3a1e09 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/long.js @@ -0,0 +1,31 @@ +var test = require('tape'); +var parse = require('../'); + +test('long opts', function (t) { + t.deepEqual( + parse([ '--bool' ]), + { bool : true, _ : [] }, + 'long boolean' + ); + t.deepEqual( + parse([ '--pow', 'xixxle' ]), + { pow : 'xixxle', _ : [] }, + 'long capture sp' + ); + t.deepEqual( + parse([ '--pow=xixxle' ]), + { pow : 'xixxle', _ : [] }, + 'long capture eq' + ); + t.deepEqual( + parse([ '--host', 'localhost', '--port', '555' ]), + { host : 'localhost', port : 555, _ : [] }, + 'long captures sp' + ); + t.deepEqual( + parse([ '--host=localhost', '--port=555' ]), + { host : 'localhost', port : 555, _ : [] }, + 'long captures eq' + ); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/num.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/num.js new file mode 100644 index 00000000..2cc77f4d --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/num.js @@ -0,0 +1,36 @@ +var parse = require('../'); +var test = require('tape'); + +test('nums', function (t) { + var argv = parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789' + ]); + t.deepEqual(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ] + }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv.y, 'number'); + t.deepEqual(typeof argv.z, 'number'); + t.deepEqual(typeof argv.w, 'string'); + t.deepEqual(typeof argv.hex, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); + +test('already a number', function (t) { + var argv = parse([ '-x', 1234, 789 ]); + t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/parse.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/parse.js new file mode 100644 index 00000000..7b4a2a17 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/parse.js @@ -0,0 +1,197 @@ +var parse = require('../'); +var test = require('tape'); + +test('parse args', function (t) { + t.deepEqual( + parse([ '--no-moo' ]), + { moo : false, _ : [] }, + 'no' + ); + t.deepEqual( + parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), + { v : ['a','b','c'], _ : [] }, + 'multi' + ); + t.end(); +}); + +test('comprehensive', function (t) { + t.deepEqual( + parse([ + '--name=meowmers', 'bare', '-cats', 'woo', + '-h', 'awesome', '--multi=quux', + '--key', 'value', + '-b', '--bool', '--no-meep', '--multi=baz', + '--', '--not-a-flag', 'eek' + ]), + { + c : true, + a : true, + t : true, + s : 'woo', + h : 'awesome', + b : true, + bool : true, + key : 'value', + multi : [ 'quux', 'baz' ], + meep : false, + name : 'meowmers', + _ : [ 'bare', '--not-a-flag', 'eek' ] + } + ); + t.end(); +}); + +test('flag boolean', function (t) { + var argv = parse([ '-t', 'moo' ], { boolean: 't' }); + t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); +}); + +test('flag boolean value', function (t) { + var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], { + boolean: [ 't', 'verbose' ], + default: { verbose: true } + }); + + t.deepEqual(argv, { + verbose: false, + t: true, + _: ['moo'] + }); + + t.deepEqual(typeof argv.verbose, 'boolean'); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); +}); + +test('newlines in params' , function (t) { + var args = parse([ '-s', "X\nX" ]) + t.deepEqual(args, { _ : [], s : "X\nX" }); + + // reproduce in bash: + // VALUE="new + // line" + // node program.js --s="$VALUE" + args = parse([ "--s=X\nX" ]) + t.deepEqual(args, { _ : [], s : "X\nX" }); + t.end(); +}); + +test('strings' , function (t) { + var s = parse([ '-s', '0001234' ], { string: 's' }).s; + t.equal(s, '0001234'); + t.equal(typeof s, 'string'); + + var x = parse([ '-x', '56' ], { string: 'x' }).x; + t.equal(x, '56'); + t.equal(typeof x, 'string'); + t.end(); +}); + +test('stringArgs', function (t) { + var s = parse([ ' ', ' ' ], { string: '_' })._; + t.same(s.length, 2); + t.same(typeof s[0], 'string'); + t.same(s[0], ' '); + t.same(typeof s[1], 'string'); + t.same(s[1], ' '); + t.end(); +}); + +test('empty strings', function(t) { + var s = parse([ '-s' ], { string: 's' }).s; + t.equal(s, ''); + t.equal(typeof s, 'string'); + + var str = parse([ '--str' ], { string: 'str' }).str; + t.equal(str, ''); + t.equal(typeof str, 'string'); + + var letters = parse([ '-art' ], { + string: [ 'a', 't' ] + }); + + t.equal(letters.a, ''); + t.equal(letters.r, true); + t.equal(letters.t, ''); + + t.end(); +}); + + +test('string and alias', function(t) { + var x = parse([ '--str', '000123' ], { + string: 's', + alias: { s: 'str' } + }); + + t.equal(x.str, '000123'); + t.equal(typeof x.str, 'string'); + t.equal(x.s, '000123'); + t.equal(typeof x.s, 'string'); + + var y = parse([ '-s', '000123' ], { + string: 'str', + alias: { str: 's' } + }); + + t.equal(y.str, '000123'); + t.equal(typeof y.str, 'string'); + t.equal(y.s, '000123'); + t.equal(typeof y.s, 'string'); + t.end(); +}); + +test('slashBreak', function (t) { + t.same( + parse([ '-I/foo/bar/baz' ]), + { I : '/foo/bar/baz', _ : [] } + ); + t.same( + parse([ '-xyz/foo/bar/baz' ]), + { x : true, y : true, z : '/foo/bar/baz', _ : [] } + ); + t.end(); +}); + +test('alias', function (t) { + var argv = parse([ '-f', '11', '--zoom', '55' ], { + alias: { z: 'zoom' } + }); + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.f, 11); + t.end(); +}); + +test('multiAlias', function (t) { + var argv = parse([ '-f', '11', '--zoom', '55' ], { + alias: { z: [ 'zm', 'zoom' ] } + }); + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.z, argv.zm); + t.equal(argv.f, 11); + t.end(); +}); + +test('nested dotted objects', function (t) { + var argv = parse([ + '--foo.bar', '3', '--foo.baz', '4', + '--foo.quux.quibble', '5', '--foo.quux.o_O', + '--beep.boop' + ]); + + t.same(argv.foo, { + bar : 3, + baz : 4, + quux : { + quibble : 5, + o_O : true + } + }); + t.same(argv.beep, { boop : true }); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/parse_modified.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/parse_modified.js new file mode 100644 index 00000000..ab620dc5 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/parse_modified.js @@ -0,0 +1,9 @@ +var parse = require('../'); +var test = require('tape'); + +test('parse with modifier functions' , function (t) { + t.plan(1); + + var argv = parse([ '-b', '123' ], { boolean: 'b' }); + t.deepEqual(argv, { b: true, _: [123] }); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/short.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/short.js new file mode 100644 index 00000000..d513a1c2 --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/short.js @@ -0,0 +1,67 @@ +var parse = require('../'); +var test = require('tape'); + +test('numeric short args', function (t) { + t.plan(2); + t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] }); + t.deepEqual( + parse([ '-123', '456' ]), + { 1: true, 2: true, 3: 456, _: [] } + ); +}); + +test('short', function (t) { + t.deepEqual( + parse([ '-b' ]), + { b : true, _ : [] }, + 'short boolean' + ); + t.deepEqual( + parse([ 'foo', 'bar', 'baz' ]), + { _ : [ 'foo', 'bar', 'baz' ] }, + 'bare' + ); + t.deepEqual( + parse([ '-cats' ]), + { c : true, a : true, t : true, s : true, _ : [] }, + 'group' + ); + t.deepEqual( + parse([ '-cats', 'meow' ]), + { c : true, a : true, t : true, s : 'meow', _ : [] }, + 'short group next' + ); + t.deepEqual( + parse([ '-h', 'localhost' ]), + { h : 'localhost', _ : [] }, + 'short capture' + ); + t.deepEqual( + parse([ '-h', 'localhost', '-p', '555' ]), + { h : 'localhost', p : 555, _ : [] }, + 'short captures' + ); + t.end(); +}); + +test('mixed short bool and capture', function (t) { + t.same( + parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ] + } + ); + t.end(); +}); + +test('short and long', function (t) { + t.deepEqual( + parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ] + } + ); + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/stop_early.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/stop_early.js new file mode 100644 index 00000000..bdf9fbcb --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/stop_early.js @@ -0,0 +1,15 @@ +var parse = require('../'); +var test = require('tape'); + +test('stops parsing on the first non-option when stopEarly is set', function (t) { + var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { + stopEarly: true + }); + + t.deepEqual(argv, { + aaa: 'bbb', + _: ['ccc', '--ddd'] + }); + + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/unknown.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/unknown.js new file mode 100644 index 00000000..462a36bd --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/unknown.js @@ -0,0 +1,102 @@ +var parse = require('../'); +var test = require('tape'); + +test('boolean and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'true', '--derp', 'true' ]; + var regular = [ '--herp', 'true', '-d', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('flag boolean true any double hyphen argument is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], { + boolean: true, + unknown: unknownFn + }); + t.same(unknown, ['--tacos=good', 'cow', '-p']); + t.same(argv, { + honk: true, + _: [] + }); + t.end(); +}); + +test('string and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello', '--derp', 'goodbye' ]; + var regular = [ '--herp', 'hello', '-d', 'moon' ]; + var opts = { + alias: { h: 'herp' }, + string: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('default and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello' ]; + var regular = [ '--herp', 'hello' ]; + var opts = { + default: { 'h': 'bar' }, + alias: { 'h': 'herp' }, + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, []); + t.end(); + unknownFn(); // exercise fn for 100% coverage +}); + +test('value following -- is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '--bad', '--', 'good', 'arg' ]; + var opts = { + '--': true, + unknown: unknownFn + }; + var argv = parse(aliased, opts); + + t.same(unknown, ['--bad']); + t.same(argv, { + '--': ['good', 'arg'], + '_': [] + }) + t.end(); +}); diff --git a/build/js-transpiled/node_modules/json5/node_modules/minimist/test/whitespace.js b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/whitespace.js new file mode 100644 index 00000000..8a52a58c --- /dev/null +++ b/build/js-transpiled/node_modules/json5/node_modules/minimist/test/whitespace.js @@ -0,0 +1,8 @@ +var parse = require('../'); +var test = require('tape'); + +test('whitespace should be whitespace' , function (t) { + t.plan(1); + var x = parse([ '-x', '\t' ]).x; + t.equal(x, '\t'); +}); diff --git a/build/js-transpiled/node_modules/json5/package.json b/build/js-transpiled/node_modules/json5/package.json index 85985a3e..33869d23 100644 --- a/build/js-transpiled/node_modules/json5/package.json +++ b/build/js-transpiled/node_modules/json5/package.json @@ -1,27 +1,27 @@ { - "_from": "json5@0.5.1", - "_id": "json5@0.5.1", + "_from": "json5@2.1.0", + "_id": "json5@2.1.0", "_inBundle": false, - "_integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "_integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "_location": "/json5", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "json5@0.5.1", + "raw": "json5@2.1.0", "name": "json5", "escapedName": "json5", - "rawSpec": "0.5.1", + "rawSpec": "2.1.0", "saveSpec": null, - "fetchSpec": "0.5.1" + "fetchSpec": "2.1.0" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "_shasum": "1eade7acc012034ad84e2396767ead9fa5495821", - "_spec": "json5@0.5.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "_shasum": "e7a0c62c48285c628d20a10b85c89bb807c32850", + "_spec": "json5@2.1.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Aseem Kishore", "email": "aseem.kishore@gmail.com" @@ -29,8 +29,9 @@ "bin": { "json5": "lib/cli.js" }, + "browser": "dist/index.js", "bugs": { - "url": "https://github.com/aseemk/json5/issues" + "url": "https://github.com/json5/json5/issues" }, "bundleDependencies": false, "contributors": [ @@ -47,34 +48,62 @@ "email": "jordanbtucker@gmail.com" } ], - "dependencies": {}, + "dependencies": { + "minimist": "^1.2.0" + }, "deprecated": false, - "description": "JSON for the ES5 era.", + "description": "JSON for humans.", "devDependencies": { - "gulp": "^3.9.1", - "gulp-jshint": "^2.0.1", - "jshint": "^2.9.3", - "jshint-stylish": "^2.2.1", - "mocha": "^3.1.0" + "core-js": "^2.5.7", + "eslint": "^5.3.0", + "eslint-config-standard": "^11.0.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-promise": "^3.8.0", + "eslint-plugin-standard": "^3.1.0", + "regenerate": "^1.4.0", + "rollup": "^0.64.1", + "rollup-plugin-buble": "^0.19.2", + "rollup-plugin-commonjs": "^9.1.5", + "rollup-plugin-node-resolve": "^3.3.0", + "rollup-plugin-terser": "^1.0.1", + "sinon": "^6.1.5", + "tap": "^12.0.1", + "unicode-10.0.0": "^0.7.5" + }, + "engines": { + "node": ">=6" }, "files": [ - "lib/" + "lib/", + "dist/" ], "homepage": "http://json5.org/", "keywords": [ "json", - "es5" + "json5", + "es5", + "es2015", + "ecmascript" ], "license": "MIT", - "main": "lib/json5.js", + "main": "lib/index.js", "name": "json5", "repository": { "type": "git", - "url": "git+https://github.com/aseemk/json5.git" + "url": "git+https://github.com/json5/json5.git" }, "scripts": { - "build": "node ./lib/cli.js -c package.json5", - "test": "mocha --ui exports --reporter spec" + "build": "rollup -c", + "build-package": "node build/package.js", + "build-unicode": "node build/unicode.js", + "coverage": "tap --coverage-report html test", + "lint": "eslint --fix .", + "prepublishOnly": "npm run production", + "preversion": "npm run production", + "production": "npm run lint && npm test && npm run build", + "test": "tap -Rspec --100 test", + "version": "npm run build-package && git add package.json5" }, - "version": "0.5.1" + "version": "2.1.0" } diff --git a/build/js-transpiled/node_modules/jsonfile/.npmignore b/build/js-transpiled/node_modules/jsonfile/.npmignore deleted file mode 100644 index 874ae580..00000000 --- a/build/js-transpiled/node_modules/jsonfile/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -test/ -.travis.yml -appveyor.yml diff --git a/build/js-transpiled/node_modules/jsonfile/CHANGELOG.md b/build/js-transpiled/node_modules/jsonfile/CHANGELOG.md index ff0c4e30..7718857a 100644 --- a/build/js-transpiled/node_modules/jsonfile/CHANGELOG.md +++ b/build/js-transpiled/node_modules/jsonfile/CHANGELOG.md @@ -1,3 +1,11 @@ +4.0.0 / 2017-07-12 +------------------ + +- **BREAKING:** Remove global `spaces` option. +- **BREAKING:** Drop support for Node 0.10, 0.12, and io.js. +- Remove undocumented `passParsingErrors` option. +- Added `EOL` override option to `writeFile` when using `spaces`. [#89] + 3.0.1 / 2017-07-05 ------------------ @@ -89,12 +97,13 @@ changes it according to docs. [#12][#12] ------------------ * Initial release. +[#89]: https://github.com/jprichardson/node-jsonfile/pull/89 [#45]: https://github.com/jprichardson/node-jsonfile/issues/45 "Reading of UTF8-encoded (w/ BOM) files fails" [#44]: https://github.com/jprichardson/node-jsonfile/issues/44 "Extra characters in written file" [#43]: https://github.com/jprichardson/node-jsonfile/issues/43 "Prettyfy json when written to file" [#42]: https://github.com/jprichardson/node-jsonfile/pull/42 "Moved fs.readFileSync within the try/catch" [#41]: https://github.com/jprichardson/node-jsonfile/issues/41 "Linux: Hidden file not working" -[#40]: https://github.com/jprichardson/node-jsonfile/issues/40 "autocreate folder doesnt work from Path-value" +[#40]: https://github.com/jprichardson/node-jsonfile/issues/40 "autocreate folder doesn't work from Path-value" [#39]: https://github.com/jprichardson/node-jsonfile/pull/39 "Add `throws` option for readFile (async)" [#38]: https://github.com/jprichardson/node-jsonfile/pull/38 "Update README.md writeFile[Sync] signature" [#37]: https://github.com/jprichardson/node-jsonfile/pull/37 "support append file" diff --git a/build/js-transpiled/node_modules/jsonfile/README.md b/build/js-transpiled/node_modules/jsonfile/README.md index 1f214df9..721685c9 100644 --- a/build/js-transpiled/node_modules/jsonfile/README.md +++ b/build/js-transpiled/node_modules/jsonfile/README.md @@ -57,7 +57,7 @@ console.dir(jsonfile.readFileSync(file)) ### writeFile(filename, obj, [options], callback) -`options`: Pass in any `fs.writeFile` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces`. +`options`: Pass in any `fs.writeFile` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces` and override `EOL` string. ```js @@ -84,6 +84,19 @@ jsonfile.writeFile(file, obj, {spaces: 2}, function(err) { }) ``` +**overriding EOL:** + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFile(file, obj, {spaces: 2, EOL: '\r\n'}, function(err) { + console.error(err) +}) +``` + **appending to an existing JSON file:** You can use `fs.writeFile` option `{flag: 'a'}` to achieve this. @@ -101,7 +114,7 @@ jsonfile.writeFile(file, obj, {flag: 'a'}, function (err) { ### writeFileSync(filename, obj, [options]) -`options`: Pass in any `fs.writeFileSync` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces`. +`options`: Pass in any `fs.writeFileSync` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces` and override `EOL` string. ```js var jsonfile = require('jsonfile') @@ -123,61 +136,30 @@ var obj = {name: 'JP'} jsonfile.writeFileSync(file, obj, {spaces: 2}) ``` -**appending to an existing JSON file:** - -You can use `fs.writeFileSync` option `{flag: 'a'}` to achieve this. +**overriding EOL:** ```js var jsonfile = require('jsonfile') -var file = '/tmp/mayAlreadyExistedData.json' +var file = '/tmp/data.json' var obj = {name: 'JP'} -jsonfile.writeFileSync(file, obj, {flag: 'a'}) +jsonfile.writeFileSync(file, obj, {spaces: 2, EOL: '\r\n'}) ``` -### spaces - -Global configuration to set spaces to indent JSON files. +**appending to an existing JSON file:** -**default:** `null` +You can use `fs.writeFileSync` option `{flag: 'a'}` to achieve this. ```js var jsonfile = require('jsonfile') -jsonfile.spaces = 4 - -var file = '/tmp/data.json' +var file = '/tmp/mayAlreadyExistedData.json' var obj = {name: 'JP'} -// json file has four space indenting now -jsonfile.writeFile(file, obj, function (err) { - console.error(err) -}) -``` - -Note, it's bound to `this.spaces`. So, if you do this: - -```js -var myObj = {} -myObj.writeJsonSync = jsonfile.writeFileSync -// => this.spaces = null -``` - -Could do the following: - -```js -var jsonfile = require('jsonfile') -jsonfile.spaces = 4 -jsonfile.writeFileSync(file, obj) // will have 4 spaces indentation - -var myCrazyObj = {spaces: 32} -myCrazyObj.writeJsonSync = jsonfile.writeFileSync -myCrazyObj.writeJsonSync(file, obj) // will have 32 space indentation -myCrazyObj.writeJsonSync(file, obj, {spaces: 2}) // will have only 2 +jsonfile.writeFileSync(file, obj, {flag: 'a'}) ``` - License ------- diff --git a/build/js-transpiled/node_modules/jsonfile/index.js b/build/js-transpiled/node_modules/jsonfile/index.js index a28684f6..d1e5827c 100644 --- a/build/js-transpiled/node_modules/jsonfile/index.js +++ b/build/js-transpiled/node_modules/jsonfile/index.js @@ -19,10 +19,7 @@ function readFile (file, options, callback) { var fs = options.fs || _fs var shouldThrow = true - // DO NOT USE 'passParsingErrors' THE NAME WILL CHANGE!!!, use 'throws' instead - if ('passParsingErrors' in options) { - shouldThrow = options.passParsingErrors - } else if ('throws' in options) { + if ('throws' in options) { shouldThrow = options.throws } @@ -56,10 +53,7 @@ function readFileSync (file, options) { var fs = options.fs || _fs var shouldThrow = true - // DO NOT USE 'passParsingErrors' THE NAME WILL CHANGE!!!, use 'throws' instead - if ('passParsingErrors' in options) { - shouldThrow = options.passParsingErrors - } else if ('throws' in options) { + if ('throws' in options) { shouldThrow = options.throws } @@ -77,6 +71,23 @@ function readFileSync (file, options) { } } +function stringify (obj, options) { + var spaces + var EOL = '\n' + if (typeof options === 'object' && options !== null) { + if (options.spaces) { + spaces = options.spaces + } + if (options.EOL) { + EOL = options.EOL + } + } + + var str = JSON.stringify(obj, options ? options.replacer : null, spaces) + + return str.replace(/\n/g, EOL) + EOL +} + function writeFile (file, obj, options, callback) { if (callback == null) { callback = options @@ -85,14 +96,9 @@ function writeFile (file, obj, options, callback) { options = options || {} var fs = options.fs || _fs - var spaces = typeof options === 'object' && options !== null - ? 'spaces' in options - ? options.spaces : this.spaces - : this.spaces - var str = '' try { - str = JSON.stringify(obj, options ? options.replacer : null, spaces) + '\n' + str = stringify(obj, options) } catch (err) { // Need to return whether a callback was passed or not if (callback) callback(err, null) @@ -106,12 +112,7 @@ function writeFileSync (file, obj, options) { options = options || {} var fs = options.fs || _fs - var spaces = typeof options === 'object' && options !== null - ? 'spaces' in options - ? options.spaces : this.spaces - : this.spaces - - var str = JSON.stringify(obj, options.replacer, spaces) + '\n' + var str = stringify(obj, options) // not sure if fs.writeFileSync returns anything, but just in case return fs.writeFileSync(file, str, options) } @@ -124,7 +125,6 @@ function stripBom (content) { } var jsonfile = { - spaces: null, readFile: readFile, readFileSync: readFileSync, writeFile: writeFile, diff --git a/build/js-transpiled/node_modules/jsonfile/package.json b/build/js-transpiled/node_modules/jsonfile/package.json index 2b40a64c..9ef024f4 100644 --- a/build/js-transpiled/node_modules/jsonfile/package.json +++ b/build/js-transpiled/node_modules/jsonfile/package.json @@ -1,27 +1,27 @@ { - "_from": "jsonfile@^3.0.0", - "_id": "jsonfile@3.0.1", + "_from": "jsonfile@^4.0.0", + "_id": "jsonfile@4.0.0", "_inBundle": false, - "_integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "_integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "_location": "/jsonfile", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "jsonfile@^3.0.0", + "raw": "jsonfile@^4.0.0", "name": "jsonfile", "escapedName": "jsonfile", - "rawSpec": "^3.0.0", + "rawSpec": "^4.0.0", "saveSpec": null, - "fetchSpec": "^3.0.0" + "fetchSpec": "^4.0.0" }, "_requiredBy": [ "/fs-extra" ], - "_resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "_shasum": "a5ecc6f65f53f662c4415c7675a0331d0992ec66", - "_spec": "jsonfile@^3.0.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/fs-extra", + "_resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "_shasum": "8771aae0799b64076b76640fca058f9c10e33ecb", + "_spec": "jsonfile@^4.0.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/fs-extra", "author": { "name": "JP Richardson", "email": "jprichardson@gmail.com" @@ -38,8 +38,11 @@ "devDependencies": { "mocha": "2.x", "rimraf": "^2.4.0", - "standard": "^6.0.8" + "standard": "^10.0.3" }, + "files": [ + "index.js" + ], "homepage": "https://github.com/jprichardson/node-jsonfile#readme", "keywords": [ "read", @@ -64,5 +67,5 @@ "test": "npm run lint && npm run unit", "unit": "mocha" }, - "version": "3.0.1" + "version": "4.0.0" } diff --git a/build/js-transpiled/node_modules/lodash/README.md b/build/js-transpiled/node_modules/lodash/README.md index acdd128c..ba111a5a 100644 --- a/build/js-transpiled/node_modules/lodash/README.md +++ b/build/js-transpiled/node_modules/lodash/README.md @@ -1,4 +1,4 @@ -# lodash v4.17.4 +# lodash v4.17.11 The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules. @@ -28,12 +28,12 @@ var at = require('lodash/at'); var curryN = require('lodash/fp/curryN'); ``` -See the [package source](https://github.com/lodash/lodash/tree/4.17.4-npm) for more details. +See the [package source](https://github.com/lodash/lodash/tree/4.17.11-npm) for more details. **Note:**
    Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL. ## Support -Tested in Chrome 54-55, Firefox 49-50, IE 11, Edge 14, Safari 9-10, Node.js 6-7, & PhantomJS 2.1.1.
    +Tested in Chrome 68-69, Firefox 61-62, IE 11, Edge 17, Safari 10-11, Node.js 6-10, & PhantomJS 2.1.1.
    Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available. diff --git a/build/js-transpiled/node_modules/lodash/_addMapEntry.js b/build/js-transpiled/node_modules/lodash/_addMapEntry.js deleted file mode 100644 index 5a692121..00000000 --- a/build/js-transpiled/node_modules/lodash/_addMapEntry.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Adds the key-value `pair` to `map`. - * - * @private - * @param {Object} map The map to modify. - * @param {Array} pair The key-value pair to add. - * @returns {Object} Returns `map`. - */ -function addMapEntry(map, pair) { - // Don't return `map.set` because it's not chainable in IE 11. - map.set(pair[0], pair[1]); - return map; -} - -module.exports = addMapEntry; diff --git a/build/js-transpiled/node_modules/lodash/_addSetEntry.js b/build/js-transpiled/node_modules/lodash/_addSetEntry.js deleted file mode 100644 index 1a07b708..00000000 --- a/build/js-transpiled/node_modules/lodash/_addSetEntry.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Adds `value` to `set`. - * - * @private - * @param {Object} set The set to modify. - * @param {*} value The value to add. - * @returns {Object} Returns `set`. - */ -function addSetEntry(set, value) { - // Don't return `set.add` because it's not chainable in IE 11. - set.add(value); - return set; -} - -module.exports = addSetEntry; diff --git a/build/js-transpiled/node_modules/lodash/_baseClone.js b/build/js-transpiled/node_modules/lodash/_baseClone.js index 7c27a37d..6f73684f 100644 --- a/build/js-transpiled/node_modules/lodash/_baseClone.js +++ b/build/js-transpiled/node_modules/lodash/_baseClone.js @@ -15,7 +15,9 @@ var Stack = require('./_Stack'), initCloneObject = require('./_initCloneObject'), isArray = require('./isArray'), isBuffer = require('./isBuffer'), + isMap = require('./isMap'), isObject = require('./isObject'), + isSet = require('./isSet'), keys = require('./keys'); /** Used to compose bitmasks for cloning. */ @@ -123,7 +125,7 @@ function baseClone(value, bitmask, customizer, key, object, stack) { if (!cloneableTags[tag]) { return object ? value : {}; } - result = initCloneByTag(value, tag, baseClone, isDeep); + result = initCloneByTag(value, tag, isDeep); } } // Check for circular references and return its corresponding clone. @@ -134,6 +136,22 @@ function baseClone(value, bitmask, customizer, key, object, stack) { } stack.set(value, result); + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + + return result; + } + + if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + + return result; + } + var keysFunc = isFull ? (isFlat ? getAllKeysIn : getAllKeys) : (isFlat ? keysIn : keys); diff --git a/build/js-transpiled/node_modules/lodash/_baseMerge.js b/build/js-transpiled/node_modules/lodash/_baseMerge.js index f4cb8c69..c5868f04 100644 --- a/build/js-transpiled/node_modules/lodash/_baseMerge.js +++ b/build/js-transpiled/node_modules/lodash/_baseMerge.js @@ -3,7 +3,8 @@ var Stack = require('./_Stack'), baseFor = require('./_baseFor'), baseMergeDeep = require('./_baseMergeDeep'), isObject = require('./isObject'), - keysIn = require('./keysIn'); + keysIn = require('./keysIn'), + safeGet = require('./_safeGet'); /** * The base implementation of `_.merge` without support for multiple sources. @@ -27,7 +28,7 @@ function baseMerge(object, source, srcIndex, customizer, stack) { } else { var newValue = customizer - ? customizer(object[key], srcValue, (key + ''), object, source, stack) + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) : undefined; if (newValue === undefined) { diff --git a/build/js-transpiled/node_modules/lodash/_baseMergeDeep.js b/build/js-transpiled/node_modules/lodash/_baseMergeDeep.js index 42b405a3..4679e8dc 100644 --- a/build/js-transpiled/node_modules/lodash/_baseMergeDeep.js +++ b/build/js-transpiled/node_modules/lodash/_baseMergeDeep.js @@ -11,6 +11,7 @@ var assignMergeValue = require('./_assignMergeValue'), isObject = require('./isObject'), isPlainObject = require('./isPlainObject'), isTypedArray = require('./isTypedArray'), + safeGet = require('./_safeGet'), toPlainObject = require('./toPlainObject'); /** @@ -29,8 +30,8 @@ var assignMergeValue = require('./_assignMergeValue'), * counterparts. */ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = object[key], - srcValue = source[key], + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), stacked = stack.get(srcValue); if (stacked) { @@ -73,7 +74,7 @@ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, sta if (isArguments(objValue)) { newValue = toPlainObject(objValue); } - else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { + else if (!isObject(objValue) || isFunction(objValue)) { newValue = initCloneObject(srcValue); } } diff --git a/build/js-transpiled/node_modules/lodash/_cloneMap.js b/build/js-transpiled/node_modules/lodash/_cloneMap.js deleted file mode 100644 index 334b73e9..00000000 --- a/build/js-transpiled/node_modules/lodash/_cloneMap.js +++ /dev/null @@ -1,22 +0,0 @@ -var addMapEntry = require('./_addMapEntry'), - arrayReduce = require('./_arrayReduce'), - mapToArray = require('./_mapToArray'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a clone of `map`. - * - * @private - * @param {Object} map The map to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned map. - */ -function cloneMap(map, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map); - return arrayReduce(array, addMapEntry, new map.constructor); -} - -module.exports = cloneMap; diff --git a/build/js-transpiled/node_modules/lodash/_cloneSet.js b/build/js-transpiled/node_modules/lodash/_cloneSet.js deleted file mode 100644 index 713a2f76..00000000 --- a/build/js-transpiled/node_modules/lodash/_cloneSet.js +++ /dev/null @@ -1,22 +0,0 @@ -var addSetEntry = require('./_addSetEntry'), - arrayReduce = require('./_arrayReduce'), - setToArray = require('./_setToArray'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a clone of `set`. - * - * @private - * @param {Object} set The set to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned set. - */ -function cloneSet(set, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set); - return arrayReduce(array, addSetEntry, new set.constructor); -} - -module.exports = cloneSet; diff --git a/build/js-transpiled/node_modules/lodash/_hasUnicodeWord.js b/build/js-transpiled/node_modules/lodash/_hasUnicodeWord.js index a35d6e50..95d52c44 100644 --- a/build/js-transpiled/node_modules/lodash/_hasUnicodeWord.js +++ b/build/js-transpiled/node_modules/lodash/_hasUnicodeWord.js @@ -1,5 +1,5 @@ /** Used to detect strings that need a more robust regexp to match words. */ -var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; +var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; /** * Checks if `string` contains a word composed of Unicode symbols. diff --git a/build/js-transpiled/node_modules/lodash/_initCloneArray.js b/build/js-transpiled/node_modules/lodash/_initCloneArray.js index aef02120..078c15af 100644 --- a/build/js-transpiled/node_modules/lodash/_initCloneArray.js +++ b/build/js-transpiled/node_modules/lodash/_initCloneArray.js @@ -13,7 +13,7 @@ var hasOwnProperty = objectProto.hasOwnProperty; */ function initCloneArray(array) { var length = array.length, - result = array.constructor(length); + result = new array.constructor(length); // Add properties assigned by `RegExp#exec`. if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { diff --git a/build/js-transpiled/node_modules/lodash/_initCloneByTag.js b/build/js-transpiled/node_modules/lodash/_initCloneByTag.js index e7b77edc..f69a008c 100644 --- a/build/js-transpiled/node_modules/lodash/_initCloneByTag.js +++ b/build/js-transpiled/node_modules/lodash/_initCloneByTag.js @@ -1,8 +1,6 @@ var cloneArrayBuffer = require('./_cloneArrayBuffer'), cloneDataView = require('./_cloneDataView'), - cloneMap = require('./_cloneMap'), cloneRegExp = require('./_cloneRegExp'), - cloneSet = require('./_cloneSet'), cloneSymbol = require('./_cloneSymbol'), cloneTypedArray = require('./_cloneTypedArray'); @@ -32,16 +30,15 @@ var arrayBufferTag = '[object ArrayBuffer]', * Initializes an object clone based on its `toStringTag`. * * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. * * @private * @param {Object} object The object to clone. * @param {string} tag The `toStringTag` of the object to clone. - * @param {Function} cloneFunc The function to clone values. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the initialized clone. */ -function initCloneByTag(object, tag, cloneFunc, isDeep) { +function initCloneByTag(object, tag, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag: @@ -60,7 +57,7 @@ function initCloneByTag(object, tag, cloneFunc, isDeep) { return cloneTypedArray(object, isDeep); case mapTag: - return cloneMap(object, isDeep, cloneFunc); + return new Ctor; case numberTag: case stringTag: @@ -70,7 +67,7 @@ function initCloneByTag(object, tag, cloneFunc, isDeep) { return cloneRegExp(object); case setTag: - return cloneSet(object, isDeep, cloneFunc); + return new Ctor; case symbolTag: return cloneSymbol(object); diff --git a/build/js-transpiled/node_modules/lodash/_isIndex.js b/build/js-transpiled/node_modules/lodash/_isIndex.js index e123dde8..061cd390 100644 --- a/build/js-transpiled/node_modules/lodash/_isIndex.js +++ b/build/js-transpiled/node_modules/lodash/_isIndex.js @@ -13,10 +13,13 @@ var reIsUint = /^(?:0|[1-9]\d*)$/; * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { + var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); } module.exports = isIndex; diff --git a/build/js-transpiled/node_modules/lodash/_nodeUtil.js b/build/js-transpiled/node_modules/lodash/_nodeUtil.js index 14e179fe..983d78f7 100644 --- a/build/js-transpiled/node_modules/lodash/_nodeUtil.js +++ b/build/js-transpiled/node_modules/lodash/_nodeUtil.js @@ -15,6 +15,14 @@ var freeProcess = moduleExports && freeGlobal.process; /** Used to access faster Node.js helpers. */ var nodeUtil = (function() { try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. return freeProcess && freeProcess.binding && freeProcess.binding('util'); } catch (e) {} }()); diff --git a/build/js-transpiled/node_modules/lodash/_safeGet.js b/build/js-transpiled/node_modules/lodash/_safeGet.js new file mode 100644 index 00000000..411b0620 --- /dev/null +++ b/build/js-transpiled/node_modules/lodash/_safeGet.js @@ -0,0 +1,17 @@ +/** + * Gets the value at `key`, unless `key` is "__proto__". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function safeGet(object, key) { + if (key == '__proto__') { + return; + } + + return object[key]; +} + +module.exports = safeGet; diff --git a/build/js-transpiled/node_modules/lodash/_stringToPath.js b/build/js-transpiled/node_modules/lodash/_stringToPath.js index db7b0f7d..8f39f8a2 100644 --- a/build/js-transpiled/node_modules/lodash/_stringToPath.js +++ b/build/js-transpiled/node_modules/lodash/_stringToPath.js @@ -1,8 +1,7 @@ var memoizeCapped = require('./_memoizeCapped'); /** Used to match property names within property paths. */ -var reLeadingDot = /^\./, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; /** Used to match backslashes in property paths. */ var reEscapeChar = /\\(\\)?/g; @@ -16,11 +15,11 @@ var reEscapeChar = /\\(\\)?/g; */ var stringToPath = memoizeCapped(function(string) { var result = []; - if (reLeadingDot.test(string)) { + if (string.charCodeAt(0) === 46 /* . */) { result.push(''); } - string.replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); }); return result; }); diff --git a/build/js-transpiled/node_modules/lodash/_unicodeWords.js b/build/js-transpiled/node_modules/lodash/_unicodeWords.js index d8b822ad..e72e6e0f 100644 --- a/build/js-transpiled/node_modules/lodash/_unicodeWords.js +++ b/build/js-transpiled/node_modules/lodash/_unicodeWords.js @@ -38,8 +38,8 @@ var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', reOptMod = rsModifier + '?', rsOptVar = '[' + rsVarRange + ']?', rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)', - rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq; diff --git a/build/js-transpiled/node_modules/lodash/core.js b/build/js-transpiled/node_modules/lodash/core.js index 88c263f8..e333c15b 100644 --- a/build/js-transpiled/node_modules/lodash/core.js +++ b/build/js-transpiled/node_modules/lodash/core.js @@ -13,7 +13,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.17.4'; + var VERSION = '4.17.11'; /** Error message constants. */ var FUNC_ERROR_TEXT = 'Expected a function'; @@ -49,6 +49,9 @@ var reUnescapedHtml = /[&<>"']/g, reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + /** Used to map characters to HTML entities. */ var htmlEscapes = { '&': '&', @@ -1159,26 +1162,6 @@ return wrapper; } - /** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; - } - /** * A specialized version of `baseIsEqualDeep` for arrays with support for * partial deep comparisons. @@ -1366,6 +1349,48 @@ return isArray(value) || isArguments(value); } + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + /** * This function is like * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) @@ -3098,39 +3123,6 @@ copyObject(source, nativeKeysIn(source), object); }); - /** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); - }); - /** * Creates an object that inherits from the `prototype` object. If a * `properties` object is given, its own enumerable string keyed properties @@ -3191,9 +3183,35 @@ * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); * // => { 'a': 1, 'b': 2 } */ - var defaults = baseRest(function(args) { - args.push(undefined, customDefaultsAssignIn); - return assignInWith.apply(undefined, args); + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; }); /** diff --git a/build/js-transpiled/node_modules/lodash/core.min.js b/build/js-transpiled/node_modules/lodash/core.min.js index b909d31c..bd1e5453 100644 --- a/build/js-transpiled/node_modules/lodash/core.min.js +++ b/build/js-transpiled/node_modules/lodash/core.min.js @@ -3,27 +3,27 @@ * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE * Build: `lodash core -o ./dist/lodash.core.js` */ -;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function"); -return setTimeout(function(){n.apply(nn,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++et}function y(n,t,r,e,u){return n===t||(null==n||null==t||!K(n)&&!K(t)?n!==n&&t!==t:b(n,t,r,e,y,u))}function b(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){ -return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t, -r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?d:r)(n)}function _(n,t){return nt&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++ei))return false;for(var c=-1,f=true,a=2&r?[]:nn;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn)}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n); -}function H(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Nn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,In(n))}function Y(n){return n}function Z(n,r,e){var u=In(r),o=h(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,In(r))); -var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ -return function(t){return null==n?nn:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i; -var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&rt}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!H(t)?n!==n&&t!==t:y(n,t,r,e,b,u))}function y(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){ +return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=B(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t, +r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?d:r)(n)}function _(n,t){return nt&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++ei))return false;for(var c=-1,f=true,a=2&r?[]:Z;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn)}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n), +function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1=t),t&&!U(n)}function U(n){return!!V(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function V(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function H(n){return null!=n&&typeof n=="object"}function K(n){ +return typeof n=="number"||H(n)&&"[object Number]"==hn.call(n)}function L(n){return typeof n=="string"||!Nn(n)&&H(n)&&"[object String]"==hn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return null==n?[]:u(n,Dn(n))}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=h(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__; +if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"']/g,rn=RegExp(tn.source),en=/^(?:0|[1-9]\d*)$/,un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ +return function(t){return null==n?Z:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,bn=Object.create,yn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return V(t)?bn?bn(t):(n.prototype=t,t=new n,n.prototype=Z,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i; +var mn=function(n,t){return function(r,e){if(null==r)return r;if(!M(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r { 'a': 1, 'b': 2 } */ -var defaults = baseRest(function(args) { - args.push(undefined, customDefaultsAssignIn); - return apply(assignInWith, undefined, args); +var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; }); module.exports = defaults; diff --git a/build/js-transpiled/node_modules/lodash/fp/_baseConvert.js b/build/js-transpiled/node_modules/lodash/fp/_baseConvert.js index 7af27655..9baf8e19 100644 --- a/build/js-transpiled/node_modules/lodash/fp/_baseConvert.js +++ b/build/js-transpiled/node_modules/lodash/fp/_baseConvert.js @@ -136,8 +136,7 @@ function wrapImmutable(func, cloner) { * @returns {Function|Object} Returns the converted function or object. */ function baseConvert(util, name, func, options) { - var setPlaceholder, - isLib = typeof name == 'function', + var isLib = typeof name == 'function', isObj = name === Object(name); if (isObj) { @@ -158,10 +157,10 @@ function baseConvert(util, name, func, options) { 'rearg': 'rearg' in options ? options.rearg : true }; - var forceCurry = ('curry' in options) && options.curry, + var defaultHolder = isLib ? func : fallbackHolder, + forceCurry = ('curry' in options) && options.curry, forceFixed = ('fixed' in options) && options.fixed, forceRearg = ('rearg' in options) && options.rearg, - placeholder = isLib ? func : fallbackHolder, pristine = isLib ? func.runInContext() : undefined; var helpers = isLib ? func : { @@ -171,7 +170,9 @@ function baseConvert(util, name, func, options) { 'curry': util.curry, 'forEach': util.forEach, 'isArray': util.isArray, + 'isError': util.isError, 'isFunction': util.isFunction, + 'isWeakMap': util.isWeakMap, 'iteratee': util.iteratee, 'keys': util.keys, 'rearg': util.rearg, @@ -185,7 +186,9 @@ function baseConvert(util, name, func, options) { curry = helpers.curry, each = helpers.forEach, isArray = helpers.isArray, + isError = helpers.isError, isFunction = helpers.isFunction, + isWeakMap = helpers.isWeakMap, keys = helpers.keys, rearg = helpers.rearg, toInteger = helpers.toInteger, @@ -355,8 +358,9 @@ function baseConvert(util, name, func, options) { var key = path[index], value = nested[key]; - if (value != null) { - nested[path[index]] = clone(index == lastIndex ? value : Object(value)); + if (value != null && + !(isFunction(value) || isError(value) || isWeakMap(value))) { + nested[key] = clone(index == lastIndex ? value : Object(value)); } nested = nested[key]; } @@ -461,7 +465,7 @@ function baseConvert(util, name, func, options) { * @param {Function} func The function to wrap. * @returns {Function} Returns the converted function. */ - function wrap(name, func) { + function wrap(name, func, placeholder) { var result, realName = mapping.aliasToReal[name] || name, wrapped = func, @@ -506,17 +510,15 @@ function baseConvert(util, name, func, options) { }; } result.convert = createConverter(realName, func); - if (mapping.placeholder[realName]) { - setPlaceholder = true; - result.placeholder = func.placeholder = placeholder; - } + result.placeholder = func.placeholder = placeholder; + return result; } /*--------------------------------------------------------------------------*/ if (!isObj) { - return wrap(name, func); + return wrap(name, func, defaultHolder); } var _ = func; @@ -526,7 +528,7 @@ function baseConvert(util, name, func, options) { each(mapping.aryMethod[aryKey], function(key) { var func = _[mapping.remap[key] || key]; if (func) { - pairs.push([key, wrap(key, func)]); + pairs.push([key, wrap(key, func, _)]); } }); }); @@ -552,9 +554,8 @@ function baseConvert(util, name, func, options) { }); _.convert = convertLib; - if (setPlaceholder) { - _.placeholder = placeholder; - } + _.placeholder = _; + // Assign aliases. each(keys(_), function(key) { each(mapping.realToAlias[key] || [], function(alias) { diff --git a/build/js-transpiled/node_modules/lodash/fp/_mapping.js b/build/js-transpiled/node_modules/lodash/fp/_mapping.js index 8f5ddf2d..a642ec05 100644 --- a/build/js-transpiled/node_modules/lodash/fp/_mapping.js +++ b/build/js-transpiled/node_modules/lodash/fp/_mapping.js @@ -261,16 +261,6 @@ exports.mutate = { } }; -/** Used to track methods with placeholder support */ -exports.placeholder = { - 'bind': true, - 'bindKey': true, - 'curry': true, - 'curryRight': true, - 'partial': true, - 'partialRight': true -}; - /** Used to map real names to their aliases. */ exports.realToAlias = (function() { var hasOwnProperty = Object.prototype.hasOwnProperty, diff --git a/build/js-transpiled/node_modules/lodash/fp/_util.js b/build/js-transpiled/node_modules/lodash/fp/_util.js index 70844630..1dbf36f5 100644 --- a/build/js-transpiled/node_modules/lodash/fp/_util.js +++ b/build/js-transpiled/node_modules/lodash/fp/_util.js @@ -5,7 +5,9 @@ module.exports = { 'curry': require('../curry'), 'forEach': require('../_arrayEach'), 'isArray': require('../isArray'), + 'isError': require('../isError'), 'isFunction': require('../isFunction'), + 'isWeakMap': require('../isWeakMap'), 'iteratee': require('../iteratee'), 'keys': require('../_baseKeys'), 'rearg': require('../rearg'), diff --git a/build/js-transpiled/node_modules/lodash/invert.js b/build/js-transpiled/node_modules/lodash/invert.js index 21d10aba..8c479509 100644 --- a/build/js-transpiled/node_modules/lodash/invert.js +++ b/build/js-transpiled/node_modules/lodash/invert.js @@ -2,6 +2,16 @@ var constant = require('./constant'), createInverter = require('./_createInverter'), identity = require('./identity'); +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + /** * Creates an object composed of the inverted keys and values of `object`. * If `object` contains duplicate values, subsequent values overwrite @@ -21,6 +31,11 @@ var constant = require('./constant'), * // => { '1': 'c', '2': 'b' } */ var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + result[value] = key; }, constant(identity)); diff --git a/build/js-transpiled/node_modules/lodash/invertBy.js b/build/js-transpiled/node_modules/lodash/invertBy.js index e5ba0f70..3f4f7e53 100644 --- a/build/js-transpiled/node_modules/lodash/invertBy.js +++ b/build/js-transpiled/node_modules/lodash/invertBy.js @@ -7,6 +7,13 @@ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + /** * This method is like `_.invert` except that the inverted object is generated * from the results of running each element of `object` thru `iteratee`. The @@ -34,6 +41,11 @@ var hasOwnProperty = objectProto.hasOwnProperty; * // => { 'group1': ['a', 'c'], 'group2': ['b'] } */ var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + if (hasOwnProperty.call(result, value)) { result[value].push(key); } else { diff --git a/build/js-transpiled/node_modules/lodash/lodash.js b/build/js-transpiled/node_modules/lodash/lodash.js index b39ddce6..cb139dd8 100644 --- a/build/js-transpiled/node_modules/lodash/lodash.js +++ b/build/js-transpiled/node_modules/lodash/lodash.js @@ -12,7 +12,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.17.4'; + var VERSION = '4.17.11'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -143,7 +143,6 @@ /** Used to match property names within property paths. */ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/, - reLeadingDot = /^\./, rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; /** @@ -243,8 +242,8 @@ reOptMod = rsModifier + '?', rsOptVar = '[' + rsVarRange + ']?', rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)', - rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; @@ -277,7 +276,7 @@ var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); /** Used to detect strings that need a more robust regexp to match words. */ - var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; /** Used to assign default `context` object properties. */ var contextProps = [ @@ -437,6 +436,14 @@ /** Used to access faster Node.js helpers. */ var nodeUtil = (function() { try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. return freeProcess && freeProcess.binding && freeProcess.binding('util'); } catch (e) {} }()); @@ -451,34 +458,6 @@ /*--------------------------------------------------------------------------*/ - /** - * Adds the key-value `pair` to `map`. - * - * @private - * @param {Object} map The map to modify. - * @param {Array} pair The key-value pair to add. - * @returns {Object} Returns `map`. - */ - function addMapEntry(map, pair) { - // Don't return `map.set` because it's not chainable in IE 11. - map.set(pair[0], pair[1]); - return map; - } - - /** - * Adds `value` to `set`. - * - * @private - * @param {Object} set The set to modify. - * @param {*} value The value to add. - * @returns {Object} Returns `set`. - */ - function addSetEntry(set, value) { - // Don't return `set.add` because it's not chainable in IE 11. - set.add(value); - return set; - } - /** * A faster alternative to `Function#apply`, this function invokes `func` * with the `this` binding of `thisArg` and the arguments of `args`. @@ -2677,7 +2656,7 @@ if (!cloneableTags[tag]) { return object ? value : {}; } - result = initCloneByTag(value, tag, baseClone, isDeep); + result = initCloneByTag(value, tag, isDeep); } } // Check for circular references and return its corresponding clone. @@ -2688,6 +2667,22 @@ } stack.set(value, result); + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + + return result; + } + + if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + + return result; + } + var keysFunc = isFull ? (isFlat ? getAllKeysIn : getAllKeys) : (isFlat ? keysIn : keys); @@ -3615,7 +3610,7 @@ } else { var newValue = customizer - ? customizer(object[key], srcValue, (key + ''), object, source, stack) + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) : undefined; if (newValue === undefined) { @@ -3642,8 +3637,8 @@ * counterparts. */ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = object[key], - srcValue = source[key], + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), stacked = stack.get(srcValue); if (stacked) { @@ -3686,7 +3681,7 @@ if (isArguments(objValue)) { newValue = toPlainObject(objValue); } - else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { + else if (!isObject(objValue) || isFunction(objValue)) { newValue = initCloneObject(srcValue); } } @@ -4551,20 +4546,6 @@ return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); } - /** - * Creates a clone of `map`. - * - * @private - * @param {Object} map The map to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned map. - */ - function cloneMap(map, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map); - return arrayReduce(array, addMapEntry, new map.constructor); - } - /** * Creates a clone of `regexp`. * @@ -4578,20 +4559,6 @@ return result; } - /** - * Creates a clone of `set`. - * - * @private - * @param {Object} set The set to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned set. - */ - function cloneSet(set, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set); - return arrayReduce(array, addSetEntry, new set.constructor); - } - /** * Creates a clone of the `symbol` object. * @@ -6186,7 +6153,7 @@ */ function initCloneArray(array) { var length = array.length, - result = array.constructor(length); + result = new array.constructor(length); // Add properties assigned by `RegExp#exec`. if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { @@ -6213,16 +6180,15 @@ * Initializes an object clone based on its `toStringTag`. * * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. * * @private * @param {Object} object The object to clone. * @param {string} tag The `toStringTag` of the object to clone. - * @param {Function} cloneFunc The function to clone values. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the initialized clone. */ - function initCloneByTag(object, tag, cloneFunc, isDeep) { + function initCloneByTag(object, tag, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag: @@ -6241,7 +6207,7 @@ return cloneTypedArray(object, isDeep); case mapTag: - return cloneMap(object, isDeep, cloneFunc); + return new Ctor; case numberTag: case stringTag: @@ -6251,7 +6217,7 @@ return cloneRegExp(object); case setTag: - return cloneSet(object, isDeep, cloneFunc); + return new Ctor; case symbolTag: return cloneSymbol(object); @@ -6298,10 +6264,13 @@ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { + var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); } /** @@ -6635,6 +6604,22 @@ return array; } + /** + * Gets the value at `key`, unless `key` is "__proto__". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key == '__proto__') { + return; + } + + return object[key]; + } + /** * Sets metadata for `func`. * @@ -6751,11 +6736,11 @@ */ var stringToPath = memoizeCapped(function(string) { var result = []; - if (reLeadingDot.test(string)) { + if (string.charCodeAt(0) === 46 /* . */) { result.push(''); } - string.replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); }); return result; }); @@ -10363,9 +10348,11 @@ function remainingWait(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, - result = wait - timeSinceLastCall; + timeWaiting = wait - timeSinceLastCall; - return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; } function shouldInvoke(time) { @@ -12797,9 +12784,35 @@ * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); * // => { 'a': 1, 'b': 2 } */ - var defaults = baseRest(function(args) { - args.push(undefined, customDefaultsAssignIn); - return apply(assignInWith, undefined, args); + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; }); /** @@ -13196,6 +13209,11 @@ * // => { '1': 'c', '2': 'b' } */ var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + result[value] = key; }, constant(identity)); @@ -13226,6 +13244,11 @@ * // => { 'group1': ['a', 'c'], 'group2': ['b'] } */ var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + if (hasOwnProperty.call(result, value)) { result[value].push(key); } else { diff --git a/build/js-transpiled/node_modules/lodash/lodash.min.js b/build/js-transpiled/node_modules/lodash/lodash.min.js index ca447f4e..c9112634 100644 --- a/build/js-transpiled/node_modules/lodash/lodash.min.js +++ b/build/js-transpiled/node_modules/lodash/lodash.min.js @@ -2,135 +2,136 @@ * @license * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE */ -;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u"']/g,J=RegExp(G.source),Y=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/^\./,un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,on=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(on.source),cn=/^\s+|\s+$/g,an=/^\s+/,ln=/\s+$/,sn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hn=/\{\n\/\* \[wrapped with (.+)\] \*/,pn=/,? & /,_n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vn=/\\(\\)?/g,gn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,yn=/^[-+]0x[0-9a-f]+$/i,bn=/^0b[01]+$/i,xn=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,wn=/^(?:0|[1-9]\d*)$/,mn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,An=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",On="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+En,Sn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",In=RegExp("['\u2019]","g"),Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),zn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Sn+En,"g"),Wn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)|\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)|\\d+",On].join("|"),"g"),Bn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),Ln=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Un="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Cn={}; -Cn["[object Float32Array]"]=Cn["[object Float64Array]"]=Cn["[object Int8Array]"]=Cn["[object Int16Array]"]=Cn["[object Int32Array]"]=Cn["[object Uint8Array]"]=Cn["[object Uint8ClampedArray]"]=Cn["[object Uint16Array]"]=Cn["[object Uint32Array]"]=true,Cn["[object Arguments]"]=Cn["[object Array]"]=Cn["[object ArrayBuffer]"]=Cn["[object Boolean]"]=Cn["[object DataView]"]=Cn["[object Date]"]=Cn["[object Error]"]=Cn["[object Function]"]=Cn["[object Map]"]=Cn["[object Number]"]=Cn["[object Object]"]=Cn["[object RegExp]"]=Cn["[object Set]"]=Cn["[object String]"]=Cn["[object WeakMap]"]=false; -var Dn={};Dn["[object Arguments]"]=Dn["[object Array]"]=Dn["[object ArrayBuffer]"]=Dn["[object DataView]"]=Dn["[object Boolean]"]=Dn["[object Date]"]=Dn["[object Float32Array]"]=Dn["[object Float64Array]"]=Dn["[object Int8Array]"]=Dn["[object Int16Array]"]=Dn["[object Int32Array]"]=Dn["[object Map]"]=Dn["[object Number]"]=Dn["[object Object]"]=Dn["[object RegExp]"]=Dn["[object Set]"]=Dn["[object String]"]=Dn["[object Symbol]"]=Dn["[object Uint8Array]"]=Dn["[object Uint8ClampedArray]"]=Dn["[object Uint16Array]"]=Dn["[object Uint32Array]"]=true, -Dn["[object Error]"]=Dn["[object Function]"]=Dn["[object WeakMap]"]=false;var Mn,Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,Fn=parseInt,Nn=typeof global=="object"&&global&&global.Object===Object&&global,Pn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Nn||Pn||Function("return this")(),qn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vn=qn&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=Vn&&Vn.exports===qn,Gn=Kn&&Nn.process; -n:{try{Mn=Gn&&Gn.binding&&Gn.binding("util");break n}catch(n){}Mn=void 0}var Hn=Mn&&Mn.isArrayBuffer,Jn=Mn&&Mn.isDate,Yn=Mn&&Mn.isMap,Qn=Mn&&Mn.isRegExp,Xn=Mn&&Mn.isSet,nt=Mn&&Mn.isTypedArray,tt=j("length"),rt=w({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I", -"\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C", -"\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i", -"\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S", -"\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe", -"\u0149":"'n","\u017f":"s"}),et=w({"&":"&","<":"<",">":">",'"':""","'":"'"}),ut=w({"&":"&","<":"<",">":">",""":'"',"'":"'"}),it=function w(En){function On(n){if(xu(n)&&!af(n)&&!(n instanceof Mn)){if(n instanceof zn)return n;if(ci.call(n,"__wrapped__"))return Pe(n)}return new zn(n)}function Sn(){}function zn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=F}function Mn(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1, -this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t=t?n:t)),n}function dt(n,t,r,e,i,o){var f,c=1&t,a=2&t,l=4&t;if(r&&(f=i?r(n,e,i,o):r(n)),f!==F)return f;if(!bu(n))return n;if(e=af(n)){if(f=Ee(n),!c)return Mr(n,f)}else{var s=yo(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(sf(n))return Wr(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:Oe(n),!c)return a?Fr(n,pt(f,n)):$r(n,ht(f,n))}else{if(!Dn[s])return i?n:{};f=Se(n,s,dt,c)}}if(o||(o=new Vn), -i=o.get(n))return i;o.set(n,f);var a=l?a?ye:de:a?Uu:Lu,p=e?F:a(n);return u(p||n,function(e,u){p&&(u=e,e=n[u]),at(f,u,dt(e,t,r,u,n,o))}),f}function yt(n){var t=Lu(n);return function(r){return bt(r,n,t)}}function bt(n,t,r){var e=r.length;if(null==n)return!e;for(n=ni(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===F&&!(u in n)||!i(o))return false}return true}function xt(n,t,r){if(typeof n!="function")throw new ei("Expected a function");return jo(function(){n.apply(F,r)},t)}function jt(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length; -if(!f)return s;r&&(t=l(t,S(r))),e?(i=a,o=false):200<=t.length&&(i=R,o=false,t=new qn(t));n:for(;++ut}function Bt(n,t){return null!=n&&ci.call(n,t)}function Lt(n,t){return null!=n&&t in ni(n)}function Ut(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=Hu(i),s=1/0,h=[];o--;){var p=n[o];o&&t&&(p=l(p,S(t))),s=Mi(p.length,s),f[o]=!r&&(t||120<=u&&120<=p.length)?new qn(o&&p):F}var p=n[0],_=-1,v=f[0];n:for(;++_t.length?n:It(n,vr(t,0,-1)),t=null==n?n:n[$e(Ge(t))],null==t?F:r(t,n,e)}function Mt(n){return xu(n)&&"[object Arguments]"==zt(n)}function Tt(n){return xu(n)&&"[object ArrayBuffer]"==zt(n)}function $t(n){return xu(n)&&"[object Date]"==zt(n)}function Ft(n,t,r,e,u){if(n===t)t=true;else if(null==n||null==t||!xu(n)&&!xu(t))t=n!==n&&t!==t;else n:{ -var i=af(n),o=af(t),f=i?"[object Array]":yo(n),c=o?"[object Array]":yo(t),f="[object Arguments]"==f?"[object Object]":f,c="[object Arguments]"==c?"[object Object]":c,a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&sf(n)){if(!sf(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Vn),t=i||gf(n)?_e(n,t,r,e,Ft,u):ve(n,t,f,r,e,Ft,u);else{if(!(1&r)&&(i=a&&ci.call(n,"__wrapped__"),f=o&&ci.call(t,"__wrapped__"),i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Vn),t=Ft(n,t,r,e,u);break n}if(c)t:if(u||(u=new Vn), -i=1&r,f=de(n),o=f.length,c=de(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:ci.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++at?r:0,Re(t,r)?n[t]:F}function rr(n,t,r){var e=-1;return t=l(t.length?t:[Nu],S(je())),n=Yt(n,function(n){return{a:l(t,function(t){return t(n)}),b:++e,c:n}}),A(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e=f?c:c*("desc"==r[e]?-1:1); -break n}}e=n.b-t.b}return e})}function er(n,t){return ur(n,t,function(t,r){return Bu(n,r)})}function ur(n,t,r){for(var e=-1,u=t.length,i={};++et||9007199254740991t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Hu(u);++e=u){for(;e>>1,o=n[i];null!==o&&!Au(o)&&(r?o<=t:ot.length?n:It(n,vr(t,0,-1)), -null==n||delete n[$e(Ge(t))]}function Ar(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++ie)return e?wr(n[0]):[];for(var u=-1,i=Hu(e);++u=e?n:vr(n,t,r)}function Wr(n,t){if(t)return n.slice();var r=n.length,r=yi?yi(r):new n.constructor(r);return n.copy(r),r}function Br(n){var t=new n.constructor(n.byteLength);return new di(t).set(new di(n)),t}function Lr(n,t){return new n.constructor(t?Br(n.buffer):n.buffer,n.byteOffset,n.length)}function Ur(n,t){ -if(n!==t){var r=n!==F,e=null===n,u=n===n,i=Au(n),o=t!==F,f=null===t,c=t===t,a=Au(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&nu?F:i,u=1),t=ni(t);++eo&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,or?r?ar(t,n):t:(r=ar(t,Ri(n/T(t))),Bn.test(t)?zr($(r),0,n).join(""):r.slice(0,n))}function ue(n,t,e,u){function i(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=Hu(l+c),h=this&&this!==Zn&&this instanceof i?f:n;++at||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Cr(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Dr(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Mi(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1], -r=i[2],e=i[3],u=i[4],f=i[9]=i[9]===F?c?0:n.length:Di(i[9]-a,0),!f&&24&t&&(t&=-25),De((h?lo:xo)(t&&1!=t?8==t||16==t?Jr(n,t,f):32!=t&&33!=t||u.length?Xr.apply(F,i):ue(n,t,r,e):Vr(n,t,r),i),n,t)}function se(n,t,r,e){return n===F||hu(n,ii[r])&&!ci.call(e,r)?t:n}function he(n,t,r,e,u,i){return bu(n)&&bu(t)&&(i.set(t,n),nr(n,t,F,he,i),i.delete(t)),n}function pe(n){return wu(n)?F:n}function _e(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;var c=-1,a=true,l=2&r?new qn:F; -for(i.set(n,t),i.set(t,n);++cr&&(r=Di(e+r,0)),g(n,je(t,3),r)):-1}function qe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==F&&(u=Ou(r),u=0>r?Di(e+u,0):Mi(u,e-1)), -g(n,je(t,3),u,true)}function Ve(n){return(null==n?0:n.length)?kt(n,1):[]}function Ke(n){return n&&n.length?n[0]:F}function Ge(n){var t=null==n?0:n.length;return t?n[t-1]:F}function He(n,t){return n&&n.length&&t&&t.length?or(n,t):n}function Je(n){return null==n?n:Ni.call(n)}function Ye(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){if(_u(n))return t=Di(n.length,t),true}),E(t,function(t){return l(n,j(t))})}function Qe(n,t){if(!n||!n.length)return[];var e=Ye(n);return null==t?e:l(e,function(n){ -return r(t,F,n)})}function Xe(n){return n=On(n),n.__chain__=true,n}function nu(n,t){return t(n)}function tu(){return this}function ru(n,t){return(af(n)?u:oo)(n,je(t,3))}function eu(n,t){return(af(n)?i:fo)(n,je(t,3))}function uu(n,t){return(af(n)?l:Yt)(n,je(t,3))}function iu(n,t,r){return t=r?F:t,t=n&&null==t?n.length:t,le(n,128,F,F,F,F,t)}function ou(n,t){var r;if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=F), -r}}function fu(n,t,r){return t=r?F:t,n=le(n,8,F,F,F,F,F,t),n.placeholder=fu.placeholder,n}function cu(n,t,r){return t=r?F:t,n=le(n,16,F,F,F,F,F,t),n.placeholder=cu.placeholder,n}function au(n,t,r){function e(t){var r=c,e=a;return c=a=F,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===F||r>=t||0>r||g&&n>=l}function i(){var n=Jo();if(u(n))return o(n);var r,e=jo;r=n-_,n=t-(n-p),r=g?Mi(n,l-r):n,h=e(i,r)}function o(n){return h=F,d&&c?e(n):(c=a=F,s)}function f(){var n=Jo(),r=u(n);if(c=arguments, -a=this,p=n,r){if(h===F)return _=n=p,h=jo(i,t),v?e(n):s;if(g)return h=jo(i,t),e(p)}return h===F&&(h=jo(i,t)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ei("Expected a function");return t=Iu(t)||0,bu(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Di(Iu(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&ho(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Jo())},f}function lu(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e), -r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new ei("Expected a function");return r.cache=new(lu.Cache||Pn),r}function su(n){if(typeof n!="function")throw new ei("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function hu(n,t){return n===t||n!==n&&t!==t}function pu(n){return null!=n&&yu(n.length)&&!gu(n); -}function _u(n){return xu(n)&&pu(n)}function vu(n){if(!xu(n))return false;var t=zt(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!wu(n)}function gu(n){return!!bu(n)&&(n=zt(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function du(n){return typeof n=="number"&&n==Ou(n)}function yu(n){return typeof n=="number"&&-1=n}function bu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t); -}function xu(n){return null!=n&&typeof n=="object"}function ju(n){return typeof n=="number"||xu(n)&&"[object Number]"==zt(n)}function wu(n){return!(!xu(n)||"[object Object]"!=zt(n))&&(n=bi(n),null===n||(n=ci.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&fi.call(n)==hi))}function mu(n){return typeof n=="string"||!af(n)&&xu(n)&&"[object String]"==zt(n)}function Au(n){return typeof n=="symbol"||xu(n)&&"[object Symbol]"==zt(n)}function ku(n){if(!n)return[];if(pu(n))return mu(n)?$(n):Mr(n); -if(Ai&&n[Ai]){n=n[Ai]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=yo(n),("[object Map]"==t?L:"[object Set]"==t?D:Du)(n)}function Eu(n){return n?(n=Iu(n),n===N||n===-N?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function Ou(n){n=Eu(n);var t=n%1;return n===n?t?n-t:n:0}function Su(n){return n?gt(Ou(n),0,4294967295):0}function Iu(n){if(typeof n=="number")return n;if(Au(n))return P;if(bu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=bu(n)?n+"":n),typeof n!="string")return 0===n?n:+n; -n=n.replace(cn,"");var t=bn.test(n);return t||jn.test(n)?Fn(n.slice(2),t?2:8):yn.test(n)?P:+n}function Ru(n){return Tr(n,Uu(n))}function zu(n){return null==n?"":jr(n)}function Wu(n,t,r){return n=null==n?F:It(n,t),n===F?r:n}function Bu(n,t){return null!=n&&ke(n,t,Lt)}function Lu(n){return pu(n)?Gn(n):Ht(n)}function Uu(n){if(pu(n))n=Gn(n,true);else if(bu(n)){var t,r=Le(n),e=[];for(t in n)("constructor"!=t||!r&&ci.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in ni(n))t.push(r);n=t}return n}function Cu(n,t){ -if(null==n)return{};var r=l(ye(n),function(n){return[n]});return t=je(t),ur(n,r,function(n,r){return t(n,r[0])})}function Du(n){return null==n?[]:I(n,Lu(n))}function Mu(n){return Nf(zu(n).toLowerCase())}function Tu(n){return(n=zu(n))&&n.replace(mn,rt).replace(Rn,"")}function $u(n,t,r){return n=zu(n),t=r?F:t,t===F?Ln.test(n)?n.match(Wn)||[]:n.match(_n)||[]:n.match(t)||[]}function Fu(n){return function(){return n}}function Nu(n){return n}function Pu(n){return Gt(typeof n=="function"?n:dt(n,1))}function Zu(n,t,r){ -var e=Lu(t),i=St(t,e);null!=r||bu(t)&&(i.length||!e.length)||(r=t,t=n,n=this,i=St(t,Lu(t)));var o=!(bu(r)&&"chain"in r&&!r.chain),f=gu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Mr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments))})}),n}function qu(){}function Vu(n){return We(n)?j($e(n)):ir(n)}function Ku(){return[]}function Gu(){ -return false}En=null==En?Zn:it.defaults(Zn.Object(),En,it.pick(Zn,Un));var Hu=En.Array,Ju=En.Date,Yu=En.Error,Qu=En.Function,Xu=En.Math,ni=En.Object,ti=En.RegExp,ri=En.String,ei=En.TypeError,ui=Hu.prototype,ii=ni.prototype,oi=En["__core-js_shared__"],fi=Qu.prototype.toString,ci=ii.hasOwnProperty,ai=0,li=function(){var n=/[^.]+$/.exec(oi&&oi.keys&&oi.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),si=ii.toString,hi=fi.call(ni),pi=Zn._,_i=ti("^"+fi.call(ci).replace(on,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),vi=Kn?En.Buffer:F,gi=En.Symbol,di=En.Uint8Array,yi=vi?vi.f:F,bi=U(ni.getPrototypeOf,ni),xi=ni.create,ji=ii.propertyIsEnumerable,wi=ui.splice,mi=gi?gi.isConcatSpreadable:F,Ai=gi?gi.iterator:F,ki=gi?gi.toStringTag:F,Ei=function(){ -try{var n=Ae(ni,"defineProperty");return n({},"",{}),n}catch(n){}}(),Oi=En.clearTimeout!==Zn.clearTimeout&&En.clearTimeout,Si=Ju&&Ju.now!==Zn.Date.now&&Ju.now,Ii=En.setTimeout!==Zn.setTimeout&&En.setTimeout,Ri=Xu.ceil,zi=Xu.floor,Wi=ni.getOwnPropertySymbols,Bi=vi?vi.isBuffer:F,Li=En.isFinite,Ui=ui.join,Ci=U(ni.keys,ni),Di=Xu.max,Mi=Xu.min,Ti=Ju.now,$i=En.parseInt,Fi=Xu.random,Ni=ui.reverse,Pi=Ae(En,"DataView"),Zi=Ae(En,"Map"),qi=Ae(En,"Promise"),Vi=Ae(En,"Set"),Ki=Ae(En,"WeakMap"),Gi=Ae(ni,"create"),Hi=Ki&&new Ki,Ji={},Yi=Fe(Pi),Qi=Fe(Zi),Xi=Fe(qi),no=Fe(Vi),to=Fe(Ki),ro=gi?gi.prototype:F,eo=ro?ro.valueOf:F,uo=ro?ro.toString:F,io=function(){ -function n(){}return function(t){return bu(t)?xi?xi(t):(n.prototype=t,t=new n,n.prototype=F,t):{}}}();On.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:On}},On.prototype=Sn.prototype,On.prototype.constructor=On,zn.prototype=io(Sn.prototype),zn.prototype.constructor=zn,Mn.prototype=io(Sn.prototype),Mn.prototype.constructor=Mn,Tn.prototype.clear=function(){this.__data__=Gi?Gi(null):{},this.size=0},Tn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n], -this.size-=n?1:0,n},Tn.prototype.get=function(n){var t=this.__data__;return Gi?(n=t[n],"__lodash_hash_undefined__"===n?F:n):ci.call(t,n)?t[n]:F},Tn.prototype.has=function(n){var t=this.__data__;return Gi?t[n]!==F:ci.call(t,n)},Tn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Gi&&t===F?"__lodash_hash_undefined__":t,this},Nn.prototype.clear=function(){this.__data__=[],this.size=0},Nn.prototype.delete=function(n){var t=this.__data__;return n=lt(t,n),!(0>n)&&(n==t.length-1?t.pop():wi.call(t,n,1), ---this.size,true)},Nn.prototype.get=function(n){var t=this.__data__;return n=lt(t,n),0>n?F:t[n][1]},Nn.prototype.has=function(n){return-1e?(++this.size,r.push([n,t])):r[e][1]=t,this},Pn.prototype.clear=function(){this.size=0,this.__data__={hash:new Tn,map:new(Zi||Nn),string:new Tn}},Pn.prototype.delete=function(n){return n=we(this,n).delete(n),this.size-=n?1:0,n},Pn.prototype.get=function(n){return we(this,n).get(n); -},Pn.prototype.has=function(n){return we(this,n).has(n)},Pn.prototype.set=function(n,t){var r=we(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},qn.prototype.add=qn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},qn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.clear=function(){this.__data__=new Nn,this.size=0},Vn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Vn.prototype.get=function(n){ -return this.__data__.get(n)},Vn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Nn){var e=r.__data__;if(!Zi||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Pn(e)}return r.set(n,t),this.size=r.size,this};var oo=Zr(Et),fo=Zr(Ot,true),co=qr(),ao=qr(true),lo=Hi?function(n,t){return Hi.set(n,t),n}:Nu,so=Ei?function(n,t){return Ei(n,"toString",{configurable:true,enumerable:false,value:Fu(t),writable:true})}:Nu,ho=Oi||function(n){ -return Zn.clearTimeout(n)},po=Vi&&1/D(new Vi([,-0]))[1]==N?function(n){return new Vi(n)}:qu,_o=Hi?function(n){return Hi.get(n)}:qu,vo=Wi?function(n){return null==n?[]:(n=ni(n),f(Wi(n),function(t){return ji.call(n,t)}))}:Ku,go=Wi?function(n){for(var t=[];n;)s(t,vo(n)),n=bi(n);return t}:Ku,yo=zt;(Pi&&"[object DataView]"!=yo(new Pi(new ArrayBuffer(1)))||Zi&&"[object Map]"!=yo(new Zi)||qi&&"[object Promise]"!=yo(qi.resolve())||Vi&&"[object Set]"!=yo(new Vi)||Ki&&"[object WeakMap]"!=yo(new Ki))&&(yo=function(n){ -var t=zt(n);if(n=(n="[object Object]"==t?n.constructor:F)?Fe(n):"")switch(n){case Yi:return"[object DataView]";case Qi:return"[object Map]";case Xi:return"[object Promise]";case no:return"[object Set]";case to:return"[object WeakMap]"}return t});var bo=oi?gu:Gu,xo=Me(lo),jo=Ii||function(n,t){return Zn.setTimeout(n,t)},wo=Me(so),mo=function(n){n=lu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){var t=[];return en.test(n)&&t.push(""),n.replace(un,function(n,r,e,u){ -t.push(e?u.replace(vn,"$1"):r||n)}),t}),Ao=lr(function(n,t){return _u(n)?jt(n,kt(t,1,_u,true)):[]}),ko=lr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?jt(n,kt(t,1,_u,true),je(r,2)):[]}),Eo=lr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?jt(n,kt(t,1,_u,true),F,r):[]}),Oo=lr(function(n){var t=l(n,Sr);return t.length&&t[0]===n[0]?Ut(t):[]}),So=lr(function(n){var t=Ge(n),r=l(n,Sr);return t===Ge(r)?t=F:r.pop(),r.length&&r[0]===n[0]?Ut(r,je(t,2)):[]}),Io=lr(function(n){var t=Ge(n),r=l(n,Sr);return(t=typeof t=="function"?t:F)&&r.pop(), -r.length&&r[0]===n[0]?Ut(r,F,t):[]}),Ro=lr(He),zo=ge(function(n,t){var r=null==n?0:n.length,e=vt(n,t);return fr(n,l(t,function(n){return Re(n,r)?+n:n}).sort(Ur)),e}),Wo=lr(function(n){return wr(kt(n,1,_u,true))}),Bo=lr(function(n){var t=Ge(n);return _u(t)&&(t=F),wr(kt(n,1,_u,true),je(t,2))}),Lo=lr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return wr(kt(n,1,_u,true),F,t)}),Uo=lr(function(n,t){return _u(n)?jt(n,t):[]}),Co=lr(function(n){return Er(f(n,_u))}),Do=lr(function(n){var t=Ge(n);return _u(t)&&(t=F), -Er(f(n,_u),je(t,2))}),Mo=lr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return Er(f(n,_u),F,t)}),To=lr(Ye),$o=lr(function(n){var t=n.length,t=1=t}),cf=Mt(function(){return arguments}())?Mt:function(n){return xu(n)&&ci.call(n,"callee")&&!ji.call(n,"callee")},af=Hu.isArray,lf=Hn?S(Hn):Tt,sf=Bi||Gu,hf=Jn?S(Jn):$t,pf=Yn?S(Yn):Nt,_f=Qn?S(Qn):qt,vf=Xn?S(Xn):Vt,gf=nt?S(nt):Kt,df=oe(Jt),yf=oe(function(n,t){return n<=t}),bf=Pr(function(n,t){ -if(Le(t)||pu(t))Tr(t,Lu(t),n);else for(var r in t)ci.call(t,r)&&at(n,r,t[r])}),xf=Pr(function(n,t){Tr(t,Uu(t),n)}),jf=Pr(function(n,t,r,e){Tr(t,Uu(t),n,e)}),wf=Pr(function(n,t,r,e){Tr(t,Lu(t),n,e)}),mf=ge(vt),Af=lr(function(n){return n.push(F,se),r(jf,F,n)}),kf=lr(function(n){return n.push(F,he),r(Rf,F,n)}),Ef=ne(function(n,t,r){n[t]=r},Fu(Nu)),Of=ne(function(n,t,r){ci.call(n,t)?n[t].push(r):n[t]=[r]},je),Sf=lr(Dt),If=Pr(function(n,t,r){nr(n,t,r)}),Rf=Pr(function(n,t,r,e){nr(n,t,r,e)}),zf=ge(function(n,t){ -var r={};if(null==n)return r;var e=false;t=l(t,function(t){return t=Rr(t,n),e||(e=1--n)return t.apply(this,arguments)}},On.ary=iu,On.assign=bf,On.assignIn=xf,On.assignInWith=jf,On.assignWith=wf,On.at=mf,On.before=ou,On.bind=Yo,On.bindAll=Zf,On.bindKey=Qo,On.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return af(n)?n:[n]}, -On.chain=Xe,On.chunk=function(n,t,r){if(t=(r?ze(n,t,r):t===F)?1:Di(Ou(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Hu(Ri(r/t));et?0:t,e)):[]},On.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,vr(n,0,0>t?0:t)):[]},On.dropRightWhile=function(n,t){return n&&n.length?Ar(n,je(t,3),true,true):[]},On.dropWhile=function(n,t){return n&&n.length?Ar(n,je(t,3),true):[]},On.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&ze(n,t,r)&&(r=0,e=u),u=n.length,r=Ou(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:Ou(e),0>e&&(e+=u),e=r>e?0:Su(e);r>>0,r?(n=zu(n))&&(typeof t=="string"||null!=t&&!_f(t))&&(t=jr(t), -!t&&Bn.test(n))?zr($(n),0,r):n.split(t,r):[]},On.spread=function(n,t){if(typeof n!="function")throw new ei("Expected a function");return t=null==t?0:Di(Ou(t),0),lr(function(e){var u=e[t];return e=zr(e,0,t),u&&s(e,u),r(n,this,e)})},On.tail=function(n){var t=null==n?0:n.length;return t?vr(n,1,t):[]},On.take=function(n,t,r){return n&&n.length?(t=r||t===F?1:Ou(t),vr(n,0,0>t?0:t)):[]},On.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,vr(n,0>t?0:t,e)):[]},On.takeRightWhile=function(n,t){ -return n&&n.length?Ar(n,je(t,3),false,true):[]},On.takeWhile=function(n,t){return n&&n.length?Ar(n,je(t,3)):[]},On.tap=function(n,t){return t(n),n},On.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ei("Expected a function");return bu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),au(n,t,{leading:e,maxWait:t,trailing:u})},On.thru=nu,On.toArray=ku,On.toPairs=Bf,On.toPairsIn=Lf,On.toPath=function(n){return af(n)?l(n,$e):Au(n)?[n]:Mr(mo(zu(n)))},On.toPlainObject=Ru, -On.transform=function(n,t,r){var e=af(n),i=e||sf(n)||gf(n);if(t=je(t,4),null==r){var o=n&&n.constructor;r=i?e?new o:[]:bu(n)&&gu(o)?io(bi(n)):{}}return(i?u:Et)(n,function(n,e,u){return t(r,n,e,u)}),r},On.unary=function(n){return iu(n,1)},On.union=Wo,On.unionBy=Bo,On.unionWith=Lo,On.uniq=function(n){return n&&n.length?wr(n):[]},On.uniqBy=function(n,t){return n&&n.length?wr(n,je(t,2)):[]},On.uniqWith=function(n,t){return t=typeof t=="function"?t:F,n&&n.length?wr(n,F,t):[]},On.unset=function(n,t){return null==n||mr(n,t); -},On.unzip=Ye,On.unzipWith=Qe,On.update=function(n,t,r){return null==n?n:pr(n,t,Ir(r)(It(n,t)),void 0)},On.updateWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null!=n&&(n=pr(n,t,Ir(r)(It(n,t)),e)),n},On.values=Du,On.valuesIn=function(n){return null==n?[]:I(n,Uu(n))},On.without=Uo,On.words=$u,On.wrap=function(n,t){return rf(Ir(t),n)},On.xor=Co,On.xorBy=Do,On.xorWith=Mo,On.zip=To,On.zipObject=function(n,t){return Or(n||[],t||[],at)},On.zipObjectDeep=function(n,t){return Or(n||[],t||[],pr); -},On.zipWith=$o,On.entries=Bf,On.entriesIn=Lf,On.extend=xf,On.extendWith=jf,Zu(On,On),On.add=nc,On.attempt=Pf,On.camelCase=Uf,On.capitalize=Mu,On.ceil=tc,On.clamp=function(n,t,r){return r===F&&(r=t,t=F),r!==F&&(r=Iu(r),r=r===r?r:0),t!==F&&(t=Iu(t),t=t===t?t:0),gt(Iu(n),t,r)},On.clone=function(n){return dt(n,4)},On.cloneDeep=function(n){return dt(n,5)},On.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,5,t)},On.cloneWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,4,t)}, -On.conformsTo=function(n,t){return null==t||bt(n,t,Lu(t))},On.deburr=Tu,On.defaultTo=function(n,t){return null==n||n!==n?t:n},On.divide=rc,On.endsWith=function(n,t,r){n=zu(n),t=jr(t);var e=n.length,e=r=r===F?e:gt(Ou(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},On.eq=hu,On.escape=function(n){return(n=zu(n))&&Y.test(n)?n.replace(H,et):n},On.escapeRegExp=function(n){return(n=zu(n))&&fn.test(n)?n.replace(on,"\\$&"):n},On.every=function(n,t,r){var e=af(n)?o:wt;return r&&ze(n,t,r)&&(t=F),e(n,je(t,3)); -},On.find=Po,On.findIndex=Ze,On.findKey=function(n,t){return v(n,je(t,3),Et)},On.findLast=Zo,On.findLastIndex=qe,On.findLastKey=function(n,t){return v(n,je(t,3),Ot)},On.floor=ec,On.forEach=ru,On.forEachRight=eu,On.forIn=function(n,t){return null==n?n:co(n,je(t,3),Uu)},On.forInRight=function(n,t){return null==n?n:ao(n,je(t,3),Uu)},On.forOwn=function(n,t){return n&&Et(n,je(t,3))},On.forOwnRight=function(n,t){return n&&Ot(n,je(t,3))},On.get=Wu,On.gt=of,On.gte=ff,On.has=function(n,t){return null!=n&&ke(n,t,Bt); -},On.hasIn=Bu,On.head=Ke,On.identity=Nu,On.includes=function(n,t,r,e){return n=pu(n)?n:Du(n),r=r&&!e?Ou(r):0,e=n.length,0>r&&(r=Di(e+r,0)),mu(n)?r<=e&&-1r&&(r=Di(e+r,0)),d(n,t,r)):-1},On.inRange=function(n,t,r){return t=Eu(t),r===F?(r=t,t=0):r=Eu(r),n=Iu(n),n>=Mi(t,r)&&n=n},On.isSet=vf,On.isString=mu,On.isSymbol=Au,On.isTypedArray=gf,On.isUndefined=function(n){return n===F},On.isWeakMap=function(n){return xu(n)&&"[object WeakMap]"==yo(n)},On.isWeakSet=function(n){return xu(n)&&"[object WeakSet]"==zt(n)},On.join=function(n,t){ -return null==n?"":Ui.call(n,t)},On.kebabCase=Cf,On.last=Ge,On.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==F&&(u=Ou(r),u=0>u?Di(e+u,0):Mi(u,e-1)),t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=g(n,b,u,true);return n},On.lowerCase=Df,On.lowerFirst=Mf,On.lt=df,On.lte=yf,On.max=function(n){return n&&n.length?mt(n,Nu,Wt):F},On.maxBy=function(n,t){return n&&n.length?mt(n,je(t,2),Wt):F},On.mean=function(n){return x(n,Nu)},On.meanBy=function(n,t){return x(n,je(t,2))},On.min=function(n){ -return n&&n.length?mt(n,Nu,Jt):F},On.minBy=function(n,t){return n&&n.length?mt(n,je(t,2),Jt):F},On.stubArray=Ku,On.stubFalse=Gu,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return true},On.multiply=uc,On.nth=function(n,t){return n&&n.length?tr(n,Ou(t)):F},On.noConflict=function(){return Zn._===this&&(Zn._=pi),this},On.noop=qu,On.now=Jo,On.pad=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return!t||e>=t?n:(t=(t-e)/2,ee(zi(t),r)+n+ee(Ri(t),r))},On.padEnd=function(n,t,r){ -n=zu(n);var e=(t=Ou(t))?T(n):0;return t&&et){var e=n;n=t,t=e}return r||n%1||t%1?(r=Fi(),Mi(n+r*(t-n+$n("1e-"+((r+"").length-1))),t)):cr(n,t); -},On.reduce=function(n,t,r){var e=af(n)?h:m,u=3>arguments.length;return e(n,je(t,4),r,u,oo)},On.reduceRight=function(n,t,r){var e=af(n)?p:m,u=3>arguments.length;return e(n,je(t,4),r,u,fo)},On.repeat=function(n,t,r){return t=(r?ze(n,t,r):t===F)?1:Ou(t),ar(zu(n),t)},On.replace=function(){var n=arguments,t=zu(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},On.result=function(n,t,r){t=Rr(t,n);var e=-1,u=t.length;for(u||(u=1,n=F);++en||9007199254740991=i)return n;if(i=r-T(e),1>i)return e; -if(r=o?zr(o,0,i).join(""):n.slice(0,i),u===F)return r+e;if(o&&(i+=r.length-i),_f(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=ti(u.source,zu(dn.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else n.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1e.__dir__?"Right":"")}),e},Mn.prototype[n+"Right"]=function(t){ -return this.reverse()[n](t).reverse()}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Mn.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:je(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");Mn.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Mn.prototype[n]=function(){return this.__filtered__?new Mn(this):this[r](1); -}}),Mn.prototype.compact=function(){return this.filter(Nu)},Mn.prototype.find=function(n){return this.filter(n).head()},Mn.prototype.findLast=function(n){return this.reverse().find(n)},Mn.prototype.invokeMap=lr(function(n,t){return typeof n=="function"?new Mn(this):this.map(function(r){return Dt(r,n,t)})}),Mn.prototype.reject=function(n){return this.filter(su(je(n)))},Mn.prototype.slice=function(n,t){n=Ou(n);var r=this;return r.__filtered__&&(0t)?new Mn(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)), -t!==F&&(t=Ou(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Mn.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Mn.prototype.toArray=function(){return this.take(4294967295)},Et(Mn.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=On[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(On.prototype[t]=function(){function t(n){return n=u.apply(On,s([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Mn,a=f[0],l=c||af(o); -l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);var h=this.__chain__,p=!!this.__actions__.length,a=i&&!h,c=c&&!p;return!i&&l?(o=c?o:new Mn(this),o=n.apply(o,f),o.__actions__.push({func:nu,args:[t],thisArg:F}),new zn(o,h)):a&&c?n.apply(this,f):(o=this.thru(t),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ui[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);On.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){ -var u=this.value();return t.apply(af(u)?u:[],n)}return this[r](function(r){return t.apply(af(r)?r:[],n)})}}),Et(Mn.prototype,function(n,t){var r=On[t];if(r){var e=r.name+"";(Ji[e]||(Ji[e]=[])).push({name:t,func:r})}}),Ji[Xr(F,2).name]=[{name:"wrapper",func:F}],Mn.prototype.clone=function(){var n=new Mn(this.__wrapped__);return n.__actions__=Mr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Mr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Mr(this.__views__), -n},Mn.prototype.reverse=function(){if(this.__filtered__){var n=new Mn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},Mn.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=af(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++c=this.__values__.length;return{done:n,value:n?F:this.__values__[this.__index__++]}},On.prototype.plant=function(n){for(var t,r=this;r instanceof Sn;){var e=Pe(r);e.__index__=0,e.__values__=F,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},On.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Mn?(this.__actions__.length&&(n=new Mn(this)),n=n.reverse(),n.__actions__.push({func:nu,args:[Je],thisArg:F}),new zn(n,this.__chain__)):this.thru(Je); -},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return kr(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,Ai&&(On.prototype[Ai]=tu),On}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=it, define(function(){return it})):Vn?((Vn.exports=it)._=it,qn._=it):Zn._=it}).call(this); \ No newline at end of file +;(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u"']/g,G=RegExp(V.source),H=RegExp(K.source),J=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,Q=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nn=/^\w*$/,tn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rn=/[\\^$.*+?()[\]{}|]/g,en=RegExp(rn.source),un=/^\s+|\s+$/g,on=/^\s+/,fn=/\s+$/,cn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,an=/\{\n\/\* \[wrapped with (.+)\] \*/,ln=/,? & /,sn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,hn=/\\(\\)?/g,pn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_n=/\w*$/,vn=/^[-+]0x[0-9a-f]+$/i,gn=/^0b[01]+$/i,dn=/^\[object .+?Constructor\]$/,yn=/^0o[0-7]+$/i,bn=/^(?:0|[1-9]\d*)$/,xn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,jn=/($^)/,wn=/['\n\r\u2028\u2029\\]/g,mn="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",An="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+mn,kn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",En=RegExp("['\u2019]","g"),Sn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),On=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+kn+mn,"g"),In=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+",An].join("|"),"g"),Rn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),zn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wn="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Un={}; +Un["[object Float32Array]"]=Un["[object Float64Array]"]=Un["[object Int8Array]"]=Un["[object Int16Array]"]=Un["[object Int32Array]"]=Un["[object Uint8Array]"]=Un["[object Uint8ClampedArray]"]=Un["[object Uint16Array]"]=Un["[object Uint32Array]"]=true,Un["[object Arguments]"]=Un["[object Array]"]=Un["[object ArrayBuffer]"]=Un["[object Boolean]"]=Un["[object DataView]"]=Un["[object Date]"]=Un["[object Error]"]=Un["[object Function]"]=Un["[object Map]"]=Un["[object Number]"]=Un["[object Object]"]=Un["[object RegExp]"]=Un["[object Set]"]=Un["[object String]"]=Un["[object WeakMap]"]=false; +var Bn={};Bn["[object Arguments]"]=Bn["[object Array]"]=Bn["[object ArrayBuffer]"]=Bn["[object DataView]"]=Bn["[object Boolean]"]=Bn["[object Date]"]=Bn["[object Float32Array]"]=Bn["[object Float64Array]"]=Bn["[object Int8Array]"]=Bn["[object Int16Array]"]=Bn["[object Int32Array]"]=Bn["[object Map]"]=Bn["[object Number]"]=Bn["[object Object]"]=Bn["[object RegExp]"]=Bn["[object Set]"]=Bn["[object String]"]=Bn["[object Symbol]"]=Bn["[object Uint8Array]"]=Bn["[object Uint8ClampedArray]"]=Bn["[object Uint16Array]"]=Bn["[object Uint32Array]"]=true, +Bn["[object Error]"]=Bn["[object Function]"]=Bn["[object WeakMap]"]=false;var Ln={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Cn=parseFloat,Dn=parseInt,Mn=typeof global=="object"&&global&&global.Object===Object&&global,Tn=typeof self=="object"&&self&&self.Object===Object&&self,$n=Mn||Tn||Function("return this")(),Fn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Nn=Fn&&typeof module=="object"&&module&&!module.nodeType&&module,Pn=Nn&&Nn.exports===Fn,Zn=Pn&&Mn.process,qn=function(){ +try{var n=Nn&&Nn.require&&Nn.require("util").types;return n?n:Zn&&Zn.binding&&Zn.binding("util")}catch(n){}}(),Vn=qn&&qn.isArrayBuffer,Kn=qn&&qn.isDate,Gn=qn&&qn.isMap,Hn=qn&&qn.isRegExp,Jn=qn&&qn.isSet,Yn=qn&&qn.isTypedArray,Qn=b("length"),Xn=x({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e", +"\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a", +"\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I", +"\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r", +"\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ", +"\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),nt=x({"&":"&","<":"<",">":">",'"':""","'":"'"}),tt=x({"&":"&","<":"<",">":">",""":'"',"'":"'"}),rt=function x(mn){function An(n){if(yu(n)&&!ff(n)&&!(n instanceof Ln)){if(n instanceof On)return n;if(oi.call(n,"__wrapped__"))return Fe(n)}return new On(n)}function kn(){}function On(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=T}function Ln(n){ +this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Mn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t=t?n:t)),n}function _t(n,t,e,u,i,o){var f,c=1&t,a=2&t,l=4&t;if(e&&(f=i?e(n,u,i,o):e(n)),f!==T)return f;if(!du(n))return n;if(u=ff(n)){if(f=me(n),!c)return Lr(n,f)}else{var s=vo(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(af(n))return Ir(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:Ae(n),!c)return a?Mr(n,lt(f,n)):Dr(n,at(f,n))}else{if(!Bn[s])return i?n:{};f=ke(n,s,c)}}if(o||(o=new Zn), +i=o.get(n))return i;if(o.set(n,f),pf(n))return n.forEach(function(r){f.add(_t(r,t,e,r,n,o))}),f;if(sf(n))return n.forEach(function(r,u){f.set(u,_t(r,t,e,u,n,o))}),f;var a=l?a?ve:_e:a?Uu:Wu,p=u?T:a(n);return r(p||n,function(r,u){p&&(u=r,r=n[u]),ot(f,u,_t(r,t,e,u,n,o))}),f}function vt(n){var t=Wu(n);return function(r){return gt(r,n,t)}}function gt(n,t,r){var e=r.length;if(null==n)return!e;for(n=Qu(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===T&&!(u in n)||!i(o))return false}return true}function dt(n,t,r){if(typeof n!="function")throw new ti("Expected a function"); +return bo(function(){n.apply(T,r)},t)}function yt(n,t,r,e){var u=-1,i=o,a=true,l=n.length,s=[],h=t.length;if(!l)return s;r&&(t=c(t,E(r))),e?(i=f,a=false):200<=t.length&&(i=O,a=false,t=new Nn(t));n:for(;++ut}function Rt(n,t){return null!=n&&oi.call(n,t)}function zt(n,t){return null!=n&&t in Qu(n)}function Wt(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=Ku(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,E(t))),s=Ci(p.length,s), +l[a]=!r&&(t||120<=u&&120<=p.length)?new Nn(a&&p):T}var p=n[0],_=-1,v=l[0];n:for(;++_r.length?t:Et(t,hr(r,0,-1)),r=null==t?t:t[Me(Ve(r))],null==r?T:n(r,t,e)}function Lt(n){return yu(n)&&"[object Arguments]"==Ot(n)}function Ct(n){ +return yu(n)&&"[object ArrayBuffer]"==Ot(n)}function Dt(n){return yu(n)&&"[object Date]"==Ot(n)}function Mt(n,t,r,e,u){if(n===t)return true;if(null==n||null==t||!yu(n)&&!yu(t))return n!==n&&t!==t;n:{var i=ff(n),o=ff(t),f=i?"[object Array]":vo(n),c=o?"[object Array]":vo(t),f="[object Arguments]"==f?"[object Object]":f,c="[object Arguments]"==c?"[object Object]":c,a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&af(n)){if(!af(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Zn),t=i||_f(n)?se(n,t,r,e,Mt,u):he(n,t,f,r,e,Mt,u);else{ +if(!(1&r)&&(i=a&&oi.call(n,"__wrapped__"),f=o&&oi.call(t,"__wrapped__"),i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Zn),t=Mt(n,t,r,e,u);break n}if(c)t:if(u||(u=new Zn),i=1&r,f=_e(n),o=f.length,c=_e(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:oi.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++at?r:0,Se(t,r)?n[t]:T}function Xt(n,t,r){var e=-1;return t=c(t.length?t:[$u],E(ye())),n=Gt(n,function(n,r,u){return{a:c(t,function(t){return t(n)}), +b:++e,c:n}}),w(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e=f){e=c;break n}e=c*("desc"==r[e]?-1:1);break n}}e=n.b-t.b}return e})}function nr(n,t){return tr(n,t,function(t,r){return zu(n,r)})}function tr(n,t,r){for(var e=-1,u=t.length,i={};++et||9007199254740991t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Ku(u);++e=u){for(;e>>1,o=n[i];null!==o&&!wu(o)&&(r?o<=t:ot.length?n:Et(n,hr(t,0,-1)),null==n||delete n[Me(Ve(t))]}function jr(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++ie)return e?br(n[0]):[];for(var u=-1,i=Ku(e);++u=e?n:hr(n,t,r)}function Ir(n,t){if(t)return n.slice();var r=n.length,r=gi?gi(r):new n.constructor(r);return n.copy(r),r}function Rr(n){var t=new n.constructor(n.byteLength);return new vi(t).set(new vi(n)),t}function zr(n,t){return new n.constructor(t?Rr(n.buffer):n.buffer,n.byteOffset,n.length); +}function Wr(n,t){if(n!==t){var r=n!==T,e=null===n,u=n===n,i=wu(n),o=t!==T,f=null===t,c=t===t,a=wu(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&nu?T:i,u=1),t=Qu(t);++eo&&f[0]!==a&&f[o-1]!==a?[]:B(f,a),o-=c.length,or?r?or(t,n):t:(r=or(t,Oi(n/D(t))),Rn.test(t)?Or(M(r),0,n).join(""):r.slice(0,n))}function te(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=Ku(l+c),h=this&&this!==$n&&this instanceof i?f:t;++at||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Ur(e,r,h[4]):r,i[4]=e?B(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Br(e,r,h[6]):r,i[6]=e?B(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Ci(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1], +r=i[2],e=i[3],u=i[4],f=i[9]=i[9]===T?c?0:n.length:Li(i[9]-a,0),!f&&24&t&&(t&=-25),c=t&&1!=t?8==t||16==t?Kr(n,t,f):32!=t&&33!=t||u.length?Jr.apply(T,i):te(n,t,r,e):Pr(n,t,r),Le((h?co:yo)(c,i),n,t)}function ce(n,t,r,e){return n===T||lu(n,ei[r])&&!oi.call(e,r)?t:n}function ae(n,t,r,e,u,i){return du(n)&&du(t)&&(i.set(t,n),Yt(n,t,T,ae,i),i.delete(t)),n}function le(n){return xu(n)?T:n}function se(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t; +var c=-1,a=true,l=2&r?new Nn:T;for(i.set(n,t),i.set(t,n);++cr&&(r=Li(e+r,0)),_(n,ye(t,3),r)):-1}function Pe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==T&&(u=ku(r),u=0>r?Li(e+u,0):Ci(u,e-1)),_(n,ye(t,3),u,true)}function Ze(n){return(null==n?0:n.length)?wt(n,1):[]; +}function qe(n){return n&&n.length?n[0]:T}function Ve(n){var t=null==n?0:n.length;return t?n[t-1]:T}function Ke(n,t){return n&&n.length&&t&&t.length?er(n,t):n}function Ge(n){return null==n?n:$i.call(n)}function He(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){if(hu(n))return t=Li(n.length,t),true}),A(t,function(t){return c(n,b(t))})}function Je(t,r){if(!t||!t.length)return[];var e=He(t);return null==r?e:c(e,function(t){return n(r,T,t)})}function Ye(n){return n=An(n),n.__chain__=true,n; +}function Qe(n,t){return t(n)}function Xe(){return this}function nu(n,t){return(ff(n)?r:uo)(n,ye(t,3))}function tu(n,t){return(ff(n)?e:io)(n,ye(t,3))}function ru(n,t){return(ff(n)?c:Gt)(n,ye(t,3))}function eu(n,t,r){return t=r?T:t,t=n&&null==t?n.length:t,fe(n,128,T,T,T,T,t)}function uu(n,t){var r;if(typeof t!="function")throw new ti("Expected a function");return n=ku(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=T),r}}function iu(n,t,r){return t=r?T:t,n=fe(n,8,T,T,T,T,T,t),n.placeholder=iu.placeholder, +n}function ou(n,t,r){return t=r?T:t,n=fe(n,16,T,T,T,T,T,t),n.placeholder=ou.placeholder,n}function fu(n,t,r){function e(t){var r=c,e=a;return c=a=T,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===T||r>=t||0>r||g&&n>=l}function i(){var n=Go();if(u(n))return o(n);var r,e=bo;r=n-_,n=t-(n-p),r=g?Ci(n,l-r):n,h=e(i,r)}function o(n){return h=T,d&&c?e(n):(c=a=T,s)}function f(){var n=Go(),r=u(n);if(c=arguments,a=this,p=n,r){if(h===T)return _=n=p,h=bo(i,t),v?e(n):s;if(g)return h=bo(i,t),e(p)}return h===T&&(h=bo(i,t)), +s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ti("Expected a function");return t=Su(t)||0,du(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Li(Su(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==T&&lo(h),_=0,c=p=a=h=T},f.flush=function(){return h===T?s:o(Go())},f}function cu(n,t){if(typeof n!="function"||null!=t&&typeof t!="function")throw new ti("Expected a function");var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e), +r.cache=i.set(u,e)||i,e)};return r.cache=new(cu.Cache||Fn),r}function au(n){if(typeof n!="function")throw new ti("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function lu(n,t){return n===t||n!==n&&t!==t}function su(n){return null!=n&&gu(n.length)&&!_u(n)}function hu(n){return yu(n)&&su(n)}function pu(n){if(!yu(n))return false; +var t=Ot(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!xu(n)}function _u(n){return!!du(n)&&(n=Ot(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function vu(n){return typeof n=="number"&&n==ku(n)}function gu(n){return typeof n=="number"&&-1=n}function du(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function yu(n){return null!=n&&typeof n=="object"; +}function bu(n){return typeof n=="number"||yu(n)&&"[object Number]"==Ot(n)}function xu(n){return!(!yu(n)||"[object Object]"!=Ot(n))&&(n=di(n),null===n||(n=oi.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&ii.call(n)==li))}function ju(n){return typeof n=="string"||!ff(n)&&yu(n)&&"[object String]"==Ot(n)}function wu(n){return typeof n=="symbol"||yu(n)&&"[object Symbol]"==Ot(n)}function mu(n){if(!n)return[];if(su(n))return ju(n)?M(n):Lr(n);if(wi&&n[wi]){n=n[wi]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value); +return r}return t=vo(n),("[object Map]"==t?W:"[object Set]"==t?L:Lu)(n)}function Au(n){return n?(n=Su(n),n===$||n===-$?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function ku(n){n=Au(n);var t=n%1;return n===n?t?n-t:n:0}function Eu(n){return n?pt(ku(n),0,4294967295):0}function Su(n){if(typeof n=="number")return n;if(wu(n))return F;if(du(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=du(n)?n+"":n),typeof n!="string")return 0===n?n:+n;n=n.replace(un,"");var t=gn.test(n);return t||yn.test(n)?Dn(n.slice(2),t?2:8):vn.test(n)?F:+n; +}function Ou(n){return Cr(n,Uu(n))}function Iu(n){return null==n?"":yr(n)}function Ru(n,t,r){return n=null==n?T:Et(n,t),n===T?r:n}function zu(n,t){return null!=n&&we(n,t,zt)}function Wu(n){return su(n)?qn(n):Vt(n)}function Uu(n){if(su(n))n=qn(n,true);else if(du(n)){var t,r=ze(n),e=[];for(t in n)("constructor"!=t||!r&&oi.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in Qu(n))t.push(r);n=t}return n}function Bu(n,t){if(null==n)return{};var r=c(ve(n),function(n){return[n]});return t=ye(t),tr(n,r,function(n,r){ +return t(n,r[0])})}function Lu(n){return null==n?[]:S(n,Wu(n))}function Cu(n){return $f(Iu(n).toLowerCase())}function Du(n){return(n=Iu(n))&&n.replace(xn,Xn).replace(Sn,"")}function Mu(n,t,r){return n=Iu(n),t=r?T:t,t===T?zn.test(n)?n.match(In)||[]:n.match(sn)||[]:n.match(t)||[]}function Tu(n){return function(){return n}}function $u(n){return n}function Fu(n){return qt(typeof n=="function"?n:_t(n,1))}function Nu(n,t,e){var u=Wu(t),i=kt(t,u);null!=e||du(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=kt(t,Wu(t))); +var o=!(du(e)&&"chain"in e&&!e.chain),f=_u(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Lr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function Pu(){}function Zu(n){return Ie(n)?b(Me(n)):rr(n)}function qu(){return[]}function Vu(){return false}mn=null==mn?$n:rt.defaults($n.Object(),mn,rt.pick($n,Wn));var Ku=mn.Array,Gu=mn.Date,Hu=mn.Error,Ju=mn.Function,Yu=mn.Math,Qu=mn.Object,Xu=mn.RegExp,ni=mn.String,ti=mn.TypeError,ri=Ku.prototype,ei=Qu.prototype,ui=mn["__core-js_shared__"],ii=Ju.prototype.toString,oi=ei.hasOwnProperty,fi=0,ci=function(){ +var n=/[^.]+$/.exec(ui&&ui.keys&&ui.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),ai=ei.toString,li=ii.call(Qu),si=$n._,hi=Xu("^"+ii.call(oi).replace(rn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),pi=Pn?mn.Buffer:T,_i=mn.Symbol,vi=mn.Uint8Array,gi=pi?pi.allocUnsafe:T,di=U(Qu.getPrototypeOf,Qu),yi=Qu.create,bi=ei.propertyIsEnumerable,xi=ri.splice,ji=_i?_i.isConcatSpreadable:T,wi=_i?_i.iterator:T,mi=_i?_i.toStringTag:T,Ai=function(){try{var n=je(Qu,"defineProperty"); +return n({},"",{}),n}catch(n){}}(),ki=mn.clearTimeout!==$n.clearTimeout&&mn.clearTimeout,Ei=Gu&&Gu.now!==$n.Date.now&&Gu.now,Si=mn.setTimeout!==$n.setTimeout&&mn.setTimeout,Oi=Yu.ceil,Ii=Yu.floor,Ri=Qu.getOwnPropertySymbols,zi=pi?pi.isBuffer:T,Wi=mn.isFinite,Ui=ri.join,Bi=U(Qu.keys,Qu),Li=Yu.max,Ci=Yu.min,Di=Gu.now,Mi=mn.parseInt,Ti=Yu.random,$i=ri.reverse,Fi=je(mn,"DataView"),Ni=je(mn,"Map"),Pi=je(mn,"Promise"),Zi=je(mn,"Set"),qi=je(mn,"WeakMap"),Vi=je(Qu,"create"),Ki=qi&&new qi,Gi={},Hi=Te(Fi),Ji=Te(Ni),Yi=Te(Pi),Qi=Te(Zi),Xi=Te(qi),no=_i?_i.prototype:T,to=no?no.valueOf:T,ro=no?no.toString:T,eo=function(){ +function n(){}return function(t){return du(t)?yi?yi(t):(n.prototype=t,t=new n,n.prototype=T,t):{}}}();An.templateSettings={escape:J,evaluate:Y,interpolate:Q,variable:"",imports:{_:An}},An.prototype=kn.prototype,An.prototype.constructor=An,On.prototype=eo(kn.prototype),On.prototype.constructor=On,Ln.prototype=eo(kn.prototype),Ln.prototype.constructor=Ln,Mn.prototype.clear=function(){this.__data__=Vi?Vi(null):{},this.size=0},Mn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n], +this.size-=n?1:0,n},Mn.prototype.get=function(n){var t=this.__data__;return Vi?(n=t[n],"__lodash_hash_undefined__"===n?T:n):oi.call(t,n)?t[n]:T},Mn.prototype.has=function(n){var t=this.__data__;return Vi?t[n]!==T:oi.call(t,n)},Mn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Vi&&t===T?"__lodash_hash_undefined__":t,this},Tn.prototype.clear=function(){this.__data__=[],this.size=0},Tn.prototype.delete=function(n){var t=this.__data__;return n=ft(t,n),!(0>n)&&(n==t.length-1?t.pop():xi.call(t,n,1), +--this.size,true)},Tn.prototype.get=function(n){var t=this.__data__;return n=ft(t,n),0>n?T:t[n][1]},Tn.prototype.has=function(n){return-1e?(++this.size,r.push([n,t])):r[e][1]=t,this},Fn.prototype.clear=function(){this.size=0,this.__data__={hash:new Mn,map:new(Ni||Tn),string:new Mn}},Fn.prototype.delete=function(n){return n=be(this,n).delete(n),this.size-=n?1:0,n},Fn.prototype.get=function(n){return be(this,n).get(n); +},Fn.prototype.has=function(n){return be(this,n).has(n)},Fn.prototype.set=function(n,t){var r=be(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},Nn.prototype.add=Nn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},Nn.prototype.has=function(n){return this.__data__.has(n)},Zn.prototype.clear=function(){this.__data__=new Tn,this.size=0},Zn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Zn.prototype.get=function(n){ +return this.__data__.get(n)},Zn.prototype.has=function(n){return this.__data__.has(n)},Zn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Tn){var e=r.__data__;if(!Ni||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Fn(e)}return r.set(n,t),this.size=r.size,this};var uo=Fr(mt),io=Fr(At,true),oo=Nr(),fo=Nr(true),co=Ki?function(n,t){return Ki.set(n,t),n}:$u,ao=Ai?function(n,t){return Ai(n,"toString",{configurable:true,enumerable:false,value:Tu(t),writable:true})}:$u,lo=ki||function(n){ +return $n.clearTimeout(n)},so=Zi&&1/L(new Zi([,-0]))[1]==$?function(n){return new Zi(n)}:Pu,ho=Ki?function(n){return Ki.get(n)}:Pu,po=Ri?function(n){return null==n?[]:(n=Qu(n),i(Ri(n),function(t){return bi.call(n,t)}))}:qu,_o=Ri?function(n){for(var t=[];n;)a(t,po(n)),n=di(n);return t}:qu,vo=Ot;(Fi&&"[object DataView]"!=vo(new Fi(new ArrayBuffer(1)))||Ni&&"[object Map]"!=vo(new Ni)||Pi&&"[object Promise]"!=vo(Pi.resolve())||Zi&&"[object Set]"!=vo(new Zi)||qi&&"[object WeakMap]"!=vo(new qi))&&(vo=function(n){ +var t=Ot(n);if(n=(n="[object Object]"==t?n.constructor:T)?Te(n):"")switch(n){case Hi:return"[object DataView]";case Ji:return"[object Map]";case Yi:return"[object Promise]";case Qi:return"[object Set]";case Xi:return"[object WeakMap]"}return t});var go=ui?_u:Vu,yo=Ce(co),bo=Si||function(n,t){return $n.setTimeout(n,t)},xo=Ce(ao),jo=function(n){n=cu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(tn,function(n,r,e,u){ +t.push(e?u.replace(hn,"$1"):r||n)}),t}),wo=fr(function(n,t){return hu(n)?yt(n,wt(t,1,hu,true)):[]}),mo=fr(function(n,t){var r=Ve(t);return hu(r)&&(r=T),hu(n)?yt(n,wt(t,1,hu,true),ye(r,2)):[]}),Ao=fr(function(n,t){var r=Ve(t);return hu(r)&&(r=T),hu(n)?yt(n,wt(t,1,hu,true),T,r):[]}),ko=fr(function(n){var t=c(n,kr);return t.length&&t[0]===n[0]?Wt(t):[]}),Eo=fr(function(n){var t=Ve(n),r=c(n,kr);return t===Ve(r)?t=T:r.pop(),r.length&&r[0]===n[0]?Wt(r,ye(t,2)):[]}),So=fr(function(n){var t=Ve(n),r=c(n,kr);return(t=typeof t=="function"?t:T)&&r.pop(), +r.length&&r[0]===n[0]?Wt(r,T,t):[]}),Oo=fr(Ke),Io=pe(function(n,t){var r=null==n?0:n.length,e=ht(n,t);return ur(n,c(t,function(n){return Se(n,r)?+n:n}).sort(Wr)),e}),Ro=fr(function(n){return br(wt(n,1,hu,true))}),zo=fr(function(n){var t=Ve(n);return hu(t)&&(t=T),br(wt(n,1,hu,true),ye(t,2))}),Wo=fr(function(n){var t=Ve(n),t=typeof t=="function"?t:T;return br(wt(n,1,hu,true),T,t)}),Uo=fr(function(n,t){return hu(n)?yt(n,t):[]}),Bo=fr(function(n){return mr(i(n,hu))}),Lo=fr(function(n){var t=Ve(n);return hu(t)&&(t=T), +mr(i(n,hu),ye(t,2))}),Co=fr(function(n){var t=Ve(n),t=typeof t=="function"?t:T;return mr(i(n,hu),T,t)}),Do=fr(He),Mo=fr(function(n){var t=n.length,t=1=t}),of=Lt(function(){return arguments}())?Lt:function(n){return yu(n)&&oi.call(n,"callee")&&!bi.call(n,"callee")},ff=Ku.isArray,cf=Vn?E(Vn):Ct,af=zi||Vu,lf=Kn?E(Kn):Dt,sf=Gn?E(Gn):Tt,hf=Hn?E(Hn):Nt,pf=Jn?E(Jn):Pt,_f=Yn?E(Yn):Zt,vf=ee(Kt),gf=ee(function(n,t){return n<=t}),df=$r(function(n,t){ +if(ze(t)||su(t))Cr(t,Wu(t),n);else for(var r in t)oi.call(t,r)&&ot(n,r,t[r])}),yf=$r(function(n,t){Cr(t,Uu(t),n)}),bf=$r(function(n,t,r,e){Cr(t,Uu(t),n,e)}),xf=$r(function(n,t,r,e){Cr(t,Wu(t),n,e)}),jf=pe(ht),wf=fr(function(n,t){n=Qu(n);var r=-1,e=t.length,u=2--n)return t.apply(this,arguments)}},An.ary=eu,An.assign=df,An.assignIn=yf,An.assignInWith=bf,An.assignWith=xf,An.at=jf,An.before=uu,An.bind=Ho,An.bindAll=Nf,An.bindKey=Jo,An.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return ff(n)?n:[n]},An.chain=Ye,An.chunk=function(n,t,r){if(t=(r?Oe(n,t,r):t===T)?1:Li(ku(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Ku(Oi(r/t));et?0:t,e)):[]},An.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:ku(t),t=e-t,hr(n,0,0>t?0:t)):[]},An.dropRightWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),true,true):[]; +},An.dropWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),true):[]},An.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&Oe(n,t,r)&&(r=0,e=u),u=n.length,r=ku(r),0>r&&(r=-r>u?0:u+r),e=e===T||e>u?u:ku(e),0>e&&(e+=u),e=r>e?0:Eu(e);r>>0,r?(n=Iu(n))&&(typeof t=="string"||null!=t&&!hf(t))&&(t=yr(t),!t&&Rn.test(n))?Or(M(n),0,r):n.split(t,r):[]},An.spread=function(t,r){if(typeof t!="function")throw new ti("Expected a function");return r=null==r?0:Li(ku(r),0), +fr(function(e){var u=e[r];return e=Or(e,0,r),u&&a(e,u),n(t,this,e)})},An.tail=function(n){var t=null==n?0:n.length;return t?hr(n,1,t):[]},An.take=function(n,t,r){return n&&n.length?(t=r||t===T?1:ku(t),hr(n,0,0>t?0:t)):[]},An.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:ku(t),t=e-t,hr(n,0>t?0:t,e)):[]},An.takeRightWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),false,true):[]},An.takeWhile=function(n,t){return n&&n.length?jr(n,ye(t,3)):[]},An.tap=function(n,t){return t(n), +n},An.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ti("Expected a function");return du(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),fu(n,t,{leading:e,maxWait:t,trailing:u})},An.thru=Qe,An.toArray=mu,An.toPairs=zf,An.toPairsIn=Wf,An.toPath=function(n){return ff(n)?c(n,Me):wu(n)?[n]:Lr(jo(Iu(n)))},An.toPlainObject=Ou,An.transform=function(n,t,e){var u=ff(n),i=u||af(n)||_f(n);if(t=ye(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:du(n)&&_u(o)?eo(di(n)):{}; +}return(i?r:mt)(n,function(n,r,u){return t(e,n,r,u)}),e},An.unary=function(n){return eu(n,1)},An.union=Ro,An.unionBy=zo,An.unionWith=Wo,An.uniq=function(n){return n&&n.length?br(n):[]},An.uniqBy=function(n,t){return n&&n.length?br(n,ye(t,2)):[]},An.uniqWith=function(n,t){return t=typeof t=="function"?t:T,n&&n.length?br(n,T,t):[]},An.unset=function(n,t){return null==n||xr(n,t)},An.unzip=He,An.unzipWith=Je,An.update=function(n,t,r){return null!=n&&(r=Er(r),n=lr(n,t,r(Et(n,t)),void 0)),n},An.updateWith=function(n,t,r,e){ +return e=typeof e=="function"?e:T,null!=n&&(r=Er(r),n=lr(n,t,r(Et(n,t)),e)),n},An.values=Lu,An.valuesIn=function(n){return null==n?[]:S(n,Uu(n))},An.without=Uo,An.words=Mu,An.wrap=function(n,t){return nf(Er(t),n)},An.xor=Bo,An.xorBy=Lo,An.xorWith=Co,An.zip=Do,An.zipObject=function(n,t){return Ar(n||[],t||[],ot)},An.zipObjectDeep=function(n,t){return Ar(n||[],t||[],lr)},An.zipWith=Mo,An.entries=zf,An.entriesIn=Wf,An.extend=yf,An.extendWith=bf,Nu(An,An),An.add=Qf,An.attempt=Ff,An.camelCase=Uf,An.capitalize=Cu, +An.ceil=Xf,An.clamp=function(n,t,r){return r===T&&(r=t,t=T),r!==T&&(r=Su(r),r=r===r?r:0),t!==T&&(t=Su(t),t=t===t?t:0),pt(Su(n),t,r)},An.clone=function(n){return _t(n,4)},An.cloneDeep=function(n){return _t(n,5)},An.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:T,_t(n,5,t)},An.cloneWith=function(n,t){return t=typeof t=="function"?t:T,_t(n,4,t)},An.conformsTo=function(n,t){return null==t||gt(n,t,Wu(t))},An.deburr=Du,An.defaultTo=function(n,t){return null==n||n!==n?t:n},An.divide=nc,An.endsWith=function(n,t,r){ +n=Iu(n),t=yr(t);var e=n.length,e=r=r===T?e:pt(ku(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},An.eq=lu,An.escape=function(n){return(n=Iu(n))&&H.test(n)?n.replace(K,nt):n},An.escapeRegExp=function(n){return(n=Iu(n))&&en.test(n)?n.replace(rn,"\\$&"):n},An.every=function(n,t,r){var e=ff(n)?u:bt;return r&&Oe(n,t,r)&&(t=T),e(n,ye(t,3))},An.find=Fo,An.findIndex=Ne,An.findKey=function(n,t){return p(n,ye(t,3),mt)},An.findLast=No,An.findLastIndex=Pe,An.findLastKey=function(n,t){return p(n,ye(t,3),At); +},An.floor=tc,An.forEach=nu,An.forEachRight=tu,An.forIn=function(n,t){return null==n?n:oo(n,ye(t,3),Uu)},An.forInRight=function(n,t){return null==n?n:fo(n,ye(t,3),Uu)},An.forOwn=function(n,t){return n&&mt(n,ye(t,3))},An.forOwnRight=function(n,t){return n&&At(n,ye(t,3))},An.get=Ru,An.gt=ef,An.gte=uf,An.has=function(n,t){return null!=n&&we(n,t,Rt)},An.hasIn=zu,An.head=qe,An.identity=$u,An.includes=function(n,t,r,e){return n=su(n)?n:Lu(n),r=r&&!e?ku(r):0,e=n.length,0>r&&(r=Li(e+r,0)),ju(n)?r<=e&&-1r&&(r=Li(e+r,0)),v(n,t,r)):-1},An.inRange=function(n,t,r){return t=Au(t),r===T?(r=t,t=0):r=Au(r),n=Su(n),n>=Ci(t,r)&&n=n},An.isSet=pf,An.isString=ju,An.isSymbol=wu,An.isTypedArray=_f,An.isUndefined=function(n){return n===T},An.isWeakMap=function(n){return yu(n)&&"[object WeakMap]"==vo(n)},An.isWeakSet=function(n){return yu(n)&&"[object WeakSet]"==Ot(n)},An.join=function(n,t){return null==n?"":Ui.call(n,t)},An.kebabCase=Bf,An.last=Ve,An.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==T&&(u=ku(r),u=0>u?Li(e+u,0):Ci(u,e-1)), +t===t)n:{for(r=u+1;r--;)if(n[r]===t){n=r;break n}n=r}else n=_(n,d,u,true);return n},An.lowerCase=Lf,An.lowerFirst=Cf,An.lt=vf,An.lte=gf,An.max=function(n){return n&&n.length?xt(n,$u,It):T},An.maxBy=function(n,t){return n&&n.length?xt(n,ye(t,2),It):T},An.mean=function(n){return y(n,$u)},An.meanBy=function(n,t){return y(n,ye(t,2))},An.min=function(n){return n&&n.length?xt(n,$u,Kt):T},An.minBy=function(n,t){return n&&n.length?xt(n,ye(t,2),Kt):T},An.stubArray=qu,An.stubFalse=Vu,An.stubObject=function(){ +return{}},An.stubString=function(){return""},An.stubTrue=function(){return true},An.multiply=rc,An.nth=function(n,t){return n&&n.length?Qt(n,ku(t)):T},An.noConflict=function(){return $n._===this&&($n._=si),this},An.noop=Pu,An.now=Go,An.pad=function(n,t,r){n=Iu(n);var e=(t=ku(t))?D(n):0;return!t||e>=t?n:(t=(t-e)/2,ne(Ii(t),r)+n+ne(Oi(t),r))},An.padEnd=function(n,t,r){n=Iu(n);var e=(t=ku(t))?D(n):0;return t&&et){var e=n;n=t,t=e}return r||n%1||t%1?(r=Ti(),Ci(n+r*(t-n+Cn("1e-"+((r+"").length-1))),t)):ir(n,t)},An.reduce=function(n,t,r){var e=ff(n)?l:j,u=3>arguments.length;return e(n,ye(t,4),r,u,uo)},An.reduceRight=function(n,t,r){ +var e=ff(n)?s:j,u=3>arguments.length;return e(n,ye(t,4),r,u,io)},An.repeat=function(n,t,r){return t=(r?Oe(n,t,r):t===T)?1:ku(t),or(Iu(n),t)},An.replace=function(){var n=arguments,t=Iu(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},An.result=function(n,t,r){t=Sr(t,n);var e=-1,u=t.length;for(u||(u=1,n=T);++en||9007199254740991=i)return n;if(i=r-D(e),1>i)return e;if(r=o?Or(o,0,i).join(""):n.slice(0,i),u===T)return r+e;if(o&&(i+=r.length-i),hf(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=Xu(u.source,Iu(_n.exec(u))+"g")), +u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===T?i:c)}}else n.indexOf(yr(u),i)!=i&&(u=r.lastIndexOf(u),-1e.__dir__?"Right":"")}),e},Ln.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),r(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Ln.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({ +iteratee:ye(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r(["head","last"],function(n,t){var r="take"+(t?"Right":"");Ln.prototype[n]=function(){return this[r](1).value()[0]}}),r(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Ln.prototype[n]=function(){return this.__filtered__?new Ln(this):this[r](1)}}),Ln.prototype.compact=function(){return this.filter($u)},Ln.prototype.find=function(n){return this.filter(n).head()},Ln.prototype.findLast=function(n){return this.reverse().find(n); +},Ln.prototype.invokeMap=fr(function(n,t){return typeof n=="function"?new Ln(this):this.map(function(r){return Bt(r,n,t)})}),Ln.prototype.reject=function(n){return this.filter(au(ye(n)))},Ln.prototype.slice=function(n,t){n=ku(n);var r=this;return r.__filtered__&&(0t)?new Ln(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==T&&(t=ku(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Ln.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ln.prototype.toArray=function(){return this.take(4294967295); +},mt(Ln.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=An[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(An.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ln,c=o[0],l=f||ff(t),s=function(n){return n=u.apply(An,a([n],o)),e&&h?n[0]:n};l&&r&&typeof c=="function"&&1!=c.length&&(f=l=false);var h=this.__chain__,p=!!this.__actions__.length,c=i&&!h,f=f&&!p;return!i&&l?(t=f?t:new Ln(this),t=n.apply(t,o),t.__actions__.push({ +func:Qe,args:[s],thisArg:T}),new On(t,h)):c&&f?n.apply(this,o):(t=this.thru(s),c?e?t.value()[0]:t.value():t)})}),r("pop push shift sort splice unshift".split(" "),function(n){var t=ri[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);An.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(ff(u)?u:[],n)}return this[r](function(r){return t.apply(ff(r)?r:[],n)})}}),mt(Ln.prototype,function(n,t){var r=An[t];if(r){var e=r.name+""; +(Gi[e]||(Gi[e]=[])).push({name:t,func:r})}}),Gi[Jr(T,2).name]=[{name:"wrapper",func:T}],Ln.prototype.clone=function(){var n=new Ln(this.__wrapped__);return n.__actions__=Lr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Lr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Lr(this.__views__),n},Ln.prototype.reverse=function(){if(this.__filtered__){var n=new Ln(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n; +},Ln.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=ff(t),u=0>r,i=e?t.length:0;n=0;for(var o=i,f=this.__views__,c=-1,a=f.length;++c=this.__values__.length;return{done:n,value:n?T:this.__values__[this.__index__++]}},An.prototype.plant=function(n){for(var t,r=this;r instanceof kn;){ +var e=Fe(r);e.__index__=0,e.__values__=T,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},An.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Ln?(this.__actions__.length&&(n=new Ln(this)),n=n.reverse(),n.__actions__.push({func:Qe,args:[Ge],thisArg:T}),new On(n,this.__chain__)):this.thru(Ge)},An.prototype.toJSON=An.prototype.valueOf=An.prototype.value=function(){return wr(this.__wrapped__,this.__actions__)},An.prototype.first=An.prototype.head,wi&&(An.prototype[wi]=Xe), +An}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?($n._=rt, define(function(){return rt})):Nn?((Nn.exports=rt)._=rt,Fn._=rt):$n._=rt}).call(this); \ No newline at end of file diff --git a/build/js-transpiled/node_modules/lodash/package.json b/build/js-transpiled/node_modules/lodash/package.json index a5696e62..f078c3fb 100644 --- a/build/js-transpiled/node_modules/lodash/package.json +++ b/build/js-transpiled/node_modules/lodash/package.json @@ -1,27 +1,27 @@ { - "_from": "lodash@4.17.4", - "_id": "lodash@4.17.4", + "_from": "lodash@4.17.11", + "_id": "lodash@4.17.11", "_inBundle": false, - "_integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "_integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "_location": "/lodash", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "lodash@4.17.4", + "raw": "lodash@4.17.11", "name": "lodash", "escapedName": "lodash", - "rawSpec": "4.17.4", + "rawSpec": "4.17.11", "saveSpec": null, - "fetchSpec": "4.17.4" + "fetchSpec": "4.17.11" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "_shasum": "78203a4d1c328ae1d86dca6460e369b57f4055ae", - "_spec": "lodash@4.17.4", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "_shasum": "b39ea6229ef607ecd89e2c8df12536891cac9b8d", + "_spec": "lodash@4.17.11", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "John-David Dalton", "email": "john.david.dalton@gmail.com", @@ -60,7 +60,7 @@ "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { - "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" + "test": "echo \"See https://travis-ci.org/lodash-archive/lodash-cli for testing details.\"" }, - "version": "4.17.4" + "version": "4.17.11" } diff --git a/build/js-transpiled/node_modules/lru-cache/.npmignore b/build/js-transpiled/node_modules/lru-cache/.npmignore deleted file mode 100644 index 07e6e472..00000000 --- a/build/js-transpiled/node_modules/lru-cache/.npmignore +++ /dev/null @@ -1 +0,0 @@ -/node_modules diff --git a/build/js-transpiled/node_modules/lru-cache/.travis.yml b/build/js-transpiled/node_modules/lru-cache/.travis.yml deleted file mode 100644 index 4af02b3d..00000000 --- a/build/js-transpiled/node_modules/lru-cache/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - - '0.8' - - '0.10' - - '0.12' - - 'iojs' -before_install: - - npm install -g npm@latest diff --git a/build/js-transpiled/node_modules/lru-cache/CONTRIBUTORS b/build/js-transpiled/node_modules/lru-cache/CONTRIBUTORS deleted file mode 100644 index 4a0bc503..00000000 --- a/build/js-transpiled/node_modules/lru-cache/CONTRIBUTORS +++ /dev/null @@ -1,14 +0,0 @@ -# Authors, sorted by whether or not they are me -Isaac Z. Schlueter -Brian Cottingham -Carlos Brito Lage -Jesse Dailey -Kevin O'Hara -Marco Rogers -Mark Cavage -Marko Mikulicic -Nathan Rajlich -Satheesh Natesan -Trent Mick -ashleybrener -n4kz diff --git a/build/js-transpiled/node_modules/lru-cache/README.md b/build/js-transpiled/node_modules/lru-cache/README.md index f8046998..d660dd57 100644 --- a/build/js-transpiled/node_modules/lru-cache/README.md +++ b/build/js-transpiled/node_modules/lru-cache/README.md @@ -2,6 +2,14 @@ A cache object that deletes the least-recently-used items. +[![Build Status](https://travis-ci.org/isaacs/node-lru-cache.svg?branch=master)](https://travis-ci.org/isaacs/node-lru-cache) [![Coverage Status](https://coveralls.io/repos/isaacs/node-lru-cache/badge.svg?service=github)](https://coveralls.io/github/isaacs/node-lru-cache) + +## Installation: + +```javascript +npm install lru-cache --save +``` + ## Usage: ```javascript @@ -17,10 +25,16 @@ cache.set("key", "value") cache.get("key") // "value" // non-string keys ARE fully supported -var someObject = {} +// but note that it must be THE SAME object, not +// just a JSON-equivalent object. +var someObject = { a: 1 } cache.set(someObject, 'a value') +// Object keys are not toString()-ed cache.set('[object Object]', 'a different value') assert.equal(cache.get(someObject), 'a value') +// A similar object with same keys/values won't work, +// because it's a different object identity +assert.equal(cache.get({ a: 1 }), undefined) cache.reset() // empty the cache ``` @@ -43,7 +57,7 @@ away. items. If you're storing strings or buffers, then you probably want to do something like `function(n, key){return n.length}`. The default is `function(){return 1}`, which is fine if you want to store `max` - like-sized things. They item is passed as the first argument, and + like-sized things. The item is passed as the first argument, and the key is passed as the second argumnet. * `dispose` Function that is called on items when they are dropped from the cache. This can be handy if you want to close file @@ -58,6 +72,10 @@ away. `stale:true`, it'll return the stale value before deleting it. If you don't set this, then it'll return `undefined` when you try to get a stale entry, as if it had already been deleted. +* `noDisposeOnSet` By default, if you set a `dispose()` method, then + it'll be called whenever a `set()` operation overwrites an existing + key. If you set this option, `dispose()` will only be called when a + key falls out of the cache, not when it is overwritten. ## API @@ -65,8 +83,12 @@ away. * `get(key) => value` Both of these will update the "recently used"-ness of the key. - They do what you think. `max` is optional and overrides the - cache `max` option if provided. + They do what you think. `maxAge` is optional and overrides the + cache `maxAge` option if provided. + + If the key is not found, `get()` will return `undefined`. + + The key and val can be any value. * `peek(key)` @@ -110,7 +132,7 @@ away. Return an array of the values in the cache. -* `length()` +* `length` Return total length of objects in cache taking into account `length` options function. @@ -130,3 +152,7 @@ away. Loads another cache entries array, obtained with `sourceCache.dump()`, into the cache. The destination cache is reset before loading new entries + +* `prune()` + + Manually iterates over the entire cache proactively pruning old entries diff --git a/build/js-transpiled/node_modules/lru-cache/index.js b/build/js-transpiled/node_modules/lru-cache/index.js new file mode 100644 index 00000000..3f047f8c --- /dev/null +++ b/build/js-transpiled/node_modules/lru-cache/index.js @@ -0,0 +1,467 @@ +'use strict' + +module.exports = LRUCache + +// This will be a proper iterable 'Map' in engines that support it, +// or a fakey-fake PseudoMap in older versions. +var Map = require('pseudomap') +var util = require('util') + +// A linked list to keep track of recently-used-ness +var Yallist = require('yallist') + +// use symbols if possible, otherwise just _props +var hasSymbol = typeof Symbol === 'function' +var makeSymbol +if (hasSymbol) { + makeSymbol = function (key) { + return Symbol(key) + } +} else { + makeSymbol = function (key) { + return '_' + key + } +} + +var MAX = makeSymbol('max') +var LENGTH = makeSymbol('length') +var LENGTH_CALCULATOR = makeSymbol('lengthCalculator') +var ALLOW_STALE = makeSymbol('allowStale') +var MAX_AGE = makeSymbol('maxAge') +var DISPOSE = makeSymbol('dispose') +var NO_DISPOSE_ON_SET = makeSymbol('noDisposeOnSet') +var LRU_LIST = makeSymbol('lruList') +var CACHE = makeSymbol('cache') + +function naiveLength () { return 1 } + +// lruList is a yallist where the head is the youngest +// item, and the tail is the oldest. the list contains the Hit +// objects as the entries. +// Each Hit object has a reference to its Yallist.Node. This +// never changes. +// +// cache is a Map (or PseudoMap) that matches the keys to +// the Yallist.Node object. +function LRUCache (options) { + if (!(this instanceof LRUCache)) { + return new LRUCache(options) + } + + if (typeof options === 'number') { + options = { max: options } + } + + if (!options) { + options = {} + } + + var max = this[MAX] = options.max + // Kind of weird to have a default max of Infinity, but oh well. + if (!max || + !(typeof max === 'number') || + max <= 0) { + this[MAX] = Infinity + } + + var lc = options.length || naiveLength + if (typeof lc !== 'function') { + lc = naiveLength + } + this[LENGTH_CALCULATOR] = lc + + this[ALLOW_STALE] = options.stale || false + this[MAX_AGE] = options.maxAge || 0 + this[DISPOSE] = options.dispose + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false + this.reset() +} + +// resize the cache when the max changes. +Object.defineProperty(LRUCache.prototype, 'max', { + set: function (mL) { + if (!mL || !(typeof mL === 'number') || mL <= 0) { + mL = Infinity + } + this[MAX] = mL + trim(this) + }, + get: function () { + return this[MAX] + }, + enumerable: true +}) + +Object.defineProperty(LRUCache.prototype, 'allowStale', { + set: function (allowStale) { + this[ALLOW_STALE] = !!allowStale + }, + get: function () { + return this[ALLOW_STALE] + }, + enumerable: true +}) + +Object.defineProperty(LRUCache.prototype, 'maxAge', { + set: function (mA) { + if (!mA || !(typeof mA === 'number') || mA < 0) { + mA = 0 + } + this[MAX_AGE] = mA + trim(this) + }, + get: function () { + return this[MAX_AGE] + }, + enumerable: true +}) + +// resize the cache when the lengthCalculator changes. +Object.defineProperty(LRUCache.prototype, 'lengthCalculator', { + set: function (lC) { + if (typeof lC !== 'function') { + lC = naiveLength + } + if (lC !== this[LENGTH_CALCULATOR]) { + this[LENGTH_CALCULATOR] = lC + this[LENGTH] = 0 + this[LRU_LIST].forEach(function (hit) { + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key) + this[LENGTH] += hit.length + }, this) + } + trim(this) + }, + get: function () { return this[LENGTH_CALCULATOR] }, + enumerable: true +}) + +Object.defineProperty(LRUCache.prototype, 'length', { + get: function () { return this[LENGTH] }, + enumerable: true +}) + +Object.defineProperty(LRUCache.prototype, 'itemCount', { + get: function () { return this[LRU_LIST].length }, + enumerable: true +}) + +LRUCache.prototype.rforEach = function (fn, thisp) { + thisp = thisp || this + for (var walker = this[LRU_LIST].tail; walker !== null;) { + var prev = walker.prev + forEachStep(this, fn, walker, thisp) + walker = prev + } +} + +function forEachStep (self, fn, node, thisp) { + var hit = node.value + if (isStale(self, hit)) { + del(self, node) + if (!self[ALLOW_STALE]) { + hit = undefined + } + } + if (hit) { + fn.call(thisp, hit.value, hit.key, self) + } +} + +LRUCache.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + for (var walker = this[LRU_LIST].head; walker !== null;) { + var next = walker.next + forEachStep(this, fn, walker, thisp) + walker = next + } +} + +LRUCache.prototype.keys = function () { + return this[LRU_LIST].toArray().map(function (k) { + return k.key + }, this) +} + +LRUCache.prototype.values = function () { + return this[LRU_LIST].toArray().map(function (k) { + return k.value + }, this) +} + +LRUCache.prototype.reset = function () { + if (this[DISPOSE] && + this[LRU_LIST] && + this[LRU_LIST].length) { + this[LRU_LIST].forEach(function (hit) { + this[DISPOSE](hit.key, hit.value) + }, this) + } + + this[CACHE] = new Map() // hash of items by key + this[LRU_LIST] = new Yallist() // list of items in order of use recency + this[LENGTH] = 0 // length of items in the list +} + +LRUCache.prototype.dump = function () { + return this[LRU_LIST].map(function (hit) { + if (!isStale(this, hit)) { + return { + k: hit.key, + v: hit.value, + e: hit.now + (hit.maxAge || 0) + } + } + }, this).toArray().filter(function (h) { + return h + }) +} + +LRUCache.prototype.dumpLru = function () { + return this[LRU_LIST] +} + +LRUCache.prototype.inspect = function (n, opts) { + var str = 'LRUCache {' + var extras = false + + var as = this[ALLOW_STALE] + if (as) { + str += '\n allowStale: true' + extras = true + } + + var max = this[MAX] + if (max && max !== Infinity) { + if (extras) { + str += ',' + } + str += '\n max: ' + util.inspect(max, opts) + extras = true + } + + var maxAge = this[MAX_AGE] + if (maxAge) { + if (extras) { + str += ',' + } + str += '\n maxAge: ' + util.inspect(maxAge, opts) + extras = true + } + + var lc = this[LENGTH_CALCULATOR] + if (lc && lc !== naiveLength) { + if (extras) { + str += ',' + } + str += '\n length: ' + util.inspect(this[LENGTH], opts) + extras = true + } + + var didFirst = false + this[LRU_LIST].forEach(function (item) { + if (didFirst) { + str += ',\n ' + } else { + if (extras) { + str += ',\n' + } + didFirst = true + str += '\n ' + } + var key = util.inspect(item.key).split('\n').join('\n ') + var val = { value: item.value } + if (item.maxAge !== maxAge) { + val.maxAge = item.maxAge + } + if (lc !== naiveLength) { + val.length = item.length + } + if (isStale(this, item)) { + val.stale = true + } + + val = util.inspect(val, opts).split('\n').join('\n ') + str += key + ' => ' + val + }) + + if (didFirst || extras) { + str += '\n' + } + str += '}' + + return str +} + +LRUCache.prototype.set = function (key, value, maxAge) { + maxAge = maxAge || this[MAX_AGE] + + var now = maxAge ? Date.now() : 0 + var len = this[LENGTH_CALCULATOR](value, key) + + if (this[CACHE].has(key)) { + if (len > this[MAX]) { + del(this, this[CACHE].get(key)) + return false + } + + var node = this[CACHE].get(key) + var item = node.value + + // dispose of the old one before overwriting + // split out into 2 ifs for better coverage tracking + if (this[DISPOSE]) { + if (!this[NO_DISPOSE_ON_SET]) { + this[DISPOSE](key, item.value) + } + } + + item.now = now + item.maxAge = maxAge + item.value = value + this[LENGTH] += len - item.length + item.length = len + this.get(key) + trim(this) + return true + } + + var hit = new Entry(key, value, len, now, maxAge) + + // oversized objects fall out of cache automatically. + if (hit.length > this[MAX]) { + if (this[DISPOSE]) { + this[DISPOSE](key, value) + } + return false + } + + this[LENGTH] += hit.length + this[LRU_LIST].unshift(hit) + this[CACHE].set(key, this[LRU_LIST].head) + trim(this) + return true +} + +LRUCache.prototype.has = function (key) { + if (!this[CACHE].has(key)) return false + var hit = this[CACHE].get(key).value + if (isStale(this, hit)) { + return false + } + return true +} + +LRUCache.prototype.get = function (key) { + return get(this, key, true) +} + +LRUCache.prototype.peek = function (key) { + return get(this, key, false) +} + +LRUCache.prototype.pop = function () { + var node = this[LRU_LIST].tail + if (!node) return null + del(this, node) + return node.value +} + +LRUCache.prototype.del = function (key) { + del(this, this[CACHE].get(key)) +} + +LRUCache.prototype.load = function (arr) { + // reset the cache + this.reset() + + var now = Date.now() + // A previous serialized cache has the most recent items first + for (var l = arr.length - 1; l >= 0; l--) { + var hit = arr[l] + var expiresAt = hit.e || 0 + if (expiresAt === 0) { + // the item was created without expiration in a non aged cache + this.set(hit.k, hit.v) + } else { + var maxAge = expiresAt - now + // dont add already expired items + if (maxAge > 0) { + this.set(hit.k, hit.v, maxAge) + } + } + } +} + +LRUCache.prototype.prune = function () { + var self = this + this[CACHE].forEach(function (value, key) { + get(self, key, false) + }) +} + +function get (self, key, doUse) { + var node = self[CACHE].get(key) + if (node) { + var hit = node.value + if (isStale(self, hit)) { + del(self, node) + if (!self[ALLOW_STALE]) hit = undefined + } else { + if (doUse) { + self[LRU_LIST].unshiftNode(node) + } + } + if (hit) hit = hit.value + } + return hit +} + +function isStale (self, hit) { + if (!hit || (!hit.maxAge && !self[MAX_AGE])) { + return false + } + var stale = false + var diff = Date.now() - hit.now + if (hit.maxAge) { + stale = diff > hit.maxAge + } else { + stale = self[MAX_AGE] && (diff > self[MAX_AGE]) + } + return stale +} + +function trim (self) { + if (self[LENGTH] > self[MAX]) { + for (var walker = self[LRU_LIST].tail; + self[LENGTH] > self[MAX] && walker !== null;) { + // We know that we're about to delete this one, and also + // what the next least recently used key will be, so just + // go ahead and set it now. + var prev = walker.prev + del(self, walker) + walker = prev + } + } +} + +function del (self, node) { + if (node) { + var hit = node.value + if (self[DISPOSE]) { + self[DISPOSE](hit.key, hit.value) + } + self[LENGTH] -= hit.length + self[CACHE].delete(hit.key) + self[LRU_LIST].removeNode(node) + } +} + +// classy, since V8 prefers predictable objects. +function Entry (key, value, length, now, maxAge) { + this.key = key + this.value = value + this.length = length + this.now = now + this.maxAge = maxAge || 0 +} diff --git a/build/js-transpiled/node_modules/lru-cache/lib/lru-cache.js b/build/js-transpiled/node_modules/lru-cache/lib/lru-cache.js deleted file mode 100644 index dccc6d59..00000000 --- a/build/js-transpiled/node_modules/lru-cache/lib/lru-cache.js +++ /dev/null @@ -1,356 +0,0 @@ -module.exports = LRUCache - -// This will be a proper iterable 'Map' in engines that support it, -// or a fakey-fake PseudoMap in older versions. -var Map = require('pseudomap') - -function naiveLength () { return 1 } - -function LRUCache (options) { - if (!(this instanceof LRUCache)) - return new LRUCache(options) - - if (typeof options === 'number') - options = { max: options } - - if (!options) - options = {} - - this._max = options.max - // Kind of weird to have a default max of Infinity, but oh well. - if (!this._max || !(typeof this._max === "number") || this._max <= 0 ) - this._max = Infinity - - this._lengthCalculator = options.length || naiveLength - if (typeof this._lengthCalculator !== "function") - this._lengthCalculator = naiveLength - - this._allowStale = options.stale || false - this._maxAge = options.maxAge || null - this._dispose = options.dispose - this.reset() -} - -// resize the cache when the max changes. -Object.defineProperty(LRUCache.prototype, "max", - { set : function (mL) { - if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity - this._max = mL - if (this._length > this._max) trim(this) - } - , get : function () { return this._max } - , enumerable : true - }) - -// resize the cache when the lengthCalculator changes. -Object.defineProperty(LRUCache.prototype, "lengthCalculator", - { set : function (lC) { - if (typeof lC !== "function") { - this._lengthCalculator = naiveLength - this._length = this._lruList.size - this._cache.forEach(function (value, key) { - value.length = 1 - }) - } else { - this._lengthCalculator = lC - this._length = 0 - this._cache.forEach(function (value, key) { - value.length = this._lengthCalculator(value.value, key) - this._length += value.length - }, this) - } - - if (this._length > this._max) trim(this) - } - , get : function () { return this._lengthCalculator } - , enumerable : true - }) - -Object.defineProperty(LRUCache.prototype, "length", - { get : function () { return this._length } - , enumerable : true - }) - -Object.defineProperty(LRUCache.prototype, "itemCount", - { get : function () { return this._lruList.size } - , enumerable : true - }) - -function reverseKeys (map) { - // keys live in lruList map in insertion order. - // we want them in reverse insertion order. - // flip the list of keys. - var itemCount = map.size - var keys = new Array(itemCount) - var i = itemCount - map.forEach(function (value, key) { - keys[--i] = key - }) - - return keys -} - -LRUCache.prototype.rforEach = function (fn, thisp) { - thisp = thisp || this - this._lruList.forEach(function (hit) { - forEachStep(this, fn, hit, thisp) - }, this) -} - -function forEachStep (self, fn, hit, thisp) { - if (isStale(self, hit)) { - del(self, hit) - if (!self._allowStale) { - hit = undefined - } - } - if (hit) { - fn.call(thisp, hit.value, hit.key, self) - } -} - - -LRUCache.prototype.forEach = function (fn, thisp) { - thisp = thisp || this - - var keys = reverseKeys(this._lruList) - for (var k = 0; k < keys.length; k++) { - var hit = this._lruList.get(keys[k]) - forEachStep(this, fn, hit, thisp) - } -} - -LRUCache.prototype.keys = function () { - return reverseKeys(this._lruList).map(function (k) { - return this._lruList.get(k).key - }, this) -} - -LRUCache.prototype.values = function () { - return reverseKeys(this._lruList).map(function (k) { - return this._lruList.get(k).value - }, this) -} - -LRUCache.prototype.reset = function () { - if (this._dispose && this._cache) { - this._cache.forEach(function (entry, key) { - this._dispose(key, entry.value) - }, this) - } - - this._cache = new Map() // hash of items by key - this._lruList = new Map() // list of items in order of use recency - this._mru = 0 // most recently used - this._lru = 0 // least recently used - this._length = 0 // number of items in the list -} - -LRUCache.prototype.dump = function () { - var arr = [] - var i = 0 - var size = this._lruList.size - return reverseKeys(this._lruList).map(function (k) { - var hit = this._lruList.get(k) - if (!isStale(this, hit)) { - return { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - } - } - }, this).filter(function (h) { - return h - }) -} - -LRUCache.prototype.dumpLru = function () { - return this._lruList -} - -LRUCache.prototype.set = function (key, value, maxAge) { - maxAge = maxAge || this._maxAge - - var now = maxAge ? Date.now() : 0 - var len = this._lengthCalculator(value, key) - - if (this._cache.has(key)) { - if (len > this._max) { - del(this, this._cache.get(key)) - return false - } - - var item = this._cache.get(key) - - // dispose of the old one before overwriting - if (this._dispose) - this._dispose(key, item.value) - - item.now = now - item.maxAge = maxAge - item.value = value - this._length += (len - item.length) - item.length = len - this.get(key) - - if (this._length > this._max) - trim(this) - - return true - } - - var hit = new Entry(key, value, this._mru, len, now, maxAge) - incMru(this) - - // oversized objects fall out of cache automatically. - if (hit.length > this._max) { - if (this._dispose) this._dispose(key, value) - return false - } - - this._length += hit.length - this._cache.set(key, hit) - this._lruList.set(hit.lu, hit) - - if (this._length > this._max) - trim(this) - - return true -} - -LRUCache.prototype.has = function (key) { - if (!this._cache.has(key)) return false - var hit = this._cache.get(key) - if (isStale(this, hit)) { - return false - } - return true -} - -LRUCache.prototype.get = function (key) { - return get(this, key, true) -} - -LRUCache.prototype.peek = function (key) { - return get(this, key, false) -} - -LRUCache.prototype.pop = function () { - var hit = this._lruList.get(this._lru) - del(this, hit) - return hit || null -} - -LRUCache.prototype.del = function (key) { - del(this, this._cache.get(key)) -} - -LRUCache.prototype.load = function (arr) { - //reset the cache - this.reset(); - - var now = Date.now() - // A previous serialized cache has the most recent items first - for (var l = arr.length - 1; l >= 0; l--) { - var hit = arr[l] - var expiresAt = hit.e || 0 - if (expiresAt === 0) { - // the item was created without expiration in a non aged cache - this.set(hit.k, hit.v) - } else { - var maxAge = expiresAt - now - // dont add already expired items - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge) - } - } - } -} - -function get (self, key, doUse) { - var hit = self._cache.get(key) - if (hit) { - if (isStale(self, hit)) { - del(self, hit) - if (!self._allowStale) hit = undefined - } else { - if (doUse) use(self, hit) - } - if (hit) hit = hit.value - } - return hit -} - -function isStale(self, hit) { - if (!hit || (!hit.maxAge && !self._maxAge)) return false - var stale = false; - var diff = Date.now() - hit.now - if (hit.maxAge) { - stale = diff > hit.maxAge - } else { - stale = self._maxAge && (diff > self._maxAge) - } - return stale; -} - -function use (self, hit) { - shiftLU(self, hit) - hit.lu = self._mru - incMru(self) - self._lruList.set(hit.lu, hit) -} - -function trim (self) { - if (self._length > self._max) { - var keys = reverseKeys(self._lruList) - for (var k = keys.length - 1; self._length > self._max; k--) { - // We know that we're about to delete this one, and also - // what the next least recently used key will be, so just - // go ahead and set it now. - self._lru = keys[k - 1] - del(self, self._lruList.get(keys[k])) - } - } -} - -function shiftLU (self, hit) { - self._lruList.delete(hit.lu) - if (hit.lu === self._lru) - self._lru = reverseKeys(self._lruList).pop() -} - -function del (self, hit) { - if (hit) { - if (self._dispose) self._dispose(hit.key, hit.value) - self._length -= hit.length - self._cache.delete(hit.key) - shiftLU(self, hit) - } -} - -// classy, since V8 prefers predictable objects. -function Entry (key, value, lu, length, now, maxAge) { - this.key = key - this.value = value - this.lu = lu - this.length = length - this.now = now - if (maxAge) this.maxAge = maxAge -} - - -// Incrementers and decrementers that loop at MAX_SAFE_INTEGER -// only relevant for the lu, lru, and mru counters, since they -// get touched a lot and can get very large. Also, since they -// only go upwards, and the sets will tend to be much smaller than -// the max, we can very well assume that a very small number comes -// after a very large number, rather than before it. -var maxSafeInt = Number.MAX_SAFE_INTEGER || 9007199254740991 -function intInc (number) { - return (number === maxSafeInt) ? 0 : number + 1 -} -function incMru (self) { - do { - self._mru = intInc(self._mru) - } while (self._lruList.has(self._mru)) -} diff --git a/build/js-transpiled/node_modules/lru-cache/package.json b/build/js-transpiled/node_modules/lru-cache/package.json index f71864ee..db0fdfb0 100644 --- a/build/js-transpiled/node_modules/lru-cache/package.json +++ b/build/js-transpiled/node_modules/lru-cache/package.json @@ -1,27 +1,27 @@ { - "_from": "lru-cache@^3.2.0", - "_id": "lru-cache@3.2.0", + "_from": "lru-cache@^4.1.3", + "_id": "lru-cache@4.1.3", "_inBundle": false, - "_integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", + "_integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "_location": "/lru-cache", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "lru-cache@^3.2.0", + "raw": "lru-cache@^4.1.3", "name": "lru-cache", "escapedName": "lru-cache", - "rawSpec": "^3.2.0", + "rawSpec": "^4.1.3", "saveSpec": null, - "fetchSpec": "^3.2.0" + "fetchSpec": "^4.1.3" }, "_requiredBy": [ "/editorconfig" ], - "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "_shasum": "71789b3b7f5399bec8565dda38aa30d2a097efee", - "_spec": "lru-cache@^3.2.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", + "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "_shasum": "a1175cf3496dfc8436c156c334b4955992bce69c", + "_spec": "lru-cache@^4.1.3", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me" @@ -31,14 +31,19 @@ }, "bundleDependencies": false, "dependencies": { - "pseudomap": "^1.0.1" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" }, "deprecated": false, "description": "A cache object that deletes the least-recently-used items.", "devDependencies": { - "tap": "^1.2.0", - "weak": "" + "benchmark": "^2.1.4", + "standard": "^5.4.1", + "tap": "^11.1.4" }, + "files": [ + "index.js" + ], "homepage": "https://github.com/isaacs/node-lru-cache#readme", "keywords": [ "mru", @@ -46,14 +51,18 @@ "cache" ], "license": "ISC", - "main": "lib/lru-cache.js", + "main": "index.js", "name": "lru-cache", "repository": { "type": "git", "url": "git://github.com/isaacs/node-lru-cache.git" }, "scripts": { - "test": "tap test --gc" + "postpublish": "git push origin --all; git push origin --tags", + "posttest": "standard test/*.js index.js", + "postversion": "npm publish", + "preversion": "npm test", + "test": "tap test/*.js --100 -J" }, - "version": "3.2.0" + "version": "4.1.3" } diff --git a/build/js-transpiled/node_modules/lru-cache/test/basic.js b/build/js-transpiled/node_modules/lru-cache/test/basic.js deleted file mode 100644 index 02000a79..00000000 --- a/build/js-transpiled/node_modules/lru-cache/test/basic.js +++ /dev/null @@ -1,427 +0,0 @@ -var test = require("tap").test - , LRU = require("../") - -test("basic", function (t) { - var cache = new LRU({max: 10}) - cache.set("key", "value") - t.equal(cache.get("key"), "value") - t.equal(cache.get("nada"), undefined) - t.equal(cache.length, 1) - t.equal(cache.max, 10) - t.end() -}) - -test("least recently set", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.set("b", "B") - cache.set("c", "C") - t.equal(cache.get("c"), "C") - t.equal(cache.get("b"), "B") - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("lru recently gotten", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.set("b", "B") - cache.get("a") - cache.set("c", "C") - t.equal(cache.get("c"), "C") - t.equal(cache.get("b"), undefined) - t.equal(cache.get("a"), "A") - t.end() -}) - -test("del", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.del("a") - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("max", function (t) { - var cache = new LRU(3) - - // test changing the max, verify that the LRU items get dropped. - cache.max = 100 - for (var i = 0; i < 100; i ++) cache.set(i, i) - t.equal(cache.length, 100) - for (var i = 0; i < 100; i ++) { - t.equal(cache.get(i), i) - } - cache.max = 3 - t.equal(cache.length, 3) - for (var i = 0; i < 97; i ++) { - t.equal(cache.get(i), undefined) - } - for (var i = 98; i < 100; i ++) { - t.equal(cache.get(i), i) - } - - // now remove the max restriction, and try again. - cache.max = "hello" - for (var i = 0; i < 100; i ++) cache.set(i, i) - t.equal(cache.length, 100) - for (var i = 0; i < 100; i ++) { - t.equal(cache.get(i), i) - } - // should trigger an immediate resize - cache.max = 3 - t.equal(cache.length, 3) - for (var i = 0; i < 97; i ++) { - t.equal(cache.get(i), undefined) - } - for (var i = 98; i < 100; i ++) { - t.equal(cache.get(i), i) - } - t.end() -}) - -test("reset", function (t) { - var cache = new LRU(10) - cache.set("a", "A") - cache.set("b", "B") - cache.reset() - t.equal(cache.length, 0) - t.equal(cache.max, 10) - t.equal(cache.get("a"), undefined) - t.equal(cache.get("b"), undefined) - t.end() -}) - - -test("basic with weighed length", function (t) { - var cache = new LRU({ - max: 100, - length: function (item, key) { - t.isa(key, 'string') - return item.size - } - }) - cache.set("key", {val: "value", size: 50}) - t.equal(cache.get("key").val, "value") - t.equal(cache.get("nada"), undefined) - t.equal(cache.lengthCalculator(cache.get("key"), 'key'), 50) - t.equal(cache.length, 50) - t.equal(cache.max, 100) - t.end() -}) - - -test("weighed length item too large", function (t) { - var cache = new LRU({ - max: 10, - length: function (item) { return item.size } - }) - t.equal(cache.max, 10) - - // should fall out immediately - cache.set("key", {val: "value", size: 50}) - - t.equal(cache.length, 0) - t.equal(cache.get("key"), undefined) - t.end() -}) - -test("least recently set with weighed length", function (t) { - var cache = new LRU({ - max:8, - length: function (item) { return item.length } - }) - cache.set("a", "A") - cache.set("b", "BB") - cache.set("c", "CCC") - cache.set("d", "DDDD") - t.equal(cache.get("d"), "DDDD") - t.equal(cache.get("c"), "CCC") - t.equal(cache.get("b"), undefined) - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("lru recently gotten with weighed length", function (t) { - var cache = new LRU({ - max: 8, - length: function (item) { return item.length } - }) - cache.set("a", "A") - cache.set("b", "BB") - cache.set("c", "CCC") - cache.get("a") - cache.get("b") - cache.set("d", "DDDD") - t.equal(cache.get("c"), undefined) - t.equal(cache.get("d"), "DDDD") - t.equal(cache.get("b"), "BB") - t.equal(cache.get("a"), "A") - t.end() -}) - -test("lru recently updated with weighed length", function (t) { - var cache = new LRU({ - max: 8, - length: function (item) { return item.length } - }) - cache.set("a", "A") - cache.set("b", "BB") - cache.set("c", "CCC") - t.equal(cache.length, 6) //CCC BB A - cache.set("a", "+A") - t.equal(cache.length, 7) //+A CCC BB - cache.set("b", "++BB") - t.equal(cache.length, 6) //++BB +A - t.equal(cache.get("c"), undefined) - - cache.set("c", "oversized") - t.equal(cache.length, 6) //++BB +A - t.equal(cache.get("c"), undefined) - - cache.set("a", "oversized") - t.equal(cache.length, 4) //++BB - t.equal(cache.get("a"), undefined) - t.equal(cache.get("b"), "++BB") - t.end() -}) - -test("set returns proper booleans", function(t) { - var cache = new LRU({ - max: 5, - length: function (item) { return item.length } - }) - - t.equal(cache.set("a", "A"), true) - - // should return false for max exceeded - t.equal(cache.set("b", "donuts"), false) - - t.equal(cache.set("b", "B"), true) - t.equal(cache.set("c", "CCCC"), true) - t.end() -}) - -test("drop the old items", function(t) { - var cache = new LRU({ - max: 5, - maxAge: 50 - }) - - cache.set("a", "A") - - setTimeout(function () { - cache.set("b", "b") - t.equal(cache.get("a"), "A") - }, 25) - - setTimeout(function () { - cache.set("c", "C") - // timed out - t.notOk(cache.get("a")) - }, 60 + 25) - - setTimeout(function () { - t.notOk(cache.get("b")) - t.equal(cache.get("c"), "C") - }, 90) - - setTimeout(function () { - t.notOk(cache.get("c")) - t.end() - }, 155) -}) - -test("individual item can have its own maxAge", function(t) { - var cache = new LRU({ - max: 5, - maxAge: 50 - }) - - cache.set("a", "A", 20) - setTimeout(function () { - t.notOk(cache.get("a")) - t.end() - }, 25) -}) - -test("individual item can have its own maxAge > cache's", function(t) { - var cache = new LRU({ - max: 5, - maxAge: 20 - }) - - cache.set("a", "A", 50) - setTimeout(function () { - t.equal(cache.get("a"), "A") - t.end() - }, 25) -}) - -test("disposal function", function(t) { - var disposed = false - var cache = new LRU({ - max: 1, - dispose: function (k, n) { - disposed = n - } - }) - - cache.set(1, 1) - cache.set(2, 2) - t.equal(disposed, 1) - cache.set(3, 3) - t.equal(disposed, 2) - cache.reset() - t.equal(disposed, 3) - t.end() -}) - -test("disposal function on too big of item", function(t) { - var disposed = false - var cache = new LRU({ - max: 1, - length: function (k) { - return k.length - }, - dispose: function (k, n) { - disposed = n - } - }) - var obj = [ 1, 2 ] - - t.equal(disposed, false) - cache.set("obj", obj) - t.equal(disposed, obj) - t.end() -}) - -test("has()", function(t) { - var cache = new LRU({ - max: 1, - maxAge: 10 - }) - - cache.set('foo', 'bar') - t.equal(cache.has('foo'), true) - cache.set('blu', 'baz') - t.equal(cache.has('foo'), false) - t.equal(cache.has('blu'), true) - setTimeout(function() { - t.equal(cache.has('blu'), false) - t.end() - }, 15) -}) - -test("stale", function(t) { - var cache = new LRU({ - maxAge: 10, - stale: true - }) - - cache.set('foo', 'bar') - t.equal(cache.get('foo'), 'bar') - t.equal(cache.has('foo'), true) - setTimeout(function() { - t.equal(cache.has('foo'), false) - t.equal(cache.get('foo'), 'bar') - t.equal(cache.get('foo'), undefined) - t.end() - }, 15) -}) - -test("lru update via set", function(t) { - var cache = LRU({ max: 2 }); - - cache.set('foo', 1); - cache.set('bar', 2); - cache.del('bar'); - cache.set('baz', 3); - cache.set('qux', 4); - - t.equal(cache.get('foo'), undefined) - t.equal(cache.get('bar'), undefined) - t.equal(cache.get('baz'), 3) - t.equal(cache.get('qux'), 4) - t.end() -}) - -test("least recently set w/ peek", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.set("b", "B") - t.equal(cache.peek("a"), "A") - cache.set("c", "C") - t.equal(cache.get("c"), "C") - t.equal(cache.get("b"), "B") - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("pop the least used item", function (t) { - var cache = new LRU(3) - , last - - cache.set("a", "A") - cache.set("b", "B") - cache.set("c", "C") - - t.equal(cache.length, 3) - t.equal(cache.max, 3) - - // Ensure we pop a, c, b - cache.get("b", "B") - - last = cache.pop() - t.equal(last.key, "a") - t.equal(last.value, "A") - t.equal(cache.length, 2) - t.equal(cache.max, 3) - - last = cache.pop() - t.equal(last.key, "c") - t.equal(last.value, "C") - t.equal(cache.length, 1) - t.equal(cache.max, 3) - - last = cache.pop() - t.equal(last.key, "b") - t.equal(last.value, "B") - t.equal(cache.length, 0) - t.equal(cache.max, 3) - - last = cache.pop() - t.equal(last, null) - t.equal(cache.length, 0) - t.equal(cache.max, 3) - - t.end() -}) - -test("get and set only accepts strings and numbers as keys", function(t) { - var cache = new LRU() - - cache.set("key", "value") - cache.set(123, 456) - - t.equal(cache.get("key"), "value") - t.equal(cache.get(123), 456) - - t.end() -}) - -test("peek with wierd keys", function(t) { - var cache = new LRU() - - cache.set("key", "value") - cache.set(123, 456) - - t.equal(cache.peek("key"), "value") - t.equal(cache.peek(123), 456) - - t.equal(cache.peek({ - toString: function() { return "key" } - }), undefined) - - t.end() -}) diff --git a/build/js-transpiled/node_modules/lru-cache/test/foreach.js b/build/js-transpiled/node_modules/lru-cache/test/foreach.js deleted file mode 100644 index d037d41c..00000000 --- a/build/js-transpiled/node_modules/lru-cache/test/foreach.js +++ /dev/null @@ -1,130 +0,0 @@ -var test = require('tap').test -var LRU = require('../') - -test('forEach', function (t) { - var l = new LRU(5) - for (var i = 0; i < 10; i ++) { - l.set(i, i.toString(2)) - } - - var i = 9 - l.forEach(function (val, key, cache) { - t.equal(cache, l) - t.equal(key, i) - t.equal(val, i.toString(2)) - i -= 1 - }) - - // get in order of most recently used - l.get(6) - l.get(8) - - var order = [ 8, 6, 9, 7, 5 ] - var i = 0 - - l.forEach(function (val, key, cache) { - var j = order[i ++] - t.equal(cache, l) - t.equal(key, j) - t.equal(val, j.toString(2)) - }) - t.equal(i, order.length) - - i = 0 - order.reverse() - l.rforEach(function (val, key, cache) { - var j = order[i ++] - t.equal(cache, l) - t.equal(key, j) - t.equal(val, j.toString(2)) - }) - t.equal(i, order.length) - - t.end() -}) - -test('keys() and values()', function (t) { - var l = new LRU(5) - for (var i = 0; i < 10; i ++) { - l.set(i, i.toString(2)) - } - - t.similar(l.keys(), [9, 8, 7, 6, 5]) - t.similar(l.values(), ['1001', '1000', '111', '110', '101']) - - // get in order of most recently used - l.get(6) - l.get(8) - - t.similar(l.keys(), [8, 6, 9, 7, 5]) - t.similar(l.values(), ['1000', '110', '1001', '111', '101']) - - t.end() -}) - -test('all entries are iterated over', function(t) { - var l = new LRU(5) - for (var i = 0; i < 10; i ++) { - l.set(i.toString(), i.toString(2)) - } - - var i = 0 - l.forEach(function (val, key, cache) { - if (i > 0) { - cache.del(key) - } - i += 1 - }) - - t.equal(i, 5) - t.equal(l.keys().length, 1) - - t.end() -}) - -test('all stale entries are removed', function(t) { - var l = new LRU({ max: 5, maxAge: -5, stale: true }) - for (var i = 0; i < 10; i ++) { - l.set(i.toString(), i.toString(2)) - } - - var i = 0 - l.forEach(function () { - i += 1 - }) - - t.equal(i, 5) - t.equal(l.keys().length, 0) - - t.end() -}) - -test('expires', function (t) { - var l = new LRU({ - max: 10, - maxAge: 50 - }) - for (var i = 0; i < 10; i++) { - l.set(i.toString(), i.toString(2), ((i % 2) ? 25 : undefined)) - } - - var i = 0 - var order = [ 8, 6, 4, 2, 0 ] - setTimeout(function () { - l.forEach(function (val, key, cache) { - var j = order[i++] - t.equal(cache, l) - t.equal(key, j.toString()) - t.equal(val, j.toString(2)) - }) - t.equal(i, order.length); - - setTimeout(function () { - var count = 0; - l.forEach(function (val, key, cache) { count++; }) - t.equal(0, count); - t.end() - }, 25) - - }, 26) -}) diff --git a/build/js-transpiled/node_modules/lru-cache/test/memory-leak.js b/build/js-transpiled/node_modules/lru-cache/test/memory-leak.js deleted file mode 100644 index b5912f6f..00000000 --- a/build/js-transpiled/node_modules/lru-cache/test/memory-leak.js +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env node --expose_gc - - -var weak = require('weak'); -var test = require('tap').test -var LRU = require('../') -var l = new LRU({ max: 10 }) -var refs = 0 -function X() { - refs ++ - weak(this, deref) -} - -function deref() { - refs -- -} - -test('no leaks', function (t) { - // fill up the cache - for (var i = 0; i < 100; i++) { - l.set(i, new X); - // throw some gets in there, too. - if (i % 2 === 0) - l.get(i / 2) - } - - gc() - - var start = process.memoryUsage() - - // capture the memory - var startRefs = refs - - // do it again, but more - for (var i = 0; i < 10000; i++) { - l.set(i, new X); - // throw some gets in there, too. - if (i % 2 === 0) - l.get(i / 2) - } - - gc() - - var end = process.memoryUsage() - t.equal(refs, startRefs, 'no leaky refs') - - console.error('start: %j\n' + - 'end: %j', start, end); - t.pass(); - t.end(); -}) diff --git a/build/js-transpiled/node_modules/lru-cache/test/overflow.js b/build/js-transpiled/node_modules/lru-cache/test/overflow.js deleted file mode 100644 index 238af699..00000000 --- a/build/js-transpiled/node_modules/lru-cache/test/overflow.js +++ /dev/null @@ -1,45 +0,0 @@ -var LRU = require('../') -var t = require('tap') - -var c = new LRU(5) - -// now the hacksy bitses -c._mru = Number.MAX_SAFE_INTEGER - 10 - -function test (c) { - t.test('mru=' + c._mru + ', lru=' + c._lru, function (t) { - t.equal(c.length, 5) - t.equal(c._cache.get(0), undefined) - t.equal(c._cache.get(1).value, 1) - t.equal(c._cache.get(2).value, 2) - t.equal(c._cache.get(3).value, 3) - t.equal(c._cache.get(4).value, 4) - t.equal(c._cache.get(5).value, 5) - t.ok(c._mru < Number.MAX_SAFE_INTEGER, 'did not overflow') - t.end() - }) -} - -for (var i = 0; i < 6; i++) { - c.set(i, i) -} - -test(c) - -for (var i = 0; i < 6; i++) { - c.set(i, i) -} - -test(c) - -for (var i = 0; i < 6; i++) { - c.set(i, i) -} - -test(c) - -for (var i = 0; i < 6; i++) { - c.set(i, i) -} - -test(c) diff --git a/build/js-transpiled/node_modules/lru-cache/test/serialize.js b/build/js-transpiled/node_modules/lru-cache/test/serialize.js deleted file mode 100644 index b87eb5d0..00000000 --- a/build/js-transpiled/node_modules/lru-cache/test/serialize.js +++ /dev/null @@ -1,224 +0,0 @@ -var test = require('tap').test -var LRU = require('../') - -test('dump', function (t) { - var cache = new LRU() - - t.equal(cache.dump().length, 0, "nothing in dump for empty cache") - - cache.set("a", "A") - cache.set("b", "B") - t.deepEqual(cache.dump(), [ - { k: "b", v: "B", e: 0 }, - { k: "a", v: "A", e: 0 } - ]) - - cache.set(123, 456) - t.deepEqual(cache.dump(), [ - { k: 123, v: 456, e: 0 }, - { k: "b", v: "B", e: 0 }, - { k: "a", v: "A", e: 0 }, - ]) - cache.del(123) - - cache.set("a", "A"); - t.deepEqual(cache.dump(), [ - { k: "a", v: "A", e: 0 }, - { k: "b", v: "B", e: 0 } - ]) - - cache.get("b"); - t.deepEqual(cache.dump(), [ - { k: "b", v: "B", e: 0 }, - { k: "a", v: "A", e: 0 } - ]) - - cache.del("a"); - t.deepEqual(cache.dump(), [ - { k: "b", v: "B", e: 0 } - ]) - - t.end() -}) - -test("do not dump stale items", function(t) { - var cache = new LRU({ - max: 5, - maxAge: 50 - }) - - //expires at 50 - cache.set("a", "A") - - setTimeout(function () { - //expires at 75 - cache.set("b", "B") - var s = cache.dump() - t.equal(s.length, 2) - t.equal(s[0].k, "b") - t.equal(s[1].k, "a") - }, 25) - - setTimeout(function () { - //expires at 110 - cache.set("c", "C") - var s = cache.dump() - t.equal(s.length, 2) - t.equal(s[0].k, "c") - t.equal(s[1].k, "b") - }, 60) - - setTimeout(function () { - //expires at 130 - cache.set("d", "D", 40) - var s = cache.dump() - t.equal(s.length, 2) - t.equal(s[0].k, "d") - t.equal(s[1].k, "c") - }, 90) - - setTimeout(function () { - var s = cache.dump() - t.equal(s.length, 1) - t.equal(s[0].k, "d") - }, 120) - - setTimeout(function () { - var s = cache.dump() - t.deepEqual(s, []) - t.end() - }, 155) -}) - -test("load basic cache", function(t) { - var cache = new LRU(), - copy = new LRU() - - cache.set("a", "A") - cache.set("b", "B") - cache.set(123, 456) - - copy.load(cache.dump()) - t.deepEquals(cache.dump(), copy.dump()) - - t.end() -}) - - -test("load staled cache", function(t) { - var cache = new LRU({maxAge: 50}), - copy = new LRU({maxAge: 50}), - arr - - //expires at 50 - cache.set("a", "A") - setTimeout(function () { - //expires at 80 - cache.set("b", "B") - arr = cache.dump() - t.equal(arr.length, 2) - }, 30) - - setTimeout(function () { - copy.load(arr) - t.equal(copy.get("a"), undefined) - t.equal(copy.get("b"), "B") - }, 60) - - setTimeout(function () { - t.equal(copy.get("b"), undefined) - t.end() - }, 90) -}) - -test("load to other size cache", function(t) { - var cache = new LRU({max: 2}), - copy = new LRU({max: 1}) - - cache.set("a", "A") - cache.set("b", "B") - - copy.load(cache.dump()) - t.equal(copy.get("a"), undefined) - t.equal(copy.get("b"), "B") - - //update the last read from original cache - cache.get("a") - copy.load(cache.dump()) - t.equal(copy.get("a"), "A") - t.equal(copy.get("b"), undefined) - - t.end() -}) - - -test("load to other age cache", function(t) { - var cache = new LRU({maxAge: 50}), - aged = new LRU({maxAge: 100}), - simple = new LRU(), - arr, - expired - - //created at 0 - //a would be valid till 0 + 50 - cache.set("a", "A") - setTimeout(function () { - //created at 20 - //b would be valid till 20 + 50 - cache.set("b", "B") - //b would be valid till 20 + 70 - cache.set("c", "C", 70) - arr = cache.dump() - t.equal(arr.length, 3) - }, 20) - - setTimeout(function () { - t.equal(cache.get("a"), undefined) - t.equal(cache.get("b"), "B") - t.equal(cache.get("c"), "C") - - aged.load(arr) - t.equal(aged.get("a"), undefined) - t.equal(aged.get("b"), "B") - t.equal(aged.get("c"), "C") - - simple.load(arr) - t.equal(simple.get("a"), undefined) - t.equal(simple.get("b"), "B") - t.equal(simple.get("c"), "C") - }, 60) - - setTimeout(function () { - t.equal(cache.get("a"), undefined) - t.equal(cache.get("b"), undefined) - t.equal(cache.get("c"), "C") - - aged.load(arr) - t.equal(aged.get("a"), undefined) - t.equal(aged.get("b"), undefined) - t.equal(aged.get("c"), "C") - - simple.load(arr) - t.equal(simple.get("a"), undefined) - t.equal(simple.get("b"), undefined) - t.equal(simple.get("c"), "C") - }, 80) - - setTimeout(function () { - t.equal(cache.get("a"), undefined) - t.equal(cache.get("b"), undefined) - t.equal(cache.get("c"), undefined) - - aged.load(arr) - t.equal(aged.get("a"), undefined) - t.equal(aged.get("b"), undefined) - t.equal(aged.get("c"), undefined) - - simple.load(arr) - t.equal(simple.get("a"), undefined) - t.equal(simple.get("b"), undefined) - t.equal(simple.get("c"), undefined) - t.end() - }, 100) - -}) diff --git a/build/js-transpiled/node_modules/map-obj/index.js b/build/js-transpiled/node_modules/map-obj/index.js index 2a19cde4..c379fb96 100644 --- a/build/js-transpiled/node_modules/map-obj/index.js +++ b/build/js-transpiled/node_modules/map-obj/index.js @@ -1,6 +1,6 @@ 'use strict'; -// customized for this use-case +// Customized for this use-case const isObject = x => typeof x === 'object' && x !== null && @@ -8,37 +8,40 @@ const isObject = x => !(x instanceof Error) && !(x instanceof Date); -module.exports = function mapObj(obj, fn, opts, seen) { - opts = Object.assign({ +module.exports = function mapObj(object, fn, options, seen) { + options = Object.assign({ deep: false, target: {} - }, opts); + }, options); seen = seen || new WeakMap(); - if (seen.has(obj)) { - return seen.get(obj); + if (seen.has(object)) { + return seen.get(object); } - seen.set(obj, opts.target); + seen.set(object, options.target); - const target = opts.target; - delete opts.target; + const {target} = options; + delete options.target; - for (const key of Object.keys(obj)) { - const val = obj[key]; - const res = fn(key, val, obj); - let newVal = res[1]; + const mapArray = array => array.map(x => isObject(x) ? mapObj(x, fn, options, seen) : x); + if (Array.isArray(object)) { + return mapArray(object); + } + + /// TODO: Use `Object.entries()` when targeting Node.js 8 + for (const key of Object.keys(object)) { + const value = object[key]; + let [newKey, newValue] = fn(key, value, object); - if (opts.deep && isObject(newVal)) { - if (Array.isArray(newVal)) { - newVal = newVal.map(x => isObject(x) ? mapObj(x, fn, opts, seen) : x); - } else { - newVal = mapObj(newVal, fn, opts, seen); - } + if (options.deep && isObject(newValue)) { + newValue = Array.isArray(newValue) ? + mapArray(newValue) : + mapObj(newValue, fn, options, seen); } - target[res[0]] = newVal; + target[newKey] = newValue; } return target; diff --git a/build/js-transpiled/node_modules/map-obj/license b/build/js-transpiled/node_modules/map-obj/license index 654d0bfe..e7af2f77 100644 --- a/build/js-transpiled/node_modules/map-obj/license +++ b/build/js-transpiled/node_modules/map-obj/license @@ -1,21 +1,9 @@ -The MIT License (MIT) +MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build/js-transpiled/node_modules/map-obj/package.json b/build/js-transpiled/node_modules/map-obj/package.json index 8eb10caf..17829f68 100644 --- a/build/js-transpiled/node_modules/map-obj/package.json +++ b/build/js-transpiled/node_modules/map-obj/package.json @@ -1,27 +1,27 @@ { - "_from": "map-obj@2.0.0", - "_id": "map-obj@2.0.0", + "_from": "map-obj@3.0.0", + "_id": "map-obj@3.0.0", "_inBundle": false, - "_integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "_integrity": "sha512-Ot+2wruG8WqTbJngDxz0Ifm03y2pO4iL+brq/l+yEkGjUza03BnMQqX2XT//Jls8MOOl2VTHviAoLX+/nq/HXw==", "_location": "/map-obj", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "map-obj@2.0.0", + "raw": "map-obj@3.0.0", "name": "map-obj", "escapedName": "map-obj", - "rawSpec": "2.0.0", + "rawSpec": "3.0.0", "saveSpec": null, - "fetchSpec": "2.0.0" + "fetchSpec": "3.0.0" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "_shasum": "a65cd29087a92598b8791257a523e021222ac1f9", - "_spec": "map-obj@2.0.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_resolved": "https://registry.npmjs.org/map-obj/-/map-obj-3.0.0.tgz", + "_shasum": "4221cc62360f88c0735f9e7c0813bd889657f490", + "_spec": "map-obj@3.0.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -38,7 +38,7 @@ "xo": "*" }, "engines": { - "node": ">=4" + "node": ">=6" }, "files": [ "index.js" @@ -70,8 +70,5 @@ "scripts": { "test": "xo && ava" }, - "version": "2.0.0", - "xo": { - "esnext": true - } + "version": "3.0.0" } diff --git a/build/js-transpiled/node_modules/map-obj/readme.md b/build/js-transpiled/node_modules/map-obj/readme.md index d6ed05c1..2374af60 100644 --- a/build/js-transpiled/node_modules/map-obj/readme.md +++ b/build/js-transpiled/node_modules/map-obj/readme.md @@ -6,7 +6,7 @@ ## Install ``` -$ npm install --save map-obj +$ npm install map-obj ``` @@ -39,14 +39,18 @@ Mapping function. - It has signature `mapper(sourceKey, sourceValue, source)`. - It must return a two item array: `[targetKey, targetValue]`. -#### deep +#### options + +Type: `Object` + +##### deep Type: `boolean`
    Default: `false` Recurse nested objects and objects in arrays. -#### target +##### target Type: `Object`
    Default: `{}` @@ -57,7 +61,6 @@ Target object to map properties on to. ## Related - [filter-obj](https://github.com/sindresorhus/filter-obj) - Filter object keys and values into a new object -- [object-assign](https://github.com/sindresorhus/object-assign) - Copy enumerable own properties from one or more source objects to a target object ## License diff --git a/build/js-transpiled/node_modules/minimatch/package.json b/build/js-transpiled/node_modules/minimatch/package.json index d60b6748..f900388d 100644 --- a/build/js-transpiled/node_modules/minimatch/package.json +++ b/build/js-transpiled/node_modules/minimatch/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "_shasum": "5166e286457f03306064be5497e8dbb0c3d32083", "_spec": "minimatch@3.0.4", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/build/js-transpiled/node_modules/minimist/package.json b/build/js-transpiled/node_modules/minimist/package.json index 215cd9cb..7407fb61 100644 --- a/build/js-transpiled/node_modules/minimist/package.json +++ b/build/js-transpiled/node_modules/minimist/package.json @@ -18,10 +18,10 @@ "_requiredBy": [ "/mkdirp" ], - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "_resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", "_spec": "minimist@0.0.8", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/mkdirp", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/mkdirp", "author": { "name": "James Halliday", "email": "mail@substack.net", diff --git a/build/js-transpiled/node_modules/mkdirp/package.json b/build/js-transpiled/node_modules/mkdirp/package.json index a86521fe..fc6bb862 100644 --- a/build/js-transpiled/node_modules/mkdirp/package.json +++ b/build/js-transpiled/node_modules/mkdirp/package.json @@ -18,10 +18,10 @@ "_requiredBy": [ "/js-beautify" ], - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "_resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", "_spec": "mkdirp@~0.5.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", "author": { "name": "James Halliday", "email": "mail@substack.net", diff --git a/build/js-transpiled/node_modules/nopt/.travis.yml b/build/js-transpiled/node_modules/nopt/.travis.yml index 99f2bbf5..a1cef591 100644 --- a/build/js-transpiled/node_modules/nopt/.travis.yml +++ b/build/js-transpiled/node_modules/nopt/.travis.yml @@ -1,9 +1,8 @@ language: node_js -language: node_js node_js: - - '0.8' - - '0.10' - '0.12' - - 'iojs' + - '4' + - '6' + - '7' before_install: - npm install -g npm@latest diff --git a/build/js-transpiled/node_modules/nopt/CHANGELOG.md b/build/js-transpiled/node_modules/nopt/CHANGELOG.md new file mode 100644 index 00000000..82a09fb4 --- /dev/null +++ b/build/js-transpiled/node_modules/nopt/CHANGELOG.md @@ -0,0 +1,58 @@ +### v4.0.1 (2016-12-14) + +#### WHOOPS + +* [`fb9b1ce`](https://github.com/npm/nopt/commit/fb9b1ce57b3c69b4f7819015be87719204f77ef6) + Merged so many patches at once that the code fencing + ([@adius](https://github.com/adius)) added got broken. Sorry, + ([@adius](https://github.com/adius))! + ([@othiym23](https://github.com/othiym23)) + +### v4.0.0 (2016-12-13) + +#### BREAKING CHANGES + +* [`651d447`](https://github.com/npm/nopt/commit/651d4473946096d341a480bbe56793de3fc706aa) + When parsing String-typed arguments, if the next value is `""`, don't simply + swallow it. ([@samjonester](https://github.com/samjonester)) + +#### PERFORMANCE TWEAKS + +* [`3370ce8`](https://github.com/npm/nopt/commit/3370ce87a7618ba228883861db84ddbcdff252a9) + Simplify initialization. ([@elidoran](https://github.com/elidoran)) +* [`356e58e`](https://github.com/npm/nopt/commit/356e58e3b3b431a4b1af7fd7bdee44c2c0526a09) + Store `Array.isArray(types[arg])` for reuse. + ([@elidoran](https://github.com/elidoran)) +* [`0d95e90`](https://github.com/npm/nopt/commit/0d95e90515844f266015b56d2c80b94e5d14a07e) + Interpret single-item type arrays as a single type. + ([@samjonester](https://github.com/samjonester)) +* [`07c69d3`](https://github.com/npm/nopt/commit/07c69d38b5186450941fbb505550becb78a0e925) + Simplify key-value extraction. ([@elidoran](https://github.com/elidoran)) +* [`39b6e5c`](https://github.com/npm/nopt/commit/39b6e5c65ac47f60cd43a1fbeece5cd4c834c254) + Only call `Date.parse(val)` once. ([@elidoran](https://github.com/elidoran)) +* [`934943d`](https://github.com/npm/nopt/commit/934943dffecb55123a2b15959fe2a359319a5dbd) + Use `osenv.home()` to find a user's home directory instead of assuming it's + always `$HOME`. ([@othiym23](https://github.com/othiym23)) + +#### TEST & CI IMPROVEMENTS + +* [`326ffff`](https://github.com/npm/nopt/commit/326ffff7f78a00bcd316adecf69075f8a8093619) + Fix `/tmp` test to work on Windows. + ([@elidoran](https://github.com/elidoran)) +* [`c89d31a`](https://github.com/npm/nopt/commit/c89d31a49d14f2238bc6672db08da697bbc57f1b) + Only run Windows tests on Windows, only run Unix tests on a Unix. + ([@elidoran](https://github.com/elidoran)) +* [`affd3d1`](https://github.com/npm/nopt/commit/affd3d1d0addffa93006397b2013b18447339366) + Refresh Travis to run the tests against the currently-supported batch of npm + versions. ([@helio](https://github.com/helio)-frota) +* [`55f9449`](https://github.com/npm/nopt/commit/55f94497d163ed4d16dd55fd6c4fb95cc440e66d) + `tap@8.0.1` ([@othiym23](https://github.com/othiym23)) + +#### DOC TWEAKS + +* [`5271229`](https://github.com/npm/nopt/commit/5271229ee7c810217dd51616c086f5d9ab224581) + Use JavaScript code block for syntax highlighting. + ([@adius](https://github.com/adius)) +* [`c0d156f`](https://github.com/npm/nopt/commit/c0d156f229f9994c5dfcec4a8886eceff7a07682) + The code sample in the README had `many2: [ oneThing ]`, and now it has + `many2: [ two, things ]`. ([@silkentrance](https://github.com/silkentrance)) diff --git a/build/js-transpiled/node_modules/nopt/README.md b/build/js-transpiled/node_modules/nopt/README.md index f21a4b31..a99531c0 100644 --- a/build/js-transpiled/node_modules/nopt/README.md +++ b/build/js-transpiled/node_modules/nopt/README.md @@ -19,35 +19,37 @@ nice option parser. ## USAGE - // my-program.js - var nopt = require("nopt") - , Stream = require("stream").Stream - , path = require("path") - , knownOpts = { "foo" : [String, null] - , "bar" : [Stream, Number] - , "baz" : path - , "bloo" : [ "big", "medium", "small" ] - , "flag" : Boolean - , "pick" : Boolean - , "many1" : [String, Array] - , "many2" : [path] - } - , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] - , "b7" : ["--bar", "7"] - , "m" : ["--bloo", "medium"] - , "p" : ["--pick"] - , "f" : ["--flag"] - } - // everything is optional. - // knownOpts and shorthands default to {} - // arg list defaults to process.argv - // slice defaults to 2 - , parsed = nopt(knownOpts, shortHands, process.argv, 2) - console.log(parsed) +```javascript +// my-program.js +var nopt = require("nopt") + , Stream = require("stream").Stream + , path = require("path") + , knownOpts = { "foo" : [String, null] + , "bar" : [Stream, Number] + , "baz" : path + , "bloo" : [ "big", "medium", "small" ] + , "flag" : Boolean + , "pick" : Boolean + , "many1" : [String, Array] + , "many2" : [path, Array] + } + , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] + , "b7" : ["--bar", "7"] + , "m" : ["--bloo", "medium"] + , "p" : ["--pick"] + , "f" : ["--flag"] + } + // everything is optional. + // knownOpts and shorthands default to {} + // arg list defaults to process.argv + // slice defaults to 2 + , parsed = nopt(knownOpts, shortHands, process.argv, 2) +console.log(parsed) +``` This would give you support for any of the following: -```bash +```console $ node my-program.js --foo "blerp" --no-flag { "foo" : "blerp", "flag" : false } diff --git a/build/js-transpiled/node_modules/nopt/lib/nopt.js b/build/js-transpiled/node_modules/nopt/lib/nopt.js index 97707e78..1fb11351 100644 --- a/build/js-transpiled/node_modules/nopt/lib/nopt.js +++ b/build/js-transpiled/node_modules/nopt/lib/nopt.js @@ -8,6 +8,7 @@ var url = require("url") , path = require("path") , Stream = require("stream").Stream , abbrev = require("abbrev") + , osenv = require("osenv") module.exports = exports = nopt exports.clean = clean @@ -33,14 +34,16 @@ function nopt (types, shorthands, args, slice) { args = args.slice(slice) var data = {} , key - , remain = [] - , cooked = args - , original = args.slice(0) + , argv = { + remain: [], + cooked: args, + original: args.slice(0) + } - parse(args, data, remain, types, shorthands) + parse(args, data, argv.remain, types, shorthands) // now data is full clean(data, types, exports.typeDefs) - data.argv = {remain:remain,cooked:cooked,original:original} + data.argv = argv Object.defineProperty(data.argv, 'toString', { value: function () { return this.original.map(JSON.stringify).join(" ") }, enumerable: false }) @@ -129,11 +132,16 @@ function validatePath (data, k, val) { if (val === null) return true val = String(val) - var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\// - if (val.match(homePattern) && process.env.HOME) { - val = path.resolve(process.env.HOME, val.substr(2)) + + var isWin = process.platform === 'win32' + , homePattern = isWin ? /^~(\/|\\)/ : /^~\// + , home = osenv.home() + + if (home && val.match(homePattern)) { + data[k] = path.resolve(home, val.substr(2)) + } else { + data[k] = path.resolve(val) } - data[k] = path.resolve(String(val)) return true } @@ -144,8 +152,8 @@ function validateNumber (data, k, val) { } function validateDate (data, k, val) { - debug("validate Date %j %j %j", k, val, Date.parse(val)) var s = Date.parse(val) + debug("validate Date %j %j %j", k, val, s) if (isNaN(s)) return false data[k] = new Date(val) } @@ -246,12 +254,12 @@ function parse (args, data, remain, types, shorthands) { } var hadEq = false if (arg.charAt(0) === "-" && arg.length > 1) { - if (arg.indexOf("=") !== -1) { + var at = arg.indexOf('=') + if (at > -1) { hadEq = true - var v = arg.split("=") - arg = v.shift() - v = v.join("=") - args.splice.apply(args, [i, 1].concat([arg, v])) + var v = arg.substr(at + 1) + arg = arg.substr(0, at) + args.splice(i, 1, arg, v) } // see if it's a shorthand @@ -275,8 +283,15 @@ function parse (args, data, remain, types, shorthands) { if (abbrevs[arg]) arg = abbrevs[arg] - var isArray = types[arg] === Array || - Array.isArray(types[arg]) && types[arg].indexOf(Array) !== -1 + var argType = types[arg] + var isTypeArray = Array.isArray(argType) + if (isTypeArray && argType.length === 1) { + isTypeArray = false + argType = argType[0] + } + + var isArray = argType === Array || + isTypeArray && argType.indexOf(Array) !== -1 // allow unknown things to be arrays if specified multiple times. if (!types.hasOwnProperty(arg) && data.hasOwnProperty(arg)) { @@ -289,12 +304,12 @@ function parse (args, data, remain, types, shorthands) { , la = args[i + 1] var isBool = typeof no === 'boolean' || - types[arg] === Boolean || - Array.isArray(types[arg]) && types[arg].indexOf(Boolean) !== -1 || - (typeof types[arg] === 'undefined' && !hadEq) || + argType === Boolean || + isTypeArray && argType.indexOf(Boolean) !== -1 || + (typeof argType === 'undefined' && !hadEq) || (la === "false" && - (types[arg] === null || - Array.isArray(types[arg]) && ~types[arg].indexOf(null))) + (argType === null || + isTypeArray && ~argType.indexOf(null))) if (isBool) { // just set and move along @@ -308,22 +323,22 @@ function parse (args, data, remain, types, shorthands) { } // also support "foo":[Boolean, "bar"] and "--foo bar" - if (Array.isArray(types[arg]) && la) { - if (~types[arg].indexOf(la)) { + if (isTypeArray && la) { + if (~argType.indexOf(la)) { // an explicit type val = la i ++ - } else if ( la === "null" && ~types[arg].indexOf(null) ) { + } else if ( la === "null" && ~argType.indexOf(null) ) { // null allowed val = null i ++ } else if ( !la.match(/^-{2,}[^-]/) && !isNaN(la) && - ~types[arg].indexOf(Number) ) { + ~argType.indexOf(Number) ) { // number val = +la i ++ - } else if ( !la.match(/^-[^-]/) && ~types[arg].indexOf(String) ) { + } else if ( !la.match(/^-[^-]/) && ~argType.indexOf(String) ) { // string val = la i ++ @@ -336,8 +351,14 @@ function parse (args, data, remain, types, shorthands) { continue } - if (types[arg] === String && la === undefined) - la = "" + if (argType === String) { + if (la === undefined) { + la = "" + } else if (la.match(/^-{1,2}[^-]+/)) { + la = "" + i -- + } + } if (la && la.match(/^-{2,}$/)) { la = undefined diff --git a/build/js-transpiled/node_modules/nopt/package.json b/build/js-transpiled/node_modules/nopt/package.json index 48d36f04..7378e073 100644 --- a/build/js-transpiled/node_modules/nopt/package.json +++ b/build/js-transpiled/node_modules/nopt/package.json @@ -1,27 +1,27 @@ { - "_from": "nopt@~3.0.1", - "_id": "nopt@3.0.6", + "_from": "nopt@~4.0.1", + "_id": "nopt@4.0.1", "_inBundle": false, - "_integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "_integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "_location": "/nopt", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "nopt@~3.0.1", + "raw": "nopt@~4.0.1", "name": "nopt", "escapedName": "nopt", - "rawSpec": "~3.0.1", + "rawSpec": "~4.0.1", "saveSpec": null, - "fetchSpec": "~3.0.1" + "fetchSpec": "~4.0.1" }, "_requiredBy": [ "/js-beautify" ], - "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9", - "_spec": "nopt@~3.0.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", + "_resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "_shasum": "d0d4685afd5415193c8c7505602d0d17cd64474d", + "_spec": "nopt@~4.0.1", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/js-beautify", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -35,12 +35,13 @@ }, "bundleDependencies": false, "dependencies": { - "abbrev": "1" + "abbrev": "1", + "osenv": "^0.1.4" }, "deprecated": false, "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", "devDependencies": { - "tap": "^1.2.0" + "tap": "^8.0.1" }, "homepage": "https://github.com/npm/nopt#readme", "license": "ISC", @@ -53,5 +54,5 @@ "scripts": { "test": "tap test/*.js" }, - "version": "3.0.6" + "version": "4.0.1" } diff --git a/build/js-transpiled/node_modules/nopt/test/basic.js b/build/js-transpiled/node_modules/nopt/test/basic.js index d399de92..5c18ac0f 100644 --- a/build/js-transpiled/node_modules/nopt/test/basic.js +++ b/build/js-transpiled/node_modules/nopt/test/basic.js @@ -1,6 +1,6 @@ var nopt = require("../") , test = require('tap').test - + , isWin = process.platform === 'win32' test("passing a string results in a string", function (t) { var parsed = nopt({ key: String }, {}, ["--key", "myvalue"], 0) @@ -15,11 +15,41 @@ test("Empty String results in empty string, not true", function (t) { t.end() }) -test("~ path is resolved to $HOME", function (t) { +// https://github.com/npm/nopt/issues/65 +test("Empty String should not swallow next flag", function (t) { + var parsed = nopt({ empty: String, foo: String }, {}, ["--empty", "--foo"], 0) + t.same(parsed.empty, "") + t.same(parsed.foo, "") + t.end() +}) + +// https://github.com/npm/nopt/issues/66 +test("Empty String should not be true when type is single item Array", function (t) { + var parsed = nopt({ 'foo': [String] }, {}, ["--foo"], 0) + t.same(parsed.foo, "") + t.end() +}) + +test("~ path is resolved to " + (isWin ? '%USERPROFILE%' : '$HOME'), function (t) { var path = require("path") - if (!process.env.HOME) process.env.HOME = "/tmp" - var parsed = nopt({key: path}, {}, ["--key=~/val"], 0) - t.same(parsed.key, path.resolve(process.env.HOME, "val")) + , the + + if (isWin) { + the = { + key: 'USERPROFILE', + dir: 'C:\\temp', + val: '~\\val' + } + } else { + the = { + key: 'HOME', + dir: '/tmp', + val: '~/val' + } + } + if (!process.env[the.key]) process.env[the.key] = v.dir + var parsed = nopt({key: path}, {}, ["--key=" + the.val], 0) + t.same(parsed.key, path.resolve(process.env[the.key], "val")) t.end() }) @@ -148,7 +178,7 @@ test("other tests", function (t) { ,["--color --logfd 7", {logfd:7,color:true}, []] ,["--color=true", {color:true}, []] ,["--logfd=10", {logfd:10}, []] - ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]] + ,["--tmp=/tmp -tar=gtar", {tmp: isWin ? "C:\\tmp" : "/tmp",tar:"gtar"},[]] ,["--tmp=tmp -tar=gtar", {tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]] ,["--logfd x", {}, []] diff --git a/build/js-transpiled/node_modules/os-homedir/index.js b/build/js-transpiled/node_modules/os-homedir/index.js new file mode 100644 index 00000000..33066166 --- /dev/null +++ b/build/js-transpiled/node_modules/os-homedir/index.js @@ -0,0 +1,24 @@ +'use strict'; +var os = require('os'); + +function homedir() { + var env = process.env; + var home = env.HOME; + var user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME; + + if (process.platform === 'win32') { + return env.USERPROFILE || env.HOMEDRIVE + env.HOMEPATH || home || null; + } + + if (process.platform === 'darwin') { + return home || (user ? '/Users/' + user : null); + } + + if (process.platform === 'linux') { + return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); + } + + return home || null; +} + +module.exports = typeof os.homedir === 'function' ? os.homedir : homedir; diff --git a/build/js-transpiled/node_modules/bluebird/LICENSE b/build/js-transpiled/node_modules/os-homedir/license similarity index 86% rename from build/js-transpiled/node_modules/bluebird/LICENSE rename to build/js-transpiled/node_modules/os-homedir/license index ae732d52..654d0bfe 100644 --- a/build/js-transpiled/node_modules/bluebird/LICENSE +++ b/build/js-transpiled/node_modules/os-homedir/license @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2013-2017 Petka Antonov +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -14,7 +14,7 @@ all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN diff --git a/build/js-transpiled/node_modules/os-homedir/package.json b/build/js-transpiled/node_modules/os-homedir/package.json new file mode 100644 index 00000000..366a555e --- /dev/null +++ b/build/js-transpiled/node_modules/os-homedir/package.json @@ -0,0 +1,73 @@ +{ + "_from": "os-homedir@^1.0.0", + "_id": "os-homedir@1.0.2", + "_inBundle": false, + "_integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "_location": "/os-homedir", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "os-homedir@^1.0.0", + "name": "os-homedir", + "escapedName": "os-homedir", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/osenv" + ], + "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "_shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3", + "_spec": "os-homedir@^1.0.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/osenv", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/sindresorhus/os-homedir/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Node.js 4 `os.homedir()` ponyfill", + "devDependencies": { + "ava": "*", + "path-exists": "^2.0.0", + "xo": "^0.16.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/sindresorhus/os-homedir#readme", + "keywords": [ + "builtin", + "core", + "ponyfill", + "polyfill", + "shim", + "os", + "homedir", + "home", + "dir", + "directory", + "folder", + "user", + "path" + ], + "license": "MIT", + "name": "os-homedir", + "repository": { + "type": "git", + "url": "git+https://github.com/sindresorhus/os-homedir.git" + }, + "scripts": { + "test": "xo && ava" + }, + "version": "1.0.2" +} diff --git a/build/js-transpiled/node_modules/os-homedir/readme.md b/build/js-transpiled/node_modules/os-homedir/readme.md new file mode 100644 index 00000000..856ae615 --- /dev/null +++ b/build/js-transpiled/node_modules/os-homedir/readme.md @@ -0,0 +1,31 @@ +# os-homedir [![Build Status](https://travis-ci.org/sindresorhus/os-homedir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-homedir) + +> Node.js 4 [`os.homedir()`](https://nodejs.org/api/os.html#os_os_homedir) [ponyfill](https://ponyfill.com) + + +## Install + +``` +$ npm install --save os-homedir +``` + + +## Usage + +```js +const osHomedir = require('os-homedir'); + +console.log(osHomedir()); +//=> '/Users/sindresorhus' +``` + + +## Related + +- [user-home](https://github.com/sindresorhus/user-home) - Same as this module but caches the result +- [home-or-tmp](https://github.com/sindresorhus/home-or-tmp) - Get the user home directory with fallback to the system temp directory + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/build/js-transpiled/node_modules/os-tmpdir/index.js b/build/js-transpiled/node_modules/os-tmpdir/index.js new file mode 100644 index 00000000..2077b1ce --- /dev/null +++ b/build/js-transpiled/node_modules/os-tmpdir/index.js @@ -0,0 +1,25 @@ +'use strict'; +var isWindows = process.platform === 'win32'; +var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/; + +// https://github.com/nodejs/node/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43 +module.exports = function () { + var path; + + if (isWindows) { + path = process.env.TEMP || + process.env.TMP || + (process.env.SystemRoot || process.env.windir) + '\\temp'; + } else { + path = process.env.TMPDIR || + process.env.TMP || + process.env.TEMP || + '/tmp'; + } + + if (trailingSlashRe.test(path)) { + path = path.slice(0, -1); + } + + return path; +}; diff --git a/build/js-transpiled/node_modules/os-tmpdir/license b/build/js-transpiled/node_modules/os-tmpdir/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/build/js-transpiled/node_modules/os-tmpdir/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/build/js-transpiled/node_modules/os-tmpdir/package.json b/build/js-transpiled/node_modules/os-tmpdir/package.json new file mode 100644 index 00000000..941e8fc4 --- /dev/null +++ b/build/js-transpiled/node_modules/os-tmpdir/package.json @@ -0,0 +1,73 @@ +{ + "_from": "os-tmpdir@^1.0.0", + "_id": "os-tmpdir@1.0.2", + "_inBundle": false, + "_integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "_location": "/os-tmpdir", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "os-tmpdir@^1.0.0", + "name": "os-tmpdir", + "escapedName": "os-tmpdir", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/osenv" + ], + "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274", + "_spec": "os-tmpdir@^1.0.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/osenv", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/sindresorhus/os-tmpdir/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Node.js os.tmpdir() ponyfill", + "devDependencies": { + "ava": "*", + "xo": "^0.16.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/sindresorhus/os-tmpdir#readme", + "keywords": [ + "built-in", + "core", + "ponyfill", + "polyfill", + "shim", + "os", + "tmpdir", + "tempdir", + "tmp", + "temp", + "dir", + "directory", + "env", + "environment" + ], + "license": "MIT", + "name": "os-tmpdir", + "repository": { + "type": "git", + "url": "git+https://github.com/sindresorhus/os-tmpdir.git" + }, + "scripts": { + "test": "xo && ava" + }, + "version": "1.0.2" +} diff --git a/build/js-transpiled/node_modules/os-tmpdir/readme.md b/build/js-transpiled/node_modules/os-tmpdir/readme.md new file mode 100644 index 00000000..c09f7ed8 --- /dev/null +++ b/build/js-transpiled/node_modules/os-tmpdir/readme.md @@ -0,0 +1,32 @@ +# os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir) + +> Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) [ponyfill](https://ponyfill.com) + +Use this instead of `require('os').tmpdir()` to get a consistent behavior on different Node.js versions (even 0.8). + + +## Install + +``` +$ npm install --save os-tmpdir +``` + + +## Usage + +```js +const osTmpdir = require('os-tmpdir'); + +osTmpdir(); +//=> '/var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T' +``` + + +## API + +See the [`os.tmpdir()` docs](https://nodejs.org/api/os.html#os_os_tmpdir). + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/build/js-transpiled/node_modules/osenv/LICENSE b/build/js-transpiled/node_modules/osenv/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/build/js-transpiled/node_modules/osenv/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/build/js-transpiled/node_modules/osenv/README.md b/build/js-transpiled/node_modules/osenv/README.md new file mode 100644 index 00000000..08fd9002 --- /dev/null +++ b/build/js-transpiled/node_modules/osenv/README.md @@ -0,0 +1,63 @@ +# osenv + +Look up environment settings specific to different operating systems. + +## Usage + +```javascript +var osenv = require('osenv') +var path = osenv.path() +var user = osenv.user() +// etc. + +// Some things are not reliably in the env, and have a fallback command: +var h = osenv.hostname(function (er, hostname) { + h = hostname +}) +// This will still cause it to be memoized, so calling osenv.hostname() +// is now an immediate operation. + +// You can always send a cb, which will get called in the nextTick +// if it's been memoized, or wait for the fallback data if it wasn't +// found in the environment. +osenv.hostname(function (er, hostname) { + if (er) console.error('error looking up hostname') + else console.log('this machine calls itself %s', hostname) +}) +``` + +## osenv.hostname() + +The machine name. Calls `hostname` if not found. + +## osenv.user() + +The currently logged-in user. Calls `whoami` if not found. + +## osenv.prompt() + +Either PS1 on unix, or PROMPT on Windows. + +## osenv.tmpdir() + +The place where temporary files should be created. + +## osenv.home() + +No place like it. + +## osenv.path() + +An array of the places that the operating system will search for +executables. + +## osenv.editor() + +Return the executable name of the editor program. This uses the EDITOR +and VISUAL environment variables, and falls back to `vi` on Unix, or +`notepad.exe` on Windows. + +## osenv.shell() + +The SHELL on Unix, which Windows calls the ComSpec. Defaults to 'bash' +or 'cmd'. diff --git a/build/js-transpiled/node_modules/osenv/osenv.js b/build/js-transpiled/node_modules/osenv/osenv.js new file mode 100644 index 00000000..702a95b9 --- /dev/null +++ b/build/js-transpiled/node_modules/osenv/osenv.js @@ -0,0 +1,72 @@ +var isWindows = process.platform === 'win32' +var path = require('path') +var exec = require('child_process').exec +var osTmpdir = require('os-tmpdir') +var osHomedir = require('os-homedir') + +// looking up envs is a bit costly. +// Also, sometimes we want to have a fallback +// Pass in a callback to wait for the fallback on failures +// After the first lookup, always returns the same thing. +function memo (key, lookup, fallback) { + var fell = false + var falling = false + exports[key] = function (cb) { + var val = lookup() + if (!val && !fell && !falling && fallback) { + fell = true + falling = true + exec(fallback, function (er, output, stderr) { + falling = false + if (er) return // oh well, we tried + val = output.trim() + }) + } + exports[key] = function (cb) { + if (cb) process.nextTick(cb.bind(null, null, val)) + return val + } + if (cb && !falling) process.nextTick(cb.bind(null, null, val)) + return val + } +} + +memo('user', function () { + return ( isWindows + ? process.env.USERDOMAIN + '\\' + process.env.USERNAME + : process.env.USER + ) +}, 'whoami') + +memo('prompt', function () { + return isWindows ? process.env.PROMPT : process.env.PS1 +}) + +memo('hostname', function () { + return isWindows ? process.env.COMPUTERNAME : process.env.HOSTNAME +}, 'hostname') + +memo('tmpdir', function () { + return osTmpdir() +}) + +memo('home', function () { + return osHomedir() +}) + +memo('path', function () { + return (process.env.PATH || + process.env.Path || + process.env.path).split(isWindows ? ';' : ':') +}) + +memo('editor', function () { + return process.env.EDITOR || + process.env.VISUAL || + (isWindows ? 'notepad.exe' : 'vi') +}) + +memo('shell', function () { + return isWindows ? process.env.ComSpec || 'cmd' + : process.env.SHELL || 'bash' +}) diff --git a/build/js-transpiled/node_modules/osenv/package.json b/build/js-transpiled/node_modules/osenv/package.json new file mode 100644 index 00000000..b566a24d --- /dev/null +++ b/build/js-transpiled/node_modules/osenv/package.json @@ -0,0 +1,73 @@ +{ + "_from": "osenv@^0.1.4", + "_id": "osenv@0.1.5", + "_inBundle": false, + "_integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "_location": "/osenv", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "osenv@^0.1.4", + "name": "osenv", + "escapedName": "osenv", + "rawSpec": "^0.1.4", + "saveSpec": null, + "fetchSpec": "^0.1.4" + }, + "_requiredBy": [ + "/nopt" + ], + "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "_shasum": "85cdfafaeb28e8677f416e287592b5f3f49ea410", + "_spec": "osenv@^0.1.4", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/nopt", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "bugs": { + "url": "https://github.com/npm/osenv/issues" + }, + "bundleDependencies": false, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + }, + "deprecated": false, + "description": "Look up environment settings specific to different operating systems", + "devDependencies": { + "tap": "^11.1.0" + }, + "directories": { + "test": "test" + }, + "files": [ + "osenv.js" + ], + "homepage": "https://github.com/npm/osenv#readme", + "keywords": [ + "environment", + "variable", + "home", + "tmpdir", + "path", + "prompt", + "ps1" + ], + "license": "ISC", + "main": "osenv.js", + "name": "osenv", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/osenv.git" + }, + "scripts": { + "postpublish": "git push origin --all; git push origin --tags", + "postversion": "npm publish", + "preversion": "npm test", + "test": "tap test/*.js" + }, + "version": "0.1.5" +} diff --git a/build/js-transpiled/node_modules/promise-arrays/package.json b/build/js-transpiled/node_modules/promise-arrays/package.json index 6b818b50..6ce083e1 100644 --- a/build/js-transpiled/node_modules/promise-arrays/package.json +++ b/build/js-transpiled/node_modules/promise-arrays/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/promise-arrays/-/promise-arrays-0.1.0.tgz", "_shasum": "f816759d224ff0d946914c82ffd37c9f12e31480", "_spec": "promise-arrays@0.1.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled", "author": { "name": "Sallar Kaboli", "email": "sallar.kaboli@gmail.com", diff --git a/build/js-transpiled/node_modules/proto-list/package.json b/build/js-transpiled/node_modules/proto-list/package.json index 085af2ef..5f193f7d 100644 --- a/build/js-transpiled/node_modules/proto-list/package.json +++ b/build/js-transpiled/node_modules/proto-list/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "_shasum": "212d5bfe1318306a420f6402b8e26ff39647a849", "_spec": "proto-list@~1.2.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/config-chain", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/config-chain", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/build/js-transpiled/node_modules/pseudomap/package.json b/build/js-transpiled/node_modules/pseudomap/package.json index 8fdaa6cf..bbe26ff0 100644 --- a/build/js-transpiled/node_modules/pseudomap/package.json +++ b/build/js-transpiled/node_modules/pseudomap/package.json @@ -1,5 +1,5 @@ { - "_from": "pseudomap@^1.0.1", + "_from": "pseudomap@^1.0.2", "_id": "pseudomap@1.0.2", "_inBundle": false, "_integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", @@ -8,20 +8,20 @@ "_requested": { "type": "range", "registry": true, - "raw": "pseudomap@^1.0.1", + "raw": "pseudomap@^1.0.2", "name": "pseudomap", "escapedName": "pseudomap", - "rawSpec": "^1.0.1", + "rawSpec": "^1.0.2", "saveSpec": null, - "fetchSpec": "^1.0.1" + "fetchSpec": "^1.0.2" }, "_requiredBy": [ "/lru-cache" ], "_resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "_shasum": "f052a28da70e618917ef0a8ac34c1ae5a68286b3", - "_spec": "pseudomap@^1.0.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/lru-cache", + "_spec": "pseudomap@^1.0.2", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/lru-cache", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/build/js-transpiled/node_modules/regenerator-runtime/.npmignore b/build/js-transpiled/node_modules/regenerator-runtime/.npmignore deleted file mode 100644 index e216ae5e..00000000 --- a/build/js-transpiled/node_modules/regenerator-runtime/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -/node_modules -/test diff --git a/build/js-transpiled/node_modules/regenerator-runtime/package.json b/build/js-transpiled/node_modules/regenerator-runtime/package.json index e998c689..172ae455 100644 --- a/build/js-transpiled/node_modules/regenerator-runtime/package.json +++ b/build/js-transpiled/node_modules/regenerator-runtime/package.json @@ -1,27 +1,27 @@ { - "_from": "regenerator-runtime@^0.10.0", - "_id": "regenerator-runtime@0.10.5", + "_from": "regenerator-runtime@^0.12.0", + "_id": "regenerator-runtime@0.12.1", "_inBundle": false, - "_integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "_integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", "_location": "/regenerator-runtime", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "regenerator-runtime@^0.10.0", + "raw": "regenerator-runtime@^0.12.0", "name": "regenerator-runtime", "escapedName": "regenerator-runtime", - "rawSpec": "^0.10.0", + "rawSpec": "^0.12.0", "saveSpec": null, - "fetchSpec": "^0.10.0" + "fetchSpec": "^0.12.0" }, "_requiredBy": [ - "/babel-runtime" + "/@babel/runtime" ], - "_resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "_shasum": "336c3efc1220adcedda2c9fab67b5a7955a33658", - "_spec": "regenerator-runtime@^0.10.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/babel-runtime", + "_resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "_shasum": "fa1a71544764c036f8c49b13a08b2594c9f8a0de", + "_spec": "regenerator-runtime@^0.12.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/@babel/runtime", "author": { "name": "Ben Newman", "email": "bn@cs.stanford.edu" @@ -42,5 +42,5 @@ "type": "git", "url": "https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime" }, - "version": "0.10.5" + "version": "0.12.1" } diff --git a/build/js-transpiled/node_modules/regenerator-runtime/path.js b/build/js-transpiled/node_modules/regenerator-runtime/path.js index a450a753..ced878b8 100644 --- a/build/js-transpiled/node_modules/regenerator-runtime/path.js +++ b/build/js-transpiled/node_modules/regenerator-runtime/path.js @@ -1,3 +1,10 @@ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + exports.path = require("path").join( __dirname, "runtime.js" diff --git a/build/js-transpiled/node_modules/regenerator-runtime/runtime-module.js b/build/js-transpiled/node_modules/regenerator-runtime/runtime-module.js index 8e7e2e4c..aa947dd0 100644 --- a/build/js-transpiled/node_modules/regenerator-runtime/runtime-module.js +++ b/build/js-transpiled/node_modules/regenerator-runtime/runtime-module.js @@ -1,9 +1,15 @@ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + // This method of obtaining a reference to the global object needs to be // kept identical to the way it is obtained in runtime.js -var g = - typeof global === "object" ? global : - typeof window === "object" ? window : - typeof self === "object" ? self : this; +var g = (function() { + return this || (typeof self === "object" && self); +})() || Function("return this")(); // Use `getOwnPropertyNames` because not all browsers support calling // `hasOwnProperty` on the global `self` object in a worker. See #183. diff --git a/build/js-transpiled/node_modules/regenerator-runtime/runtime.js b/build/js-transpiled/node_modules/regenerator-runtime/runtime.js index 5b08c4d3..8dffb532 100644 --- a/build/js-transpiled/node_modules/regenerator-runtime/runtime.js +++ b/build/js-transpiled/node_modules/regenerator-runtime/runtime.js @@ -1,11 +1,8 @@ /** - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * This source code is licensed under the BSD-style license found in the - * https://raw.github.com/facebook/regenerator/master/LICENSE file. An - * additional grant of patent rights can be found in the PATENTS file in - * the same directory. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ !(function(global) { @@ -171,29 +168,17 @@ return Promise.resolve(value).then(function(unwrapped) { // When a yielded Promise is resolved, its final value becomes // the .value of the Promise<{value,done}> result for the - // current iteration. If the Promise is rejected, however, the - // result for this iteration will be rejected with the same - // reason. Note that rejections of yielded Promises are not - // thrown back into the generator function, as is the case - // when an awaited Promise is rejected. This difference in - // behavior between yield and await is important, because it - // allows the consumer to decide what to do with the yielded - // rejection (swallow it and continue, manually .throw it back - // into the generator, abandon iteration, whatever). With - // await, by contrast, there is no opportunity to examine the - // rejection reason outside the generator function, so the - // only option is to throw it from the await expression, and - // let the generator function handle the exception. + // current iteration. result.value = unwrapped; resolve(result); - }, reject); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); } } - if (typeof global.process === "object" && global.process.domain) { - invoke = global.process.domain.bind(invoke); - } - var previousPromise; function enqueue(method, arg) { @@ -727,10 +712,10 @@ } }; })( - // Among the various tricks for obtaining a reference to the global - // object, this seems to be the most reliable technique that does not - // use indirect eval (which violates Content Security Policy). - typeof global === "object" ? global : - typeof window === "object" ? window : - typeof self === "object" ? self : this + // In sloppy mode, unbound `this` refers to the global object, fallback to + // Function constructor if we're in global strict mode. That is sadly a form + // of indirect eval which violates Content Security Policy. + (function() { + return this || (typeof self === "object" && self); + })() || Function("return this")() ); diff --git a/build/js-transpiled/node_modules/semver/LICENSE b/build/js-transpiled/node_modules/semver/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/build/js-transpiled/node_modules/semver/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/build/js-transpiled/node_modules/semver/README.md b/build/js-transpiled/node_modules/semver/README.md new file mode 100644 index 00000000..e0edbb73 --- /dev/null +++ b/build/js-transpiled/node_modules/semver/README.md @@ -0,0 +1,399 @@ +semver(1) -- The semantic versioner for npm +=========================================== + +## Install + +```bash +npm install --save semver +```` + +## Usage + +As a node module: + +```js +const semver = require('semver') + +semver.valid('1.2.3') // '1.2.3' +semver.valid('a.b.c') // null +semver.clean(' =v1.2.3 ') // '1.2.3' +semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true +semver.gt('1.2.3', '9.8.7') // false +semver.lt('1.2.3', '9.8.7') // true +semver.valid(semver.coerce('v2')) // '2.0.0' +semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' +``` + +As a command-line utility: + +``` +$ semver -h + +A JavaScript implementation of the http://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, or prerelease. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them. +``` + +## Versions + +A "version" is described by the `v2.0.0` specification found at +. + +A leading `"="` or `"v"` character is stripped off and ignored. + +## Ranges + +A `version range` is a set of `comparators` which specify versions +that satisfy the range. + +A `comparator` is composed of an `operator` and a `version`. The set +of primitive `operators` is: + +* `<` Less than +* `<=` Less than or equal to +* `>` Greater than +* `>=` Greater than or equal to +* `=` Equal. If no operator is specified, then equality is assumed, + so this operator is optional, but MAY be included. + +For example, the comparator `>=1.2.7` would match the versions +`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` +or `1.1.0`. + +Comparators can be joined by whitespace to form a `comparator set`, +which is satisfied by the **intersection** of all of the comparators +it includes. + +A range is composed of one or more comparator sets, joined by `||`. A +version matches a range if and only if every comparator in at least +one of the `||`-separated comparator sets is satisfied by the version. + +For example, the range `>=1.2.7 <1.3.0` would match the versions +`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, +or `1.1.0`. + +The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, +`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. + +### Prerelease Tags + +If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same `[major, minor, patch]` tuple also has a +prerelease tag. + +For example, the range `>1.2.3-alpha.3` would be allowed to match the +version `1.2.3-alpha.7`, but it would *not* be satisfied by +`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater +than" `1.2.3-alpha.3` according to the SemVer sort rules. The version +range only accepts prerelease tags on the `1.2.3` version. The +version `3.4.5` *would* satisfy the range, because it does not have a +prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. + +The purpose for this behavior is twofold. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption. +Therefore, by default, they are excluded from range matching +semantics. + +Second, a user who has opted into using a prerelease version has +clearly indicated the intent to use *that specific* set of +alpha/beta/rc versions. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the *next* set of prerelease versions. + +#### Prerelease Identifiers + +The method `.inc` takes an additional `identifier` string argument that +will append the value of the string as a prerelease identifier: + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta') +// '1.2.4-beta.0' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta +1.2.4-beta.0 +``` + +Which then can be used to increment further: + +```bash +$ semver 1.2.4-beta.0 -i prerelease +1.2.4-beta.1 +``` + +### Advanced Range Syntax + +Advanced range syntax desugars to primitive comparators in +deterministic ways. + +Advanced ranges may be combined in the same way as primitive +comparators using white space or `||`. + +#### Hyphen Ranges `X.Y.Z - A.B.C` + +Specifies an inclusive set. + +* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` + +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes. + +* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` + +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts. + +* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` +* `1.2.3 - 2` := `>=1.2.3 <3.0.0` + +#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` + +Any of `X`, `x`, or `*` may be used to "stand in" for one of the +numeric values in the `[major, minor, patch]` tuple. + +* `*` := `>=0.0.0` (Any version satisfies) +* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) +* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) + +A partial version range is treated as an X-Range, so the special +character is in fact optional. + +* `""` (empty string) := `*` := `>=0.0.0` +* `1` := `1.x.x` := `>=1.0.0 <2.0.0` +* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` + +#### Tilde Ranges `~1.2.3` `~1.2` `~1` + +Allows patch-level changes if a minor version is specified on the +comparator. Allows minor-level changes if not. + +* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` +* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) +* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) +* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` +* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) +* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) +* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. + +#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` + +Allows changes that do not modify the left-most non-zero digit in the +`[major, minor, patch]` tuple. In other words, this allows patch and +minor updates for versions `1.0.0` and above, patch updates for +versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. + +Many authors treat a `0.x` version as if the `x` were the major +"breaking-change" indicator. + +Caret ranges are ideal when an author may make breaking changes +between `0.2.4` and `0.3.0` releases, which is a common practice. +However, it presumes that there will *not* be breaking changes between +`0.2.4` and `0.2.5`. It allows for changes that are presumed to be +additive (but non-breaking), according to commonly observed practices. + +* `^1.2.3` := `>=1.2.3 <2.0.0` +* `^0.2.3` := `>=0.2.3 <0.3.0` +* `^0.0.3` := `>=0.0.3 <0.0.4` +* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. +* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the + `0.0.3` version *only* will be allowed, if they are greater than or + equal to `beta`. So, `0.0.3-pr.2` would be allowed. + +When parsing caret ranges, a missing `patch` value desugars to the +number `0`, but will allow flexibility within that value, even if the +major and minor versions are both `0`. + +* `^1.2.x` := `>=1.2.0 <2.0.0` +* `^0.0.x` := `>=0.0.0 <0.1.0` +* `^0.0` := `>=0.0.0 <0.1.0` + +A missing `minor` and `patch` values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero. + +* `^1.x` := `>=1.0.0 <2.0.0` +* `^0.x` := `>=0.0.0 <1.0.0` + +### Range Grammar + +Putting all this together, here is a Backus-Naur grammar for ranges, +for the benefit of parser authors: + +```bnf +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ +``` + +## Functions + +All methods and classes take a final `options` object argument. All +options in this object are `false` by default. The options supported +are: + +- `loose` Be more forgiving about not-quite-valid semver strings. + (Any resulting output will always be 100% strict compliant, of + course.) For backwards compatibility reasons, if the `options` + argument is a boolean value instead of an object, it is interpreted + to be the `loose` param. +- `includePrerelease` Set to suppress the [default + behavior](https://github.com/npm/node-semver#prerelease-tags) of + excluding prerelease tagged versions from ranges unless they are + explicitly opted into. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + +* `valid(v)`: Return the parsed version, or null if it's not valid. +* `inc(v, release)`: Return the version incremented by the release + type (`major`, `premajor`, `minor`, `preminor`, `patch`, + `prepatch`, or `prerelease`), or null if it's not valid + * `premajor` in one call will bump the version up to the next major + version and down to a prerelease of that major version. + `preminor`, and `prepatch` work the same way. + * If called from a non-prerelease version, the `prerelease` will work the + same as `prepatch`. It increments the patch version, then makes a + prerelease. If the input version is already a prerelease it simply + increments it. +* `prerelease(v)`: Returns an array of prerelease components, or null + if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` +* `major(v)`: Return the major version number. +* `minor(v)`: Return the minor version number. +* `patch(v)`: Return the patch version number. +* `intersects(r1, r2, loose)`: Return true if the two supplied ranges + or comparators intersect. + +### Comparison + +* `gt(v1, v2)`: `v1 > v2` +* `gte(v1, v2)`: `v1 >= v2` +* `lt(v1, v2)`: `v1 < v2` +* `lte(v1, v2)`: `v1 <= v2` +* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, + even if they're not the exact same string. You already know how to + compare strings. +* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. +* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call + the corresponding function above. `"==="` and `"!=="` do simple + string comparison, but are included for completeness. Throws if an + invalid comparison string is provided. +* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions + in descending order when passed to `Array.sort()`. +* `diff(v1, v2)`: Returns difference between two versions by the release type + (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), + or null if the versions are the same. + +### Comparators + +* `intersects(comparator)`: Return true if the comparators intersect + +### Ranges + +* `validRange(range)`: Return the valid range or null if it's not valid +* `satisfies(version, range)`: Return true if the version satisfies the + range. +* `maxSatisfying(versions, range)`: Return the highest version in the list + that satisfies the range, or `null` if none of them do. +* `minSatisfying(versions, range)`: Return the lowest version in the list + that satisfies the range, or `null` if none of them do. +* `gtr(version, range)`: Return `true` if version is greater than all the + versions possible in the range. +* `ltr(version, range)`: Return `true` if version is less than all the + versions possible in the range. +* `outside(version, range, hilo)`: Return true if the version is outside + the bounds of the range in either the high or low direction. The + `hilo` argument must be either the string `'>'` or `'<'`. (This is + the function called by `gtr` and `ltr`.) +* `intersects(range)`: Return true if any of the ranges comparators intersect + +Note that, since ranges may be non-contiguous, a version might not be +greater than a range, less than a range, *or* satisfy a range! For +example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` +until `2.0.0`, so the version `1.2.10` would not be greater than the +range (because `2.0.1` satisfies, which is higher), nor less than the +range (since `1.2.8` satisfies, which is lower), and it also does not +satisfy the range. + +If you want to know if a version satisfies or does not satisfy a +range, use the `satisfies(version, range)` function. + +### Coercion + +* `coerce(version)`: Coerces a string to semver if possible + +This aims to provide a very forgiving translation of a non-semver +string to semver. It looks for the first digit in a string, and +consumes all remaining characters which satisfy at least a partial semver +(e.g., `1`, `1.2`, `1.2.3`) up to the max permitted length (256 characters). +Longer versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). +All surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes `3.4.0`). +Only text which lacks digits will fail coercion (`version one` is not valid). +The maximum length for any semver component considered for coercion is 16 characters; +longer components will be ignored (`10000000000000000.4.7.4` becomes `4.7.4`). +The maximum value for any semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; +higher value components are invalid (`9999999999999999.4.7.4` is likely invalid). diff --git a/build/js-transpiled/node_modules/semver/bin/semver b/build/js-transpiled/node_modules/semver/bin/semver new file mode 100755 index 00000000..9100ed42 --- /dev/null +++ b/build/js-transpiled/node_modules/semver/bin/semver @@ -0,0 +1,153 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +var argv = process.argv.slice(2) + , versions = [] + , range = [] + , gt = [] + , lt = [] + , eq = [] + , inc = null + , version = require("../package.json").version + , loose = false + , includePrerelease = false + , coerce = false + , identifier = undefined + , semver = require("../semver") + , reverse = false + , options = {} + +main() + +function main () { + if (!argv.length) return help() + while (argv.length) { + var a = argv.shift() + var i = a.indexOf('=') + if (i !== -1) { + a = a.slice(0, i) + argv.unshift(a.slice(i + 1)) + } + switch (a) { + case "-rv": case "-rev": case "--rev": case "--reverse": + reverse = true + break + case "-l": case "--loose": + loose = true + break + case "-p": case "--include-prerelease": + includePrerelease = true + break + case "-v": case "--version": + versions.push(argv.shift()) + break + case "-i": case "--inc": case "--increment": + switch (argv[0]) { + case "major": case "minor": case "patch": case "prerelease": + case "premajor": case "preminor": case "prepatch": + inc = argv.shift() + break + default: + inc = "patch" + break + } + break + case "--preid": + identifier = argv.shift() + break + case "-r": case "--range": + range.push(argv.shift()) + break + case "-c": case "--coerce": + coerce = true + break + case "-h": case "--help": case "-?": + return help() + default: + versions.push(a) + break + } + } + + var options = { loose: loose, includePrerelease: includePrerelease } + + versions = versions.map(function (v) { + return coerce ? (semver.coerce(v) || {version: v}).version : v + }).filter(function (v) { + return semver.valid(v) + }) + if (!versions.length) return fail() + if (inc && (versions.length !== 1 || range.length)) + return failInc() + + for (var i = 0, l = range.length; i < l ; i ++) { + versions = versions.filter(function (v) { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) return fail() + } + return success(versions) +} + +function failInc () { + console.error("--inc can only be used on a single version with no range") + fail() +} + +function fail () { process.exit(1) } + +function success () { + var compare = reverse ? "rcompare" : "compare" + versions.sort(function (a, b) { + return semver[compare](a, b, options) + }).map(function (v) { + return semver.clean(v, options) + }).map(function (v) { + return inc ? semver.inc(v, inc, options, identifier) : v + }).forEach(function (v,i,_) { console.log(v) }) +} + +function help () { + console.log(["SemVer " + version + ,"" + ,"A JavaScript implementation of the http://semver.org/ specification" + ,"Copyright Isaac Z. Schlueter" + ,"" + ,"Usage: semver [options] [ [...]]" + ,"Prints valid versions sorted by SemVer precedence" + ,"" + ,"Options:" + ,"-r --range " + ," Print versions that match the specified range." + ,"" + ,"-i --increment []" + ," Increment a version by the specified level. Level can" + ," be one of: major, minor, patch, premajor, preminor," + ," prepatch, or prerelease. Default level is 'patch'." + ," Only one version may be specified." + ,"" + ,"--preid " + ," Identifier to be used to prefix premajor, preminor," + ," prepatch or prerelease version increments." + ,"" + ,"-l --loose" + ," Interpret versions and ranges loosely" + ,"" + ,"-p --include-prerelease" + ," Always include prerelease versions in range matching" + ,"" + ,"-c --coerce" + ," Coerce a string into SemVer if possible" + ," (does not imply --loose)" + ,"" + ,"Program exits successfully if any valid version satisfies" + ,"all supplied ranges, and prints all satisfying versions." + ,"" + ,"If no satisfying versions are found, then exits failure." + ,"" + ,"Versions are printed in ascending order, so supplying" + ,"multiple versions to the utility will just sort them." + ].join("\n")) +} diff --git a/build/js-transpiled/node_modules/semver/package.json b/build/js-transpiled/node_modules/semver/package.json new file mode 100644 index 00000000..740d7663 --- /dev/null +++ b/build/js-transpiled/node_modules/semver/package.json @@ -0,0 +1,54 @@ +{ + "_from": "semver@^5.6.0", + "_id": "semver@5.6.0", + "_inBundle": false, + "_integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "_location": "/semver", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "semver@^5.6.0", + "name": "semver", + "escapedName": "semver", + "rawSpec": "^5.6.0", + "saveSpec": null, + "fetchSpec": "^5.6.0" + }, + "_requiredBy": [ + "/editorconfig" + ], + "_resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "_shasum": "7e74256fbaa49c75aa7c7a205cc22799cac80004", + "_spec": "semver@^5.6.0", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", + "bin": { + "semver": "./bin/semver" + }, + "bugs": { + "url": "https://github.com/npm/node-semver/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "The semantic version parser used by npm.", + "devDependencies": { + "tap": "^12.0.1" + }, + "files": [ + "bin", + "range.bnf", + "semver.js" + ], + "homepage": "https://github.com/npm/node-semver#readme", + "license": "ISC", + "main": "semver.js", + "name": "semver", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/node-semver.git" + }, + "scripts": { + "test": "tap test/*.js --cov -J" + }, + "version": "5.6.0" +} diff --git a/build/js-transpiled/node_modules/semver/range.bnf b/build/js-transpiled/node_modules/semver/range.bnf new file mode 100644 index 00000000..d4c6ae0d --- /dev/null +++ b/build/js-transpiled/node_modules/semver/range.bnf @@ -0,0 +1,16 @@ +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | [1-9] ( [0-9] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ diff --git a/build/js-transpiled/node_modules/semver/semver.js b/build/js-transpiled/node_modules/semver/semver.js new file mode 100644 index 00000000..0cc57350 --- /dev/null +++ b/build/js-transpiled/node_modules/semver/semver.js @@ -0,0 +1,1352 @@ +exports = module.exports = SemVer; + +// The debug function is excluded entirely from the minified version. +/* nomin */ var debug; +/* nomin */ if (typeof process === 'object' && + /* nomin */ process.env && + /* nomin */ process.env.NODE_DEBUG && + /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) + /* nomin */ debug = function() { + /* nomin */ var args = Array.prototype.slice.call(arguments, 0); + /* nomin */ args.unshift('SEMVER'); + /* nomin */ console.log.apply(console, args); + /* nomin */ }; +/* nomin */ else + /* nomin */ debug = function() {}; + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +exports.SEMVER_SPEC_VERSION = '2.0.0'; + +var MAX_LENGTH = 256; +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; + +// Max safe segment length for coercion. +var MAX_SAFE_COMPONENT_LENGTH = 16; + +// The actual regexps go on exports.re +var re = exports.re = []; +var src = exports.src = []; +var R = 0; + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +var NUMERICIDENTIFIER = R++; +src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; +var NUMERICIDENTIFIERLOOSE = R++; +src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; + + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +var NONNUMERICIDENTIFIER = R++; +src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; + + +// ## Main Version +// Three dot-separated numeric identifiers. + +var MAINVERSION = R++; +src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + + '(' + src[NUMERICIDENTIFIER] + ')\\.' + + '(' + src[NUMERICIDENTIFIER] + ')'; + +var MAINVERSIONLOOSE = R++; +src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +var PRERELEASEIDENTIFIER = R++; +src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + + '|' + src[NONNUMERICIDENTIFIER] + ')'; + +var PRERELEASEIDENTIFIERLOOSE = R++; +src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + + '|' + src[NONNUMERICIDENTIFIER] + ')'; + + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +var PRERELEASE = R++; +src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + + '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; + +var PRERELEASELOOSE = R++; +src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + + '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +var BUILDIDENTIFIER = R++; +src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +var BUILD = R++; +src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + + '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; + + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +var FULL = R++; +var FULLPLAIN = 'v?' + src[MAINVERSION] + + src[PRERELEASE] + '?' + + src[BUILD] + '?'; + +src[FULL] = '^' + FULLPLAIN + '$'; + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + + src[PRERELEASELOOSE] + '?' + + src[BUILD] + '?'; + +var LOOSE = R++; +src[LOOSE] = '^' + LOOSEPLAIN + '$'; + +var GTLT = R++; +src[GTLT] = '((?:<|>)?=?)'; + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +var XRANGEIDENTIFIERLOOSE = R++; +src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; +var XRANGEIDENTIFIER = R++; +src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; + +var XRANGEPLAIN = R++; +src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + + '(?:' + src[PRERELEASE] + ')?' + + src[BUILD] + '?' + + ')?)?'; + +var XRANGEPLAINLOOSE = R++; +src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:' + src[PRERELEASELOOSE] + ')?' + + src[BUILD] + '?' + + ')?)?'; + +var XRANGE = R++; +src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; +var XRANGELOOSE = R++; +src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +var COERCE = R++; +src[COERCE] = '(?:^|[^\\d])' + + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:$|[^\\d])'; + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +var LONETILDE = R++; +src[LONETILDE] = '(?:~>?)'; + +var TILDETRIM = R++; +src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; +re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); +var tildeTrimReplace = '$1~'; + +var TILDE = R++; +src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; +var TILDELOOSE = R++; +src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +var LONECARET = R++; +src[LONECARET] = '(?:\\^)'; + +var CARETTRIM = R++; +src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; +re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); +var caretTrimReplace = '$1^'; + +var CARET = R++; +src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; +var CARETLOOSE = R++; +src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +var COMPARATORLOOSE = R++; +src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; +var COMPARATOR = R++; +src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; + + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +var COMPARATORTRIM = R++; +src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + + '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; + +// this one has to use the /g flag +re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); +var comparatorTrimReplace = '$1$2$3'; + + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +var HYPHENRANGE = R++; +src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + + '\\s+-\\s+' + + '(' + src[XRANGEPLAIN] + ')' + + '\\s*$'; + +var HYPHENRANGELOOSE = R++; +src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + + '\\s+-\\s+' + + '(' + src[XRANGEPLAINLOOSE] + ')' + + '\\s*$'; + +// Star ranges basically just allow anything at all. +var STAR = R++; +src[STAR] = '(<|>)?=?\\s*\\*'; + +// Compile to actual regexp objects. +// All are flag-free, unless they were created above with a flag. +for (var i = 0; i < R; i++) { + debug(i, src[i]); + if (!re[i]) + re[i] = new RegExp(src[i]); +} + +exports.parse = parse; +function parse(version, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + if (version instanceof SemVer) + return version; + + if (typeof version !== 'string') + return null; + + if (version.length > MAX_LENGTH) + return null; + + var r = options.loose ? re[LOOSE] : re[FULL]; + if (!r.test(version)) + return null; + + try { + return new SemVer(version, options); + } catch (er) { + return null; + } +} + +exports.valid = valid; +function valid(version, options) { + var v = parse(version, options); + return v ? v.version : null; +} + + +exports.clean = clean; +function clean(version, options) { + var s = parse(version.trim().replace(/^[=v]+/, ''), options); + return s ? s.version : null; +} + +exports.SemVer = SemVer; + +function SemVer(version, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + if (version instanceof SemVer) { + if (version.loose === options.loose) + return version; + else + version = version.version; + } else if (typeof version !== 'string') { + throw new TypeError('Invalid Version: ' + version); + } + + if (version.length > MAX_LENGTH) + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') + + if (!(this instanceof SemVer)) + return new SemVer(version, options); + + debug('SemVer', version, options); + this.options = options; + this.loose = !!options.loose; + + var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL]); + + if (!m) + throw new TypeError('Invalid Version: ' + version); + + this.raw = version; + + // these are actually numbers + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) + throw new TypeError('Invalid major version') + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) + throw new TypeError('Invalid minor version') + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) + throw new TypeError('Invalid patch version') + + // numberify any prerelease numeric ids + if (!m[4]) + this.prerelease = []; + else + this.prerelease = m[4].split('.').map(function(id) { + if (/^[0-9]+$/.test(id)) { + var num = +id; + if (num >= 0 && num < MAX_SAFE_INTEGER) + return num; + } + return id; + }); + + this.build = m[5] ? m[5].split('.') : []; + this.format(); +} + +SemVer.prototype.format = function() { + this.version = this.major + '.' + this.minor + '.' + this.patch; + if (this.prerelease.length) + this.version += '-' + this.prerelease.join('.'); + return this.version; +}; + +SemVer.prototype.toString = function() { + return this.version; +}; + +SemVer.prototype.compare = function(other) { + debug('SemVer.compare', this.version, this.options, other); + if (!(other instanceof SemVer)) + other = new SemVer(other, this.options); + + return this.compareMain(other) || this.comparePre(other); +}; + +SemVer.prototype.compareMain = function(other) { + if (!(other instanceof SemVer)) + other = new SemVer(other, this.options); + + return compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch); +}; + +SemVer.prototype.comparePre = function(other) { + if (!(other instanceof SemVer)) + other = new SemVer(other, this.options); + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) + return -1; + else if (!this.prerelease.length && other.prerelease.length) + return 1; + else if (!this.prerelease.length && !other.prerelease.length) + return 0; + + var i = 0; + do { + var a = this.prerelease[i]; + var b = other.prerelease[i]; + debug('prerelease compare', i, a, b); + if (a === undefined && b === undefined) + return 0; + else if (b === undefined) + return 1; + else if (a === undefined) + return -1; + else if (a === b) + continue; + else + return compareIdentifiers(a, b); + } while (++i); +}; + +// preminor will bump the version up to the next minor release, and immediately +// down to pre-release. premajor and prepatch work the same way. +SemVer.prototype.inc = function(release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc('pre', identifier); + break; + case 'preminor': + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc('pre', identifier); + break; + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0; + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) + this.major++; + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) + this.minor++; + this.patch = 0; + this.prerelease = []; + break; + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) + this.patch++; + this.prerelease = []; + break; + // This probably shouldn't be used publicly. + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) + this.prerelease = [0]; + else { + var i = this.prerelease.length; + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++; + i = -2; + } + } + if (i === -1) // didn't increment anything + this.prerelease.push(0); + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) + this.prerelease = [identifier, 0]; + } else + this.prerelease = [identifier, 0]; + } + break; + + default: + throw new Error('invalid increment argument: ' + release); + } + this.format(); + this.raw = this.version; + return this; +}; + +exports.inc = inc; +function inc(version, release, loose, identifier) { + if (typeof(loose) === 'string') { + identifier = loose; + loose = undefined; + } + + try { + return new SemVer(version, loose).inc(release, identifier).version; + } catch (er) { + return null; + } +} + +exports.diff = diff; +function diff(version1, version2) { + if (eq(version1, version2)) { + return null; + } else { + var v1 = parse(version1); + var v2 = parse(version2); + if (v1.prerelease.length || v2.prerelease.length) { + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return 'pre'+key; + } + } + } + return 'prerelease'; + } + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return key; + } + } + } + } +} + +exports.compareIdentifiers = compareIdentifiers; + +var numeric = /^[0-9]+$/; +function compareIdentifiers(a, b) { + var anum = numeric.test(a); + var bnum = numeric.test(b); + + if (anum && bnum) { + a = +a; + b = +b; + } + + return (anum && !bnum) ? -1 : + (bnum && !anum) ? 1 : + a < b ? -1 : + a > b ? 1 : + 0; +} + +exports.rcompareIdentifiers = rcompareIdentifiers; +function rcompareIdentifiers(a, b) { + return compareIdentifiers(b, a); +} + +exports.major = major; +function major(a, loose) { + return new SemVer(a, loose).major; +} + +exports.minor = minor; +function minor(a, loose) { + return new SemVer(a, loose).minor; +} + +exports.patch = patch; +function patch(a, loose) { + return new SemVer(a, loose).patch; +} + +exports.compare = compare; +function compare(a, b, loose) { + return new SemVer(a, loose).compare(new SemVer(b, loose)); +} + +exports.compareLoose = compareLoose; +function compareLoose(a, b) { + return compare(a, b, true); +} + +exports.rcompare = rcompare; +function rcompare(a, b, loose) { + return compare(b, a, loose); +} + +exports.sort = sort; +function sort(list, loose) { + return list.sort(function(a, b) { + return exports.compare(a, b, loose); + }); +} + +exports.rsort = rsort; +function rsort(list, loose) { + return list.sort(function(a, b) { + return exports.rcompare(a, b, loose); + }); +} + +exports.gt = gt; +function gt(a, b, loose) { + return compare(a, b, loose) > 0; +} + +exports.lt = lt; +function lt(a, b, loose) { + return compare(a, b, loose) < 0; +} + +exports.eq = eq; +function eq(a, b, loose) { + return compare(a, b, loose) === 0; +} + +exports.neq = neq; +function neq(a, b, loose) { + return compare(a, b, loose) !== 0; +} + +exports.gte = gte; +function gte(a, b, loose) { + return compare(a, b, loose) >= 0; +} + +exports.lte = lte; +function lte(a, b, loose) { + return compare(a, b, loose) <= 0; +} + +exports.cmp = cmp; +function cmp(a, op, b, loose) { + var ret; + switch (op) { + case '===': + if (typeof a === 'object') a = a.version; + if (typeof b === 'object') b = b.version; + ret = a === b; + break; + case '!==': + if (typeof a === 'object') a = a.version; + if (typeof b === 'object') b = b.version; + ret = a !== b; + break; + case '': case '=': case '==': ret = eq(a, b, loose); break; + case '!=': ret = neq(a, b, loose); break; + case '>': ret = gt(a, b, loose); break; + case '>=': ret = gte(a, b, loose); break; + case '<': ret = lt(a, b, loose); break; + case '<=': ret = lte(a, b, loose); break; + default: throw new TypeError('Invalid operator: ' + op); + } + return ret; +} + +exports.Comparator = Comparator; +function Comparator(comp, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) + return comp; + else + comp = comp.value; + } + + if (!(this instanceof Comparator)) + return new Comparator(comp, options); + + debug('comparator', comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + + if (this.semver === ANY) + this.value = ''; + else + this.value = this.operator + this.semver.version; + + debug('comp', this); +} + +var ANY = {}; +Comparator.prototype.parse = function(comp) { + var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; + var m = comp.match(r); + + if (!m) + throw new TypeError('Invalid comparator: ' + comp); + + this.operator = m[1]; + if (this.operator === '=') + this.operator = ''; + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) + this.semver = ANY; + else + this.semver = new SemVer(m[2], this.options.loose); +}; + +Comparator.prototype.toString = function() { + return this.value; +}; + +Comparator.prototype.test = function(version) { + debug('Comparator.test', version, this.options.loose); + + if (this.semver === ANY) + return true; + + if (typeof version === 'string') + version = new SemVer(version, this.options); + + return cmp(version, this.operator, this.semver, this.options); +}; + +Comparator.prototype.intersects = function(comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required'); + } + + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + var rangeTmp; + + if (this.operator === '') { + rangeTmp = new Range(comp.value, options); + return satisfies(this.value, rangeTmp, options); + } else if (comp.operator === '') { + rangeTmp = new Range(this.value, options); + return satisfies(comp.semver, rangeTmp, options); + } + + var sameDirectionIncreasing = + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '>=' || comp.operator === '>'); + var sameDirectionDecreasing = + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '<=' || comp.operator === '<'); + var sameSemVer = this.semver.version === comp.semver.version; + var differentDirectionsInclusive = + (this.operator === '>=' || this.operator === '<=') && + (comp.operator === '>=' || comp.operator === '<='); + var oppositeDirectionsLessThan = + cmp(this.semver, '<', comp.semver, options) && + ((this.operator === '>=' || this.operator === '>') && + (comp.operator === '<=' || comp.operator === '<')); + var oppositeDirectionsGreaterThan = + cmp(this.semver, '>', comp.semver, options) && + ((this.operator === '<=' || this.operator === '<') && + (comp.operator === '>=' || comp.operator === '>')); + + return sameDirectionIncreasing || sameDirectionDecreasing || + (sameSemVer && differentDirectionsInclusive) || + oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; +}; + + +exports.Range = Range; +function Range(range, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + if (range instanceof Range) { + if (range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease) { + return range; + } else { + return new Range(range.raw, options); + } + } + + if (range instanceof Comparator) { + return new Range(range.value, options); + } + + if (!(this instanceof Range)) + return new Range(range, options); + + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease + + // First, split based on boolean or || + this.raw = range; + this.set = range.split(/\s*\|\|\s*/).map(function(range) { + return this.parseRange(range.trim()); + }, this).filter(function(c) { + // throw out any that are not relevant for whatever reason + return c.length; + }); + + if (!this.set.length) { + throw new TypeError('Invalid SemVer Range: ' + range); + } + + this.format(); +} + +Range.prototype.format = function() { + this.range = this.set.map(function(comps) { + return comps.join(' ').trim(); + }).join('||').trim(); + return this.range; +}; + +Range.prototype.toString = function() { + return this.range; +}; + +Range.prototype.parseRange = function(range) { + var loose = this.options.loose; + range = range.trim(); + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; + range = range.replace(hr, hyphenReplace); + debug('hyphen replace', range); + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); + debug('comparator trim', range, re[COMPARATORTRIM]); + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[TILDETRIM], tildeTrimReplace); + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[CARETTRIM], caretTrimReplace); + + // normalize spaces + range = range.split(/\s+/).join(' '); + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; + var set = range.split(' ').map(function(comp) { + return parseComparator(comp, this.options); + }, this).join(' ').split(/\s+/); + if (this.options.loose) { + // in loose mode, throw out any that are not valid comparators + set = set.filter(function(comp) { + return !!comp.match(compRe); + }); + } + set = set.map(function(comp) { + return new Comparator(comp, this.options); + }, this); + + return set; +}; + +Range.prototype.intersects = function(range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required'); + } + + return this.set.some(function(thisComparators) { + return thisComparators.every(function(thisComparator) { + return range.set.some(function(rangeComparators) { + return rangeComparators.every(function(rangeComparator) { + return thisComparator.intersects(rangeComparator, options); + }); + }); + }); + }); +}; + +// Mostly just for testing and legacy API reasons +exports.toComparators = toComparators; +function toComparators(range, options) { + return new Range(range, options).set.map(function(comp) { + return comp.map(function(c) { + return c.value; + }).join(' ').trim().split(' '); + }); +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +function parseComparator(comp, options) { + debug('comp', comp, options); + comp = replaceCarets(comp, options); + debug('caret', comp); + comp = replaceTildes(comp, options); + debug('tildes', comp); + comp = replaceXRanges(comp, options); + debug('xrange', comp); + comp = replaceStars(comp, options); + debug('stars', comp); + return comp; +} + +function isX(id) { + return !id || id.toLowerCase() === 'x' || id === '*'; +} + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 +function replaceTildes(comp, options) { + return comp.trim().split(/\s+/).map(function(comp) { + return replaceTilde(comp, options); + }).join(' '); +} + +function replaceTilde(comp, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + var r = options.loose ? re[TILDELOOSE] : re[TILDE]; + return comp.replace(r, function(_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) + ret = ''; + else if (isX(m)) + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + else if (isX(p)) + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + else if (pr) { + debug('replaceTilde pr', pr); + if (pr.charAt(0) !== '-') + pr = '-' + pr; + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + M + '.' + (+m + 1) + '.0'; + } else + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0'; + + debug('tilde return', ret); + return ret; + }); +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 +function replaceCarets(comp, options) { + return comp.trim().split(/\s+/).map(function(comp) { + return replaceCaret(comp, options); + }).join(' '); +} + +function replaceCaret(comp, options) { + debug('caret', comp, options); + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + var r = options.loose ? re[CARETLOOSE] : re[CARET]; + return comp.replace(r, function(_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) + ret = ''; + else if (isX(m)) + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + else if (isX(p)) { + if (M === '0') + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + else + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; + } else if (pr) { + debug('replaceCaret pr', pr); + if (pr.charAt(0) !== '-') + pr = '-' + pr; + if (M === '0') { + if (m === '0') + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + M + '.' + m + '.' + (+p + 1); + else + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + M + '.' + (+m + 1) + '.0'; + } else + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + (+M + 1) + '.0.0'; + } else { + debug('no pr'); + if (M === '0') { + if (m === '0') + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + m + '.' + (+p + 1); + else + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0'; + } else + ret = '>=' + M + '.' + m + '.' + p + + ' <' + (+M + 1) + '.0.0'; + } + + debug('caret return', ret); + return ret; + }); +} + +function replaceXRanges(comp, options) { + debug('replaceXRanges', comp, options); + return comp.split(/\s+/).map(function(comp) { + return replaceXRange(comp, options); + }).join(' '); +} + +function replaceXRange(comp, options) { + comp = comp.trim(); + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]; + return comp.replace(r, function(ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr); + var xM = isX(M); + var xm = xM || isX(m); + var xp = xm || isX(p); + var anyX = xp; + + if (gtlt === '=' && anyX) + gtlt = ''; + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0'; + } else { + // nothing is forbidden + ret = '*'; + } + } else if (gtlt && anyX) { + // replace X with 0 + if (xm) + m = 0; + if (xp) + p = 0; + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>='; + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else if (xp) { + m = +m + 1; + p = 0; + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<'; + if (xm) + M = +M + 1; + else + m = +m + 1; + } + + ret = gtlt + M + '.' + m + '.' + p; + } else if (xm) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (xp) { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } + + debug('xRange return', ret); + + return ret; + }); +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +function replaceStars(comp, options) { + debug('replaceStars', comp, options); + // Looseness is ignored here. star is always as loose as it gets! + return comp.trim().replace(re[STAR], ''); +} + +// This function is passed to string.replace(re[HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 +function hyphenReplace($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) { + + if (isX(fM)) + from = ''; + else if (isX(fm)) + from = '>=' + fM + '.0.0'; + else if (isX(fp)) + from = '>=' + fM + '.' + fm + '.0'; + else + from = '>=' + from; + + if (isX(tM)) + to = ''; + else if (isX(tm)) + to = '<' + (+tM + 1) + '.0.0'; + else if (isX(tp)) + to = '<' + tM + '.' + (+tm + 1) + '.0'; + else if (tpr) + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; + else + to = '<=' + to; + + return (from + ' ' + to).trim(); +} + + +// if ANY of the sets match ALL of its comparators, then pass +Range.prototype.test = function(version) { + if (!version) + return false; + + if (typeof version === 'string') + version = new SemVer(version, this.options); + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) + return true; + } + return false; +}; + +function testSet(set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) + return false; + } + + if (!options) + options = {} + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (var i = 0; i < set.length; i++) { + debug(set[i].semver); + if (set[i].semver === ANY) + continue; + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver; + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) + return true; + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false; + } + + return true; +} + +exports.satisfies = satisfies; +function satisfies(version, range, options) { + try { + range = new Range(range, options); + } catch (er) { + return false; + } + return range.test(version); +} + +exports.maxSatisfying = maxSatisfying; +function maxSatisfying(versions, range, options) { + var max = null; + var maxSV = null; + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { // compare(max, v, true) + max = v; + maxSV = new SemVer(max, options); + } + } + }) + return max; +} + +exports.minSatisfying = minSatisfying; +function minSatisfying(versions, range, options) { + var min = null; + var minSV = null; + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { // compare(min, v, true) + min = v; + minSV = new SemVer(min, options); + } + } + }) + return min; +} + +exports.validRange = validRange; +function validRange(range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*'; + } catch (er) { + return null; + } +} + +// Determine if version is less than all the versions possible in the range +exports.ltr = ltr; +function ltr(version, range, options) { + return outside(version, range, '<', options); +} + +// Determine if version is greater than all the versions possible in the range. +exports.gtr = gtr; +function gtr(version, range, options) { + return outside(version, range, '>', options); +} + +exports.outside = outside; +function outside(version, range, hilo, options) { + version = new SemVer(version, options); + range = new Range(range, options); + + var gtfn, ltefn, ltfn, comp, ecomp; + switch (hilo) { + case '>': + gtfn = gt; + ltefn = lte; + ltfn = lt; + comp = '>'; + ecomp = '>='; + break; + case '<': + gtfn = lt; + ltefn = gte; + ltfn = gt; + comp = '<'; + ecomp = '<='; + break; + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } + + // If it satisifes the range it is not outside + if (satisfies(version, range, options)) { + return false; + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i]; + + var high = null; + var low = null; + + comparators.forEach(function(comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator; + low = low || comparator; + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false; + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false; + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false; + } + } + return true; +} + +exports.prerelease = prerelease; +function prerelease(version, options) { + var parsed = parse(version, options); + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; +} + +exports.intersects = intersects; +function intersects(r1, r2, options) { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2) +} + +exports.coerce = coerce; +function coerce(version) { + if (version instanceof SemVer) + return version; + + if (typeof version !== 'string') + return null; + + var match = version.match(re[COERCE]); + + if (match == null) + return null; + + return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); +} diff --git a/build/js-transpiled/node_modules/sigmund/package.json b/build/js-transpiled/node_modules/sigmund/package.json index c401d0f1..1933aec9 100644 --- a/build/js-transpiled/node_modules/sigmund/package.json +++ b/build/js-transpiled/node_modules/sigmund/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", "_shasum": "3ff21f198cad2175f9f3b781853fd94d0d19b590", "_spec": "sigmund@^1.0.1", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/editorconfig", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/build/js-transpiled/node_modules/universalify/README.md b/build/js-transpiled/node_modules/universalify/README.md index d0d9652f..487067bf 100644 --- a/build/js-transpiled/node_modules/universalify/README.md +++ b/build/js-transpiled/node_modules/universalify/README.md @@ -1,6 +1,9 @@ # universalify [![Travis branch](https://img.shields.io/travis/RyanZim/universalify/master.svg)](https://travis-ci.org/RyanZim/universalify) +![Coveralls github branch](https://img.shields.io/coveralls/github/RyanZim/universalify/master.svg) +![npm](https://img.shields.io/npm/dm/universalify.svg) +![npm](https://img.shields.io/npm/l/universalify.svg) Make a callback- or promise-based function support both promises and callbacks. diff --git a/build/js-transpiled/node_modules/universalify/package.json b/build/js-transpiled/node_modules/universalify/package.json index 5d03f1ff..84c86593 100644 --- a/build/js-transpiled/node_modules/universalify/package.json +++ b/build/js-transpiled/node_modules/universalify/package.json @@ -1,8 +1,8 @@ { "_from": "universalify@^0.1.0", - "_id": "universalify@0.1.1", + "_id": "universalify@0.1.2", "_inBundle": false, - "_integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "_integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "_location": "/universalify", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/fs-extra" ], - "_resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "_shasum": "fa71badd4437af4c148841e3b3b165f9e9e590b7", + "_resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "_shasum": "b646f69be3942dabcecc9d6639c80dc105efaa66", "_spec": "universalify@^0.1.0", - "_where": "/Users/victorporof/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/fs-extra", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/fs-extra", "author": { "name": "Ryan Zimmerman", "email": "opensrc@ryanzim.com" @@ -34,10 +34,14 @@ "description": "Make a callback- or promise-based function support both promises and callbacks.", "devDependencies": { "colortape": "^0.1.2", + "coveralls": "^3.0.1", "nyc": "^10.2.0", "standard": "^10.0.1", "tape": "^4.6.3" }, + "engines": { + "node": ">= 4.0.0" + }, "files": [ "index.js" ], @@ -56,5 +60,5 @@ "scripts": { "test": "standard && nyc tape test/*.js | colortape" }, - "version": "0.1.1" + "version": "0.1.2" } diff --git a/build/js-transpiled/node_modules/yallist/LICENSE b/build/js-transpiled/node_modules/yallist/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/build/js-transpiled/node_modules/yallist/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/build/js-transpiled/node_modules/yallist/README.md b/build/js-transpiled/node_modules/yallist/README.md new file mode 100644 index 00000000..f5861018 --- /dev/null +++ b/build/js-transpiled/node_modules/yallist/README.md @@ -0,0 +1,204 @@ +# yallist + +Yet Another Linked List + +There are many doubly-linked list implementations like it, but this +one is mine. + +For when an array would be too big, and a Map can't be iterated in +reverse order. + + +[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist) + +## basic usage + +```javascript +var yallist = require('yallist') +var myList = yallist.create([1, 2, 3]) +myList.push('foo') +myList.unshift('bar') +// of course pop() and shift() are there, too +console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo'] +myList.forEach(function (k) { + // walk the list head to tail +}) +myList.forEachReverse(function (k, index, list) { + // walk the list tail to head +}) +var myDoubledList = myList.map(function (k) { + return k + k +}) +// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo'] +// mapReverse is also a thing +var myDoubledListReverse = myList.mapReverse(function (k) { + return k + k +}) // ['foofoo', 6, 4, 2, 'barbar'] + +var reduced = myList.reduce(function (set, entry) { + set += entry + return set +}, 'start') +console.log(reduced) // 'startfoo123bar' +``` + +## api + +The whole API is considered "public". + +Functions with the same name as an Array method work more or less the +same way. + +There's reverse versions of most things because that's the point. + +### Yallist + +Default export, the class that holds and manages a list. + +Call it with either a forEach-able (like an array) or a set of +arguments, to initialize the list. + +The Array-ish methods all act like you'd expect. No magic length, +though, so if you change that it won't automatically prune or add +empty spots. + +### Yallist.create(..) + +Alias for Yallist function. Some people like factories. + +#### yallist.head + +The first node in the list + +#### yallist.tail + +The last node in the list + +#### yallist.length + +The number of nodes in the list. (Change this at your peril. It is +not magic like Array length.) + +#### yallist.toArray() + +Convert the list to an array. + +#### yallist.forEach(fn, [thisp]) + +Call a function on each item in the list. + +#### yallist.forEachReverse(fn, [thisp]) + +Call a function on each item in the list, in reverse order. + +#### yallist.get(n) + +Get the data at position `n` in the list. If you use this a lot, +probably better off just using an Array. + +#### yallist.getReverse(n) + +Get the data at position `n`, counting from the tail. + +#### yallist.map(fn, thisp) + +Create a new Yallist with the result of calling the function on each +item. + +#### yallist.mapReverse(fn, thisp) + +Same as `map`, but in reverse. + +#### yallist.pop() + +Get the data from the list tail, and remove the tail from the list. + +#### yallist.push(item, ...) + +Insert one or more items to the tail of the list. + +#### yallist.reduce(fn, initialValue) + +Like Array.reduce. + +#### yallist.reduceReverse + +Like Array.reduce, but in reverse. + +#### yallist.reverse + +Reverse the list in place. + +#### yallist.shift() + +Get the data from the list head, and remove the head from the list. + +#### yallist.slice([from], [to]) + +Just like Array.slice, but returns a new Yallist. + +#### yallist.sliceReverse([from], [to]) + +Just like yallist.slice, but the result is returned in reverse. + +#### yallist.toArray() + +Create an array representation of the list. + +#### yallist.toArrayReverse() + +Create a reversed array representation of the list. + +#### yallist.unshift(item, ...) + +Insert one or more items to the head of the list. + +#### yallist.unshiftNode(node) + +Move a Node object to the front of the list. (That is, pull it out of +wherever it lives, and make it the new head.) + +If the node belongs to a different list, then that list will remove it +first. + +#### yallist.pushNode(node) + +Move a Node object to the end of the list. (That is, pull it out of +wherever it lives, and make it the new tail.) + +If the node belongs to a list already, then that list will remove it +first. + +#### yallist.removeNode(node) + +Remove a node from the list, preserving referential integrity of head +and tail and other nodes. + +Will throw an error if you try to have a list remove a node that +doesn't belong to it. + +### Yallist.Node + +The class that holds the data and is actually the list. + +Call with `var n = new Node(value, previousNode, nextNode)` + +Note that if you do direct operations on Nodes themselves, it's very +easy to get into weird states where the list is broken. Be careful :) + +#### node.next + +The next node in the list. + +#### node.prev + +The previous node in the list. + +#### node.value + +The data the node contains. + +#### node.list + +The list to which this node belongs. (Null if it does not belong to +any list.) diff --git a/build/js-transpiled/node_modules/yallist/iterator.js b/build/js-transpiled/node_modules/yallist/iterator.js new file mode 100644 index 00000000..4a15bf22 --- /dev/null +++ b/build/js-transpiled/node_modules/yallist/iterator.js @@ -0,0 +1,7 @@ +var Yallist = require('./yallist.js') + +Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value + } +} diff --git a/build/js-transpiled/node_modules/yallist/package.json b/build/js-transpiled/node_modules/yallist/package.json new file mode 100644 index 00000000..ecaa20cc --- /dev/null +++ b/build/js-transpiled/node_modules/yallist/package.json @@ -0,0 +1,62 @@ +{ + "_from": "yallist@^2.1.2", + "_id": "yallist@2.1.2", + "_inBundle": false, + "_integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "_location": "/yallist", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "yallist@^2.1.2", + "name": "yallist", + "escapedName": "yallist", + "rawSpec": "^2.1.2", + "saveSpec": null, + "fetchSpec": "^2.1.2" + }, + "_requiredBy": [ + "/lru-cache" + ], + "_resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "_shasum": "1c11f9218f076089a47dd512f93c6699a6a81d52", + "_spec": "yallist@^2.1.2", + "_where": "/Users/victor/Library/Application Support/Sublime Text 3/Packages/Sublime-HTMLPrettify/build/js-transpiled/node_modules/lru-cache", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "bugs": { + "url": "https://github.com/isaacs/yallist/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Yet Another Linked List", + "devDependencies": { + "tap": "^10.3.0" + }, + "directories": { + "test": "test" + }, + "files": [ + "yallist.js", + "iterator.js" + ], + "homepage": "https://github.com/isaacs/yallist#readme", + "license": "ISC", + "main": "yallist.js", + "name": "yallist", + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/yallist.git" + }, + "scripts": { + "postpublish": "git push origin --all; git push origin --tags", + "postversion": "npm publish", + "preversion": "npm test", + "test": "tap test/*.js --100" + }, + "version": "2.1.2" +} diff --git a/build/js-transpiled/node_modules/yallist/yallist.js b/build/js-transpiled/node_modules/yallist/yallist.js new file mode 100644 index 00000000..518d2333 --- /dev/null +++ b/build/js-transpiled/node_modules/yallist/yallist.js @@ -0,0 +1,370 @@ +module.exports = Yallist + +Yallist.Node = Node +Yallist.create = Yallist + +function Yallist (list) { + var self = this + if (!(self instanceof Yallist)) { + self = new Yallist() + } + + self.tail = null + self.head = null + self.length = 0 + + if (list && typeof list.forEach === 'function') { + list.forEach(function (item) { + self.push(item) + }) + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self.push(arguments[i]) + } + } + + return self +} + +Yallist.prototype.removeNode = function (node) { + if (node.list !== this) { + throw new Error('removing node which does not belong to this list') + } + + var next = node.next + var prev = node.prev + + if (next) { + next.prev = prev + } + + if (prev) { + prev.next = next + } + + if (node === this.head) { + this.head = next + } + if (node === this.tail) { + this.tail = prev + } + + node.list.length-- + node.next = null + node.prev = null + node.list = null +} + +Yallist.prototype.unshiftNode = function (node) { + if (node === this.head) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var head = this.head + node.list = this + node.next = head + if (head) { + head.prev = node + } + + this.head = node + if (!this.tail) { + this.tail = node + } + this.length++ +} + +Yallist.prototype.pushNode = function (node) { + if (node === this.tail) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var tail = this.tail + node.list = this + node.prev = tail + if (tail) { + tail.next = node + } + + this.tail = node + if (!this.head) { + this.head = node + } + this.length++ +} + +Yallist.prototype.push = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.unshift = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.pop = function () { + if (!this.tail) { + return undefined + } + + var res = this.tail.value + this.tail = this.tail.prev + if (this.tail) { + this.tail.next = null + } else { + this.head = null + } + this.length-- + return res +} + +Yallist.prototype.shift = function () { + if (!this.head) { + return undefined + } + + var res = this.head.value + this.head = this.head.next + if (this.head) { + this.head.prev = null + } else { + this.tail = null + } + this.length-- + return res +} + +Yallist.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.head, i = 0; walker !== null; i++) { + fn.call(thisp, walker.value, i, this) + walker = walker.next + } +} + +Yallist.prototype.forEachReverse = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn.call(thisp, walker.value, i, this) + walker = walker.prev + } +} + +Yallist.prototype.get = function (n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.next + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.getReverse = function (n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.prev + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.map = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.head; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.next + } + return res +} + +Yallist.prototype.mapReverse = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.tail; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.prev + } + return res +} + +Yallist.prototype.reduce = function (fn, initial) { + var acc + var walker = this.head + if (arguments.length > 1) { + acc = initial + } else if (this.head) { + walker = this.head.next + acc = this.head.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = 0; walker !== null; i++) { + acc = fn(acc, walker.value, i) + walker = walker.next + } + + return acc +} + +Yallist.prototype.reduceReverse = function (fn, initial) { + var acc + var walker = this.tail + if (arguments.length > 1) { + acc = initial + } else if (this.tail) { + walker = this.tail.prev + acc = this.tail.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = this.length - 1; walker !== null; i--) { + acc = fn(acc, walker.value, i) + walker = walker.prev + } + + return acc +} + +Yallist.prototype.toArray = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value + walker = walker.next + } + return arr +} + +Yallist.prototype.toArrayReverse = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value + walker = walker.prev + } + return arr +} + +Yallist.prototype.slice = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.sliceReverse = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.reverse = function () { + var head = this.head + var tail = this.tail + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev + walker.prev = walker.next + walker.next = p + } + this.head = tail + this.tail = head + return this +} + +function push (self, item) { + self.tail = new Node(item, self.tail, null, self) + if (!self.head) { + self.head = self.tail + } + self.length++ +} + +function unshift (self, item) { + self.head = new Node(item, null, self.head, self) + if (!self.tail) { + self.tail = self.head + } + self.length++ +} + +function Node (value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list) + } + + this.list = list + this.value = value + + if (prev) { + prev.next = this + this.prev = prev + } else { + this.prev = null + } + + if (next) { + next.prev = this + this.next = next + } else { + this.next = null + } +} diff --git a/build/js-transpiled/package-lock.json b/build/js-transpiled/package-lock.json index e7fd3d85..fd87f31a 100644 --- a/build/js-transpiled/package-lock.json +++ b/build/js-transpiled/package-lock.json @@ -2,43 +2,47 @@ "requires": true, "lockfileVersion": 1, "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" - }, - "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "@babel/runtime": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", + "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", "requires": { - "core-js": "2.4.1", - "regenerator-runtime": "0.10.5" + "regenerator-runtime": "^0.12.0" } }, + "@types/node": { + "version": "10.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.0.tgz", + "integrity": "sha512-3TUHC3jsBAB7qVRGxT6lWyYo2v96BMmD2PTcl47H25Lu7UXtFH/2qqmKiVrnel6Ne//0TFYf6uvNX+HW2FRkLQ==" + }, + "@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" - }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" }, "concat-map": { "version": "0.0.1", @@ -46,28 +50,30 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, "editorconfig": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.2.tgz", - "integrity": "sha1-jleSbZ7mmrbLmZ8CfCFxRnrM6zU=", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz", + "integrity": "sha512-GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==", "requires": { - "bluebird": "3.5.0", - "commander": "2.11.0", - "lru-cache": "3.2.0", - "sigmund": "1.0.1" + "@types/node": "^10.11.7", + "@types/semver": "^5.5.0", + "commander": "^2.19.0", + "lru-cache": "^4.1.3", + "semver": "^5.6.0", + "sigmund": "^1.0.1" } }, "editorconfig-parser": { @@ -76,13 +82,13 @@ "integrity": "sha1-R3/uw5XdDIWVgui43jRAjSsoEEs=" }, "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "graceful-fs": { @@ -91,9 +97,9 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "is-extglob": { "version": "2.1.1", @@ -101,82 +107,113 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "js-beautify": { - "version": "1.6.14", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.6.14.tgz", - "integrity": "sha1-07j3Mi0CuSd9WL0jgmTDJ+WARM0=", + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.8.tgz", + "integrity": "sha512-qVNq7ZZ7ZbLdzorvSlRDadS0Rh5oyItaE95v6I4wbbuSiijxn7SnnsV6dvKlcXuO2jX7lK8tn9fBulx34K/Ejg==", "requires": { - "config-chain": "1.1.11", - "editorconfig": "0.13.2", - "mkdirp": "0.5.1", - "nopt": "3.0.6" + "config-chain": "~1.1.5", + "editorconfig": "^0.15.0", + "mkdirp": "~0.5.0", + "nopt": "~4.0.1" } }, "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } }, "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-3.0.0.tgz", + "integrity": "sha512-Ot+2wruG8WqTbJngDxz0Ifm03y2pO4iL+brq/l+yEkGjUza03BnMQqX2XT//Jls8MOOl2VTHviAoLX+/nq/HXw==" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "abbrev": "1.1.0" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "promise-arrays": { @@ -195,9 +232,14 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "sigmund": { "version": "1.0.1", @@ -205,9 +247,14 @@ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" }, "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" } } } diff --git a/build/js-transpiled/package.json b/build/js-transpiled/package.json index bacd290f..7de181a8 100644 --- a/build/js-transpiled/package.json +++ b/build/js-transpiled/package.json @@ -1,13 +1,14 @@ { "dependencies": { - "babel-runtime": "6.23.0", + "@babel/runtime": "7.1.2", + "core-js": "2.5.7", "editorconfig-parser": "0.0.2", - "fs-extra": "3.0.1", - "is-glob": "3.1.0", - "js-beautify": "1.6.14", - "json5": "0.5.1", - "lodash": "4.17.4", - "map-obj": "2.0.0", + "fs-extra": "7.0.0", + "is-glob": "4.0.0", + "js-beautify": "1.8.8", + "json5": "2.1.0", + "lodash": "4.17.11", + "map-obj": "3.0.0", "minimatch": "3.0.4", "promise-arrays": "0.1.0" } diff --git a/build/js-transpiled/shared/spawn.js b/build/js-transpiled/shared/spawn.js index 446db7df..1ae5a8bb 100644 --- a/build/js-transpiled/shared/spawn.js +++ b/build/js-transpiled/shared/spawn.js @@ -1,49 +1,47 @@ -'use strict'; +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _extends2 = require('babel-runtime/helpers/extends'); - -var _extends3 = _interopRequireDefault(_extends2); - -var _promise = require('babel-runtime/core-js/promise'); - -var _promise2 = _interopRequireDefault(_promise); +var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); -var _child_process = require('child_process'); +require("core-js/modules/es6.promise"); -var _child_process2 = _interopRequireDefault(_child_process); +var _child_process = _interopRequireDefault(require("child_process")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/* +Copyright 2016 Mozilla -exports.default = function (command, args) { +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. +*/ +var _default = function _default(command, args) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return new _promise2.default(function (resolve, reject) { + return new Promise(function (resolve, reject) { var stdio = process.platform === 'win32' ? 'ignore' : 'inherit'; - var child = _child_process2.default.spawn(command, args, (0, _extends3.default)({ stdio: stdio }, options)); + var child = _child_process.default.spawn(command, args, (0, _objectSpread2.default)({ + stdio: stdio + }, options)); child.on('error', function (err) { reject(err); }); - child.on('exit', function (code) { resolve(code); }); - return child; }); -}; /* - Copyright 2016 Mozilla - - 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. - */ -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNoYXJlZC9zcGF3bi5qcyJdLCJuYW1lcyI6WyJjb21tYW5kIiwiYXJncyIsIm9wdGlvbnMiLCJyZXNvbHZlIiwicmVqZWN0Iiwic3RkaW8iLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJjaGlsZCIsInNwYXduIiwib24iLCJlcnIiLCJjb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQVlBOzs7Ozs7a0JBRWUsVUFBQ0EsT0FBRCxFQUFVQyxJQUFWO0FBQUEsTUFBZ0JDLE9BQWhCLHVFQUEwQixFQUExQjtBQUFBLFNBQWlDLHNCQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUMvRSxRQUFNQyxRQUFRQyxRQUFRQyxRQUFSLEtBQXFCLE9BQXJCLEdBQ1YsUUFEVSxHQUVWLFNBRko7O0FBSUEsUUFBTUMsUUFBUSx3QkFBR0MsS0FBSCxDQUFTVCxPQUFULEVBQWtCQyxJQUFsQiwyQkFBMEJJLFlBQTFCLElBQW9DSCxPQUFwQyxFQUFkOztBQUVBTSxVQUFNRSxFQUFOLENBQVMsT0FBVCxFQUFrQixVQUFDQyxHQUFELEVBQVM7QUFDekJQLGFBQU9PLEdBQVA7QUFDRCxLQUZEOztBQUlBSCxVQUFNRSxFQUFOLENBQVMsTUFBVCxFQUFpQixVQUFDRSxJQUFELEVBQVU7QUFDekJULGNBQVFTLElBQVI7QUFDRCxLQUZEOztBQUlBLFdBQU9KLEtBQVA7QUFDRCxHQWhCK0MsQ0FBakM7QUFBQSxDLEVBZGYiLCJmaWxlIjoic2hhcmVkL3NwYXduLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDE2IE1vemlsbGFcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXG50aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZVxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWRcbnVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SXG5DT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZVxuc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCBjcCBmcm9tICdjaGlsZF9wcm9jZXNzJztcblxuZXhwb3J0IGRlZmF1bHQgKGNvbW1hbmQsIGFyZ3MsIG9wdGlvbnMgPSB7fSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICBjb25zdCBzdGRpbyA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMidcbiAgICA/ICdpZ25vcmUnXG4gICAgOiAnaW5oZXJpdCc7XG5cbiAgY29uc3QgY2hpbGQgPSBjcC5zcGF3bihjb21tYW5kLCBhcmdzLCB7IHN0ZGlvLCAuLi5vcHRpb25zIH0pO1xuXG4gIGNoaWxkLm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICByZWplY3QoZXJyKTtcbiAgfSk7XG5cbiAgY2hpbGQub24oJ2V4aXQnLCAoY29kZSkgPT4ge1xuICAgIHJlc29sdmUoY29kZSk7XG4gIH0pO1xuXG4gIHJldHVybiBjaGlsZDtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +}; + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNoYXJlZC9zcGF3bi5qcyJdLCJuYW1lcyI6WyJjb21tYW5kIiwiYXJncyIsIm9wdGlvbnMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInN0ZGlvIiwicHJvY2VzcyIsInBsYXRmb3JtIiwiY2hpbGQiLCJjcCIsInNwYXduIiwib24iLCJlcnIiLCJjb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBWUE7O0FBWkE7Ozs7Ozs7Ozs7O2VBY2Usa0JBQUNBLE9BQUQsRUFBVUMsSUFBVjtBQUFBLE1BQWdCQyxPQUFoQix1RUFBMEIsRUFBMUI7QUFBQSxTQUFpQyxJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQy9FLFFBQU1DLEtBQUssR0FBR0MsT0FBTyxDQUFDQyxRQUFSLEtBQXFCLE9BQXJCLEdBQ1YsUUFEVSxHQUVWLFNBRko7O0FBSUEsUUFBTUMsS0FBSyxHQUFHQyx1QkFBR0MsS0FBSCxDQUFTWCxPQUFULEVBQWtCQyxJQUFsQjtBQUEwQkssTUFBQUEsS0FBSyxFQUFMQTtBQUExQixPQUFvQ0osT0FBcEMsRUFBZDs7QUFFQU8sSUFBQUEsS0FBSyxDQUFDRyxFQUFOLENBQVMsT0FBVCxFQUFrQixVQUFDQyxHQUFELEVBQVM7QUFDekJSLE1BQUFBLE1BQU0sQ0FBQ1EsR0FBRCxDQUFOO0FBQ0QsS0FGRDtBQUlBSixJQUFBQSxLQUFLLENBQUNHLEVBQU4sQ0FBUyxNQUFULEVBQWlCLFVBQUNFLElBQUQsRUFBVTtBQUN6QlYsTUFBQUEsT0FBTyxDQUFDVSxJQUFELENBQVA7QUFDRCxLQUZEO0FBSUEsV0FBT0wsS0FBUDtBQUNELEdBaEIrQyxDQUFqQztBQUFBLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMTYgTW96aWxsYVxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2VcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXG5MaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZFxudW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1JcbkNPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG5zcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuXG5leHBvcnQgZGVmYXVsdCAoY29tbWFuZCwgYXJncywgb3B0aW9ucyA9IHt9KSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIGNvbnN0IHN0ZGlvID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuICAgID8gJ2lnbm9yZSdcbiAgICA6ICdpbmhlcml0JztcblxuICBjb25zdCBjaGlsZCA9IGNwLnNwYXduKGNvbW1hbmQsIGFyZ3MsIHsgc3RkaW8sIC4uLm9wdGlvbnMgfSk7XG5cbiAgY2hpbGQub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgIHJlamVjdChlcnIpO1xuICB9KTtcblxuICBjaGlsZC5vbignZXhpdCcsIChjb2RlKSA9PiB7XG4gICAgcmVzb2x2ZShjb2RlKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNoaWxkO1xufSk7XG4iXSwiZmlsZSI6InNoYXJlZC9zcGF3bi5qcyJ9 diff --git a/build/js-transpiled/utils/configSanitizers.js b/build/js-transpiled/utils/configSanitizers.js index f8f4ad33..2498d22e 100644 --- a/build/js-transpiled/utils/configSanitizers.js +++ b/build/js-transpiled/utils/configSanitizers.js @@ -1,100 +1,102 @@ -'use strict'; +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.translateEditorConfigToJsbeautifyConfig = exports.sanitizeJsbeautifyConfig = exports.sanitizeCharishValues = exports.sanitizeBooleanishValues = undefined; - -var _pick = require('lodash/pick'); - -var _pick2 = _interopRequireDefault(_pick); - -var _isObject = require('lodash/isObject'); - -var _isObject2 = _interopRequireDefault(_isObject); - -var _pickBy = require('lodash/pickBy'); - -var _pickBy2 = _interopRequireDefault(_pickBy); - -var _mapObj = require('map-obj'); +exports.translateEditorConfigToJsbeautifyConfig = exports.sanitizeJsbeautifyConfig = exports.sanitizeCharishValues = exports.sanitizeBooleanishValues = void 0; -var _mapObj2 = _interopRequireDefault(_mapObj); +var _pick = _interopRequireDefault(require("lodash/pick")); -var _isGlob = require('is-glob'); +var _isObject = _interopRequireDefault(require("lodash/isObject")); -var _isGlob2 = _interopRequireDefault(_isGlob); +var _pickBy = _interopRequireDefault(require("lodash/pickBy")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _mapObj = _interopRequireDefault(require("map-obj")); -var VALID_JSBEAUTIFY_CONFIG_KEYS = ['all', 'html', 'css', 'js', 'json', 'custom']; +var _isGlob = _interopRequireDefault(require("is-glob")); -// Utility function special casing "true" and "false" values as being -// actually booleans. This avoids common accidents in json files. /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +var VALID_JSBEAUTIFY_CONFIG_KEYS = ['all', 'html', 'css', 'js', 'json', 'custom']; // Utility function special casing "true" and "false" values as being +// actually booleans. This avoids common accidents in json files. -var sanitizeBooleanishValues = exports.sanitizeBooleanishValues = function sanitizeBooleanishValues(prefValue) { +var sanitizeBooleanishValues = function sanitizeBooleanishValues(prefValue) { switch (prefValue) { case 'true': return true; + case 'false': return false; + default: return prefValue; } -}; - -// Utility function special casing "tab" and "space" values as being +}; // Utility function special casing "tab" and "space" values as being // actually \t and \s. -var sanitizeCharishValues = exports.sanitizeCharishValues = function sanitizeCharishValues(prefValue) { + + +exports.sanitizeBooleanishValues = sanitizeBooleanishValues; + +var sanitizeCharishValues = function sanitizeCharishValues(prefValue) { switch (prefValue) { case 'tab': return '\t'; + case 'space': return ' '; + default: return prefValue; } -}; - -// Utility function massaging .jsbeautifyrc objects into a consistent and +}; // Utility function massaging .jsbeautifyrc objects into a consistent and // expected format, discarding unknown keys and sanitizing values. -var sanitizeJsbeautifyConfig = exports.sanitizeJsbeautifyConfig = function sanitizeJsbeautifyConfig(jsbeautifyConfig) { - return (0, _mapObj2.default)((0, _pick2.default)(jsbeautifyConfig, VALID_JSBEAUTIFY_CONFIG_KEYS), function (fileType, fileSettings) { + + +exports.sanitizeCharishValues = sanitizeCharishValues; + +var sanitizeJsbeautifyConfig = function sanitizeJsbeautifyConfig(jsbeautifyConfig) { + return (0, _mapObj.default)((0, _pick.default)(jsbeautifyConfig, VALID_JSBEAUTIFY_CONFIG_KEYS), function (fileType, fileSettings) { switch (fileType) { case 'all': case 'html': case 'css': case 'js': case 'json': - return [fileType, (0, _mapObj2.default)(fileSettings, function (prefName, prefValue) { + return [fileType, (0, _mapObj.default)(fileSettings, function (prefName, prefValue) { return [prefName, sanitizeBooleanishValues(prefValue)]; })]; + case 'custom': - return [fileType, (0, _mapObj2.default)(fileSettings, function (globString, globConfig) { - return [globString, (0, _mapObj2.default)(globConfig, function (prefName, prefValue) { + return [fileType, (0, _mapObj.default)(fileSettings, function (globString, globConfig) { + return [globString, (0, _mapObj.default)(globConfig, function (prefName, prefValue) { return [prefName, sanitizeBooleanishValues(prefValue)]; })]; })]; + default: - throw new Error('Unknown .jsbeautifyrc file type: ' + fileType); + throw new Error("Unknown .jsbeautifyrc file type: ".concat(fileType)); } }); }; -var translateEditorConfigToJsbeautifyConfig = exports.translateEditorConfigToJsbeautifyConfig = function translateEditorConfigToJsbeautifyConfig(editorConfig) { +exports.sanitizeJsbeautifyConfig = sanitizeJsbeautifyConfig; + +var translateEditorConfigToJsbeautifyConfig = function translateEditorConfigToJsbeautifyConfig(editorConfig) { return { - custom: (0, _mapObj2.default)((0, _pickBy2.default)(editorConfig, function (v, k) { - return (0, _isGlob2.default)(k) && (0, _isObject2.default)(v); + custom: (0, _mapObj.default)((0, _pickBy.default)(editorConfig, function (v, k) { + return (0, _isGlob.default)(k) && (0, _isObject.default)(v); }), function (globString, globConfig) { - return [globString, (0, _mapObj2.default)(globConfig, function (prefName, prefValue) { + return [globString, (0, _mapObj.default)(globConfig, function (prefName, prefValue) { switch (prefName) { case 'indent_style': return ['indent_char', sanitizeCharishValues(prefValue)]; + case 'insert_final_newline': return ['end_with_newline', prefValue]; + default: return [prefName, prefValue]; } @@ -102,4 +104,6 @@ var translateEditorConfigToJsbeautifyConfig = exports.translateEditorConfigToJsb }) }; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2NvbmZpZ1Nhbml0aXplcnMuanMiXSwibmFtZXMiOlsiVkFMSURfSlNCRUFVVElGWV9DT05GSUdfS0VZUyIsInNhbml0aXplQm9vbGVhbmlzaFZhbHVlcyIsInByZWZWYWx1ZSIsInNhbml0aXplQ2hhcmlzaFZhbHVlcyIsInNhbml0aXplSnNiZWF1dGlmeUNvbmZpZyIsImpzYmVhdXRpZnlDb25maWciLCJmaWxlVHlwZSIsImZpbGVTZXR0aW5ncyIsInByZWZOYW1lIiwiZ2xvYlN0cmluZyIsImdsb2JDb25maWciLCJFcnJvciIsInRyYW5zbGF0ZUVkaXRvckNvbmZpZ1RvSnNiZWF1dGlmeUNvbmZpZyIsImN1c3RvbSIsImVkaXRvckNvbmZpZyIsInYiLCJrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsK0JBQStCLENBQ25DLEtBRG1DLEVBRW5DLE1BRm1DLEVBR25DLEtBSG1DLEVBSW5DLElBSm1DLEVBS25DLE1BTG1DLEVBTW5DLFFBTm1DLENBQXJDOztBQVNBO0FBQ0E7QUFwQkE7Ozs7QUFxQk8sSUFBTUMsOERBQTJCLFNBQTNCQSx3QkFBMkIsQ0FBQ0MsU0FBRCxFQUFlO0FBQ3JELFVBQVFBLFNBQVI7QUFDRSxTQUFLLE1BQUw7QUFDRSxhQUFPLElBQVA7QUFDRixTQUFLLE9BQUw7QUFDRSxhQUFPLEtBQVA7QUFDRjtBQUNFLGFBQU9BLFNBQVA7QUFOSjtBQVFELENBVE07O0FBV1A7QUFDQTtBQUNPLElBQU1DLHdEQUF3QixTQUF4QkEscUJBQXdCLENBQUNELFNBQUQsRUFBZTtBQUNsRCxVQUFRQSxTQUFSO0FBQ0UsU0FBSyxLQUFMO0FBQ0UsYUFBTyxJQUFQO0FBQ0YsU0FBSyxPQUFMO0FBQ0UsYUFBTyxHQUFQO0FBQ0Y7QUFDRSxhQUFPQSxTQUFQO0FBTko7QUFRRCxDQVRNOztBQVdQO0FBQ0E7QUFDTyxJQUFNRSw4REFBMkIsU0FBM0JBLHdCQUEyQjtBQUFBLFNBQ3RDLHNCQUFPLG9CQUFLQyxnQkFBTCxFQUF1QkwsNEJBQXZCLENBQVAsRUFBNkQsVUFBQ00sUUFBRCxFQUFXQyxZQUFYLEVBQTRCO0FBQ3ZGLFlBQVFELFFBQVI7QUFDRSxXQUFLLEtBQUw7QUFDQSxXQUFLLE1BQUw7QUFDQSxXQUFLLEtBQUw7QUFDQSxXQUFLLElBQUw7QUFDQSxXQUFLLE1BQUw7QUFDRSxlQUFPLENBQUNBLFFBQUQsRUFBVyxzQkFBT0MsWUFBUCxFQUFxQixVQUFDQyxRQUFELEVBQVdOLFNBQVg7QUFBQSxpQkFDckMsQ0FBQ00sUUFBRCxFQUFXUCx5QkFBeUJDLFNBQXpCLENBQVgsQ0FEcUM7QUFBQSxTQUFyQixDQUFYLENBQVA7QUFHRixXQUFLLFFBQUw7QUFDRSxlQUFPLENBQUNJLFFBQUQsRUFBVyxzQkFBT0MsWUFBUCxFQUFxQixVQUFDRSxVQUFELEVBQWFDLFVBQWI7QUFBQSxpQkFDckMsQ0FBQ0QsVUFBRCxFQUFhLHNCQUFPQyxVQUFQLEVBQW1CLFVBQUNGLFFBQUQsRUFBV04sU0FBWDtBQUFBLG1CQUM5QixDQUFDTSxRQUFELEVBQVdQLHlCQUF5QkMsU0FBekIsQ0FBWCxDQUQ4QjtBQUFBLFdBQW5CLENBQWIsQ0FEcUM7QUFBQSxTQUFyQixDQUFYLENBQVA7QUFLRjtBQUNFLGNBQU0sSUFBSVMsS0FBSix1Q0FBOENMLFFBQTlDLENBQU47QUFoQko7QUFrQkQsR0FuQkQsQ0FEc0M7QUFBQSxDQUFqQzs7QUFzQkEsSUFBTU0sNEZBQTBDLFNBQTFDQSx1Q0FBMEM7QUFBQSxTQUFpQjtBQUN0RUMsWUFBUSxzQkFBTyxzQkFBT0MsWUFBUCxFQUFxQixVQUFDQyxDQUFELEVBQUlDLENBQUo7QUFBQSxhQUFVLHNCQUFPQSxDQUFQLEtBQWEsd0JBQVNELENBQVQsQ0FBdkI7QUFBQSxLQUFyQixDQUFQLEVBQWlFLFVBQUNOLFVBQUQsRUFBYUMsVUFBYjtBQUFBLGFBQ3ZFLENBQUNELFVBQUQsRUFBYSxzQkFBT0MsVUFBUCxFQUFtQixVQUFDRixRQUFELEVBQVdOLFNBQVgsRUFBeUI7QUFDdkQsZ0JBQVFNLFFBQVI7QUFDRSxlQUFLLGNBQUw7QUFDRSxtQkFBTyxDQUFDLGFBQUQsRUFBZ0JMLHNCQUFzQkQsU0FBdEIsQ0FBaEIsQ0FBUDtBQUNGLGVBQUssc0JBQUw7QUFDRSxtQkFBTyxDQUFDLGtCQUFELEVBQXFCQSxTQUFyQixDQUFQO0FBQ0Y7QUFDRSxtQkFBTyxDQUFDTSxRQUFELEVBQVdOLFNBQVgsQ0FBUDtBQU5KO0FBUUQsT0FUWSxDQUFiLENBRHVFO0FBQUEsS0FBakU7QUFEOEQsR0FBakI7QUFBQSxDQUFoRCIsImZpbGUiOiJ1dGlscy9jb25maWdTYW5pdGl6ZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0IHBpY2sgZnJvbSAnbG9kYXNoL3BpY2snO1xuaW1wb3J0IGlzT2JqZWN0IGZyb20gJ2xvZGFzaC9pc09iamVjdCc7XG5pbXBvcnQgcGlja0J5IGZyb20gJ2xvZGFzaC9waWNrQnknO1xuaW1wb3J0IG1hcE9iaiBmcm9tICdtYXAtb2JqJztcbmltcG9ydCBpc0dsb2IgZnJvbSAnaXMtZ2xvYic7XG5cbmNvbnN0IFZBTElEX0pTQkVBVVRJRllfQ09ORklHX0tFWVMgPSBbXG4gICdhbGwnLFxuICAnaHRtbCcsXG4gICdjc3MnLFxuICAnanMnLFxuICAnanNvbicsXG4gICdjdXN0b20nLFxuXTtcblxuLy8gVXRpbGl0eSBmdW5jdGlvbiBzcGVjaWFsIGNhc2luZyBcInRydWVcIiBhbmQgXCJmYWxzZVwiIHZhbHVlcyBhcyBiZWluZ1xuLy8gYWN0dWFsbHkgYm9vbGVhbnMuIFRoaXMgYXZvaWRzIGNvbW1vbiBhY2NpZGVudHMgaW4ganNvbiBmaWxlcy5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUJvb2xlYW5pc2hWYWx1ZXMgPSAocHJlZlZhbHVlKSA9PiB7XG4gIHN3aXRjaCAocHJlZlZhbHVlKSB7XG4gICAgY2FzZSAndHJ1ZSc6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlICdmYWxzZSc6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBwcmVmVmFsdWU7XG4gIH1cbn07XG5cbi8vIFV0aWxpdHkgZnVuY3Rpb24gc3BlY2lhbCBjYXNpbmcgXCJ0YWJcIiBhbmQgXCJzcGFjZVwiIHZhbHVlcyBhcyBiZWluZ1xuLy8gYWN0dWFsbHkgXFx0IGFuZCBcXHMuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVDaGFyaXNoVmFsdWVzID0gKHByZWZWYWx1ZSkgPT4ge1xuICBzd2l0Y2ggKHByZWZWYWx1ZSkge1xuICAgIGNhc2UgJ3RhYic6XG4gICAgICByZXR1cm4gJ1xcdCc7XG4gICAgY2FzZSAnc3BhY2UnOlxuICAgICAgcmV0dXJuICcgJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHByZWZWYWx1ZTtcbiAgfVxufTtcblxuLy8gVXRpbGl0eSBmdW5jdGlvbiBtYXNzYWdpbmcgLmpzYmVhdXRpZnlyYyBvYmplY3RzIGludG8gYSBjb25zaXN0ZW50IGFuZFxuLy8gZXhwZWN0ZWQgZm9ybWF0LCBkaXNjYXJkaW5nIHVua25vd24ga2V5cyBhbmQgc2FuaXRpemluZyB2YWx1ZXMuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVKc2JlYXV0aWZ5Q29uZmlnID0ganNiZWF1dGlmeUNvbmZpZyA9PlxuICBtYXBPYmoocGljayhqc2JlYXV0aWZ5Q29uZmlnLCBWQUxJRF9KU0JFQVVUSUZZX0NPTkZJR19LRVlTKSwgKGZpbGVUeXBlLCBmaWxlU2V0dGluZ3MpID0+IHtcbiAgICBzd2l0Y2ggKGZpbGVUeXBlKSB7XG4gICAgICBjYXNlICdhbGwnOlxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICBjYXNlICdjc3MnOlxuICAgICAgY2FzZSAnanMnOlxuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIHJldHVybiBbZmlsZVR5cGUsIG1hcE9iaihmaWxlU2V0dGluZ3MsIChwcmVmTmFtZSwgcHJlZlZhbHVlKSA9PlxuICAgICAgICAgIFtwcmVmTmFtZSwgc2FuaXRpemVCb29sZWFuaXNoVmFsdWVzKHByZWZWYWx1ZSldLFxuICAgICAgICApXTtcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgIHJldHVybiBbZmlsZVR5cGUsIG1hcE9iaihmaWxlU2V0dGluZ3MsIChnbG9iU3RyaW5nLCBnbG9iQ29uZmlnKSA9PlxuICAgICAgICAgIFtnbG9iU3RyaW5nLCBtYXBPYmooZ2xvYkNvbmZpZywgKHByZWZOYW1lLCBwcmVmVmFsdWUpID0+XG4gICAgICAgICAgICBbcHJlZk5hbWUsIHNhbml0aXplQm9vbGVhbmlzaFZhbHVlcyhwcmVmVmFsdWUpXSxcbiAgICAgICAgICApXSxcbiAgICAgICAgKV07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gLmpzYmVhdXRpZnlyYyBmaWxlIHR5cGU6ICR7ZmlsZVR5cGV9YCk7XG4gICAgfVxuICB9KTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUVkaXRvckNvbmZpZ1RvSnNiZWF1dGlmeUNvbmZpZyA9IGVkaXRvckNvbmZpZyA9PiAoe1xuICBjdXN0b206IG1hcE9iaihwaWNrQnkoZWRpdG9yQ29uZmlnLCAodiwgaykgPT4gaXNHbG9iKGspICYmIGlzT2JqZWN0KHYpKSwgKGdsb2JTdHJpbmcsIGdsb2JDb25maWcpID0+XG4gICAgW2dsb2JTdHJpbmcsIG1hcE9iaihnbG9iQ29uZmlnLCAocHJlZk5hbWUsIHByZWZWYWx1ZSkgPT4ge1xuICAgICAgc3dpdGNoIChwcmVmTmFtZSkge1xuICAgICAgICBjYXNlICdpbmRlbnRfc3R5bGUnOlxuICAgICAgICAgIHJldHVybiBbJ2luZGVudF9jaGFyJywgc2FuaXRpemVDaGFyaXNoVmFsdWVzKHByZWZWYWx1ZSldO1xuICAgICAgICBjYXNlICdpbnNlcnRfZmluYWxfbmV3bGluZSc6XG4gICAgICAgICAgcmV0dXJuIFsnZW5kX3dpdGhfbmV3bGluZScsIHByZWZWYWx1ZV07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIFtwcmVmTmFtZSwgcHJlZlZhbHVlXTtcbiAgICAgIH1cbiAgICB9KV0pLFxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= + +exports.translateEditorConfigToJsbeautifyConfig = translateEditorConfigToJsbeautifyConfig; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2NvbmZpZ1Nhbml0aXplcnMuanMiXSwibmFtZXMiOlsiVkFMSURfSlNCRUFVVElGWV9DT05GSUdfS0VZUyIsInNhbml0aXplQm9vbGVhbmlzaFZhbHVlcyIsInByZWZWYWx1ZSIsInNhbml0aXplQ2hhcmlzaFZhbHVlcyIsInNhbml0aXplSnNiZWF1dGlmeUNvbmZpZyIsImpzYmVhdXRpZnlDb25maWciLCJmaWxlVHlwZSIsImZpbGVTZXR0aW5ncyIsInByZWZOYW1lIiwiZ2xvYlN0cmluZyIsImdsb2JDb25maWciLCJFcnJvciIsInRyYW5zbGF0ZUVkaXRvckNvbmZpZ1RvSnNiZWF1dGlmeUNvbmZpZyIsImVkaXRvckNvbmZpZyIsImN1c3RvbSIsInYiLCJrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFSQTs7O0FBVUEsSUFBTUEsNEJBQTRCLEdBQUcsQ0FDbkMsS0FEbUMsRUFFbkMsTUFGbUMsRUFHbkMsS0FIbUMsRUFJbkMsSUFKbUMsRUFLbkMsTUFMbUMsRUFNbkMsUUFObUMsQ0FBckMsQyxDQVNBO0FBQ0E7O0FBQ08sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUEyQixDQUFDQyxTQUFELEVBQWU7QUFDckQsVUFBUUEsU0FBUjtBQUNFLFNBQUssTUFBTDtBQUNFLGFBQU8sSUFBUDs7QUFDRixTQUFLLE9BQUw7QUFDRSxhQUFPLEtBQVA7O0FBQ0Y7QUFDRSxhQUFPQSxTQUFQO0FBTko7QUFRRCxDQVRNLEMsQ0FXUDtBQUNBOzs7OztBQUNPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBd0IsQ0FBQ0QsU0FBRCxFQUFlO0FBQ2xELFVBQVFBLFNBQVI7QUFDRSxTQUFLLEtBQUw7QUFDRSxhQUFPLElBQVA7O0FBQ0YsU0FBSyxPQUFMO0FBQ0UsYUFBTyxHQUFQOztBQUNGO0FBQ0UsYUFBT0EsU0FBUDtBQU5KO0FBUUQsQ0FUTSxDLENBV1A7QUFDQTs7Ozs7QUFDTyxJQUFNRSx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQUFDLGdCQUFnQjtBQUFBLFNBQUkscUJBQU8sbUJBQUtBLGdCQUFMLEVBQXVCTCw0QkFBdkIsQ0FBUCxFQUE2RCxVQUFDTSxRQUFELEVBQVdDLFlBQVgsRUFBNEI7QUFDbkosWUFBUUQsUUFBUjtBQUNFLFdBQUssS0FBTDtBQUNBLFdBQUssTUFBTDtBQUNBLFdBQUssS0FBTDtBQUNBLFdBQUssSUFBTDtBQUNBLFdBQUssTUFBTDtBQUNFLGVBQU8sQ0FDTEEsUUFESyxFQUNLLHFCQUFPQyxZQUFQLEVBQXFCLFVBQUNDLFFBQUQsRUFBV04sU0FBWDtBQUFBLGlCQUF5QixDQUN0RE0sUUFEc0QsRUFDNUNQLHdCQUF3QixDQUFDQyxTQUFELENBRG9CLENBQXpCO0FBQUEsU0FBckIsQ0FETCxDQUFQOztBQUtGLFdBQUssUUFBTDtBQUNFLGVBQU8sQ0FDTEksUUFESyxFQUNLLHFCQUFPQyxZQUFQLEVBQXFCLFVBQUNFLFVBQUQsRUFBYUMsVUFBYjtBQUFBLGlCQUE0QixDQUN6REQsVUFEeUQsRUFDN0MscUJBQU9DLFVBQVAsRUFBbUIsVUFBQ0YsUUFBRCxFQUFXTixTQUFYO0FBQUEsbUJBQXlCLENBQ3RETSxRQURzRCxFQUM1Q1Asd0JBQXdCLENBQUNDLFNBQUQsQ0FEb0IsQ0FBekI7QUFBQSxXQUFuQixDQUQ2QyxDQUE1QjtBQUFBLFNBQXJCLENBREwsQ0FBUDs7QUFPRjtBQUNFLGNBQU0sSUFBSVMsS0FBSiw0Q0FBOENMLFFBQTlDLEVBQU47QUFwQko7QUFzQkQsR0F2QjJELENBQUo7QUFBQSxDQUFqRDs7OztBQXlCQSxJQUFNTSx1Q0FBdUMsR0FBRyxTQUExQ0EsdUNBQTBDLENBQUFDLFlBQVk7QUFBQSxTQUFLO0FBQ3RFQyxJQUFBQSxNQUFNLEVBQUUscUJBQU8scUJBQU9ELFlBQVAsRUFBcUIsVUFBQ0UsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsYUFBVSxxQkFBT0EsQ0FBUCxLQUFhLHVCQUFTRCxDQUFULENBQXZCO0FBQUEsS0FBckIsQ0FBUCxFQUFpRSxVQUFDTixVQUFELEVBQWFDLFVBQWI7QUFBQSxhQUE0QixDQUNuR0QsVUFEbUcsRUFDdkYscUJBQU9DLFVBQVAsRUFBbUIsVUFBQ0YsUUFBRCxFQUFXTixTQUFYLEVBQXlCO0FBQ3RELGdCQUFRTSxRQUFSO0FBQ0UsZUFBSyxjQUFMO0FBQ0UsbUJBQU8sQ0FDTCxhQURLLEVBQ1VMLHFCQUFxQixDQUFDRCxTQUFELENBRC9CLENBQVA7O0FBR0YsZUFBSyxzQkFBTDtBQUNFLG1CQUFPLENBQ0wsa0JBREssRUFDZUEsU0FEZixDQUFQOztBQUdGO0FBQ0UsbUJBQU8sQ0FDTE0sUUFESyxFQUNLTixTQURMLENBQVA7QUFWSjtBQWNELE9BZlcsQ0FEdUYsQ0FBNUI7QUFBQSxLQUFqRTtBQUQ4RCxHQUFMO0FBQUEsQ0FBNUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gKiBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLiAqL1xuXG5pbXBvcnQgcGljayBmcm9tICdsb2Rhc2gvcGljayc7XG5pbXBvcnQgaXNPYmplY3QgZnJvbSAnbG9kYXNoL2lzT2JqZWN0JztcbmltcG9ydCBwaWNrQnkgZnJvbSAnbG9kYXNoL3BpY2tCeSc7XG5pbXBvcnQgbWFwT2JqIGZyb20gJ21hcC1vYmonO1xuaW1wb3J0IGlzR2xvYiBmcm9tICdpcy1nbG9iJztcblxuY29uc3QgVkFMSURfSlNCRUFVVElGWV9DT05GSUdfS0VZUyA9IFtcbiAgJ2FsbCcsXG4gICdodG1sJyxcbiAgJ2NzcycsXG4gICdqcycsXG4gICdqc29uJyxcbiAgJ2N1c3RvbScsXG5dO1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIHNwZWNpYWwgY2FzaW5nIFwidHJ1ZVwiIGFuZCBcImZhbHNlXCIgdmFsdWVzIGFzIGJlaW5nXG4vLyBhY3R1YWxseSBib29sZWFucy4gVGhpcyBhdm9pZHMgY29tbW9uIGFjY2lkZW50cyBpbiBqc29uIGZpbGVzLlxuZXhwb3J0IGNvbnN0IHNhbml0aXplQm9vbGVhbmlzaFZhbHVlcyA9IChwcmVmVmFsdWUpID0+IHtcbiAgc3dpdGNoIChwcmVmVmFsdWUpIHtcbiAgICBjYXNlICd0cnVlJzpcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGNhc2UgJ2ZhbHNlJzpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHByZWZWYWx1ZTtcbiAgfVxufTtcblxuLy8gVXRpbGl0eSBmdW5jdGlvbiBzcGVjaWFsIGNhc2luZyBcInRhYlwiIGFuZCBcInNwYWNlXCIgdmFsdWVzIGFzIGJlaW5nXG4vLyBhY3R1YWxseSBcXHQgYW5kIFxccy5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUNoYXJpc2hWYWx1ZXMgPSAocHJlZlZhbHVlKSA9PiB7XG4gIHN3aXRjaCAocHJlZlZhbHVlKSB7XG4gICAgY2FzZSAndGFiJzpcbiAgICAgIHJldHVybiAnXFx0JztcbiAgICBjYXNlICdzcGFjZSc6XG4gICAgICByZXR1cm4gJyAnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gcHJlZlZhbHVlO1xuICB9XG59O1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIG1hc3NhZ2luZyAuanNiZWF1dGlmeXJjIG9iamVjdHMgaW50byBhIGNvbnNpc3RlbnQgYW5kXG4vLyBleHBlY3RlZCBmb3JtYXQsIGRpc2NhcmRpbmcgdW5rbm93biBrZXlzIGFuZCBzYW5pdGl6aW5nIHZhbHVlcy5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUpzYmVhdXRpZnlDb25maWcgPSBqc2JlYXV0aWZ5Q29uZmlnID0+IG1hcE9iaihwaWNrKGpzYmVhdXRpZnlDb25maWcsIFZBTElEX0pTQkVBVVRJRllfQ09ORklHX0tFWVMpLCAoZmlsZVR5cGUsIGZpbGVTZXR0aW5ncykgPT4ge1xuICBzd2l0Y2ggKGZpbGVUeXBlKSB7XG4gICAgY2FzZSAnYWxsJzpcbiAgICBjYXNlICdodG1sJzpcbiAgICBjYXNlICdjc3MnOlxuICAgIGNhc2UgJ2pzJzpcbiAgICBjYXNlICdqc29uJzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGZpbGVUeXBlLCBtYXBPYmooZmlsZVNldHRpbmdzLCAocHJlZk5hbWUsIHByZWZWYWx1ZSkgPT4gW1xuICAgICAgICAgIHByZWZOYW1lLCBzYW5pdGl6ZUJvb2xlYW5pc2hWYWx1ZXMocHJlZlZhbHVlKSxcbiAgICAgICAgXSksXG4gICAgICBdO1xuICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICByZXR1cm4gW1xuICAgICAgICBmaWxlVHlwZSwgbWFwT2JqKGZpbGVTZXR0aW5ncywgKGdsb2JTdHJpbmcsIGdsb2JDb25maWcpID0+IFtcbiAgICAgICAgICBnbG9iU3RyaW5nLCBtYXBPYmooZ2xvYkNvbmZpZywgKHByZWZOYW1lLCBwcmVmVmFsdWUpID0+IFtcbiAgICAgICAgICAgIHByZWZOYW1lLCBzYW5pdGl6ZUJvb2xlYW5pc2hWYWx1ZXMocHJlZlZhbHVlKSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgXSksXG4gICAgICBdO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gLmpzYmVhdXRpZnlyYyBmaWxlIHR5cGU6ICR7ZmlsZVR5cGV9YCk7XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRWRpdG9yQ29uZmlnVG9Kc2JlYXV0aWZ5Q29uZmlnID0gZWRpdG9yQ29uZmlnID0+ICh7XG4gIGN1c3RvbTogbWFwT2JqKHBpY2tCeShlZGl0b3JDb25maWcsICh2LCBrKSA9PiBpc0dsb2IoaykgJiYgaXNPYmplY3QodikpLCAoZ2xvYlN0cmluZywgZ2xvYkNvbmZpZykgPT4gW1xuICAgIGdsb2JTdHJpbmcsIG1hcE9iaihnbG9iQ29uZmlnLCAocHJlZk5hbWUsIHByZWZWYWx1ZSkgPT4ge1xuICAgICAgc3dpdGNoIChwcmVmTmFtZSkge1xuICAgICAgICBjYXNlICdpbmRlbnRfc3R5bGUnOlxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnaW5kZW50X2NoYXInLCBzYW5pdGl6ZUNoYXJpc2hWYWx1ZXMocHJlZlZhbHVlKSxcbiAgICAgICAgICBdO1xuICAgICAgICBjYXNlICdpbnNlcnRfZmluYWxfbmV3bGluZSc6XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdlbmRfd2l0aF9uZXdsaW5lJywgcHJlZlZhbHVlLFxuICAgICAgICAgIF07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHByZWZOYW1lLCBwcmVmVmFsdWUsXG4gICAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9KSxcbiAgXSksXG59KTtcbiJdLCJmaWxlIjoidXRpbHMvY29uZmlnU2FuaXRpemVycy5qcyJ9 diff --git a/build/js-transpiled/utils/configUtils.js b/build/js-transpiled/utils/configUtils.js index 29aafa2d..78cfdbbf 100644 --- a/build/js-transpiled/utils/configUtils.js +++ b/build/js-transpiled/utils/configUtils.js @@ -1,73 +1,56 @@ -'use strict'; +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.finalizeJsbeautifyConfig = exports.extendJsbeautifyConfigWithEditorOverrides = exports.extendJsbeautifyConfigWithCurrentFileMatchRules = exports.extendJsbeautifyConfigFromEditorConfigInFolders = exports.extendJsbeautifyConfigFromFolders = exports.extendJsbeautifyConfigFromEditorConfigFile = exports.extendJsbeautifyConfigFromFile = exports.extendJsbeautifyConfig = exports.parseDefaultJsbeautifyConfig = exports.parseJsbeautifyConfig = undefined; - -var _extends2 = require('babel-runtime/helpers/extends'); - -var _extends3 = _interopRequireDefault(_extends2); - -var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray'); - -var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); - -var _entries = require('babel-runtime/core-js/object/entries'); - -var _entries2 = _interopRequireDefault(_entries); - -var _getIterator2 = require('babel-runtime/core-js/get-iterator'); - -var _getIterator3 = _interopRequireDefault(_getIterator2); - -var _regenerator = require('babel-runtime/regenerator'); - -var _regenerator2 = _interopRequireDefault(_regenerator); +exports.finalizeJsbeautifyConfig = exports.extendJsbeautifyConfigWithEditorOverrides = exports.extendJsbeautifyConfigWithCurrentFileMatchRules = exports.extendJsbeautifyConfigFromEditorConfigInFolders = exports.extendJsbeautifyConfigFromFolders = exports.extendJsbeautifyConfigFromEditorConfigFile = exports.extendJsbeautifyConfigFromFile = exports.extendJsbeautifyConfig = exports.parseDefaultJsbeautifyConfig = exports.parseJsbeautifyConfig = void 0; -var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); +var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); -var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); -var _path = require('path'); +require("core-js/modules/es7.object.entries"); -var _path2 = _interopRequireDefault(_path); +var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); -var _fsExtra = require('fs-extra'); +require("regenerator-runtime/runtime"); -var _fsExtra2 = _interopRequireDefault(_fsExtra); +var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); -var _clone = require('lodash/clone'); +var _path = _interopRequireDefault(require("path")); -var _clone2 = _interopRequireDefault(_clone); +var _fsExtra = _interopRequireDefault(require("fs-extra")); -var _promiseArrays = require('promise-arrays'); +var _clone = _interopRequireDefault(require("lodash/clone")); -var _promiseArrays2 = _interopRequireDefault(_promiseArrays); +var _promiseArrays = _interopRequireDefault(require("promise-arrays")); -var _paths = require('./paths'); +var _paths = require("./paths"); -var _constants = require('./constants'); +var _constants = require("./constants"); -var _jsonUtils = require('./jsonUtils'); +var _jsonUtils = require("./jsonUtils"); -var _editorconfigUtils = require('./editorconfigUtils'); +var _editorconfigUtils = require("./editorconfigUtils"); -var _configSanitizers = require('./configSanitizers'); +var _configSanitizers = require("./configSanitizers"); -var _fileUtils = require('./fileUtils'); +var _fileUtils = require("./fileUtils"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// Parses a .jsbeautifyrc json file and returns a sanitized object -// with a consistent and expected format. /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -var parseJsbeautifyConfig = exports.parseJsbeautifyConfig = function () { - var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(filePath) { - return _regenerator2.default.wrap(function _callee$(_context) { +// Parses a .jsbeautifyrc json file and returns a sanitized object +// with a consistent and expected format. +var parseJsbeautifyConfig = +/*#__PURE__*/ +function () { + var _ref = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee(filePath) { + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: @@ -77,106 +60,84 @@ var parseJsbeautifyConfig = exports.parseJsbeautifyConfig = function () { case 3: _context.t1 = _context.sent; - return _context.abrupt('return', (0, _context.t0)(_context.t1)); + return _context.abrupt("return", (0, _context.t0)(_context.t1)); case 5: - case 'end': + case "end": return _context.stop(); } } - }, _callee, undefined); + }, _callee, this); })); return function parseJsbeautifyConfig(_x) { return _ref.apply(this, arguments); }; -}(); +}(); // Parses the default .jsbeautifyrc json file coming with this plugin. -// Parses the default .jsbeautifyrc json file coming with this plugin. -var parseDefaultJsbeautifyConfig = exports.parseDefaultJsbeautifyConfig = function parseDefaultJsbeautifyConfig() { - return parseJsbeautifyConfig(_path2.default.join(_paths.ROOT_DIR, '.jsbeautifyrc.defaults.json')); -}; -// Clones and extends a given .jsbeautifyrc object with the one located at a +exports.parseJsbeautifyConfig = parseJsbeautifyConfig; + +var parseDefaultJsbeautifyConfig = function parseDefaultJsbeautifyConfig() { + return parseJsbeautifyConfig(_path.default.join(_paths.ROOT_DIR, '.jsbeautifyrc.defaults.json')); +}; // Clones and extends a given .jsbeautifyrc object with the one located at a // file path. If none exists, a clone of the original is returned. -var extendJsbeautifyConfig = exports.extendJsbeautifyConfig = function extendJsbeautifyConfig(newJsbeautifyConfig, oldJsbeautifyConfig) { - var oldClonedJsbeautifyConfig = (0, _clone2.default)(oldJsbeautifyConfig); - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = (0, _getIterator3.default)((0, _entries2.default)(newJsbeautifyConfig || {})), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = (0, _slicedToArray3.default)(_step.value, 2), - fileType = _step$value[0], - newFileSettings = _step$value[1]; - - switch (fileType) { - case 'all': - case 'html': - case 'css': - case 'js': - case 'json': - oldClonedJsbeautifyConfig[fileType] = (0, _extends3.default)({}, oldClonedJsbeautifyConfig[fileType] || {}, newFileSettings || {}); - break; - case 'custom': - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = (0, _getIterator3.default)((0, _entries2.default)(newFileSettings || {})), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _step2$value = (0, _slicedToArray3.default)(_step2.value, 2), - globString = _step2$value[0], - newGlobConfig = _step2$value[1]; - - oldClonedJsbeautifyConfig.custom[globString] = (0, _extends3.default)({}, oldClonedJsbeautifyConfig.custom[globString] || {}, newGlobConfig || {}); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - break; - default: - throw new Error('Unknown .jsbeautifyrc file type: ' + fileType); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } + +exports.parseDefaultJsbeautifyConfig = parseDefaultJsbeautifyConfig; + +var extendJsbeautifyConfig = function extendJsbeautifyConfig(newJsbeautifyConfig, oldJsbeautifyConfig) { + var oldClonedJsbeautifyConfig = (0, _clone.default)(oldJsbeautifyConfig); + + var _arr = Object.entries(newJsbeautifyConfig || {}); + + for (var _i = 0; _i < _arr.length; _i++) { + var _arr$_i = (0, _slicedToArray2.default)(_arr[_i], 2), + fileType = _arr$_i[0], + newFileSettings = _arr$_i[1]; + + switch (fileType) { + case 'all': + case 'html': + case 'css': + case 'js': + case 'json': + oldClonedJsbeautifyConfig[fileType] = (0, _objectSpread2.default)({}, oldClonedJsbeautifyConfig[fileType] || {}, newFileSettings || {}); + break; + + case 'custom': + var _arr2 = Object.entries(newFileSettings || {}); + + for (var _i2 = 0; _i2 < _arr2.length; _i2++) { + var _arr2$_i = (0, _slicedToArray2.default)(_arr2[_i2], 2), + globString = _arr2$_i[0], + newGlobConfig = _arr2$_i[1]; + + oldClonedJsbeautifyConfig.custom[globString] = (0, _objectSpread2.default)({}, oldClonedJsbeautifyConfig.custom[globString] || {}, newGlobConfig || {}); + } + + break; + + default: + throw new Error("Unknown .jsbeautifyrc file type: ".concat(fileType)); } } return oldClonedJsbeautifyConfig; -}; - -// Clones and extends a given .jsbeautifyrc object with the one located at a +}; // Clones and extends a given .jsbeautifyrc object with the one located at a // file path. If none exists, a clone of the original is returned. -var extendJsbeautifyConfigFromFile = exports.extendJsbeautifyConfigFromFile = function () { - var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(filePath, oldJsbeautifyConfig) { + + +exports.extendJsbeautifyConfig = extendJsbeautifyConfig; + +var extendJsbeautifyConfigFromFile = +/*#__PURE__*/ +function () { + var _ref2 = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee2(filePath, oldJsbeautifyConfig) { var newJsbeautifyConfig; - return _regenerator2.default.wrap(function _callee2$(_context2) { + return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: @@ -185,27 +146,33 @@ var extendJsbeautifyConfigFromFile = exports.extendJsbeautifyConfigFromFile = fu case 2: newJsbeautifyConfig = _context2.sent; - return _context2.abrupt('return', extendJsbeautifyConfig(newJsbeautifyConfig, oldJsbeautifyConfig)); + return _context2.abrupt("return", extendJsbeautifyConfig(newJsbeautifyConfig, oldJsbeautifyConfig)); case 4: - case 'end': + case "end": return _context2.stop(); } } - }, _callee2, undefined); + }, _callee2, this); })); return function extendJsbeautifyConfigFromFile(_x2, _x3) { return _ref2.apply(this, arguments); }; -}(); - -// Clones and extends a given .jsbeautifyrc object with an .editorconfig file +}(); // Clones and extends a given .jsbeautifyrc object with an .editorconfig file // located at a file path. If none exists, a clone of the original is returned. -var extendJsbeautifyConfigFromEditorConfigFile = exports.extendJsbeautifyConfigFromEditorConfigFile = function () { - var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(filePath, oldJsbeautifyConfig) { + + +exports.extendJsbeautifyConfigFromFile = extendJsbeautifyConfigFromFile; + +var extendJsbeautifyConfigFromEditorConfigFile = +/*#__PURE__*/ +function () { + var _ref3 = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee3(filePath, oldJsbeautifyConfig) { var newEditorConfig, newJsbeautifyConfig; - return _regenerator2.default.wrap(function _callee3$(_context3) { + return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: @@ -215,35 +182,41 @@ var extendJsbeautifyConfigFromEditorConfigFile = exports.extendJsbeautifyConfigF case 2: newEditorConfig = _context3.sent; newJsbeautifyConfig = (0, _configSanitizers.sanitizeJsbeautifyConfig)((0, _configSanitizers.translateEditorConfigToJsbeautifyConfig)(newEditorConfig)); - return _context3.abrupt('return', extendJsbeautifyConfig(newJsbeautifyConfig, oldJsbeautifyConfig)); + return _context3.abrupt("return", extendJsbeautifyConfig(newJsbeautifyConfig, oldJsbeautifyConfig)); case 5: - case 'end': + case "end": return _context3.stop(); } } - }, _callee3, undefined); + }, _callee3, this); })); return function extendJsbeautifyConfigFromEditorConfigFile(_x4, _x5) { return _ref3.apply(this, arguments); }; -}(); - -// Clones and extends a given .jsbeautifyrc object with the first one found in +}(); // Clones and extends a given .jsbeautifyrc object with the first one found in // a list of folder paths. If none exists, a clone of the original is returned. -var extendJsbeautifyConfigFromFolders = exports.extendJsbeautifyConfigFromFolders = function () { - var _ref4 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee4(folderPaths, oldJsbeautifyConfig) { + + +exports.extendJsbeautifyConfigFromEditorConfigFile = extendJsbeautifyConfigFromEditorConfigFile; + +var extendJsbeautifyConfigFromFolders = +/*#__PURE__*/ +function () { + var _ref4 = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee4(folderPaths, oldJsbeautifyConfig) { var filesToCheck, newJsbeautifyConfigPath; - return _regenerator2.default.wrap(function _callee4$(_context4) { + return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: filesToCheck = folderPaths.map(function (f) { - return _path2.default.join(f, '.jsbeautifyrc'); + return _path.default.join(f, '.jsbeautifyrc'); }); _context4.next = 3; - return _promiseArrays2.default.filter(filesToCheck, _fsExtra2.default.pathExists); + return _promiseArrays.default.filter(filesToCheck, _fsExtra.default.pathExists); case 3: newJsbeautifyConfigPath = _context4.sent[0]; @@ -253,39 +226,45 @@ var extendJsbeautifyConfigFromFolders = exports.extendJsbeautifyConfigFromFolder break; } - return _context4.abrupt('return', extendJsbeautifyConfigFromFile(newJsbeautifyConfigPath, oldJsbeautifyConfig)); + return _context4.abrupt("return", extendJsbeautifyConfigFromFile(newJsbeautifyConfigPath, oldJsbeautifyConfig)); case 6: - return _context4.abrupt('return', (0, _clone2.default)(oldJsbeautifyConfig)); + return _context4.abrupt("return", (0, _clone.default)(oldJsbeautifyConfig)); case 7: - case 'end': + case "end": return _context4.stop(); } } - }, _callee4, undefined); + }, _callee4, this); })); return function extendJsbeautifyConfigFromFolders(_x6, _x7) { return _ref4.apply(this, arguments); }; -}(); - -// Clones and extends a given .jsbeautifyrc object with the first .editorconfig +}(); // Clones and extends a given .jsbeautifyrc object with the first .editorconfig // file found in a list of folder paths. If none exists, a clone of the original // is returned. -var extendJsbeautifyConfigFromEditorConfigInFolders = exports.extendJsbeautifyConfigFromEditorConfigInFolders = function () { - var _ref5 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee5(folderPaths, oldJsbeautifyConfig) { + + +exports.extendJsbeautifyConfigFromFolders = extendJsbeautifyConfigFromFolders; + +var extendJsbeautifyConfigFromEditorConfigInFolders = +/*#__PURE__*/ +function () { + var _ref5 = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee5(folderPaths, oldJsbeautifyConfig) { var filesToCheck, newEditorConfigPath; - return _regenerator2.default.wrap(function _callee5$(_context5) { + return _regenerator.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: filesToCheck = folderPaths.map(function (f) { - return _path2.default.join(f, '.editorconfig'); + return _path.default.join(f, '.editorconfig'); }); _context5.next = 3; - return _promiseArrays2.default.filter(filesToCheck, _fsExtra2.default.pathExists); + return _promiseArrays.default.filter(filesToCheck, _fsExtra.default.pathExists); case 3: newEditorConfigPath = _context5.sent[0]; @@ -295,92 +274,62 @@ var extendJsbeautifyConfigFromEditorConfigInFolders = exports.extendJsbeautifyCo break; } - return _context5.abrupt('return', extendJsbeautifyConfigFromEditorConfigFile(newEditorConfigPath, oldJsbeautifyConfig)); + return _context5.abrupt("return", extendJsbeautifyConfigFromEditorConfigFile(newEditorConfigPath, oldJsbeautifyConfig)); case 6: - return _context5.abrupt('return', (0, _clone2.default)(oldJsbeautifyConfig)); + return _context5.abrupt("return", (0, _clone.default)(oldJsbeautifyConfig)); case 7: - case 'end': + case "end": return _context5.stop(); } } - }, _callee5, undefined); + }, _callee5, this); })); return function extendJsbeautifyConfigFromEditorConfigInFolders(_x8, _x9) { return _ref5.apply(this, arguments); }; -}(); - -// Clones and extends a given .jsbeautifyrc with some additonal custom options +}(); // Clones and extends a given .jsbeautifyrc with some additional custom options // defined in the "custom" field, which contains globs defining additional // prettification rules for certain files paths. -var extendJsbeautifyConfigWithCurrentFileMatchRules = exports.extendJsbeautifyConfigWithCurrentFileMatchRules = function extendJsbeautifyConfigWithCurrentFileMatchRules(jsbeautifyConfig) { - var clonedJsbeautifyConfig = (0, _clone2.default)(jsbeautifyConfig); + + +exports.extendJsbeautifyConfigFromEditorConfigInFolders = extendJsbeautifyConfigFromEditorConfigInFolders; + +var extendJsbeautifyConfigWithCurrentFileMatchRules = function extendJsbeautifyConfigWithCurrentFileMatchRules(jsbeautifyConfig) { + var clonedJsbeautifyConfig = (0, _clone.default)(jsbeautifyConfig); clonedJsbeautifyConfig.currentFileMatchRules = {}; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = (0, _getIterator3.default)((0, _entries2.default)(clonedJsbeautifyConfig.custom || {})), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _step3$value = (0, _slicedToArray3.default)(_step3.value, 2), - globString = _step3$value[0], - globFileConfig = _step3$value[1]; - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = (0, _getIterator3.default)((0, _entries2.default)(globFileConfig || {})), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var _step4$value = (0, _slicedToArray3.default)(_step4.value, 2), - prefName = _step4$value[0], - globPrefValue = _step4$value[1]; - - if ((0, _fileUtils.isMatchingGlob)(globString)) { - clonedJsbeautifyConfig.currentFileMatchRules[prefName] = globPrefValue; - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; + var _arr3 = Object.entries(clonedJsbeautifyConfig.custom || {}); + + for (var _i3 = 0; _i3 < _arr3.length; _i3++) { + var _arr3$_i = (0, _slicedToArray2.default)(_arr3[_i3], 2), + globString = _arr3$_i[0], + globFileConfig = _arr3$_i[1]; + + var _arr4 = Object.entries(globFileConfig || {}); + + for (var _i4 = 0; _i4 < _arr4.length; _i4++) { + var _arr4$_i = (0, _slicedToArray2.default)(_arr4[_i4], 2), + prefName = _arr4$_i[0], + globPrefValue = _arr4$_i[1]; + + if ((0, _fileUtils.isMatchingGlob)(globString)) { + clonedJsbeautifyConfig.currentFileMatchRules[prefName] = globPrefValue; } } } return clonedJsbeautifyConfig; -}; - -// Clones and extends a given .jsbeautifyrc with some additonal custom options +}; // Clones and extends a given .jsbeautifyrc with some additional custom options // retrieved from the editor settings. -var extendJsbeautifyConfigWithEditorOverrides = exports.extendJsbeautifyConfigWithEditorOverrides = function extendJsbeautifyConfigWithEditorOverrides(jsbeautifyConfig) { - var clonedJsbeautifyConfig = (0, _clone2.default)(jsbeautifyConfig); + + +exports.extendJsbeautifyConfigWithCurrentFileMatchRules = extendJsbeautifyConfigWithCurrentFileMatchRules; + +var extendJsbeautifyConfigWithEditorOverrides = function extendJsbeautifyConfigWithEditorOverrides(jsbeautifyConfig) { + var clonedJsbeautifyConfig = (0, _clone.default)(jsbeautifyConfig); clonedJsbeautifyConfig.editorOverrides = {}; if (_constants.EDITOR_INDENT_SIZE !== '?') { @@ -398,24 +347,24 @@ var extendJsbeautifyConfigWithEditorOverrides = exports.extendJsbeautifyConfigWi } return clonedJsbeautifyConfig; -}; - -// Clones and extends a given .jsbeautifyrc with some additonal meta-options +}; // Clones and extends a given .jsbeautifyrc with some additional meta-options // following some specific rules respecting global editor settings. -var finalizeJsbeautifyConfig = exports.finalizeJsbeautifyConfig = function finalizeJsbeautifyConfig(jsbeautifyConfig) { - var extendedJsbeautifyConfig = extendJsbeautifyConfigWithCurrentFileMatchRules(extendJsbeautifyConfigWithEditorOverrides(jsbeautifyConfig)); + +exports.extendJsbeautifyConfigWithEditorOverrides = extendJsbeautifyConfigWithEditorOverrides; + +var finalizeJsbeautifyConfig = function finalizeJsbeautifyConfig(jsbeautifyConfig) { + var extendedJsbeautifyConfig = extendJsbeautifyConfigWithCurrentFileMatchRules(extendJsbeautifyConfigWithEditorOverrides(jsbeautifyConfig)); return { - html: (0, _extends3.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.html || {}, { + html: (0, _objectSpread2.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.html || {}, { css: extendedJsbeautifyConfig.css, js: extendedJsbeautifyConfig.js }, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}), - - css: (0, _extends3.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.css || {}, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}), - - js: (0, _extends3.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.js || {}, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}), - - json: (0, _extends3.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.json || {}, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}) + css: (0, _objectSpread2.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.css || {}, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}), + js: (0, _objectSpread2.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.js || {}, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}), + json: (0, _objectSpread2.default)({}, extendedJsbeautifyConfig.all || {}, extendedJsbeautifyConfig.json || {}, extendedJsbeautifyConfig.currentFileMatchRules || {}, extendedJsbeautifyConfig.editorOverrides || {}) }; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2NvbmZpZ1V0aWxzLmpzIl0sIm5hbWVzIjpbInBhcnNlSnNiZWF1dGlmeUNvbmZpZyIsImZpbGVQYXRoIiwicGFyc2VEZWZhdWx0SnNiZWF1dGlmeUNvbmZpZyIsImpvaW4iLCJleHRlbmRKc2JlYXV0aWZ5Q29uZmlnIiwibmV3SnNiZWF1dGlmeUNvbmZpZyIsIm9sZEpzYmVhdXRpZnlDb25maWciLCJvbGRDbG9uZWRKc2JlYXV0aWZ5Q29uZmlnIiwiZmlsZVR5cGUiLCJuZXdGaWxlU2V0dGluZ3MiLCJnbG9iU3RyaW5nIiwibmV3R2xvYkNvbmZpZyIsImN1c3RvbSIsIkVycm9yIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21GaWxlIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21FZGl0b3JDb25maWdGaWxlIiwibmV3RWRpdG9yQ29uZmlnIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21Gb2xkZXJzIiwiZm9sZGVyUGF0aHMiLCJmaWxlc1RvQ2hlY2siLCJtYXAiLCJmIiwiZmlsdGVyIiwicGF0aEV4aXN0cyIsIm5ld0pzYmVhdXRpZnlDb25maWdQYXRoIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21FZGl0b3JDb25maWdJbkZvbGRlcnMiLCJuZXdFZGl0b3JDb25maWdQYXRoIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhDdXJyZW50RmlsZU1hdGNoUnVsZXMiLCJqc2JlYXV0aWZ5Q29uZmlnIiwiY2xvbmVkSnNiZWF1dGlmeUNvbmZpZyIsImN1cnJlbnRGaWxlTWF0Y2hSdWxlcyIsImdsb2JGaWxlQ29uZmlnIiwicHJlZk5hbWUiLCJnbG9iUHJlZlZhbHVlIiwiZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhFZGl0b3JPdmVycmlkZXMiLCJlZGl0b3JPdmVycmlkZXMiLCJpbmRlbnRfc2l6ZSIsImluZGVudF93aXRoX3RhYnMiLCJpbmRlbnRfY2hhciIsImZpbmFsaXplSnNiZWF1dGlmeUNvbmZpZyIsImV4dGVuZGVk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QUFnQyxFQURyQyxFQUVLRix5QkFBeUJJLEVBQXpCLElBQStCLEVBRnBDLEVBR0tKLHlCQUF5QlYscUJBQXpCLElBQWtELEVBSHZELEVBSUtVLHlCQUF5QkwsZUFBekIsSUFBNEMsRUFKakQsQ0FqQks7O0FBd0JMVSxxQ0FDS0wseUJBQXlCRSxHQUF6QixJQUFnQyxFQURyQyxFQUVLRix5QkFBeUJLLElBQXpCLElBQWlDLEVBRnRDLEVBR0tMLHlCQUF5QlYscUJBQXpCLElBQWtELEVBSHZELEVBSUtVLHlCQUF5QkwsZUFBekIsSUFBNEMsRUFKakQ7QUF4QkssR0FBUDtBQStCRCxDQXZDTSIsImZpbGUiOiJ1dGlscy9jb25maWdVdGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAqIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uICovXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuaW1wb3J0IHByb21pc2VBcnJheXMgZnJvbSAncHJvbWlzZS1hcnJheXMnO1xuXG5pbXBvcnQgeyBST09UX0RJUiB9IGZyb20gJy4vcGF0aHMnO1xuaW1wb3J0IHsgRURJVE9SX0lOREVOVF9TSVpFLCBFRElUT1JfSU5ERU5UX1dJVEhfVEFCUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHBhcnNlSlNPTjVGaWxlIH0gZnJvbSAnLi9qc29uVXRpbHMnO1xuaW1wb3J0IHsgcGFyc2VFZGl0b3JDb25maWdGaWxlIH0gZnJvbSAnLi9lZGl0b3Jjb25maWdVdGlscyc7XG5pbXBvcnQgeyBzYW5pdGl6ZUpzYmVhdXRpZnlDb25maWcsIHRyYW5zbGF0ZUVkaXRvckNvbmZpZ1RvSnNiZWF1dGlmeUNvbmZpZyB9IGZyb20gJy4vY29uZmlnU2FuaXRpemVycyc7XG5pbXBvcnQgeyBpc01hdGNoaW5nR2xvYiB9IGZyb20gJy4vZmlsZVV0aWxzJztcblxuLy8gUGFyc2VzIGEgLmpzYmVhdXRpZnlyYyBqc29uIGZpbGUgYW5kIHJldHVybnMgYSBzYW5pdGl6ZWQgb2JqZWN0XG4vLyB3aXRoIGEgY29uc2lzdGVudCBhbmQgZXhwZWN0ZWQgZm9ybWF0LlxuZXhwb3J0IGNvbnN0IHBhcnNlSnNiZWF1dGlmeUNvbmZpZyA9IGFzeW5jIGZpbGVQYXRoID0+XG4gIHNhbml0aXplSnNiZWF1dGlmeUNvbmZpZyhhd2FpdCBwYXJzZUpTT041RmlsZShmaWxlUGF0aCkpO1xuXG4vLyBQYXJzZXMgdGhlIGRlZmF1bHQgLmpzYmVhdXRpZnlyYyBqc29uIGZpbGUgY29taW5nIHdpdGggdGhpcyBwbHVnaW4uXG5leHBvcnQgY29uc3QgcGFyc2VEZWZhdWx0SnNiZWF1dGlmeUNvbmZpZyA9ICgpID0+XG4gIHBhcnNlSnNiZWF1dGlmeUNvbmZpZyhwYXRoLmpvaW4oUk9PVF9ESVIsICcuanNiZWF1dGlmeXJjLmRlZmF1bHRzLmpzb24nKSk7XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgb2JqZWN0IHdpdGggdGhlIG9uZSBsb2NhdGVkIGF0IGFcbi8vIGZpbGUgcGF0aC4gSWYgbm9uZSBleGlzdHMsIGEgY2xvbmUgb2YgdGhlIG9yaWdpbmFsIGlzIHJldHVybmVkLlxuZXhwb3J0IGNvbnN0IGV4dGVuZEpzYmVhdXRpZnlDb25maWcgPSAobmV3SnNiZWF1dGlmeUNvbmZpZywgb2xkSnNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBvbGRDbG9uZWRKc2JlYXV0aWZ5Q29uZmlnID0gY2xvbmUob2xkSnNiZWF1dGlmeUNvbmZpZyk7XG5cbiAgZm9yIChjb25zdCBbZmlsZVR5cGUsIG5ld0ZpbGVTZXR0aW5nc10gb2YgT2JqZWN0LmVudHJpZXMobmV3SnNiZWF1dGlmeUNvbmZpZyB8fCB7fSkpIHtcbiAgICBzd2l0Y2ggKGZpbGVUeXBlKSB7XG4gICAgICBjYXNlICdhbGwnOlxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICBjYXNlICdjc3MnOlxuICAgICAgY2FzZSAnanMnOlxuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIG9sZENsb25lZEpzYmVhdXRpZnlDb25maWdbZmlsZVR5cGVdID0ge1xuICAgICAgICAgIC4uLm9sZENsb25lZEpzYmVhdXRpZnlDb25maWdbZmlsZVR5cGVdIHx8IHt9LFxuICAgICAgICAgIC4uLm5ld0ZpbGVTZXR0aW5ncyB8fCB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICBmb3IgKGNvbnN0IFtnbG9iU3RyaW5nLCBuZXdHbG9iQ29uZmlnXSBvZiBPYmplY3QuZW50cmllcyhuZXdGaWxlU2V0dGluZ3MgfHwge30pKSB7XG4gICAgICAgICAgb2xkQ2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5jdXN0b21bZ2xvYlN0cmluZ10gPSB7XG4gICAgICAgICAgICAuLi5vbGRDbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmN1c3RvbVtnbG9iU3RyaW5nXSB8fCB7fSxcbiAgICAgICAgICAgIC4uLm5ld0dsb2JDb25maWcgfHwge30sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biAuanNiZWF1dGlmeXJjIGZpbGUgdHlwZTogJHtmaWxlVHlwZX1gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2xkQ2xvbmVkSnNiZWF1dGlmeUNvbmZpZztcbn07XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgb2JqZWN0IHdpdGggdGhlIG9uZSBsb2NhdGVkIGF0IGFcbi8vIGZpbGUgcGF0aC4gSWYgbm9uZSBleGlzdHMsIGEgY2xvbmUgb2YgdGhlIG9yaWdpbmFsIGlzIHJldHVybmVkLlxuZXhwb3J0IGNvbnN0IGV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRmlsZSA9IGFzeW5jIChmaWxlUGF0aCwgb2xkSnNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBuZXdKc2JlYXV0aWZ5Q29uZmlnID0gYXdhaXQgcGFyc2VKc2JlYXV0aWZ5Q29uZmlnKGZpbGVQYXRoKTtcbiAgcmV0dXJuIGV4dGVuZEpzYmVhdXRpZnlDb25maWcobmV3SnNiZWF1dGlmeUNvbmZpZywgb2xkSnNiZWF1dGlmeUNvbmZpZyk7XG59O1xuXG4vLyBDbG9uZXMgYW5kIGV4dGVuZHMgYSBnaXZlbiAuanNiZWF1dGlmeXJjIG9iamVjdCB3aXRoIGFuIC5lZGl0b3Jjb25maWcgZmlsZVxuLy8gbG9jYXRlZCBhdCBhIGZpbGUgcGF0aC4gSWYgbm9uZSBleGlzdHMsIGEgY2xvbmUgb2YgdGhlIG9yaWdpbmFsIGlzIHJldHVybmVkLlxuZXhwb3J0IGNvbnN0IGV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnRmlsZSA9IGFzeW5jIChmaWxlUGF0aCwgb2xkSnNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBuZXdFZGl0b3JDb25maWcgPSBhd2FpdCBwYXJzZUVkaXRvckNvbmZpZ0ZpbGUoZmlsZVBhdGgpO1xuICBjb25zdCBuZXdKc2JlYXV0aWZ5Q29uZmlnID0gc2FuaXRpemVKc2JlYXV0aWZ5Q29uZmlnKHRyYW5zbGF0ZUVkaXRvckNvbmZpZ1RvSnNiZWF1dGlmeUNvbmZpZyhuZXdFZGl0b3JDb25maWcpKTtcbiAgcmV0dXJuIGV4dGVuZEpzYmVhdXRpZnlDb25maWcobmV3SnNiZWF1dGlmeUNvbmZpZywgb2xkSnNiZWF1dGlmeUNvbmZpZyk7XG59O1xuXG4vLyBDbG9uZXMgYW5kIGV4dGVuZHMgYSBnaXZlbiAuanNiZWF1dGlmeXJjIG9iamVjdCB3aXRoIHRoZSBmaXJzdCBvbmUgZm91bmQgaW5cbi8vIGEgbGlzdCBvZiBmb2xkZXIgcGF0aHMuIElmIG5vbmUgZXhpc3RzLCBhIGNsb25lIG9mIHRoZSBvcmlnaW5hbCBpcyByZXR1cm5lZC5cbmV4cG9ydCBjb25zdCBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnRnJvbUZvbGRlcnMgPSBhc3luYyAoZm9sZGVyUGF0aHMsIG9sZEpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3QgZmlsZXNUb0NoZWNrID0gZm9sZGVyUGF0aHMubWFwKGYgPT4gcGF0aC5qb2luKGYsICcuanNiZWF1dGlmeXJjJykpO1xuICBjb25zdCBuZXdKc2JlYXV0aWZ5Q29uZmlnUGF0aCA9IChhd2FpdCBwcm9taXNlQXJyYXlzLmZpbHRlcihmaWxlc1RvQ2hlY2ssIGZzLnBhdGhFeGlzdHMpKVswXTtcblxuICBpZiAobmV3SnNiZWF1dGlmeUNvbmZpZ1BhdGgpIHtcbiAgICByZXR1cm4gZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21GaWxlKG5ld0pzYmVhdXRpZnlDb25maWdQYXRoLCBvbGRKc2JlYXV0aWZ5Q29uZmlnKTtcbiAgfVxuXG4gIHJldHVybiBjbG9uZShvbGRKc2JlYXV0aWZ5Q29uZmlnKTtcbn07XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgb2JqZWN0IHdpdGggdGhlIGZpcnN0IC5lZGl0b3Jjb25maWdcbi8vIGZpbGUgZm91bmQgaW4gYSBsaXN0IG9mIGZvbGRlciBwYXRocy4gSWYgbm9uZSBleGlzdHMsIGEgY2xvbmUgb2YgdGhlIG9yaWdpbmFsXG4vLyBpcyByZXR1cm5lZC5cbmV4cG9ydCBjb25zdCBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnRnJvbUVkaXRvckNvbmZpZ0luRm9sZGVycyA9IGFzeW5jIChmb2xkZXJQYXRocywgb2xkSnNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBmaWxlc1RvQ2hlY2sgPSBmb2xkZXJQYXRocy5tYXAoZiA9PiBwYXRoLmpvaW4oZiwgJy5lZGl0b3Jjb25maWcnKSk7XG4gIGNvbnN0IG5ld0VkaXRvckNvbmZpZ1BhdGggPSAoYXdhaXQgcHJvbWlzZUFycmF5cy5maWx0ZXIoZmlsZXNUb0NoZWNrLCBmcy5wYXRoRXhpc3RzKSlbMF07XG5cbiAgaWYgKG5ld0VkaXRvckNvbmZpZ1BhdGgpIHtcbiAgICByZXR1cm4gZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21FZGl0b3JDb25maWdGaWxlKG5ld0VkaXRvckNvbmZpZ1BhdGgsIG9sZEpzYmVhdXRpZnlDb25maWcpO1xuICB9XG5cbiAgcmV0dXJuIGNsb25lKG9sZEpzYmVhdXRpZnlDb25maWcpO1xufTtcblxuLy8gQ2xvbmVzIGFuZCBleHRlbmRzIGEgZ2l2ZW4gLmpzYmVhdXRpZnlyYyB3aXRoIHNvbWUgYWRkaXRvbmFsIGN1c3RvbSBvcHRpb25zXG4vLyBkZWZpbmVkIGluIHRoZSBcImN1c3RvbVwiIGZpZWxkLCB3aGljaCBjb250YWlucyBnbG9icyBkZWZpbmluZyBhZGRpdGlvbmFsXG4vLyBwcmV0dGlmaWNhdGlvbiBydWxlcyBmb3IgY2VydGFpbiBmaWxlcyBwYXRocy5cbmV4cG9ydCBjb25zdCBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnV2l0aEN1cnJlbnRGaWxlTWF0Y2hSdWxlcyA9IChqc2JlYXV0aWZ5Q29uZmlnKSA9PiB7XG4gIGNvbnN0IGNsb25lZEpzYmVhdXRpZnlDb25maWcgPSBjbG9uZShqc2JlYXV0aWZ5Q29uZmlnKTtcbiAgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5jdXJyZW50RmlsZU1hdGNoUnVsZXMgPSB7fTtcblxuICBmb3IgKGNvbnN0IFtnbG9iU3RyaW5nLCBnbG9iRmlsZUNvbmZpZ10gb2YgT2JqZWN0LmVudHJpZXMoY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5jdXN0b20gfHwge30pKSB7XG4gICAgZm9yIChjb25zdCBbcHJlZk5hbWUsIGdsb2JQcmVmVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdsb2JGaWxlQ29uZmlnIHx8IHt9KSkge1xuICAgICAgaWYgKGlzTWF0Y2hpbmdHbG9iKGdsb2JTdHJpbmcpKSB7XG4gICAgICAgIGNsb25lZEpzYmVhdXRpZnlDb25maWcuY3VycmVudEZpbGVNYXRjaFJ1bGVzW3ByZWZOYW1lXSA9IGdsb2JQcmVmVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNsb25lZEpzYmVhdXRpZnlDb25maWc7XG59O1xuXG4vLyBDbG9uZXMgYW5kIGV4dGVuZHMgYSBnaXZlbiAuanNiZWF1dGlmeXJjIHdpdGggc29tZSBhZGRpdG9uYWwgY3VzdG9tIG9wdGlvbnNcbi8vIHJldHJpZXZlZCBmcm9tIHRoZSBlZGl0b3Igc2V0dGluZ3MuXG5leHBvcnQgY29uc3QgZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhFZGl0b3JPdmVycmlkZXMgPSAoanNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnID0gY2xvbmUoanNiZWF1dGlmeUNvbmZpZyk7XG4gIGNsb25lZEpzYmVhdXRpZnlDb25maWcuZWRpdG9yT3ZlcnJpZGVzID0ge307XG5cbiAgaWYgKEVESVRPUl9JTkRFTlRfU0laRSAhPT0gJz8nKSB7XG4gICAgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMuaW5kZW50X3NpemUgPSArRURJVE9SX0lOREVOVF9TSVpFO1xuICB9XG5cbiAgaWYgKEVESVRPUl9JTkRFTlRfV0lUSF9UQUJTICE9PSAnPycpIHtcbiAgICBpZiAoRURJVE9SX0lOREVOVF9XSVRIX1RBQlMgPT09ICdUcnVlJykge1xuICAgICAgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMuaW5kZW50X3dpdGhfdGFicyA9IHRydWU7XG4gICAgICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcy5pbmRlbnRfY2hhciA9ICdcXHQnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcy5pbmRlbnRfd2l0aF90YWJzID0gZmFsc2U7XG4gICAgICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcy5pbmRlbnRfY2hhciA9ICcgJztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xvbmVkSnNiZWF1dGlmeUNvbmZpZztcbn07XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgd2l0aCBzb21lIGFkZGl0b25hbCBtZXRhLW9wdGlvbnNcbi8vIGZvbGxvd2luZyBzb21lIHNwZWNpZmljIHJ1bGVzIHJlc3BlY3RpbmcgZ2xvYmFsIGVkaXRvciBzZXR0aW5ncy5cbmV4cG9ydCBjb25zdCBmaW5hbGl6ZUpzYmVhdXRpZnlDb25maWcgPSAoanNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBleHRlbmRlZEpzYmVhdXRpZnlDb25maWcgPVxuICAgIGV4dGVuZEpzYmVhdXRpZnlDb25maWdXaXRoQ3VycmVudEZpbGVNYXRjaFJ1bGVzKFxuICAgICAgZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhFZGl0b3JPdmVycmlkZXMoXG4gICAgICAgIGpzYmVhdXRpZnlDb25maWcsXG4gICAgICApLFxuICAgICk7XG5cbiAgcmV0dXJuIHtcbiAgICBodG1sOiB7XG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuYWxsIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmh0bWwgfHwge30sXG4gICAgICBjc3M6IGV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5jc3MsXG4gICAgICBqczogZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmpzLFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmN1cnJlbnRGaWxlTWF0Y2hSdWxlcyB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMgfHwge30sXG4gICAgfSxcblxuICAgIGNzczoge1xuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmFsbCB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5jc3MgfHwge30sXG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuY3VycmVudEZpbGVNYXRjaFJ1bGVzIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcyB8fCB7fSxcbiAgICB9LFxuXG4gICAganM6IHtcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5hbGwgfHwge30sXG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuanMgfHwge30sXG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuY3VycmVudEZpbGVNYXRjaFJ1bGVzIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcyB8fCB7fSxcbiAgICB9LFxuXG4gICAganNvbjoge1xuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmFsbCB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5qc29uIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmN1cnJlbnRGaWxlTWF0Y2hSdWxlcyB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMgfHwge30sXG4gICAgfSxcbiAgfTtcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= + +exports.finalizeJsbeautifyConfig = finalizeJsbeautifyConfig; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2NvbmZpZ1V0aWxzLmpzIl0sIm5hbWVzIjpbInBhcnNlSnNiZWF1dGlmeUNvbmZpZyIsImZpbGVQYXRoIiwic2FuaXRpemVKc2JlYXV0aWZ5Q29uZmlnIiwicGFyc2VEZWZhdWx0SnNiZWF1dGlmeUNvbmZpZyIsInBhdGgiLCJqb2luIiwiUk9PVF9ESVIiLCJleHRlbmRKc2JlYXV0aWZ5Q29uZmlnIiwibmV3SnNiZWF1dGlmeUNvbmZpZyIsIm9sZEpzYmVhdXRpZnlDb25maWciLCJvbGRDbG9uZWRKc2JlYXV0aWZ5Q29uZmlnIiwiT2JqZWN0IiwiZW50cmllcyIsImZpbGVUeXBlIiwibmV3RmlsZVNldHRpbmdzIiwiZ2xvYlN0cmluZyIsIm5ld0dsb2JDb25maWciLCJjdXN0b20iLCJFcnJvciIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRmlsZSIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnRmlsZSIsIm5ld0VkaXRvckNvbmZpZyIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRm9sZGVycyIsImZvbGRlclBhdGhzIiwiZmlsZXNUb0NoZWNrIiwibWFwIiwiZiIsInByb21pc2VBcnJheXMiLCJmaWx0ZXIiLCJmcyIsInBhdGhFeGlzdHMiLCJuZXdKc2JlYXV0aWZ5Q29uZmlnUGF0aCIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnSW5Gb2xkZXJzIiwibmV3RWRpdG9yQ29uZmlnUGF0aCIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdXaXRoQ3VycmVudEZpbGVNYXRjaFJ1bGVzIiwianNiZWF1dGlmeUNvbmZpZyIsImNsb25lZEpzYmVhdXRpZnlDb25maWciLCJjdXJyZW50RmlsZU1hdGNoUnVsZXMiLCJnbG9iRmlsZUNvbmZpZyIsInByZWZOYW1lIiwiZ2xvYlByZWZWYWx1ZSIsImV4dGVuZEpzYmVhdXRpZnlDb25maWdXaXRoRWRpdG9yT3ZlcnJpZGVzIiwiZWRpdG9yT3ZlcnJpZGVzIiwiRURJVE9SX0lOREVOVF9TSVpFIiwiaW5kZW50X3NpemUiLCJFRElUT1JfSU5ERU5UX1dJVEhfVEFCUyIsImluZGVudF93aXRoX3RhYnMiLCJpbmRlbnRfY2hhciIsImZpbmFsaXplSnNiZWF1dGlmeUNvbmZpZyIsImV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZyIsImh0bWwiLCJhbGwiLCJjc3MiLCJqcyIsImpzb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQWRBOzs7QUFnQkE7QUFDQTtBQUNPLElBQU1BLHFCQUFxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsNEJBQUcsaUJBQU1DLFFBQU47QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBCQUFrQkMsMENBQWxCO0FBQUE7QUFBQSxtQkFBaUQsK0JBQWVELFFBQWYsQ0FBakQ7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEdBQUg7O0FBQUEsa0JBQXJCRCxxQkFBcUI7QUFBQTtBQUFBO0FBQUEsR0FBM0IsQyxDQUVQOzs7OztBQUNPLElBQU1HLDRCQUE0QixHQUFHLFNBQS9CQSw0QkFBK0I7QUFBQSxTQUFNSCxxQkFBcUIsQ0FBQ0ksY0FBS0MsSUFBTCxDQUFVQyxlQUFWLEVBQW9CLDZCQUFwQixDQUFELENBQTNCO0FBQUEsQ0FBckMsQyxDQUVQO0FBQ0E7Ozs7O0FBQ08sSUFBTUMsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUFDQyxtQkFBRCxFQUFzQkMsbUJBQXRCLEVBQThDO0FBQ2xGLE1BQU1DLHlCQUF5QixHQUFHLG9CQUFNRCxtQkFBTixDQUFsQzs7QUFEa0YsYUFHeENFLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlSixtQkFBbUIsSUFBSSxFQUF0QyxDQUh3Qzs7QUFHbEYsMkNBQXFGO0FBQUE7QUFBQSxRQUF6RUssUUFBeUU7QUFBQSxRQUEvREMsZUFBK0Q7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aXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gKiBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLiAqL1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJztcbmltcG9ydCBwcm9taXNlQXJyYXlzIGZyb20gJ3Byb21pc2UtYXJyYXlzJztcblxuaW1wb3J0IHsgUk9PVF9ESVIgfSBmcm9tICcuL3BhdGhzJztcbmltcG9ydCB7IEVESVRPUl9JTkRFTlRfU0laRSwgRURJVE9SX0lOREVOVF9XSVRIX1RBQlMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBwYXJzZUpTT041RmlsZSB9IGZyb20gJy4vanNvblV0aWxzJztcbmltcG9ydCB7IHBhcnNlRWRpdG9yQ29uZmlnRmlsZSB9IGZyb20gJy4vZWRpdG9yY29uZmlnVXRpbHMnO1xuaW1wb3J0IHsgc2FuaXRpemVKc2JlYXV0aWZ5Q29uZmlnLCB0cmFuc2xhdGVFZGl0b3JDb25maWdUb0pzYmVhdXRpZnlDb25maWcgfSBmcm9tICcuL2NvbmZpZ1Nhbml0aXplcnMnO1xuaW1wb3J0IHsgaXNNYXRjaGluZ0dsb2IgfSBmcm9tICcuL2ZpbGVVdGlscyc7XG5cbi8vIFBhcnNlcyBhIC5qc2JlYXV0aWZ5cmMganNvbiBmaWxlIGFuZCByZXR1cm5zIGEgc2FuaXRpemVkIG9iamVjdFxuLy8gd2l0aCBhIGNvbnNpc3RlbnQgYW5kIGV4cGVjdGVkIGZvcm1hdC5cbmV4cG9ydCBjb25zdCBwYXJzZUpzYmVhdXRpZnlDb25maWcgPSBhc3luYyBmaWxlUGF0aCA9PiBzYW5pdGl6ZUpzYmVhdXRpZnlDb25maWcoYXdhaXQgcGFyc2VKU09ONUZpbGUoZmlsZVBhdGgpKTtcblxuLy8gUGFyc2VzIHRoZSBkZWZhdWx0IC5qc2JlYXV0aWZ5cmMganNvbiBmaWxlIGNvbWluZyB3aXRoIHRoaXMgcGx1Z2luLlxuZXhwb3J0IGNvbnN0IHBhcnNlRGVmYXVsdEpzYmVhdXRpZnlDb25maWcgPSAoKSA9PiBwYXJzZUpzYmVhdXRpZnlDb25maWcocGF0aC5qb2luKFJPT1RfRElSLCAnLmpzYmVhdXRpZnlyYy5kZWZhdWx0cy5qc29uJykpO1xuXG4vLyBDbG9uZXMgYW5kIGV4dGVuZHMgYSBnaXZlbiAuanNiZWF1dGlmeXJjIG9iamVjdCB3aXRoIHRoZSBvbmUgbG9jYXRlZCBhdCBhXG4vLyBmaWxlIHBhdGguIElmIG5vbmUgZXhpc3RzLCBhIGNsb25lIG9mIHRoZSBvcmlnaW5hbCBpcyByZXR1cm5lZC5cbmV4cG9ydCBjb25zdCBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnID0gKG5ld0pzYmVhdXRpZnlDb25maWcsIG9sZEpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3Qgb2xkQ2xvbmVkSnNiZWF1dGlmeUNvbmZpZyA9IGNsb25lKG9sZEpzYmVhdXRpZnlDb25maWcpO1xuXG4gIGZvciAoY29uc3QgW2ZpbGVUeXBlLCBuZXdGaWxlU2V0dGluZ3NdIG9mIE9iamVjdC5lbnRyaWVzKG5ld0pzYmVhdXRpZnlDb25maWcgfHwge30pKSB7XG4gICAgc3dpdGNoIChmaWxlVHlwZSkge1xuICAgICAgY2FzZSAnYWxsJzpcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgY2FzZSAnY3NzJzpcbiAgICAgIGNhc2UgJ2pzJzpcbiAgICAgIGNhc2UgJ2pzb24nOlxuICAgICAgICBvbGRDbG9uZWRKc2JlYXV0aWZ5Q29uZmlnW2ZpbGVUeXBlXSA9IHtcbiAgICAgICAgICAuLi5vbGRDbG9uZWRKc2JlYXV0aWZ5Q29uZmlnW2ZpbGVUeXBlXSB8fCB7fSxcbiAgICAgICAgICAuLi5uZXdGaWxlU2V0dGluZ3MgfHwge30sXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgZm9yIChjb25zdCBbZ2xvYlN0cmluZywgbmV3R2xvYkNvbmZpZ10gb2YgT2JqZWN0LmVudHJpZXMobmV3RmlsZVNldHRpbmdzIHx8IHt9KSkge1xuICAgICAgICAgIG9sZENsb25lZEpzYmVhdXRpZnlDb25maWcuY3VzdG9tW2dsb2JTdHJpbmddID0ge1xuICAgICAgICAgICAgLi4ub2xkQ2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5jdXN0b21bZ2xvYlN0cmluZ10gfHwge30sXG4gICAgICAgICAgICAuLi5uZXdHbG9iQ29uZmlnIHx8IHt9LFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gLmpzYmVhdXRpZnlyYyBmaWxlIHR5cGU6ICR7ZmlsZVR5cGV9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9sZENsb25lZEpzYmVhdXRpZnlDb25maWc7XG59O1xuXG4vLyBDbG9uZXMgYW5kIGV4dGVuZHMgYSBnaXZlbiAuanNiZWF1dGlmeXJjIG9iamVjdCB3aXRoIHRoZSBvbmUgbG9jYXRlZCBhdCBhXG4vLyBmaWxlIHBhdGguIElmIG5vbmUgZXhpc3RzLCBhIGNsb25lIG9mIHRoZSBvcmlnaW5hbCBpcyByZXR1cm5lZC5cbmV4cG9ydCBjb25zdCBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnRnJvbUZpbGUgPSBhc3luYyAoZmlsZVBhdGgsIG9sZEpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3QgbmV3SnNiZWF1dGlmeUNvbmZpZyA9IGF3YWl0IHBhcnNlSnNiZWF1dGlmeUNvbmZpZyhmaWxlUGF0aCk7XG4gIHJldHVybiBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnKG5ld0pzYmVhdXRpZnlDb25maWcsIG9sZEpzYmVhdXRpZnlDb25maWcpO1xufTtcblxuLy8gQ2xvbmVzIGFuZCBleHRlbmRzIGEgZ2l2ZW4gLmpzYmVhdXRpZnlyYyBvYmplY3Qgd2l0aCBhbiAuZWRpdG9yY29uZmlnIGZpbGVcbi8vIGxvY2F0ZWQgYXQgYSBmaWxlIHBhdGguIElmIG5vbmUgZXhpc3RzLCBhIGNsb25lIG9mIHRoZSBvcmlnaW5hbCBpcyByZXR1cm5lZC5cbmV4cG9ydCBjb25zdCBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnRnJvbUVkaXRvckNvbmZpZ0ZpbGUgPSBhc3luYyAoZmlsZVBhdGgsIG9sZEpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3QgbmV3RWRpdG9yQ29uZmlnID0gYXdhaXQgcGFyc2VFZGl0b3JDb25maWdGaWxlKGZpbGVQYXRoKTtcbiAgY29uc3QgbmV3SnNiZWF1dGlmeUNvbmZpZyA9IHNhbml0aXplSnNiZWF1dGlmeUNvbmZpZyh0cmFuc2xhdGVFZGl0b3JDb25maWdUb0pzYmVhdXRpZnlDb25maWcobmV3RWRpdG9yQ29uZmlnKSk7XG4gIHJldHVybiBleHRlbmRKc2JlYXV0aWZ5Q29uZmlnKG5ld0pzYmVhdXRpZnlDb25maWcsIG9sZEpzYmVhdXRpZnlDb25maWcpO1xufTtcblxuLy8gQ2xvbmVzIGFuZCBleHRlbmRzIGEgZ2l2ZW4gLmpzYmVhdXRpZnlyYyBvYmplY3Qgd2l0aCB0aGUgZmlyc3Qgb25lIGZvdW5kIGluXG4vLyBhIGxpc3Qgb2YgZm9sZGVyIHBhdGhzLiBJZiBub25lIGV4aXN0cywgYSBjbG9uZSBvZiB0aGUgb3JpZ2luYWwgaXMgcmV0dXJuZWQuXG5leHBvcnQgY29uc3QgZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21Gb2xkZXJzID0gYXN5bmMgKGZvbGRlclBhdGhzLCBvbGRKc2JlYXV0aWZ5Q29uZmlnKSA9PiB7XG4gIGNvbnN0IGZpbGVzVG9DaGVjayA9IGZvbGRlclBhdGhzLm1hcChmID0+IHBhdGguam9pbihmLCAnLmpzYmVhdXRpZnlyYycpKTtcbiAgY29uc3QgbmV3SnNiZWF1dGlmeUNvbmZpZ1BhdGggPSAoYXdhaXQgcHJvbWlzZUFycmF5cy5maWx0ZXIoZmlsZXNUb0NoZWNrLCBmcy5wYXRoRXhpc3RzKSlbMF07XG5cbiAgaWYgKG5ld0pzYmVhdXRpZnlDb25maWdQYXRoKSB7XG4gICAgcmV0dXJuIGV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRmlsZShuZXdKc2JlYXV0aWZ5Q29uZmlnUGF0aCwgb2xkSnNiZWF1dGlmeUNvbmZpZyk7XG4gIH1cblxuICByZXR1cm4gY2xvbmUob2xkSnNiZWF1dGlmeUNvbmZpZyk7XG59O1xuXG4vLyBDbG9uZXMgYW5kIGV4dGVuZHMgYSBnaXZlbiAuanNiZWF1dGlmeXJjIG9iamVjdCB3aXRoIHRoZSBmaXJzdCAuZWRpdG9yY29uZmlnXG4vLyBmaWxlIGZvdW5kIGluIGEgbGlzdCBvZiBmb2xkZXIgcGF0aHMuIElmIG5vbmUgZXhpc3RzLCBhIGNsb25lIG9mIHRoZSBvcmlnaW5hbFxuLy8gaXMgcmV0dXJuZWQuXG5leHBvcnQgY29uc3QgZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ0Zyb21FZGl0b3JDb25maWdJbkZvbGRlcnMgPSBhc3luYyAoZm9sZGVyUGF0aHMsIG9sZEpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3QgZmlsZXNUb0NoZWNrID0gZm9sZGVyUGF0aHMubWFwKGYgPT4gcGF0aC5qb2luKGYsICcuZWRpdG9yY29uZmlnJykpO1xuICBjb25zdCBuZXdFZGl0b3JDb25maWdQYXRoID0gKGF3YWl0IHByb21pc2VBcnJheXMuZmlsdGVyKGZpbGVzVG9DaGVjaywgZnMucGF0aEV4aXN0cykpWzBdO1xuXG4gIGlmIChuZXdFZGl0b3JDb25maWdQYXRoKSB7XG4gICAgcmV0dXJuIGV4dGVuZEpzYmVhdXRpZnlDb25maWdGcm9tRWRpdG9yQ29uZmlnRmlsZShuZXdFZGl0b3JDb25maWdQYXRoLCBvbGRKc2JlYXV0aWZ5Q29uZmlnKTtcbiAgfVxuXG4gIHJldHVybiBjbG9uZShvbGRKc2JlYXV0aWZ5Q29uZmlnKTtcbn07XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgd2l0aCBzb21lIGFkZGl0aW9uYWwgY3VzdG9tIG9wdGlvbnNcbi8vIGRlZmluZWQgaW4gdGhlIFwiY3VzdG9tXCIgZmllbGQsIHdoaWNoIGNvbnRhaW5zIGdsb2JzIGRlZmluaW5nIGFkZGl0aW9uYWxcbi8vIHByZXR0aWZpY2F0aW9uIHJ1bGVzIGZvciBjZXJ0YWluIGZpbGVzIHBhdGhzLlxuZXhwb3J0IGNvbnN0IGV4dGVuZEpzYmVhdXRpZnlDb25maWdXaXRoQ3VycmVudEZpbGVNYXRjaFJ1bGVzID0gKGpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3QgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZyA9IGNsb25lKGpzYmVhdXRpZnlDb25maWcpO1xuICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmN1cnJlbnRGaWxlTWF0Y2hSdWxlcyA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2dsb2JTdHJpbmcsIGdsb2JGaWxlQ29uZmlnXSBvZiBPYmplY3QuZW50cmllcyhjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmN1c3RvbSB8fCB7fSkpIHtcbiAgICBmb3IgKGNvbnN0IFtwcmVmTmFtZSwgZ2xvYlByZWZWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZ2xvYkZpbGVDb25maWcgfHwge30pKSB7XG4gICAgICBpZiAoaXNNYXRjaGluZ0dsb2IoZ2xvYlN0cmluZykpIHtcbiAgICAgICAgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5jdXJyZW50RmlsZU1hdGNoUnVsZXNbcHJlZk5hbWVdID0gZ2xvYlByZWZWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xvbmVkSnNiZWF1dGlmeUNvbmZpZztcbn07XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgd2l0aCBzb21lIGFkZGl0aW9uYWwgY3VzdG9tIG9wdGlvbnNcbi8vIHJldHJpZXZlZCBmcm9tIHRoZSBlZGl0b3Igc2V0dGluZ3MuXG5leHBvcnQgY29uc3QgZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhFZGl0b3JPdmVycmlkZXMgPSAoanNiZWF1dGlmeUNvbmZpZykgPT4ge1xuICBjb25zdCBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnID0gY2xvbmUoanNiZWF1dGlmeUNvbmZpZyk7XG4gIGNsb25lZEpzYmVhdXRpZnlDb25maWcuZWRpdG9yT3ZlcnJpZGVzID0ge307XG5cbiAgaWYgKEVESVRPUl9JTkRFTlRfU0laRSAhPT0gJz8nKSB7XG4gICAgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMuaW5kZW50X3NpemUgPSArRURJVE9SX0lOREVOVF9TSVpFO1xuICB9XG5cbiAgaWYgKEVESVRPUl9JTkRFTlRfV0lUSF9UQUJTICE9PSAnPycpIHtcbiAgICBpZiAoRURJVE9SX0lOREVOVF9XSVRIX1RBQlMgPT09ICdUcnVlJykge1xuICAgICAgY2xvbmVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMuaW5kZW50X3dpdGhfdGFicyA9IHRydWU7XG4gICAgICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcy5pbmRlbnRfY2hhciA9ICdcXHQnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcy5pbmRlbnRfd2l0aF90YWJzID0gZmFsc2U7XG4gICAgICBjbG9uZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcy5pbmRlbnRfY2hhciA9ICcgJztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xvbmVkSnNiZWF1dGlmeUNvbmZpZztcbn07XG5cbi8vIENsb25lcyBhbmQgZXh0ZW5kcyBhIGdpdmVuIC5qc2JlYXV0aWZ5cmMgd2l0aCBzb21lIGFkZGl0aW9uYWwgbWV0YS1vcHRpb25zXG4vLyBmb2xsb3dpbmcgc29tZSBzcGVjaWZpYyBydWxlcyByZXNwZWN0aW5nIGdsb2JhbCBlZGl0b3Igc2V0dGluZ3MuXG5leHBvcnQgY29uc3QgZmluYWxpemVKc2JlYXV0aWZ5Q29uZmlnID0gKGpzYmVhdXRpZnlDb25maWcpID0+IHtcbiAgY29uc3QgZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnID0gZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhDdXJyZW50RmlsZU1hdGNoUnVsZXMoXG4gICAgZXh0ZW5kSnNiZWF1dGlmeUNvbmZpZ1dpdGhFZGl0b3JPdmVycmlkZXMoXG4gICAgICBqc2JlYXV0aWZ5Q29uZmlnLFxuICAgICksXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBodG1sOiB7XG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuYWxsIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmh0bWwgfHwge30sXG4gICAgICBjc3M6IGV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5jc3MsXG4gICAgICBqczogZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmpzLFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmN1cnJlbnRGaWxlTWF0Y2hSdWxlcyB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMgfHwge30sXG4gICAgfSxcblxuICAgIGNzczoge1xuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmFsbCB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5jc3MgfHwge30sXG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuY3VycmVudEZpbGVNYXRjaFJ1bGVzIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcyB8fCB7fSxcbiAgICB9LFxuXG4gICAganM6IHtcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5hbGwgfHwge30sXG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuanMgfHwge30sXG4gICAgICAuLi5leHRlbmRlZEpzYmVhdXRpZnlDb25maWcuY3VycmVudEZpbGVNYXRjaFJ1bGVzIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmVkaXRvck92ZXJyaWRlcyB8fCB7fSxcbiAgICB9LFxuXG4gICAganNvbjoge1xuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmFsbCB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5qc29uIHx8IHt9LFxuICAgICAgLi4uZXh0ZW5kZWRKc2JlYXV0aWZ5Q29uZmlnLmN1cnJlbnRGaWxlTWF0Y2hSdWxlcyB8fCB7fSxcbiAgICAgIC4uLmV4dGVuZGVkSnNiZWF1dGlmeUNvbmZpZy5lZGl0b3JPdmVycmlkZXMgfHwge30sXG4gICAgfSxcbiAgfTtcbn07XG4iXSwiZmlsZSI6InV0aWxzL2NvbmZpZ1V0aWxzLmpzIn0= diff --git a/build/js-transpiled/utils/constants.js b/build/js-transpiled/utils/constants.js index c886ab14..60c8c871 100644 --- a/build/js-transpiled/utils/constants.js +++ b/build/js-transpiled/utils/constants.js @@ -1,31 +1,40 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.CONFIG_EXTRA_LOOKUP_PATHS = exports.ORIGINAL_FILE_PATH = exports.EDITOR_TEXT_TEMP_FILE_PATH = exports.EDITOR_TEXT_TEMP_FILE_CONTENTS = exports.EDITOR_INDENT_WITH_TABS = exports.EDITOR_INDENT_SIZE = exports.EDITOR_FILE_SYNTAX = exports.RESPECT_EDITORCONFIG_FILES = exports.GLOBAL_FILE_RULES_JSON = exports.USING_EDITOR_TEXT_TEMP_FILE = exports.PRETTIFIED_CODE_MARKER_END = exports.PRETTIFIED_CODE_MARKER_BEGIN = exports.DIAGNOSTICS_MARKER_END = exports.DIAGNOSTICS_MARKER_BEGIN = void 0; + /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -var DIAGNOSTICS_MARKER_BEGIN = exports.DIAGNOSTICS_MARKER_BEGIN = '### HTMLPrettify diagnostics begin ###'; -var DIAGNOSTICS_MARKER_END = exports.DIAGNOSTICS_MARKER_END = '### HTMLPrettify diagnostics end ###'; -var PRETTIFIED_CODE_MARKER_BEGIN = exports.PRETTIFIED_CODE_MARKER_BEGIN = '### HTMLPrettify prettified code begin ###'; -var PRETTIFIED_CODE_MARKER_END = exports.PRETTIFIED_CODE_MARKER_END = '### HTMLPrettify prettified code end ###'; - -// The source file to be prettified, original source's path and some options. -var USING_EDITOR_TEXT_TEMP_FILE = exports.USING_EDITOR_TEXT_TEMP_FILE = process.argv[2]; - -var GLOBAL_FILE_RULES_JSON = exports.GLOBAL_FILE_RULES_JSON = process.argv[3]; -var RESPECT_EDITORCONFIG_FILES = exports.RESPECT_EDITORCONFIG_FILES = process.argv[4]; - -var EDITOR_FILE_SYNTAX = exports.EDITOR_FILE_SYNTAX = process.argv[5]; -var EDITOR_INDENT_SIZE = exports.EDITOR_INDENT_SIZE = process.argv[6]; -var EDITOR_INDENT_WITH_TABS = exports.EDITOR_INDENT_WITH_TABS = process.argv[7]; - -var EDITOR_TEXT_TEMP_FILE_CONTENTS = exports.EDITOR_TEXT_TEMP_FILE_CONTENTS = USING_EDITOR_TEXT_TEMP_FILE === 'False' ? process.argv[8] : null; -var EDITOR_TEXT_TEMP_FILE_PATH = exports.EDITOR_TEXT_TEMP_FILE_PATH = USING_EDITOR_TEXT_TEMP_FILE === 'True' ? process.argv[8] : null; - -var ORIGINAL_FILE_PATH = exports.ORIGINAL_FILE_PATH = process.argv[9]; - -var CONFIG_EXTRA_LOOKUP_PATHS = exports.CONFIG_EXTRA_LOOKUP_PATHS = [process.argv[10], process.argv[11]]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJESUFHTk9TVElDU19NQVJLRVJfQkVHSU4iLCJESUFHTk9TVElDU19NQVJLRVJfRU5EIiwiUFJFVFRJRklFRF9DT0RFX01BUktFUl9CRUdJTiIsIlBSRVRUSUZJRURfQ09ERV9NQVJLRVJfRU5EIiwiVVNJTkdfRURJVE9SX1RFWFRfVEVNUF9GSUxFIiwicHJvY2VzcyIsImFyZ3YiLCJHTE9CQUxfRklMRV9SVUxFU19KU09OIiwiUkVTUEVDVF9FRElUT1JDT05GSUdfRklMRVMiLCJFRElUT1JfRklMRV9TWU5UQVgiLCJFRElUT1JfSU5ERU5UX1NJWkUiLCJFRElUT1JfSU5ERU5UX1dJVEhfVEFCUyIsIkVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UUyIsIkVESVRPUl9URVhUX1RFTVBfRklMRV9QQVRIIiwiT1JJR0lOQUxfRklMRV9QQVRIIiwiQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7OztBQUlPLElBQU1BLDhEQUEyQix3Q0FBakM7QUFDQSxJQUFNQywwREFBeUIsc0NBQS9CO0FBQ0EsSUFBTUMsc0VBQStCLDRDQUFyQztBQUNBLElBQU1DLGtFQUE2QiwwQ0FBbkM7O0FBRVA7QUFDTyxJQUFNQyxvRUFBOEJDLFFBQVFDLElBQVIsQ0FBYSxDQUFiLENBQXBDOztBQUVBLElBQU1DLDBEQUF5QkYsUUFBUUMsSUFBUixDQUFhLENBQWIsQ0FBL0I7QUFDQSxJQUFNRSxrRUFBNkJILFFBQVFDLElBQVIsQ0FBYSxDQUFiLENBQW5DOztBQUVBLElBQU1HLGtEQUFxQkosUUFBUUMsSUFBUixDQUFhLENBQWIsQ0FBM0I7QUFDQSxJQUFNSSxrREFBcUJMLFFBQVFDLElBQVIsQ0FBYSxDQUFiLENBQTNCO0FBQ0EsSUFBTUssNERBQTBCTixRQUFRQyxJQUFSLENBQWEsQ0FBYixDQUFoQzs7QUFFQSxJQUFNTSwwRUFBaUNSLGdDQUFnQyxPQUFoQyxHQUEwQ0MsUUFBUUMsSUFBUixDQUFhLENBQWIsQ0FBMUMsR0FBNEQsSUFBbkc7QUFDQSxJQUFNTyxrRUFBNkJULGdDQUFnQyxNQUFoQyxHQUF5Q0MsUUFBUUMsSUFBUixDQUFhLENBQWIsQ0FBekMsR0FBMkQsSUFBOUY7O0FBRUEsSUFBTVEsa0RBQXFCVCxRQUFRQyxJQUFSLENBQWEsQ0FBYixDQUEzQjs7QUFFQSxJQUFNUyxnRUFBNEIsQ0FBQ1YsUUFBUUMsSUFBUixDQUFhLEVBQWIsQ0FBRCxFQUFtQkQsUUFBUUMsSUFBUixDQUFhLEVBQWIsQ0FBbkIsQ0FBbEMiLCJmaWxlIjoidXRpbHMvY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuZXhwb3J0IGNvbnN0IERJQUdOT1NUSUNTX01BUktFUl9CRUdJTiA9ICcjIyMgSFRNTFByZXR0aWZ5IGRpYWdub3N0aWNzIGJlZ2luICMjIyc7XG5leHBvcnQgY29uc3QgRElBR05PU1RJQ1NfTUFSS0VSX0VORCA9ICcjIyMgSFRNTFByZXR0aWZ5IGRpYWdub3N0aWNzIGVuZCAjIyMnO1xuZXhwb3J0IGNvbnN0IFBSRVRUSUZJRURfQ09ERV9NQVJLRVJfQkVHSU4gPSAnIyMjIEhUTUxQcmV0dGlmeSBwcmV0dGlmaWVkIGNvZGUgYmVnaW4gIyMjJztcbmV4cG9ydCBjb25zdCBQUkVUVElGSUVEX0NPREVfTUFSS0VSX0VORCA9ICcjIyMgSFRNTFByZXR0aWZ5IHByZXR0aWZpZWQgY29kZSBlbmQgIyMjJztcblxuLy8gVGhlIHNvdXJjZSBmaWxlIHRvIGJlIHByZXR0aWZpZWQsIG9yaWdpbmFsIHNvdXJjZSdzIHBhdGggYW5kIHNvbWUgb3B0aW9ucy5cbmV4cG9ydCBjb25zdCBVU0lOR19FRElUT1JfVEVYVF9URU1QX0ZJTEUgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbmV4cG9ydCBjb25zdCBHTE9CQUxfRklMRV9SVUxFU19KU09OID0gcHJvY2Vzcy5hcmd2WzNdO1xuZXhwb3J0IGNvbnN0IFJFU1BFQ1RfRURJVE9SQ09ORklHX0ZJTEVTID0gcHJvY2Vzcy5hcmd2WzRdO1xuXG5leHBvcnQgY29uc3QgRURJVE9SX0ZJTEVfU1lOVEFYID0gcHJvY2Vzcy5hcmd2WzVdO1xuZXhwb3J0IGNvbnN0IEVESVRPUl9JTkRFTlRfU0laRSA9IHByb2Nlc3MuYXJndls2XTtcbmV4cG9ydCBjb25zdCBFRElUT1JfSU5ERU5UX1dJVEhfVEFCUyA9IHByb2Nlc3MuYXJndls3XTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UUyA9IFVTSU5HX0VESVRPUl9URVhUX1RFTVBfRklMRSA9PT0gJ0ZhbHNlJyA/IHByb2Nlc3MuYXJndls4XSA6IG51bGw7XG5leHBvcnQgY29uc3QgRURJVE9SX1RFWFRfVEVNUF9GSUxFX1BBVEggPSBVU0lOR19FRElUT1JfVEVYVF9URU1QX0ZJTEUgPT09ICdUcnVlJyA/IHByb2Nlc3MuYXJndls4XSA6IG51bGw7XG5cbmV4cG9ydCBjb25zdCBPUklHSU5BTF9GSUxFX1BBVEggPSBwcm9jZXNzLmFyZ3ZbOV07XG5cbmV4cG9ydCBjb25zdCBDT05GSUdfRVhUUkFfTE9PS1VQX1BBVEhTID0gW3Byb2Nlc3MuYXJndlsxMF0sIHByb2Nlc3MuYXJndlsxMV1dO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +var DIAGNOSTICS_MARKER_BEGIN = '### HTMLPrettify diagnostics begin ###'; +exports.DIAGNOSTICS_MARKER_BEGIN = DIAGNOSTICS_MARKER_BEGIN; +var DIAGNOSTICS_MARKER_END = '### HTMLPrettify diagnostics end ###'; +exports.DIAGNOSTICS_MARKER_END = DIAGNOSTICS_MARKER_END; +var PRETTIFIED_CODE_MARKER_BEGIN = '### HTMLPrettify prettified code begin ###'; +exports.PRETTIFIED_CODE_MARKER_BEGIN = PRETTIFIED_CODE_MARKER_BEGIN; +var PRETTIFIED_CODE_MARKER_END = '### HTMLPrettify prettified code end ###'; // The source file to be prettified, original source's path and some options. + +exports.PRETTIFIED_CODE_MARKER_END = PRETTIFIED_CODE_MARKER_END; +var USING_EDITOR_TEXT_TEMP_FILE = process.argv[2]; +exports.USING_EDITOR_TEXT_TEMP_FILE = USING_EDITOR_TEXT_TEMP_FILE; +var GLOBAL_FILE_RULES_JSON = process.argv[3]; +exports.GLOBAL_FILE_RULES_JSON = GLOBAL_FILE_RULES_JSON; +var RESPECT_EDITORCONFIG_FILES = process.argv[4]; +exports.RESPECT_EDITORCONFIG_FILES = RESPECT_EDITORCONFIG_FILES; +var EDITOR_FILE_SYNTAX = process.argv[5]; +exports.EDITOR_FILE_SYNTAX = EDITOR_FILE_SYNTAX; +var EDITOR_INDENT_SIZE = process.argv[6]; +exports.EDITOR_INDENT_SIZE = EDITOR_INDENT_SIZE; +var EDITOR_INDENT_WITH_TABS = process.argv[7]; +exports.EDITOR_INDENT_WITH_TABS = EDITOR_INDENT_WITH_TABS; +var EDITOR_TEXT_TEMP_FILE_CONTENTS = USING_EDITOR_TEXT_TEMP_FILE === 'False' ? process.argv[8] : null; +exports.EDITOR_TEXT_TEMP_FILE_CONTENTS = EDITOR_TEXT_TEMP_FILE_CONTENTS; +var EDITOR_TEXT_TEMP_FILE_PATH = USING_EDITOR_TEXT_TEMP_FILE === 'True' ? process.argv[8] : null; +exports.EDITOR_TEXT_TEMP_FILE_PATH = EDITOR_TEXT_TEMP_FILE_PATH; +var ORIGINAL_FILE_PATH = process.argv[9]; +exports.ORIGINAL_FILE_PATH = ORIGINAL_FILE_PATH; +var CONFIG_EXTRA_LOOKUP_PATHS = [process.argv[10], process.argv[11]]; +exports.CONFIG_EXTRA_LOOKUP_PATHS = CONFIG_EXTRA_LOOKUP_PATHS; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJESUFHTk9TVElDU19NQVJLRVJfQkVHSU4iLCJESUFHTk9TVElDU19NQVJLRVJfRU5EIiwiUFJFVFRJRklFRF9DT0RFX01BUktFUl9CRUdJTiIsIlBSRVRUSUZJRURfQ09ERV9NQVJLRVJfRU5EIiwiVVNJTkdfRURJVE9SX1RFWFRfVEVNUF9GSUxFIiwicHJvY2VzcyIsImFyZ3YiLCJHTE9CQUxfRklMRV9SVUxFU19KU09OIiwiUkVTUEVDVF9FRElUT1JDT05GSUdfRklMRVMiLCJFRElUT1JfRklMRV9TWU5UQVgiLCJFRElUT1JfSU5ERU5UX1NJWkUiLCJFRElUT1JfSU5ERU5UX1dJVEhfVEFCUyIsIkVESVRPUl9URVhUX1RFTVBfRklMRV9DT05URU5UUyIsIkVESVRPUl9URVhUX1RFTVBfRklMRV9QQVRIIiwiT1JJR0lOQUxfRklMRV9QQVRIIiwiQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7QUFJTyxJQUFNQSx3QkFBd0IsR0FBRyx3Q0FBakM7O0FBQ0EsSUFBTUMsc0JBQXNCLEdBQUcsc0NBQS9COztBQUNBLElBQU1DLDRCQUE0QixHQUFHLDRDQUFyQzs7QUFDQSxJQUFNQywwQkFBMEIsR0FBRywwQ0FBbkMsQyxDQUVQOzs7QUFDTyxJQUFNQywyQkFBMkIsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYixDQUFwQzs7QUFFQSxJQUFNQyxzQkFBc0IsR0FBR0YsT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYixDQUEvQjs7QUFDQSxJQUFNRSwwQkFBMEIsR0FBR0gsT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYixDQUFuQzs7QUFFQSxJQUFNRyxrQkFBa0IsR0FBR0osT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYixDQUEzQjs7QUFDQSxJQUFNSSxrQkFBa0IsR0FBR0wsT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYixDQUEzQjs7QUFDQSxJQUFNSyx1QkFBdUIsR0FBR04sT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYixDQUFoQzs7QUFFQSxJQUFNTSw4QkFBOEIsR0FBR1IsMkJBQTJCLEtBQUssT0FBaEMsR0FBMENDLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLENBQWIsQ0FBMUMsR0FBNEQsSUFBbkc7O0FBQ0EsSUFBTU8sMEJBQTBCLEdBQUdULDJCQUEyQixLQUFLLE1BQWhDLEdBQXlDQyxPQUFPLENBQUNDLElBQVIsQ0FBYSxDQUFiLENBQXpDLEdBQTJELElBQTlGOztBQUVBLElBQU1RLGtCQUFrQixHQUFHVCxPQUFPLENBQUNDLElBQVIsQ0FBYSxDQUFiLENBQTNCOztBQUVBLElBQU1TLHlCQUF5QixHQUFHLENBQUNWLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLEVBQWIsQ0FBRCxFQUFtQkQsT0FBTyxDQUFDQyxJQUFSLENBQWEsRUFBYixDQUFuQixDQUFsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAqIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uICovXG5cbmV4cG9ydCBjb25zdCBESUFHTk9TVElDU19NQVJLRVJfQkVHSU4gPSAnIyMjIEhUTUxQcmV0dGlmeSBkaWFnbm9zdGljcyBiZWdpbiAjIyMnO1xuZXhwb3J0IGNvbnN0IERJQUdOT1NUSUNTX01BUktFUl9FTkQgPSAnIyMjIEhUTUxQcmV0dGlmeSBkaWFnbm9zdGljcyBlbmQgIyMjJztcbmV4cG9ydCBjb25zdCBQUkVUVElGSUVEX0NPREVfTUFSS0VSX0JFR0lOID0gJyMjIyBIVE1MUHJldHRpZnkgcHJldHRpZmllZCBjb2RlIGJlZ2luICMjIyc7XG5leHBvcnQgY29uc3QgUFJFVFRJRklFRF9DT0RFX01BUktFUl9FTkQgPSAnIyMjIEhUTUxQcmV0dGlmeSBwcmV0dGlmaWVkIGNvZGUgZW5kICMjIyc7XG5cbi8vIFRoZSBzb3VyY2UgZmlsZSB0byBiZSBwcmV0dGlmaWVkLCBvcmlnaW5hbCBzb3VyY2UncyBwYXRoIGFuZCBzb21lIG9wdGlvbnMuXG5leHBvcnQgY29uc3QgVVNJTkdfRURJVE9SX1RFWFRfVEVNUF9GSUxFID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG5leHBvcnQgY29uc3QgR0xPQkFMX0ZJTEVfUlVMRVNfSlNPTiA9IHByb2Nlc3MuYXJndlszXTtcbmV4cG9ydCBjb25zdCBSRVNQRUNUX0VESVRPUkNPTkZJR19GSUxFUyA9IHByb2Nlc3MuYXJndls0XTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9GSUxFX1NZTlRBWCA9IHByb2Nlc3MuYXJndls1XTtcbmV4cG9ydCBjb25zdCBFRElUT1JfSU5ERU5UX1NJWkUgPSBwcm9jZXNzLmFyZ3ZbNl07XG5leHBvcnQgY29uc3QgRURJVE9SX0lOREVOVF9XSVRIX1RBQlMgPSBwcm9jZXNzLmFyZ3ZbN107XG5cbmV4cG9ydCBjb25zdCBFRElUT1JfVEVYVF9URU1QX0ZJTEVfQ09OVEVOVFMgPSBVU0lOR19FRElUT1JfVEVYVF9URU1QX0ZJTEUgPT09ICdGYWxzZScgPyBwcm9jZXNzLmFyZ3ZbOF0gOiBudWxsO1xuZXhwb3J0IGNvbnN0IEVESVRPUl9URVhUX1RFTVBfRklMRV9QQVRIID0gVVNJTkdfRURJVE9SX1RFWFRfVEVNUF9GSUxFID09PSAnVHJ1ZScgPyBwcm9jZXNzLmFyZ3ZbOF0gOiBudWxsO1xuXG5leHBvcnQgY29uc3QgT1JJR0lOQUxfRklMRV9QQVRIID0gcHJvY2Vzcy5hcmd2WzldO1xuXG5leHBvcnQgY29uc3QgQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIUyA9IFtwcm9jZXNzLmFyZ3ZbMTBdLCBwcm9jZXNzLmFyZ3ZbMTFdXTtcbiJdLCJmaWxlIjoidXRpbHMvY29uc3RhbnRzLmpzIn0= diff --git a/build/js-transpiled/utils/editorconfigUtils.js b/build/js-transpiled/utils/editorconfigUtils.js index 416b7ba1..f47bf7b0 100644 --- a/build/js-transpiled/utils/editorconfigUtils.js +++ b/build/js-transpiled/utils/editorconfigUtils.js @@ -1,100 +1,99 @@ -'use strict'; +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseEditorConfigFile = exports.parseEditorConfig = undefined; - -var _regenerator = require('babel-runtime/regenerator'); - -var _regenerator2 = _interopRequireDefault(_regenerator); - -var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); - -var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +exports.parseEditorConfigFile = exports.parseEditorConfig = void 0; -var _fsExtra = require('fs-extra'); +var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); -var _fsExtra2 = _interopRequireDefault(_fsExtra); +require("regenerator-runtime/runtime"); -var _editorconfigParser = require('editorconfig-parser'); +var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); -var _editorconfigParser2 = _interopRequireDefault(_editorconfigParser); +var _fsExtra = _interopRequireDefault(require("fs-extra")); -var _stdioUtils = require('./stdioUtils'); +var _editorconfigParser = _interopRequireDefault(require("editorconfig-parser")); -var stdio = _interopRequireWildcard(_stdioUtils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var stdio = _interopRequireWildcard(require("./stdioUtils")); +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // Parses some .editorconfig text if it's well formed, otherwise silently fails // and returns undefined. -var parseEditorConfig = exports.parseEditorConfig = function parseEditorConfig(string) { +var parseEditorConfig = function parseEditorConfig(string) { try { - return _editorconfigParser2.default.parse(string); + return _editorconfigParser.default.parse(string); } catch (e) { stdio.info('Failed to parse editorconfig:', string); return undefined; } -}; - -// Parses .editorconfig file at a given path and returns an object if it exists +}; // Parses .editorconfig file at a given path and returns an object if it exists // and isn't malformed, otherwise silently fails and returns undefined. -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -var parseEditorConfigFile = exports.parseEditorConfigFile = function () { - var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(filePath) { + +exports.parseEditorConfig = parseEditorConfig; + +var parseEditorConfigFile = +/*#__PURE__*/ +function () { + var _ref = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee(filePath) { var contents, parsed; - return _regenerator2.default.wrap(function _callee$(_context) { + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: stdio.info('Attempting to parse file:', filePath); - contents = void 0; - _context.prev = 2; - _context.next = 5; - return _fsExtra2.default.readFile(filePath, { encoding: 'utf8' }); + _context.prev = 1; + _context.next = 4; + return _fsExtra.default.readFile(filePath, { + encoding: 'utf8' + }); - case 5: + case 4: contents = _context.sent; - _context.next = 12; + _context.next = 11; break; - case 8: - _context.prev = 8; - _context.t0 = _context['catch'](2); - + case 7: + _context.prev = 7; + _context.t0 = _context["catch"](1); stdio.info('Failed to read file:', filePath); - return _context.abrupt('return', undefined); + return _context.abrupt("return", undefined); - case 12: + case 11: parsed = parseEditorConfig(contents); if (!(parsed === undefined)) { - _context.next = 16; + _context.next = 15; break; } stdio.info('Failed to parse file:', filePath); - return _context.abrupt('return', undefined); + return _context.abrupt("return", undefined); - case 16: - return _context.abrupt('return', parsed); + case 15: + return _context.abrupt("return", parsed); - case 17: - case 'end': + case 16: + case "end": return _context.stop(); } } - }, _callee, undefined, [[2, 8]]); + }, _callee, this, [[1, 7]]); })); return function parseEditorConfigFile(_x) { return _ref.apply(this, arguments); }; }(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2VkaXRvcmNvbmZpZ1V0aWxzLmpzIl0sIm5hbWVzIjpbInN0ZGlvIiwicGFyc2VFZGl0b3JDb25maWciLCJzdHJpbmciLCJwYXJzZSIsImUiLCJpbmZvIiwidW5kZWZpbmVkIiwicGFyc2VFZGl0b3JDb25maWdGaWxlIiwiZmlsZVBhdGgiLCJjb250ZW50cyIsInJlYWRGaWxlIiwiZW5jb2RpbmciLCJwYXJzZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUlBOzs7O0FBQ0E7Ozs7QUFFQTs7SUFBWUEsSzs7Ozs7O0FBRVo7QUFDQTtBQUNPLElBQU1DLGdEQUFvQixTQUFwQkEsaUJBQW9CLENBQUNDLE1BQUQsRUFBWTtBQUMzQyxNQUFJO0FBQ0YsV0FBTyw2QkFBYUMsS0FBYixDQUFtQkQsTUFBbkIsQ0FBUDtBQUNELEdBRkQsQ0FFRSxPQUFPRSxDQUFQLEVBQVU7QUFDVkosVUFBTUssSUFBTixDQUFXLCtCQUFYLEVBQTRDSCxNQUE1QztBQUNBLFdBQU9JLFNBQVA7QUFDRDtBQUNGLENBUE07O0FBU1A7QUFDQTtBQXJCQTs7OztBQXNCTyxJQUFNQztBQUFBLHdFQUF3QixpQkFBT0MsUUFBUDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDbkNSLGtCQUFNSyxJQUFOLENBQVcsMkJBQVgsRUFBd0NHLFFBQXhDO0FBQ0lDLG9CQUYrQjtBQUFBO0FBQUE7QUFBQSxtQkFJaEIsa0JBQUdDLFFBQUgsQ0FBWUYsUUFBWixFQUFzQixFQUFFRyxVQUFVLE1BQVosRUFBdEIsQ0FKZ0I7O0FBQUE7QUFJakNGLG9CQUppQztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQU1qQ1Qsa0JBQU1LLElBQU4sQ0FBVyxzQkFBWCxFQUFtQ0csUUFBbkM7QUFOaUMsNkNBTzFCRixTQVAwQjs7QUFBQTtBQVM3Qk0sa0JBVDZCLEdBU3BCWCxrQkFBa0JRLFFBQWxCLENBVG9COztBQUFBLGtCQVUvQkcsV0FBV04sU0FWb0I7QUFBQTtBQUFBO0FBQUE7O0FBV2pDTixrQkFBTUssSUFBTixDQUFXLHVCQUFYLEVBQW9DRyxRQUFwQztBQVhpQyw2Q0FZMUJGLFNBWjBCOztBQUFBO0FBQUEsNkNBYzVCTSxNQWQ0Qjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHQUF4Qjs7QUFBQTtBQUFBO0FBQUE7QUFBQSxHQUFOIiwiZmlsZSI6InV0aWxzL2VkaXRvcmNvbmZpZ1V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBlZGl0b3Jjb25maWcgZnJvbSAnZWRpdG9yY29uZmlnLXBhcnNlcic7XG5cbmltcG9ydCAqIGFzIHN0ZGlvIGZyb20gJy4vc3RkaW9VdGlscyc7XG5cbi8vIFBhcnNlcyBzb21lIC5lZGl0b3Jjb25maWcgdGV4dCBpZiBpdCdzIHdlbGwgZm9ybWVkLCBvdGhlcndpc2Ugc2lsZW50bHkgZmFpbHNcbi8vIGFuZCByZXR1cm5zIHVuZGVmaW5lZC5cbmV4cG9ydCBjb25zdCBwYXJzZUVkaXRvckNvbmZpZyA9IChzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZWRpdG9yY29uZmlnLnBhcnNlKHN0cmluZyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBzdGRpby5pbmZvKCdGYWlsZWQgdG8gcGFyc2UgZWRpdG9yY29uZmlnOicsIHN0cmluZyk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcblxuLy8gUGFyc2VzIC5lZGl0b3Jjb25maWcgZmlsZSBhdCBhIGdpdmVuIHBhdGggYW5kIHJldHVybnMgYW4gb2JqZWN0IGlmIGl0IGV4aXN0c1xuLy8gYW5kIGlzbid0IG1hbGZvcm1lZCwgb3RoZXJ3aXNlIHNpbGVudGx5IGZhaWxzIGFuZCByZXR1cm5zIHVuZGVmaW5lZC5cbmV4cG9ydCBjb25zdCBwYXJzZUVkaXRvckNvbmZpZ0ZpbGUgPSBhc3luYyAoZmlsZVBhdGgpID0+IHtcbiAgc3RkaW8uaW5mbygnQXR0ZW1wdGluZyB0byBwYXJzZSBmaWxlOicsIGZpbGVQYXRoKTtcbiAgbGV0IGNvbnRlbnRzO1xuICB0cnkge1xuICAgIGNvbnRlbnRzID0gYXdhaXQgZnMucmVhZEZpbGUoZmlsZVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHN0ZGlvLmluZm8oJ0ZhaWxlZCB0byByZWFkIGZpbGU6JywgZmlsZVBhdGgpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcGFyc2VkID0gcGFyc2VFZGl0b3JDb25maWcoY29udGVudHMpO1xuICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGRpby5pbmZvKCdGYWlsZWQgdG8gcGFyc2UgZmlsZTonLCBmaWxlUGF0aCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4gcGFyc2VkO1xufTtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== + +exports.parseEditorConfigFile = parseEditorConfigFile; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2VkaXRvcmNvbmZpZ1V0aWxzLmpzIl0sIm5hbWVzIjpbInBhcnNlRWRpdG9yQ29uZmlnIiwic3RyaW5nIiwiZWRpdG9yY29uZmlnIiwicGFyc2UiLCJlIiwic3RkaW8iLCJpbmZvIiwidW5kZWZpbmVkIiwicGFyc2VFZGl0b3JDb25maWdGaWxlIiwiZmlsZVBhdGgiLCJmcyIsInJlYWRGaWxlIiwiZW5jb2RpbmciLCJjb250ZW50cyIsInBhcnNlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFFQTs7QUFQQTs7O0FBU0E7QUFDQTtBQUNPLElBQU1BLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsTUFBRCxFQUFZO0FBQzNDLE1BQUk7QUFDRixXQUFPQyw0QkFBYUMsS0FBYixDQUFtQkYsTUFBbkIsQ0FBUDtBQUNELEdBRkQsQ0FFRSxPQUFPRyxDQUFQLEVBQVU7QUFDVkMsSUFBQUEsS0FBSyxDQUFDQyxJQUFOLENBQVcsK0JBQVgsRUFBNENMLE1BQTVDO0FBQ0EsV0FBT00sU0FBUDtBQUNEO0FBQ0YsQ0FQTSxDLENBU1A7QUFDQTs7Ozs7QUFDTyxJQUFNQyxxQkFBcUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDRCQUFHLGlCQUFPQyxRQUFQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNuQ0osWUFBQUEsS0FBSyxDQUFDQyxJQUFOLENBQVcsMkJBQVgsRUFBd0NHLFFBQXhDO0FBRG1DO0FBQUE7QUFBQSxtQkFJaEJDLGlCQUFHQyxRQUFILENBQVlGLFFBQVosRUFBc0I7QUFBRUcsY0FBQUEsUUFBUSxFQUFFO0FBQVosYUFBdEIsQ0FKZ0I7O0FBQUE7QUFJakNDLFlBQUFBLFFBSmlDO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFNakNSLFlBQUFBLEtBQUssQ0FBQ0MsSUFBTixDQUFXLHNCQUFYLEVBQW1DRyxRQUFuQztBQU5pQyw2Q0FPMUJGLFNBUDBCOztBQUFBO0FBUzdCTyxZQUFBQSxNQVQ2QixHQVNwQmQsaUJBQWlCLENBQUNhLFFBQUQsQ0FURzs7QUFBQSxrQkFVL0JDLE1BQU0sS0FBS1AsU0FWb0I7QUFBQTtBQUFBO0FBQUE7O0FBV2pDRixZQUFBQSxLQUFLLENBQUNDLElBQU4sQ0FBVyx1QkFBWCxFQUFvQ0csUUFBcEM7QUFYaUMsNkNBWTFCRixTQVowQjs7QUFBQTtBQUFBLDZDQWM1Qk8sTUFkNEI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsR0FBSDs7QUFBQSxrQkFBckJOLHFCQUFxQjtBQUFBO0FBQUE7QUFBQSxHQUEzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAqIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uICovXG5cbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgZWRpdG9yY29uZmlnIGZyb20gJ2VkaXRvcmNvbmZpZy1wYXJzZXInO1xuXG5pbXBvcnQgKiBhcyBzdGRpbyBmcm9tICcuL3N0ZGlvVXRpbHMnO1xuXG4vLyBQYXJzZXMgc29tZSAuZWRpdG9yY29uZmlnIHRleHQgaWYgaXQncyB3ZWxsIGZvcm1lZCwgb3RoZXJ3aXNlIHNpbGVudGx5IGZhaWxzXG4vLyBhbmQgcmV0dXJucyB1bmRlZmluZWQuXG5leHBvcnQgY29uc3QgcGFyc2VFZGl0b3JDb25maWcgPSAoc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVkaXRvcmNvbmZpZy5wYXJzZShzdHJpbmcpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgc3RkaW8uaW5mbygnRmFpbGVkIHRvIHBhcnNlIGVkaXRvcmNvbmZpZzonLCBzdHJpbmcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbi8vIFBhcnNlcyAuZWRpdG9yY29uZmlnIGZpbGUgYXQgYSBnaXZlbiBwYXRoIGFuZCByZXR1cm5zIGFuIG9iamVjdCBpZiBpdCBleGlzdHNcbi8vIGFuZCBpc24ndCBtYWxmb3JtZWQsIG90aGVyd2lzZSBzaWxlbnRseSBmYWlscyBhbmQgcmV0dXJucyB1bmRlZmluZWQuXG5leHBvcnQgY29uc3QgcGFyc2VFZGl0b3JDb25maWdGaWxlID0gYXN5bmMgKGZpbGVQYXRoKSA9PiB7XG4gIHN0ZGlvLmluZm8oJ0F0dGVtcHRpbmcgdG8gcGFyc2UgZmlsZTonLCBmaWxlUGF0aCk7XG4gIGxldCBjb250ZW50cztcbiAgdHJ5IHtcbiAgICBjb250ZW50cyA9IGF3YWl0IGZzLnJlYWRGaWxlKGZpbGVQYXRoLCB7IGVuY29kaW5nOiAndXRmOCcgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBzdGRpby5pbmZvKCdGYWlsZWQgdG8gcmVhZCBmaWxlOicsIGZpbGVQYXRoKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlRWRpdG9yQ29uZmlnKGNvbnRlbnRzKTtcbiAgaWYgKHBhcnNlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RkaW8uaW5mbygnRmFpbGVkIHRvIHBhcnNlIGZpbGU6JywgZmlsZVBhdGgpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHBhcnNlZDtcbn07XG4iXSwiZmlsZSI6InV0aWxzL2VkaXRvcmNvbmZpZ1V0aWxzLmpzIn0= diff --git a/build/js-transpiled/utils/fileUtils.js b/build/js-transpiled/utils/fileUtils.js index b7340c55..17fdb4fd 100644 --- a/build/js-transpiled/utils/fileUtils.js +++ b/build/js-transpiled/utils/fileUtils.js @@ -1,41 +1,47 @@ -'use strict'; +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.isMatchingGlob = exports.isJS = exports.isJSON = exports.isHTML = exports.isCSS = undefined; +exports.isMatchingGlob = exports.isJS = exports.isJSON = exports.isHTML = exports.isCSS = void 0; + +require("core-js/modules/es7.array.includes"); + +require("core-js/modules/es6.string.includes"); + +require("core-js/modules/es6.regexp.constructor"); -var _getIterator2 = require('babel-runtime/core-js/get-iterator'); +require("core-js/modules/es6.regexp.match"); -var _getIterator3 = _interopRequireDefault(_getIterator2); +require("core-js/modules/es7.symbol.async-iterator"); -var _path = require('path'); +require("core-js/modules/es6.symbol"); -var _minimatch = require('minimatch'); +require("core-js/modules/web.dom.iterable"); -var _minimatch2 = _interopRequireDefault(_minimatch); +var _path = require("path"); -var _constants = require('./constants'); +var _minimatch = _interopRequireDefault(require("minimatch")); -var _jsonUtils = require('./jsonUtils'); +var _constants = require("./constants"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _jsonUtils = require("./jsonUtils"); /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -var GLOBAL_FILE_RULES = (0, _jsonUtils.parseJSON5)(_constants.GLOBAL_FILE_RULES_JSON); - -// Checks if a file path is allowed by regexing the file name and expecting +var GLOBAL_FILE_RULES = (0, _jsonUtils.parseJSON5)(_constants.GLOBAL_FILE_RULES_JSON); // Checks if a file path is allowed by regexing the file name and expecting // it not to match certain expressions. + var hasDisallowedFilePathPattern = function hasDisallowedFilePathPattern(fileType, filePath) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { - for (var _iterator = (0, _getIterator3.default)((GLOBAL_FILE_RULES[fileType] || {}).disallowed_file_patterns || []), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = ((GLOBAL_FILE_RULES[fileType] || {}).disallowed_file_patterns || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var pattern = _step.value; if (filePath.match(new RegExp(pattern, 'i'))) { @@ -47,7 +53,7 @@ var hasDisallowedFilePathPattern = function hasDisallowedFilePathPattern(fileTyp _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return) { + if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally { @@ -58,20 +64,20 @@ var hasDisallowedFilePathPattern = function hasDisallowedFilePathPattern(fileTyp } return false; -}; - -// Checks if a file is of a particular type by regexing the file name and +}; // Checks if a file is of a particular type by regexing the file name and // expecting a certain extension. + + var hasAllowedFileExtension = function hasAllowedFileExtension(expectedType, filePath) { var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { - for (var _iterator2 = (0, _getIterator3.default)((GLOBAL_FILE_RULES[expectedType] || {}).allowed_file_extensions || []), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (var _iterator2 = ((GLOBAL_FILE_RULES[expectedType] || {}).allowed_file_extensions || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var extension = _step2.value; - if (filePath.match(new RegExp('\\.' + extension + '$', 'i'))) { + if (filePath.match(new RegExp("\\.".concat(extension, "$"), 'i'))) { return true; } } @@ -80,7 +86,7 @@ var hasAllowedFileExtension = function hasAllowedFileExtension(expectedType, fil _iteratorError2 = err; } finally { try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { _iterator2.return(); } } finally { @@ -91,17 +97,17 @@ var hasAllowedFileExtension = function hasAllowedFileExtension(expectedType, fil } return false; -}; - -// Checks if a file is of a particular type by regexing the syntax name and +}; // Checks if a file is of a particular type by regexing the syntax name and // expecting a pattern. + + var hasAllowedFileSyntax = function hasAllowedFileSyntax(expectedType, fileSyntax) { var _iteratorNormalCompletion3 = true; var _didIteratorError3 = false; var _iteratorError3 = undefined; try { - for (var _iterator3 = (0, _getIterator3.default)((GLOBAL_FILE_RULES[expectedType] || {}).allowed_file_syntaxes || []), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (var _iterator3 = ((GLOBAL_FILE_RULES[expectedType] || {}).allowed_file_syntaxes || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { var pattern = _step3.value; if (fileSyntax.toLowerCase().includes(pattern)) { @@ -113,7 +119,7 @@ var hasAllowedFileSyntax = function hasAllowedFileSyntax(expectedType, fileSynta _iteratorError3 = err; } finally { try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { _iterator3.return(); } } finally { @@ -126,10 +132,9 @@ var hasAllowedFileSyntax = function hasAllowedFileSyntax(expectedType, fileSynta return false; }; -var isCSS = exports.isCSS = function isCSS() { +var isCSS = function isCSS() { var isSavedFile = _constants.ORIGINAL_FILE_PATH !== '?'; var useEditorFileSyntaxForDeterminingFileType = _constants.EDITOR_FILE_SYNTAX !== '?'; - var isAllowedExtension = hasAllowedFileExtension('css', _constants.ORIGINAL_FILE_PATH); var isAllowedSyntax = hasAllowedFileSyntax('css', _constants.EDITOR_FILE_SYNTAX); var isDisallowedFilePattern = hasDisallowedFilePathPattern('css', _constants.ORIGINAL_FILE_PATH); @@ -145,10 +150,11 @@ var isCSS = exports.isCSS = function isCSS() { return useEditorFileSyntaxForDeterminingFileType ? isAllowedSyntax || isAllowedExtension : isAllowedExtension; }; -var isHTML = exports.isHTML = function isHTML(bufferContents) { +exports.isCSS = isCSS; + +var isHTML = function isHTML(bufferContents) { var isSavedFile = _constants.ORIGINAL_FILE_PATH !== '?'; var useEditorFileSyntaxForDeterminingFileType = _constants.EDITOR_FILE_SYNTAX !== '?'; - var isAllowedExtension = hasAllowedFileExtension('html', _constants.ORIGINAL_FILE_PATH); var isAllowedSyntax = hasAllowedFileSyntax('html', _constants.EDITOR_FILE_SYNTAX); var isDisallowedFilePattern = hasDisallowedFilePathPattern('html', _constants.ORIGINAL_FILE_PATH); @@ -165,10 +171,11 @@ var isHTML = exports.isHTML = function isHTML(bufferContents) { return useEditorFileSyntaxForDeterminingFileType ? isAllowedSyntax || isAllowedExtension : isAllowedExtension; }; -var isJSON = exports.isJSON = function isJSON(bufferContents) { +exports.isHTML = isHTML; + +var isJSON = function isJSON(bufferContents) { var isSavedFile = _constants.ORIGINAL_FILE_PATH !== '?'; var useEditorFileSyntaxForDeterminingFileType = _constants.EDITOR_FILE_SYNTAX !== '?'; - var isAllowedExtension = hasAllowedFileExtension('json', _constants.ORIGINAL_FILE_PATH); var isAllowedSyntax = hasAllowedFileSyntax('json', _constants.EDITOR_FILE_SYNTAX); var isDisallowedFilePattern = hasDisallowedFilePathPattern('json', _constants.ORIGINAL_FILE_PATH); @@ -185,10 +192,11 @@ var isJSON = exports.isJSON = function isJSON(bufferContents) { return useEditorFileSyntaxForDeterminingFileType ? isAllowedSyntax || isAllowedExtension : isAllowedExtension; }; -var isJS = exports.isJS = function isJS(bufferContents) { +exports.isJSON = isJSON; + +var isJS = function isJS(bufferContents) { var isSavedFile = _constants.ORIGINAL_FILE_PATH !== '?'; var useEditorFileSyntaxForDeterminingFileType = _constants.EDITOR_FILE_SYNTAX !== '?'; - var isAllowedExtension = hasAllowedFileExtension('js', _constants.ORIGINAL_FILE_PATH); var isAllowedSyntax = hasAllowedFileSyntax('js', _constants.EDITOR_FILE_SYNTAX); var isDisallowedFilePattern = hasDisallowedFilePathPattern('js', _constants.ORIGINAL_FILE_PATH); @@ -203,14 +211,19 @@ var isJS = exports.isJS = function isJS(bufferContents) { } return useEditorFileSyntaxForDeterminingFileType ? isAllowedSyntax || isAllowedExtension : isAllowedExtension; -}; +}; // Checks if a file path matches a particular glob string. + -// Checks if a file path matches a particular glob string. -var isMatchingGlob = exports.isMatchingGlob = function isMatchingGlob(globString) { - // If file unsaved, reject globl matching; +exports.isJS = isJS; + +var isMatchingGlob = function isMatchingGlob(globString) { + // If file unsaved, reject glob matching; if (_constants.ORIGINAL_FILE_PATH === '?') { return false; } - return (0, _minimatch2.default)(_constants.ORIGINAL_FILE_PATH, globString) || (0, _minimatch2.default)((0, _path.basename)(_constants.ORIGINAL_FILE_PATH), globString); + + return (0, _minimatch.default)(_constants.ORIGINAL_FILE_PATH, globString) || (0, _minimatch.default)((0, _path.basename)(_constants.ORIGINAL_FILE_PATH), globString); }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2ZpbGVVdGlscy5qcyJdLCJuYW1lcyI6WyJHTE9CQUxfRklMRV9SVUxFUyIsImhhc0Rpc2FsbG93ZWRGaWxlUGF0aFBhdHRlcm4iLCJmaWxlVHlwZSIsImZpbGVQYXRoIiwiZGlzYWxsb3dlZF9maWxlX3BhdHRlcm5zIiwicGF0dGVybiIsIm1hdGNoIiwiUmVnRXhwIiwiaGFzQWxsb3dlZEZpbGVFeHRlbnNpb24iLCJleHBlY3RlZFR5cGUiLCJhbGxvd2VkX2ZpbGVfZXh0ZW5zaW9ucyIsImV4dGVuc2lvbiIsImhhc0FsbG93ZWRGaWxlU3ludGF4IiwiZmlsZVN5bnRheCIsImFsbG93ZWRfZmlsZV9zeW50YXhlcyIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJpc0NTUyIsImlzU2F2ZWRGaWxlIiwidXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGUiLCJpc0FsbG93ZWRFeHRlbnNpb24iLCJpc0FsbG93ZWRTeW50YXgiLCJpc0Rpc2FsbG93ZWRGaWxlUGF0dGVybiIsImlzSFRNTCIsImJ1ZmZlckNvbnRlbnRzIiwiaXNNYXliZUh0bWwiLCJpc0pTT04iLCJpc01heWJlSnNvbiIsImlzSlMiLCJpc01heWJlSnMiLCJpc01hdGNoaW5nR2xvYiIsImdsb2JTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7O0FBRUE7Ozs7QUFFQTs7QUFDQTs7OztBQVRBOzs7O0FBV0EsSUFBTUEsb0JBQW9CLDZEQUExQjs7QUFFQTtBQUNBO0FBQ0EsSUFBTUMsK0JBQStCLFNBQS9CQSw0QkFBK0IsQ0FBQ0MsUUFBRCxFQUFXQyxRQUFYLEVBQXdCO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQzNELG9EQUFzQixDQUFDSCxrQkFBa0JFLFFBQWxCLEtBQStCLEVBQWhDLEVBQW9DRSx3QkFBcEMsSUFBZ0UsRUFBdEYsNEdBQTBGO0FBQUEsVUFBL0VDLE9BQStFOztBQUN4RixVQUFJRixTQUFTRyxLQUFULENBQWUsSUFBSUMsTUFB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MENBQWlCLFNBQWpCQSxjQUFpQixDQUFDQyxVQUFELEVBQWdCO0FBQzVDO0FBQ0EsTUFBSSxrQ0FBdUIsR0FBM0IsRUFBZ0M7QUFDOUIsV0FBTyxLQUFQO0FBQ0Q7QUFDRCxTQUNFLHdEQUE4QkEsVUFBOUIsS0FDQSx5QkFBVSxrREFBVixFQUF3Q0EsVUFBeEMsQ0FGRjtBQUlELENBVE0iLCJmaWxlIjoidXRpbHMvZmlsZVV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IG1pbmltYXRjaCBmcm9tICdtaW5pbWF0Y2gnO1xuXG5pbXBvcnQgeyBHTE9CQUxfRklMRV9SVUxFU19KU09OLCBPUklHSU5BTF9GSUxFX1BBVEgsIEVESVRPUl9GSUxFX1NZTlRBWCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHBhcnNlSlNPTjUgfSBmcm9tICcuL2pzb25VdGlscyc7XG5cbmNvbnN0IEdMT0JBTF9GSUxFX1JVTEVTID0gcGFyc2VKU09ONShHTE9CQUxfRklMRV9SVUxFU19KU09OKTtcblxuLy8gQ2hlY2tzIGlmIGEgZmlsZSBwYXRoIGlzIGFsbG93ZWQgYnkgcmVnZXhpbmcgdGhlIGZpbGUgbmFtZSBhbmQgZXhwZWN0aW5nXG4vLyBpdCBub3QgdG8gbWF0Y2ggY2VydGFpbiBleHByZXNzaW9ucy5cbmNvbnN0IGhhc0Rpc2FsbG93ZWRGaWxlUGF0aFBhdHRlcm4gPSAoZmlsZVR5cGUsIGZpbGVQYXRoKSA9PiB7XG4gIGZvciAoY29uc3QgcGF0dGVybiBvZiAoR0xPQkFMX0ZJTEVfUlVMRVNbZmlsZVR5cGVdIHx8IHt9KS5kaXNhbGxvd2VkX2ZpbGVfcGF0dGVybnMgfHwgW10pIHtcbiAgICBpZiAoZmlsZVBhdGgubWF0Y2gobmV3IFJlZ0V4cChwYXR0ZXJuLCAnaScpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8vIENoZWNrcyBpZiBhIGZpbGUgaXMgb2YgYSBwYXJ0aWN1bGFyIHR5cGUgYnkgcmVnZXhpbmcgdGhlIGZpbGUgbmFtZSBhbmRcbi8vIGV4cGVjdGluZyBhIGNlcnRhaW4gZXh0ZW5zaW9uLlxuY29uc3QgaGFzQWxsb3dlZEZpbGVFeHRlbnNpb24gPSAoZXhwZWN0ZWRUeXBlLCBmaWxlUGF0aCkgPT4ge1xuICBmb3IgKGNvbnN0IGV4dGVuc2lvbiBvZiAoR0xPQkFMX0ZJTEVfUlVMRVNbZXhwZWN0ZWRUeXBlXSB8fCB7fSkuYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMgfHwgW10pIHtcbiAgICBpZiAoZmlsZVBhdGgubWF0Y2gobmV3IFJlZ0V4cChgXFxcXC4ke2V4dGVuc2lvbn0kYCwgJ2knKSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vLyBDaGVja3MgaWYgYSBmaWxlIGlzIG9mIGEgcGFydGljdWxhciB0eXBlIGJ5IHJlZ2V4aW5nIHRoZSBzeW50YXggbmFtZSBhbmRcbi8vIGV4cGVjdGluZyBhIHBhdHRlcm4uXG5jb25zdCBoYXNBbGxvd2VkRmlsZVN5bnRheCA9IChleHBlY3RlZFR5cGUsIGZpbGVTeW50YXgpID0+IHtcbiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIChHTE9CQUxfRklMRV9SVUxFU1tleHBlY3RlZFR5cGVdIHx8IHt9KS5hbGxvd2VkX2ZpbGVfc3ludGF4ZXMgfHwgW10pIHtcbiAgICBpZiAoZmlsZVN5bnRheC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHBhdHRlcm4pKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ1NTID0gKCkgPT4ge1xuICBjb25zdCBpc1NhdmVkRmlsZSA9IE9SSUdJTkFMX0ZJTEVfUEFUSCAhPT0gJz8nO1xuICBjb25zdCB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZSA9IEVESVRPUl9GSUxFX1NZTlRBWCAhPT0gJz8nO1xuXG4gIGNvbnN0IGlzQWxsb3dlZEV4dGVuc2lvbiA9IGhhc0FsbG93ZWRGaWxlRXh0ZW5zaW9uKCdjc3MnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc0FsbG93ZWRTeW50YXggPSBoYXNBbGxvd2VkRmlsZVN5bnRheCgnY3NzJywgRURJVE9SX0ZJTEVfU1lOVEFYKTtcbiAgY29uc3QgaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4gPSBoYXNEaXNhbGxvd2VkRmlsZVBhdGhQYXR0ZXJuKCdjc3MnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuXG4gIGlmICghaXNTYXZlZEZpbGUpIHtcbiAgICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4XG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlXG4gICAgICA/IGlzQWxsb3dlZFN5bnRheCB8fCBpc0FsbG93ZWRFeHRlbnNpb25cbiAgICAgIDogaXNBbGxvd2VkRXh0ZW5zaW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzSFRNTCA9IChidWZmZXJDb250ZW50cykgPT4ge1xuICBjb25zdCBpc1NhdmVkRmlsZSA9IE9SSUdJTkFMX0ZJTEVfUEFUSCAhPT0gJz8nO1xuICBjb25zdCB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZSA9IEVESVRPUl9GSUxFX1NZTlRBWCAhPT0gJz8nO1xuXG4gIGNvbnN0IGlzQWxsb3dlZEV4dGVuc2lvbiA9IGhhc0FsbG93ZWRGaWxlRXh0ZW5zaW9uKCdodG1sJywgT1JJR0lOQUxfRklMRV9QQVRIKTtcbiAgY29uc3QgaXNBbGxvd2VkU3ludGF4ID0gaGFzQWxsb3dlZEZpbGVTeW50YXgoJ2h0bWwnLCBFRElUT1JfRklMRV9TWU5UQVgpO1xuICBjb25zdCBpc0Rpc2FsbG93ZWRGaWxlUGF0dGVybiA9IGhhc0Rpc2FsbG93ZWRGaWxlUGF0aFBhdHRlcm4oJ2h0bWwnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc01heWJlSHRtbCA9IGJ1ZmZlckNvbnRlbnRzLm1hdGNoKC9eXFxzKjwvKTtcblxuICBpZiAoIWlzU2F2ZWRGaWxlKSB7XG4gICAgcmV0dXJuIHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlXG4gICAgICA/IGlzQWxsb3dlZFN5bnRheCB8fCBpc01heWJlSHRtbFxuICAgICAgOiBpc01heWJlSHRtbDtcbiAgfVxuXG4gIGlmIChpc0Rpc2FsbG93ZWRGaWxlUGF0dGVybikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZVxuICAgICAgPyBpc0FsbG93ZWRTeW50YXggfHwgaXNBbGxvd2VkRXh0ZW5zaW9uXG4gICAgICA6IGlzQWxsb3dlZEV4dGVuc2lvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0pTT04gPSAoYnVmZmVyQ29udGVudHMpID0+IHtcbiAgY29uc3QgaXNTYXZlZEZpbGUgPSBPUklHSU5BTF9GSUxFX1BBVEggIT09ICc/JztcbiAgY29uc3QgdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGUgPSBFRElUT1JfRklMRV9TWU5UQVggIT09ICc/JztcblxuICBjb25zdCBpc0FsbG93ZWRFeHRlbnNpb24gPSBoYXNBbGxvd2VkRmlsZUV4dGVuc2lvbignanNvbicsIE9SSUdJTkFMX0ZJTEVfUEFUSCk7XG4gIGNvbnN0IGlzQWxsb3dlZFN5bnRheCA9IGhhc0FsbG93ZWRGaWxlU3ludGF4KCdqc29uJywgRURJVE9SX0ZJTEVfU1lOVEFYKTtcbiAgY29uc3QgaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4gPSBoYXNEaXNhbGxvd2VkRmlsZVBhdGhQYXR0ZXJuKCdqc29uJywgT1JJR0lOQUxfRklMRV9QQVRIKTtcbiAgY29uc3QgaXNNYXliZUpzb24gPSBidWZmZXJDb250ZW50cy5tYXRjaCgvXlxccypbe1tdLyk7XG5cbiAgaWYgKCFpc1NhdmVkRmlsZSkge1xuICAgIHJldHVybiB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZVxuICAgICAgPyBpc0FsbG93ZWRTeW50YXggfHwgaXNNYXliZUpzb25cbiAgICAgIDogaXNNYXliZUpzb247XG4gIH1cblxuICBpZiAoaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4IHx8IGlzQWxsb3dlZEV4dGVuc2lvblxuICAgICAgOiBpc0FsbG93ZWRFeHRlbnNpb247XG59O1xuXG5leHBvcnQgY29uc3QgaXNKUyA9IChidWZmZXJDb250ZW50cykgPT4ge1xuICBjb25zdCBpc1NhdmVkRmlsZSA9IE9SSUdJTkFMX0ZJTEVfUEFUSCAhPT0gJz8nO1xuICBjb25zdCB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZSA9IEVESVRPUl9GSUxFX1NZTlRBWCAhPT0gJz8nO1xuXG4gIGNvbnN0IGlzQWxsb3dlZEV4dGVuc2lvbiA9IGhhc0FsbG93ZWRGaWxlRXh0ZW5zaW9uKCdqcycsIE9SSUdJTkFMX0ZJTEVfUEFUSCk7XG4gIGNvbnN0IGlzQWxsb3dlZFN5bnRheCA9IGhhc0FsbG93ZWRGaWxlU3ludGF4KCdqcycsIEVESVRPUl9GSUxFX1NZTlRBWCk7XG4gIGNvbnN0IGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuID0gaGFzRGlzYWxsb3dlZEZpbGVQYXRoUGF0dGVybignanMnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc01heWJlSnMgPSAhYnVmZmVyQ29udGVudHMubWF0Y2goL15cXHMqPC8pO1xuXG4gIGlmICghaXNTYXZlZEZpbGUpIHtcbiAgICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4IHx8IGlzTWF5YmVKc1xuICAgICAgOiBpc01heWJlSnM7XG4gIH1cblxuICBpZiAoaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4IHx8IGlzQWxsb3dlZEV4dGVuc2lvblxuICAgICAgOiBpc0FsbG93ZWRFeHRlbnNpb247XG59O1xuXG4vLyBDaGVja3MgaWYgYSBmaWxlIHBhdGggbWF0Y2hlcyBhIHBhcnRpY3VsYXIgZ2xvYiBzdHJpbmcuXG5leHBvcnQgY29uc3QgaXNNYXRjaGluZ0dsb2IgPSAoZ2xvYlN0cmluZykgPT4ge1xuICAvLyBJZiBmaWxlIHVuc2F2ZWQsIHJlamVjdCBnbG9ibCBtYXRjaGluZztcbiAgaWYgKE9SSUdJTkFMX0ZJTEVfUEFUSCA9PT0gJz8nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgbWluaW1hdGNoKE9SSUdJTkFMX0ZJTEVfUEFUSCwgZ2xvYlN0cmluZykgfHxcbiAgICBtaW5pbWF0Y2goYmFzZW5hbWUoT1JJR0lOQUxfRklMRV9QQVRIKSwgZ2xvYlN0cmluZylcbiAgKTtcbn07XG5cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== + +exports.isMatchingGlob = isMatchingGlob; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2ZpbGVVdGlscy5qcyJdLCJuYW1lcyI6WyJHTE9CQUxfRklMRV9SVUxFUyIsIkdMT0JBTF9GSUxFX1JVTEVTX0pTT04iLCJoYXNEaXNhbGxvd2VkRmlsZVBhdGhQYXR0ZXJuIiwiZmlsZVR5cGUiLCJmaWxlUGF0aCIsImRpc2FsbG93ZWRfZmlsZV9wYXR0ZXJucyIsInBhdHRlcm4iLCJtYXRjaCIsIlJlZ0V4cCIsImhhc0FsbG93ZWRGaWxlRXh0ZW5zaW9uIiwiZXhwZWN0ZWRUeXBlIiwiYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMiLCJleHRlbnNpb24iLCJoYXNBbGxvd2VkRmlsZVN5bnRheCIsImZpbGVTeW50YXgiLCJhbGxvd2VkX2ZpbGVfc3ludGF4ZXMiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiaXNDU1MiLCJpc1NhdmVkRmlsZSIsIk9SSUdJTkFMX0ZJTEVfUEFUSCIsInVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlIiwiRURJVE9SX0ZJTEVfU1lOVEFYIiwiaXNBbGxvd2VkRXh0ZW5zaW9uIiwiaXNBbGxvd2VkU3ludGF4IiwiaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4iLCJpc0hUTUwiLCJidWZmZXJDb250ZW50cyIsImlzTWF5YmVIdG1sIiwiaXNKU09OIiwiaXNNYXliZUpzb24iLCJpc0pTIiwiaXNNYXliZUpzIiwiaXNNYXRjaGluZ0dsb2IiLCJnbG9iU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBOztBQUVBOztBQUVBOztBQUNBOztBQVRBOzs7QUFXQSxJQUFNQSxpQkFBaUIsR0FBRywyQkFBV0MsaUNBQVgsQ0FBMUIsQyxDQUVBO0FBQ0E7O0FBQ0EsSUFBTUMsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUErQixDQUFDQyxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFDM0QsMEJBQXNCLENBQUNKLGlCQUFpQixDQUFDRyxRQUFE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QU1RLElBQUksR0FBRyxTQUFQQSxJQUFPLENBQUNKLGNBQUQsRUFBb0I7QUFDdEMsTUFBTVIsV0FBVyxHQUFHQyxrQ0FBdUIsR0FBM0M7QUFDQSxNQUFNQyx5Q0FBeUMsR0FBR0Msa0NBQXVCLEdBQXpFO0FBRUEsTUFBTUMsa0JBQWtCLEdBQUdkLHVCQUF1QixDQUFDLElBQUQsRUFBT1csNkJBQVAsQ0FBbEQ7QUFDQSxNQUFNSSxlQUFlLEdBQUdYLG9CQUFvQixDQUFDLElBQUQsRUFBT1MsNkJBQVAsQ0FBNUM7QUFDQSxNQUFNRyx1QkFBdUIsR0FBR3ZCLDRCQUE0QixDQUFDLElBQUQsRUFBT2tCLDZCQUFQLENBQTVEO0FBQ0EsTUFBTVksU0FBUyxHQUFHLENBQUNMLGNBQWMsQ0FBQ3BCLEtBQWYsQ0FBcUIsT0FBckIsQ0FBbkI7O0FBRUEsTUFBSSxDQUFDWSxXQUFMLEVBQWtCO0FBQ2hCLFdBQU9FLHlDQUF5QyxHQUM1Q0csZUFBZSxJQUFJUSxTQUR5QixHQUU1Q0EsU0FGSjtBQUdEOztBQUVELE1BQUlQLHVCQUFKLEVBQTZCO0FBQzNCLFdBQU8sS0FBUDtBQUNEOztBQUVELFNBQU9KLHlDQUF5QyxHQUM1Q0csZUFBZSxJQUFJRCxrQkFEeUIsR0FFNUNBLGtCQUZKO0FBR0QsQ0F0Qk0sQyxDQXdCUDs7Ozs7QUFDTyxJQUFNVSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLFVBQUQsRUFBZ0I7QUFDNUM7QUFDQSxNQUFJZCxrQ0FBdUIsR0FBM0IsRUFBZ0M7QUFDOUIsV0FBTyxLQUFQO0FBQ0Q7O0FBQ0QsU0FDRSx3QkFBVUEsNkJBQVYsRUFBOEJjLFVBQTlCLEtBQ0csd0JBQVUsb0JBQVNkLDZCQUFULENBQVYsRUFBd0NjLFVBQXhDLENBRkw7QUFJRCxDQVRNIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IG1pbmltYXRjaCBmcm9tICdtaW5pbWF0Y2gnO1xuXG5pbXBvcnQgeyBHTE9CQUxfRklMRV9SVUxFU19KU09OLCBPUklHSU5BTF9GSUxFX1BBVEgsIEVESVRPUl9GSUxFX1NZTlRBWCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHBhcnNlSlNPTjUgfSBmcm9tICcuL2pzb25VdGlscyc7XG5cbmNvbnN0IEdMT0JBTF9GSUxFX1JVTEVTID0gcGFyc2VKU09ONShHTE9CQUxfRklMRV9SVUxFU19KU09OKTtcblxuLy8gQ2hlY2tzIGlmIGEgZmlsZSBwYXRoIGlzIGFsbG93ZWQgYnkgcmVnZXhpbmcgdGhlIGZpbGUgbmFtZSBhbmQgZXhwZWN0aW5nXG4vLyBpdCBub3QgdG8gbWF0Y2ggY2VydGFpbiBleHByZXNzaW9ucy5cbmNvbnN0IGhhc0Rpc2FsbG93ZWRGaWxlUGF0aFBhdHRlcm4gPSAoZmlsZVR5cGUsIGZpbGVQYXRoKSA9PiB7XG4gIGZvciAoY29uc3QgcGF0dGVybiBvZiAoR0xPQkFMX0ZJTEVfUlVMRVNbZmlsZVR5cGVdIHx8IHt9KS5kaXNhbGxvd2VkX2ZpbGVfcGF0dGVybnMgfHwgW10pIHtcbiAgICBpZiAoZmlsZVBhdGgubWF0Y2gobmV3IFJlZ0V4cChwYXR0ZXJuLCAnaScpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8vIENoZWNrcyBpZiBhIGZpbGUgaXMgb2YgYSBwYXJ0aWN1bGFyIHR5cGUgYnkgcmVnZXhpbmcgdGhlIGZpbGUgbmFtZSBhbmRcbi8vIGV4cGVjdGluZyBhIGNlcnRhaW4gZXh0ZW5zaW9uLlxuY29uc3QgaGFzQWxsb3dlZEZpbGVFeHRlbnNpb24gPSAoZXhwZWN0ZWRUeXBlLCBmaWxlUGF0aCkgPT4ge1xuICBmb3IgKGNvbnN0IGV4dGVuc2lvbiBvZiAoR0xPQkFMX0ZJTEVfUlVMRVNbZXhwZWN0ZWRUeXBlXSB8fCB7fSkuYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMgfHwgW10pIHtcbiAgICBpZiAoZmlsZVBhdGgubWF0Y2gobmV3IFJlZ0V4cChgXFxcXC4ke2V4dGVuc2lvbn0kYCwgJ2knKSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vLyBDaGVja3MgaWYgYSBmaWxlIGlzIG9mIGEgcGFydGljdWxhciB0eXBlIGJ5IHJlZ2V4aW5nIHRoZSBzeW50YXggbmFtZSBhbmRcbi8vIGV4cGVjdGluZyBhIHBhdHRlcm4uXG5jb25zdCBoYXNBbGxvd2VkRmlsZVN5bnRheCA9IChleHBlY3RlZFR5cGUsIGZpbGVTeW50YXgpID0+IHtcbiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIChHTE9CQUxfRklMRV9SVUxFU1tleHBlY3RlZFR5cGVdIHx8IHt9KS5hbGxvd2VkX2ZpbGVfc3ludGF4ZXMgfHwgW10pIHtcbiAgICBpZiAoZmlsZVN5bnRheC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHBhdHRlcm4pKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ1NTID0gKCkgPT4ge1xuICBjb25zdCBpc1NhdmVkRmlsZSA9IE9SSUdJTkFMX0ZJTEVfUEFUSCAhPT0gJz8nO1xuICBjb25zdCB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZSA9IEVESVRPUl9GSUxFX1NZTlRBWCAhPT0gJz8nO1xuXG4gIGNvbnN0IGlzQWxsb3dlZEV4dGVuc2lvbiA9IGhhc0FsbG93ZWRGaWxlRXh0ZW5zaW9uKCdjc3MnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc0FsbG93ZWRTeW50YXggPSBoYXNBbGxvd2VkRmlsZVN5bnRheCgnY3NzJywgRURJVE9SX0ZJTEVfU1lOVEFYKTtcbiAgY29uc3QgaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4gPSBoYXNEaXNhbGxvd2VkRmlsZVBhdGhQYXR0ZXJuKCdjc3MnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuXG4gIGlmICghaXNTYXZlZEZpbGUpIHtcbiAgICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4XG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlXG4gICAgPyBpc0FsbG93ZWRTeW50YXggfHwgaXNBbGxvd2VkRXh0ZW5zaW9uXG4gICAgOiBpc0FsbG93ZWRFeHRlbnNpb247XG59O1xuXG5leHBvcnQgY29uc3QgaXNIVE1MID0gKGJ1ZmZlckNvbnRlbnRzKSA9PiB7XG4gIGNvbnN0IGlzU2F2ZWRGaWxlID0gT1JJR0lOQUxfRklMRV9QQVRIICE9PSAnPyc7XG4gIGNvbnN0IHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlID0gRURJVE9SX0ZJTEVfU1lOVEFYICE9PSAnPyc7XG5cbiAgY29uc3QgaXNBbGxvd2VkRXh0ZW5zaW9uID0gaGFzQWxsb3dlZEZpbGVFeHRlbnNpb24oJ2h0bWwnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc0FsbG93ZWRTeW50YXggPSBoYXNBbGxvd2VkRmlsZVN5bnRheCgnaHRtbCcsIEVESVRPUl9GSUxFX1NZTlRBWCk7XG4gIGNvbnN0IGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuID0gaGFzRGlzYWxsb3dlZEZpbGVQYXRoUGF0dGVybignaHRtbCcsIE9SSUdJTkFMX0ZJTEVfUEFUSCk7XG4gIGNvbnN0IGlzTWF5YmVIdG1sID0gYnVmZmVyQ29udGVudHMubWF0Y2goL15cXHMqPC8pO1xuXG4gIGlmICghaXNTYXZlZEZpbGUpIHtcbiAgICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4IHx8IGlzTWF5YmVIdG1sXG4gICAgICA6IGlzTWF5YmVIdG1sO1xuICB9XG5cbiAgaWYgKGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlXG4gICAgPyBpc0FsbG93ZWRTeW50YXggfHwgaXNBbGxvd2VkRXh0ZW5zaW9uXG4gICAgOiBpc0FsbG93ZWRFeHRlbnNpb247XG59O1xuXG5leHBvcnQgY29uc3QgaXNKU09OID0gKGJ1ZmZlckNvbnRlbnRzKSA9PiB7XG4gIGNvbnN0IGlzU2F2ZWRGaWxlID0gT1JJR0lOQUxfRklMRV9QQVRIICE9PSAnPyc7XG4gIGNvbnN0IHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlID0gRURJVE9SX0ZJTEVfU1lOVEFYICE9PSAnPyc7XG5cbiAgY29uc3QgaXNBbGxvd2VkRXh0ZW5zaW9uID0gaGFzQWxsb3dlZEZpbGVFeHRlbnNpb24oJ2pzb24nLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc0FsbG93ZWRTeW50YXggPSBoYXNBbGxvd2VkRmlsZVN5bnRheCgnanNvbicsIEVESVRPUl9GSUxFX1NZTlRBWCk7XG4gIGNvbnN0IGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuID0gaGFzRGlzYWxsb3dlZEZpbGVQYXRoUGF0dGVybignanNvbicsIE9SSUdJTkFMX0ZJTEVfUEFUSCk7XG4gIGNvbnN0IGlzTWF5YmVKc29uID0gYnVmZmVyQ29udGVudHMubWF0Y2goL15cXHMqW3tbXS8pO1xuXG4gIGlmICghaXNTYXZlZEZpbGUpIHtcbiAgICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4IHx8IGlzTWF5YmVKc29uXG4gICAgICA6IGlzTWF5YmVKc29uO1xuICB9XG5cbiAgaWYgKGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHVzZUVkaXRvckZpbGVTeW50YXhGb3JEZXRlcm1pbmluZ0ZpbGVUeXBlXG4gICAgPyBpc0FsbG93ZWRTeW50YXggfHwgaXNBbGxvd2VkRXh0ZW5zaW9uXG4gICAgOiBpc0FsbG93ZWRFeHRlbnNpb247XG59O1xuXG5leHBvcnQgY29uc3QgaXNKUyA9IChidWZmZXJDb250ZW50cykgPT4ge1xuICBjb25zdCBpc1NhdmVkRmlsZSA9IE9SSUdJTkFMX0ZJTEVfUEFUSCAhPT0gJz8nO1xuICBjb25zdCB1c2VFZGl0b3JGaWxlU3ludGF4Rm9yRGV0ZXJtaW5pbmdGaWxlVHlwZSA9IEVESVRPUl9GSUxFX1NZTlRBWCAhPT0gJz8nO1xuXG4gIGNvbnN0IGlzQWxsb3dlZEV4dGVuc2lvbiA9IGhhc0FsbG93ZWRGaWxlRXh0ZW5zaW9uKCdqcycsIE9SSUdJTkFMX0ZJTEVfUEFUSCk7XG4gIGNvbnN0IGlzQWxsb3dlZFN5bnRheCA9IGhhc0FsbG93ZWRGaWxlU3ludGF4KCdqcycsIEVESVRPUl9GSUxFX1NZTlRBWCk7XG4gIGNvbnN0IGlzRGlzYWxsb3dlZEZpbGVQYXR0ZXJuID0gaGFzRGlzYWxsb3dlZEZpbGVQYXRoUGF0dGVybignanMnLCBPUklHSU5BTF9GSUxFX1BBVEgpO1xuICBjb25zdCBpc01heWJlSnMgPSAhYnVmZmVyQ29udGVudHMubWF0Y2goL15cXHMqPC8pO1xuXG4gIGlmICghaXNTYXZlZEZpbGUpIHtcbiAgICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICAgID8gaXNBbGxvd2VkU3ludGF4IHx8IGlzTWF5YmVKc1xuICAgICAgOiBpc01heWJlSnM7XG4gIH1cblxuICBpZiAoaXNEaXNhbGxvd2VkRmlsZVBhdHRlcm4pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdXNlRWRpdG9yRmlsZVN5bnRheEZvckRldGVybWluaW5nRmlsZVR5cGVcbiAgICA/IGlzQWxsb3dlZFN5bnRheCB8fCBpc0FsbG93ZWRFeHRlbnNpb25cbiAgICA6IGlzQWxsb3dlZEV4dGVuc2lvbjtcbn07XG5cbi8vIENoZWNrcyBpZiBhIGZpbGUgcGF0aCBtYXRjaGVzIGEgcGFydGljdWxhciBnbG9iIHN0cmluZy5cbmV4cG9ydCBjb25zdCBpc01hdGNoaW5nR2xvYiA9IChnbG9iU3RyaW5nKSA9PiB7XG4gIC8vIElmIGZpbGUgdW5zYXZlZCwgcmVqZWN0IGdsb2IgbWF0Y2hpbmc7XG4gIGlmIChPUklHSU5BTF9GSUxFX1BBVEggPT09ICc/Jykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gKFxuICAgIG1pbmltYXRjaChPUklHSU5BTF9GSUxFX1BBVEgsIGdsb2JTdHJpbmcpXG4gICAgfHwgbWluaW1hdGNoKGJhc2VuYW1lKE9SSUdJTkFMX0ZJTEVfUEFUSCksIGdsb2JTdHJpbmcpXG4gICk7XG59O1xuIl0sImZpbGUiOiJ1dGlscy9maWxlVXRpbHMuanMifQ== diff --git a/build/js-transpiled/utils/jsonUtils.js b/build/js-transpiled/utils/jsonUtils.js index eac7d60b..321b07de 100644 --- a/build/js-transpiled/utils/jsonUtils.js +++ b/build/js-transpiled/utils/jsonUtils.js @@ -1,100 +1,99 @@ -'use strict'; +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseJSON5File = exports.parseJSON5 = undefined; - -var _regenerator = require('babel-runtime/regenerator'); - -var _regenerator2 = _interopRequireDefault(_regenerator); - -var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); - -var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +exports.parseJSON5File = exports.parseJSON5 = void 0; -var _fsExtra = require('fs-extra'); +var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); -var _fsExtra2 = _interopRequireDefault(_fsExtra); +require("regenerator-runtime/runtime"); -var _json = require('json5'); +var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); -var _json2 = _interopRequireDefault(_json); +var _fsExtra = _interopRequireDefault(require("fs-extra")); -var _stdioUtils = require('./stdioUtils'); +var _json = _interopRequireDefault(require("json5")); -var stdio = _interopRequireWildcard(_stdioUtils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var stdio = _interopRequireWildcard(require("./stdioUtils")); +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // Parses some json text if it's well formed, otherwise silently fails and // returns undefined. -var parseJSON5 = exports.parseJSON5 = function parseJSON5(string) { +var parseJSON5 = function parseJSON5(string) { try { - return _json2.default.parse(string); + return _json.default.parse(string); } catch (e) { stdio.info('Failed to parse jsbeautifyrc:', string); return undefined; } -}; - -// Parses a json file at a given path and returns an object if it exists +}; // Parses a json file at a given path and returns an object if it exists // and isn't malformed, otherwise silently fails and returns undefined. -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -var parseJSON5File = exports.parseJSON5File = function () { - var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(filePath) { + +exports.parseJSON5 = parseJSON5; + +var parseJSON5File = +/*#__PURE__*/ +function () { + var _ref = (0, _asyncToGenerator2.default)( + /*#__PURE__*/ + _regenerator.default.mark(function _callee(filePath) { var contents, parsed; - return _regenerator2.default.wrap(function _callee$(_context) { + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: stdio.info('Attempting to parse file:', filePath); - contents = void 0; - _context.prev = 2; - _context.next = 5; - return _fsExtra2.default.readFile(filePath, { encoding: 'utf8' }); + _context.prev = 1; + _context.next = 4; + return _fsExtra.default.readFile(filePath, { + encoding: 'utf8' + }); - case 5: + case 4: contents = _context.sent; - _context.next = 12; + _context.next = 11; break; - case 8: - _context.prev = 8; - _context.t0 = _context['catch'](2); - + case 7: + _context.prev = 7; + _context.t0 = _context["catch"](1); stdio.info('Failed to read file:', filePath); - return _context.abrupt('return', undefined); + return _context.abrupt("return", undefined); - case 12: + case 11: parsed = parseJSON5(contents); if (!(parsed === undefined)) { - _context.next = 16; + _context.next = 15; break; } stdio.info('Failed to parse file:', filePath); - return _context.abrupt('return', undefined); + return _context.abrupt("return", undefined); - case 16: - return _context.abrupt('return', parsed); + case 15: + return _context.abrupt("return", parsed); - case 17: - case 'end': + case 16: + case "end": return _context.stop(); } } - }, _callee, undefined, [[2, 8]]); + }, _callee, this, [[1, 7]]); })); return function parseJSON5File(_x) { return _ref.apply(this, arguments); }; }(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2pzb25VdGlscy5qcyJdLCJuYW1lcyI6WyJzdGRpbyIsInBhcnNlSlNPTjUiLCJzdHJpbmciLCJwYXJzZSIsImUiLCJpbmZvIiwidW5kZWZpbmVkIiwicGFyc2VKU09ONUZpbGUiLCJmaWxlUGF0aCIsImNvbnRlbnRzIiwicmVhZEZpbGUiLCJlbmNvZGluZyIsInBhcnNlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBSUE7Ozs7QUFDQTs7OztBQUVBOztJQUFZQSxLOzs7Ozs7QUFFWjtBQUNBO0FBQ08sSUFBTUMsa0NBQWEsU0FBYkEsVUFBYSxDQUFDQyxNQUFELEVBQVk7QUFDcEMsTUFBSTtBQUNGLFdBQU8sZUFBTUMsS0FBTixDQUFZRCxNQUFaLENBQVA7QUFDRCxHQUZELENBRUUsT0FBT0UsQ0FBUCxFQUFVO0FBQ1ZKLFVBQU1LLElBQU4sQ0FBVywrQkFBWCxFQUE0Q0gsTUFBNUM7QUFDQSxXQUFPSSxTQUFQO0FBQ0Q7QUFDRixDQVBNOztBQVNQO0FBQ0E7QUFyQkE7Ozs7QUFzQk8sSUFBTUM7QUFBQSx3RUFBaUIsaUJBQU9DLFFBQVA7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzVCUixrQkFBTUssSUFBTixDQUFXLDJCQUFYLEVBQXdDRyxRQUF4QztBQUNJQyxvQkFGd0I7QUFBQTtBQUFBO0FBQUEsbUJBSVQsa0JBQUdDLFFBQUgsQ0FBWUYsUUFBWixFQUFzQixFQUFFRyxVQUFVLE1BQVosRUFBdEIsQ0FKUzs7QUFBQTtBQUkxQkYsb0JBSjBCO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBTTFCVCxrQkFBTUssSUFBTixDQUFXLHNCQUFYLEVBQW1DRyxRQUFuQztBQU4wQiw2Q0FPbkJGLFNBUG1COztBQUFBO0FBU3RCTSxrQkFUc0IsR0FTYlgsV0FBV1EsUUFBWCxDQVRhOztBQUFBLGtCQVV4QkcsV0FBV04sU0FWYTtBQUFBO0FBQUE7QUFBQTs7QUFXMUJOLGtCQUFNSyxJQUFOLENBQVcsdUJBQVgsRUFBb0NHLFFBQXBDO0FBWDBCLDZDQVluQkYsU0FabUI7O0FBQUE7QUFBQSw2Q0FjckJNLE1BZHFCOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEdBQWpCOztBQUFBO0FBQUE7QUFBQTtBQUFBLEdBQU4iLCJmaWxlIjoidXRpbHMvanNvblV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBKU09ONSBmcm9tICdqc29uNSc7XG5cbmltcG9ydCAqIGFzIHN0ZGlvIGZyb20gJy4vc3RkaW9VdGlscyc7XG5cbi8vIFBhcnNlcyBzb21lIGpzb24gdGV4dCBpZiBpdCdzIHdlbGwgZm9ybWVkLCBvdGhlcndpc2Ugc2lsZW50bHkgZmFpbHMgYW5kXG4vLyByZXR1cm5zIHVuZGVmaW5lZC5cbmV4cG9ydCBjb25zdCBwYXJzZUpTT041ID0gKHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09ONS5wYXJzZShzdHJpbmcpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgc3RkaW8uaW5mbygnRmFpbGVkIHRvIHBhcnNlIGpzYmVhdXRpZnlyYzonLCBzdHJpbmcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbi8vIFBhcnNlcyBhIGpzb24gZmlsZSBhdCBhIGdpdmVuIHBhdGggYW5kIHJldHVybnMgYW4gb2JqZWN0IGlmIGl0IGV4aXN0c1xuLy8gYW5kIGlzbid0IG1hbGZvcm1lZCwgb3RoZXJ3aXNlIHNpbGVudGx5IGZhaWxzIGFuZCByZXR1cm5zIHVuZGVmaW5lZC5cbmV4cG9ydCBjb25zdCBwYXJzZUpTT041RmlsZSA9IGFzeW5jIChmaWxlUGF0aCkgPT4ge1xuICBzdGRpby5pbmZvKCdBdHRlbXB0aW5nIHRvIHBhcnNlIGZpbGU6JywgZmlsZVBhdGgpO1xuICBsZXQgY29udGVudHM7XG4gIHRyeSB7XG4gICAgY29udGVudHMgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlUGF0aCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgc3RkaW8uaW5mbygnRmFpbGVkIHRvIHJlYWQgZmlsZTonLCBmaWxlUGF0aCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBwYXJzZWQgPSBwYXJzZUpTT041KGNvbnRlbnRzKTtcbiAgaWYgKHBhcnNlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RkaW8uaW5mbygnRmFpbGVkIHRvIHBhcnNlIGZpbGU6JywgZmlsZVBhdGgpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHBhcnNlZDtcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= + +exports.parseJSON5File = parseJSON5File; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL2pzb25VdGlscy5qcyJdLCJuYW1lcyI6WyJwYXJzZUpTT041Iiwic3RyaW5nIiwiSlNPTjUiLCJwYXJzZSIsImUiLCJzdGRpbyIsImluZm8iLCJ1bmRlZmluZWQiLCJwYXJzZUpTT041RmlsZSIsImZpbGVQYXRoIiwiZnMiLCJyZWFkRmlsZSIsImVuY29kaW5nIiwiY29udGVudHMiLCJwYXJzZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUE7O0FBQ0E7O0FBRUE7O0FBUEE7OztBQVNBO0FBQ0E7QUFDTyxJQUFNQSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxNQUFELEVBQVk7QUFDcEMsTUFBSTtBQUNGLFdBQU9DLGNBQU1DLEtBQU4sQ0FBWUYsTUFBWixDQUFQO0FBQ0QsR0FGRCxDQUVFLE9BQU9HLENBQVAsRUFBVTtBQUNWQyxJQUFBQSxLQUFLLENBQUNDLElBQU4sQ0FBVywrQkFBWCxFQUE0Q0wsTUFBNUM7QUFDQSxXQUFPTSxTQUFQO0FBQ0Q7QUFDRixDQVBNLEMsQ0FTUDtBQUNBOzs7OztBQUNPLElBQU1DLGNBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDRCQUFHLGlCQUFPQyxRQUFQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM1QkosWUFBQUEsS0FBSyxDQUFDQyxJQUFOLENBQVcsMkJBQVgsRUFBd0NHLFFBQXhDO0FBRDRCO0FBQUE7QUFBQSxtQkFJVEMsaUJBQUdDLFFBQUgsQ0FBWUYsUUFBWixFQUFzQjtBQUFFRyxjQUFBQSxRQUFRLEVBQUU7QUFBWixhQUF0QixDQUpTOztBQUFBO0FBSTFCQyxZQUFBQSxRQUowQjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBTTFCUixZQUFBQSxLQUFLLENBQUNDLElBQU4sQ0FBVyxzQkFBWCxFQUFtQ0csUUFBbkM7QUFOMEIsNkNBT25CRixTQVBtQjs7QUFBQTtBQVN0Qk8sWUFBQUEsTUFUc0IsR0FTYmQsVUFBVSxDQUFDYSxRQUFELENBVEc7O0FBQUEsa0JBVXhCQyxNQUFNLEtBQUtQLFNBVmE7QUFBQTtBQUFBO0FBQUE7O0FBVzFCRixZQUFBQSxLQUFLLENBQUNDLElBQU4sQ0FBVyx1QkFBWCxFQUFvQ0csUUFBcEM7QUFYMEIsNkNBWW5CRixTQVptQjs7QUFBQTtBQUFBLDZDQWNyQk8sTUFkcUI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsR0FBSDs7QUFBQSxrQkFBZE4sY0FBYztBQUFBO0FBQUE7QUFBQSxHQUFwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAqIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uICovXG5cbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgSlNPTjUgZnJvbSAnanNvbjUnO1xuXG5pbXBvcnQgKiBhcyBzdGRpbyBmcm9tICcuL3N0ZGlvVXRpbHMnO1xuXG4vLyBQYXJzZXMgc29tZSBqc29uIHRleHQgaWYgaXQncyB3ZWxsIGZvcm1lZCwgb3RoZXJ3aXNlIHNpbGVudGx5IGZhaWxzIGFuZFxuLy8gcmV0dXJucyB1bmRlZmluZWQuXG5leHBvcnQgY29uc3QgcGFyc2VKU09ONSA9IChzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTjUucGFyc2Uoc3RyaW5nKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHN0ZGlvLmluZm8oJ0ZhaWxlZCB0byBwYXJzZSBqc2JlYXV0aWZ5cmM6Jywgc3RyaW5nKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG4vLyBQYXJzZXMgYSBqc29uIGZpbGUgYXQgYSBnaXZlbiBwYXRoIGFuZCByZXR1cm5zIGFuIG9iamVjdCBpZiBpdCBleGlzdHNcbi8vIGFuZCBpc24ndCBtYWxmb3JtZWQsIG90aGVyd2lzZSBzaWxlbnRseSBmYWlscyBhbmQgcmV0dXJucyB1bmRlZmluZWQuXG5leHBvcnQgY29uc3QgcGFyc2VKU09ONUZpbGUgPSBhc3luYyAoZmlsZVBhdGgpID0+IHtcbiAgc3RkaW8uaW5mbygnQXR0ZW1wdGluZyB0byBwYXJzZSBmaWxlOicsIGZpbGVQYXRoKTtcbiAgbGV0IGNvbnRlbnRzO1xuICB0cnkge1xuICAgIGNvbnRlbnRzID0gYXdhaXQgZnMucmVhZEZpbGUoZmlsZVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHN0ZGlvLmluZm8oJ0ZhaWxlZCB0byByZWFkIGZpbGU6JywgZmlsZVBhdGgpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcGFyc2VkID0gcGFyc2VKU09ONShjb250ZW50cyk7XG4gIGlmIChwYXJzZWQgPT09IHVuZGVmaW5lZCkge1xuICAgIHN0ZGlvLmluZm8oJ0ZhaWxlZCB0byBwYXJzZSBmaWxlOicsIGZpbGVQYXRoKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBwYXJzZWQ7XG59O1xuIl0sImZpbGUiOiJ1dGlscy9qc29uVXRpbHMuanMifQ== diff --git a/build/js-transpiled/utils/pathUtils.js b/build/js-transpiled/utils/pathUtils.js index 9c75fc2d..bd98c06a 100644 --- a/build/js-transpiled/utils/pathUtils.js +++ b/build/js-transpiled/utils/pathUtils.js @@ -1,46 +1,46 @@ -'use strict'; +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.getPotentialConfigDirs = exports.getAncestorPaths = undefined; - -var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); +exports.getPotentialConfigDirs = exports.getAncestorPaths = void 0; -var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); +var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); -var _path = require('path'); +require("core-js/modules/es6.regexp.split"); -var _path2 = _interopRequireDefault(_path); +var _path = _interopRequireDefault(require("path")); -var _paths = require('./paths'); +var _paths = require("./paths"); -var _constants = require('./constants'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _constants = require("./constants"); +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // Returns a list of all absolute ancestor paths starting from a given path. -var getAncestorPaths = exports.getAncestorPaths = function getAncestorPaths(givenPath) { - var pathParts = _path2.default.resolve(givenPath).split(_paths.PATH_SEP); +var getAncestorPaths = function getAncestorPaths(givenPath) { + var pathParts = _path.default.resolve(givenPath).split(_paths.PATH_SEP); + return pathParts.map(function (value, key) { return pathParts.slice(0, key + 1).join(_paths.PATH_SEP); }); -}; +}; // Returns all potential directories where a configuration file could exist. -// Returns all potential directories where a configuration file could exist. -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -var getPotentialConfigDirs = exports.getPotentialConfigDirs = function getPotentialConfigDirs() { - var potentialConfigDirs = getAncestorPaths(_path2.default.dirname(_constants.ORIGINAL_FILE_PATH)); +exports.getAncestorPaths = getAncestorPaths; - // Start with the current directory first, then with the user's home folder, +var getPotentialConfigDirs = function getPotentialConfigDirs() { + var potentialConfigDirs = getAncestorPaths(_path.default.dirname(_constants.ORIGINAL_FILE_PATH)); // Start with the current directory first, then with the user's home folder, // and end with the user's personal sublime settings folder. + potentialConfigDirs.reverse(); potentialConfigDirs.push(_paths.USER_HOME_DIR); - potentialConfigDirs.push.apply(potentialConfigDirs, (0, _toConsumableArray3.default)(_constants.CONFIG_EXTRA_LOOKUP_PATHS || [])); - + potentialConfigDirs.push.apply(potentialConfigDirs, (0, _toConsumableArray2.default)(_constants.CONFIG_EXTRA_LOOKUP_PATHS || [])); return potentialConfigDirs.filter(Boolean); }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL3BhdGhVdGlscy5qcyJdLCJuYW1lcyI6WyJnZXRBbmNlc3RvclBhdGhzIiwiZ2l2ZW5QYXRoIiwicGF0aFBhcnRzIiwicmVzb2x2ZSIsInNwbGl0IiwibWFwIiwidmFsdWUiLCJrZXkiLCJzbGljZSIsImpvaW4iLCJnZXRQb3RlbnRpYWxDb25maWdEaXJzIiwicG90ZW50aWFsQ29uZmlnRGlycyIsImRpcm5hbWUiLCJyZXZlcnNlIiwicHVzaCIsImZpbHRlciIsIkJvb2xlYW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7Ozs7QUFFQTs7QUFDQTs7OztBQUVBO0FBQ08sSUFBTUEsOENBQW1CLFNBQW5CQSxnQkFBbUIsQ0FBQ0MsU0FBRCxFQUFlO0FBQzdDLE1BQU1DLFlBQVksZUFBS0MsT0FBTCxDQUFhRixTQUFiLEVBQXdCRyxLQUF4QixpQkFBbEI7QUFDQSxTQUFPRixVQUFVRyxHQUFWLENBQWMsVUFBQ0MsS0FBRCxFQUFRQyxHQUFSO0FBQUEsV0FBZ0JMLFVBQVVNLEtBQVYsQ0FBZ0IsQ0FBaEIsRUFBbUJELE1BQU0sQ0FBekIsRUFBNEJFLElBQTVCLGlCQUFoQjtBQUFBLEdBQWQsQ0FBUDtBQUNELENBSE07O0FBS1A7QUFmQTs7OztBQWdCTyxJQUFNQywwREFBeUIsU0FBekJBLHNCQUF5QixHQUFNO0FBQzFDLE1BQU1DLHNCQUFzQlgsaUJBQWlCLGVBQUtZLE9BQUwsK0JBQWpCLENBQTVCOztBQUVBO0FBQ0E7QUFDQUQsc0JBQW9CRSxPQUFwQjtBQUNBRixzQkFBb0JHLElBQXBCO0FBQ0FILHNCQUFvQkcsSUFBcEIsNkRBQTRCLHdDQUE2QixFQUF6RDs7QUFFQSxTQUFPSCxvQkFBb0JJLE1BQXBCLENBQTJCQyxPQUEzQixDQUFQO0FBQ0QsQ0FWTSIsImZpbGUiOiJ1dGlscy9wYXRoVXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gKiBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLiAqL1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgUEFUSF9TRVAsIFVTRVJfSE9NRV9ESVIgfSBmcm9tICcuL3BhdGhzJztcbmltcG9ydCB7IE9SSUdJTkFMX0ZJTEVfUEFUSCwgQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIUyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gUmV0dXJucyBhIGxpc3Qgb2YgYWxsIGFic29sdXRlIGFuY2VzdG9yIHBhdGhzIHN0YXJ0aW5nIGZyb20gYSBnaXZlbiBwYXRoLlxuZXhwb3J0IGNvbnN0IGdldEFuY2VzdG9yUGF0aHMgPSAoZ2l2ZW5QYXRoKSA9PiB7XG4gIGNvbnN0IHBhdGhQYXJ0cyA9IHBhdGgucmVzb2x2ZShnaXZlblBhdGgpLnNwbGl0KFBBVEhfU0VQKTtcbiAgcmV0dXJuIHBhdGhQYXJ0cy5tYXAoKHZhbHVlLCBrZXkpID0+IHBhdGhQYXJ0cy5zbGljZSgwLCBrZXkgKyAxKS5qb2luKFBBVEhfU0VQKSk7XG59O1xuXG4vLyBSZXR1cm5zIGFsbCBwb3RlbnRpYWwgZGlyZWN0b3JpZXMgd2hlcmUgYSBjb25maWd1cmF0aW9uIGZpbGUgY291bGQgZXhpc3QuXG5leHBvcnQgY29uc3QgZ2V0UG90ZW50aWFsQ29uZmlnRGlycyA9ICgpID0+IHtcbiAgY29uc3QgcG90ZW50aWFsQ29uZmlnRGlycyA9IGdldEFuY2VzdG9yUGF0aHMocGF0aC5kaXJuYW1lKE9SSUdJTkFMX0ZJTEVfUEFUSCkpO1xuXG4gIC8vIFN0YXJ0IHdpdGggdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGZpcnN0LCB0aGVuIHdpdGggdGhlIHVzZXIncyBob21lIGZvbGRlcixcbiAgLy8gYW5kIGVuZCB3aXRoIHRoZSB1c2VyJ3MgcGVyc29uYWwgc3VibGltZSBzZXR0aW5ncyBmb2xkZXIuXG4gIHBvdGVudGlhbENvbmZpZ0RpcnMucmV2ZXJzZSgpO1xuICBwb3RlbnRpYWxDb25maWdEaXJzLnB1c2goVVNFUl9IT01FX0RJUik7XG4gIHBvdGVudGlhbENvbmZpZ0RpcnMucHVzaCguLi5DT05GSUdfRVhUUkFfTE9PS1VQX1BBVEhTIHx8IFtdKTtcblxuICByZXR1cm4gcG90ZW50aWFsQ29uZmlnRGlycy5maWx0ZXIoQm9vbGVhbik7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 + +exports.getPotentialConfigDirs = getPotentialConfigDirs; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL3BhdGhVdGlscy5qcyJdLCJuYW1lcyI6WyJnZXRBbmNlc3RvclBhdGhzIiwiZ2l2ZW5QYXRoIiwicGF0aFBhcnRzIiwicGF0aCIsInJlc29sdmUiLCJzcGxpdCIsIlBBVEhfU0VQIiwibWFwIiwidmFsdWUiLCJrZXkiLCJzbGljZSIsImpvaW4iLCJnZXRQb3RlbnRpYWxDb25maWdEaXJzIiwicG90ZW50aWFsQ29uZmlnRGlycyIsImRpcm5hbWUiLCJPUklHSU5BTF9GSUxFX1BBVEgiLCJyZXZlcnNlIiwicHVzaCIsIlVTRVJfSE9NRV9ESVIiLCJDT05GSUdfRVhUUkFfTE9PS1VQX1BBVEhTIiwiZmlsdGVyIiwiQm9vbGVhbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVBBOzs7QUFTQTtBQUNPLElBQU1BLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ0MsU0FBRCxFQUFlO0FBQzdDLE1BQU1DLFNBQVMsR0FBR0MsY0FBS0MsT0FBTCxDQUFhSCxTQUFiLEVBQXdCSSxLQUF4QixDQUE4QkMsZUFBOUIsQ0FBbEI7O0FBQ0EsU0FBT0osU0FBUyxDQUFDSyxHQUFWLENBQWMsVUFBQ0MsS0FBRCxFQUFRQyxHQUFSO0FBQUEsV0FBZ0JQLFNBQVMsQ0FBQ1EsS0FBVixDQUFnQixDQUFoQixFQUFtQkQsR0FBRyxHQUFHLENBQXpCLEVBQTRCRSxJQUE1QixDQUFpQ0wsZUFBakMsQ0FBaEI7QUFBQSxHQUFkLENBQVA7QUFDRCxDQUhNLEMsQ0FLUDs7Ozs7QUFDTyxJQUFNTSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLEdBQU07QUFDMUMsTUFBTUMsbUJBQW1CLEdBQUdiLGdCQUFnQixDQUFDRyxjQUFLVyxPQUFMLENBQWFDLDZCQUFiLENBQUQsQ0FBNUMsQ0FEMEMsQ0FHMUM7QUFDQTs7QUFDQUYsRUFBQUEsbUJBQW1CLENBQUNHLE9BQXBCO0FBQ0FILEVBQUFBLG1CQUFtQixDQUFDSSxJQUFwQixDQUF5QkMsb0JBQXpCO0FBQ0FMLEVBQUFBLG1CQUFtQixDQUFDSSxJQUFwQixPQUFBSixtQkFBbUIsbUNBQVNNLHdDQUE2QixFQUF0QyxFQUFuQjtBQUVBLFNBQU9OLG1CQUFtQixDQUFDTyxNQUFwQixDQUEyQkMsT0FBM0IsQ0FBUDtBQUNELENBVk0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gKiBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLiAqL1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgUEFUSF9TRVAsIFVTRVJfSE9NRV9ESVIgfSBmcm9tICcuL3BhdGhzJztcbmltcG9ydCB7IE9SSUdJTkFMX0ZJTEVfUEFUSCwgQ09ORklHX0VYVFJBX0xPT0tVUF9QQVRIUyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gUmV0dXJucyBhIGxpc3Qgb2YgYWxsIGFic29sdXRlIGFuY2VzdG9yIHBhdGhzIHN0YXJ0aW5nIGZyb20gYSBnaXZlbiBwYXRoLlxuZXhwb3J0IGNvbnN0IGdldEFuY2VzdG9yUGF0aHMgPSAoZ2l2ZW5QYXRoKSA9PiB7XG4gIGNvbnN0IHBhdGhQYXJ0cyA9IHBhdGgucmVzb2x2ZShnaXZlblBhdGgpLnNwbGl0KFBBVEhfU0VQKTtcbiAgcmV0dXJuIHBhdGhQYXJ0cy5tYXAoKHZhbHVlLCBrZXkpID0+IHBhdGhQYXJ0cy5zbGljZSgwLCBrZXkgKyAxKS5qb2luKFBBVEhfU0VQKSk7XG59O1xuXG4vLyBSZXR1cm5zIGFsbCBwb3RlbnRpYWwgZGlyZWN0b3JpZXMgd2hlcmUgYSBjb25maWd1cmF0aW9uIGZpbGUgY291bGQgZXhpc3QuXG5leHBvcnQgY29uc3QgZ2V0UG90ZW50aWFsQ29uZmlnRGlycyA9ICgpID0+IHtcbiAgY29uc3QgcG90ZW50aWFsQ29uZmlnRGlycyA9IGdldEFuY2VzdG9yUGF0aHMocGF0aC5kaXJuYW1lKE9SSUdJTkFMX0ZJTEVfUEFUSCkpO1xuXG4gIC8vIFN0YXJ0IHdpdGggdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGZpcnN0LCB0aGVuIHdpdGggdGhlIHVzZXIncyBob21lIGZvbGRlcixcbiAgLy8gYW5kIGVuZCB3aXRoIHRoZSB1c2VyJ3MgcGVyc29uYWwgc3VibGltZSBzZXR0aW5ncyBmb2xkZXIuXG4gIHBvdGVudGlhbENvbmZpZ0RpcnMucmV2ZXJzZSgpO1xuICBwb3RlbnRpYWxDb25maWdEaXJzLnB1c2goVVNFUl9IT01FX0RJUik7XG4gIHBvdGVudGlhbENvbmZpZ0RpcnMucHVzaCguLi5DT05GSUdfRVhUUkFfTE9PS1VQX1BBVEhTIHx8IFtdKTtcblxuICByZXR1cm4gcG90ZW50aWFsQ29uZmlnRGlycy5maWx0ZXIoQm9vbGVhbik7XG59O1xuIl0sImZpbGUiOiJ1dGlscy9wYXRoVXRpbHMuanMifQ== diff --git a/build/js-transpiled/utils/paths.js b/build/js-transpiled/utils/paths.js index 53e1e412..470f19f9 100644 --- a/build/js-transpiled/utils/paths.js +++ b/build/js-transpiled/utils/paths.js @@ -1,21 +1,25 @@ -'use strict'; +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.USER_HOME_DIR = exports.ROOT_DIR = exports.PATH_SEP = undefined; +exports.USER_HOME_DIR = exports.ROOT_DIR = exports.PATH_SEP = void 0; -var _path = require('path'); +var _path = _interopRequireDefault(require("path")); -var _path2 = _interopRequireDefault(_path); +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +var PATH_SEP = _path.default.sep || '/'; +exports.PATH_SEP = PATH_SEP; -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var ROOT_DIR = _path.default.resolve(_path.default.join(__dirname, '..', '..', '..')); -var PATH_SEP = exports.PATH_SEP = _path2.default.sep || '/'; /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +exports.ROOT_DIR = ROOT_DIR; -var ROOT_DIR = exports.ROOT_DIR = _path2.default.resolve(_path2.default.join(__dirname, '..', '..', '..')); +var USER_HOME_DIR = process.env.HOME || process.env.USERPROFILE || _path.default.join(process.env.HOMEDRIVE, process.env.HOMEPATH); -var USER_HOME_DIR = exports.USER_HOME_DIR = process.env.HOME || process.env.USERPROFILE || _path2.default.join(process.env.HOMEDRIVE, process.env.HOMEPATH); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL3BhdGhzLmpzIl0sIm5hbWVzIjpbIlBBVEhfU0VQIiwic2VwIiwiUk9PVF9ESVIiLCJyZXNvbHZlIiwiam9pbiIsIl9fZGlybmFtZSIsIlVTRVJfSE9NRV9ESVIiLCJwcm9jZXNzIiwiZW52IiwiSE9NRSIsIlVTRVJQUk9GSUxFIiwiSE9NRURSSVZFIiwiSE9NRVBBVEgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7Ozs7O0FBRU8sSUFBTUEsOEJBQVcsZUFBS0MsR0FBTCxJQUFZLEdBQTdCLEMsQ0FOUDs7OztBQVFPLElBQU1DLDhCQUFXLGVBQUtDLE9BQUwsQ0FBYSxlQUFLQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsSUFBckIsRUFBMkIsSUFBM0IsRUFBaUMsSUFBakMsQ0FBYixDQUFqQjs7QUFFQSxJQUFNQyx3Q0FDWEMsUUFBUUMsR0FBUixDQUFZQyxJQUFaLElBQ0FGLFFBQVFDLEdBQVIsQ0FBWUUsV0FEWixJQUVBLGVBQUtOLElBQUwsQ0FBVUcsUUFBUUMsR0FBUixDQUFZRyxTQUF0QixFQUFpQ0osUUFBUUMsR0FBUixDQUFZSSxRQUE3QyxDQUhLIiwiZmlsZSI6InV0aWxzL3BhdGhzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmV4cG9ydCBjb25zdCBQQVRIX1NFUCA9IHBhdGguc2VwIHx8ICcvJztcblxuZXhwb3J0IGNvbnN0IFJPT1RfRElSID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICcuLicsICcuLicpKTtcblxuZXhwb3J0IGNvbnN0IFVTRVJfSE9NRV9ESVIgPVxuICBwcm9jZXNzLmVudi5IT01FIHx8XG4gIHByb2Nlc3MuZW52LlVTRVJQUk9GSUxFIHx8XG4gIHBhdGguam9pbihwcm9jZXNzLmVudi5IT01FRFJJVkUsIHByb2Nlc3MuZW52LkhPTUVQQVRIKTtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +exports.USER_HOME_DIR = USER_HOME_DIR; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL3BhdGhzLmpzIl0sIm5hbWVzIjpbIlBBVEhfU0VQIiwicGF0aCIsInNlcCIsIlJPT1RfRElSIiwicmVzb2x2ZSIsImpvaW4iLCJfX2Rpcm5hbWUiLCJVU0VSX0hPTUVfRElSIiwicHJvY2VzcyIsImVudiIsIkhPTUUiLCJVU0VSUFJPRklMRSIsIkhPTUVEUklWRSIsIkhPTUVQQVRIIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQTs7QUFKQTs7O0FBTU8sSUFBTUEsUUFBUSxHQUFHQyxjQUFLQyxHQUFMLElBQVksR0FBN0I7OztBQUVBLElBQU1DLFFBQVEsR0FBR0YsY0FBS0csT0FBTCxDQUFhSCxjQUFLSSxJQUFMLENBQVVDLFNBQVYsRUFBcUIsSUFBckIsRUFBMkIsSUFBM0IsRUFBaUMsSUFBakMsQ0FBYixDQUFqQjs7OztBQUVBLElBQU1DLGFBQWEsR0FBR0MsT0FBTyxDQUFDQyxHQUFSLENBQVlDLElBQVosSUFDeEJGLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRSxXQURZLElBRXhCVixjQUFLSSxJQUFMLENBQVVHLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRyxTQUF0QixFQUFpQ0osT0FBTyxDQUFDQyxHQUFSLENBQVlJLFFBQTdDLENBRkUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gKiBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLiAqL1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IGNvbnN0IFBBVEhfU0VQID0gcGF0aC5zZXAgfHwgJy8nO1xuXG5leHBvcnQgY29uc3QgUk9PVF9ESVIgPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJy4uJykpO1xuXG5leHBvcnQgY29uc3QgVVNFUl9IT01FX0RJUiA9IHByb2Nlc3MuZW52LkhPTUVcbiAgfHwgcHJvY2Vzcy5lbnYuVVNFUlBST0ZJTEVcbiAgfHwgcGF0aC5qb2luKHByb2Nlc3MuZW52LkhPTUVEUklWRSwgcHJvY2Vzcy5lbnYuSE9NRVBBVEgpO1xuIl0sImZpbGUiOiJ1dGlscy9wYXRocy5qcyJ9 diff --git a/build/js-transpiled/utils/stdioUtils.js b/build/js-transpiled/utils/stdioUtils.js index 6b263179..87fc7137 100644 --- a/build/js-transpiled/utils/stdioUtils.js +++ b/build/js-transpiled/utils/stdioUtils.js @@ -1,43 +1,54 @@ -'use strict'; +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.err = exports.out = exports.info = exports.endPrettifiedCode = exports.beginPrettifiedCode = exports.endDiagnostics = exports.beginDiagnostics = undefined; - -var _constants = require('./constants'); - -var constants = _interopRequireWildcard(_constants); +exports.err = exports.out = exports.info = exports.endPrettifiedCode = exports.beginPrettifiedCode = exports.endDiagnostics = exports.beginDiagnostics = void 0; -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } +var constants = _interopRequireWildcard(require("./constants")); -var beginDiagnostics = exports.beginDiagnostics = function beginDiagnostics() { +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +var beginDiagnostics = function beginDiagnostics() { console.log(constants.DIAGNOSTICS_MARKER_BEGIN); -}; /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +}; + +exports.beginDiagnostics = beginDiagnostics; -var endDiagnostics = exports.endDiagnostics = function endDiagnostics() { +var endDiagnostics = function endDiagnostics() { console.log(constants.DIAGNOSTICS_MARKER_END); }; -var beginPrettifiedCode = exports.beginPrettifiedCode = function beginPrettifiedCode() { +exports.endDiagnostics = endDiagnostics; + +var beginPrettifiedCode = function beginPrettifiedCode() { console.log(constants.PRETTIFIED_CODE_MARKER_BEGIN); }; -var endPrettifiedCode = exports.endPrettifiedCode = function endPrettifiedCode() { +exports.beginPrettifiedCode = beginPrettifiedCode; + +var endPrettifiedCode = function endPrettifiedCode() { console.log(constants.PRETTIFIED_CODE_MARKER_END); }; -var info = exports.info = function info() { +exports.endPrettifiedCode = endPrettifiedCode; + +var info = function info() { var _console; - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (_console = console).log.apply(_console, ['[HTMLPrettify]'].concat(args)); }; -var out = exports.out = console.log; -var err = exports.err = console.error; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL3N0ZGlvVXRpbHMuanMiXSwibmFtZXMiOlsiY29uc3RhbnRzIiwiYmVnaW5EaWFnbm9zdGljcyIsImNvbnNvbGUiLCJsb2ciLCJESUFHTk9TVElDU19NQVJLRVJfQkVHSU4iLCJlbmREaWFnbm9zdGljcyIsIkRJQUdOT1NUSUNTX01BUktFUl9FTkQiLCJiZWdpblByZXR0aWZpZWRDb2RlIiwiUFJFVFRJRklFRF9DT0RFX01BUktFUl9CRUdJTiIsImVuZFByZXR0aWZpZWRDb2RlIiwiUFJFVFRJRklFRF9DT0RFX01BUktFUl9FTkQiLCJpbmZvIiwiYXJncyIsIm91dCIsImVyciIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7O0lBQVlBLFM7Ozs7QUFFTCxJQUFNQyw4Q0FBbUIsU0FBbkJBLGdCQUFtQixHQUFNO0FBQ3BDQyxVQUFRQyxHQUFSLENBQVlILFVBQVVJLHdCQUF0QjtBQUNELENBRk0sQyxDQU5QOzs7O0FBVU8sSUFBTUMsMENBQWlCLFNBQWpCQSxjQUFpQixHQUFNO0FBQ2xDSCxVQUFRQyxHQUFSLENBQVlILFVBQVVNLHNCQUF0QjtBQUNELENBRk07O0FBSUEsSUFBTUMsb0RBQXNCLFNBQXRCQSxtQkFBc0IsR0FBTTtBQUN2Q0wsVUFBUUMsR0FBUixDQUFZSCxVQUFVUSw0QkFBdEI7QUFDRCxDQUZNOztBQUlBLElBQU1DLGdEQUFvQixTQUFwQkEsaUJBQW9CLEdBQU07QUFDckNQLFVBQVFDLEdBQVIsQ0FBWUgsVUFBVVUsMEJBQXRCO0FBQ0QsQ0FGTTs7QUFJQSxJQUFNQyxzQkFBTyxTQUFQQSxJQUFPO0FBQUE7O0FBQUEsb0NBQUlDLElBQUo7QUFBSUEsUUFBSjtBQUFBOztBQUFBLFNBQWEscUJBQVFULEdBQVIsa0JBQVksZ0JBQVosU0FBaUNTLElBQWpDLEVBQWI7QUFBQSxDQUFiO0FBQ0EsSUFBTUMsb0JBQU1YLFFBQVFDLEdBQXBCO0FBQ0EsSUFBTVcsb0JBQU1aLFFBQVFhLEtBQXBCIiwiZmlsZSI6InV0aWxzL3N0ZGlvVXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gKiBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLiAqL1xuXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgYmVnaW5EaWFnbm9zdGljcyA9ICgpID0+IHtcbiAgY29uc29sZS5sb2coY29uc3RhbnRzLkRJQUdOT1NUSUNTX01BUktFUl9CRUdJTik7XG59O1xuXG5leHBvcnQgY29uc3QgZW5kRGlhZ25vc3RpY3MgPSAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKGNvbnN0YW50cy5ESUFHTk9TVElDU19NQVJLRVJfRU5EKTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWdpblByZXR0aWZpZWRDb2RlID0gKCkgPT4ge1xuICBjb25zb2xlLmxvZyhjb25zdGFudHMuUFJFVFRJRklFRF9DT0RFX01BUktFUl9CRUdJTik7XG59O1xuXG5leHBvcnQgY29uc3QgZW5kUHJldHRpZmllZENvZGUgPSAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKGNvbnN0YW50cy5QUkVUVElGSUVEX0NPREVfTUFSS0VSX0VORCk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5mbyA9ICguLi5hcmdzKSA9PiBjb25zb2xlLmxvZygnW0hUTUxQcmV0dGlmeV0nLCAuLi5hcmdzKTtcbmV4cG9ydCBjb25zdCBvdXQgPSBjb25zb2xlLmxvZztcbmV4cG9ydCBjb25zdCBlcnIgPSBjb25zb2xlLmVycm9yO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 + +exports.info = info; +var out = console.log; +exports.out = out; +var err = console.error; +exports.err = err; +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL3N0ZGlvVXRpbHMuanMiXSwibmFtZXMiOlsiYmVnaW5EaWFnbm9zdGljcyIsImNvbnNvbGUiLCJsb2ciLCJjb25zdGFudHMiLCJESUFHTk9TVElDU19NQVJLRVJfQkVHSU4iLCJlbmREaWFnbm9zdGljcyIsIkRJQUdOT1NUSUNTX01BUktFUl9FTkQiLCJiZWdpblByZXR0aWZpZWRDb2RlIiwiUFJFVFRJRklFRF9DT0RFX01BUktFUl9CRUdJTiIsImVuZFByZXR0aWZpZWRDb2RlIiwiUFJFVFRJRklFRF9DT0RFX01BUktFUl9FTkQiLCJpbmZvIiwiYXJncyIsIm91dCIsImVyciIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQTs7QUFKQTs7O0FBTU8sSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixHQUFNO0FBQ3BDQyxFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsU0FBUyxDQUFDQyx3QkFBdEI7QUFDRCxDQUZNOzs7O0FBSUEsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixHQUFNO0FBQ2xDSixFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsU0FBUyxDQUFDRyxzQkFBdEI7QUFDRCxDQUZNOzs7O0FBSUEsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixHQUFNO0FBQ3ZDTixFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsU0FBUyxDQUFDSyw0QkFBdEI7QUFDRCxDQUZNOzs7O0FBSUEsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixHQUFNO0FBQ3JDUixFQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsU0FBUyxDQUFDTywwQkFBdEI7QUFDRCxDQUZNOzs7O0FBSUEsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQU87QUFBQTs7QUFBQSxvQ0FBSUMsSUFBSjtBQUFJQSxJQUFBQSxJQUFKO0FBQUE7O0FBQUEsU0FBYSxZQUFBWCxPQUFPLEVBQUNDLEdBQVIsa0JBQVksZ0JBQVosU0FBaUNVLElBQWpDLEVBQWI7QUFBQSxDQUFiOzs7QUFDQSxJQUFNQyxHQUFHLEdBQUdaLE9BQU8sQ0FBQ0MsR0FBcEI7O0FBQ0EsSUFBTVksR0FBRyxHQUFHYixPQUFPLENBQUNjLEtBQXBCIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gKi9cblxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IGJlZ2luRGlhZ25vc3RpY3MgPSAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKGNvbnN0YW50cy5ESUFHTk9TVElDU19NQVJLRVJfQkVHSU4pO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuZERpYWdub3N0aWNzID0gKCkgPT4ge1xuICBjb25zb2xlLmxvZyhjb25zdGFudHMuRElBR05PU1RJQ1NfTUFSS0VSX0VORCk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVnaW5QcmV0dGlmaWVkQ29kZSA9ICgpID0+IHtcbiAgY29uc29sZS5sb2coY29uc3RhbnRzLlBSRVRUSUZJRURfQ09ERV9NQVJLRVJfQkVHSU4pO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuZFByZXR0aWZpZWRDb2RlID0gKCkgPT4ge1xuICBjb25zb2xlLmxvZyhjb25zdGFudHMuUFJFVFRJRklFRF9DT0RFX01BUktFUl9FTkQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluZm8gPSAoLi4uYXJncykgPT4gY29uc29sZS5sb2coJ1tIVE1MUHJldHRpZnldJywgLi4uYXJncyk7XG5leHBvcnQgY29uc3Qgb3V0ID0gY29uc29sZS5sb2c7XG5leHBvcnQgY29uc3QgZXJyID0gY29uc29sZS5lcnJvcjtcbiJdLCJmaWxlIjoidXRpbHMvc3RkaW9VdGlscy5qcyJ9 diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 032ba593..00000000 --- a/package-lock.json +++ /dev/null @@ -1,3795 +0,0 @@ -{ - "name": "html-prettify", - "version": "2.1.3", - "lockfileVersion": 1, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" - }, - "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", - "dev": true - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", - "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", - "dev": true - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true - }, - "arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-initial": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.0.0.tgz", - "integrity": "sha1-CbE8WNVqBQNC53erb/zllbEI2tk=", - "dev": true, - "dependencies": { - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true - } - } - }, - "array-last": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.1.1.tgz", - "integrity": "sha1-9GWPmI2SEya1itARPPdtM3x7IKo=", - "dev": true, - "dependencies": { - "is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true - } - } - }, - "array-slice": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz", - "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "async-done": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.2.2.tgz", - "integrity": "sha1-ukKA2lWhbhX0u4vzqESpGHh0DjE=", - "dev": true - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", - "dev": true - }, - "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", - "dev": true - }, - "babel-core": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", - "dev": true - }, - "babel-eslint": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", - "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", - "dev": true - }, - "babel-generator": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", - "dev": true, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true - }, - "babel-helper-define-map": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", - "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=", - "dev": true - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true - }, - "babel-helper-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", - "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", - "dev": true - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", - "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=", - "dev": true - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz", - "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=", - "dev": true - }, - "babel-plugin-transform-regenerator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", - "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", - "dev": true - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true - }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "dev": true - }, - "babel-register": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", - "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", - "dev": true - }, - "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=" - }, - "babel-template": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", - "dev": true - }, - "babel-traverse": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", - "dev": true - }, - "babel-types": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", - "dev": true - }, - "babylon": { - "version": "6.17.4", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==", - "dev": true - }, - "bach": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.1.0.tgz", - "integrity": "sha1-z+VC25Jcs3BR/EkK0QLHO8slioQ=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true - }, - "binary-extensions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", - "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=", - "dev": true - }, - "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true - }, - "bufferstreams": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz", - "integrity": "sha1-AWE3MGCsWYjv+ZBYcxEU9uGV1R4=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - } - } - }, - "circular-json": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", - "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", - "dev": true - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true - }, - "cli-width": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", - "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true - }, - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", - "dev": true - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-map": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-0.1.0.tgz", - "integrity": "sha1-TP+R0lEI159O3uzObs7j5IjyZ8I=", - "dev": true, - "dependencies": { - "make-iterator": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-0.1.1.tgz", - "integrity": "sha1-hz0nuBmKRlqBSDtvXRbaToY+z1s=", - "dev": true - } - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true - }, - "config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=" - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", - "dev": true - }, - "copy-props": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-1.6.0.tgz", - "integrity": "sha1-8DJLvumXcRAeezraES8xPDk9uO0=", - "dev": true - }, - "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true - }, - "dateformat": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz", - "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=", - "dev": true - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true - }, - "detect-file": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", - "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "duplexify": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", - "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=", - "dev": true, - "dependencies": { - "end-of-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", - "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=", - "dev": true - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true - } - } - }, - "each-props": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.0.tgz", - "integrity": "sha1-ftgDHJJ2iK7bSoluuRSFtEh7kOo=", - "dev": true - }, - "editorconfig": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.2.tgz", - "integrity": "sha1-jleSbZ7mmrbLmZ8CfCFxRnrM6zU=" - }, - "editorconfig-parser": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/editorconfig-parser/-/editorconfig-parser-0.0.2.tgz", - "integrity": "sha1-R3/uw5XdDIWVgui43jRAjSsoEEs=" - }, - "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", - "dev": true - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true - }, - "es5-ext": { - "version": "0.10.24", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "integrity": "sha1-pVh3yZJLwMjZvTwsvhdJWsFwmxQ=", - "dev": true - }, - "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true - }, - "eslint": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", - "dev": true, - "dependencies": { - "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true - } - } - }, - "eslint-config-airbnb-base": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.2.0.tgz", - "integrity": "sha1-GancRIGib3CQRUXsBAEWh2AY+FM=", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", - "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", - "dev": true - }, - "eslint-module-utils": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", - "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", - "dev": true - }, - "eslint-plugin-import": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.6.0.tgz", - "integrity": "sha512-JdkYDmMMjhxW6X/IVclD+vQXO6e2nJJT4cKcyTw95mvBCWkr8THXKFhc+WCvGvOscjGuLQzUB7tBeJddrg2jig==", - "dev": true - }, - "espree": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", - "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", - "dev": true - }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", - "dev": true - }, - "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true - }, - "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true - }, - "expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", - "dev": true - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - } - } - }, - "fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true - }, - "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - } - } - }, - "fined": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", - "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", - "dev": true, - "dependencies": { - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true - } - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, - "flagged-respawn": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", - "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", - "dev": true - }, - "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true, - "dependencies": { - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true - }, - "fork-stream": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", - "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=", - "dev": true - }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", - "dev": true, - "optional": true, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "dev": true, - "optional": true - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "optional": true - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", - "dev": true - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true - }, - "get-own-enumerable-property-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-1.0.1.tgz", - "integrity": "sha1-8dTjrRQC4DmJjlbR6bmqkkwm5IQ=", - "dev": true - }, - "get-values": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-values/-/get-values-0.1.0.tgz", - "integrity": "sha1-OsA1tlpEkj012y/Ct7ojIrbD8p4=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - } - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - } - } - }, - "glob-stream": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", - "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "dev": true, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true - } - } - }, - "glob-watcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-3.2.0.tgz", - "integrity": "sha1-/8Gi09B3g7Zy9eIXmaTQs/7ZLa8=", - "dev": true - }, - "global-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", - "dev": true - }, - "global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", - "dev": true - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "gulp": { - "version": "github:gulpjs/gulp#38246c3f8b6dbb8d4ef657183e92d90c8299e22f", - "dev": true, - "dependencies": { - "gulp-cli": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-1.3.0.tgz", - "integrity": "sha1-pr+7i+NTQb4pCuRc0+QBBxIW7dQ=", - "dev": true - } - } - }, - "gulp-babel": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.2.tgz", - "integrity": "sha1-fAF25Lo/JExgWIoMSzIKRdGt784=", - "dev": true - }, - "gulp-changed": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-3.1.0.tgz", - "integrity": "sha1-h80Vk6C7SlEp3C8im+zm2UiMJyo=", - "dev": true, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "gulp-debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gulp-debug/-/gulp-debug-3.1.0.tgz", - "integrity": "sha1-TakVaLVJFb6ANpbKqsEMiVssCnE=", - "dev": true - }, - "gulp-eslint": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-3.0.1.tgz", - "integrity": "sha1-BOV+PhjGl0JnwSz2hV3HF9SjE70=", - "dev": true - }, - "gulp-if": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz", - "integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=", - "dev": true - }, - "gulp-match": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz", - "integrity": "sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=", - "dev": true - }, - "gulp-sourcemaps": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", - "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "dev": true, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true - }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true - }, - "ignore": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", - "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true - }, - "interpret": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "irregular-plurals": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.3.0.tgz", - "integrity": "sha512-njf5A+Mxb3kojuHd1DzISjjIl+XhyzovXEOyPPSzdQozq/Lf2tN27mOrAAsxEPZxpn6I4MGzs1oo9TxXxPFpaA==", - "dev": true - }, - "is-absolute": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", - "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" - }, - "is-my-json-valid": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", - "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", - "dev": true - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-relative": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", - "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", - "dev": true - }, - "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-unc-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", - "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-valid-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", - "dev": true - }, - "is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true - }, - "js-beautify": { - "version": "1.6.14", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.6.14.tgz", - "integrity": "sha1-07j3Mi0CuSd9WL0jgmTDJ+WARM0=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.0.tgz", - "integrity": "sha512-0LoUNELX4S+iofCT8f4uEHIiRBR+c2AINyC8qRWfC6QNruLtxVZRJaPcu/xwMgFIgDxF25tGHaDjvxzJCNE9yw==", - "dev": true - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - }, - "last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", - "dev": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true - }, - "liftoff": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", - "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true - }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.isfunction": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz", - "integrity": "sha1-TbcJ/IG8So/XEnpFilNGxc3OLGs=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true - }, - "lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=" - }, - "make-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz", - "integrity": "sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=", - "dev": true - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" - }, - "matchdep": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-1.0.1.tgz", - "integrity": "sha1-pXozgESR+64girqPaDgEN6vC3KU=", - "dev": true, - "dependencies": { - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - } - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true - }, - "mute-stdout": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", - "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=", - "dev": true - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - }, - "nan": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", - "dev": true, - "optional": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=" - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true - }, - "now-and-later": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-1.0.0.tgz", - "integrity": "sha1-I+eYzKrw6Ky+8Gh/gghidHRuCJM=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true - }, - "object.pick": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz", - "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=", - "dev": true - }, - "object.reduce": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-0.1.7.tgz", - "integrity": "sha1-0YDoT3LSGDSK9FNStVFlJGuVBG0=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true - }, - "ordered-read-streams": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", - "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true - }, - "p-map": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", - "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", - "dev": true - }, - "parse-filepath": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz", - "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true - }, - "plur": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", - "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", - "dev": true - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, - "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, - "promise-arrays": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/promise-arrays/-/promise-arrays-0.1.0.tgz", - "integrity": "sha1-+BZ1nSJP8NlGkUyC/9N8nxLjFIA=" - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true - }, - "regenerate": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", - "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - }, - "regenerator-transform": { - "version": "0.9.11", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", - "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", - "dev": true - }, - "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", - "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true - }, - "resolve": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", - "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", - "dev": true - }, - "resolve-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", - "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", - "dev": true - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - }, - "semver-greatest-satisfied-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.0.0.tgz", - "integrity": "sha1-T7RB4qjSbEC1mDJ1VzGN4nKlWKA=", - "dev": true, - "dependencies": { - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - }, - "source-map-support": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", - "dev": true - }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", - "dev": true - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "stack-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", - "dev": true - }, - "stream-exhaust": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.1.tgz", - "integrity": "sha1-wMRFXlTOWhecqHNuczNLTn/WdVM=", - "dev": true - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true - }, - "stringify-object": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.0.tgz", - "integrity": "sha1-lDcKE15BvASDWIE7+ZSB8TFcaqY=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-bom-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", - "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "dev": true, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true - } - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", - "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true - } - } - }, - "ternary-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz", - "integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true - }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "dev": true - }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", - "dev": true - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "to-absolute-glob": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", - "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "undertaker": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.1.0.tgz", - "integrity": "sha1-C6AOb7aor+HpKGMVZar226YRGus=", - "dev": true, - "dependencies": { - "array-each": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-0.1.1.tgz", - "integrity": "sha1-xdUrqCJfNtcoF4unrsQTrPrd0Pk=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "isobject": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-1.0.2.tgz", - "integrity": "sha1-8Pm4zpLdVA+gdAiC44NaLgIux4o=", - "dev": true - }, - "object.defaults": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-0.3.0.tgz", - "integrity": "sha1-seucvHjEx71WysbK496tWnETiCo=", - "dev": true - } - } - }, - "undertaker-registry": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.0.tgz", - "integrity": "sha1-LacWx2WZnYyUufntLABt9JI7BSs=", - "dev": true - }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "dev": true - }, - "universalify": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.0.tgz", - "integrity": "sha1-nrHEZR3rzGcMyU8adXYjMruWd3g=" - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true - }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true - }, - "vinyl-fs": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", - "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "dev": true, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true - } - } - }, - "vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", - "dev": true - }, - "which": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", - "dev": true - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "wreck": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/wreck/-/wreck-6.3.0.tgz", - "integrity": "sha1-oTaXafB7u2LWo3gzanhx/Hc8dAs=", - "dev": true - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "dev": true - } - } -} diff --git a/package.json b/package.json index a5d75e59..4db6f353 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-prettify", - "version": "2.1.4", + "version": "2.2.6", "description": "HTML, CSS, JavaScript and JSON code formatter for Sublime Text 2 and 3 via node.js", "author": "Victor Porof", "license": "MPL-2.0", @@ -13,36 +13,42 @@ "clobber": "npm run clean:build && npm run clean:deps", "build": "gulp build", "release:local": "npm run clean:build && npm run build && git add . && git commit -m 'Update node_modules and build'", + "release:bump": "npm version patch", "release:patch": "npm run release:local && npm version patch", "release:minor": "npm run release:local && npm version minor", "release:major": "npm run release:local && npm version major" }, "dependencies": { - "babel-runtime": "6.23.0", + "@babel/runtime": "7.1.2", + "core-js": "2.5.7", "editorconfig-parser": "0.0.2", - "fs-extra": "3.0.1", - "is-glob": "3.1.0", - "js-beautify": "1.6.14", - "json5": "0.5.1", - "lodash": "4.17.4", - "map-obj": "2.0.0", + "fs-extra": "7.0.0", + "is-glob": "4.0.0", + "js-beautify": "1.8.8", + "json5": "2.1.0", + "lodash": "4.17.11", + "map-obj": "3.0.0", "minimatch": "3.0.4", "promise-arrays": "0.1.0" }, "devDependencies": { - "babel-eslint": "7.2.3", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-object-rest-spread": "6.23.0", - "babel-plugin-transform-runtime": "6.23.0", - "babel-preset-es2015": "6.24.1", + "@babel/core": "7.1.2", + "@babel/plugin-syntax-object-rest-spread": "7.0.0", + "@babel/plugin-transform-async-to-generator": "7.1.0", + "@babel/plugin-transform-runtime": "7.1.0", + "@babel/preset-env": "7.1.0", + "@babel/register": "7.0.0", + "babel-eslint": "10.0.1", "del": "3.0.0", - "eslint-config-airbnb-base": "11.2.0", - "eslint-plugin-import": "2.6.0", - "gulp": "github:gulpjs/gulp#4.0", - "gulp-babel": "6.1.2", - "gulp-changed": "3.1.0", - "gulp-debug": "3.1.0", - "gulp-eslint": "3.0.1", - "gulp-if": "2.0.2" + "eslint": "5.6.1", + "eslint-config-airbnb-base": "13.1.0", + "eslint-plugin-import": "2.14.0", + "gulp": "4.0.0", + "gulp-babel": "8.0.0", + "gulp-changed": "3.2.0", + "gulp-debug": "4.0.0", + "gulp-eslint": "5.0.0", + "gulp-if": "2.0.2", + "gulp-sourcemaps": "2.6.4" } -} \ No newline at end of file +} diff --git a/src/js/main.js b/src/js/main.js index b47e75c2..4b84c451 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -9,7 +9,7 @@ import * as constants from './utils/constants'; import * as stdio from './utils/stdioUtils'; import * as cutils from './utils/configUtils'; import * as putils from './utils/pathUtils'; -import { isCSS, isHTML, isJSON, isJS } from './utils/fileUtils'; +import * as futils from './utils/fileUtils'; process.on('uncaughtException', (err) => { stdio.err('Uncaught exception', err); @@ -23,6 +23,8 @@ async function main() { stdio.beginDiagnostics(); // Dump some diagnostics messages, parsed out by the plugin. + stdio.info(`Using process versions: ${JSON.stringify(process.versions)}`); + stdio.info(`Using editor text temp file: ${constants.USING_EDITOR_TEXT_TEMP_FILE}`); stdio.info(`Global file rules: ${constants.GLOBAL_FILE_RULES_JSON}`); @@ -53,25 +55,25 @@ async function main() { ? await fs.readFile(constants.EDITOR_TEXT_TEMP_FILE_PATH, { encoding: 'utf8' }) : constants.EDITOR_TEXT_TEMP_FILE_CONTENTS; - if (isCSS()) { + if (futils.isCSS()) { stdio.info('Attempting to prettify what seems to be a CSS file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); stdio.out(beautify.css(bufferContents, finalConfig.css)); stdio.endPrettifiedCode(); - } else if (isHTML(bufferContents)) { + } else if (futils.isHTML(bufferContents)) { stdio.info('Attempting to prettify what seems to be a HTML file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); stdio.out(beautify.html(bufferContents, finalConfig.html)); stdio.endPrettifiedCode(); - } else if (isJSON(bufferContents)) { + } else if (futils.isJSON(bufferContents)) { stdio.info('Attempting to prettify what seems to be a JSON file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); stdio.out(beautify.js(bufferContents, finalConfig.json)); stdio.endPrettifiedCode(); - } else if (isJS(bufferContents)) { + } else if (futils.isJS(bufferContents)) { stdio.info('Attempting to prettify what seems to be a JS file.'); stdio.endDiagnostics(); stdio.beginPrettifiedCode(); diff --git a/src/js/utils/configSanitizers.js b/src/js/utils/configSanitizers.js index 66f668e3..4013b09b 100644 --- a/src/js/utils/configSanitizers.js +++ b/src/js/utils/configSanitizers.js @@ -45,38 +45,48 @@ export const sanitizeCharishValues = (prefValue) => { // Utility function massaging .jsbeautifyrc objects into a consistent and // expected format, discarding unknown keys and sanitizing values. -export const sanitizeJsbeautifyConfig = jsbeautifyConfig => - mapObj(pick(jsbeautifyConfig, VALID_JSBEAUTIFY_CONFIG_KEYS), (fileType, fileSettings) => { - switch (fileType) { - case 'all': - case 'html': - case 'css': - case 'js': - case 'json': - return [fileType, mapObj(fileSettings, (prefName, prefValue) => - [prefName, sanitizeBooleanishValues(prefValue)], - )]; - case 'custom': - return [fileType, mapObj(fileSettings, (globString, globConfig) => - [globString, mapObj(globConfig, (prefName, prefValue) => - [prefName, sanitizeBooleanishValues(prefValue)], - )], - )]; - default: - throw new Error(`Unknown .jsbeautifyrc file type: ${fileType}`); - } - }); +export const sanitizeJsbeautifyConfig = jsbeautifyConfig => mapObj(pick(jsbeautifyConfig, VALID_JSBEAUTIFY_CONFIG_KEYS), (fileType, fileSettings) => { + switch (fileType) { + case 'all': + case 'html': + case 'css': + case 'js': + case 'json': + return [ + fileType, mapObj(fileSettings, (prefName, prefValue) => [ + prefName, sanitizeBooleanishValues(prefValue), + ]), + ]; + case 'custom': + return [ + fileType, mapObj(fileSettings, (globString, globConfig) => [ + globString, mapObj(globConfig, (prefName, prefValue) => [ + prefName, sanitizeBooleanishValues(prefValue), + ]), + ]), + ]; + default: + throw new Error(`Unknown .jsbeautifyrc file type: ${fileType}`); + } +}); export const translateEditorConfigToJsbeautifyConfig = editorConfig => ({ - custom: mapObj(pickBy(editorConfig, (v, k) => isGlob(k) && isObject(v)), (globString, globConfig) => - [globString, mapObj(globConfig, (prefName, prefValue) => { + custom: mapObj(pickBy(editorConfig, (v, k) => isGlob(k) && isObject(v)), (globString, globConfig) => [ + globString, mapObj(globConfig, (prefName, prefValue) => { switch (prefName) { case 'indent_style': - return ['indent_char', sanitizeCharishValues(prefValue)]; + return [ + 'indent_char', sanitizeCharishValues(prefValue), + ]; case 'insert_final_newline': - return ['end_with_newline', prefValue]; + return [ + 'end_with_newline', prefValue, + ]; default: - return [prefName, prefValue]; + return [ + prefName, prefValue, + ]; } - })]), + }), + ]), }); diff --git a/src/js/utils/configUtils.js b/src/js/utils/configUtils.js index da4f6e42..fc7cebd3 100644 --- a/src/js/utils/configUtils.js +++ b/src/js/utils/configUtils.js @@ -16,12 +16,10 @@ import { isMatchingGlob } from './fileUtils'; // Parses a .jsbeautifyrc json file and returns a sanitized object // with a consistent and expected format. -export const parseJsbeautifyConfig = async filePath => - sanitizeJsbeautifyConfig(await parseJSON5File(filePath)); +export const parseJsbeautifyConfig = async filePath => sanitizeJsbeautifyConfig(await parseJSON5File(filePath)); // Parses the default .jsbeautifyrc json file coming with this plugin. -export const parseDefaultJsbeautifyConfig = () => - parseJsbeautifyConfig(path.join(ROOT_DIR, '.jsbeautifyrc.defaults.json')); +export const parseDefaultJsbeautifyConfig = () => parseJsbeautifyConfig(path.join(ROOT_DIR, '.jsbeautifyrc.defaults.json')); // Clones and extends a given .jsbeautifyrc object with the one located at a // file path. If none exists, a clone of the original is returned. @@ -98,7 +96,7 @@ export const extendJsbeautifyConfigFromEditorConfigInFolders = async (folderPath return clone(oldJsbeautifyConfig); }; -// Clones and extends a given .jsbeautifyrc with some additonal custom options +// Clones and extends a given .jsbeautifyrc with some additional custom options // defined in the "custom" field, which contains globs defining additional // prettification rules for certain files paths. export const extendJsbeautifyConfigWithCurrentFileMatchRules = (jsbeautifyConfig) => { @@ -116,7 +114,7 @@ export const extendJsbeautifyConfigWithCurrentFileMatchRules = (jsbeautifyConfig return clonedJsbeautifyConfig; }; -// Clones and extends a given .jsbeautifyrc with some additonal custom options +// Clones and extends a given .jsbeautifyrc with some additional custom options // retrieved from the editor settings. export const extendJsbeautifyConfigWithEditorOverrides = (jsbeautifyConfig) => { const clonedJsbeautifyConfig = clone(jsbeautifyConfig); @@ -139,15 +137,14 @@ export const extendJsbeautifyConfigWithEditorOverrides = (jsbeautifyConfig) => { return clonedJsbeautifyConfig; }; -// Clones and extends a given .jsbeautifyrc with some additonal meta-options +// Clones and extends a given .jsbeautifyrc with some additional meta-options // following some specific rules respecting global editor settings. export const finalizeJsbeautifyConfig = (jsbeautifyConfig) => { - const extendedJsbeautifyConfig = - extendJsbeautifyConfigWithCurrentFileMatchRules( - extendJsbeautifyConfigWithEditorOverrides( - jsbeautifyConfig, - ), - ); + const extendedJsbeautifyConfig = extendJsbeautifyConfigWithCurrentFileMatchRules( + extendJsbeautifyConfigWithEditorOverrides( + jsbeautifyConfig, + ), + ); return { html: { diff --git a/src/js/utils/fileUtils.js b/src/js/utils/fileUtils.js index 4d877a0f..0bdf0a39 100644 --- a/src/js/utils/fileUtils.js +++ b/src/js/utils/fileUtils.js @@ -63,8 +63,8 @@ export const isCSS = () => { } return useEditorFileSyntaxForDeterminingFileType - ? isAllowedSyntax || isAllowedExtension - : isAllowedExtension; + ? isAllowedSyntax || isAllowedExtension + : isAllowedExtension; }; export const isHTML = (bufferContents) => { @@ -87,8 +87,8 @@ export const isHTML = (bufferContents) => { } return useEditorFileSyntaxForDeterminingFileType - ? isAllowedSyntax || isAllowedExtension - : isAllowedExtension; + ? isAllowedSyntax || isAllowedExtension + : isAllowedExtension; }; export const isJSON = (bufferContents) => { @@ -111,8 +111,8 @@ export const isJSON = (bufferContents) => { } return useEditorFileSyntaxForDeterminingFileType - ? isAllowedSyntax || isAllowedExtension - : isAllowedExtension; + ? isAllowedSyntax || isAllowedExtension + : isAllowedExtension; }; export const isJS = (bufferContents) => { @@ -135,19 +135,18 @@ export const isJS = (bufferContents) => { } return useEditorFileSyntaxForDeterminingFileType - ? isAllowedSyntax || isAllowedExtension - : isAllowedExtension; + ? isAllowedSyntax || isAllowedExtension + : isAllowedExtension; }; // Checks if a file path matches a particular glob string. export const isMatchingGlob = (globString) => { - // If file unsaved, reject globl matching; + // If file unsaved, reject glob matching; if (ORIGINAL_FILE_PATH === '?') { return false; } return ( - minimatch(ORIGINAL_FILE_PATH, globString) || - minimatch(basename(ORIGINAL_FILE_PATH), globString) + minimatch(ORIGINAL_FILE_PATH, globString) + || minimatch(basename(ORIGINAL_FILE_PATH), globString) ); }; - diff --git a/src/js/utils/paths.js b/src/js/utils/paths.js index bc96d8ad..3fe34fe3 100644 --- a/src/js/utils/paths.js +++ b/src/js/utils/paths.js @@ -8,7 +8,6 @@ export const PATH_SEP = path.sep || '/'; export const ROOT_DIR = path.resolve(path.join(__dirname, '..', '..', '..')); -export const USER_HOME_DIR = - process.env.HOME || - process.env.USERPROFILE || - path.join(process.env.HOMEDRIVE, process.env.HOMEPATH); +export const USER_HOME_DIR = process.env.HOME + || process.env.USERPROFILE + || path.join(process.env.HOMEDRIVE, process.env.HOMEPATH); diff --git a/src/py/utils/env_utils.py b/src/py/utils/env_utils.py index 122b50f0..b93c5eec 100644 --- a/src/py/utils/env_utils.py +++ b/src/py/utils/env_utils.py @@ -5,6 +5,7 @@ import subprocess from os import environ, devnull +from os.path import expanduser from .constants import PLATFORM from .window_utils import get_pref @@ -36,7 +37,7 @@ def __init__(self, stdout, stderr): def get_node_path(): """Gets the node.js path specified in this plugin's settings file""" node = get_pref("node_path").get(PLATFORM) - return node + return expanduser(node) def run_command(args): diff --git a/tasks/task-build.js b/tasks/task-build.js index aca6d835..15090ca6 100644 --- a/tasks/task-build.js +++ b/tasks/task-build.js @@ -22,14 +22,13 @@ const BABELRC_CONTENTS = fs.readJsonSync(BABELRC_PATH, { encoding: 'utf8' }); const SRC_DIR = path.join(ROOT_DIR, 'src', 'js'); const BUILD_DIR = path.join(ROOT_DIR, 'build', 'js-transpiled'); -gulp.task('build:babel', () => - gulp.src(`${SRC_DIR}/**/*.js`) - .pipe(changed(BUILD_DIR, { extension: '.js' })) - .pipe(debug({ title: 'Running babel' })) - .pipe(sourcemaps.init()) - .pipe(babel(BABELRC_CONTENTS)) - .pipe(sourcemaps.write()) - .pipe(gulp.dest(BUILD_DIR))); +gulp.task('build:babel', () => gulp.src(`${SRC_DIR}/**/*.js`) + .pipe(changed(BUILD_DIR, { extension: '.js' })) + .pipe(debug({ title: 'Running babel' })) + .pipe(sourcemaps.init()) + .pipe(babel(BABELRC_CONTENTS)) + .pipe(sourcemaps.write()) + .pipe(gulp.dest(BUILD_DIR))); gulp.task('build:write-manifest', () => { const config = pick(Manifest, ['dependencies']); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..660139ba --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4553 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/core@7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.1.2.tgz#f8d2a9ceb6832887329a7b60f9d035791400ba4e" + integrity sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.1.2" + "@babel/helpers" "^7.1.2" + "@babel/parser" "^7.1.2" + "@babel/template" "^7.1.2" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.1.2" + convert-source-map "^1.1.0" + debug "^3.1.0" + json5 "^0.5.0" + lodash "^4.17.10" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.0.0", "@babel/generator@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.2.tgz#fde75c072575ce7abbd97322e8fef5bae67e4630" + integrity sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig== + dependencies: + "@babel/types" "^7.1.2" + jsesc "^2.5.1" + lodash "^4.17.10" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@babel/helper-annotate-as-pure@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-call-delegate@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" + integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-define-map@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" + integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/types" "^7.0.0" + lodash "^4.17.10" + +"@babel/helper-explode-assignable-expression@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== + dependencies: + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + dependencies: + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-hoist-variables@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" + integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-member-expression-to-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" + integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-module-imports@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-module-transforms@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz#470d4f9676d9fad50b324cdcce5fbabbc3da5787" + integrity sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + lodash "^4.17.10" + +"@babel/helper-optimise-call-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + +"@babel/helper-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" + integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== + dependencies: + lodash "^4.17.10" + +"@babel/helper-remap-async-to-generator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-wrap-function" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-replace-supers@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362" + integrity sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-simple-access@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== + dependencies: + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-split-export-declaration@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" + integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-wrap-function@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz#8cf54e9190706067f016af8f75cb3df829cc8c66" + integrity sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helpers@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.1.2.tgz#ab752e8c35ef7d39987df4e8586c63b8846234b5" + integrity sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA== + dependencies: + "@babel/template" "^7.1.2" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.1.2" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.2.tgz#85c5c47af6d244fab77bce6b9bd830e38c978409" + integrity sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ== + +"@babel/plugin-proposal-async-generator-functions@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz#41c1a702e10081456e23a7b74d891922dd1bb6ce" + integrity sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + "@babel/plugin-syntax-async-generators" "^7.0.0" + +"@babel/plugin-proposal-json-strings@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e" + integrity sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings" "^7.0.0" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e" + integrity sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425" + integrity sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33" + integrity sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.2.0" + +"@babel/plugin-syntax-async-generators@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c" + integrity sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-json-strings@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd" + integrity sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-object-rest-spread@7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b" + integrity sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475" + integrity sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-arrow-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749" + integrity sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-async-to-generator@7.1.0", "@babel/plugin-transform-async-to-generator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz#109e036496c51dd65857e16acab3bafdf3c57811" + integrity sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + +"@babel/plugin-transform-block-scoped-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07" + integrity sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-block-scoping@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc" + integrity sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.10" + +"@babel/plugin-transform-classes@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz#ab3f8a564361800cbc8ab1ca6f21108038432249" + integrity sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-define-map" "^7.1.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31" + integrity sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-destructuring@^7.0.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.2.tgz#5fa77d473f5a0a3f5266ad7ce2e8c995a164d60a" + integrity sha512-cvToXvp/OsYxtEn57XJu9BvsGSEYjAh9UeUuXpoi7x6QHB7YdWyQ4lRU/q0Fu1IJNT0o0u4FQ1DMQBzJ8/8vZg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-dotall-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58" + integrity sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/plugin-transform-duplicate-keys@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86" + integrity sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-exponentiation-operator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz#9c34c2ee7fd77e02779cfa37e403a2e1003ccc73" + integrity sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-for-of@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39" + integrity sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz#29c5550d5c46208e7f730516d41eeddd4affadbb" + integrity sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-literals@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86" + integrity sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-amd@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz#f9e0a7072c12e296079b5a59f408ff5b97bf86a8" + integrity sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-commonjs@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz#0a9d86451cbbfb29bd15186306897c67f6f9a05c" + integrity sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + +"@babel/plugin-transform-modules-systemjs@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz#8873d876d4fee23209decc4d1feab8f198cf2df4" + integrity sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-umd@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz#a29a7d85d6f28c3561c33964442257cc6a21f2a8" + integrity sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-new-target@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" + integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-object-super@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz#b1ae194a054b826d8d4ba7ca91486d4ada0f91bb" + integrity sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + +"@babel/plugin-transform-parameters@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz#44f492f9d618c9124026e62301c296bf606a7aed" + integrity sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw== + dependencies: + "@babel/helper-call-delegate" "^7.1.0" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-regenerator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" + integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== + dependencies: + regenerator-transform "^0.13.3" + +"@babel/plugin-transform-runtime@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.1.0.tgz#9f76920d42551bb577e2dc594df229b5f7624b63" + integrity sha512-WFLMgzu5DLQEah0lKTJzYb14vd6UiES7PTnXcvrPZ1VrwFeJ+mTbvr65fFAsXYMt2bIoOoC0jk76zY1S7HZjUg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15" + integrity sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b" + integrity sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-sticky-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366" + integrity sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + +"@babel/plugin-transform-template-literals@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65" + integrity sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-typeof-symbol@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9" + integrity sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-unicode-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc" + integrity sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/preset-env@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.1.0.tgz#e67ea5b0441cfeab1d6f41e9b5c79798800e8d11" + integrity sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.1.0" + "@babel/plugin-proposal-json-strings" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.0.0" + "@babel/plugin-syntax-async-generators" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.1.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.1.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-dotall-regex" "^7.0.0" + "@babel/plugin-transform-duplicate-keys" "^7.0.0" + "@babel/plugin-transform-exponentiation-operator" "^7.1.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.1.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-amd" "^7.1.0" + "@babel/plugin-transform-modules-commonjs" "^7.1.0" + "@babel/plugin-transform-modules-systemjs" "^7.0.0" + "@babel/plugin-transform-modules-umd" "^7.1.0" + "@babel/plugin-transform-new-target" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.1.0" + "@babel/plugin-transform-parameters" "^7.1.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typeof-symbol" "^7.0.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + browserslist "^4.1.0" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.3.0" + +"@babel/register@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" + integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g== + dependencies: + core-js "^2.5.7" + find-cache-dir "^1.0.0" + home-or-tmp "^3.0.0" + lodash "^4.17.10" + mkdirp "^0.5.1" + pirates "^4.0.0" + source-map-support "^0.5.9" + +"@babel/runtime@7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3" + integrity sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg== + dependencies: + regenerator-runtime "^0.12.0" + +"@babel/template@^7.1.0", "@babel/template@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644" + integrity sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.1.2" + "@babel/types" "^7.1.2" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.0.tgz#503ec6669387efd182c3888c4eec07bcc45d91b2" + integrity sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.0.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + debug "^3.1.0" + globals "^11.1.0" + lodash "^4.17.10" + +"@babel/types@^7.0.0", "@babel/types@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.2.tgz#183e7952cf6691628afdc2e2b90d03240bac80c0" + integrity sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg== + dependencies: + esutils "^2.0.2" + lodash "^4.17.10" + to-fast-properties "^2.0.0" + +"@gulp-sourcemaps/identity-map@1.X": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz#1e6fe5d8027b1f285dc0d31762f566bccd73d5a9" + integrity sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ== + dependencies: + acorn "^5.0.3" + css "^2.2.1" + normalize-path "^2.1.1" + source-map "^0.6.0" + through2 "^2.0.3" + +"@gulp-sourcemaps/map-sources@1.X": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda" + integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o= + dependencies: + normalize-path "^2.0.1" + through2 "^2.0.3" + +"@types/commander@^2.11.0": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@types/commander/-/commander-2.12.2.tgz#183041a23842d4281478fa5d23c5ca78e6fd08ae" + integrity sha512-0QEFiR8ljcHp9bAbWxecjVRuAMr16ivPiGOw6KFQBVrVd0RQIcM3xKdRisH2EDWgVWujiYtHwhSkSUoAAGzH7Q== + dependencies: + commander "*" + +"@types/semver@^5.4.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" + integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +acorn-jsx@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" + integrity sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw== + dependencies: + acorn "^5.0.3" + +acorn@5.X, acorn@^5.0.3, acorn@^5.6.0: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + +ajv-keywords@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo= + +ajv@^6.0.1, ajv@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59" + integrity sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + +ansi-cyan@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" + integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM= + dependencies: + ansi-wrap "0.1.0" + +ansi-escapes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + +ansi-red@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" + integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= + dependencies: + buffer-equal "^1.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" + integrity sha1-aHwydYFjWI/vfeezb6vklesaOZo= + dependencies: + arr-flatten "^1.0.1" + array-slice "^0.2.3" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= + dependencies: + make-iterator "^1.0.0" + +arr-union@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" + integrity sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + +array-slice@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" + integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU= + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.1.tgz#14b7b73667b864c8f02b5b253fc9c6eddb777f3e" + integrity sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^1.0.7" + stream-exhaust "^1.0.1" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha1-GdOGodntxufByF04iu28xW0zYC0= + +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= + dependencies: + async-done "^1.2.2" + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +babel-eslint@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" + integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-scope "3.7.1" + eslint-visitor-keys "^1.0.0" + +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +binary-extensions@^1.0.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" + integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +browserslist@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.1.tgz#328eb4ff1215b12df6589e9ab82f8adaa4fc8cd6" + integrity sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q== + dependencies: + caniuse-lite "^1.0.30000884" + electron-to-chromium "^1.3.62" + node-releases "^1.0.0-alpha.11" + +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + +caniuse-lite@^1.0.30000884: + version "1.0.30000888" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz#22edb50d91dd70612b5898e3b36f460600c6492f" + integrity sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ== + +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cloneable-readable@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" + integrity sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +commander@*, commander@^2.11.0: + version "2.18.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" + integrity sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-chain@~1.1.5: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +convert-source-map@1.X, convert-source-map@^1.1.0, convert-source-map@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-props@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" + integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + dependencies: + each-props "^1.3.0" + is-plain-object "^2.0.1" + +core-js@2.5.7, core-js@^2.5.7: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw== + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +css@2.X, css@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= + dependencies: + es5-ext "^0.10.9" + +debug-fabulous@1.X: + version "1.1.0" + resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e" + integrity sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg== + dependencies: + debug "3.X" + memoizee "0.4.X" + object-assign "4.X" + +debug@3.X, debug@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.5.tgz#c2418fbfd7a29f4d4f70ff4cea604d4b64c46407" + integrity sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg== + dependencies: + ms "^2.1.1" + +debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.0.1.tgz#f9bb36d439b8d1f0dd52d8fb6b46e4ebb8c1cd5b" + integrity sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw== + dependencies: + ms "^2.1.1" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= + +define-properties@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +detect-newline@2.X: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +duplexify@^3.5.0, duplexify@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + integrity sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +each-props@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + +editorconfig-parser@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/editorconfig-parser/-/editorconfig-parser-0.0.2.tgz#477feec395dd0c859582e8b8de34408d2b28104b" + integrity sha1-R3/uw5XdDIWVgui43jRAjSsoEEs= + +editorconfig@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.0.tgz#b6dd4a0b6b9e76ce48e066bdc15381aebb8804fd" + integrity sha512-j7JBoj/bpNzvoTQylfRZSc85MlLNKWQiq5y6gwKhmqD2h1eZ+tH4AXbkhEJD468gjDna/XMx2YtSkCxBRX9OGg== + dependencies: + "@types/commander" "^2.11.0" + "@types/semver" "^5.4.0" + commander "^2.11.0" + lru-cache "^4.1.1" + semver "^5.4.1" + sigmund "^1.0.1" + +electron-to-chromium@^1.3.62: + version "1.3.72" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.72.tgz#b69683081d5b7eee6e1ea07b2f5fa30b3c72252d" + integrity sha512-OFbXEC01Lq7A66e3UywkvWYNN00HO1I9MAPereGe0NIXrt2MeaovL1bbY+951HKG0euUdPBe0L7yfKxgqxBMMw== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + dependencies: + once "^1.4.0" + +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.6.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2: + version "0.10.46" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.46.tgz#efd99f67c5a7ec789baa3daa7f79870388f7f572" + integrity sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "1" + +es6-iterator@^2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8= + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +eslint-config-airbnb-base@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" + integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== + dependencies: + eslint-restricted-globals "^0.1.1" + object.assign "^4.1.0" + object.entries "^1.0.4" + +eslint-import-resolver-node@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + dependencies: + debug "^2.6.9" + resolve "^1.5.0" + +eslint-module-utils@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" + integrity sha1-snA2LNiLGkitMIl2zn+lTphBF0Y= + dependencies: + debug "^2.6.8" + pkg-dir "^1.0.0" + +eslint-plugin-import@2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" + integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g== + dependencies: + contains-path "^0.1.0" + debug "^2.6.8" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.1" + eslint-module-utils "^2.2.0" + has "^1.0.1" + lodash "^4.17.4" + minimatch "^3.0.3" + read-pkg-up "^2.0.0" + resolve "^1.6.0" + +eslint-restricted-globals@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" + integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= + +eslint-scope@3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + +eslint-visitor-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== + +eslint@5.6.1, eslint@^5.0.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.6.1.tgz#348134e32ccc09abb2df1bf282b3f6eed8c7b480" + integrity sha512-hgrDtGWz368b7Wqf+v1Z69O3ZebNR0+GA7PtDdbmuz4rInFVUV9uw7whjZEiWyLzCjVb5Rs5WRN1TAS6eo7AYA== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.5.3" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^2.1.0" + eslint-scope "^4.0.0" + eslint-utils "^1.3.1" + eslint-visitor-keys "^1.0.0" + espree "^4.0.0" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.7.0" + ignore "^4.0.6" + imurmurhash "^0.1.4" + inquirer "^6.1.0" + is-resolvable "^1.1.0" + js-yaml "^3.12.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.5" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + pluralize "^7.0.0" + progress "^2.0.0" + regexpp "^2.0.0" + require-uncached "^1.0.3" + semver "^5.5.1" + strip-ansi "^4.0.0" + strip-json-comments "^2.0.1" + table "^4.0.3" + text-table "^0.2.0" + +espree@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634" + integrity sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg== + dependencies: + acorn "^5.6.0" + acorn-jsx "^4.1.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +extend-shallow@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" + integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE= + dependencies: + kind-of "^1.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fancy-log@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" + integrity sha1-9BEl49hPLn2JpD0G2VjI94vha+E= + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + time-stamp "^1.0.0" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" + integrity sha1-s33IRLdqL15wgeiE98CuNE8VNHY= + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" + integrity sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c= + +flat-cache@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE= + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +flush-write-stream@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.4" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +fork-stream@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70" + integrity sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs-extra@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" + integrity sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + dependencies: + minipass "^2.2.1" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +function-bind@^1.1.0, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-own-enumerable-property-symbols@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" + integrity sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob-watcher@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.1.tgz#239aaa621b6bd843b288fdf6b155f50963c7d7ea" + integrity sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g== + dependencies: + async-done "^1.2.0" + chokidar "^2.0.0" + just-debounce "^1.0.0" + object.defaults "^1.1.0" + +glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^11.1.0, globals@^11.7.0: + version "11.7.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" + integrity sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg== + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +glogg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" + integrity sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw== + dependencies: + sparkles "^1.0.0" + +graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + +gulp-babel@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-8.0.0.tgz#e0da96f4f2ec4a88dd3a3030f476e38ab2126d87" + integrity sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ== + dependencies: + plugin-error "^1.0.1" + replace-ext "^1.0.0" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-changed@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/gulp-changed/-/gulp-changed-3.2.0.tgz#cee9866d949e09187522523d6c65565f6e32bd7c" + integrity sha1-zumGbZSeCRh1IlI9bGVWX24yvXw= + dependencies: + make-dir "^1.1.0" + pify "^3.0.0" + plugin-error "^0.1.2" + replace-ext "^1.0.0" + through2 "^2.0.0" + touch "^3.1.0" + +gulp-cli@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.0.1.tgz#7847e220cb3662f2be8a6d572bf14e17be5a994b" + integrity sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.1.0" + isobject "^3.0.1" + liftoff "^2.5.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.0.1" + yargs "^7.1.0" + +gulp-debug@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gulp-debug/-/gulp-debug-4.0.0.tgz#036f9539c3fb6af720e01a9ea5c195fc73f29d5b" + integrity sha512-cn/GhMD2nVZCVxAl5vWao4/dcoZ8wUJ8w3oqTvQaGDmC1vT7swNOEbhQTWJp+/otKePT64aENcqAQXDcdj5H1g== + dependencies: + chalk "^2.3.0" + fancy-log "^1.3.2" + plur "^3.0.0" + stringify-object "^3.0.0" + through2 "^2.0.0" + tildify "^1.1.2" + +gulp-eslint@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gulp-eslint/-/gulp-eslint-5.0.0.tgz#2a2684095f774b2cf79310262078c56cc7a12b52" + integrity sha512-9GUqCqh85C7rP9120cpxXuZz2ayq3BZc85pCTuPJS03VQYxne0aWPIXWx6LSvsGPa3uRqtSO537vaugOh+5cXg== + dependencies: + eslint "^5.0.1" + fancy-log "^1.3.2" + plugin-error "^1.0.1" + +gulp-if@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-2.0.2.tgz#a497b7e7573005041caa2bc8b7dda3c80444d629" + integrity sha1-pJe351cwBQQcqivIt92jyARE1ik= + dependencies: + gulp-match "^1.0.3" + ternary-stream "^2.0.1" + through2 "^2.0.1" + +gulp-match@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.0.3.tgz#91c7c0d7f29becd6606d57d80a7f8776a87aba8e" + integrity sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4= + dependencies: + minimatch "^3.0.3" + +gulp-sourcemaps@2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz#cbb2008450b1bcce6cd23bf98337be751bf6e30a" + integrity sha1-y7IAhFCxvM5s0jv5gze+dRv24wo= + dependencies: + "@gulp-sourcemaps/identity-map" "1.X" + "@gulp-sourcemaps/map-sources" "1.X" + acorn "5.X" + convert-source-map "1.X" + css "2.X" + debug-fabulous "1.X" + detect-newline "2.X" + graceful-fs "4.X" + source-map "~0.6.0" + strip-bom-string "1.X" + through2 "2.X" + +gulp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.0.tgz#95766c601dade4a77ed3e7b2b6dc03881b596366" + integrity sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y= + dependencies: + glob-watcher "^5.0.0" + gulp-cli "^2.0.0" + undertaker "^1.0.0" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +home-or-tmp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" + integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs= + +homedir-polyfill@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + +iconv-lite@^0.4.24, iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + dependencies: + minimatch "^3.0.4" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" + integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.0" + figures "^2.0.0" + lodash "^4.17.10" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.1.0" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +interpret@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +irregular-plurals@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-2.0.0.tgz#39d40f05b00f656d0b7fa471230dd3b714af2872" + integrity sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@4.0.0, is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= + dependencies: + is-extglob "^2.1.1" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-promise@^2.1, is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +js-beautify@1.8.8: + version "1.8.8" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.8.8.tgz#1eb175b73a3571a5f1ed8d98e7cf2b05bfa98471" + integrity sha512-qVNq7ZZ7ZbLdzorvSlRDadS0Rh5oyItaE95v6I4wbbuSiijxn7SnnsV6dvKlcXuO2jX7lK8tn9fBulx34K/Ejg== + dependencies: + config-chain "~1.1.5" + editorconfig "^0.15.0" + mkdirp "~0.5.0" + nopt "~4.0.1" + +js-levenshtein@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz#3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e" + integrity sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + integrity sha1-5CGiqOINawgZ3yiQj3glJrlt0f4= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json5@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + dependencies: + minimist "^1.2.0" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +just-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" + integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= + +kind-of@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" + integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0, kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + dependencies: + flush-write-stream "^1.0.2" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +liftoff@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" + integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew= + dependencies: + extend "^3.0.0" + findup-sync "^2.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash@4.17.11, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-queue@0.1: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= + dependencies: + es5-ext "~0.10.2" + +make-dir@^1.0.0, make-dir@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-3.0.0.tgz#4221cc62360f88c0735f9e7c0813bd889657f490" + integrity sha512-Ot+2wruG8WqTbJngDxz0Ifm03y2pO4iL+brq/l+yEkGjUza03BnMQqX2XT//Jls8MOOl2VTHviAoLX+/nq/HXw== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + +memoizee@0.4.X: + version "0.4.14" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" + integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg== + dependencies: + d "1" + es5-ext "^0.10.45" + es6-weak-map "^2.0.2" + event-emitter "^0.3.5" + is-promise "^2.1" + lru-queue "0.1" + next-tick "1" + timers-ext "^0.1.5" + +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" + integrity sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + integrity sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA== + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +nan@^2.9.2: + version "2.11.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" + integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +next-tick@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +node-releases@^1.0.0-alpha.11: + version "1.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.12.tgz#32e461b879ea76ac674e511d9832cf29da345268" + integrity sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q== + dependencies: + semver "^5.3.0" + +nopt@^4.0.1, nopt@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +now-and-later@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee" + integrity sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4= + dependencies: + once "^1.3.2" + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== + +npm-packlist@^1.1.6: + version "1.1.11" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" + integrity sha512-CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@4.X, object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.0.4, object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.entries@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + integrity sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-parse@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" + integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +plugin-error@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" + integrity sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4= + dependencies: + ansi-cyan "^0.1.1" + ansi-red "^0.1.1" + arr-diff "^1.0.1" + arr-union "^2.0.1" + extend-shallow "^1.1.2" + +plugin-error@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" + integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== + dependencies: + ansi-colors "^1.0.1" + arr-diff "^4.0.0" + arr-union "^3.1.0" + extend-shallow "^3.0.2" + +plur@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/plur/-/plur-3.0.1.tgz#268652d605f816699b42b86248de73c9acd06a7c" + integrity sha512-lJl0ojUynAM1BZn58Pas2WT/TXeC1+bS+UqShl0x9+49AtOn7DixRXVzaC8qrDOIxNDmepKnLuMTH7NQmkX0PA== + dependencies: + irregular-plurals "^2.0.0" + +pluralize@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" + integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +private@^0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= + +promise-arrays@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/promise-arrays/-/promise-arrays-0.1.0.tgz#f816759d224ff0d946914c82ffd37c9f12e31480" + integrity sha1-+BZ1nSJP8NlGkUyC/9N8nxLjFIA= + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" + integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== + +regenerator-transform@^0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" + integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== + dependencies: + private "^0.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.0.tgz#b2a7534a85ca1b033bcf5ce9ff8e56d4e0755365" + integrity sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA== + +regexpu-core@^4.1.3, regexpu-core@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" + integrity sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^7.0.0" + regjsgen "^0.4.0" + regjsparser "^0.3.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" + +regjsgen@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561" + integrity sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA== + +regjsparser@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96" + integrity sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA== + dependencies: + jsesc "~0.5.0" + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-uncached@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.6.0, resolve@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== + dependencies: + path-parse "^1.0.5" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^2.2.8, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== + dependencies: + glob "^7.0.5" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + +rxjs@^6.1.0: + version "6.3.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" + integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= + dependencies: + sver-compat "^1.5.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" + integrity sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw== + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +slice-ansi@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== + dependencies: + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" + integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +spdx-correct@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.1.tgz#434434ff9d1726b4d9f4219d1004813d80639e30" + integrity sha512-hxSPZbRZvSDuOvADntOElzJpenIR7wXJkuoUcUtS0erbgt2fgeaoPIYretfKpslMhfFDY4k0MZ2F5CUzhBsSvQ== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + integrity sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg== + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" + integrity sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stack-trace@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" + integrity sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg== + dependencies: + get-own-enumerable-property-symbols "^2.0.1" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-bom-string@1.X: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +table@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" + integrity sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg== + dependencies: + ajv "^6.0.1" + ajv-keywords "^3.0.0" + chalk "^2.1.0" + lodash "^4.17.4" + slice-ansi "1.0.0" + string-width "^2.1.1" + +tar@^4: + version "4.4.6" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" + integrity sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg== + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +ternary-stream@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-2.0.1.tgz#064e489b4b5bf60ba6a6b7bc7f2f5c274ecf8269" + integrity sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk= + dependencies: + duplexify "^3.5.0" + fork-stream "^0.0.4" + merge-stream "^1.0.0" + through2 "^2.0.1" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" + integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw= + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tildify@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo= + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + +timers-ext@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.5.tgz#77147dd4e76b660c2abb8785db96574cbbd12922" + integrity sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg== + dependencies: + es5-ext "~0.10.14" + next-tick "1" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" + +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= + +undertaker@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.0.tgz#339da4646252d082dc378e708067299750e11b49" + integrity sha1-M52kZGJS0ILcN45wgGcpl1DhG0k= + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" + integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + integrity sha1-WqADz76Uxf+GbE59ZouxxNuts2k= + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8flags@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.1.tgz#42259a1461c08397e37fe1d4f1cfb59cad85a053" + integrity sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ== + dependencies: + homedir-polyfill "^1.0.1" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + +vinyl-fs@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl-sourcemaps-apply@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU= + dependencies: + source-map "^0.5.1" + +vinyl@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + +which@^1.2.14, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= + dependencies: + mkdirp "^0.5.1" + +xtend@~4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= + dependencies: + camelcase "^3.0.0" + +yargs@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0"