diff --git a/dist/azure/gitreleasemanager/addasset/bundle.js b/dist/azure/gitreleasemanager/addasset/bundle.js deleted file mode 100644 index bf90a5d31..000000000 --- a/dist/azure/gitreleasemanager/addasset/bundle.js +++ /dev/null @@ -1,23756 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/azure-pipelines-task-lib/internal.js": -/*!***********************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/internal.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports._exposeCertSettings = exports._exposeProxySettings = exports._normalizeSeparators = exports._isRooted = exports._getDirectoryName = exports._ensureRooted = exports._isUncPath = exports._loadData = exports._ensurePatternRooted = exports._getFindInfoFromPattern = exports._cloneMatchOptions = exports._legacyFindFiles_convertPatternToRegExp = exports._which = exports._checkPath = exports._exist = exports._debug = exports._error = exports._warning = exports._command = exports._getVariableKey = exports._getVariable = exports._loc = exports._setResourcePath = exports._setErrStream = exports._setStdStream = exports._writeLine = exports._endsWith = exports._startsWith = exports._vault = exports._knownVariableMap = void 0; -var fs = __webpack_require__(/*! fs */ "fs"); -var path = __webpack_require__(/*! path */ "path"); -var os = __webpack_require__(/*! os */ "os"); -var minimatch = __webpack_require__(/*! minimatch */ "./node_modules/minimatch/minimatch.js"); -var util = __webpack_require__(/*! util */ "util"); -var tcm = __webpack_require__(/*! ./taskcommand */ "./node_modules/azure-pipelines-task-lib/taskcommand.js"); -var vm = __webpack_require__(/*! ./vault */ "./node_modules/azure-pipelines-task-lib/vault.js"); -var semver = __webpack_require__(/*! semver */ "./node_modules/semver/semver.js"); -var crypto = __webpack_require__(/*! crypto */ "crypto"); -/** - * Hash table of known variable info. The formatted env var name is the lookup key. - * - * The purpose of this hash table is to keep track of known variables. The hash table - * needs to be maintained for multiple reasons: - * 1) to distinguish between env vars and job vars - * 2) to distinguish between secret vars and public - * 3) to know the real variable name and not just the formatted env var name. - */ -exports._knownVariableMap = {}; -//----------------------------------------------------- -// Validation Checks -//----------------------------------------------------- -// async await needs generators in node 4.x+ -if (semver.lt(process.versions.node, '4.2.0')) { - _warning('Tasks require a new agent. Upgrade your agent or node to 4.2.0 or later'); -} -//----------------------------------------------------- -// String convenience -//----------------------------------------------------- -function _startsWith(str, start) { - return str.slice(0, start.length) == start; -} -exports._startsWith = _startsWith; -function _endsWith(str, end) { - return str.slice(-end.length) == end; -} -exports._endsWith = _endsWith; -//----------------------------------------------------- -// General Helpers -//----------------------------------------------------- -var _outStream = process.stdout; -var _errStream = process.stderr; -function _writeLine(str) { - _outStream.write(str + os.EOL); -} -exports._writeLine = _writeLine; -function _setStdStream(stdStream) { - _outStream = stdStream; -} -exports._setStdStream = _setStdStream; -function _setErrStream(errStream) { - _errStream = errStream; -} -exports._setErrStream = _setErrStream; -//----------------------------------------------------- -// Loc Helpers -//----------------------------------------------------- -var _locStringCache = {}; -var _resourceFiles = {}; -var _libResourceFileLoaded = false; -var _resourceCulture = 'en-US'; -function _loadResJson(resjsonFile) { - var resJson; - if (_exist(resjsonFile)) { - var resjsonContent = fs.readFileSync(resjsonFile, 'utf8').toString(); - // remove BOM - if (resjsonContent.indexOf('\uFEFF') == 0) { - resjsonContent = resjsonContent.slice(1); - } - try { - resJson = JSON.parse(resjsonContent); - } - catch (err) { - _debug('unable to parse resjson with err: ' + err.message); - } - } - else { - _debug('.resjson file not found: ' + resjsonFile); - } - return resJson; -} -function _loadLocStrings(resourceFile, culture) { - var locStrings = {}; - if (_exist(resourceFile)) { - var resourceJson = _loadResJson(resourceFile); - if (resourceJson && resourceJson.hasOwnProperty('messages')) { - var locResourceJson; - // load up resource resjson for different culture - var localizedResourceFile = path.join(path.dirname(resourceFile), 'Strings', 'resources.resjson'); - var upperCulture = culture.toUpperCase(); - var cultures = []; - try { - cultures = fs.readdirSync(localizedResourceFile); - } - catch (ex) { } - for (var i = 0; i < cultures.length; i++) { - if (cultures[i].toUpperCase() == upperCulture) { - localizedResourceFile = path.join(localizedResourceFile, cultures[i], 'resources.resjson'); - if (_exist(localizedResourceFile)) { - locResourceJson = _loadResJson(localizedResourceFile); - } - break; - } - } - for (var key in resourceJson.messages) { - if (locResourceJson && locResourceJson.hasOwnProperty('loc.messages.' + key)) { - locStrings[key] = locResourceJson['loc.messages.' + key]; - } - else { - locStrings[key] = resourceJson.messages[key]; - } - } - } - } - else { - _warning('LIB_ResourceFile does not exist'); - } - return locStrings; -} -/** - * Sets the location of the resources json. This is typically the task.json file. - * Call once at the beginning of the script before any calls to loc. - * @param path Full path to the json. - * @param ignoreWarnings Won't throw warnings if path already set. - * @returns void - */ -function _setResourcePath(path, ignoreWarnings) { - if (ignoreWarnings === void 0) { ignoreWarnings = false; } - if (process.env['TASKLIB_INPROC_UNITS']) { - _resourceFiles = {}; - _libResourceFileLoaded = false; - _locStringCache = {}; - _resourceCulture = 'en-US'; - } - if (!_resourceFiles[path]) { - _checkPath(path, 'resource file path'); - _resourceFiles[path] = path; - _debug('adding resource file: ' + path); - _resourceCulture = _getVariable('system.culture') || _resourceCulture; - var locStrs = _loadLocStrings(path, _resourceCulture); - for (var key in locStrs) { - //cache loc string - _locStringCache[key] = locStrs[key]; - } - } - else { - if (ignoreWarnings) { - _debug(_loc('LIB_ResourceFileAlreadySet', path)); - } - else { - _warning(_loc('LIB_ResourceFileAlreadySet', path)); - } - } -} -exports._setResourcePath = _setResourcePath; -/** - * Gets the localized string from the json resource file. Optionally formats with additional params. - * - * @param key key of the resources string in the resource file - * @param param additional params for formatting the string - * @returns string - */ -function _loc(key) { - var param = []; - for (var _i = 1; _i < arguments.length; _i++) { - param[_i - 1] = arguments[_i]; - } - if (!_libResourceFileLoaded) { - // merge loc strings from azure-pipelines-task-lib. - var libResourceFile = path.join(__dirname, 'lib.json'); - var libLocStrs = _loadLocStrings(libResourceFile, _resourceCulture); - for (var libKey in libLocStrs) { - //cache azure-pipelines-task-lib loc string - _locStringCache[libKey] = libLocStrs[libKey]; - } - _libResourceFileLoaded = true; - } - var locString; - ; - if (_locStringCache.hasOwnProperty(key)) { - locString = _locStringCache[key]; - } - else { - if (Object.keys(_resourceFiles).length <= 0) { - _warning("Resource file haven't been set, can't find loc string for key: " + key); - } - else { - _warning("Can't find loc string for key: " + key); - } - locString = key; - } - if (param.length > 0) { - return util.format.apply(this, [locString].concat(param)); - } - else { - return locString; - } -} -exports._loc = _loc; -//----------------------------------------------------- -// Input Helpers -//----------------------------------------------------- -/** - * Gets a variable value that is defined on the build/release definition or set at runtime. - * - * @param name name of the variable to get - * @returns string - */ -function _getVariable(name) { - var varval; - // get the metadata - var info; - var key = _getVariableKey(name); - if (exports._knownVariableMap.hasOwnProperty(key)) { - info = exports._knownVariableMap[key]; - } - if (info && info.secret) { - // get the secret value - varval = exports._vault.retrieveSecret('SECRET_' + key); - } - else { - // get the public value - varval = process.env[key]; - // fallback for pre 2.104.1 agent - if (!varval && name.toUpperCase() == 'AGENT.JOBSTATUS') { - varval = process.env['agent.jobstatus']; - } - } - _debug(name + '=' + varval); - return varval; -} -exports._getVariable = _getVariable; -function _getVariableKey(name) { - if (!name) { - throw new Error(_loc('LIB_ParameterIsRequired', 'name')); - } - return name.replace(/\./g, '_').replace(/ /g, '_').toUpperCase(); -} -exports._getVariableKey = _getVariableKey; -//----------------------------------------------------- -// Cmd Helpers -//----------------------------------------------------- -function _command(command, properties, message) { - var taskCmd = new tcm.TaskCommand(command, properties, message); - _writeLine(taskCmd.toString()); -} -exports._command = _command; -function _warning(message) { - _command('task.issue', { 'type': 'warning' }, message); -} -exports._warning = _warning; -function _error(message) { - _command('task.issue', { 'type': 'error' }, message); -} -exports._error = _error; -function _debug(message) { - _command('task.debug', null, message); -} -exports._debug = _debug; -// //----------------------------------------------------- -// // Disk Functions -// //----------------------------------------------------- -/** - * Returns whether a path exists. - * - * @param path path to check - * @returns boolean - */ -function _exist(path) { - var exist = false; - try { - exist = !!(path && fs.statSync(path) != null); - } - catch (err) { - if (err && err.code === 'ENOENT') { - exist = false; - } - else { - throw err; - } - } - return exist; -} -exports._exist = _exist; -/** - * Checks whether a path exists. - * If the path does not exist, it will throw. - * - * @param p path to check - * @param name name only used in error message to identify the path - * @returns void - */ -function _checkPath(p, name) { - _debug('check path : ' + p); - if (!_exist(p)) { - throw new Error(_loc('LIB_PathNotFound', name, p)); - } -} -exports._checkPath = _checkPath; -/** - * Returns path of a tool had the tool actually been invoked. Resolves via paths. - * If you check and the tool does not exist, it will throw. - * - * @param tool name of the tool - * @param check whether to check if tool exists - * @returns string - */ -function _which(tool, check) { - if (!tool) { - throw new Error('parameter \'tool\' is required'); - } - // recursive when check=true - if (check) { - var result = _which(tool, false); - if (result) { - return result; - } - else { - if (process.platform == 'win32') { - throw new Error(_loc('LIB_WhichNotFound_Win', tool)); - } - else { - throw new Error(_loc('LIB_WhichNotFound_Linux', tool)); - } - } - } - _debug("which '" + tool + "'"); - try { - // build the list of extensions to try - var extensions = []; - if (process.platform == 'win32' && process.env['PATHEXT']) { - for (var _i = 0, _a = process.env['PATHEXT'].split(path.delimiter); _i < _a.length; _i++) { - var extension = _a[_i]; - if (extension) { - extensions.push(extension); - } - } - } - // if it's rooted, return it if exists. otherwise return empty. - if (_isRooted(tool)) { - var filePath = _tryGetExecutablePath(tool, extensions); - if (filePath) { - _debug("found: '" + filePath + "'"); - return filePath; - } - _debug('not found'); - return ''; - } - // if any path separators, return empty - if (tool.indexOf('/') >= 0 || (process.platform == 'win32' && tool.indexOf('\\') >= 0)) { - _debug('not found'); - return ''; - } - // build the list of directories - // - // Note, technically "where" checks the current directory on Windows. From a task lib perspective, - // it feels like we should not do this. Checking the current directory seems like more of a use - // case of a shell, and the which() function exposed by the task lib should strive for consistency - // across platforms. - var directories = []; - if (process.env['PATH']) { - for (var _b = 0, _c = process.env['PATH'].split(path.delimiter); _b < _c.length; _b++) { - var p = _c[_b]; - if (p) { - directories.push(p); - } - } - } - // return the first match - for (var _d = 0, directories_1 = directories; _d < directories_1.length; _d++) { - var directory = directories_1[_d]; - var filePath = _tryGetExecutablePath(directory + path.sep + tool, extensions); - if (filePath) { - _debug("found: '" + filePath + "'"); - return filePath; - } - } - _debug('not found'); - return ''; - } - catch (err) { - throw new Error(_loc('LIB_OperationFailed', 'which', err.message)); - } -} -exports._which = _which; -/** - * Best effort attempt to determine whether a file exists and is executable. - * @param filePath file path to check - * @param extensions additional file extensions to try - * @return if file exists and is executable, returns the file path. otherwise empty string. - */ -function _tryGetExecutablePath(filePath, extensions) { - try { - // test file exists - var stats = fs.statSync(filePath); - if (stats.isFile()) { - if (process.platform == 'win32') { - // on Windows, test for valid extension - var isExecutable = false; - var fileName = path.basename(filePath); - var dotIndex = fileName.lastIndexOf('.'); - if (dotIndex >= 0) { - var upperExt_1 = fileName.substr(dotIndex).toUpperCase(); - if (extensions.some(function (validExt) { return validExt.toUpperCase() == upperExt_1; })) { - return filePath; - } - } - } - else { - if (isUnixExecutable(stats)) { - return filePath; - } - } - } - } - catch (err) { - if (err.code != 'ENOENT') { - _debug("Unexpected error attempting to determine if executable file exists '" + filePath + "': " + err); - } - } - // try each extension - var originalFilePath = filePath; - for (var _i = 0, extensions_1 = extensions; _i < extensions_1.length; _i++) { - var extension = extensions_1[_i]; - var found = false; - var filePath_1 = originalFilePath + extension; - try { - var stats = fs.statSync(filePath_1); - if (stats.isFile()) { - if (process.platform == 'win32') { - // preserve the case of the actual file (since an extension was appended) - try { - var directory = path.dirname(filePath_1); - var upperName = path.basename(filePath_1).toUpperCase(); - for (var _a = 0, _b = fs.readdirSync(directory); _a < _b.length; _a++) { - var actualName = _b[_a]; - if (upperName == actualName.toUpperCase()) { - filePath_1 = path.join(directory, actualName); - break; - } - } - } - catch (err) { - _debug("Unexpected error attempting to determine the actual case of the file '" + filePath_1 + "': " + err); - } - return filePath_1; - } - else { - if (isUnixExecutable(stats)) { - return filePath_1; - } - } - } - } - catch (err) { - if (err.code != 'ENOENT') { - _debug("Unexpected error attempting to determine if executable file exists '" + filePath_1 + "': " + err); - } - } - } - return ''; -} -// on Mac/Linux, test the execute bit -// R W X R W X R W X -// 256 128 64 32 16 8 4 2 1 -function isUnixExecutable(stats) { - return (stats.mode & 1) > 0 || ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || ((stats.mode & 64) > 0 && stats.uid === process.getuid()); -} -function _legacyFindFiles_convertPatternToRegExp(pattern) { - pattern = (process.platform == 'win32' ? pattern.replace(/\\/g, '/') : pattern) // normalize separator on Windows - .replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&') // regex escape - from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - .replace(/\\\/\\\*\\\*\\\//g, '((\/.+/)|(\/))') // replace directory globstar, e.g. /hello/**/world - .replace(/\\\*\\\*/g, '.*') // replace remaining globstars with a wildcard that can span directory separators, e.g. /hello/**dll - .replace(/\\\*/g, '[^\/]*') // replace asterisks with a wildcard that cannot span directory separators, e.g. /hello/*.dll - .replace(/\\\?/g, '[^\/]'); // replace single character wildcards, e.g. /hello/log?.dll - pattern = "^" + pattern + "$"; - var flags = process.platform == 'win32' ? 'i' : ''; - return new RegExp(pattern, flags); -} -exports._legacyFindFiles_convertPatternToRegExp = _legacyFindFiles_convertPatternToRegExp; -function _cloneMatchOptions(matchOptions) { - return { - debug: matchOptions.debug, - nobrace: matchOptions.nobrace, - noglobstar: matchOptions.noglobstar, - dot: matchOptions.dot, - noext: matchOptions.noext, - nocase: matchOptions.nocase, - nonull: matchOptions.nonull, - matchBase: matchOptions.matchBase, - nocomment: matchOptions.nocomment, - nonegate: matchOptions.nonegate, - flipNegate: matchOptions.flipNegate - }; -} -exports._cloneMatchOptions = _cloneMatchOptions; -function _getFindInfoFromPattern(defaultRoot, pattern, matchOptions) { - // parameter validation - if (!defaultRoot) { - throw new Error('getFindRootFromPattern() parameter defaultRoot cannot be empty'); - } - if (!pattern) { - throw new Error('getFindRootFromPattern() parameter pattern cannot be empty'); - } - if (!matchOptions.nobrace) { - throw new Error('getFindRootFromPattern() expected matchOptions.nobrace to be true'); - } - // for the sake of determining the findPath, pretend nocase=false - matchOptions = _cloneMatchOptions(matchOptions); - matchOptions.nocase = false; - // check if basename only and matchBase=true - if (matchOptions.matchBase && - !_isRooted(pattern) && - (process.platform == 'win32' ? pattern.replace(/\\/g, '/') : pattern).indexOf('/') < 0) { - return { - adjustedPattern: pattern, - findPath: defaultRoot, - statOnly: false, - }; - } - // the technique applied by this function is to use the information on the Minimatch object determine - // the findPath. Minimatch breaks the pattern into path segments, and exposes information about which - // segments are literal vs patterns. - // - // note, the technique currently imposes a limitation for drive-relative paths with a glob in the - // first segment, e.g. C:hello*/world. it's feasible to overcome this limitation, but is left unsolved - // for now. - var minimatchObj = new minimatch.Minimatch(pattern, matchOptions); - // the "set" property is an array of arrays of parsed path segment info. the outer array should only - // contain one item, otherwise something went wrong. brace expansion can result in multiple arrays, - // but that should be turned off by the time this function is reached. - if (minimatchObj.set.length != 1) { - throw new Error('getFindRootFromPattern() expected Minimatch(...).set.length to be 1. Actual: ' + minimatchObj.set.length); - } - var literalSegments = []; - for (var _i = 0, _a = minimatchObj.set[0]; _i < _a.length; _i++) { - var parsedSegment = _a[_i]; - if (typeof parsedSegment == 'string') { - // the item is a string when the original input for the path segment does not contain any - // unescaped glob characters. - // - // note, the string here is already unescaped (i.e. glob escaping removed), so it is ready - // to pass to find() as-is. for example, an input string 'hello\\*world' => 'hello*world'. - literalSegments.push(parsedSegment); - continue; - } - break; - } - // join the literal segments back together. Minimatch converts '\' to '/' on Windows, then squashes - // consequetive slashes, and finally splits on slash. this means that UNC format is lost, but can - // be detected from the original pattern. - var joinedSegments = literalSegments.join('/'); - if (joinedSegments && process.platform == 'win32' && _startsWith(pattern.replace(/\\/g, '/'), '//')) { - joinedSegments = '/' + joinedSegments; // restore UNC format - } - // determine the find path - var findPath; - if (_isRooted(pattern)) { // the pattern was rooted - findPath = joinedSegments; - } - else if (joinedSegments) { // the pattern was not rooted, and literal segments were found - findPath = _ensureRooted(defaultRoot, joinedSegments); - } - else { // the pattern was not rooted, and no literal segments were found - findPath = defaultRoot; - } - // clean up the path - if (findPath) { - findPath = _getDirectoryName(_ensureRooted(findPath, '_')); // hack to remove unnecessary trailing slash - findPath = _normalizeSeparators(findPath); // normalize slashes - } - return { - adjustedPattern: _ensurePatternRooted(defaultRoot, pattern), - findPath: findPath, - statOnly: literalSegments.length == minimatchObj.set[0].length, - }; -} -exports._getFindInfoFromPattern = _getFindInfoFromPattern; -function _ensurePatternRooted(root, p) { - if (!root) { - throw new Error('ensurePatternRooted() parameter "root" cannot be empty'); - } - if (!p) { - throw new Error('ensurePatternRooted() parameter "p" cannot be empty'); - } - if (_isRooted(p)) { - return p; - } - // normalize root - root = _normalizeSeparators(root); - // escape special glob characters - root = (process.platform == 'win32' ? root : root.replace(/\\/g, '\\\\')) // escape '\' on OSX/Linux - .replace(/(\[)(?=[^\/]+\])/g, '[[]') // escape '[' when ']' follows within the path segment - .replace(/\?/g, '[?]') // escape '?' - .replace(/\*/g, '[*]') // escape '*' - .replace(/\+\(/g, '[+](') // escape '+(' - .replace(/@\(/g, '[@](') // escape '@(' - .replace(/!\(/g, '[!]('); // escape '!(' - return _ensureRooted(root, p); -} -exports._ensurePatternRooted = _ensurePatternRooted; -//------------------------------------------------------------------- -// Populate the vault with sensitive data. Inputs and Endpoints -//------------------------------------------------------------------- -function _loadData() { - // in agent, prefer TempDirectory then workFolder. - // In interactive dev mode, it won't be - var keyPath = _getVariable("agent.TempDirectory") || _getVariable("agent.workFolder") || process.cwd(); - exports._vault = new vm.Vault(keyPath); - exports._knownVariableMap = {}; - _debug('loading inputs and endpoints'); - var loaded = 0; - for (var envvar in process.env) { - if (_startsWith(envvar, 'INPUT_') || - _startsWith(envvar, 'ENDPOINT_AUTH_') || - _startsWith(envvar, 'SECUREFILE_TICKET_') || - _startsWith(envvar, 'SECRET_') || - _startsWith(envvar, 'VSTS_TASKVARIABLE_')) { - // Record the secret variable metadata. This is required by getVariable to know whether - // to retrieve the value from the vault. In a 2.104.1 agent or higher, this metadata will - // be overwritten when the VSTS_SECRET_VARIABLES env var is processed below. - if (_startsWith(envvar, 'SECRET_')) { - var variableName = envvar.substring('SECRET_'.length); - if (variableName) { - // This is technically not the variable name (has underscores instead of dots), - // but it's good enough to make getVariable work in a pre-2.104.1 agent where - // the VSTS_SECRET_VARIABLES env var is not defined. - exports._knownVariableMap[_getVariableKey(variableName)] = { name: variableName, secret: true }; - } - } - // store the secret - var value = process.env[envvar]; - if (value) { - ++loaded; - _debug('loading ' + envvar); - exports._vault.storeSecret(envvar, value); - delete process.env[envvar]; - } - } - } - _debug('loaded ' + loaded); - // store public variable metadata - var names; - try { - names = JSON.parse(process.env['VSTS_PUBLIC_VARIABLES'] || '[]'); - } - catch (err) { - throw new Error('Failed to parse VSTS_PUBLIC_VARIABLES as JSON. ' + err); // may occur during interactive testing - } - names.forEach(function (name) { - exports._knownVariableMap[_getVariableKey(name)] = { name: name, secret: false }; - }); - delete process.env['VSTS_PUBLIC_VARIABLES']; - // store secret variable metadata - try { - names = JSON.parse(process.env['VSTS_SECRET_VARIABLES'] || '[]'); - } - catch (err) { - throw new Error('Failed to parse VSTS_SECRET_VARIABLES as JSON. ' + err); // may occur during interactive testing - } - names.forEach(function (name) { - exports._knownVariableMap[_getVariableKey(name)] = { name: name, secret: true }; - }); - delete process.env['VSTS_SECRET_VARIABLES']; - // avoid loading twice (overwrites .taskkey) - global['_vsts_task_lib_loaded'] = true; -} -exports._loadData = _loadData; -//-------------------------------------------------------------------------------- -// Internal path helpers. -//-------------------------------------------------------------------------------- -/** - * Defines if path is unc-path. - * - * @param path a path to a file. - * @returns true if path starts with double backslash, otherwise returns false. - */ -function _isUncPath(path) { - return /^\\\\[^\\]/.test(path); -} -exports._isUncPath = _isUncPath; -function _ensureRooted(root, p) { - if (!root) { - throw new Error('ensureRooted() parameter "root" cannot be empty'); - } - if (!p) { - throw new Error('ensureRooted() parameter "p" cannot be empty'); - } - if (_isRooted(p)) { - return p; - } - if (process.platform == 'win32' && root.match(/^[A-Z]:$/i)) { // e.g. C: - return root + p; - } - // ensure root ends with a separator - if (_endsWith(root, '/') || (process.platform == 'win32' && _endsWith(root, '\\'))) { - // root already ends with a separator - } - else { - root += path.sep; // append separator - } - return root + p; -} -exports._ensureRooted = _ensureRooted; -/** - * Determines the parent path and trims trailing slashes (when safe). Path separators are normalized - * in the result. This function works similar to the .NET System.IO.Path.GetDirectoryName() method. - * For example, C:\hello\world\ returns C:\hello\world (trailing slash removed). Returns empty when - * no higher directory can be determined. - */ -function _getDirectoryName(p) { - // short-circuit if empty - if (!p) { - return ''; - } - // normalize separators - p = _normalizeSeparators(p); - // on Windows, the goal of this function is to match the behavior of - // [System.IO.Path]::GetDirectoryName(), e.g. - // C:/ => - // C:/hello => C:\ - // C:/hello/ => C:\hello - // C:/hello/world => C:\hello - // C:/hello/world/ => C:\hello\world - // C: => - // C:hello => C: - // C:hello/ => C:hello - // / => - // /hello => \ - // /hello/ => \hello - // //hello => - // //hello/ => - // //hello/world => - // //hello/world/ => \\hello\world - // - // unfortunately, path.dirname() can't simply be used. for example, on Windows - // it yields different results from Path.GetDirectoryName: - // C:/ => C:/ - // C:/hello => C:/ - // C:/hello/ => C:/ - // C:/hello/world => C:/hello - // C:/hello/world/ => C:/hello - // C: => C: - // C:hello => C: - // C:hello/ => C: - // / => / - // /hello => / - // /hello/ => / - // //hello => / - // //hello/ => / - // //hello/world => //hello/world - // //hello/world/ => //hello/world/ - // //hello/world/again => //hello/world/ - // //hello/world/again/ => //hello/world/ - // //hello/world/again/again => //hello/world/again - // //hello/world/again/again/ => //hello/world/again - if (process.platform == 'win32') { - if (/^[A-Z]:\\?[^\\]+$/i.test(p)) { // e.g. C:\hello or C:hello - return p.charAt(2) == '\\' ? p.substring(0, 3) : p.substring(0, 2); - } - else if (/^[A-Z]:\\?$/i.test(p)) { // e.g. C:\ or C: - return ''; - } - var lastSlashIndex = p.lastIndexOf('\\'); - if (lastSlashIndex < 0) { // file name only - return ''; - } - else if (p == '\\') { // relative root - return ''; - } - else if (lastSlashIndex == 0) { // e.g. \\hello - return '\\'; - } - else if (/^\\\\[^\\]+(\\[^\\]*)?$/.test(p)) { // UNC root, e.g. \\hello or \\hello\ or \\hello\world - return ''; - } - return p.substring(0, lastSlashIndex); // e.g. hello\world => hello or hello\world\ => hello\world - // note, this means trailing slashes for non-root directories - // (i.e. not C:\, \, or \\unc\) will simply be removed. - } - // OSX/Linux - if (p.indexOf('/') < 0) { // file name only - return ''; - } - else if (p == '/') { - return ''; - } - else if (_endsWith(p, '/')) { - return p.substring(0, p.length - 1); - } - return path.dirname(p); -} -exports._getDirectoryName = _getDirectoryName; -/** - * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: - * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). - */ -function _isRooted(p) { - p = _normalizeSeparators(p); - if (!p) { - throw new Error('isRooted() parameter "p" cannot be empty'); - } - if (process.platform == 'win32') { - return _startsWith(p, '\\') || // e.g. \ or \hello or \\hello - /^[A-Z]:/i.test(p); // e.g. C: or C:\hello - } - return _startsWith(p, '/'); // e.g. /hello -} -exports._isRooted = _isRooted; -function _normalizeSeparators(p) { - p = p || ''; - if (process.platform == 'win32') { - // convert slashes on Windows - p = p.replace(/\//g, '\\'); - // remove redundant slashes - var isUnc = /^\\\\+[^\\]/.test(p); // e.g. \\hello - return (isUnc ? '\\' : '') + p.replace(/\\\\+/g, '\\'); // preserve leading // for UNC - } - // remove redundant slashes - return p.replace(/\/\/+/g, '/'); -} -exports._normalizeSeparators = _normalizeSeparators; -//----------------------------------------------------- -// Expose proxy information to vsts-node-api -//----------------------------------------------------- -function _exposeProxySettings() { - var proxyUrl = _getVariable('Agent.ProxyUrl'); - if (proxyUrl && proxyUrl.length > 0) { - var proxyUsername = _getVariable('Agent.ProxyUsername'); - var proxyPassword = _getVariable('Agent.ProxyPassword'); - var proxyBypassHostsJson = _getVariable('Agent.ProxyBypassList'); - global['_vsts_task_lib_proxy_url'] = proxyUrl; - global['_vsts_task_lib_proxy_username'] = proxyUsername; - global['_vsts_task_lib_proxy_bypass'] = proxyBypassHostsJson; - global['_vsts_task_lib_proxy_password'] = _exposeTaskLibSecret('proxy', proxyPassword || ''); - _debug('expose agent proxy configuration.'); - global['_vsts_task_lib_proxy'] = true; - } -} -exports._exposeProxySettings = _exposeProxySettings; -//----------------------------------------------------- -// Expose certificate information to vsts-node-api -//----------------------------------------------------- -function _exposeCertSettings() { - var ca = _getVariable('Agent.CAInfo'); - if (ca) { - global['_vsts_task_lib_cert_ca'] = ca; - } - var clientCert = _getVariable('Agent.ClientCert'); - if (clientCert) { - var clientCertKey = _getVariable('Agent.ClientCertKey'); - var clientCertArchive = _getVariable('Agent.ClientCertArchive'); - var clientCertPassword = _getVariable('Agent.ClientCertPassword'); - global['_vsts_task_lib_cert_clientcert'] = clientCert; - global['_vsts_task_lib_cert_key'] = clientCertKey; - global['_vsts_task_lib_cert_archive'] = clientCertArchive; - global['_vsts_task_lib_cert_passphrase'] = _exposeTaskLibSecret('cert', clientCertPassword || ''); - } - if (ca || clientCert) { - _debug('expose agent certificate configuration.'); - global['_vsts_task_lib_cert'] = true; - } - var skipCertValidation = _getVariable('Agent.SkipCertValidation') || 'false'; - if (skipCertValidation) { - global['_vsts_task_lib_skip_cert_validation'] = skipCertValidation.toUpperCase() === 'TRUE'; - } -} -exports._exposeCertSettings = _exposeCertSettings; -// We store the encryption key on disk and hold the encrypted content and key file in memory -// return base64encoded:base64encoded -// downstream vsts-node-api will retrieve the secret later -function _exposeTaskLibSecret(keyFile, secret) { - if (secret) { - var encryptKey = crypto.randomBytes(256); - var cipher = crypto.createCipher("aes-256-ctr", encryptKey); - var encryptedContent = cipher.update(secret, "utf8", "hex"); - encryptedContent += cipher.final("hex"); - var storageFile = path.join(_getVariable('Agent.TempDirectory') || _getVariable("agent.workFolder") || process.cwd(), keyFile); - fs.writeFileSync(storageFile, encryptKey.toString('base64'), { encoding: 'utf8' }); - return new Buffer(storageFile).toString('base64') + ':' + new Buffer(encryptedContent).toString('base64'); - } -} - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/node_modules/uuid/lib/bytesToUuid.js": -/*!************************************************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/node_modules/uuid/lib/bytesToUuid.js ***! - \************************************************************************************/ -/***/ ((module) => { - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex[i] = (i + 0x100).toString(16).substr(1); -} - -function bytesToUuid(buf, offset) { - var i = offset || 0; - var bth = byteToHex; - // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 - return ([ - bth[buf[i++]], bth[buf[i++]], - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], - bth[buf[i++]], bth[buf[i++]], - bth[buf[i++]], bth[buf[i++]] - ]).join(''); -} - -module.exports = bytesToUuid; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/node_modules/uuid/lib/rng.js": -/*!****************************************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/node_modules/uuid/lib/rng.js ***! - \****************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -// Unique ID creation requires a high quality random # generator. In node.js -// this is pretty straight-forward - we use the crypto API. - -var crypto = __webpack_require__(/*! crypto */ "crypto"); - -module.exports = function nodeRNG() { - return crypto.randomBytes(16); -}; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/node_modules/uuid/v4.js": -/*!***********************************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/node_modules/uuid/v4.js ***! - \***********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var rng = __webpack_require__(/*! ./lib/rng */ "./node_modules/azure-pipelines-task-lib/node_modules/uuid/lib/rng.js"); -var bytesToUuid = __webpack_require__(/*! ./lib/bytesToUuid */ "./node_modules/azure-pipelines-task-lib/node_modules/uuid/lib/bytesToUuid.js"); - -function v4(options, buf, offset) { - var i = buf && offset || 0; - - if (typeof(options) == 'string') { - buf = options === 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = (rnds[6] & 0x0f) | 0x40; - rnds[8] = (rnds[8] & 0x3f) | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || bytesToUuid(rnds); -} - -module.exports = v4; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/task.js": -/*!*******************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/task.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.updateReleaseName = exports.addBuildTag = exports.updateBuildNumber = exports.uploadBuildLog = exports.associateArtifact = exports.uploadArtifact = exports.logIssue = exports.logDetail = exports.setProgress = exports.setEndpoint = exports.addAttachment = exports.uploadSummary = exports.prependPath = exports.uploadFile = exports.CodeCoverageEnabler = exports.CodeCoveragePublisher = exports.TestPublisher = exports.getHttpCertConfiguration = exports.getHttpProxyConfiguration = exports.findMatch = exports.filter = exports.match = exports.tool = exports.execSync = exports.exec = exports.rmRF = exports.legacyFindFiles = exports.find = exports.retry = exports.mv = exports.cp = exports.ls = exports.which = exports.resolve = exports.mkdirP = exports.popd = exports.pushd = exports.cd = exports.checkPath = exports.cwd = exports.getPlatform = exports.osType = exports.writeFile = exports.exist = exports.stats = exports.debug = exports.error = exports.warning = exports.command = exports.setTaskVariable = exports.getTaskVariable = exports.getSecureFileTicket = exports.getSecureFileName = exports.getEndpointAuthorization = exports.getEndpointAuthorizationParameter = exports.getEndpointAuthorizationScheme = exports.getEndpointDataParameter = exports.getEndpointUrl = exports.getPathInput = exports.filePathSupplied = exports.getDelimitedInput = exports.getBoolInput = exports.getInput = exports.setSecret = exports.setVariable = exports.getVariables = exports.assertAgent = exports.getVariable = exports.loc = exports.setResourcePath = exports.setResult = exports.setErrStream = exports.setStdStream = exports.Platform = exports.FieldType = exports.ArtifactType = exports.IssueType = exports.TaskState = exports.TaskResult = void 0; -var shell = __webpack_require__(/*! shelljs */ "./node_modules/shelljs/shell.js"); -var childProcess = __webpack_require__(/*! child_process */ "child_process"); -var fs = __webpack_require__(/*! fs */ "fs"); -var path = __webpack_require__(/*! path */ "path"); -var os = __webpack_require__(/*! os */ "os"); -var minimatch = __webpack_require__(/*! minimatch */ "./node_modules/minimatch/minimatch.js"); -var im = __webpack_require__(/*! ./internal */ "./node_modules/azure-pipelines-task-lib/internal.js"); -var tcm = __webpack_require__(/*! ./taskcommand */ "./node_modules/azure-pipelines-task-lib/taskcommand.js"); -var trm = __webpack_require__(/*! ./toolrunner */ "./node_modules/azure-pipelines-task-lib/toolrunner.js"); -var semver = __webpack_require__(/*! semver */ "./node_modules/semver/semver.js"); -var TaskResult; -(function (TaskResult) { - TaskResult[TaskResult["Succeeded"] = 0] = "Succeeded"; - TaskResult[TaskResult["SucceededWithIssues"] = 1] = "SucceededWithIssues"; - TaskResult[TaskResult["Failed"] = 2] = "Failed"; - TaskResult[TaskResult["Cancelled"] = 3] = "Cancelled"; - TaskResult[TaskResult["Skipped"] = 4] = "Skipped"; -})(TaskResult = exports.TaskResult || (exports.TaskResult = {})); -var TaskState; -(function (TaskState) { - TaskState[TaskState["Unknown"] = 0] = "Unknown"; - TaskState[TaskState["Initialized"] = 1] = "Initialized"; - TaskState[TaskState["InProgress"] = 2] = "InProgress"; - TaskState[TaskState["Completed"] = 3] = "Completed"; -})(TaskState = exports.TaskState || (exports.TaskState = {})); -var IssueType; -(function (IssueType) { - IssueType[IssueType["Error"] = 0] = "Error"; - IssueType[IssueType["Warning"] = 1] = "Warning"; -})(IssueType = exports.IssueType || (exports.IssueType = {})); -var ArtifactType; -(function (ArtifactType) { - ArtifactType[ArtifactType["Container"] = 0] = "Container"; - ArtifactType[ArtifactType["FilePath"] = 1] = "FilePath"; - ArtifactType[ArtifactType["VersionControl"] = 2] = "VersionControl"; - ArtifactType[ArtifactType["GitRef"] = 3] = "GitRef"; - ArtifactType[ArtifactType["TfvcLabel"] = 4] = "TfvcLabel"; -})(ArtifactType = exports.ArtifactType || (exports.ArtifactType = {})); -var FieldType; -(function (FieldType) { - FieldType[FieldType["AuthParameter"] = 0] = "AuthParameter"; - FieldType[FieldType["DataParameter"] = 1] = "DataParameter"; - FieldType[FieldType["Url"] = 2] = "Url"; -})(FieldType = exports.FieldType || (exports.FieldType = {})); -/** Platforms supported by our build agent */ -var Platform; -(function (Platform) { - Platform[Platform["Windows"] = 0] = "Windows"; - Platform[Platform["MacOS"] = 1] = "MacOS"; - Platform[Platform["Linux"] = 2] = "Linux"; -})(Platform = exports.Platform || (exports.Platform = {})); -//----------------------------------------------------- -// General Helpers -//----------------------------------------------------- -exports.setStdStream = im._setStdStream; -exports.setErrStream = im._setErrStream; -//----------------------------------------------------- -// Results -//----------------------------------------------------- -/** - * Sets the result of the task. - * Execution will continue. - * If not set, task will be Succeeded. - * If multiple calls are made to setResult the most pessimistic call wins (Failed) regardless of the order of calls. - * - * @param result TaskResult enum of Succeeded, SucceededWithIssues, Failed, Cancelled or Skipped. - * @param message A message which will be logged as an error issue if the result is Failed. - * @param done Optional. Instructs the agent the task is done. This is helpful when child processes - * may still be running and prevent node from fully exiting. This argument is supported - * from agent version 2.142.0 or higher (otherwise will no-op). - * @returns void - */ -function setResult(result, message, done) { - exports.debug('task result: ' + TaskResult[result]); - // add an error issue - if (result == TaskResult.Failed && message) { - exports.error(message); - } - else if (result == TaskResult.SucceededWithIssues && message) { - exports.warning(message); - } - // task.complete - var properties = { 'result': TaskResult[result] }; - if (done) { - properties['done'] = 'true'; - } - exports.command('task.complete', properties, message); -} -exports.setResult = setResult; -// -// Catching all exceptions -// -process.on('uncaughtException', function (err) { - setResult(TaskResult.Failed, exports.loc('LIB_UnhandledEx', err.message)); -}); -//----------------------------------------------------- -// Loc Helpers -//----------------------------------------------------- -exports.setResourcePath = im._setResourcePath; -exports.loc = im._loc; -//----------------------------------------------------- -// Input Helpers -//----------------------------------------------------- -exports.getVariable = im._getVariable; -/** - * Asserts the agent version is at least the specified minimum. - * - * @param minimum minimum version version - must be 2.104.1 or higher - */ -function assertAgent(minimum) { - if (semver.lt(minimum, '2.104.1')) { - throw new Error('assertAgent() requires the parameter to be 2.104.1 or higher'); - } - var agent = exports.getVariable('Agent.Version'); - if (agent && semver.lt(agent, minimum)) { - throw new Error("Agent version " + minimum + " or higher is required"); - } -} -exports.assertAgent = assertAgent; -/** - * Gets a snapshot of the current state of all job variables available to the task. - * Requires a 2.104.1 agent or higher for full functionality. - * - * Limitations on an agent prior to 2.104.1: - * 1) The return value does not include all public variables. Only public variables - * that have been added using setVariable are returned. - * 2) The name returned for each secret variable is the formatted environment variable - * name, not the actual variable name (unless it was set explicitly at runtime using - * setVariable). - * - * @returns VariableInfo[] - */ -function getVariables() { - return Object.keys(im._knownVariableMap) - .map(function (key) { - var info = im._knownVariableMap[key]; - return { name: info.name, value: exports.getVariable(info.name), secret: info.secret }; - }); -} -exports.getVariables = getVariables; -/** - * Sets a variable which will be available to subsequent tasks as well. - * - * @param name name of the variable to set - * @param val value to set - * @param secret whether variable is secret. Multi-line secrets are not allowed. Optional, defaults to false - * @param isOutput whether variable is an output variable. Optional, defaults to false - * @returns void - */ -function setVariable(name, val, secret, isOutput) { - if (secret === void 0) { secret = false; } - if (isOutput === void 0) { isOutput = false; } - // once a secret always a secret - var key = im._getVariableKey(name); - if (im._knownVariableMap.hasOwnProperty(key)) { - secret = secret || im._knownVariableMap[key].secret; - } - // store the value - var varValue = val || ''; - exports.debug('set ' + name + '=' + (secret && varValue ? '********' : varValue)); - if (secret) { - if (varValue && varValue.match(/\r|\n/) && ("" + process.env['SYSTEM_UNSAFEALLOWMULTILINESECRET']).toUpperCase() != 'TRUE') { - throw new Error(exports.loc('LIB_MultilineSecret')); - } - im._vault.storeSecret('SECRET_' + key, varValue); - delete process.env[key]; - } - else { - process.env[key] = varValue; - } - // store the metadata - im._knownVariableMap[key] = { name: name, secret: secret }; - // write the setvariable command - exports.command('task.setvariable', { 'variable': name || '', isOutput: (isOutput || false).toString(), 'issecret': (secret || false).toString() }, varValue); -} -exports.setVariable = setVariable; -/** - * Registers a value with the logger, so the value will be masked from the logs. Multi-line secrets are not allowed. - * - * @param val value to register - */ -function setSecret(val) { - if (val) { - if (val.match(/\r|\n/) && ("" + process.env['SYSTEM_UNSAFEALLOWMULTILINESECRET']).toUpperCase() !== 'TRUE') { - throw new Error(exports.loc('LIB_MultilineSecret')); - } - exports.command('task.setsecret', {}, val); - } -} -exports.setSecret = setSecret; -/** - * Gets the value of an input. - * If required is true and the value is not set, it will throw. - * - * @param name name of the input to get - * @param required whether input is required. optional, defaults to false - * @returns string - */ -function getInput(name, required) { - var inval = im._vault.retrieveSecret('INPUT_' + im._getVariableKey(name)); - if (required && !inval) { - throw new Error(exports.loc('LIB_InputRequired', name)); - } - exports.debug(name + '=' + inval); - return inval; -} -exports.getInput = getInput; -/** - * Gets the value of an input and converts to a bool. Convenience. - * If required is true and the value is not set, it will throw. - * If required is false and the value is not set, returns false. - * - * @param name name of the bool input to get - * @param required whether input is required. optional, defaults to false - * @returns boolean - */ -function getBoolInput(name, required) { - return (getInput(name, required) || '').toUpperCase() == "TRUE"; -} -exports.getBoolInput = getBoolInput; -/** - * Gets the value of an input and splits the value using a delimiter (space, comma, etc). - * Empty values are removed. This function is useful for splitting an input containing a simple - * list of items - such as build targets. - * IMPORTANT: Do not use this function for splitting additional args! Instead use argString(), which - * follows normal argument splitting rules and handles values encapsulated by quotes. - * If required is true and the value is not set, it will throw. - * - * @param name name of the input to get - * @param delim delimiter to split on - * @param required whether input is required. optional, defaults to false - * @returns string[] - */ -function getDelimitedInput(name, delim, required) { - var inputVal = getInput(name, required); - if (!inputVal) { - return []; - } - var result = []; - inputVal.split(delim).forEach(function (x) { - if (x) { - result.push(x); - } - }); - return result; -} -exports.getDelimitedInput = getDelimitedInput; -/** - * Checks whether a path inputs value was supplied by the user - * File paths are relative with a picker, so an empty path is the root of the repo. - * Useful if you need to condition work (like append an arg) if a value was supplied - * - * @param name name of the path input to check - * @returns boolean - */ -function filePathSupplied(name) { - // normalize paths - var pathValue = this.resolve(this.getPathInput(name) || ''); - var repoRoot = this.resolve(exports.getVariable('build.sourcesDirectory') || exports.getVariable('system.defaultWorkingDirectory') || ''); - var supplied = pathValue !== repoRoot; - exports.debug(name + 'path supplied :' + supplied); - return supplied; -} -exports.filePathSupplied = filePathSupplied; -/** - * Gets the value of a path input - * It will be quoted for you if it isn't already and contains spaces - * If required is true and the value is not set, it will throw. - * If check is true and the path does not exist, it will throw. - * - * @param name name of the input to get - * @param required whether input is required. optional, defaults to false - * @param check whether path is checked. optional, defaults to false - * @returns string - */ -function getPathInput(name, required, check) { - var inval = getInput(name, required); - if (inval) { - if (check) { - exports.checkPath(inval, name); - } - } - return inval; -} -exports.getPathInput = getPathInput; -//----------------------------------------------------- -// Endpoint Helpers -//----------------------------------------------------- -/** - * Gets the url for a service endpoint - * If the url was not set and is not optional, it will throw. - * - * @param id name of the service endpoint - * @param optional whether the url is optional - * @returns string - */ -function getEndpointUrl(id, optional) { - var urlval = process.env['ENDPOINT_URL_' + id]; - if (!optional && !urlval) { - throw new Error(exports.loc('LIB_EndpointNotExist', id)); - } - exports.debug(id + '=' + urlval); - return urlval; -} -exports.getEndpointUrl = getEndpointUrl; -/* - * Gets the endpoint data parameter value with specified key for a service endpoint - * If the endpoint data parameter was not set and is not optional, it will throw. - * - * @param id name of the service endpoint - * @param key of the parameter - * @param optional whether the endpoint data is optional - * @returns {string} value of the endpoint data parameter - */ -function getEndpointDataParameter(id, key, optional) { - var dataParamVal = process.env['ENDPOINT_DATA_' + id + '_' + key.toUpperCase()]; - if (!optional && !dataParamVal) { - throw new Error(exports.loc('LIB_EndpointDataNotExist', id, key)); - } - exports.debug(id + ' data ' + key + ' = ' + dataParamVal); - return dataParamVal; -} -exports.getEndpointDataParameter = getEndpointDataParameter; -/** - * Gets the endpoint authorization scheme for a service endpoint - * If the endpoint authorization scheme is not set and is not optional, it will throw. - * - * @param id name of the service endpoint - * @param optional whether the endpoint authorization scheme is optional - * @returns {string} value of the endpoint authorization scheme - */ -function getEndpointAuthorizationScheme(id, optional) { - var authScheme = im._vault.retrieveSecret('ENDPOINT_AUTH_SCHEME_' + id); - if (!optional && !authScheme) { - throw new Error(exports.loc('LIB_EndpointAuthNotExist', id)); - } - exports.debug(id + ' auth scheme = ' + authScheme); - return authScheme; -} -exports.getEndpointAuthorizationScheme = getEndpointAuthorizationScheme; -/** - * Gets the endpoint authorization parameter value for a service endpoint with specified key - * If the endpoint authorization parameter is not set and is not optional, it will throw. - * - * @param id name of the service endpoint - * @param key key to find the endpoint authorization parameter - * @param optional optional whether the endpoint authorization scheme is optional - * @returns {string} value of the endpoint authorization parameter value - */ -function getEndpointAuthorizationParameter(id, key, optional) { - var authParam = im._vault.retrieveSecret('ENDPOINT_AUTH_PARAMETER_' + id + '_' + key.toUpperCase()); - if (!optional && !authParam) { - throw new Error(exports.loc('LIB_EndpointAuthNotExist', id)); - } - exports.debug(id + ' auth param ' + key + ' = ' + authParam); - return authParam; -} -exports.getEndpointAuthorizationParameter = getEndpointAuthorizationParameter; -/** - * Gets the authorization details for a service endpoint - * If the authorization was not set and is not optional, it will set the task result to Failed. - * - * @param id name of the service endpoint - * @param optional whether the url is optional - * @returns string - */ -function getEndpointAuthorization(id, optional) { - var aval = im._vault.retrieveSecret('ENDPOINT_AUTH_' + id); - if (!optional && !aval) { - setResult(TaskResult.Failed, exports.loc('LIB_EndpointAuthNotExist', id)); - } - exports.debug(id + ' exists ' + (!!aval)); - var auth; - try { - if (aval) { - auth = JSON.parse(aval); - } - } - catch (err) { - throw new Error(exports.loc('LIB_InvalidEndpointAuth', aval)); - } - return auth; -} -exports.getEndpointAuthorization = getEndpointAuthorization; -//----------------------------------------------------- -// SecureFile Helpers -//----------------------------------------------------- -/** - * Gets the name for a secure file - * - * @param id secure file id - * @returns string - */ -function getSecureFileName(id) { - var name = process.env['SECUREFILE_NAME_' + id]; - exports.debug('secure file name for id ' + id + ' = ' + name); - return name; -} -exports.getSecureFileName = getSecureFileName; -/** - * Gets the secure file ticket that can be used to download the secure file contents - * - * @param id name of the secure file - * @returns {string} secure file ticket - */ -function getSecureFileTicket(id) { - var ticket = im._vault.retrieveSecret('SECUREFILE_TICKET_' + id); - exports.debug('secure file ticket for id ' + id + ' = ' + ticket); - return ticket; -} -exports.getSecureFileTicket = getSecureFileTicket; -//----------------------------------------------------- -// Task Variable Helpers -//----------------------------------------------------- -/** - * Gets a variable value that is set by previous step from the same wrapper task. - * Requires a 2.115.0 agent or higher. - * - * @param name name of the variable to get - * @returns string - */ -function getTaskVariable(name) { - assertAgent('2.115.0'); - var inval = im._vault.retrieveSecret('VSTS_TASKVARIABLE_' + im._getVariableKey(name)); - if (inval) { - inval = inval.trim(); - } - exports.debug('task variable: ' + name + '=' + inval); - return inval; -} -exports.getTaskVariable = getTaskVariable; -/** - * Sets a task variable which will only be available to subsequent steps belong to the same wrapper task. - * Requires a 2.115.0 agent or higher. - * - * @param name name of the variable to set - * @param val value to set - * @param secret whether variable is secret. optional, defaults to false - * @returns void - */ -function setTaskVariable(name, val, secret) { - if (secret === void 0) { secret = false; } - assertAgent('2.115.0'); - var key = im._getVariableKey(name); - // store the value - var varValue = val || ''; - exports.debug('set task variable: ' + name + '=' + (secret && varValue ? '********' : varValue)); - im._vault.storeSecret('VSTS_TASKVARIABLE_' + key, varValue); - delete process.env[key]; - // write the command - exports.command('task.settaskvariable', { 'variable': name || '', 'issecret': (secret || false).toString() }, varValue); -} -exports.setTaskVariable = setTaskVariable; -//----------------------------------------------------- -// Cmd Helpers -//----------------------------------------------------- -exports.command = im._command; -exports.warning = im._warning; -exports.error = im._error; -exports.debug = im._debug; -//----------------------------------------------------- -// Disk Functions -//----------------------------------------------------- -function _checkShell(cmd, continueOnError) { - var se = shell.error(); - if (se) { - exports.debug(cmd + ' failed'); - var errMsg = exports.loc('LIB_OperationFailed', cmd, se); - exports.debug(errMsg); - if (!continueOnError) { - throw new Error(errMsg); - } - } -} -/** - * Get's stat on a path. - * Useful for checking whether a file or directory. Also getting created, modified and accessed time. - * see [fs.stat](https://nodejs.org/api/fs.html#fs_class_fs_stats) - * - * @param path path to check - * @returns fsStat - */ -function stats(path) { - return fs.statSync(path); -} -exports.stats = stats; -exports.exist = im._exist; -function writeFile(file, data, options) { - if (typeof (options) === 'string') { - fs.writeFileSync(file, data, { encoding: options }); - } - else { - fs.writeFileSync(file, data, options); - } -} -exports.writeFile = writeFile; -/** - * @deprecated Use `getPlatform` - * Useful for determining the host operating system. - * see [os.type](https://nodejs.org/api/os.html#os_os_type) - * - * @return the name of the operating system - */ -function osType() { - return os.type(); -} -exports.osType = osType; -/** - * Determine the operating system the build agent is running on. - * @returns {Platform} - * @throws {Error} Platform is not supported by our agent - */ -function getPlatform() { - switch (process.platform) { - case 'win32': return Platform.Windows; - case 'darwin': return Platform.MacOS; - case 'linux': return Platform.Linux; - default: throw Error(exports.loc('LIB_PlatformNotSupported', process.platform)); - } -} -exports.getPlatform = getPlatform; -/** - * Returns the process's current working directory. - * see [process.cwd](https://nodejs.org/api/process.html#process_process_cwd) - * - * @return the path to the current working directory of the process - */ -function cwd() { - return process.cwd(); -} -exports.cwd = cwd; -exports.checkPath = im._checkPath; -/** - * Change working directory. - * - * @param path new working directory path - * @returns void - */ -function cd(path) { - if (path) { - shell.cd(path); - _checkShell('cd'); - } -} -exports.cd = cd; -/** - * Change working directory and push it on the stack - * - * @param path new working directory path - * @returns void - */ -function pushd(path) { - shell.pushd(path); - _checkShell('pushd'); -} -exports.pushd = pushd; -/** - * Change working directory back to previously pushed directory - * - * @returns void - */ -function popd() { - shell.popd(); - _checkShell('popd'); -} -exports.popd = popd; -/** - * Make a directory. Creates the full path with folders in between - * Will throw if it fails - * - * @param p path to create - * @returns void - */ -function mkdirP(p) { - if (!p) { - throw new Error(exports.loc('LIB_ParameterIsRequired', 'p')); - } - // build a stack of directories to create - var stack = []; - var testDir = p; - while (true) { - // validate the loop is not out of control - if (stack.length >= (process.env['TASKLIB_TEST_MKDIRP_FAILSAFE'] || 1000)) { - // let the framework throw - exports.debug('loop is out of control'); - fs.mkdirSync(p); - return; - } - exports.debug("testing directory '" + testDir + "'"); - var stats_1 = void 0; - try { - stats_1 = fs.statSync(testDir); - } - catch (err) { - if (err.code == 'ENOENT') { - // validate the directory is not the drive root - var parentDir = path.dirname(testDir); - if (testDir == parentDir) { - throw new Error(exports.loc('LIB_MkdirFailedInvalidDriveRoot', p, testDir)); // Unable to create directory '{p}'. Root directory does not exist: '{testDir}' - } - // push the dir and test the parent - stack.push(testDir); - testDir = parentDir; - continue; - } - else if (err.code == 'UNKNOWN') { - throw new Error(exports.loc('LIB_MkdirFailedInvalidShare', p, testDir)); // Unable to create directory '{p}'. Unable to verify the directory exists: '{testDir}'. If directory is a file share, please verify the share name is correct, the share is online, and the current process has permission to access the share. - } - else { - throw err; - } - } - if (!stats_1.isDirectory()) { - throw new Error(exports.loc('LIB_MkdirFailedFileExists', p, testDir)); // Unable to create directory '{p}'. Conflicting file exists: '{testDir}' - } - // testDir exists - break; - } - // create each directory - while (stack.length) { - var dir = stack.pop(); // non-null because `stack.length` was truthy - exports.debug("mkdir '" + dir + "'"); - try { - fs.mkdirSync(dir); - } - catch (err) { - throw new Error(exports.loc('LIB_MkdirFailed', p, err.message)); // Unable to create directory '{p}'. {err.message} - } - } -} -exports.mkdirP = mkdirP; -/** - * Resolves a sequence of paths or path segments into an absolute path. - * Calls node.js path.resolve() - * Allows L0 testing with consistent path formats on Mac/Linux and Windows in the mock implementation - * @param pathSegments - * @returns {string} - */ -function resolve() { - var pathSegments = []; - for (var _i = 0; _i < arguments.length; _i++) { - pathSegments[_i] = arguments[_i]; - } - var absolutePath = path.resolve.apply(this, pathSegments); - exports.debug('Absolute path for pathSegments: ' + pathSegments + ' = ' + absolutePath); - return absolutePath; -} -exports.resolve = resolve; -exports.which = im._which; -/** - * Returns array of files in the given path, or in current directory if no path provided. See shelljs.ls - * @param {string} options Available options: -R (recursive), -A (all files, include files beginning with ., except for . and ..) - * @param {string[]} paths Paths to search. - * @return {string[]} An array of files in the given path(s). - */ -function ls(options, paths) { - if (options) { - return shell.ls(options, paths); - } - else { - return shell.ls(paths); - } -} -exports.ls = ls; -/** - * Copies a file or folder. - * - * @param source source path - * @param dest destination path - * @param options string -r, -f or -rf for recursive and force - * @param continueOnError optional. whether to continue on error - * @param retryCount optional. Retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host. - */ -function cp(source, dest, options, continueOnError, retryCount) { - if (retryCount === void 0) { retryCount = 0; } - while (retryCount >= 0) { - try { - if (options) { - shell.cp(options, source, dest); - } - else { - shell.cp(source, dest); - } - _checkShell('cp', false); - break; - } - catch (e) { - if (retryCount <= 0) { - if (continueOnError) { - exports.warning(e); - break; - } - else { - throw e; - } - } - else { - console.log(exports.loc('LIB_CopyFileFailed', retryCount)); - retryCount--; - } - } - } -} -exports.cp = cp; -/** - * Moves a path. - * - * @param source source path - * @param dest destination path - * @param options string -f or -n for force and no clobber - * @param continueOnError optional. whether to continue on error - */ -function mv(source, dest, options, continueOnError) { - if (options) { - shell.mv(options, source, dest); - } - else { - shell.mv(source, dest); - } - _checkShell('mv', continueOnError); -} -exports.mv = mv; -/** - * Tries to execute a function a specified number of times. - * - * @param func a function to be executed. - * @param args executed function arguments array. - * @param retryOptions optional. Defaults to { continueOnError: false, retryCount: 0 }. - * @returns the same as the usual function. - */ -function retry(func, args, retryOptions) { - if (retryOptions === void 0) { retryOptions = { continueOnError: false, retryCount: 0 }; } - while (retryOptions.retryCount >= 0) { - try { - return func.apply(void 0, args); - } - catch (e) { - if (retryOptions.retryCount <= 0) { - if (retryOptions.continueOnError) { - exports.warning(e); - break; - } - else { - throw e; - } - } - else { - exports.debug("Attempt to execute function \"" + (func === null || func === void 0 ? void 0 : func.name) + "\" failed, retries left: " + retryOptions.retryCount); - retryOptions.retryCount--; - } - } - } -} -exports.retry = retry; -/** - * Gets info about item stats. - * - * @param path a path to the item to be processed. - * @param followSymbolicLink indicates whether to traverse descendants of symbolic link directories. - * @param allowBrokenSymbolicLinks when true, broken symbolic link will not cause an error. - * @returns fs.Stats - */ -function _getStats(path, followSymbolicLink, allowBrokenSymbolicLinks) { - // stat returns info about the target of a symlink (or symlink chain), - // lstat returns info about a symlink itself - var stats; - if (followSymbolicLink) { - try { - // use stat (following symlinks) - stats = fs.statSync(path); - } - catch (err) { - if (err.code == 'ENOENT' && allowBrokenSymbolicLinks) { - // fallback to lstat (broken symlinks allowed) - stats = fs.lstatSync(path); - exports.debug(" " + path + " (broken symlink)"); - } - else { - throw err; - } - } - } - else { - // use lstat (not following symlinks) - stats = fs.lstatSync(path); - } - return stats; -} -/** - * Recursively finds all paths a given path. Returns an array of paths. - * - * @param findPath path to search - * @param options optional. defaults to { followSymbolicLinks: true }. following soft links is generally appropriate unless deleting files. - * @returns string[] - */ -function find(findPath, options) { - if (!findPath) { - exports.debug('no path specified'); - return []; - } - // normalize the path, otherwise the first result is inconsistently formatted from the rest of the results - // because path.join() performs normalization. - findPath = path.normalize(findPath); - // debug trace the parameters - exports.debug("findPath: '" + findPath + "'"); - options = options || _getDefaultFindOptions(); - _debugFindOptions(options); - // return empty if not exists - try { - fs.lstatSync(findPath); - } - catch (err) { - if (err.code == 'ENOENT') { - exports.debug('0 results'); - return []; - } - throw err; - } - try { - var result = []; - // push the first item - var stack = [new _FindItem(findPath, 1)]; - var traversalChain = []; // used to detect cycles - var _loop_1 = function () { - // pop the next item and push to the result array - var item = stack.pop(); // non-null because `stack.length` was truthy - var stats_2 = void 0; - try { - // `item.path` equals `findPath` for the first item to be processed, when the `result` array is empty - var isPathToSearch = !result.length; - // following specified symlinks only if current path equals specified path - var followSpecifiedSymbolicLink = options.followSpecifiedSymbolicLink && isPathToSearch; - // following all symlinks or following symlink for the specified path - var followSymbolicLink = options.followSymbolicLinks || followSpecifiedSymbolicLink; - // stat the item. The stat info is used further below to determine whether to traverse deeper - stats_2 = _getStats(item.path, followSymbolicLink, options.allowBrokenSymbolicLinks); - } - catch (err) { - if (err.code == 'ENOENT' && options.skipMissingFiles) { - exports.warning("No such file or directory: \"" + item.path + "\" - skipping."); - return "continue"; - } - throw err; - } - result.push(item.path); - // note, isDirectory() returns false for the lstat of a symlink - if (stats_2.isDirectory()) { - exports.debug(" " + item.path + " (directory)"); - if (options.followSymbolicLinks) { - // get the realpath - var realPath_1; - if (im._isUncPath(item.path)) { - // Sometimes there are spontaneous issues when working with unc-paths, so retries have been added for them. - realPath_1 = retry(fs.realpathSync, [item.path], { continueOnError: false, retryCount: 5 }); - } - else { - realPath_1 = fs.realpathSync(item.path); - } - // fixup the traversal chain to match the item level - while (traversalChain.length >= item.level) { - traversalChain.pop(); - } - // test for a cycle - if (traversalChain.some(function (x) { return x == realPath_1; })) { - exports.debug(' cycle detected'); - return "continue"; - } - // update the traversal chain - traversalChain.push(realPath_1); - } - // push the child items in reverse onto the stack - var childLevel_1 = item.level + 1; - var childItems = fs.readdirSync(item.path) - .map(function (childName) { return new _FindItem(path.join(item.path, childName), childLevel_1); }); - for (var i = childItems.length - 1; i >= 0; i--) { - stack.push(childItems[i]); - } - } - else { - exports.debug(" " + item.path + " (file)"); - } - }; - while (stack.length) { - _loop_1(); - } - exports.debug(result.length + " results"); - return result; - } - catch (err) { - throw new Error(exports.loc('LIB_OperationFailed', 'find', err.message)); - } -} -exports.find = find; -var _FindItem = /** @class */ (function () { - function _FindItem(path, level) { - this.path = path; - this.level = level; - } - return _FindItem; -}()); -function _debugFindOptions(options) { - exports.debug("findOptions.allowBrokenSymbolicLinks: '" + options.allowBrokenSymbolicLinks + "'"); - exports.debug("findOptions.followSpecifiedSymbolicLink: '" + options.followSpecifiedSymbolicLink + "'"); - exports.debug("findOptions.followSymbolicLinks: '" + options.followSymbolicLinks + "'"); - exports.debug("findOptions.skipMissingFiles: '" + options.skipMissingFiles + "'"); -} -function _getDefaultFindOptions() { - return { - allowBrokenSymbolicLinks: false, - followSpecifiedSymbolicLink: true, - followSymbolicLinks: true, - skipMissingFiles: false - }; -} -/** - * Prefer tl.find() and tl.match() instead. This function is for backward compatibility - * when porting tasks to Node from the PowerShell or PowerShell3 execution handler. - * - * @param rootDirectory path to root unrooted patterns with - * @param pattern include and exclude patterns - * @param includeFiles whether to include files in the result. defaults to true when includeFiles and includeDirectories are both false - * @param includeDirectories whether to include directories in the result - * @returns string[] - */ -function legacyFindFiles(rootDirectory, pattern, includeFiles, includeDirectories) { - if (!pattern) { - throw new Error('pattern parameter cannot be empty'); - } - exports.debug("legacyFindFiles rootDirectory: '" + rootDirectory + "'"); - exports.debug("pattern: '" + pattern + "'"); - exports.debug("includeFiles: '" + includeFiles + "'"); - exports.debug("includeDirectories: '" + includeDirectories + "'"); - if (!includeFiles && !includeDirectories) { - includeFiles = true; - } - // organize the patterns into include patterns and exclude patterns - var includePatterns = []; - var excludePatterns = []; - pattern = pattern.replace(/;;/g, '\0'); - for (var _i = 0, _a = pattern.split(';'); _i < _a.length; _i++) { - var pat = _a[_i]; - if (!pat) { - continue; - } - pat = pat.replace(/\0/g, ';'); - // determine whether include pattern and remove any include/exclude prefix. - // include patterns start with +: or anything other than -: - // exclude patterns start with -: - var isIncludePattern = void 0; - if (im._startsWith(pat, '+:')) { - pat = pat.substring(2); - isIncludePattern = true; - } - else if (im._startsWith(pat, '-:')) { - pat = pat.substring(2); - isIncludePattern = false; - } - else { - isIncludePattern = true; - } - // validate pattern does not end with a slash - if (im._endsWith(pat, '/') || (process.platform == 'win32' && im._endsWith(pat, '\\'))) { - throw new Error(exports.loc('LIB_InvalidPattern', pat)); - } - // root the pattern - if (rootDirectory && !path.isAbsolute(pat)) { - pat = path.join(rootDirectory, pat); - // remove trailing slash sometimes added by path.join() on Windows, e.g. - // path.join('\\\\hello', 'world') => '\\\\hello\\world\\' - // path.join('//hello', 'world') => '\\\\hello\\world\\' - if (im._endsWith(pat, '\\')) { - pat = pat.substring(0, pat.length - 1); - } - } - if (isIncludePattern) { - includePatterns.push(pat); - } - else { - excludePatterns.push(im._legacyFindFiles_convertPatternToRegExp(pat)); - } - } - // find and apply patterns - var count = 0; - var result = _legacyFindFiles_getMatchingItems(includePatterns, excludePatterns, !!includeFiles, !!includeDirectories); - exports.debug('all matches:'); - for (var _b = 0, result_1 = result; _b < result_1.length; _b++) { - var resultItem = result_1[_b]; - exports.debug(' ' + resultItem); - } - exports.debug('total matched: ' + result.length); - return result; -} -exports.legacyFindFiles = legacyFindFiles; -function _legacyFindFiles_getMatchingItems(includePatterns, excludePatterns, includeFiles, includeDirectories) { - exports.debug('getMatchingItems()'); - for (var _i = 0, includePatterns_1 = includePatterns; _i < includePatterns_1.length; _i++) { - var pattern = includePatterns_1[_i]; - exports.debug("includePattern: '" + pattern + "'"); - } - for (var _a = 0, excludePatterns_1 = excludePatterns; _a < excludePatterns_1.length; _a++) { - var pattern = excludePatterns_1[_a]; - exports.debug("excludePattern: " + pattern); - } - exports.debug('includeFiles: ' + includeFiles); - exports.debug('includeDirectories: ' + includeDirectories); - var allFiles = {}; - var _loop_2 = function (pattern) { - // determine the directory to search - // - // note, getDirectoryName removes redundant path separators - var findPath = void 0; - var starIndex = pattern.indexOf('*'); - var questionIndex = pattern.indexOf('?'); - if (starIndex < 0 && questionIndex < 0) { - // if no wildcards are found, use the directory name portion of the path. - // if there is no directory name (file name only in pattern or drive root), - // this will return empty string. - findPath = im._getDirectoryName(pattern); - } - else { - // extract the directory prior to the first wildcard - var index = Math.min(starIndex >= 0 ? starIndex : questionIndex, questionIndex >= 0 ? questionIndex : starIndex); - findPath = im._getDirectoryName(pattern.substring(0, index)); - } - // note, due to this short-circuit and the above usage of getDirectoryName, this - // function has the same limitations regarding drive roots as the powershell - // implementation. - // - // also note, since getDirectoryName eliminates slash redundancies, some additional - // work may be required if removal of this limitation is attempted. - if (!findPath) { - return "continue"; - } - var patternRegex = im._legacyFindFiles_convertPatternToRegExp(pattern); - // find files/directories - var items = find(findPath, { followSymbolicLinks: true }) - .filter(function (item) { - if (includeFiles && includeDirectories) { - return true; - } - var isDir = fs.statSync(item).isDirectory(); - return (includeFiles && !isDir) || (includeDirectories && isDir); - }) - .forEach(function (item) { - var normalizedPath = process.platform == 'win32' ? item.replace(/\\/g, '/') : item; // normalize separators - // **/times/** will not match C:/fun/times because there isn't a trailing slash - // so try both if including directories - var alternatePath = normalizedPath + "/"; // potential bug: it looks like this will result in a false - // positive if the item is a regular file and not a directory - var isMatch = false; - if (patternRegex.test(normalizedPath) || (includeDirectories && patternRegex.test(alternatePath))) { - isMatch = true; - // test whether the path should be excluded - for (var _i = 0, excludePatterns_2 = excludePatterns; _i < excludePatterns_2.length; _i++) { - var regex = excludePatterns_2[_i]; - if (regex.test(normalizedPath) || (includeDirectories && regex.test(alternatePath))) { - isMatch = false; - break; - } - } - } - if (isMatch) { - allFiles[item] = item; - } - }); - }; - for (var _b = 0, includePatterns_2 = includePatterns; _b < includePatterns_2.length; _b++) { - var pattern = includePatterns_2[_b]; - _loop_2(pattern); - } - return Object.keys(allFiles).sort(); -} -/** - * Remove a path recursively with force - * - * @param inputPath path to remove - * @throws when the file or directory exists but could not be deleted. - */ -function rmRF(inputPath) { - exports.debug('rm -rf ' + inputPath); - if (getPlatform() == Platform.Windows) { - // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another - // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del. - try { - if (fs.statSync(inputPath).isDirectory()) { - exports.debug('removing directory ' + inputPath); - childProcess.execSync("rd /s /q \"" + inputPath + "\""); - } - else { - exports.debug('removing file ' + inputPath); - childProcess.execSync("del /f /a \"" + inputPath + "\""); - } - } - catch (err) { - // if you try to delete a file that doesn't exist, desired result is achieved - // other errors are valid - if (err.code != 'ENOENT') { - throw new Error(exports.loc('LIB_OperationFailed', 'rmRF', err.message)); - } - } - // Shelling out fails to remove a symlink folder with missing source, this unlink catches that - try { - fs.unlinkSync(inputPath); - } - catch (err) { - // if you try to delete a file that doesn't exist, desired result is achieved - // other errors are valid - if (err.code != 'ENOENT') { - throw new Error(exports.loc('LIB_OperationFailed', 'rmRF', err.message)); - } - } - } - else { - // get the lstats in order to workaround a bug in shelljs@0.3.0 where symlinks - // with missing targets are not handled correctly by "rm('-rf', path)" - var lstats = void 0; - try { - lstats = fs.lstatSync(inputPath); - } - catch (err) { - // if you try to delete a file that doesn't exist, desired result is achieved - // other errors are valid - if (err.code == 'ENOENT') { - return; - } - throw new Error(exports.loc('LIB_OperationFailed', 'rmRF', err.message)); - } - if (lstats.isDirectory()) { - exports.debug('removing directory'); - shell.rm('-rf', inputPath); - var errMsg = shell.error(); - if (errMsg) { - throw new Error(exports.loc('LIB_OperationFailed', 'rmRF', errMsg)); - } - return; - } - exports.debug('removing file'); - try { - fs.unlinkSync(inputPath); - } - catch (err) { - throw new Error(exports.loc('LIB_OperationFailed', 'rmRF', err.message)); - } - } -} -exports.rmRF = rmRF; -/** - * Exec a tool. Convenience wrapper over ToolRunner to exec with args in one call. - * Output will be streamed to the live console. - * Returns promise with return code - * - * @param tool path to tool to exec - * @param args an arg string or array of args - * @param options optional exec options. See IExecOptions - * @returns number - */ -function exec(tool, args, options) { - var tr = this.tool(tool); - tr.on('debug', function (data) { - exports.debug(data); - }); - if (args) { - if (args instanceof Array) { - tr.arg(args); - } - else if (typeof (args) === 'string') { - tr.line(args); - } - } - return tr.exec(options); -} -exports.exec = exec; -/** - * Exec a tool synchronously. Convenience wrapper over ToolRunner to execSync with args in one call. - * Output will be *not* be streamed to the live console. It will be returned after execution is complete. - * Appropriate for short running tools - * Returns IExecResult with output and return code - * - * @param tool path to tool to exec - * @param args an arg string or array of args - * @param options optional exec options. See IExecSyncOptions - * @returns IExecSyncResult - */ -function execSync(tool, args, options) { - var tr = this.tool(tool); - tr.on('debug', function (data) { - exports.debug(data); - }); - if (args) { - if (args instanceof Array) { - tr.arg(args); - } - else if (typeof (args) === 'string') { - tr.line(args); - } - } - return tr.execSync(options); -} -exports.execSync = execSync; -/** - * Convenience factory to create a ToolRunner. - * - * @param tool path to tool to exec - * @returns ToolRunner - */ -function tool(tool) { - var tr = new trm.ToolRunner(tool); - tr.on('debug', function (message) { - exports.debug(message); - }); - return tr; -} -exports.tool = tool; -/** - * Applies glob patterns to a list of paths. Supports interleaved exclude patterns. - * - * @param list array of paths - * @param patterns patterns to apply. supports interleaved exclude patterns. - * @param patternRoot optional. default root to apply to unrooted patterns. not applied to basename-only patterns when matchBase:true. - * @param options optional. defaults to { dot: true, nobrace: true, nocase: process.platform == 'win32' }. - */ -function match(list, patterns, patternRoot, options) { - // trace parameters - exports.debug("patternRoot: '" + patternRoot + "'"); - options = options || _getDefaultMatchOptions(); // default match options - _debugMatchOptions(options); - // convert pattern to an array - if (typeof patterns == 'string') { - patterns = [patterns]; - } - // hashtable to keep track of matches - var map = {}; - var originalOptions = options; - for (var _i = 0, patterns_1 = patterns; _i < patterns_1.length; _i++) { - var pattern = patterns_1[_i]; - exports.debug("pattern: '" + pattern + "'"); - // trim and skip empty - pattern = (pattern || '').trim(); - if (!pattern) { - exports.debug('skipping empty pattern'); - continue; - } - // clone match options - var options_1 = im._cloneMatchOptions(originalOptions); - // skip comments - if (!options_1.nocomment && im._startsWith(pattern, '#')) { - exports.debug('skipping comment'); - continue; - } - // set nocomment - brace expansion could result in a leading '#' - options_1.nocomment = true; - // determine whether pattern is include or exclude - var negateCount = 0; - if (!options_1.nonegate) { - while (pattern.charAt(negateCount) == '!') { - negateCount++; - } - pattern = pattern.substring(negateCount); // trim leading '!' - if (negateCount) { - exports.debug("trimmed leading '!'. pattern: '" + pattern + "'"); - } - } - var isIncludePattern = negateCount == 0 || - (negateCount % 2 == 0 && !options_1.flipNegate) || - (negateCount % 2 == 1 && options_1.flipNegate); - // set nonegate - brace expansion could result in a leading '!' - options_1.nonegate = true; - options_1.flipNegate = false; - // expand braces - required to accurately root patterns - var expanded = void 0; - var preExpanded = pattern; - if (options_1.nobrace) { - expanded = [pattern]; - } - else { - // convert slashes on Windows before calling braceExpand(). unfortunately this means braces cannot - // be escaped on Windows, this limitation is consistent with current limitations of minimatch (3.0.3). - exports.debug('expanding braces'); - var convertedPattern = process.platform == 'win32' ? pattern.replace(/\\/g, '/') : pattern; - expanded = minimatch.braceExpand(convertedPattern); - } - // set nobrace - options_1.nobrace = true; - for (var _a = 0, expanded_1 = expanded; _a < expanded_1.length; _a++) { - var pattern_1 = expanded_1[_a]; - if (expanded.length != 1 || pattern_1 != preExpanded) { - exports.debug("pattern: '" + pattern_1 + "'"); - } - // trim and skip empty - pattern_1 = (pattern_1 || '').trim(); - if (!pattern_1) { - exports.debug('skipping empty pattern'); - continue; - } - // root the pattern when all of the following conditions are true: - if (patternRoot && // patternRoot supplied - !im._isRooted(pattern_1) && // AND pattern not rooted - // AND matchBase:false or not basename only - (!options_1.matchBase || (process.platform == 'win32' ? pattern_1.replace(/\\/g, '/') : pattern_1).indexOf('/') >= 0)) { - pattern_1 = im._ensureRooted(patternRoot, pattern_1); - exports.debug("rooted pattern: '" + pattern_1 + "'"); - } - if (isIncludePattern) { - // apply the pattern - exports.debug('applying include pattern against original list'); - var matchResults = minimatch.match(list, pattern_1, options_1); - exports.debug(matchResults.length + ' matches'); - // union the results - for (var _b = 0, matchResults_1 = matchResults; _b < matchResults_1.length; _b++) { - var matchResult = matchResults_1[_b]; - map[matchResult] = true; - } - } - else { - // apply the pattern - exports.debug('applying exclude pattern against original list'); - var matchResults = minimatch.match(list, pattern_1, options_1); - exports.debug(matchResults.length + ' matches'); - // substract the results - for (var _c = 0, matchResults_2 = matchResults; _c < matchResults_2.length; _c++) { - var matchResult = matchResults_2[_c]; - delete map[matchResult]; - } - } - } - } - // return a filtered version of the original list (preserves order and prevents duplication) - var result = list.filter(function (item) { return map.hasOwnProperty(item); }); - exports.debug(result.length + ' final results'); - return result; -} -exports.match = match; -/** - * Filter to apply glob patterns - * - * @param pattern pattern to apply - * @param options optional. defaults to { dot: true, nobrace: true, nocase: process.platform == 'win32' }. - */ -function filter(pattern, options) { - options = options || _getDefaultMatchOptions(); - return minimatch.filter(pattern, options); -} -exports.filter = filter; -function _debugMatchOptions(options) { - exports.debug("matchOptions.debug: '" + options.debug + "'"); - exports.debug("matchOptions.nobrace: '" + options.nobrace + "'"); - exports.debug("matchOptions.noglobstar: '" + options.noglobstar + "'"); - exports.debug("matchOptions.dot: '" + options.dot + "'"); - exports.debug("matchOptions.noext: '" + options.noext + "'"); - exports.debug("matchOptions.nocase: '" + options.nocase + "'"); - exports.debug("matchOptions.nonull: '" + options.nonull + "'"); - exports.debug("matchOptions.matchBase: '" + options.matchBase + "'"); - exports.debug("matchOptions.nocomment: '" + options.nocomment + "'"); - exports.debug("matchOptions.nonegate: '" + options.nonegate + "'"); - exports.debug("matchOptions.flipNegate: '" + options.flipNegate + "'"); -} -function _getDefaultMatchOptions() { - return { - debug: false, - nobrace: true, - noglobstar: false, - dot: true, - noext: false, - nocase: process.platform == 'win32', - nonull: false, - matchBase: false, - nocomment: false, - nonegate: false, - flipNegate: false - }; -} -/** - * Determines the find root from a list of patterns. Performs the find and then applies the glob patterns. - * Supports interleaved exclude patterns. Unrooted patterns are rooted using defaultRoot, unless - * matchOptions.matchBase is specified and the pattern is a basename only. For matchBase cases, the - * defaultRoot is used as the find root. - * - * @param defaultRoot default path to root unrooted patterns. falls back to System.DefaultWorkingDirectory or process.cwd(). - * @param patterns pattern or array of patterns to apply - * @param findOptions defaults to { followSymbolicLinks: true }. following soft links is generally appropriate unless deleting files. - * @param matchOptions defaults to { dot: true, nobrace: true, nocase: process.platform == 'win32' } - */ -function findMatch(defaultRoot, patterns, findOptions, matchOptions) { - // apply defaults for parameters and trace - defaultRoot = defaultRoot || this.getVariable('system.defaultWorkingDirectory') || process.cwd(); - exports.debug("defaultRoot: '" + defaultRoot + "'"); - patterns = patterns || []; - patterns = typeof patterns == 'string' ? [patterns] : patterns; - findOptions = findOptions || _getDefaultFindOptions(); - _debugFindOptions(findOptions); - matchOptions = matchOptions || _getDefaultMatchOptions(); - _debugMatchOptions(matchOptions); - // normalize slashes for root dir - defaultRoot = im._normalizeSeparators(defaultRoot); - var results = {}; - var originalMatchOptions = matchOptions; - for (var _i = 0, _a = (patterns || []); _i < _a.length; _i++) { - var pattern = _a[_i]; - exports.debug("pattern: '" + pattern + "'"); - // trim and skip empty - pattern = (pattern || '').trim(); - if (!pattern) { - exports.debug('skipping empty pattern'); - continue; - } - // clone match options - var matchOptions_1 = im._cloneMatchOptions(originalMatchOptions); - // skip comments - if (!matchOptions_1.nocomment && im._startsWith(pattern, '#')) { - exports.debug('skipping comment'); - continue; - } - // set nocomment - brace expansion could result in a leading '#' - matchOptions_1.nocomment = true; - // determine whether pattern is include or exclude - var negateCount = 0; - if (!matchOptions_1.nonegate) { - while (pattern.charAt(negateCount) == '!') { - negateCount++; - } - pattern = pattern.substring(negateCount); // trim leading '!' - if (negateCount) { - exports.debug("trimmed leading '!'. pattern: '" + pattern + "'"); - } - } - var isIncludePattern = negateCount == 0 || - (negateCount % 2 == 0 && !matchOptions_1.flipNegate) || - (negateCount % 2 == 1 && matchOptions_1.flipNegate); - // set nonegate - brace expansion could result in a leading '!' - matchOptions_1.nonegate = true; - matchOptions_1.flipNegate = false; - // expand braces - required to accurately interpret findPath - var expanded = void 0; - var preExpanded = pattern; - if (matchOptions_1.nobrace) { - expanded = [pattern]; - } - else { - // convert slashes on Windows before calling braceExpand(). unfortunately this means braces cannot - // be escaped on Windows, this limitation is consistent with current limitations of minimatch (3.0.3). - exports.debug('expanding braces'); - var convertedPattern = process.platform == 'win32' ? pattern.replace(/\\/g, '/') : pattern; - expanded = minimatch.braceExpand(convertedPattern); - } - // set nobrace - matchOptions_1.nobrace = true; - for (var _b = 0, expanded_2 = expanded; _b < expanded_2.length; _b++) { - var pattern_2 = expanded_2[_b]; - if (expanded.length != 1 || pattern_2 != preExpanded) { - exports.debug("pattern: '" + pattern_2 + "'"); - } - // trim and skip empty - pattern_2 = (pattern_2 || '').trim(); - if (!pattern_2) { - exports.debug('skipping empty pattern'); - continue; - } - if (isIncludePattern) { - // determine the findPath - var findInfo = im._getFindInfoFromPattern(defaultRoot, pattern_2, matchOptions_1); - var findPath = findInfo.findPath; - exports.debug("findPath: '" + findPath + "'"); - if (!findPath) { - exports.debug('skipping empty path'); - continue; - } - // perform the find - exports.debug("statOnly: '" + findInfo.statOnly + "'"); - var findResults = []; - if (findInfo.statOnly) { - // simply stat the path - all path segments were used to build the path - try { - fs.statSync(findPath); - findResults.push(findPath); - } - catch (err) { - if (err.code != 'ENOENT') { - throw err; - } - exports.debug('ENOENT'); - } - } - else { - findResults = find(findPath, findOptions); - } - exports.debug("found " + findResults.length + " paths"); - // apply the pattern - exports.debug('applying include pattern'); - if (findInfo.adjustedPattern != pattern_2) { - exports.debug("adjustedPattern: '" + findInfo.adjustedPattern + "'"); - pattern_2 = findInfo.adjustedPattern; - } - var matchResults = minimatch.match(findResults, pattern_2, matchOptions_1); - exports.debug(matchResults.length + ' matches'); - // union the results - for (var _c = 0, matchResults_3 = matchResults; _c < matchResults_3.length; _c++) { - var matchResult = matchResults_3[_c]; - var key = process.platform == 'win32' ? matchResult.toUpperCase() : matchResult; - results[key] = matchResult; - } - } - else { - // check if basename only and matchBase=true - if (matchOptions_1.matchBase && - !im._isRooted(pattern_2) && - (process.platform == 'win32' ? pattern_2.replace(/\\/g, '/') : pattern_2).indexOf('/') < 0) { - // do not root the pattern - exports.debug('matchBase and basename only'); - } - else { - // root the exclude pattern - pattern_2 = im._ensurePatternRooted(defaultRoot, pattern_2); - exports.debug("after ensurePatternRooted, pattern: '" + pattern_2 + "'"); - } - // apply the pattern - exports.debug('applying exclude pattern'); - var matchResults = minimatch.match(Object.keys(results).map(function (key) { return results[key]; }), pattern_2, matchOptions_1); - exports.debug(matchResults.length + ' matches'); - // substract the results - for (var _d = 0, matchResults_4 = matchResults; _d < matchResults_4.length; _d++) { - var matchResult = matchResults_4[_d]; - var key = process.platform == 'win32' ? matchResult.toUpperCase() : matchResult; - delete results[key]; - } - } - } - } - var finalResult = Object.keys(results) - .map(function (key) { return results[key]; }) - .sort(); - exports.debug(finalResult.length + ' final results'); - return finalResult; -} -exports.findMatch = findMatch; -/** - * Gets http proxy configuration used by Build/Release agent - * - * @return ProxyConfiguration - */ -function getHttpProxyConfiguration(requestUrl) { - var proxyUrl = exports.getVariable('Agent.ProxyUrl'); - if (proxyUrl && proxyUrl.length > 0) { - var proxyUsername = exports.getVariable('Agent.ProxyUsername'); - var proxyPassword = exports.getVariable('Agent.ProxyPassword'); - var proxyBypassHosts = JSON.parse(exports.getVariable('Agent.ProxyBypassList') || '[]'); - var bypass_1 = false; - if (requestUrl) { - proxyBypassHosts.forEach(function (bypassHost) { - if (new RegExp(bypassHost, 'i').test(requestUrl)) { - bypass_1 = true; - } - }); - } - if (bypass_1) { - return null; - } - else { - return { - proxyUrl: proxyUrl, - proxyUsername: proxyUsername, - proxyPassword: proxyPassword, - proxyBypassHosts: proxyBypassHosts - }; - } - } - else { - return null; - } -} -exports.getHttpProxyConfiguration = getHttpProxyConfiguration; -/** - * Gets http certificate configuration used by Build/Release agent - * - * @return CertConfiguration - */ -function getHttpCertConfiguration() { - var ca = exports.getVariable('Agent.CAInfo'); - var clientCert = exports.getVariable('Agent.ClientCert'); - if (ca || clientCert) { - var certConfig = {}; - certConfig.caFile = ca; - certConfig.certFile = clientCert; - if (clientCert) { - var clientCertKey = exports.getVariable('Agent.ClientCertKey'); - var clientCertArchive = exports.getVariable('Agent.ClientCertArchive'); - var clientCertPassword = exports.getVariable('Agent.ClientCertPassword'); - certConfig.keyFile = clientCertKey; - certConfig.certArchiveFile = clientCertArchive; - certConfig.passphrase = clientCertPassword; - } - return certConfig; - } - else { - return null; - } -} -exports.getHttpCertConfiguration = getHttpCertConfiguration; -//----------------------------------------------------- -// Test Publisher -//----------------------------------------------------- -var TestPublisher = /** @class */ (function () { - function TestPublisher(testRunner) { - this.testRunner = testRunner; - } - TestPublisher.prototype.publish = function (resultFiles, mergeResults, platform, config, runTitle, publishRunAttachments, testRunSystem) { - // Could have used an initializer, but wanted to avoid reordering parameters when converting to strict null checks - // (A parameter cannot both be optional and have an initializer) - testRunSystem = testRunSystem || "VSTSTask"; - var properties = {}; - properties['type'] = this.testRunner; - if (mergeResults) { - properties['mergeResults'] = mergeResults; - } - if (platform) { - properties['platform'] = platform; - } - if (config) { - properties['config'] = config; - } - if (runTitle) { - properties['runTitle'] = runTitle; - } - if (publishRunAttachments) { - properties['publishRunAttachments'] = publishRunAttachments; - } - if (resultFiles) { - properties['resultFiles'] = Array.isArray(resultFiles) ? resultFiles.join() : resultFiles; - } - properties['testRunSystem'] = testRunSystem; - exports.command('results.publish', properties, ''); - }; - return TestPublisher; -}()); -exports.TestPublisher = TestPublisher; -//----------------------------------------------------- -// Code coverage Publisher -//----------------------------------------------------- -var CodeCoveragePublisher = /** @class */ (function () { - function CodeCoveragePublisher() { - } - CodeCoveragePublisher.prototype.publish = function (codeCoverageTool, summaryFileLocation, reportDirectory, additionalCodeCoverageFiles) { - var properties = {}; - if (codeCoverageTool) { - properties['codecoveragetool'] = codeCoverageTool; - } - if (summaryFileLocation) { - properties['summaryfile'] = summaryFileLocation; - } - if (reportDirectory) { - properties['reportdirectory'] = reportDirectory; - } - if (additionalCodeCoverageFiles) { - properties['additionalcodecoveragefiles'] = Array.isArray(additionalCodeCoverageFiles) ? additionalCodeCoverageFiles.join() : additionalCodeCoverageFiles; - } - exports.command('codecoverage.publish', properties, ""); - }; - return CodeCoveragePublisher; -}()); -exports.CodeCoveragePublisher = CodeCoveragePublisher; -//----------------------------------------------------- -// Code coverage Publisher -//----------------------------------------------------- -var CodeCoverageEnabler = /** @class */ (function () { - function CodeCoverageEnabler(buildTool, ccTool) { - this.buildTool = buildTool; - this.ccTool = ccTool; - } - CodeCoverageEnabler.prototype.enableCodeCoverage = function (buildProps) { - buildProps['buildtool'] = this.buildTool; - buildProps['codecoveragetool'] = this.ccTool; - exports.command('codecoverage.enable', buildProps, ""); - }; - return CodeCoverageEnabler; -}()); -exports.CodeCoverageEnabler = CodeCoverageEnabler; -//----------------------------------------------------- -// Task Logging Commands -//----------------------------------------------------- -/** - * Upload user interested file as additional log information - * to the current timeline record. - * - * The file shall be available for download along with task logs. - * - * @param path Path to the file that should be uploaded. - * @returns void - */ -function uploadFile(path) { - exports.command("task.uploadfile", null, path); -} -exports.uploadFile = uploadFile; -/** - * Instruction for the agent to update the PATH environment variable. - * The specified directory is prepended to the PATH. - * The updated environment variable will be reflected in subsequent tasks. - * - * @param path Local directory path. - * @returns void - */ -function prependPath(path) { - assertAgent("2.115.0"); - exports.command("task.prependpath", null, path); -} -exports.prependPath = prependPath; -/** - * Upload and attach summary markdown to current timeline record. - * This summary shall be added to the build/release summary and - * not available for download with logs. - * - * @param path Local directory path. - * @returns void - */ -function uploadSummary(path) { - exports.command("task.uploadsummary", null, path); -} -exports.uploadSummary = uploadSummary; -/** - * Upload and attach attachment to current timeline record. - * These files are not available for download with logs. - * These can only be referred to by extensions using the type or name values. - * - * @param type Attachment type. - * @param name Attachment name. - * @param path Attachment path. - * @returns void - */ -function addAttachment(type, name, path) { - exports.command("task.addattachment", { "type": type, "name": name }, path); -} -exports.addAttachment = addAttachment; -/** - * Set an endpoint field with given value. - * Value updated will be retained in the endpoint for - * the subsequent tasks that execute within the same job. - * - * @param id Endpoint id. - * @param field FieldType enum of AuthParameter, DataParameter or Url. - * @param key Key. - * @param value Value for key or url. - * @returns void - */ -function setEndpoint(id, field, key, value) { - exports.command("task.setendpoint", { "id": id, "field": FieldType[field].toLowerCase(), "key": key }, value); -} -exports.setEndpoint = setEndpoint; -/** - * Set progress and current operation for current task. - * - * @param percent Percentage of completion. - * @param currentOperation Current pperation. - * @returns void - */ -function setProgress(percent, currentOperation) { - exports.command("task.setprogress", { "value": "" + percent }, currentOperation); -} -exports.setProgress = setProgress; -/** - * Indicates whether to write the logging command directly to the host or to the output pipeline. - * - * @param id Timeline record Guid. - * @param parentId Parent timeline record Guid. - * @param recordType Record type. - * @param recordName Record name. - * @param order Order of timeline record. - * @param startTime Start time. - * @param finishTime End time. - * @param progress Percentage of completion. - * @param state TaskState enum of Unknown, Initialized, InProgress or Completed. - * @param result TaskResult enum of Succeeded, SucceededWithIssues, Failed, Cancelled or Skipped. - * @param message current operation - * @returns void - */ -function logDetail(id, message, parentId, recordType, recordName, order, startTime, finishTime, progress, state, result) { - var properties = { - "id": id, - "parentid": parentId, - "type": recordType, - "name": recordName, - "order": order ? order.toString() : undefined, - "starttime": startTime, - "finishtime": finishTime, - "progress": progress ? progress.toString() : undefined, - "state": state ? TaskState[state] : undefined, - "result": result ? TaskResult[result] : undefined - }; - exports.command("task.logdetail", properties, message); -} -exports.logDetail = logDetail; -/** - * Log error or warning issue to timeline record of current task. - * - * @param type IssueType enum of Error or Warning. - * @param sourcePath Source file location. - * @param lineNumber Line number. - * @param columnNumber Column number. - * @param code Error or warning code. - * @param message Error or warning message. - * @returns void - */ -function logIssue(type, message, sourcePath, lineNumber, columnNumber, errorCode) { - var properties = { - "type": IssueType[type].toLowerCase(), - "code": errorCode, - "sourcepath": sourcePath, - "linenumber": lineNumber ? lineNumber.toString() : undefined, - "columnnumber": columnNumber ? columnNumber.toString() : undefined, - }; - exports.command("task.logissue", properties, message); -} -exports.logIssue = logIssue; -//----------------------------------------------------- -// Artifact Logging Commands -//----------------------------------------------------- -/** - * Upload user interested file as additional log information - * to the current timeline record. - * - * The file shall be available for download along with task logs. - * - * @param containerFolder Folder that the file will upload to, folder will be created if needed. - * @param path Path to the file that should be uploaded. - * @param name Artifact name. - * @returns void - */ -function uploadArtifact(containerFolder, path, name) { - exports.command("artifact.upload", { "containerfolder": containerFolder, "artifactname": name }, path); -} -exports.uploadArtifact = uploadArtifact; -/** - * Create an artifact link, artifact location is required to be - * a file container path, VC path or UNC share path. - * - * The file shall be available for download along with task logs. - * - * @param name Artifact name. - * @param path Path to the file that should be associated. - * @param artifactType ArtifactType enum of Container, FilePath, VersionControl, GitRef or TfvcLabel. - * @returns void - */ -function associateArtifact(name, path, artifactType) { - exports.command("artifact.associate", { "type": ArtifactType[artifactType].toLowerCase(), "artifactname": name }, path); -} -exports.associateArtifact = associateArtifact; -//----------------------------------------------------- -// Build Logging Commands -//----------------------------------------------------- -/** - * Upload user interested log to build’s container “logs\tool” folder. - * - * @param path Path to the file that should be uploaded. - * @returns void - */ -function uploadBuildLog(path) { - exports.command("build.uploadlog", null, path); -} -exports.uploadBuildLog = uploadBuildLog; -/** - * Update build number for current build. - * - * @param value Value to be assigned as the build number. - * @returns void - */ -function updateBuildNumber(value) { - exports.command("build.updatebuildnumber", null, value); -} -exports.updateBuildNumber = updateBuildNumber; -/** - * Add a tag for current build. - * - * @param value Tag value. - * @returns void - */ -function addBuildTag(value) { - exports.command("build.addbuildtag", null, value); -} -exports.addBuildTag = addBuildTag; -//----------------------------------------------------- -// Release Logging Commands -//----------------------------------------------------- -/** - * Update release name for current release. - * - * @param value Value to be assigned as the release name. - * @returns void - */ -function updateReleaseName(name) { - assertAgent("2.132.0"); - exports.command("release.updatereleasename", null, name); -} -exports.updateReleaseName = updateReleaseName; -//----------------------------------------------------- -// Tools -//----------------------------------------------------- -exports.TaskCommand = tcm.TaskCommand; -exports.commandFromString = tcm.commandFromString; -exports.ToolRunner = trm.ToolRunner; -//----------------------------------------------------- -// Validation Checks -//----------------------------------------------------- -// async await needs generators in node 4.x+ -if (semver.lt(process.versions.node, '4.2.0')) { - exports.warning('Tasks require a new agent. Upgrade your agent or node to 4.2.0 or later'); -} -//------------------------------------------------------------------- -// Populate the vault with sensitive data. Inputs and Endpoints -//------------------------------------------------------------------- -// avoid loading twice (overwrites .taskkey) -if (!global['_vsts_task_lib_loaded']) { - im._loadData(); - im._exposeProxySettings(); - im._exposeCertSettings(); -} - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/taskcommand.js": -/*!**************************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/taskcommand.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.commandFromString = exports.TaskCommand = void 0; -// -// Command Format: -// ##vso[artifact.command key=value;key=value]user message -// -// Examples: -// ##vso[task.progress value=58] -// ##vso[task.issue type=warning;]This is the user warning message -// -var CMD_PREFIX = '##vso['; -var TaskCommand = /** @class */ (function () { - function TaskCommand(command, properties, message) { - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - TaskCommand.prototype.toString = function () { - var cmdStr = CMD_PREFIX + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - for (var key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - var val = this.properties[key]; - if (val) { - // safely append the val - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - cmdStr += key + '=' + escape('' + (val || '')) + ';'; - } - } - } - } - cmdStr += ']'; - // safely append the message - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - var message = '' + (this.message || ''); - cmdStr += escapedata(message); - return cmdStr; - }; - return TaskCommand; -}()); -exports.TaskCommand = TaskCommand; -function commandFromString(commandLine) { - var preLen = CMD_PREFIX.length; - var lbPos = commandLine.indexOf('['); - var rbPos = commandLine.indexOf(']'); - if (lbPos == -1 || rbPos == -1 || rbPos - lbPos < 3) { - throw new Error('Invalid command brackets'); - } - var cmdInfo = commandLine.substring(lbPos + 1, rbPos); - var spaceIdx = cmdInfo.indexOf(' '); - var command = cmdInfo; - var properties = {}; - if (spaceIdx > 0) { - command = cmdInfo.trim().substring(0, spaceIdx); - var propSection = cmdInfo.trim().substring(spaceIdx + 1); - var propLines = propSection.split(';'); - propLines.forEach(function (propLine) { - propLine = propLine.trim(); - if (propLine.length > 0) { - var eqIndex = propLine.indexOf('='); - if (eqIndex == -1) { - throw new Error('Invalid property: ' + propLine); - } - var key = propLine.substring(0, eqIndex); - var val = propLine.substring(eqIndex + 1); - properties[key] = unescape(val); - } - }); - } - var msg = unescapedata(commandLine.substring(rbPos + 1)); - var cmd = new TaskCommand(command, properties, msg); - return cmd; -} -exports.commandFromString = commandFromString; -function escapedata(s) { - return s.replace(/%/g, '%AZP25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A'); -} -function unescapedata(s) { - return s.replace(/%0D/g, '\r') - .replace(/%0A/g, '\n') - .replace(/%AZP25/g, '%'); -} -function escape(s) { - return s.replace(/%/g, '%AZP25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/]/g, '%5D') - .replace(/;/g, '%3B'); -} -function unescape(s) { - return s.replace(/%0D/g, '\r') - .replace(/%0A/g, '\n') - .replace(/%5D/g, ']') - .replace(/%3B/g, ';') - .replace(/%AZP25/g, '%'); -} - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/toolrunner.js": -/*!*************************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/toolrunner.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ToolRunner = void 0; -var Q = __webpack_require__(/*! q */ "./node_modules/q/q.js"); -var os = __webpack_require__(/*! os */ "os"); -var events = __webpack_require__(/*! events */ "events"); -var child = __webpack_require__(/*! child_process */ "child_process"); -var im = __webpack_require__(/*! ./internal */ "./node_modules/azure-pipelines-task-lib/internal.js"); -var fs = __webpack_require__(/*! fs */ "fs"); -var ToolRunner = /** @class */ (function (_super) { - __extends(ToolRunner, _super); - function ToolRunner(toolPath) { - var _this = _super.call(this) || this; - _this.cmdSpecialChars = [' ', '\t', '&', '(', ')', '[', ']', '{', '}', '^', '=', ';', '!', '\'', '+', ',', '`', '~', '|', '<', '>', '"']; - if (!toolPath) { - throw new Error('Parameter \'toolPath\' cannot be null or empty.'); - } - _this.toolPath = im._which(toolPath, true); - _this.args = []; - _this._debug('toolRunner toolPath: ' + toolPath); - return _this; - } - ToolRunner.prototype._debug = function (message) { - this.emit('debug', message); - }; - ToolRunner.prototype._argStringToArray = function (argString) { - var args = []; - var inQuotes = false; - var escaped = false; - var lastCharWasSpace = true; - var arg = ''; - var append = function (c) { - // we only escape double quotes. - if (escaped) { - if (c !== '"') { - arg += '\\'; - } - else { - arg.slice(0, -1); - } - } - arg += c; - escaped = false; - }; - for (var i = 0; i < argString.length; i++) { - var c = argString.charAt(i); - if (c === ' ' && !inQuotes) { - if (!lastCharWasSpace) { - args.push(arg); - arg = ''; - } - lastCharWasSpace = true; - continue; - } - else { - lastCharWasSpace = false; - } - if (c === '"') { - if (!escaped) { - inQuotes = !inQuotes; - } - else { - append(c); - } - continue; - } - if (c === "\\" && escaped) { - append(c); - continue; - } - if (c === "\\" && inQuotes) { - escaped = true; - continue; - } - append(c); - lastCharWasSpace = false; - } - if (!lastCharWasSpace) { - args.push(arg.trim()); - } - return args; - }; - ToolRunner.prototype._getCommandString = function (options, noPrefix) { - var _this = this; - var toolPath = this._getSpawnFileName(); - var args = this._getSpawnArgs(options); - var cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool - var commandParts = []; - if (process.platform == 'win32') { - // Windows + cmd file - if (this._isCmdFile()) { - commandParts.push(toolPath); - commandParts = commandParts.concat(args); - } - // Windows + verbatim - else if (options.windowsVerbatimArguments) { - commandParts.push("\"" + toolPath + "\""); - commandParts = commandParts.concat(args); - } - else if (options.shell) { - commandParts.push(this._windowsQuoteCmdArg(toolPath)); - commandParts = commandParts.concat(args); - } - // Windows (regular) - else { - commandParts.push(this._windowsQuoteCmdArg(toolPath)); - commandParts = commandParts.concat(args.map(function (arg) { return _this._windowsQuoteCmdArg(arg); })); - } - } - else { - // OSX/Linux - this can likely be improved with some form of quoting. - // creating processes on Unix is fundamentally different than Windows. - // on Unix, execvp() takes an arg array. - commandParts.push(toolPath); - commandParts = commandParts.concat(args); - } - cmd += commandParts.join(' '); - // append second tool - if (this.pipeOutputToTool) { - cmd += ' | ' + this.pipeOutputToTool._getCommandString(options, /*noPrefix:*/ true); - } - return cmd; - }; - ToolRunner.prototype._processLineBuffer = function (data, strBuffer, onLine) { - try { - var s = strBuffer + data.toString(); - var n = s.indexOf(os.EOL); - while (n > -1) { - var line = s.substring(0, n); - onLine(line); - // the rest of the string ... - s = s.substring(n + os.EOL.length); - n = s.indexOf(os.EOL); - } - strBuffer = s; - } - catch (err) { - // streaming lines to console is best effort. Don't fail a build. - this._debug('error processing line'); - } - }; - /** - * Wraps an arg string with specified char if it's not already wrapped - * @returns {string} Arg wrapped with specified char - * @param {string} arg Input argument string - * @param {string} wrapChar A char input string should be wrapped with - */ - ToolRunner.prototype._wrapArg = function (arg, wrapChar) { - if (!this._isWrapped(arg, wrapChar)) { - return "" + wrapChar + arg + wrapChar; - } - return arg; - }; - /** - * Unwraps an arg string wrapped with specified char - * @param arg Arg wrapped with specified char - * @param wrapChar A char to be removed - */ - ToolRunner.prototype._unwrapArg = function (arg, wrapChar) { - if (this._isWrapped(arg, wrapChar)) { - var pattern = new RegExp("(^\\\\?" + wrapChar + ")|(\\\\?" + wrapChar + "$)", 'g'); - return arg.trim().replace(pattern, ''); - } - return arg; - }; - /** - * Determine if arg string is wrapped with specified char - * @param arg Input arg string - */ - ToolRunner.prototype._isWrapped = function (arg, wrapChar) { - var pattern = new RegExp("^\\\\?" + wrapChar + ".+\\\\?" + wrapChar + "$"); - return pattern.test(arg.trim()); - }; - ToolRunner.prototype._getSpawnFileName = function (options) { - if (process.platform == 'win32') { - if (this._isCmdFile()) { - return process.env['COMSPEC'] || 'cmd.exe'; - } - } - if (options && options.shell) { - return this._wrapArg(this.toolPath, '"'); - } - return this.toolPath; - }; - ToolRunner.prototype._getSpawnArgs = function (options) { - var _this = this; - if (process.platform == 'win32') { - if (this._isCmdFile()) { - var argline = "/D /S /C \"" + this._windowsQuoteCmdArg(this.toolPath); - for (var i = 0; i < this.args.length; i++) { - argline += ' '; - argline += options.windowsVerbatimArguments ? this.args[i] : this._windowsQuoteCmdArg(this.args[i]); - } - argline += '"'; - return [argline]; - } - if (options.windowsVerbatimArguments) { - // note, in Node 6.x options.argv0 can be used instead of overriding args.slice and args.unshift. - // for more details, refer to https://github.com/nodejs/node/blob/v6.x/lib/child_process.js - var args_1 = this.args.slice(0); // copy the array - // override slice to prevent Node from creating a copy of the arg array. - // we need Node to use the "unshift" override below. - args_1.slice = function () { - if (arguments.length != 1 || arguments[0] != 0) { - throw new Error('Unexpected arguments passed to args.slice when windowsVerbatimArguments flag is set.'); - } - return args_1; - }; - // override unshift - // - // when using the windowsVerbatimArguments option, Node does not quote the tool path when building - // the cmdline parameter for the win32 function CreateProcess(). an unquoted space in the tool path - // causes problems for tools when attempting to parse their own command line args. tools typically - // assume their arguments begin after arg 0. - // - // by hijacking unshift, we can quote the tool path when it pushed onto the args array. Node builds - // the cmdline parameter from the args array. - // - // note, we can't simply pass a quoted tool path to Node for multiple reasons: - // 1) Node verifies the file exists (calls win32 function GetFileAttributesW) and the check returns - // false if the path is quoted. - // 2) Node passes the tool path as the application parameter to CreateProcess, which expects the - // path to be unquoted. - // - // also note, in addition to the tool path being embedded within the cmdline parameter, Node also - // passes the tool path to CreateProcess via the application parameter (optional parameter). when - // present, Windows uses the application parameter to determine which file to run, instead of - // interpreting the file from the cmdline parameter. - args_1.unshift = function () { - if (arguments.length != 1) { - throw new Error('Unexpected arguments passed to args.unshift when windowsVerbatimArguments flag is set.'); - } - return Array.prototype.unshift.call(args_1, "\"" + arguments[0] + "\""); // quote the file name - }; - return args_1; - } - else if (options.shell) { - var args = []; - for (var _i = 0, _a = this.args; _i < _a.length; _i++) { - var arg = _a[_i]; - if (this._needQuotesForCmd(arg, '%')) { - args.push(this._wrapArg(arg, '"')); - } - else { - args.push(arg); - } - } - return args; - } - } - else if (options.shell) { - return this.args.map(function (arg) { - if (_this._isWrapped(arg, "'")) { - return arg; - } - // remove wrapping double quotes to avoid escaping - arg = _this._unwrapArg(arg, '"'); - arg = _this._escapeChar(arg, '"'); - return _this._wrapArg(arg, '"'); - }); - } - return this.args; - }; - /** - * Escape specified character. - * @param arg String to escape char in - * @param charToEscape Char should be escaped - */ - ToolRunner.prototype._escapeChar = function (arg, charToEscape) { - var escChar = "\\"; - var output = ''; - var charIsEscaped = false; - for (var _i = 0, arg_1 = arg; _i < arg_1.length; _i++) { - var char = arg_1[_i]; - if (char === charToEscape && !charIsEscaped) { - output += escChar + char; - } - else { - output += char; - } - charIsEscaped = char === escChar && !charIsEscaped; - } - return output; - }; - ToolRunner.prototype._isCmdFile = function () { - var upperToolPath = this.toolPath.toUpperCase(); - return im._endsWith(upperToolPath, '.CMD') || im._endsWith(upperToolPath, '.BAT'); - }; - /** - * Determine whether the cmd arg needs to be quoted. Returns true if arg contains any of special chars array. - * @param arg The cmd command arg. - * @param additionalChars Additional chars which should be also checked. - */ - ToolRunner.prototype._needQuotesForCmd = function (arg, additionalChars) { - var specialChars = this.cmdSpecialChars; - if (additionalChars) { - specialChars = this.cmdSpecialChars.concat(additionalChars); - } - var _loop_1 = function (char) { - if (specialChars.some(function (x) { return x === char; })) { - return { value: true }; - } - }; - for (var _i = 0, arg_2 = arg; _i < arg_2.length; _i++) { - var char = arg_2[_i]; - var state_1 = _loop_1(char); - if (typeof state_1 === "object") - return state_1.value; - } - return false; - }; - ToolRunner.prototype._windowsQuoteCmdArg = function (arg) { - // for .exe, apply the normal quoting rules that libuv applies - if (!this._isCmdFile()) { - return this._uv_quote_cmd_arg(arg); - } - // otherwise apply quoting rules specific to the cmd.exe command line parser. - // the libuv rules are generic and are not designed specifically for cmd.exe - // command line parser. - // - // for a detailed description of the cmd.exe command line parser, refer to - // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912 - // need quotes for empty arg - if (!arg) { - return '""'; - } - // determine whether the arg needs to be quoted - var needsQuotes = this._needQuotesForCmd(arg); - // short-circuit if quotes not needed - if (!needsQuotes) { - return arg; - } - // the following quoting rules are very similar to the rules that by libuv applies. - // - // 1) wrap the string in quotes - // - // 2) double-up quotes - i.e. " => "" - // - // this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately - // doesn't work well with a cmd.exe command line. - // - // note, replacing " with "" also works well if the arg is passed to a downstream .NET console app. - // for example, the command line: - // foo.exe "myarg:""my val""" - // is parsed by a .NET console app into an arg array: - // [ "myarg:\"my val\"" ] - // which is the same end result when applying libuv quoting rules. although the actual - // command line from libuv quoting rules would look like: - // foo.exe "myarg:\"my val\"" - // - // 3) double-up slashes that preceed a quote, - // e.g. hello \world => "hello \world" - // hello\"world => "hello\\""world" - // hello\\"world => "hello\\\\""world" - // hello world\ => "hello world\\" - // - // technically this is not required for a cmd.exe command line, or the batch argument parser. - // the reasons for including this as a .cmd quoting rule are: - // - // a) this is optimized for the scenario where the argument is passed from the .cmd file to an - // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule. - // - // b) it's what we've been doing previously (by deferring to node default behavior) and we - // haven't heard any complaints about that aspect. - // - // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be - // escaped when used on the command line directly - even though within a .cmd file % can be escaped - // by using %%. - // - // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts - // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing. - // - // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would - // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the - // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args - // to an external program. - // - // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file. - // % can be escaped within a .cmd file. - var reverse = '"'; - var quote_hit = true; - for (var i = arg.length; i > 0; i--) { // walk the string in reverse - reverse += arg[i - 1]; - if (quote_hit && arg[i - 1] == '\\') { - reverse += '\\'; // double the slash - } - else if (arg[i - 1] == '"') { - quote_hit = true; - reverse += '"'; // double the quote - } - else { - quote_hit = false; - } - } - reverse += '"'; - return reverse.split('').reverse().join(''); - }; - ToolRunner.prototype._uv_quote_cmd_arg = function (arg) { - // Tool runner wraps child_process.spawn() and needs to apply the same quoting as - // Node in certain cases where the undocumented spawn option windowsVerbatimArguments - // is used. - // - // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV, - // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details), - // pasting copyright notice from Node within this function: - // - // Copyright Joyent, Inc. and other Node 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. - if (!arg) { - // Need double quotation for empty argument - return '""'; - } - if (arg.indexOf(' ') < 0 && arg.indexOf('\t') < 0 && arg.indexOf('"') < 0) { - // No quotation needed - return arg; - } - if (arg.indexOf('"') < 0 && arg.indexOf('\\') < 0) { - // No embedded double quotes or backslashes, so I can just wrap - // quote marks around the whole thing. - return "\"" + arg + "\""; - } - // Expected input/output: - // input : hello"world - // output: "hello\"world" - // input : hello""world - // output: "hello\"\"world" - // input : hello\world - // output: hello\world - // input : hello\\world - // output: hello\\world - // input : hello\"world - // output: "hello\\\"world" - // input : hello\\"world - // output: "hello\\\\\"world" - // input : hello world\ - // output: "hello world\\" - note the comment in libuv actually reads "hello world\" - // but it appears the comment is wrong, it should be "hello world\\" - var reverse = '"'; - var quote_hit = true; - for (var i = arg.length; i > 0; i--) { // walk the string in reverse - reverse += arg[i - 1]; - if (quote_hit && arg[i - 1] == '\\') { - reverse += '\\'; - } - else if (arg[i - 1] == '"') { - quote_hit = true; - reverse += '\\'; - } - else { - quote_hit = false; - } - } - reverse += '"'; - return reverse.split('').reverse().join(''); - }; - ToolRunner.prototype._cloneExecOptions = function (options) { - options = options || {}; - var result = { - cwd: options.cwd || process.cwd(), - env: options.env || process.env, - silent: options.silent || false, - failOnStdErr: options.failOnStdErr || false, - ignoreReturnCode: options.ignoreReturnCode || false, - windowsVerbatimArguments: options.windowsVerbatimArguments || false, - shell: options.shell || false - }; - result.outStream = options.outStream || process.stdout; - result.errStream = options.errStream || process.stderr; - return result; - }; - ToolRunner.prototype._getSpawnOptions = function (options) { - options = options || {}; - var result = {}; - result.cwd = options.cwd; - result.env = options.env; - result.shell = options.shell; - result['windowsVerbatimArguments'] = options.windowsVerbatimArguments || this._isCmdFile(); - return result; - }; - ToolRunner.prototype._getSpawnSyncOptions = function (options) { - var result = {}; - result.cwd = options.cwd; - result.env = options.env; - result.shell = options.shell; - result['windowsVerbatimArguments'] = options.windowsVerbatimArguments || this._isCmdFile(); - return result; - }; - ToolRunner.prototype.execWithPiping = function (pipeOutputToTool, options) { - var _this = this; - var _a, _b, _c, _d; - var defer = Q.defer(); - this._debug('exec tool: ' + this.toolPath); - this._debug('arguments:'); - this.args.forEach(function (arg) { - _this._debug(' ' + arg); - }); - var success = true; - var optionsNonNull = this._cloneExecOptions(options); - if (!optionsNonNull.silent) { - optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); - } - var cp; - var toolPath = pipeOutputToTool.toolPath; - var toolPathFirst; - var successFirst = true; - var returnCodeFirst; - var fileStream; - var waitingEvents = 0; // number of process or stream events we are waiting on to complete - var returnCode = 0; - var error; - toolPathFirst = this.toolPath; - // Following node documentation example from this link on how to pipe output of one process to another - // https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options - //start the child process for both tools - waitingEvents++; - var cpFirst = child.spawn(this._getSpawnFileName(optionsNonNull), this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(optionsNonNull)); - waitingEvents++; - cp = child.spawn(pipeOutputToTool._getSpawnFileName(optionsNonNull), pipeOutputToTool._getSpawnArgs(optionsNonNull), pipeOutputToTool._getSpawnOptions(optionsNonNull)); - fileStream = this.pipeOutputToFile ? fs.createWriteStream(this.pipeOutputToFile) : null; - if (fileStream) { - waitingEvents++; - fileStream.on('finish', function () { - waitingEvents--; //file write is complete - fileStream = null; - if (waitingEvents == 0) { - if (error) { - defer.reject(error); - } - else { - defer.resolve(returnCode); - } - } - }); - fileStream.on('error', function (err) { - waitingEvents--; //there were errors writing to the file, write is done - _this._debug("Failed to pipe output of " + toolPathFirst + " to file " + _this.pipeOutputToFile + ". Error = " + err); - fileStream = null; - if (waitingEvents == 0) { - if (error) { - defer.reject(error); - } - else { - defer.resolve(returnCode); - } - } - }); - } - //pipe stdout of first tool to stdin of second tool - (_a = cpFirst.stdout) === null || _a === void 0 ? void 0 : _a.on('data', function (data) { - var _a; - try { - if (fileStream) { - fileStream.write(data); - } - (_a = cp.stdin) === null || _a === void 0 ? void 0 : _a.write(data); - } - catch (err) { - _this._debug('Failed to pipe output of ' + toolPathFirst + ' to ' + toolPath); - _this._debug(toolPath + ' might have exited due to errors prematurely. Verify the arguments passed are valid.'); - } - }); - (_b = cpFirst.stderr) === null || _b === void 0 ? void 0 : _b.on('data', function (data) { - if (fileStream) { - fileStream.write(data); - } - successFirst = !optionsNonNull.failOnStdErr; - if (!optionsNonNull.silent) { - var s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); - } - }); - cpFirst.on('error', function (err) { - var _a; - waitingEvents--; //first process is complete with errors - if (fileStream) { - fileStream.end(); - } - (_a = cp.stdin) === null || _a === void 0 ? void 0 : _a.end(); - error = new Error(toolPathFirst + ' failed. ' + err.message); - if (waitingEvents == 0) { - defer.reject(error); - } - }); - cpFirst.on('close', function (code, signal) { - var _a; - waitingEvents--; //first process is complete - if (code != 0 && !optionsNonNull.ignoreReturnCode) { - successFirst = false; - returnCodeFirst = code; - returnCode = returnCodeFirst; - } - _this._debug('success of first tool:' + successFirst); - if (fileStream) { - fileStream.end(); - } - (_a = cp.stdin) === null || _a === void 0 ? void 0 : _a.end(); - if (waitingEvents == 0) { - if (error) { - defer.reject(error); - } - else { - defer.resolve(returnCode); - } - } - }); - var stdbuffer = ''; - (_c = cp.stdout) === null || _c === void 0 ? void 0 : _c.on('data', function (data) { - _this.emit('stdout', data); - if (!optionsNonNull.silent) { - optionsNonNull.outStream.write(data); - } - _this._processLineBuffer(data, stdbuffer, function (line) { - _this.emit('stdline', line); - }); - }); - var errbuffer = ''; - (_d = cp.stderr) === null || _d === void 0 ? void 0 : _d.on('data', function (data) { - _this.emit('stderr', data); - success = !optionsNonNull.failOnStdErr; - if (!optionsNonNull.silent) { - var s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); - } - _this._processLineBuffer(data, errbuffer, function (line) { - _this.emit('errline', line); - }); - }); - cp.on('error', function (err) { - waitingEvents--; //process is done with errors - error = new Error(toolPath + ' failed. ' + err.message); - if (waitingEvents == 0) { - defer.reject(error); - } - }); - cp.on('close', function (code, signal) { - waitingEvents--; //process is complete - _this._debug('rc:' + code); - returnCode = code; - if (stdbuffer.length > 0) { - _this.emit('stdline', stdbuffer); - } - if (errbuffer.length > 0) { - _this.emit('errline', errbuffer); - } - if (code != 0 && !optionsNonNull.ignoreReturnCode) { - success = false; - } - _this._debug('success:' + success); - if (!successFirst) { //in the case output is piped to another tool, check exit code of both tools - error = new Error(toolPathFirst + ' failed with return code: ' + returnCodeFirst); - } - else if (!success) { - error = new Error(toolPath + ' failed with return code: ' + code); - } - if (waitingEvents == 0) { - if (error) { - defer.reject(error); - } - else { - defer.resolve(returnCode); - } - } - }); - return defer.promise; - }; - /** - * Add argument - * Append an argument or an array of arguments - * returns ToolRunner for chaining - * - * @param val string cmdline or array of strings - * @returns ToolRunner - */ - ToolRunner.prototype.arg = function (val) { - if (!val) { - return this; - } - if (val instanceof Array) { - this._debug(this.toolPath + ' arg: ' + JSON.stringify(val)); - this.args = this.args.concat(val); - } - else if (typeof (val) === 'string') { - this._debug(this.toolPath + ' arg: ' + val); - this.args = this.args.concat(val.trim()); - } - return this; - }; - /** - * Parses an argument line into one or more arguments - * e.g. .line('"arg one" two -z') is equivalent to .arg(['arg one', 'two', '-z']) - * returns ToolRunner for chaining - * - * @param val string argument line - * @returns ToolRunner - */ - ToolRunner.prototype.line = function (val) { - if (!val) { - return this; - } - this._debug(this.toolPath + ' arg: ' + val); - this.args = this.args.concat(this._argStringToArray(val)); - return this; - }; - /** - * Add argument(s) if a condition is met - * Wraps arg(). See arg for details - * returns ToolRunner for chaining - * - * @param condition boolean condition - * @param val string cmdline or array of strings - * @returns ToolRunner - */ - ToolRunner.prototype.argIf = function (condition, val) { - if (condition) { - this.arg(val); - } - return this; - }; - /** - * Pipe output of exec() to another tool - * @param tool - * @param file optional filename to additionally stream the output to. - * @returns {ToolRunner} - */ - ToolRunner.prototype.pipeExecOutputToTool = function (tool, file) { - this.pipeOutputToTool = tool; - this.pipeOutputToFile = file; - return this; - }; - /** - * Exec a tool. - * Output will be streamed to the live console. - * Returns promise with return code - * - * @param tool path to tool to exec - * @param options optional exec options. See IExecOptions - * @returns number - */ - ToolRunner.prototype.exec = function (options) { - var _this = this; - var _a, _b, _c; - if (this.pipeOutputToTool) { - return this.execWithPiping(this.pipeOutputToTool, options); - } - var defer = Q.defer(); - this._debug('exec tool: ' + this.toolPath); - this._debug('arguments:'); - this.args.forEach(function (arg) { - _this._debug(' ' + arg); - }); - var optionsNonNull = this._cloneExecOptions(options); - if (!optionsNonNull.silent) { - optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); - } - var state = new ExecState(optionsNonNull, this.toolPath); - state.on('debug', function (message) { - _this._debug(message); - }); - var cp = child.spawn(this._getSpawnFileName(options), this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(options)); - this.childProcess = cp; - // it is possible for the child process to end its last line without a new line. - // because stdout is buffered, this causes the last line to not get sent to the parent - // stream. Adding this event forces a flush before the child streams are closed. - (_a = cp.stdout) === null || _a === void 0 ? void 0 : _a.on('finish', function () { - if (!optionsNonNull.silent) { - optionsNonNull.outStream.write(os.EOL); - } - }); - var stdbuffer = ''; - (_b = cp.stdout) === null || _b === void 0 ? void 0 : _b.on('data', function (data) { - _this.emit('stdout', data); - if (!optionsNonNull.silent) { - optionsNonNull.outStream.write(data); - } - _this._processLineBuffer(data, stdbuffer, function (line) { - _this.emit('stdline', line); - }); - }); - var errbuffer = ''; - (_c = cp.stderr) === null || _c === void 0 ? void 0 : _c.on('data', function (data) { - state.processStderr = true; - _this.emit('stderr', data); - if (!optionsNonNull.silent) { - var s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); - } - _this._processLineBuffer(data, errbuffer, function (line) { - _this.emit('errline', line); - }); - }); - cp.on('error', function (err) { - state.processError = err.message; - state.processExited = true; - state.processClosed = true; - state.CheckComplete(); - }); - cp.on('exit', function (code, signal) { - state.processExitCode = code; - state.processExited = true; - _this._debug("Exit code " + code + " received from tool '" + _this.toolPath + "'"); - state.CheckComplete(); - }); - cp.on('close', function (code, signal) { - state.processExitCode = code; - state.processExited = true; - state.processClosed = true; - _this._debug("STDIO streams have closed for tool '" + _this.toolPath + "'"); - state.CheckComplete(); - }); - state.on('done', function (error, exitCode) { - if (stdbuffer.length > 0) { - _this.emit('stdline', stdbuffer); - } - if (errbuffer.length > 0) { - _this.emit('errline', errbuffer); - } - cp.removeAllListeners(); - if (error) { - defer.reject(error); - } - else { - defer.resolve(exitCode); - } - }); - return defer.promise; - }; - /** - * Exec a tool synchronously. - * Output will be *not* be streamed to the live console. It will be returned after execution is complete. - * Appropriate for short running tools - * Returns IExecSyncResult with output and return code - * - * @param tool path to tool to exec - * @param options optional exec options. See IExecSyncOptions - * @returns IExecSyncResult - */ - ToolRunner.prototype.execSync = function (options) { - var _this = this; - this._debug('exec tool: ' + this.toolPath); - this._debug('arguments:'); - this.args.forEach(function (arg) { - _this._debug(' ' + arg); - }); - var success = true; - options = this._cloneExecOptions(options); - if (!options.silent) { - options.outStream.write(this._getCommandString(options) + os.EOL); - } - var r = child.spawnSync(this._getSpawnFileName(options), this._getSpawnArgs(options), this._getSpawnSyncOptions(options)); - if (!options.silent && r.stdout && r.stdout.length > 0) { - options.outStream.write(r.stdout); - } - if (!options.silent && r.stderr && r.stderr.length > 0) { - options.errStream.write(r.stderr); - } - var res = { code: r.status, error: r.error }; - res.stdout = (r.stdout) ? r.stdout.toString() : ''; - res.stderr = (r.stderr) ? r.stderr.toString() : ''; - return res; - }; - /** - * Used to close child process by sending SIGNINT signal. - * It allows executed script to have some additional logic on SIGINT, before exiting. - */ - ToolRunner.prototype.killChildProcess = function () { - if (this.childProcess) { - this.childProcess.kill(); - } - }; - return ToolRunner; -}(events.EventEmitter)); -exports.ToolRunner = ToolRunner; -var ExecState = /** @class */ (function (_super) { - __extends(ExecState, _super); - function ExecState(options, toolPath) { - var _this = _super.call(this) || this; - _this.delay = 10000; // 10 seconds - _this.timeout = null; - if (!toolPath) { - throw new Error('toolPath must not be empty'); - } - _this.options = options; - _this.toolPath = toolPath; - var delay = process.env['TASKLIB_TEST_TOOLRUNNER_EXITDELAY']; - if (delay) { - _this.delay = parseInt(delay); - } - return _this; - } - ExecState.prototype.CheckComplete = function () { - if (this.done) { - return; - } - if (this.processClosed) { - this._setResult(); - } - else if (this.processExited) { - this.timeout = setTimeout(ExecState.HandleTimeout, this.delay, this); - } - }; - ExecState.prototype._debug = function (message) { - this.emit('debug', message); - }; - ExecState.prototype._setResult = function () { - // determine whether there is an error - var error; - if (this.processExited) { - if (this.processError) { - error = new Error(im._loc('LIB_ProcessError', this.toolPath, this.processError)); - } - else if (this.processExitCode != 0 && !this.options.ignoreReturnCode) { - error = new Error(im._loc('LIB_ProcessExitCode', this.toolPath, this.processExitCode)); - } - else if (this.processStderr && this.options.failOnStdErr) { - error = new Error(im._loc('LIB_ProcessStderr', this.toolPath)); - } - } - // clear the timeout - if (this.timeout) { - clearTimeout(this.timeout); - this.timeout = null; - } - this.done = true; - this.emit('done', error, this.processExitCode); - }; - ExecState.HandleTimeout = function (state) { - if (state.done) { - return; - } - if (!state.processClosed && state.processExited) { - console.log(im._loc('LIB_StdioNotClosed', state.delay / 1000, state.toolPath)); - state._debug(im._loc('LIB_StdioNotClosed', state.delay / 1000, state.toolPath)); - } - state._setResult(); - }; - return ExecState; -}(events.EventEmitter)); - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib/vault.js": -/*!********************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/vault.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Vault = void 0; -var fs = __webpack_require__(/*! fs */ "fs"); -var path = __webpack_require__(/*! path */ "path"); -var crypto = __webpack_require__(/*! crypto */ "crypto"); -var uuidV4 = __webpack_require__(/*! uuid/v4 */ "./node_modules/azure-pipelines-task-lib/node_modules/uuid/v4.js"); -var algorithm = "aes-256-ctr"; -var encryptEncoding = 'hex'; -var unencryptedEncoding = 'utf8'; -// -// Store sensitive data in proc. -// Main goal: Protects tasks which would dump envvars from leaking secrets inadvertently -// the task lib clears after storing. -// Also protects against a dump of a process getting the secrets -// The secret is generated and stored externally for the lifetime of the task. -// -var Vault = /** @class */ (function () { - function Vault(keyPath) { - this._keyFile = path.join(keyPath, '.taskkey'); - this._store = {}; - this.genKey(); - } - Vault.prototype.initialize = function () { - }; - Vault.prototype.storeSecret = function (name, data) { - if (!name || name.length == 0) { - return false; - } - name = name.toLowerCase(); - if (!data || data.length == 0) { - if (this._store.hasOwnProperty(name)) { - delete this._store[name]; - } - return false; - } - var key = this.getKey(); - var iv = crypto.randomBytes(16); - var cipher = crypto.createCipheriv(algorithm, key, iv); - var crypted = cipher.update(data, unencryptedEncoding, encryptEncoding); - var cryptedFinal = cipher.final(encryptEncoding); - this._store[name] = iv.toString(encryptEncoding) + crypted + cryptedFinal; - return true; - }; - Vault.prototype.retrieveSecret = function (name) { - var secret; - name = (name || '').toLowerCase(); - if (this._store.hasOwnProperty(name)) { - var key = this.getKey(); - var data = this._store[name]; - var ivDataBuffer = Buffer.from(data, encryptEncoding); - var iv = ivDataBuffer.slice(0, 16); - var encryptedText = ivDataBuffer.slice(16); - var decipher = crypto.createDecipheriv(algorithm, key, iv); - var dec = decipher.update(encryptedText, encryptEncoding, unencryptedEncoding); - var decFinal = decipher.final(unencryptedEncoding); - secret = dec + decFinal; - } - return secret; - }; - Vault.prototype.getKey = function () { - var key = fs.readFileSync(this._keyFile).toString('utf8'); - // Key needs to be hashed to correct length to match algorithm (aes-256-ctr) - return crypto.createHash('sha256').update(key).digest(); - }; - Vault.prototype.genKey = function () { - fs.writeFileSync(this._keyFile, uuidV4(), { encoding: 'utf8' }); - }; - return Vault; -}()); -exports.Vault = Vault; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-task-lib sync recursive": -/*!*****************************************************!*\ - !*** ./node_modules/azure-pipelines-task-lib/ sync ***! - \*****************************************************/ -/***/ ((module) => { - -function webpackEmptyContext(req) { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; -} -webpackEmptyContext.keys = () => ([]); -webpackEmptyContext.resolve = webpackEmptyContext; -webpackEmptyContext.id = "./node_modules/azure-pipelines-task-lib sync recursive"; -module.exports = webpackEmptyContext; - -/***/ }), - -/***/ "./node_modules/azure-pipelines-tool-lib/node_modules/uuid/lib/bytesToUuid.js": -/*!************************************************************************************!*\ - !*** ./node_modules/azure-pipelines-tool-lib/node_modules/uuid/lib/bytesToUuid.js ***! - \************************************************************************************/ -/***/ ((module) => { - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex[i] = (i + 0x100).toString(16).substr(1); -} - -function bytesToUuid(buf, offset) { - var i = offset || 0; - var bth = byteToHex; - // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 - return ([ - bth[buf[i++]], bth[buf[i++]], - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], '-', - bth[buf[i++]], bth[buf[i++]], - bth[buf[i++]], bth[buf[i++]], - bth[buf[i++]], bth[buf[i++]] - ]).join(''); -} - -module.exports = bytesToUuid; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-tool-lib/node_modules/uuid/lib/rng.js": -/*!****************************************************************************!*\ - !*** ./node_modules/azure-pipelines-tool-lib/node_modules/uuid/lib/rng.js ***! - \****************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -// Unique ID creation requires a high quality random # generator. In node.js -// this is pretty straight-forward - we use the crypto API. - -var crypto = __webpack_require__(/*! crypto */ "crypto"); - -module.exports = function nodeRNG() { - return crypto.randomBytes(16); -}; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-tool-lib/node_modules/uuid/v4.js": -/*!***********************************************************************!*\ - !*** ./node_modules/azure-pipelines-tool-lib/node_modules/uuid/v4.js ***! - \***********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var rng = __webpack_require__(/*! ./lib/rng */ "./node_modules/azure-pipelines-tool-lib/node_modules/uuid/lib/rng.js"); -var bytesToUuid = __webpack_require__(/*! ./lib/bytesToUuid */ "./node_modules/azure-pipelines-tool-lib/node_modules/uuid/lib/bytesToUuid.js"); - -function v4(options, buf, offset) { - var i = buf && offset || 0; - - if (typeof(options) == 'string') { - buf = options === 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = (rnds[6] & 0x0f) | 0x40; - rnds[8] = (rnds[8] & 0x3f) | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || bytesToUuid(rnds); -} - -module.exports = v4; - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-tool-lib/tool.js": -/*!*******************************************************!*\ - !*** ./node_modules/azure-pipelines-tool-lib/tool.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.scrape = exports.extractZip = exports.extractTar = exports.extract7z = exports.cacheFile = exports.cacheDir = exports.downloadTool = exports.findLocalToolVersions = exports.findLocalTool = exports.evaluateVersions = exports.cleanVersion = exports.isExplicitVersion = exports.prependPath = exports.debug = void 0; -const httpm = __webpack_require__(/*! typed-rest-client/HttpClient */ "./node_modules/typed-rest-client/HttpClient.js"); -const path = __webpack_require__(/*! path */ "path"); -const os = __webpack_require__(/*! os */ "os"); -const process = __webpack_require__(/*! process */ "process"); -const fs = __webpack_require__(/*! fs */ "fs"); -const semver = __webpack_require__(/*! semver */ "./node_modules/semver/semver.js"); -const tl = __webpack_require__(/*! azure-pipelines-task-lib/task */ "./node_modules/azure-pipelines-task-lib/task.js"); -const cmp = __webpack_require__(/*! semver-compare */ "./node_modules/semver-compare/index.js"); -const uuidV4 = __webpack_require__(/*! uuid/v4 */ "./node_modules/azure-pipelines-tool-lib/node_modules/uuid/v4.js"); -let pkg = { version: "1.2.3" }; -let userAgent = 'vsts-task-installer/' + pkg.version; -let requestOptions = { - // ignoreSslError: true, - proxy: tl.getHttpProxyConfiguration(), - cert: tl.getHttpCertConfiguration(), - allowRedirects: true, - allowRetries: true, - maxRetries: 2 -}; -tl.setResourcePath(path.join(__dirname, 'lib.json')); -function debug(message) { - tl.debug(message); -} -exports.debug = debug; -function prependPath(toolPath) { - tl.assertAgent('2.115.0'); - if (!toolPath) { - throw new Error('Parameter toolPath must not be null or empty'); - } - else if (!tl.exist(toolPath) || !tl.stats(toolPath).isDirectory()) { - throw new Error('Directory does not exist: ' + toolPath); - } - // todo: add a test for path - console.log(tl.loc('TOOL_LIB_PrependPath', toolPath)); - let newPath = toolPath + path.delimiter + process.env['PATH']; - tl.debug('new Path: ' + newPath); - process.env['PATH'] = newPath; - // instruct the agent to set this path on future tasks - console.log('##vso[task.prependpath]' + toolPath); -} -exports.prependPath = prependPath; -function delay(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); -} -//----------------------------- -// Version Functions -//----------------------------- -/** - * Checks if a version spec is an explicit version (e.g. 1.0.1 or v1.0.1) - * As opposed to a version spec like 1.x - * - * @param versionSpec - */ -function isExplicitVersion(versionSpec) { - let c = semver.clean(versionSpec); - tl.debug('isExplicit: ' + c); - let valid = semver.valid(c) != null; - tl.debug('explicit? ' + valid); - return valid; -} -exports.isExplicitVersion = isExplicitVersion; -/** - * Returns cleaned (removed leading/trailing whitespace, remove '=v' prefix) - * and parsed version, or null if version is invalid. - */ -function cleanVersion(version) { - tl.debug('cleaning: ' + version); - return semver.clean(version); -} -exports.cleanVersion = cleanVersion; -/** - * evaluates a list of versions and returns the latest version matching the version spec - * - * @param versions an array of versions to evaluate - * @param versionSpec a version spec (e.g. 1.x) - */ -function evaluateVersions(versions, versionSpec) { - let version; - tl.debug('evaluating ' + versions.length + ' versions'); - versions = versions.sort(cmp); - for (let i = versions.length - 1; i >= 0; i--) { - let potential = versions[i]; - let satisfied = semver.satisfies(potential, versionSpec); - if (satisfied) { - version = potential; - break; - } - } - if (version) { - tl.debug('matched: ' + version); - } - else { - tl.debug('match not found'); - } - return version; -} -exports.evaluateVersions = evaluateVersions; -//----------------------------- -// Local Tool Cache Functions -//----------------------------- -/** - * finds the path to a tool in the local installed tool cache - * - * @param toolName name of the tool - * @param versionSpec version of the tool - * @param arch optional arch. defaults to arch of computer - */ -function findLocalTool(toolName, versionSpec, arch) { - if (!toolName) { - throw new Error('toolName parameter is required'); - } - if (!versionSpec) { - throw new Error('versionSpec parameter is required'); - } - arch = arch || os.arch(); - // attempt to resolve an explicit version - if (!isExplicitVersion(versionSpec)) { - let localVersions = findLocalToolVersions(toolName, arch); - let match = evaluateVersions(localVersions, versionSpec); - versionSpec = match; - } - // check for the explicit version in the cache - let toolPath; - if (versionSpec) { - versionSpec = semver.clean(versionSpec); - let cacheRoot = _getCacheRoot(); - let cachePath = path.join(cacheRoot, toolName, versionSpec, arch); - tl.debug('checking cache: ' + cachePath); - if (tl.exist(cachePath) && tl.exist(`${cachePath}.complete`)) { - console.log(tl.loc('TOOL_LIB_FoundInCache', toolName, versionSpec, arch)); - toolPath = cachePath; - } - else { - tl.debug('not found'); - } - } - return toolPath; -} -exports.findLocalTool = findLocalTool; -/** - * Retrieves the versions of a tool that is intalled in the local tool cache - * - * @param toolName name of the tool - * @param arch optional arch. defaults to arch of computer - */ -function findLocalToolVersions(toolName, arch) { - let versions = []; - arch = arch || os.arch(); - let toolPath = path.join(_getCacheRoot(), toolName); - if (tl.exist(toolPath)) { - let children = tl.ls('', [toolPath]); - children.forEach((child) => { - if (isExplicitVersion(child)) { - let fullPath = path.join(toolPath, child, arch); - if (tl.exist(fullPath) && tl.exist(`${fullPath}.complete`)) { - versions.push(child); - } - } - }); - } - return versions; -} -exports.findLocalToolVersions = findLocalToolVersions; -//--------------------- -// Download Functions -//--------------------- -// -// TODO: keep extension intact -// -/** - * Download a tool from an url and stream it into a file - * - * @param url url of tool to download - * @param fileName optional fileName. Should typically not use (will be a guid for reliability). Can pass fileName with an absolute path. - * @param handlers optional handlers array. Auth handlers to pass to the HttpClient for the tool download. - */ -function downloadTool(url, fileName, handlers) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - try { - handlers = handlers || null; - let http = new httpm.HttpClient(userAgent, handlers, requestOptions); - tl.debug(fileName); - fileName = fileName || uuidV4(); - // check if it's an absolute path already - var destPath; - if (path.isAbsolute(fileName)) { - destPath = fileName; - } - else { - destPath = path.join(_getAgentTemp(), fileName); - } - // make sure that the folder exists - tl.mkdirP(path.dirname(destPath)); - console.log(tl.loc('TOOL_LIB_Downloading', url)); - tl.debug('destination ' + destPath); - if (fs.existsSync(destPath)) { - throw new Error("Destination file path already exists"); - } - tl.debug('downloading'); - let response = yield http.get(url); - if (response.message.statusCode != 200) { - let err = new Error('Unexpected HTTP response: ' + response.message.statusCode); - err['httpStatusCode'] = response.message.statusCode; - tl.debug(`Failed to download "${fileName}" from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); - throw err; - } - tl.debug('creating stream'); - let file = fs.createWriteStream(destPath); - file.on('open', (fd) => __awaiter(this, void 0, void 0, function* () { - try { - let stream = response.message.pipe(file); - stream.on('close', () => { - tl.debug('download complete'); - resolve(destPath); - }); - } - catch (err) { - reject(err); - } - })); - file.on('error', (err) => { - file.end(); - reject(err); - }); - } - catch (error) { - reject(error); - } - })); - }); -} -exports.downloadTool = downloadTool; -//--------------------- -// Install Functions -//--------------------- -function _createToolPath(tool, version, arch) { - // todo: add test for clean - let folderPath = path.join(_getCacheRoot(), tool, semver.clean(version), arch); - tl.debug('destination ' + folderPath); - let markerPath = `${folderPath}.complete`; - tl.rmRF(folderPath); - tl.rmRF(markerPath); - tl.mkdirP(folderPath); - return folderPath; -} -function _completeToolPath(tool, version, arch) { - let folderPath = path.join(_getCacheRoot(), tool, semver.clean(version), arch); - let markerPath = `${folderPath}.complete`; - tl.writeFile(markerPath, ''); - tl.debug('finished caching tool'); -} -/** - * Caches a directory and installs it into the tool cacheDir - * - * @param sourceDir the directory to cache into tools - * @param tool tool name - * @param version version of the tool. semver format - * @param arch architecture of the tool. Optional. Defaults to machine architecture - */ -function cacheDir(sourceDir, tool, version, arch) { - return __awaiter(this, void 0, void 0, function* () { - version = semver.clean(version); - arch = arch || os.arch(); - console.log(tl.loc('TOOL_LIB_CachingTool', tool, version, arch)); - tl.debug('source dir: ' + sourceDir); - if (!tl.stats(sourceDir).isDirectory()) { - throw new Error('sourceDir is not a directory'); - } - // create the tool dir - let destPath = _createToolPath(tool, version, arch); - // copy each child item. do not move. move can fail on Windows - // due to anti-virus software having an open handle on a file. - for (let itemName of fs.readdirSync(sourceDir)) { - let s = path.join(sourceDir, itemName); - tl.cp(s, destPath + '/', '-r'); - } - // write .complete - _completeToolPath(tool, version, arch); - return destPath; - }); -} -exports.cacheDir = cacheDir; -/** - * Caches a downloaded file (GUID) and installs it - * into the tool cache with a given targetName - * - * @param sourceFile the file to cache into tools. Typically a result of downloadTool which is a guid. - * @param targetFile the name of the file name in the tools directory - * @param tool tool name - * @param version version of the tool. semver format - * @param arch architecture of the tool. Optional. Defaults to machine architecture - */ -function cacheFile(sourceFile, targetFile, tool, version, arch) { - return __awaiter(this, void 0, void 0, function* () { - version = semver.clean(version); - arch = arch || os.arch(); - console.log(tl.loc('TOOL_LIB_CachingTool', tool, version, arch)); - tl.debug('source file:' + sourceFile); - if (!tl.stats(sourceFile).isFile()) { - throw new Error('sourceFile is not a file'); - } - // create the tool dir - let destFolder = _createToolPath(tool, version, arch); - // copy instead of move. move can fail on Windows due to - // anti-virus software having an open handle on a file. - let destPath = path.join(destFolder, targetFile); - tl.debug('destination file' + destPath); - tl.cp(sourceFile, destPath); - // write .complete - _completeToolPath(tool, version, arch); - return destFolder; - }); -} -exports.cacheFile = cacheFile; -//--------------------- -// Extract Functions -//--------------------- -/** - * Extract a .7z file - * - * @param file path to the .7z file - * @param dest destination directory. Optional. - * @param _7zPath path to 7zr.exe. Optional, for long path support. Most .7z archives do not have this - * problem. If your .7z archive contains very long paths, you can pass the path to 7zr.exe which will - * gracefully handle long paths. By default 7zdec.exe is used because it is a very small program and is - * bundled with the tool lib. However it does not support long paths. 7zr.exe is the reduced command line - * interface, it is smaller than the full command line interface, and it does support long paths. At the - * time of this writing, it is freely available from the LZMA SDK that is available on the 7zip website. - * Be sure to check the current license agreement. If 7zr.exe is bundled with your task, then the path - * to 7zr.exe can be pass to this function. - * @returns path to the destination directory - */ -function extract7z(file, dest, _7zPath) { - return __awaiter(this, void 0, void 0, function* () { - if (process.platform != 'win32') { - throw new Error('extract7z() not supported on current OS'); - } - if (!file) { - throw new Error("parameter 'file' is required"); - } - console.log(tl.loc('TOOL_LIB_ExtractingArchive')); - dest = _createExtractFolder(dest); - let originalCwd = process.cwd(); - try { - process.chdir(dest); - if (_7zPath) { - // extract - let _7z = tl.tool(_7zPath) - .arg('x') // eXtract files with full paths - .arg('-bb1') // -bb[0-3] : set output log level - .arg('-bd') // disable progress indicator - .arg('-sccUTF-8') // set charset for for console input/output - .arg(file); - yield _7z.exec(); - } - else { - // extract - let escapedScript = path.join(__dirname, 'Invoke-7zdec.ps1').replace(/'/g, "''").replace(/"|\n|\r/g, ''); // double-up single quotes, remove double quotes and newlines - let escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ''); - let escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ''); - let command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`; - let powershellPath = tl.which('powershell', true); - let powershell = tl.tool(powershellPath) - .line('-NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command') - .arg(command); - powershell.on('stdout', (buffer) => { - process.stdout.write(buffer); - }); - powershell.on('stderr', (buffer) => { - process.stderr.write(buffer); - }); - yield powershell.exec({ silent: true }); - } - } - finally { - process.chdir(originalCwd); - } - return dest; - }); -} -exports.extract7z = extract7z; -/** - * installs a tool from a tar by extracting the tar and installing it into the tool cache - * - * @param file file path of the tar - * @param tool name of tool in the tool cache - * @param version version of the tool - * @param arch arch of the tool. optional. defaults to the arch of the machine - * @param options IExtractOptions - * @param destination destination directory. optional. - */ -function extractTar(file, destination) { - return __awaiter(this, void 0, void 0, function* () { - // mkdir -p node/4.7.0/x64 - // tar xzC ./node/4.7.0/x64 -f node-v4.7.0-darwin-x64.tar.gz --strip-components 1 - console.log(tl.loc('TOOL_LIB_ExtractingArchive')); - let dest = _createExtractFolder(destination); - let tr = tl.tool('tar'); - tr.arg(['xC', dest, '-f', file]); - yield tr.exec(); - return dest; - }); -} -exports.extractTar = extractTar; -function extractZip(file, destination) { - return __awaiter(this, void 0, void 0, function* () { - if (!file) { - throw new Error("parameter 'file' is required"); - } - console.log(tl.loc('TOOL_LIB_ExtractingArchive')); - let dest = _createExtractFolder(destination); - if (process.platform == 'win32') { - // build the powershell command - let escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ''); // double-up single quotes, remove double quotes and newlines - let escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ''); - let command = `$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}')`; - // change the console output code page to UTF-8. - // TODO: FIX WHICH: let chcpPath = tl.which('chcp.com', true); - let chcpPath = path.join(process.env.windir, "system32", "chcp.com"); - yield tl.exec(chcpPath, '65001'); - // run powershell - let powershell = tl.tool('powershell') - .line('-NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command') - .arg(command); - yield powershell.exec(); - } - else { - let unzip = tl.tool('unzip') - .arg(file); - yield unzip.exec({ cwd: dest }); - } - return dest; - }); -} -exports.extractZip = extractZip; -function _createExtractFolder(dest) { - if (!dest) { - // create a temp dir - dest = path.join(_getAgentTemp(), uuidV4()); - } - tl.mkdirP(dest); - return dest; -} -//--------------------- -// Query Functions -//--------------------- -// default input will be >= LTS version. drop label different than value. -// v4 (LTS) would have a value of 4.x -// option to always download? (not cache), TTL? -/** - * Scrape a web page for versions by regex - * - * @param url url to scrape - * @param regex regex to use for version matches - * @param handlers optional handlers array. Auth handlers to pass to the HttpClient for the tool download. - */ -function scrape(url, regex, handlers) { - return __awaiter(this, void 0, void 0, function* () { - handlers = handlers || null; - let http = new httpm.HttpClient(userAgent, handlers, requestOptions); - let output = yield (yield http.get(url)).readBody(); - let matches = output.match(regex); - let seen = {}; - let versions = []; - for (let i = 0; i < matches.length; i++) { - let ver = semver.clean(matches[i]); - if (!seen.hasOwnProperty(ver)) { - seen[ver] = true; - versions.push(ver); - } - } - return versions; - }); -} -exports.scrape = scrape; -function _getCacheRoot() { - tl.assertAgent('2.115.0'); - let cacheRoot = tl.getVariable('Agent.ToolsDirectory'); - if (!cacheRoot) { - throw new Error('Agent.ToolsDirectory is not set'); - } - return cacheRoot; -} -function _getAgentTemp() { - tl.assertAgent('2.115.0'); - let tempDirectory = tl.getVariable('Agent.TempDirectory'); - if (!tempDirectory) { - throw new Error('Agent.TempDirectory is not set'); - } - return tempDirectory; -} - - -/***/ }), - -/***/ "./node_modules/azure-pipelines-tool-lib sync recursive": -/*!*****************************************************!*\ - !*** ./node_modules/azure-pipelines-tool-lib/ sync ***! - \*****************************************************/ -/***/ ((module) => { - -function webpackEmptyContext(req) { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; -} -webpackEmptyContext.keys = () => ([]); -webpackEmptyContext.resolve = webpackEmptyContext; -webpackEmptyContext.id = "./node_modules/azure-pipelines-tool-lib sync recursive"; -module.exports = webpackEmptyContext; - -/***/ }), - -/***/ "./node_modules/balanced-match/index.js": -/*!**********************************************!*\ - !*** ./node_modules/balanced-match/index.js ***! - \**********************************************/ -/***/ ((module) => { - -"use strict"; - -module.exports = balanced; -function balanced(a, b, str) { - if (a instanceof RegExp) a = maybeMatch(a, str); - if (b instanceof RegExp) b = maybeMatch(b, str); - - var r = range(a, b, str); - - return r && { - start: r[0], - end: r[1], - pre: str.slice(0, r[0]), - body: str.slice(r[0] + a.length, r[1]), - post: str.slice(r[1] + b.length) - }; -} - -function maybeMatch(reg, str) { - var m = str.match(reg); - return m ? m[0] : null; -} - -balanced.range = range; -function range(a, b, str) { - var begs, beg, left, right, result; - var ai = str.indexOf(a); - var bi = str.indexOf(b, ai + 1); - var i = ai; - - if (ai >= 0 && bi > 0) { - begs = []; - left = str.length; - - while (i >= 0 && !result) { - if (i == ai) { - begs.push(i); - ai = str.indexOf(a, i + 1); - } else if (begs.length == 1) { - result = [ begs.pop(), bi ]; - } else { - beg = begs.pop(); - if (beg < left) { - left = beg; - right = bi; - } - - bi = str.indexOf(b, i + 1); - } - - i = ai < bi && ai >= 0 ? ai : bi; - } - - if (begs.length) { - result = [ left, right ]; - } - } - - return result; -} - - -/***/ }), - -/***/ "./node_modules/brace-expansion/index.js": -/*!***********************************************!*\ - !*** ./node_modules/brace-expansion/index.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var concatMap = __webpack_require__(/*! concat-map */ "./node_modules/concat-map/index.js"); -var balanced = __webpack_require__(/*! balanced-match */ "./node_modules/balanced-match/index.js"); - -module.exports = expandTop; - -var escSlash = '\0SLASH'+Math.random()+'\0'; -var escOpen = '\0OPEN'+Math.random()+'\0'; -var escClose = '\0CLOSE'+Math.random()+'\0'; -var escComma = '\0COMMA'+Math.random()+'\0'; -var escPeriod = '\0PERIOD'+Math.random()+'\0'; - -function numeric(str) { - return parseInt(str, 10) == str - ? parseInt(str, 10) - : str.charCodeAt(0); -} - -function escapeBraces(str) { - return str.split('\\\\').join(escSlash) - .split('\\{').join(escOpen) - .split('\\}').join(escClose) - .split('\\,').join(escComma) - .split('\\.').join(escPeriod); -} - -function unescapeBraces(str) { - return str.split(escSlash).join('\\') - .split(escOpen).join('{') - .split(escClose).join('}') - .split(escComma).join(',') - .split(escPeriod).join('.'); -} - - -// Basically just str.split(","), but handling cases -// where we have nested braced sections, which should be -// treated as individual members, like {a,{b,c},d} -function parseCommaParts(str) { - if (!str) - return ['']; - - var parts = []; - var m = balanced('{', '}', str); - - if (!m) - return str.split(','); - - var pre = m.pre; - var body = m.body; - var post = m.post; - var p = pre.split(','); - - p[p.length-1] += '{' + body + '}'; - var postParts = parseCommaParts(post); - if (post.length) { - p[p.length-1] += postParts.shift(); - p.push.apply(p, postParts); - } - - parts.push.apply(parts, p); - - return parts; -} - -function expandTop(str) { - if (!str) - return []; - - // I don't know why Bash 4.3 does this, but it does. - // Anything starting with {} will have the first two bytes preserved - // but *only* at the top level, so {},a}b will not expand to anything, - // but a{},b}c will be expanded to [a}c,abc]. - // One could argue that this is a bug in Bash, but since the goal of - // this module is to match Bash's rules, we escape a leading {} - if (str.substr(0, 2) === '{}') { - str = '\\{\\}' + str.substr(2); - } - - return expand(escapeBraces(str), true).map(unescapeBraces); -} - -function identity(e) { - return e; -} - -function embrace(str) { - return '{' + str + '}'; -} -function isPadded(el) { - return /^-?0\d/.test(el); -} - -function lte(i, y) { - return i <= y; -} -function gte(i, y) { - return i >= y; -} - -function expand(str, isTop) { - var expansions = []; - - var m = balanced('{', '}', str); - if (!m || /\$$/.test(m.pre)) return [str]; - - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); - var isSequence = isNumericSequence || isAlphaSequence; - var isOptions = m.body.indexOf(',') >= 0; - if (!isSequence && !isOptions) { - // {a},b} - if (m.post.match(/,.*\}/)) { - str = m.pre + '{' + m.body + escClose + m.post; - return expand(str); - } - return [str]; - } - - var n; - if (isSequence) { - n = m.body.split(/\.\./); - } else { - n = parseCommaParts(m.body); - if (n.length === 1) { - // x{{a,b}}y ==> x{a}y x{b}y - n = expand(n[0], false).map(embrace); - if (n.length === 1) { - var post = m.post.length - ? expand(m.post, false) - : ['']; - return post.map(function(p) { - return m.pre + n[0] + p; - }); - } - } - } - - // at this point, n is the parts, and we know it's not a comma set - // with a single entry. - - // no need to expand pre, since it is guaranteed to be free of brace-sets - var pre = m.pre; - var post = m.post.length - ? expand(m.post, false) - : ['']; - - var N; - - if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); - var width = Math.max(n[0].length, n[1].length) - var incr = n.length == 3 - ? Math.abs(numeric(n[2])) - : 1; - var test = lte; - var reverse = y < x; - if (reverse) { - incr *= -1; - test = gte; - } - var pad = n.some(isPadded); - - N = []; - - for (var i = x; test(i, y); i += incr) { - var c; - if (isAlphaSequence) { - c = String.fromCharCode(i); - if (c === '\\') - c = ''; - } else { - c = String(i); - if (pad) { - var need = width - c.length; - if (need > 0) { - var z = new Array(need + 1).join('0'); - if (i < 0) - c = '-' + z + c.slice(1); - else - c = z + c; - } - } - } - N.push(c); - } - } else { - N = concatMap(n, function(el) { return expand(el, false) }); - } - - for (var j = 0; j < N.length; j++) { - for (var k = 0; k < post.length; k++) { - var expansion = pre + N[j] + post[k]; - if (!isTop || isSequence || expansion) - expansions.push(expansion); - } - } - - return expansions; -} - - - -/***/ }), - -/***/ "./node_modules/concat-map/index.js": -/*!******************************************!*\ - !*** ./node_modules/concat-map/index.js ***! - \******************************************/ -/***/ ((module) => { - -module.exports = function (xs, fn) { - var res = []; - for (var i = 0; i < xs.length; i++) { - var x = fn(xs[i], i); - if (isArray(x)) res.push.apply(res, x); - else res.push(x); - } - return res; -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - - -/***/ }), - -/***/ "./node_modules/fs.realpath/index.js": -/*!*******************************************!*\ - !*** ./node_modules/fs.realpath/index.js ***! - \*******************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -module.exports = realpath -realpath.realpath = realpath -realpath.sync = realpathSync -realpath.realpathSync = realpathSync -realpath.monkeypatch = monkeypatch -realpath.unmonkeypatch = unmonkeypatch - -var fs = __webpack_require__(/*! fs */ "fs") -var origRealpath = fs.realpath -var origRealpathSync = fs.realpathSync - -var version = process.version -var ok = /^v[0-5]\./.test(version) -var old = __webpack_require__(/*! ./old.js */ "./node_modules/fs.realpath/old.js") - -function newError (er) { - return er && er.syscall === 'realpath' && ( - er.code === 'ELOOP' || - er.code === 'ENOMEM' || - er.code === 'ENAMETOOLONG' - ) -} - -function realpath (p, cache, cb) { - if (ok) { - return origRealpath(p, cache, cb) - } - - if (typeof cache === 'function') { - cb = cache - cache = null - } - origRealpath(p, cache, function (er, result) { - if (newError(er)) { - old.realpath(p, cache, cb) - } else { - cb(er, result) - } - }) -} - -function realpathSync (p, cache) { - if (ok) { - return origRealpathSync(p, cache) - } - - try { - return origRealpathSync(p, cache) - } catch (er) { - if (newError(er)) { - return old.realpathSync(p, cache) - } else { - throw er - } - } -} - -function monkeypatch () { - fs.realpath = realpath - fs.realpathSync = realpathSync -} - -function unmonkeypatch () { - fs.realpath = origRealpath - fs.realpathSync = origRealpathSync -} - - -/***/ }), - -/***/ "./node_modules/fs.realpath/old.js": -/*!*****************************************!*\ - !*** ./node_modules/fs.realpath/old.js ***! - \*****************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -// Copyright Joyent, Inc. and other Node 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 pathModule = __webpack_require__(/*! path */ "path"); -var isWindows = process.platform === 'win32'; -var fs = __webpack_require__(/*! fs */ "fs"); - -// JavaScript implementation of realpath, ported from node pre-v6 - -var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); - -function rethrow() { - // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and - // is fairly slow to generate. - var callback; - if (DEBUG) { - var backtrace = new Error; - callback = debugCallback; - } else - callback = missingCallback; - - return callback; - - function debugCallback(err) { - if (err) { - backtrace.message = err.message; - err = backtrace; - missingCallback(err); - } - } - - function missingCallback(err) { - if (err) { - if (process.throwDeprecation) - throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs - else if (!process.noDeprecation) { - var msg = 'fs: missing callback ' + (err.stack || err.message); - if (process.traceDeprecation) - console.trace(msg); - else - console.error(msg); - } - } - } -} - -function maybeCallback(cb) { - return typeof cb === 'function' ? cb : rethrow(); -} - -var normalize = pathModule.normalize; - -// Regexp that finds the next partion of a (partial) path -// result is [base_with_slash, base], e.g. ['somedir/', 'somedir'] -if (isWindows) { - var nextPartRe = /(.*?)(?:[\/\\]+|$)/g; -} else { - var nextPartRe = /(.*?)(?:[\/]+|$)/g; -} - -// Regex to find the device root, including trailing slash. E.g. 'c:\\'. -if (isWindows) { - var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; -} else { - var splitRootRe = /^[\/]*/; -} - -exports.realpathSync = function realpathSync(p, cache) { - // make p is absolute - p = pathModule.resolve(p); - - if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { - return cache[p]; - } - - var original = p, - seenLinks = {}, - knownHard = {}; - - // current character position in p - var pos; - // the partial path so far, including a trailing slash if any - var current; - // the partial path without a trailing slash (except when pointing at a root) - var base; - // the partial path scanned in the previous round, with slash - var previous; - - start(); - - function start() { - // Skip over roots - var m = splitRootRe.exec(p); - pos = m[0].length; - current = m[0]; - base = m[0]; - previous = ''; - - // On windows, check that the root exists. On unix there is no need. - if (isWindows && !knownHard[base]) { - fs.lstatSync(base); - knownHard[base] = true; - } - } - - // walk down the path, swapping out linked pathparts for their real - // values - // NB: p.length changes. - while (pos < p.length) { - // find the next part - nextPartRe.lastIndex = pos; - var result = nextPartRe.exec(p); - previous = current; - current += result[0]; - base = previous + result[1]; - pos = nextPartRe.lastIndex; - - // continue if not a symlink - if (knownHard[base] || (cache && cache[base] === base)) { - continue; - } - - var resolvedLink; - if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { - // some known symbolic link. no need to stat again. - resolvedLink = cache[base]; - } else { - var stat = fs.lstatSync(base); - if (!stat.isSymbolicLink()) { - knownHard[base] = true; - if (cache) cache[base] = base; - continue; - } - - // read the link if it wasn't read before - // dev/ino always return 0 on windows, so skip the check. - var linkTarget = null; - if (!isWindows) { - var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); - if (seenLinks.hasOwnProperty(id)) { - linkTarget = seenLinks[id]; - } - } - if (linkTarget === null) { - fs.statSync(base); - linkTarget = fs.readlinkSync(base); - } - resolvedLink = pathModule.resolve(previous, linkTarget); - // track this, if given a cache. - if (cache) cache[base] = resolvedLink; - if (!isWindows) seenLinks[id] = linkTarget; - } - - // resolve the link, then start over - p = pathModule.resolve(resolvedLink, p.slice(pos)); - start(); - } - - if (cache) cache[original] = p; - - return p; -}; - - -exports.realpath = function realpath(p, cache, cb) { - if (typeof cb !== 'function') { - cb = maybeCallback(cache); - cache = null; - } - - // make p is absolute - p = pathModule.resolve(p); - - if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { - return process.nextTick(cb.bind(null, null, cache[p])); - } - - var original = p, - seenLinks = {}, - knownHard = {}; - - // current character position in p - var pos; - // the partial path so far, including a trailing slash if any - var current; - // the partial path without a trailing slash (except when pointing at a root) - var base; - // the partial path scanned in the previous round, with slash - var previous; - - start(); - - function start() { - // Skip over roots - var m = splitRootRe.exec(p); - pos = m[0].length; - current = m[0]; - base = m[0]; - previous = ''; - - // On windows, check that the root exists. On unix there is no need. - if (isWindows && !knownHard[base]) { - fs.lstat(base, function(err) { - if (err) return cb(err); - knownHard[base] = true; - LOOP(); - }); - } else { - process.nextTick(LOOP); - } - } - - // walk down the path, swapping out linked pathparts for their real - // values - function LOOP() { - // stop if scanned past end of path - if (pos >= p.length) { - if (cache) cache[original] = p; - return cb(null, p); - } - - // find the next part - nextPartRe.lastIndex = pos; - var result = nextPartRe.exec(p); - previous = current; - current += result[0]; - base = previous + result[1]; - pos = nextPartRe.lastIndex; - - // continue if not a symlink - if (knownHard[base] || (cache && cache[base] === base)) { - return process.nextTick(LOOP); - } - - if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { - // known symbolic link. no need to stat again. - return gotResolvedLink(cache[base]); - } - - return fs.lstat(base, gotStat); - } - - function gotStat(err, stat) { - if (err) return cb(err); - - // if not a symlink, skip to the next path part - if (!stat.isSymbolicLink()) { - knownHard[base] = true; - if (cache) cache[base] = base; - return process.nextTick(LOOP); - } - - // stat & read the link if not read before - // call gotTarget as soon as the link target is known - // dev/ino always return 0 on windows, so skip the check. - if (!isWindows) { - var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); - if (seenLinks.hasOwnProperty(id)) { - return gotTarget(null, seenLinks[id], base); - } - } - fs.stat(base, function(err) { - if (err) return cb(err); - - fs.readlink(base, function(err, target) { - if (!isWindows) seenLinks[id] = target; - gotTarget(err, target); - }); - }); - } - - function gotTarget(err, target, base) { - if (err) return cb(err); - - var resolvedLink = pathModule.resolve(previous, target); - if (cache) cache[base] = resolvedLink; - gotResolvedLink(resolvedLink); - } - - function gotResolvedLink(resolvedLink) { - // resolve the link, then start over - p = pathModule.resolve(resolvedLink, p.slice(pos)); - start(); - } -}; - - -/***/ }), - -/***/ "./node_modules/glob/common.js": -/*!*************************************!*\ - !*** ./node_modules/glob/common.js ***! - \*************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -exports.alphasort = alphasort -exports.alphasorti = alphasorti -exports.setopts = setopts -exports.ownProp = ownProp -exports.makeAbs = makeAbs -exports.finish = finish -exports.mark = mark -exports.isIgnored = isIgnored -exports.childrenIgnored = childrenIgnored - -function ownProp (obj, field) { - return Object.prototype.hasOwnProperty.call(obj, field) -} - -var path = __webpack_require__(/*! path */ "path") -var minimatch = __webpack_require__(/*! minimatch */ "./node_modules/minimatch/minimatch.js") -var isAbsolute = __webpack_require__(/*! path-is-absolute */ "./node_modules/path-is-absolute/index.js") -var Minimatch = minimatch.Minimatch - -function alphasorti (a, b) { - return a.toLowerCase().localeCompare(b.toLowerCase()) -} - -function alphasort (a, b) { - return a.localeCompare(b) -} - -function setupIgnores (self, options) { - self.ignore = options.ignore || [] - - if (!Array.isArray(self.ignore)) - self.ignore = [self.ignore] - - if (self.ignore.length) { - self.ignore = self.ignore.map(ignoreMap) - } -} - -// ignore patterns are always in dot:true mode. -function ignoreMap (pattern) { - var gmatcher = null - if (pattern.slice(-3) === '/**') { - var gpattern = pattern.replace(/(\/\*\*)+$/, '') - gmatcher = new Minimatch(gpattern, { dot: true }) - } - - return { - matcher: new Minimatch(pattern, { dot: true }), - gmatcher: gmatcher - } -} - -function setopts (self, pattern, options) { - if (!options) - options = {} - - // base-matching: just use globstar for that. - if (options.matchBase && -1 === pattern.indexOf("/")) { - if (options.noglobstar) { - throw new Error("base matching requires globstar") - } - pattern = "**/" + pattern - } - - self.silent = !!options.silent - self.pattern = pattern - self.strict = options.strict !== false - self.realpath = !!options.realpath - self.realpathCache = options.realpathCache || Object.create(null) - self.follow = !!options.follow - self.dot = !!options.dot - self.mark = !!options.mark - self.nodir = !!options.nodir - if (self.nodir) - self.mark = true - self.sync = !!options.sync - self.nounique = !!options.nounique - self.nonull = !!options.nonull - self.nosort = !!options.nosort - self.nocase = !!options.nocase - self.stat = !!options.stat - self.noprocess = !!options.noprocess - self.absolute = !!options.absolute - - self.maxLength = options.maxLength || Infinity - self.cache = options.cache || Object.create(null) - self.statCache = options.statCache || Object.create(null) - self.symlinks = options.symlinks || Object.create(null) - - setupIgnores(self, options) - - self.changedCwd = false - var cwd = process.cwd() - if (!ownProp(options, "cwd")) - self.cwd = cwd - else { - self.cwd = path.resolve(options.cwd) - self.changedCwd = self.cwd !== cwd - } - - self.root = options.root || path.resolve(self.cwd, "/") - self.root = path.resolve(self.root) - if (process.platform === "win32") - self.root = self.root.replace(/\\/g, "/") - - // TODO: is an absolute `cwd` supposed to be resolved against `root`? - // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') - self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd) - if (process.platform === "win32") - self.cwdAbs = self.cwdAbs.replace(/\\/g, "/") - self.nomount = !!options.nomount - - // disable comments and negation in Minimatch. - // Note that they are not supported in Glob itself anyway. - options.nonegate = true - options.nocomment = true - - self.minimatch = new Minimatch(pattern, options) - self.options = self.minimatch.options -} - -function finish (self) { - var nou = self.nounique - var all = nou ? [] : Object.create(null) - - for (var i = 0, l = self.matches.length; i < l; i ++) { - var matches = self.matches[i] - if (!matches || Object.keys(matches).length === 0) { - if (self.nonull) { - // do like the shell, and spit out the literal glob - var literal = self.minimatch.globSet[i] - if (nou) - all.push(literal) - else - all[literal] = true - } - } else { - // had matches - var m = Object.keys(matches) - if (nou) - all.push.apply(all, m) - else - m.forEach(function (m) { - all[m] = true - }) - } - } - - if (!nou) - all = Object.keys(all) - - if (!self.nosort) - all = all.sort(self.nocase ? alphasorti : alphasort) - - // at *some* point we statted all of these - if (self.mark) { - for (var i = 0; i < all.length; i++) { - all[i] = self._mark(all[i]) - } - if (self.nodir) { - all = all.filter(function (e) { - var notDir = !(/\/$/.test(e)) - var c = self.cache[e] || self.cache[makeAbs(self, e)] - if (notDir && c) - notDir = c !== 'DIR' && !Array.isArray(c) - return notDir - }) - } - } - - if (self.ignore.length) - all = all.filter(function(m) { - return !isIgnored(self, m) - }) - - self.found = all -} - -function mark (self, p) { - var abs = makeAbs(self, p) - var c = self.cache[abs] - var m = p - if (c) { - var isDir = c === 'DIR' || Array.isArray(c) - var slash = p.slice(-1) === '/' - - if (isDir && !slash) - m += '/' - else if (!isDir && slash) - m = m.slice(0, -1) - - if (m !== p) { - var mabs = makeAbs(self, m) - self.statCache[mabs] = self.statCache[abs] - self.cache[mabs] = self.cache[abs] - } - } - - return m -} - -// lotta situps... -function makeAbs (self, f) { - var abs = f - if (f.charAt(0) === '/') { - abs = path.join(self.root, f) - } else if (isAbsolute(f) || f === '') { - abs = f - } else if (self.changedCwd) { - abs = path.resolve(self.cwd, f) - } else { - abs = path.resolve(f) - } - - if (process.platform === 'win32') - abs = abs.replace(/\\/g, '/') - - return abs -} - - -// Return true, if pattern ends with globstar '**', for the accompanying parent directory. -// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents -function isIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) - }) -} - -function childrenIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return !!(item.gmatcher && item.gmatcher.match(path)) - }) -} - - -/***/ }), - -/***/ "./node_modules/glob/glob.js": -/*!***********************************!*\ - !*** ./node_modules/glob/glob.js ***! - \***********************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -// Approach: -// -// 1. Get the minimatch set -// 2. For each pattern in the set, PROCESS(pattern, false) -// 3. Store matches per-set, then uniq them -// -// PROCESS(pattern, inGlobStar) -// Get the first [n] items from pattern that are all strings -// Join these together. This is PREFIX. -// If there is no more remaining, then stat(PREFIX) and -// add to matches if it succeeds. END. -// -// If inGlobStar and PREFIX is symlink and points to dir -// set ENTRIES = [] -// else readdir(PREFIX) as ENTRIES -// If fail, END -// -// with ENTRIES -// If pattern[n] is GLOBSTAR -// // handle the case where the globstar match is empty -// // by pruning it out, and testing the resulting pattern -// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) -// // handle other cases. -// for ENTRY in ENTRIES (not dotfiles) -// // attach globstar + tail onto the entry -// // Mark that this entry is a globstar match -// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) -// -// else // not globstar -// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) -// Test ENTRY against pattern[n] -// If fails, continue -// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) -// -// Caveat: -// Cache all stats and readdirs results to minimize syscall. Since all -// we ever care about is existence and directory-ness, we can just keep -// `true` for files, and [children,...] for directories, or `false` for -// things that don't exist. - -module.exports = glob - -var fs = __webpack_require__(/*! fs */ "fs") -var rp = __webpack_require__(/*! fs.realpath */ "./node_modules/fs.realpath/index.js") -var minimatch = __webpack_require__(/*! minimatch */ "./node_modules/minimatch/minimatch.js") -var Minimatch = minimatch.Minimatch -var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits.js") -var EE = (__webpack_require__(/*! events */ "events").EventEmitter) -var path = __webpack_require__(/*! path */ "path") -var assert = __webpack_require__(/*! assert */ "assert") -var isAbsolute = __webpack_require__(/*! path-is-absolute */ "./node_modules/path-is-absolute/index.js") -var globSync = __webpack_require__(/*! ./sync.js */ "./node_modules/glob/sync.js") -var common = __webpack_require__(/*! ./common.js */ "./node_modules/glob/common.js") -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var inflight = __webpack_require__(/*! inflight */ "./node_modules/inflight/inflight.js") -var util = __webpack_require__(/*! util */ "util") -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored - -var once = __webpack_require__(/*! once */ "./node_modules/once/once.js") - -function glob (pattern, options, cb) { - if (typeof options === 'function') cb = options, options = {} - if (!options) options = {} - - if (options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return globSync(pattern, options) - } - - return new Glob(pattern, options, cb) -} - -glob.sync = globSync -var GlobSync = glob.GlobSync = globSync.GlobSync - -// old api surface -glob.glob = glob - -function extend (origin, add) { - if (add === null || typeof add !== 'object') { - return origin - } - - var keys = Object.keys(add) - var i = keys.length - while (i--) { - origin[keys[i]] = add[keys[i]] - } - return origin -} - -glob.hasMagic = function (pattern, options_) { - var options = extend({}, options_) - options.noprocess = true - - var g = new Glob(pattern, options) - var set = g.minimatch.set - - if (!pattern) - return false - - if (set.length > 1) - return true - - for (var j = 0; j < set[0].length; j++) { - if (typeof set[0][j] !== 'string') - return true - } - - return false -} - -glob.Glob = Glob -inherits(Glob, EE) -function Glob (pattern, options, cb) { - if (typeof options === 'function') { - cb = options - options = null - } - - if (options && options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return new GlobSync(pattern, options) - } - - if (!(this instanceof Glob)) - return new Glob(pattern, options, cb) - - setopts(this, pattern, options) - this._didRealPath = false - - // process each pattern in the minimatch set - var n = this.minimatch.set.length - - // The matches are stored as {: true,...} so that - // duplicates are automagically pruned. - // Later, we do an Object.keys() on these. - // Keep them as a list so we can fill in when nonull is set. - this.matches = new Array(n) - - if (typeof cb === 'function') { - cb = once(cb) - this.on('error', cb) - this.on('end', function (matches) { - cb(null, matches) - }) - } - - var self = this - this._processing = 0 - - this._emitQueue = [] - this._processQueue = [] - this.paused = false - - if (this.noprocess) - return this - - if (n === 0) - return done() - - var sync = true - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false, done) - } - sync = false - - function done () { - --self._processing - if (self._processing <= 0) { - if (sync) { - process.nextTick(function () { - self._finish() - }) - } else { - self._finish() - } - } - } -} - -Glob.prototype._finish = function () { - assert(this instanceof Glob) - if (this.aborted) - return - - if (this.realpath && !this._didRealpath) - return this._realpath() - - common.finish(this) - this.emit('end', this.found) -} - -Glob.prototype._realpath = function () { - if (this._didRealpath) - return - - this._didRealpath = true - - var n = this.matches.length - if (n === 0) - return this._finish() - - var self = this - for (var i = 0; i < this.matches.length; i++) - this._realpathSet(i, next) - - function next () { - if (--n === 0) - self._finish() - } -} - -Glob.prototype._realpathSet = function (index, cb) { - var matchset = this.matches[index] - if (!matchset) - return cb() - - var found = Object.keys(matchset) - var self = this - var n = found.length - - if (n === 0) - return cb() - - var set = this.matches[index] = Object.create(null) - found.forEach(function (p, i) { - // If there's a problem with the stat, then it means that - // one or more of the links in the realpath couldn't be - // resolved. just return the abs value in that case. - p = self._makeAbs(p) - rp.realpath(p, self.realpathCache, function (er, real) { - if (!er) - set[real] = true - else if (er.syscall === 'stat') - set[p] = true - else - self.emit('error', er) // srsly wtf right here - - if (--n === 0) { - self.matches[index] = set - cb() - } - }) - }) -} - -Glob.prototype._mark = function (p) { - return common.mark(this, p) -} - -Glob.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} - -Glob.prototype.abort = function () { - this.aborted = true - this.emit('abort') -} - -Glob.prototype.pause = function () { - if (!this.paused) { - this.paused = true - this.emit('pause') - } -} - -Glob.prototype.resume = function () { - if (this.paused) { - this.emit('resume') - this.paused = false - if (this._emitQueue.length) { - var eq = this._emitQueue.slice(0) - this._emitQueue.length = 0 - for (var i = 0; i < eq.length; i ++) { - var e = eq[i] - this._emitMatch(e[0], e[1]) - } - } - if (this._processQueue.length) { - var pq = this._processQueue.slice(0) - this._processQueue.length = 0 - for (var i = 0; i < pq.length; i ++) { - var p = pq[i] - this._processing-- - this._process(p[0], p[1], p[2], p[3]) - } - } - } -} - -Glob.prototype._process = function (pattern, index, inGlobStar, cb) { - assert(this instanceof Glob) - assert(typeof cb === 'function') - - if (this.aborted) - return - - this._processing++ - if (this.paused) { - this._processQueue.push([pattern, index, inGlobStar, cb]) - return - } - - //console.error('PROCESS %d', this._processing, pattern) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // see if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index, cb) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix - - var abs = this._makeAbs(read) - - //if ignored, skip _processing - if (childrenIgnored(this, read)) - return cb() - - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) -} - -Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - -Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return cb() - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' - - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } - - //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return cb() - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this._emitMatch(index, e) - } - // This was the last one, and no stats were needed - return cb() - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - this._process([e].concat(remain), index, inGlobStar, cb) - } - cb() -} - -Glob.prototype._emitMatch = function (index, e) { - if (this.aborted) - return - - if (isIgnored(this, e)) - return - - if (this.paused) { - this._emitQueue.push([index, e]) - return - } - - var abs = isAbsolute(e) ? e : this._makeAbs(e) - - if (this.mark) - e = this._mark(e) - - if (this.absolute) - e = abs - - if (this.matches[index][e]) - return - - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return - } - - this.matches[index][e] = true - - var st = this.statCache[abs] - if (st) - this.emit('stat', e, st) - - this.emit('match', e) -} - -Glob.prototype._readdirInGlobStar = function (abs, cb) { - if (this.aborted) - return - - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false, cb) - - var lstatkey = 'lstat\0' + abs - var self = this - var lstatcb = inflight(lstatkey, lstatcb_) - - if (lstatcb) - fs.lstat(abs, lstatcb) - - function lstatcb_ (er, lstat) { - if (er && er.code === 'ENOENT') - return cb() - - var isSym = lstat && lstat.isSymbolicLink() - self.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && lstat && !lstat.isDirectory()) { - self.cache[abs] = 'FILE' - cb() - } else - self._readdir(abs, false, cb) - } -} - -Glob.prototype._readdir = function (abs, inGlobStar, cb) { - if (this.aborted) - return - - cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) - if (!cb) - return - - //console.error('RD %j %j', +inGlobStar, abs) - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs, cb) - - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return cb() - - if (Array.isArray(c)) - return cb(null, c) - } - - var self = this - fs.readdir(abs, readdirCb(this, abs, cb)) -} - -function readdirCb (self, abs, cb) { - return function (er, entries) { - if (er) - self._readdirError(abs, er, cb) - else - self._readdirEntries(abs, entries, cb) - } -} - -Glob.prototype._readdirEntries = function (abs, entries, cb) { - if (this.aborted) - return - - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } - - this.cache[abs] = entries - return cb(null, entries) -} - -Glob.prototype._readdirError = function (f, er, cb) { - if (this.aborted) - return - - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - var abs = this._makeAbs(f) - this.cache[abs] = 'FILE' - if (abs === this.cwdAbs) { - var error = new Error(er.code + ' invalid cwd ' + this.cwd) - error.path = this.cwd - error.code = er.code - this.emit('error', error) - this.abort() - } - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) { - this.emit('error', er) - // If the error is handled, then we abort - // if not, we threw out of here - this.abort() - } - if (!this.silent) - console.error('glob error', er) - break - } - - return cb() -} - -Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - - -Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - //console.error('pgs2', prefix, remain[0], entries) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return cb() - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false, cb) - - var isSym = this.symlinks[abs] - var len = entries.length - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return cb() - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true, cb) - - var below = gspref.concat(entries[i], remain) - this._process(below, index, true, cb) - } - - cb() -} - -Glob.prototype._processSimple = function (prefix, index, cb) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var self = this - this._stat(prefix, function (er, exists) { - self._processSimple2(prefix, index, er, exists, cb) - }) -} -Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { - - //console.error('ps2', prefix, exists) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - if (!exists) - return cb() - - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } - - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') - - // Mark this as a match - this._emitMatch(index, prefix) - cb() -} - -// Returns either 'DIR', 'FILE', or false -Glob.prototype._stat = function (f, cb) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - - if (f.length > this.maxLength) - return cb() - - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] - - if (Array.isArray(c)) - c = 'DIR' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return cb(null, c) - - if (needDir && c === 'FILE') - return cb() - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (stat !== undefined) { - if (stat === false) - return cb(null, stat) - else { - var type = stat.isDirectory() ? 'DIR' : 'FILE' - if (needDir && type === 'FILE') - return cb() - else - return cb(null, type, stat) - } - } - - var self = this - var statcb = inflight('stat\0' + abs, lstatcb_) - if (statcb) - fs.lstat(abs, statcb) - - function lstatcb_ (er, lstat) { - if (lstat && lstat.isSymbolicLink()) { - // If it's a symlink, then treat it as the target, unless - // the target does not exist, then treat it as a file. - return fs.stat(abs, function (er, stat) { - if (er) - self._stat2(f, abs, null, lstat, cb) - else - self._stat2(f, abs, er, stat, cb) - }) - } else { - self._stat2(f, abs, er, lstat, cb) - } - } -} - -Glob.prototype._stat2 = function (f, abs, er, stat, cb) { - if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { - this.statCache[abs] = false - return cb() - } - - var needDir = f.slice(-1) === '/' - this.statCache[abs] = stat - - if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) - return cb(null, false, stat) - - var c = true - if (stat) - c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - - if (needDir && c === 'FILE') - return cb() - - return cb(null, c, stat) -} - - -/***/ }), - -/***/ "./node_modules/glob/sync.js": -/*!***********************************!*\ - !*** ./node_modules/glob/sync.js ***! - \***********************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -module.exports = globSync -globSync.GlobSync = GlobSync - -var fs = __webpack_require__(/*! fs */ "fs") -var rp = __webpack_require__(/*! fs.realpath */ "./node_modules/fs.realpath/index.js") -var minimatch = __webpack_require__(/*! minimatch */ "./node_modules/minimatch/minimatch.js") -var Minimatch = minimatch.Minimatch -var Glob = (__webpack_require__(/*! ./glob.js */ "./node_modules/glob/glob.js").Glob) -var util = __webpack_require__(/*! util */ "util") -var path = __webpack_require__(/*! path */ "path") -var assert = __webpack_require__(/*! assert */ "assert") -var isAbsolute = __webpack_require__(/*! path-is-absolute */ "./node_modules/path-is-absolute/index.js") -var common = __webpack_require__(/*! ./common.js */ "./node_modules/glob/common.js") -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored - -function globSync (pattern, options) { - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') - - return new GlobSync(pattern, options).found -} - -function GlobSync (pattern, options) { - if (!pattern) - throw new Error('must provide pattern') - - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') - - if (!(this instanceof GlobSync)) - return new GlobSync(pattern, options) - - setopts(this, pattern, options) - - if (this.noprocess) - return this - - var n = this.minimatch.set.length - this.matches = new Array(n) - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false) - } - this._finish() -} - -GlobSync.prototype._finish = function () { - assert(this instanceof GlobSync) - if (this.realpath) { - var self = this - this.matches.forEach(function (matchset, index) { - var set = self.matches[index] = Object.create(null) - for (var p in matchset) { - try { - p = self._makeAbs(p) - var real = rp.realpathSync(p, self.realpathCache) - set[real] = true - } catch (er) { - if (er.syscall === 'stat') - set[self._makeAbs(p)] = true - else - throw er - } - } - }) - } - common.finish(this) -} - - -GlobSync.prototype._process = function (pattern, index, inGlobStar) { - assert(this instanceof GlobSync) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // See if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix - - var abs = this._makeAbs(read) - - //if ignored, skip processing - if (childrenIgnored(this, read)) - return - - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar) -} - - -GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { - var entries = this._readdir(abs, inGlobStar) - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' - - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix.slice(-1) !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this._emitMatch(index, e) - } - // This was the last one, and no stats were needed - return - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) - newPattern = [prefix, e] - else - newPattern = [e] - this._process(newPattern.concat(remain), index, inGlobStar) - } -} - - -GlobSync.prototype._emitMatch = function (index, e) { - if (isIgnored(this, e)) - return - - var abs = this._makeAbs(e) - - if (this.mark) - e = this._mark(e) - - if (this.absolute) { - e = abs - } - - if (this.matches[index][e]) - return - - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return - } - - this.matches[index][e] = true - - if (this.stat) - this._stat(e) -} - - -GlobSync.prototype._readdirInGlobStar = function (abs) { - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false) - - var entries - var lstat - var stat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - if (er.code === 'ENOENT') { - // lstat failed, doesn't exist - return null - } - } - - var isSym = lstat && lstat.isSymbolicLink() - this.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && lstat && !lstat.isDirectory()) - this.cache[abs] = 'FILE' - else - entries = this._readdir(abs, false) - - return entries -} - -GlobSync.prototype._readdir = function (abs, inGlobStar) { - var entries - - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs) - - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return null - - if (Array.isArray(c)) - return c - } - - try { - return this._readdirEntries(abs, fs.readdirSync(abs)) - } catch (er) { - this._readdirError(abs, er) - return null - } -} - -GlobSync.prototype._readdirEntries = function (abs, entries) { - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } - - this.cache[abs] = entries - - // mark and cache dir-ness - return entries -} - -GlobSync.prototype._readdirError = function (f, er) { - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - var abs = this._makeAbs(f) - this.cache[abs] = 'FILE' - if (abs === this.cwdAbs) { - var error = new Error(er.code + ' invalid cwd ' + this.cwd) - error.path = this.cwd - error.code = er.code - throw error - } - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) - throw er - if (!this.silent) - console.error('glob error', er) - break - } -} - -GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { - - var entries = this._readdir(abs, inGlobStar) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false) - - var len = entries.length - var isSym = this.symlinks[abs] - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true) - - var below = gspref.concat(entries[i], remain) - this._process(below, index, true) - } -} - -GlobSync.prototype._processSimple = function (prefix, index) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var exists = this._stat(prefix) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - if (!exists) - return - - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } - - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') - - // Mark this as a match - this._emitMatch(index, prefix) -} - -// Returns either 'DIR', 'FILE', or false -GlobSync.prototype._stat = function (f) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - - if (f.length > this.maxLength) - return false - - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] - - if (Array.isArray(c)) - c = 'DIR' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return c - - if (needDir && c === 'FILE') - return false - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (!stat) { - var lstat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { - this.statCache[abs] = false - return false - } - } - - if (lstat && lstat.isSymbolicLink()) { - try { - stat = fs.statSync(abs) - } catch (er) { - stat = lstat - } - } else { - stat = lstat - } - } - - this.statCache[abs] = stat - - var c = true - if (stat) - c = stat.isDirectory() ? 'DIR' : 'FILE' - - this.cache[abs] = this.cache[abs] || c - - if (needDir && c === 'FILE') - return false - - return c -} - -GlobSync.prototype._mark = function (p) { - return common.mark(this, p) -} - -GlobSync.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} - - -/***/ }), - -/***/ "./node_modules/inflight/inflight.js": -/*!*******************************************!*\ - !*** ./node_modules/inflight/inflight.js ***! - \*******************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var wrappy = __webpack_require__(/*! wrappy */ "./node_modules/wrappy/wrappy.js") -var reqs = Object.create(null) -var once = __webpack_require__(/*! once */ "./node_modules/once/once.js") - -module.exports = wrappy(inflight) - -function inflight (key, cb) { - if (reqs[key]) { - reqs[key].push(cb) - return null - } else { - reqs[key] = [cb] - return makeres(key) - } -} - -function makeres (key) { - return once(function RES () { - var cbs = reqs[key] - var len = cbs.length - var args = slice(arguments) - - // XXX It's somewhat ambiguous whether a new callback added in this - // pass should be queued for later execution if something in the - // list of callbacks throws, or if it should just be discarded. - // However, it's such an edge case that it hardly matters, and either - // choice is likely as surprising as the other. - // As it happens, we do go ahead and schedule it for later execution. - try { - for (var i = 0; i < len; i++) { - cbs[i].apply(null, args) - } - } finally { - if (cbs.length > len) { - // added more in the interim. - // de-zalgo, just in case, but don't call again. - cbs.splice(0, len) - process.nextTick(function () { - RES.apply(null, args) - }) - } else { - delete reqs[key] - } - } - }) -} - -function slice (args) { - var length = args.length - var array = [] - - for (var i = 0; i < length; i++) array[i] = args[i] - return array -} - - -/***/ }), - -/***/ "./node_modules/inherits/inherits.js": -/*!*******************************************!*\ - !*** ./node_modules/inherits/inherits.js ***! - \*******************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -try { - var util = __webpack_require__(/*! util */ "util"); - /* istanbul ignore next */ - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - /* istanbul ignore next */ - module.exports = __webpack_require__(/*! ./inherits_browser.js */ "./node_modules/inherits/inherits_browser.js"); -} - - -/***/ }), - -/***/ "./node_modules/inherits/inherits_browser.js": -/*!***************************************************!*\ - !*** ./node_modules/inherits/inherits_browser.js ***! - \***************************************************/ -/***/ ((module) => { - -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }) - } - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } -} - - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/decorator_utils.js": -/*!*****************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/decorator_utils.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "createTaggedDecorator": () => (/* binding */ createTaggedDecorator), -/* harmony export */ "decorate": () => (/* binding */ decorate), -/* harmony export */ "tagParameter": () => (/* binding */ tagParameter), -/* harmony export */ "tagProperty": () => (/* binding */ tagProperty) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/js */ "./node_modules/inversify/es/utils/js.js"); - - - -function targetIsConstructorFunction(target) { - return target.prototype !== undefined; -} -function _throwIfMethodParameter(parameterName) { - if (parameterName !== undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.INVALID_DECORATOR_OPERATION); - } -} -function tagParameter(annotationTarget, parameterName, parameterIndex, metadata) { - _throwIfMethodParameter(parameterName); - _tagParameterOrProperty(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.TAGGED, annotationTarget, parameterIndex.toString(), metadata); -} -function tagProperty(annotationTarget, propertyName, metadata) { - if (targetIsConstructorFunction(annotationTarget)) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.INVALID_DECORATOR_OPERATION); - } - _tagParameterOrProperty(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.TAGGED_PROP, annotationTarget.constructor, propertyName, metadata); -} -function _ensureNoMetadataKeyDuplicates(metadata) { - var metadatas = []; - if (Array.isArray(metadata)) { - metadatas = metadata; - var duplicate = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getFirstArrayDuplicate)(metadatas.map(function (md) { return md.key; })); - if (duplicate !== undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.DUPLICATED_METADATA + " " + duplicate.toString()); - } - } - else { - metadatas = [metadata]; - } - return metadatas; -} -function _tagParameterOrProperty(metadataKey, annotationTarget, key, metadata) { - var metadatas = _ensureNoMetadataKeyDuplicates(metadata); - var paramsOrPropertiesMetadata = {}; - if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) { - paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget); - } - var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key]; - if (paramOrPropertyMetadata === undefined) { - paramOrPropertyMetadata = []; - } - else { - var _loop_1 = function (m) { - if (metadatas.some(function (md) { return md.key === m.key; })) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.DUPLICATED_METADATA + " " + m.key.toString()); - } - }; - for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) { - var m = paramOrPropertyMetadata_1[_i]; - _loop_1(m); - } - } - paramOrPropertyMetadata.push.apply(paramOrPropertyMetadata, metadatas); - paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata; - Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget); -} -function createTaggedDecorator(metadata) { - return function (target, targetKey, indexOrPropertyDescriptor) { - if (typeof indexOrPropertyDescriptor === "number") { - tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata); - } - else { - tagProperty(target, targetKey, metadata); - } - }; -} -function _decorate(decorators, target) { - Reflect.decorate(decorators, target); -} -function _param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); }; -} -function decorate(decorator, target, parameterIndexOrProperty) { - if (typeof parameterIndexOrProperty === "number") { - _decorate([_param(parameterIndexOrProperty, decorator)], target); - } - else if (typeof parameterIndexOrProperty === "string") { - Reflect.decorate([decorator], target, parameterIndexOrProperty); - } - else { - _decorate([decorator], target); - } -} - -//# sourceMappingURL=decorator_utils.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/inject.js": -/*!********************************************************!*\ - !*** ./node_modules/inversify/es/annotation/inject.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "inject": () => (/* binding */ inject) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _inject_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./inject_base */ "./node_modules/inversify/es/annotation/inject_base.js"); - - -var inject = (0,_inject_base__WEBPACK_IMPORTED_MODULE_0__.injectBase)(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.INJECT_TAG); - -//# sourceMappingURL=inject.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/inject_base.js": -/*!*************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/inject_base.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "injectBase": () => (/* binding */ injectBase) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _decorator_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); - - - -function injectBase(metadataKey) { - return function (serviceIdentifier) { - return function (target, targetKey, indexOrPropertyDescriptor) { - if (serviceIdentifier === undefined) { - var className = typeof target === "function" ? target.name : target.constructor.name; - throw new Error((0,_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.UNDEFINED_INJECT_ANNOTATION)(className)); - } - return (0,_decorator_utils__WEBPACK_IMPORTED_MODULE_1__.createTaggedDecorator)(new _planning_metadata__WEBPACK_IMPORTED_MODULE_2__.Metadata(metadataKey, serviceIdentifier))(target, targetKey, indexOrPropertyDescriptor); - }; - }; -} -//# sourceMappingURL=inject_base.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/injectable.js": -/*!************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/injectable.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "injectable": () => (/* binding */ injectable) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); - - -function injectable() { - return function (target) { - if (Reflect.hasOwnMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.PARAM_TYPES, target)) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_1__.DUPLICATED_INJECTABLE_DECORATOR); - } - var types = Reflect.getMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.DESIGN_PARAM_TYPES, target) || []; - Reflect.defineMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.PARAM_TYPES, types, target); - return target; - }; -} - -//# sourceMappingURL=injectable.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/lazy_service_identifier.js": -/*!*************************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/lazy_service_identifier.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "LazyServiceIdentifer": () => (/* binding */ LazyServiceIdentifer) -/* harmony export */ }); -var LazyServiceIdentifer = (function () { - function LazyServiceIdentifer(cb) { - this._cb = cb; - } - LazyServiceIdentifer.prototype.unwrap = function () { - return this._cb(); - }; - return LazyServiceIdentifer; -}()); - -//# sourceMappingURL=lazy_service_identifier.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/multi_inject.js": -/*!**************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/multi_inject.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "multiInject": () => (/* binding */ multiInject) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _inject_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./inject_base */ "./node_modules/inversify/es/annotation/inject_base.js"); - - -var multiInject = (0,_inject_base__WEBPACK_IMPORTED_MODULE_0__.injectBase)(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.MULTI_INJECT_TAG); - -//# sourceMappingURL=multi_inject.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/named.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/annotation/named.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "named": () => (/* binding */ named) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _decorator_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); - - - -function named(name) { - return (0,_decorator_utils__WEBPACK_IMPORTED_MODULE_0__.createTaggedDecorator)(new _planning_metadata__WEBPACK_IMPORTED_MODULE_1__.Metadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__.NAMED_TAG, name)); -} - -//# sourceMappingURL=named.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/optional.js": -/*!**********************************************************!*\ - !*** ./node_modules/inversify/es/annotation/optional.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "optional": () => (/* binding */ optional) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _decorator_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); - - - -function optional() { - return (0,_decorator_utils__WEBPACK_IMPORTED_MODULE_0__.createTaggedDecorator)(new _planning_metadata__WEBPACK_IMPORTED_MODULE_1__.Metadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__.OPTIONAL_TAG, true)); -} - -//# sourceMappingURL=optional.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/post_construct.js": -/*!****************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/post_construct.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "postConstruct": () => (/* binding */ postConstruct) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _property_event_decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./property_event_decorator */ "./node_modules/inversify/es/annotation/property_event_decorator.js"); - - - -var postConstruct = (0,_property_event_decorator__WEBPACK_IMPORTED_MODULE_0__.propertyEventDecorator)(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.POST_CONSTRUCT, _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__.MULTIPLE_POST_CONSTRUCT_METHODS); - -//# sourceMappingURL=post_construct.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/pre_destroy.js": -/*!*************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/pre_destroy.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "preDestroy": () => (/* binding */ preDestroy) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _property_event_decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./property_event_decorator */ "./node_modules/inversify/es/annotation/property_event_decorator.js"); - - - -var preDestroy = (0,_property_event_decorator__WEBPACK_IMPORTED_MODULE_0__.propertyEventDecorator)(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.PRE_DESTROY, _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__.MULTIPLE_PRE_DESTROY_METHODS); - -//# sourceMappingURL=pre_destroy.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/property_event_decorator.js": -/*!**************************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/property_event_decorator.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "propertyEventDecorator": () => (/* binding */ propertyEventDecorator) -/* harmony export */ }); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); - -function propertyEventDecorator(eventKey, errorMessage) { - return function () { - return function (target, propertyKey) { - var metadata = new _planning_metadata__WEBPACK_IMPORTED_MODULE_0__.Metadata(eventKey, propertyKey); - if (Reflect.hasOwnMetadata(eventKey, target.constructor)) { - throw new Error(errorMessage); - } - Reflect.defineMetadata(eventKey, metadata, target.constructor); - }; - }; -} - -//# sourceMappingURL=property_event_decorator.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/tagged.js": -/*!********************************************************!*\ - !*** ./node_modules/inversify/es/annotation/tagged.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "tagged": () => (/* binding */ tagged) -/* harmony export */ }); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _decorator_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); - - -function tagged(metadataKey, metadataValue) { - return (0,_decorator_utils__WEBPACK_IMPORTED_MODULE_0__.createTaggedDecorator)(new _planning_metadata__WEBPACK_IMPORTED_MODULE_1__.Metadata(metadataKey, metadataValue)); -} - -//# sourceMappingURL=tagged.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/target_name.js": -/*!*************************************************************!*\ - !*** ./node_modules/inversify/es/annotation/target_name.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "targetName": () => (/* binding */ targetName) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _decorator_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); - - - -function targetName(name) { - return function (target, targetKey, index) { - var metadata = new _planning_metadata__WEBPACK_IMPORTED_MODULE_0__.Metadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.NAME_TAG, name); - (0,_decorator_utils__WEBPACK_IMPORTED_MODULE_2__.tagParameter)(target, targetKey, index, metadata); - }; -} - -//# sourceMappingURL=target_name.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/annotation/unmanaged.js": -/*!***********************************************************!*\ - !*** ./node_modules/inversify/es/annotation/unmanaged.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "unmanaged": () => (/* binding */ unmanaged) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _decorator_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); - - - -function unmanaged() { - return function (target, targetKey, index) { - var metadata = new _planning_metadata__WEBPACK_IMPORTED_MODULE_0__.Metadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.UNMANAGED_TAG, true); - (0,_decorator_utils__WEBPACK_IMPORTED_MODULE_2__.tagParameter)(target, targetKey, index, metadata); - }; -} - -//# sourceMappingURL=unmanaged.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/bindings/binding.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/bindings/binding.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Binding": () => (/* binding */ Binding) -/* harmony export */ }); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/id */ "./node_modules/inversify/es/utils/id.js"); - - -var Binding = (function () { - function Binding(serviceIdentifier, scope) { - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_0__.id)(); - this.activated = false; - this.serviceIdentifier = serviceIdentifier; - this.scope = scope; - this.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingTypeEnum.Invalid; - this.constraint = function (request) { return true; }; - this.implementationType = null; - this.cache = null; - this.factory = null; - this.provider = null; - this.onActivation = null; - this.onDeactivation = null; - this.dynamicValue = null; - } - Binding.prototype.clone = function () { - var clone = new Binding(this.serviceIdentifier, this.scope); - clone.activated = (clone.scope === _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingScopeEnum.Singleton) ? this.activated : false; - clone.implementationType = this.implementationType; - clone.dynamicValue = this.dynamicValue; - clone.scope = this.scope; - clone.type = this.type; - clone.factory = this.factory; - clone.provider = this.provider; - clone.constraint = this.constraint; - clone.onActivation = this.onActivation; - clone.onDeactivation = this.onDeactivation; - clone.cache = this.cache; - return clone; - }; - return Binding; -}()); - -//# sourceMappingURL=binding.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/bindings/binding_count.js": -/*!*************************************************************!*\ - !*** ./node_modules/inversify/es/bindings/binding_count.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingCount": () => (/* binding */ BindingCount) -/* harmony export */ }); -var BindingCount = { - MultipleBindingsAvailable: 2, - NoBindingsAvailable: 0, - OnlyOneBindingAvailable: 1 -}; - -//# sourceMappingURL=binding_count.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/constants/error_msgs.js": -/*!***********************************************************!*\ - !*** ./node_modules/inversify/es/constants/error_msgs.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "AMBIGUOUS_MATCH": () => (/* binding */ AMBIGUOUS_MATCH), -/* harmony export */ "ARGUMENTS_LENGTH_MISMATCH": () => (/* binding */ ARGUMENTS_LENGTH_MISMATCH), -/* harmony export */ "ASYNC_UNBIND_REQUIRED": () => (/* binding */ ASYNC_UNBIND_REQUIRED), -/* harmony export */ "CANNOT_UNBIND": () => (/* binding */ CANNOT_UNBIND), -/* harmony export */ "CIRCULAR_DEPENDENCY": () => (/* binding */ CIRCULAR_DEPENDENCY), -/* harmony export */ "CIRCULAR_DEPENDENCY_IN_FACTORY": () => (/* binding */ CIRCULAR_DEPENDENCY_IN_FACTORY), -/* harmony export */ "CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE": () => (/* binding */ CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE), -/* harmony export */ "CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE": () => (/* binding */ CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE), -/* harmony export */ "CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK": () => (/* binding */ CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK), -/* harmony export */ "CONTAINER_OPTIONS_MUST_BE_AN_OBJECT": () => (/* binding */ CONTAINER_OPTIONS_MUST_BE_AN_OBJECT), -/* harmony export */ "DUPLICATED_INJECTABLE_DECORATOR": () => (/* binding */ DUPLICATED_INJECTABLE_DECORATOR), -/* harmony export */ "DUPLICATED_METADATA": () => (/* binding */ DUPLICATED_METADATA), -/* harmony export */ "INVALID_BINDING_TYPE": () => (/* binding */ INVALID_BINDING_TYPE), -/* harmony export */ "INVALID_DECORATOR_OPERATION": () => (/* binding */ INVALID_DECORATOR_OPERATION), -/* harmony export */ "INVALID_FUNCTION_BINDING": () => (/* binding */ INVALID_FUNCTION_BINDING), -/* harmony export */ "INVALID_MIDDLEWARE_RETURN": () => (/* binding */ INVALID_MIDDLEWARE_RETURN), -/* harmony export */ "INVALID_TO_SELF_VALUE": () => (/* binding */ INVALID_TO_SELF_VALUE), -/* harmony export */ "KEY_NOT_FOUND": () => (/* binding */ KEY_NOT_FOUND), -/* harmony export */ "LAZY_IN_SYNC": () => (/* binding */ LAZY_IN_SYNC), -/* harmony export */ "MISSING_INJECTABLE_ANNOTATION": () => (/* binding */ MISSING_INJECTABLE_ANNOTATION), -/* harmony export */ "MISSING_INJECT_ANNOTATION": () => (/* binding */ MISSING_INJECT_ANNOTATION), -/* harmony export */ "MULTIPLE_POST_CONSTRUCT_METHODS": () => (/* binding */ MULTIPLE_POST_CONSTRUCT_METHODS), -/* harmony export */ "MULTIPLE_PRE_DESTROY_METHODS": () => (/* binding */ MULTIPLE_PRE_DESTROY_METHODS), -/* harmony export */ "NOT_IMPLEMENTED": () => (/* binding */ NOT_IMPLEMENTED), -/* harmony export */ "NOT_REGISTERED": () => (/* binding */ NOT_REGISTERED), -/* harmony export */ "NO_MORE_SNAPSHOTS_AVAILABLE": () => (/* binding */ NO_MORE_SNAPSHOTS_AVAILABLE), -/* harmony export */ "NULL_ARGUMENT": () => (/* binding */ NULL_ARGUMENT), -/* harmony export */ "ON_DEACTIVATION_ERROR": () => (/* binding */ ON_DEACTIVATION_ERROR), -/* harmony export */ "POST_CONSTRUCT_ERROR": () => (/* binding */ POST_CONSTRUCT_ERROR), -/* harmony export */ "PRE_DESTROY_ERROR": () => (/* binding */ PRE_DESTROY_ERROR), -/* harmony export */ "STACK_OVERFLOW": () => (/* binding */ STACK_OVERFLOW), -/* harmony export */ "UNDEFINED_INJECT_ANNOTATION": () => (/* binding */ UNDEFINED_INJECT_ANNOTATION) -/* harmony export */ }); -var DUPLICATED_INJECTABLE_DECORATOR = "Cannot apply @injectable decorator multiple times."; -var DUPLICATED_METADATA = "Metadata key was used more than once in a parameter:"; -var NULL_ARGUMENT = "NULL argument"; -var KEY_NOT_FOUND = "Key Not Found"; -var AMBIGUOUS_MATCH = "Ambiguous match found for serviceIdentifier:"; -var CANNOT_UNBIND = "Could not unbind serviceIdentifier:"; -var NOT_REGISTERED = "No matching bindings found for serviceIdentifier:"; -var MISSING_INJECTABLE_ANNOTATION = "Missing required @injectable annotation in:"; -var MISSING_INJECT_ANNOTATION = "Missing required @inject or @multiInject annotation in:"; -var UNDEFINED_INJECT_ANNOTATION = function (name) { - return "@inject called with undefined this could mean that the class " + name + " has " + - "a circular dependency problem. You can use a LazyServiceIdentifer to " + - "overcome this limitation."; -}; -var CIRCULAR_DEPENDENCY = "Circular dependency found:"; -var NOT_IMPLEMENTED = "Sorry, this feature is not fully implemented yet."; -var INVALID_BINDING_TYPE = "Invalid binding type:"; -var NO_MORE_SNAPSHOTS_AVAILABLE = "No snapshot available to restore."; -var INVALID_MIDDLEWARE_RETURN = "Invalid return type in middleware. Middleware must return!"; -var INVALID_FUNCTION_BINDING = "Value provided to function binding must be a function!"; -var LAZY_IN_SYNC = function (key) { return "You are attempting to construct '" + key + "' in a synchronous way\n but it has asynchronous dependencies."; }; -var INVALID_TO_SELF_VALUE = "The toSelf function can only be applied when a constructor is " + - "used as service identifier"; -var INVALID_DECORATOR_OPERATION = "The @inject @multiInject @tagged and @named decorators " + - "must be applied to the parameters of a class constructor or a class property."; -var ARGUMENTS_LENGTH_MISMATCH = function () { - var values = []; - for (var _i = 0; _i < arguments.length; _i++) { - values[_i] = arguments[_i]; - } - return "The number of constructor arguments in the derived class " + - (values[0] + " must be >= than the number of constructor arguments of its base class."); -}; -var CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = "Invalid Container constructor argument. Container options " + - "must be an object."; -var CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = "Invalid Container option. Default scope must " + - "be a string ('singleton' or 'transient')."; -var CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = "Invalid Container option. Auto bind injectable must " + - "be a boolean"; -var CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK = "Invalid Container option. Skip base check must " + - "be a boolean"; -var MULTIPLE_PRE_DESTROY_METHODS = "Cannot apply @preDestroy decorator multiple times in the same class"; -var MULTIPLE_POST_CONSTRUCT_METHODS = "Cannot apply @postConstruct decorator multiple times in the same class"; -var ASYNC_UNBIND_REQUIRED = "Attempting to unbind dependency with asynchronous destruction (@preDestroy or onDeactivation)"; -var POST_CONSTRUCT_ERROR = function (clazz, errorMessage) { return "@postConstruct error in class " + clazz + ": " + errorMessage; }; -var PRE_DESTROY_ERROR = function (clazz, errorMessage) { return "@preDestroy error in class " + clazz + ": " + errorMessage; }; -var ON_DEACTIVATION_ERROR = function (clazz, errorMessage) { return "onDeactivation() error in class " + clazz + ": " + errorMessage; }; -var CIRCULAR_DEPENDENCY_IN_FACTORY = function (factoryType, serviceIdentifier) { - return "It looks like there is a circular dependency in one of the '" + factoryType + "' bindings. Please investigate bindings with" + - ("service identifier '" + serviceIdentifier + "'."); -}; -var STACK_OVERFLOW = "Maximum call stack size exceeded"; -//# sourceMappingURL=error_msgs.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/constants/literal_types.js": -/*!**************************************************************!*\ - !*** ./node_modules/inversify/es/constants/literal_types.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingScopeEnum": () => (/* binding */ BindingScopeEnum), -/* harmony export */ "BindingTypeEnum": () => (/* binding */ BindingTypeEnum), -/* harmony export */ "TargetTypeEnum": () => (/* binding */ TargetTypeEnum) -/* harmony export */ }); -var BindingScopeEnum = { - Request: "Request", - Singleton: "Singleton", - Transient: "Transient" -}; -var BindingTypeEnum = { - ConstantValue: "ConstantValue", - Constructor: "Constructor", - DynamicValue: "DynamicValue", - Factory: "Factory", - Function: "Function", - Instance: "Instance", - Invalid: "Invalid", - Provider: "Provider" -}; -var TargetTypeEnum = { - ClassProperty: "ClassProperty", - ConstructorArgument: "ConstructorArgument", - Variable: "Variable" -}; - -//# sourceMappingURL=literal_types.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/constants/metadata_keys.js": -/*!**************************************************************!*\ - !*** ./node_modules/inversify/es/constants/metadata_keys.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "DESIGN_PARAM_TYPES": () => (/* binding */ DESIGN_PARAM_TYPES), -/* harmony export */ "INJECT_TAG": () => (/* binding */ INJECT_TAG), -/* harmony export */ "MULTI_INJECT_TAG": () => (/* binding */ MULTI_INJECT_TAG), -/* harmony export */ "NAMED_TAG": () => (/* binding */ NAMED_TAG), -/* harmony export */ "NAME_TAG": () => (/* binding */ NAME_TAG), -/* harmony export */ "NON_CUSTOM_TAG_KEYS": () => (/* binding */ NON_CUSTOM_TAG_KEYS), -/* harmony export */ "OPTIONAL_TAG": () => (/* binding */ OPTIONAL_TAG), -/* harmony export */ "PARAM_TYPES": () => (/* binding */ PARAM_TYPES), -/* harmony export */ "POST_CONSTRUCT": () => (/* binding */ POST_CONSTRUCT), -/* harmony export */ "PRE_DESTROY": () => (/* binding */ PRE_DESTROY), -/* harmony export */ "TAGGED": () => (/* binding */ TAGGED), -/* harmony export */ "TAGGED_PROP": () => (/* binding */ TAGGED_PROP), -/* harmony export */ "UNMANAGED_TAG": () => (/* binding */ UNMANAGED_TAG) -/* harmony export */ }); -var NAMED_TAG = "named"; -var NAME_TAG = "name"; -var UNMANAGED_TAG = "unmanaged"; -var OPTIONAL_TAG = "optional"; -var INJECT_TAG = "inject"; -var MULTI_INJECT_TAG = "multi_inject"; -var TAGGED = "inversify:tagged"; -var TAGGED_PROP = "inversify:tagged_props"; -var PARAM_TYPES = "inversify:paramtypes"; -var DESIGN_PARAM_TYPES = "design:paramtypes"; -var POST_CONSTRUCT = "post_construct"; -var PRE_DESTROY = "pre_destroy"; -function getNonCustomTagKeys() { - return [ - INJECT_TAG, - MULTI_INJECT_TAG, - NAME_TAG, - UNMANAGED_TAG, - NAMED_TAG, - OPTIONAL_TAG, - ]; -} -var NON_CUSTOM_TAG_KEYS = getNonCustomTagKeys(); -//# sourceMappingURL=metadata_keys.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/container/container.js": -/*!**********************************************************!*\ - !*** ./node_modules/inversify/es/container/container.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Container": () => (/* binding */ Container) -/* harmony export */ }); -/* harmony import */ var _bindings_binding__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../bindings/binding */ "./node_modules/inversify/es/bindings/binding.js"); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _planning_metadata_reader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../planning/metadata_reader */ "./node_modules/inversify/es/planning/metadata_reader.js"); -/* harmony import */ var _planning_planner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../planning/planner */ "./node_modules/inversify/es/planning/planner.js"); -/* harmony import */ var _resolution_resolver__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../resolution/resolver */ "./node_modules/inversify/es/resolution/resolver.js"); -/* harmony import */ var _syntax_binding_to_syntax__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../syntax/binding_to_syntax */ "./node_modules/inversify/es/syntax/binding_to_syntax.js"); -/* harmony import */ var _utils_async__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/async */ "./node_modules/inversify/es/utils/async.js"); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/id */ "./node_modules/inversify/es/utils/id.js"); -/* harmony import */ var _utils_serialization__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/serialization */ "./node_modules/inversify/es/utils/serialization.js"); -/* harmony import */ var _container_snapshot__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./container_snapshot */ "./node_modules/inversify/es/container/container_snapshot.js"); -/* harmony import */ var _lookup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lookup */ "./node_modules/inversify/es/container/lookup.js"); -/* harmony import */ var _module_activation_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./module_activation_store */ "./node_modules/inversify/es/container/module_activation_store.js"); -var __assign = (undefined && undefined.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (undefined && undefined.__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 __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; - - - - - - - - - - - - - - -var Container = (function () { - function Container(containerOptions) { - var options = containerOptions || {}; - if (typeof options !== "object") { - throw new Error("" + _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT); - } - if (options.defaultScope === undefined) { - options.defaultScope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingScopeEnum.Transient; - } - else if (options.defaultScope !== _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingScopeEnum.Singleton && - options.defaultScope !== _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingScopeEnum.Transient && - options.defaultScope !== _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingScopeEnum.Request) { - throw new Error("" + _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE); - } - if (options.autoBindInjectable === undefined) { - options.autoBindInjectable = false; - } - else if (typeof options.autoBindInjectable !== "boolean") { - throw new Error("" + _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE); - } - if (options.skipBaseClassChecks === undefined) { - options.skipBaseClassChecks = false; - } - else if (typeof options.skipBaseClassChecks !== "boolean") { - throw new Error("" + _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK); - } - this.options = { - autoBindInjectable: options.autoBindInjectable, - defaultScope: options.defaultScope, - skipBaseClassChecks: options.skipBaseClassChecks - }; - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_2__.id)(); - this._bindingDictionary = new _lookup__WEBPACK_IMPORTED_MODULE_3__.Lookup(); - this._snapshots = []; - this._middleware = null; - this._activations = new _lookup__WEBPACK_IMPORTED_MODULE_3__.Lookup(); - this._deactivations = new _lookup__WEBPACK_IMPORTED_MODULE_3__.Lookup(); - this.parent = null; - this._metadataReader = new _planning_metadata_reader__WEBPACK_IMPORTED_MODULE_4__.MetadataReader(); - this._moduleActivationStore = new _module_activation_store__WEBPACK_IMPORTED_MODULE_5__.ModuleActivationStore(); - } - Container.merge = function (container1, container2) { - var containers = []; - for (var _i = 2; _i < arguments.length; _i++) { - containers[_i - 2] = arguments[_i]; - } - var container = new Container(); - var targetContainers = __spreadArray([container1, container2], containers, true).map(function (targetContainer) { return (0,_planning_planner__WEBPACK_IMPORTED_MODULE_6__.getBindingDictionary)(targetContainer); }); - var bindingDictionary = (0,_planning_planner__WEBPACK_IMPORTED_MODULE_6__.getBindingDictionary)(container); - function copyDictionary(origin, destination) { - origin.traverse(function (_key, value) { - value.forEach(function (binding) { - destination.add(binding.serviceIdentifier, binding.clone()); - }); - }); - } - targetContainers.forEach(function (targetBindingDictionary) { - copyDictionary(targetBindingDictionary, bindingDictionary); - }); - return container; - }; - Container.prototype.load = function () { - var modules = []; - for (var _i = 0; _i < arguments.length; _i++) { - modules[_i] = arguments[_i]; - } - var getHelpers = this._getContainerModuleHelpersFactory(); - for (var _a = 0, modules_1 = modules; _a < modules_1.length; _a++) { - var currentModule = modules_1[_a]; - var containerModuleHelpers = getHelpers(currentModule.id); - currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction); - } - }; - Container.prototype.loadAsync = function () { - var modules = []; - for (var _i = 0; _i < arguments.length; _i++) { - modules[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var getHelpers, _a, modules_2, currentModule, containerModuleHelpers; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - getHelpers = this._getContainerModuleHelpersFactory(); - _a = 0, modules_2 = modules; - _b.label = 1; - case 1: - if (!(_a < modules_2.length)) return [3, 4]; - currentModule = modules_2[_a]; - containerModuleHelpers = getHelpers(currentModule.id); - return [4, currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction)]; - case 2: - _b.sent(); - _b.label = 3; - case 3: - _a++; - return [3, 1]; - case 4: return [2]; - } - }); - }); - }; - Container.prototype.unload = function () { - var _this = this; - var modules = []; - for (var _i = 0; _i < arguments.length; _i++) { - modules[_i] = arguments[_i]; - } - modules.forEach(function (module) { - var deactivations = _this._removeModuleBindings(module.id); - _this._deactivateSingletons(deactivations); - _this._removeModuleHandlers(module.id); - }); - }; - Container.prototype.unloadAsync = function () { - var modules = []; - for (var _i = 0; _i < arguments.length; _i++) { - modules[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var _a, modules_3, module_1, deactivations; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - _a = 0, modules_3 = modules; - _b.label = 1; - case 1: - if (!(_a < modules_3.length)) return [3, 4]; - module_1 = modules_3[_a]; - deactivations = this._removeModuleBindings(module_1.id); - return [4, this._deactivateSingletonsAsync(deactivations)]; - case 2: - _b.sent(); - this._removeModuleHandlers(module_1.id); - _b.label = 3; - case 3: - _a++; - return [3, 1]; - case 4: return [2]; - } - }); - }); - }; - Container.prototype.bind = function (serviceIdentifier) { - var scope = this.options.defaultScope || _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.BindingScopeEnum.Transient; - var binding = new _bindings_binding__WEBPACK_IMPORTED_MODULE_7__.Binding(serviceIdentifier, scope); - this._bindingDictionary.add(serviceIdentifier, binding); - return new _syntax_binding_to_syntax__WEBPACK_IMPORTED_MODULE_8__.BindingToSyntax(binding); - }; - Container.prototype.rebind = function (serviceIdentifier) { - this.unbind(serviceIdentifier); - return this.bind(serviceIdentifier); - }; - Container.prototype.rebindAsync = function (serviceIdentifier) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4, this.unbindAsync(serviceIdentifier)]; - case 1: - _a.sent(); - return [2, this.bind(serviceIdentifier)]; - } - }); - }); - }; - Container.prototype.unbind = function (serviceIdentifier) { - if (this._bindingDictionary.hasKey(serviceIdentifier)) { - var bindings = this._bindingDictionary.get(serviceIdentifier); - this._deactivateSingletons(bindings); - } - this._removeServiceFromDictionary(serviceIdentifier); - }; - Container.prototype.unbindAsync = function (serviceIdentifier) { - return __awaiter(this, void 0, void 0, function () { - var bindings; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!this._bindingDictionary.hasKey(serviceIdentifier)) return [3, 2]; - bindings = this._bindingDictionary.get(serviceIdentifier); - return [4, this._deactivateSingletonsAsync(bindings)]; - case 1: - _a.sent(); - _a.label = 2; - case 2: - this._removeServiceFromDictionary(serviceIdentifier); - return [2]; - } - }); - }); - }; - Container.prototype.unbindAll = function () { - var _this = this; - this._bindingDictionary.traverse(function (_key, value) { - _this._deactivateSingletons(value); - }); - this._bindingDictionary = new _lookup__WEBPACK_IMPORTED_MODULE_3__.Lookup(); - }; - Container.prototype.unbindAllAsync = function () { - return __awaiter(this, void 0, void 0, function () { - var promises; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - promises = []; - this._bindingDictionary.traverse(function (_key, value) { - promises.push(_this._deactivateSingletonsAsync(value)); - }); - return [4, Promise.all(promises)]; - case 1: - _a.sent(); - this._bindingDictionary = new _lookup__WEBPACK_IMPORTED_MODULE_3__.Lookup(); - return [2]; - } - }); - }); - }; - Container.prototype.onActivation = function (serviceIdentifier, onActivation) { - this._activations.add(serviceIdentifier, onActivation); - }; - Container.prototype.onDeactivation = function (serviceIdentifier, onDeactivation) { - this._deactivations.add(serviceIdentifier, onDeactivation); - }; - Container.prototype.isBound = function (serviceIdentifier) { - var bound = this._bindingDictionary.hasKey(serviceIdentifier); - if (!bound && this.parent) { - bound = this.parent.isBound(serviceIdentifier); - } - return bound; - }; - Container.prototype.isCurrentBound = function (serviceIdentifier) { - return this._bindingDictionary.hasKey(serviceIdentifier); - }; - Container.prototype.isBoundNamed = function (serviceIdentifier, named) { - return this.isBoundTagged(serviceIdentifier, _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.NAMED_TAG, named); - }; - Container.prototype.isBoundTagged = function (serviceIdentifier, key, value) { - var bound = false; - if (this._bindingDictionary.hasKey(serviceIdentifier)) { - var bindings = this._bindingDictionary.get(serviceIdentifier); - var request_1 = (0,_planning_planner__WEBPACK_IMPORTED_MODULE_6__.createMockRequest)(this, serviceIdentifier, key, value); - bound = bindings.some(function (b) { return b.constraint(request_1); }); - } - if (!bound && this.parent) { - bound = this.parent.isBoundTagged(serviceIdentifier, key, value); - } - return bound; - }; - Container.prototype.snapshot = function () { - this._snapshots.push(_container_snapshot__WEBPACK_IMPORTED_MODULE_10__.ContainerSnapshot.of(this._bindingDictionary.clone(), this._middleware, this._activations.clone(), this._deactivations.clone(), this._moduleActivationStore.clone())); - }; - Container.prototype.restore = function () { - var snapshot = this._snapshots.pop(); - if (snapshot === undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.NO_MORE_SNAPSHOTS_AVAILABLE); - } - this._bindingDictionary = snapshot.bindings; - this._activations = snapshot.activations; - this._deactivations = snapshot.deactivations; - this._middleware = snapshot.middleware; - this._moduleActivationStore = snapshot.moduleActivationStore; - }; - Container.prototype.createChild = function (containerOptions) { - var child = new Container(containerOptions || this.options); - child.parent = this; - return child; - }; - Container.prototype.applyMiddleware = function () { - var middlewares = []; - for (var _i = 0; _i < arguments.length; _i++) { - middlewares[_i] = arguments[_i]; - } - var initial = (this._middleware) ? this._middleware : this._planAndResolve(); - this._middleware = middlewares.reduce(function (prev, curr) { return curr(prev); }, initial); - }; - Container.prototype.applyCustomMetadataReader = function (metadataReader) { - this._metadataReader = metadataReader; - }; - Container.prototype.get = function (serviceIdentifier) { - var getArgs = this._getNotAllArgs(serviceIdentifier, false); - return this._getButThrowIfAsync(getArgs); - }; - Container.prototype.getAsync = function (serviceIdentifier) { - return __awaiter(this, void 0, void 0, function () { - var getArgs; - return __generator(this, function (_a) { - getArgs = this._getNotAllArgs(serviceIdentifier, false); - return [2, this._get(getArgs)]; - }); - }); - }; - Container.prototype.getTagged = function (serviceIdentifier, key, value) { - var getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value); - return this._getButThrowIfAsync(getArgs); - }; - Container.prototype.getTaggedAsync = function (serviceIdentifier, key, value) { - return __awaiter(this, void 0, void 0, function () { - var getArgs; - return __generator(this, function (_a) { - getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value); - return [2, this._get(getArgs)]; - }); - }); - }; - Container.prototype.getNamed = function (serviceIdentifier, named) { - return this.getTagged(serviceIdentifier, _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.NAMED_TAG, named); - }; - Container.prototype.getNamedAsync = function (serviceIdentifier, named) { - return this.getTaggedAsync(serviceIdentifier, _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.NAMED_TAG, named); - }; - Container.prototype.getAll = function (serviceIdentifier) { - var getArgs = this._getAllArgs(serviceIdentifier); - return this._getButThrowIfAsync(getArgs); - }; - Container.prototype.getAllAsync = function (serviceIdentifier) { - var getArgs = this._getAllArgs(serviceIdentifier); - return this._getAll(getArgs); - }; - Container.prototype.getAllTagged = function (serviceIdentifier, key, value) { - var getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value); - return this._getButThrowIfAsync(getArgs); - }; - Container.prototype.getAllTaggedAsync = function (serviceIdentifier, key, value) { - var getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value); - return this._getAll(getArgs); - }; - Container.prototype.getAllNamed = function (serviceIdentifier, named) { - return this.getAllTagged(serviceIdentifier, _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.NAMED_TAG, named); - }; - Container.prototype.getAllNamedAsync = function (serviceIdentifier, named) { - return this.getAllTaggedAsync(serviceIdentifier, _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.NAMED_TAG, named); - }; - Container.prototype.resolve = function (constructorFunction) { - var isBound = this.isBound(constructorFunction); - if (!isBound) { - this.bind(constructorFunction).toSelf(); - } - var resolved = this.get(constructorFunction); - if (!isBound) { - this.unbind(constructorFunction); - } - return resolved; - }; - Container.prototype._preDestroy = function (constructor, instance) { - if (Reflect.hasMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.PRE_DESTROY, constructor)) { - var data = Reflect.getMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_9__.PRE_DESTROY, constructor); - return instance[data.value](); - } - }; - Container.prototype._removeModuleHandlers = function (moduleId) { - var moduleActivationsHandlers = this._moduleActivationStore.remove(moduleId); - this._activations.removeIntersection(moduleActivationsHandlers.onActivations); - this._deactivations.removeIntersection(moduleActivationsHandlers.onDeactivations); - }; - Container.prototype._removeModuleBindings = function (moduleId) { - return this._bindingDictionary.removeByCondition(function (binding) { return binding.moduleId === moduleId; }); - }; - Container.prototype._deactivate = function (binding, instance) { - var _this = this; - var constructor = Object.getPrototypeOf(instance).constructor; - try { - if (this._deactivations.hasKey(binding.serviceIdentifier)) { - var result = this._deactivateContainer(instance, this._deactivations.get(binding.serviceIdentifier).values()); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromise)(result)) { - return this._handleDeactivationError(result.then(function () { return _this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor); }), constructor); - } - } - var propagateDeactivationResult = this._propagateContainerDeactivationThenBindingAndPreDestroy(binding, instance, constructor); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromise)(propagateDeactivationResult)) { - return this._handleDeactivationError(propagateDeactivationResult, constructor); - } - } - catch (ex) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.ON_DEACTIVATION_ERROR(constructor.name, ex.message)); - } - }; - Container.prototype._handleDeactivationError = function (asyncResult, constructor) { - return __awaiter(this, void 0, void 0, function () { - var ex_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4, asyncResult]; - case 1: - _a.sent(); - return [3, 3]; - case 2: - ex_1 = _a.sent(); - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.ON_DEACTIVATION_ERROR(constructor.name, ex_1.message)); - case 3: return [2]; - } - }); - }); - }; - Container.prototype._deactivateContainer = function (instance, deactivationsIterator) { - var _this = this; - var deactivation = deactivationsIterator.next(); - while (deactivation.value) { - var result = deactivation.value(instance); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromise)(result)) { - return result.then(function () { - return _this._deactivateContainerAsync(instance, deactivationsIterator); - }); - } - deactivation = deactivationsIterator.next(); - } - }; - Container.prototype._deactivateContainerAsync = function (instance, deactivationsIterator) { - return __awaiter(this, void 0, void 0, function () { - var deactivation; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - deactivation = deactivationsIterator.next(); - _a.label = 1; - case 1: - if (!deactivation.value) return [3, 3]; - return [4, deactivation.value(instance)]; - case 2: - _a.sent(); - deactivation = deactivationsIterator.next(); - return [3, 1]; - case 3: return [2]; - } - }); - }); - }; - Container.prototype._getContainerModuleHelpersFactory = function () { - var _this = this; - var setModuleId = function (bindingToSyntax, moduleId) { - bindingToSyntax._binding.moduleId = moduleId; - }; - var getBindFunction = function (moduleId) { - return function (serviceIdentifier) { - var bindingToSyntax = _this.bind(serviceIdentifier); - setModuleId(bindingToSyntax, moduleId); - return bindingToSyntax; - }; - }; - var getUnbindFunction = function () { - return function (serviceIdentifier) { - return _this.unbind(serviceIdentifier); - }; - }; - var getUnbindAsyncFunction = function () { - return function (serviceIdentifier) { - return _this.unbindAsync(serviceIdentifier); - }; - }; - var getIsboundFunction = function () { - return function (serviceIdentifier) { - return _this.isBound(serviceIdentifier); - }; - }; - var getRebindFunction = function (moduleId) { - return function (serviceIdentifier) { - var bindingToSyntax = _this.rebind(serviceIdentifier); - setModuleId(bindingToSyntax, moduleId); - return bindingToSyntax; - }; - }; - var getOnActivationFunction = function (moduleId) { - return function (serviceIdentifier, onActivation) { - _this._moduleActivationStore.addActivation(moduleId, serviceIdentifier, onActivation); - _this.onActivation(serviceIdentifier, onActivation); - }; - }; - var getOnDeactivationFunction = function (moduleId) { - return function (serviceIdentifier, onDeactivation) { - _this._moduleActivationStore.addDeactivation(moduleId, serviceIdentifier, onDeactivation); - _this.onDeactivation(serviceIdentifier, onDeactivation); - }; - }; - return function (mId) { return ({ - bindFunction: getBindFunction(mId), - isboundFunction: getIsboundFunction(), - onActivationFunction: getOnActivationFunction(mId), - onDeactivationFunction: getOnDeactivationFunction(mId), - rebindFunction: getRebindFunction(mId), - unbindFunction: getUnbindFunction(), - unbindAsyncFunction: getUnbindAsyncFunction() - }); }; - }; - Container.prototype._getAll = function (getArgs) { - return Promise.all(this._get(getArgs)); - }; - Container.prototype._get = function (getArgs) { - var planAndResolveArgs = __assign(__assign({}, getArgs), { contextInterceptor: function (context) { return context; }, targetType: _constants_literal_types__WEBPACK_IMPORTED_MODULE_1__.TargetTypeEnum.Variable }); - if (this._middleware) { - var middlewareResult = this._middleware(planAndResolveArgs); - if (middlewareResult === undefined || middlewareResult === null) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.INVALID_MIDDLEWARE_RETURN); - } - return middlewareResult; - } - return this._planAndResolve()(planAndResolveArgs); - }; - Container.prototype._getButThrowIfAsync = function (getArgs) { - var result = this._get(getArgs); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromiseOrContainsPromise)(result)) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.LAZY_IN_SYNC(getArgs.serviceIdentifier)); - } - return result; - }; - Container.prototype._getAllArgs = function (serviceIdentifier) { - var getAllArgs = { - avoidConstraints: true, - isMultiInject: true, - serviceIdentifier: serviceIdentifier, - }; - return getAllArgs; - }; - Container.prototype._getNotAllArgs = function (serviceIdentifier, isMultiInject, key, value) { - var getNotAllArgs = { - avoidConstraints: false, - isMultiInject: isMultiInject, - serviceIdentifier: serviceIdentifier, - key: key, - value: value, - }; - return getNotAllArgs; - }; - Container.prototype._planAndResolve = function () { - var _this = this; - return function (args) { - var context = (0,_planning_planner__WEBPACK_IMPORTED_MODULE_6__.plan)(_this._metadataReader, _this, args.isMultiInject, args.targetType, args.serviceIdentifier, args.key, args.value, args.avoidConstraints); - context = args.contextInterceptor(context); - var result = (0,_resolution_resolver__WEBPACK_IMPORTED_MODULE_12__.resolve)(context); - return result; - }; - }; - Container.prototype._deactivateIfSingleton = function (binding) { - var _this = this; - if (!binding.activated) { - return; - } - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromise)(binding.cache)) { - return binding.cache.then(function (resolved) { return _this._deactivate(binding, resolved); }); - } - return this._deactivate(binding, binding.cache); - }; - Container.prototype._deactivateSingletons = function (bindings) { - for (var _i = 0, bindings_1 = bindings; _i < bindings_1.length; _i++) { - var binding = bindings_1[_i]; - var result = this._deactivateIfSingleton(binding); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromise)(result)) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.ASYNC_UNBIND_REQUIRED); - } - } - }; - Container.prototype._deactivateSingletonsAsync = function (bindings) { - return __awaiter(this, void 0, void 0, function () { - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4, Promise.all(bindings.map(function (b) { return _this._deactivateIfSingleton(b); }))]; - case 1: - _a.sent(); - return [2]; - } - }); - }); - }; - Container.prototype._propagateContainerDeactivationThenBindingAndPreDestroy = function (binding, instance, constructor) { - if (this.parent) { - return this._deactivate.bind(this.parent)(binding, instance); - } - else { - return this._bindingDeactivationAndPreDestroy(binding, instance, constructor); - } - }; - Container.prototype._propagateContainerDeactivationThenBindingAndPreDestroyAsync = function (binding, instance, constructor) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!this.parent) return [3, 2]; - return [4, this._deactivate.bind(this.parent)(binding, instance)]; - case 1: - _a.sent(); - return [3, 4]; - case 2: return [4, this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor)]; - case 3: - _a.sent(); - _a.label = 4; - case 4: return [2]; - } - }); - }); - }; - Container.prototype._removeServiceFromDictionary = function (serviceIdentifier) { - try { - this._bindingDictionary.remove(serviceIdentifier); - } - catch (e) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.CANNOT_UNBIND + " " + (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_13__.getServiceIdentifierAsString)(serviceIdentifier)); - } - }; - Container.prototype._bindingDeactivationAndPreDestroy = function (binding, instance, constructor) { - var _this = this; - if (typeof binding.onDeactivation === "function") { - var result = binding.onDeactivation(instance); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_11__.isPromise)(result)) { - return result.then(function () { return _this._preDestroy(constructor, instance); }); - } - } - return this._preDestroy(constructor, instance); - }; - Container.prototype._bindingDeactivationAndPreDestroyAsync = function (binding, instance, constructor) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(typeof binding.onDeactivation === "function")) return [3, 2]; - return [4, binding.onDeactivation(instance)]; - case 1: - _a.sent(); - _a.label = 2; - case 2: return [4, this._preDestroy(constructor, instance)]; - case 3: - _a.sent(); - return [2]; - } - }); - }); - }; - return Container; -}()); - -//# sourceMappingURL=container.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/container/container_module.js": -/*!*****************************************************************!*\ - !*** ./node_modules/inversify/es/container/container_module.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "AsyncContainerModule": () => (/* binding */ AsyncContainerModule), -/* harmony export */ "ContainerModule": () => (/* binding */ ContainerModule) -/* harmony export */ }); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/id */ "./node_modules/inversify/es/utils/id.js"); - -var ContainerModule = (function () { - function ContainerModule(registry) { - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_0__.id)(); - this.registry = registry; - } - return ContainerModule; -}()); - -var AsyncContainerModule = (function () { - function AsyncContainerModule(registry) { - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_0__.id)(); - this.registry = registry; - } - return AsyncContainerModule; -}()); - -//# sourceMappingURL=container_module.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/container/container_snapshot.js": -/*!*******************************************************************!*\ - !*** ./node_modules/inversify/es/container/container_snapshot.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "ContainerSnapshot": () => (/* binding */ ContainerSnapshot) -/* harmony export */ }); -var ContainerSnapshot = (function () { - function ContainerSnapshot() { - } - ContainerSnapshot.of = function (bindings, middleware, activations, deactivations, moduleActivationStore) { - var snapshot = new ContainerSnapshot(); - snapshot.bindings = bindings; - snapshot.middleware = middleware; - snapshot.deactivations = deactivations; - snapshot.activations = activations; - snapshot.moduleActivationStore = moduleActivationStore; - return snapshot; - }; - return ContainerSnapshot; -}()); - -//# sourceMappingURL=container_snapshot.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/container/lookup.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/container/lookup.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Lookup": () => (/* binding */ Lookup) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _utils_clonable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/clonable */ "./node_modules/inversify/es/utils/clonable.js"); - - -var Lookup = (function () { - function Lookup() { - this._map = new Map(); - } - Lookup.prototype.getMap = function () { - return this._map; - }; - Lookup.prototype.add = function (serviceIdentifier, value) { - if (serviceIdentifier === null || serviceIdentifier === undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.NULL_ARGUMENT); - } - if (value === null || value === undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.NULL_ARGUMENT); - } - var entry = this._map.get(serviceIdentifier); - if (entry !== undefined) { - entry.push(value); - } - else { - this._map.set(serviceIdentifier, [value]); - } - }; - Lookup.prototype.get = function (serviceIdentifier) { - if (serviceIdentifier === null || serviceIdentifier === undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.NULL_ARGUMENT); - } - var entry = this._map.get(serviceIdentifier); - if (entry !== undefined) { - return entry; - } - else { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.KEY_NOT_FOUND); - } - }; - Lookup.prototype.remove = function (serviceIdentifier) { - if (serviceIdentifier === null || serviceIdentifier === undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.NULL_ARGUMENT); - } - if (!this._map.delete(serviceIdentifier)) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.KEY_NOT_FOUND); - } - }; - Lookup.prototype.removeIntersection = function (lookup) { - var _this = this; - this.traverse(function (serviceIdentifier, value) { - var lookupActivations = lookup.hasKey(serviceIdentifier) ? lookup.get(serviceIdentifier) : undefined; - if (lookupActivations !== undefined) { - var filteredValues = value.filter(function (lookupValue) { - return !lookupActivations.some(function (moduleActivation) { return lookupValue === moduleActivation; }); - }); - _this._setValue(serviceIdentifier, filteredValues); - } - }); - }; - Lookup.prototype.removeByCondition = function (condition) { - var _this = this; - var removals = []; - this._map.forEach(function (entries, key) { - var updatedEntries = []; - for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) { - var entry = entries_1[_i]; - var remove = condition(entry); - if (remove) { - removals.push(entry); - } - else { - updatedEntries.push(entry); - } - } - _this._setValue(key, updatedEntries); - }); - return removals; - }; - Lookup.prototype.hasKey = function (serviceIdentifier) { - if (serviceIdentifier === null || serviceIdentifier === undefined) { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.NULL_ARGUMENT); - } - return this._map.has(serviceIdentifier); - }; - Lookup.prototype.clone = function () { - var copy = new Lookup(); - this._map.forEach(function (value, key) { - value.forEach(function (b) { return copy.add(key, (0,_utils_clonable__WEBPACK_IMPORTED_MODULE_1__.isClonable)(b) ? b.clone() : b); }); - }); - return copy; - }; - Lookup.prototype.traverse = function (func) { - this._map.forEach(function (value, key) { - func(key, value); - }); - }; - Lookup.prototype._setValue = function (serviceIdentifier, value) { - if (value.length > 0) { - this._map.set(serviceIdentifier, value); - } - else { - this._map.delete(serviceIdentifier); - } - }; - return Lookup; -}()); - -//# sourceMappingURL=lookup.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/container/module_activation_store.js": -/*!************************************************************************!*\ - !*** ./node_modules/inversify/es/container/module_activation_store.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "ModuleActivationStore": () => (/* binding */ ModuleActivationStore) -/* harmony export */ }); -/* harmony import */ var _lookup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lookup */ "./node_modules/inversify/es/container/lookup.js"); - -var ModuleActivationStore = (function () { - function ModuleActivationStore() { - this._map = new Map(); - } - ModuleActivationStore.prototype.remove = function (moduleId) { - if (this._map.has(moduleId)) { - var handlers = this._map.get(moduleId); - this._map.delete(moduleId); - return handlers; - } - return this._getEmptyHandlersStore(); - }; - ModuleActivationStore.prototype.addDeactivation = function (moduleId, serviceIdentifier, onDeactivation) { - this._getModuleActivationHandlers(moduleId) - .onDeactivations.add(serviceIdentifier, onDeactivation); - }; - ModuleActivationStore.prototype.addActivation = function (moduleId, serviceIdentifier, onActivation) { - this._getModuleActivationHandlers(moduleId) - .onActivations.add(serviceIdentifier, onActivation); - }; - ModuleActivationStore.prototype.clone = function () { - var clone = new ModuleActivationStore(); - this._map.forEach(function (handlersStore, moduleId) { - clone._map.set(moduleId, { - onActivations: handlersStore.onActivations.clone(), - onDeactivations: handlersStore.onDeactivations.clone(), - }); - }); - return clone; - }; - ModuleActivationStore.prototype._getModuleActivationHandlers = function (moduleId) { - var moduleActivationHandlers = this._map.get(moduleId); - if (moduleActivationHandlers === undefined) { - moduleActivationHandlers = this._getEmptyHandlersStore(); - this._map.set(moduleId, moduleActivationHandlers); - } - return moduleActivationHandlers; - }; - ModuleActivationStore.prototype._getEmptyHandlersStore = function () { - var handlersStore = { - onActivations: new _lookup__WEBPACK_IMPORTED_MODULE_0__.Lookup(), - onDeactivations: new _lookup__WEBPACK_IMPORTED_MODULE_0__.Lookup() - }; - return handlersStore; - }; - return ModuleActivationStore; -}()); - -//# sourceMappingURL=module_activation_store.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/interfaces/interfaces.js": -/*!************************************************************!*\ - !*** ./node_modules/inversify/es/interfaces/interfaces.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "interfaces": () => (/* binding */ interfaces) -/* harmony export */ }); -var interfaces; -(function (interfaces) { - ; -})(interfaces || (interfaces = {})); - -//# sourceMappingURL=interfaces.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/inversify.js": -/*!************************************************!*\ - !*** ./node_modules/inversify/es/inversify.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "AsyncContainerModule": () => (/* reexport safe */ _container_container_module__WEBPACK_IMPORTED_MODULE_3__.AsyncContainerModule), -/* harmony export */ "BindingScopeEnum": () => (/* reexport safe */ _constants_literal_types__WEBPACK_IMPORTED_MODULE_2__.BindingScopeEnum), -/* harmony export */ "BindingTypeEnum": () => (/* reexport safe */ _constants_literal_types__WEBPACK_IMPORTED_MODULE_2__.BindingTypeEnum), -/* harmony export */ "Container": () => (/* reexport safe */ _container_container__WEBPACK_IMPORTED_MODULE_1__.Container), -/* harmony export */ "ContainerModule": () => (/* reexport safe */ _container_container_module__WEBPACK_IMPORTED_MODULE_3__.ContainerModule), -/* harmony export */ "LazyServiceIdentifer": () => (/* reexport safe */ _annotation_lazy_service_identifier__WEBPACK_IMPORTED_MODULE_9__.LazyServiceIdentifer), -/* harmony export */ "METADATA_KEY": () => (/* binding */ METADATA_KEY), -/* harmony export */ "MetadataReader": () => (/* reexport safe */ _planning_metadata_reader__WEBPACK_IMPORTED_MODULE_16__.MetadataReader), -/* harmony export */ "TargetTypeEnum": () => (/* reexport safe */ _constants_literal_types__WEBPACK_IMPORTED_MODULE_2__.TargetTypeEnum), -/* harmony export */ "createTaggedDecorator": () => (/* reexport safe */ _annotation_decorator_utils__WEBPACK_IMPORTED_MODULE_4__.createTaggedDecorator), -/* harmony export */ "decorate": () => (/* reexport safe */ _annotation_decorator_utils__WEBPACK_IMPORTED_MODULE_4__.decorate), -/* harmony export */ "getServiceIdentifierAsString": () => (/* reexport safe */ _utils_serialization__WEBPACK_IMPORTED_MODULE_20__.getServiceIdentifierAsString), -/* harmony export */ "id": () => (/* reexport safe */ _utils_id__WEBPACK_IMPORTED_MODULE_17__.id), -/* harmony export */ "inject": () => (/* reexport safe */ _annotation_inject__WEBPACK_IMPORTED_MODULE_8__.inject), -/* harmony export */ "injectable": () => (/* reexport safe */ _annotation_injectable__WEBPACK_IMPORTED_MODULE_5__.injectable), -/* harmony export */ "interfaces": () => (/* reexport safe */ _interfaces_interfaces__WEBPACK_IMPORTED_MODULE_18__.interfaces), -/* harmony export */ "multiBindToService": () => (/* reexport safe */ _utils_binding_utils__WEBPACK_IMPORTED_MODULE_21__.multiBindToService), -/* harmony export */ "multiInject": () => (/* reexport safe */ _annotation_multi_inject__WEBPACK_IMPORTED_MODULE_12__.multiInject), -/* harmony export */ "named": () => (/* reexport safe */ _annotation_named__WEBPACK_IMPORTED_MODULE_7__.named), -/* harmony export */ "namedConstraint": () => (/* reexport safe */ _syntax_constraint_helpers__WEBPACK_IMPORTED_MODULE_19__.namedConstraint), -/* harmony export */ "optional": () => (/* reexport safe */ _annotation_optional__WEBPACK_IMPORTED_MODULE_10__.optional), -/* harmony export */ "postConstruct": () => (/* reexport safe */ _annotation_post_construct__WEBPACK_IMPORTED_MODULE_14__.postConstruct), -/* harmony export */ "preDestroy": () => (/* reexport safe */ _annotation_pre_destroy__WEBPACK_IMPORTED_MODULE_15__.preDestroy), -/* harmony export */ "tagged": () => (/* reexport safe */ _annotation_tagged__WEBPACK_IMPORTED_MODULE_6__.tagged), -/* harmony export */ "taggedConstraint": () => (/* reexport safe */ _syntax_constraint_helpers__WEBPACK_IMPORTED_MODULE_19__.taggedConstraint), -/* harmony export */ "targetName": () => (/* reexport safe */ _annotation_target_name__WEBPACK_IMPORTED_MODULE_13__.targetName), -/* harmony export */ "traverseAncerstors": () => (/* reexport safe */ _syntax_constraint_helpers__WEBPACK_IMPORTED_MODULE_19__.traverseAncerstors), -/* harmony export */ "typeConstraint": () => (/* reexport safe */ _syntax_constraint_helpers__WEBPACK_IMPORTED_MODULE_19__.typeConstraint), -/* harmony export */ "unmanaged": () => (/* reexport safe */ _annotation_unmanaged__WEBPACK_IMPORTED_MODULE_11__.unmanaged) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _container_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container/container */ "./node_modules/inversify/es/container/container.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _container_container_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container/container_module */ "./node_modules/inversify/es/container/container_module.js"); -/* harmony import */ var _annotation_decorator_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./annotation/decorator_utils */ "./node_modules/inversify/es/annotation/decorator_utils.js"); -/* harmony import */ var _annotation_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./annotation/injectable */ "./node_modules/inversify/es/annotation/injectable.js"); -/* harmony import */ var _annotation_tagged__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./annotation/tagged */ "./node_modules/inversify/es/annotation/tagged.js"); -/* harmony import */ var _annotation_named__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./annotation/named */ "./node_modules/inversify/es/annotation/named.js"); -/* harmony import */ var _annotation_inject__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./annotation/inject */ "./node_modules/inversify/es/annotation/inject.js"); -/* harmony import */ var _annotation_lazy_service_identifier__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./annotation/lazy_service_identifier */ "./node_modules/inversify/es/annotation/lazy_service_identifier.js"); -/* harmony import */ var _annotation_optional__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./annotation/optional */ "./node_modules/inversify/es/annotation/optional.js"); -/* harmony import */ var _annotation_unmanaged__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./annotation/unmanaged */ "./node_modules/inversify/es/annotation/unmanaged.js"); -/* harmony import */ var _annotation_multi_inject__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./annotation/multi_inject */ "./node_modules/inversify/es/annotation/multi_inject.js"); -/* harmony import */ var _annotation_target_name__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./annotation/target_name */ "./node_modules/inversify/es/annotation/target_name.js"); -/* harmony import */ var _annotation_post_construct__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./annotation/post_construct */ "./node_modules/inversify/es/annotation/post_construct.js"); -/* harmony import */ var _annotation_pre_destroy__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./annotation/pre_destroy */ "./node_modules/inversify/es/annotation/pre_destroy.js"); -/* harmony import */ var _planning_metadata_reader__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./planning/metadata_reader */ "./node_modules/inversify/es/planning/metadata_reader.js"); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./utils/id */ "./node_modules/inversify/es/utils/id.js"); -/* harmony import */ var _interfaces_interfaces__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./interfaces/interfaces */ "./node_modules/inversify/es/interfaces/interfaces.js"); -/* harmony import */ var _syntax_constraint_helpers__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./syntax/constraint_helpers */ "./node_modules/inversify/es/syntax/constraint_helpers.js"); -/* harmony import */ var _utils_serialization__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./utils/serialization */ "./node_modules/inversify/es/utils/serialization.js"); -/* harmony import */ var _utils_binding_utils__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./utils/binding_utils */ "./node_modules/inversify/es/utils/binding_utils.js"); - -var METADATA_KEY = _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__; - - - - - - - - - - - - - - - - - - - - - - -//# sourceMappingURL=inversify.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/context.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/planning/context.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Context": () => (/* binding */ Context) -/* harmony export */ }); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/id */ "./node_modules/inversify/es/utils/id.js"); - -var Context = (function () { - function Context(container) { - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_0__.id)(); - this.container = container; - } - Context.prototype.addPlan = function (plan) { - this.plan = plan; - }; - Context.prototype.setCurrentRequest = function (currentRequest) { - this.currentRequest = currentRequest; - }; - return Context; -}()); - -//# sourceMappingURL=context.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/metadata.js": -/*!********************************************************!*\ - !*** ./node_modules/inversify/es/planning/metadata.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Metadata": () => (/* binding */ Metadata) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); - -var Metadata = (function () { - function Metadata(key, value) { - this.key = key; - this.value = value; - } - Metadata.prototype.toString = function () { - if (this.key === _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.NAMED_TAG) { - return "named: " + String(this.value).toString() + " "; - } - else { - return "tagged: { key:" + this.key.toString() + ", value: " + String(this.value) + " }"; - } - }; - return Metadata; -}()); - -//# sourceMappingURL=metadata.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/metadata_reader.js": -/*!***************************************************************!*\ - !*** ./node_modules/inversify/es/planning/metadata_reader.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "MetadataReader": () => (/* binding */ MetadataReader) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); - -var MetadataReader = (function () { - function MetadataReader() { - } - MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) { - var compilerGeneratedMetadata = Reflect.getMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.PARAM_TYPES, constructorFunc); - var userGeneratedMetadata = Reflect.getMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.TAGGED, constructorFunc); - return { - compilerGeneratedMetadata: compilerGeneratedMetadata, - userGeneratedMetadata: userGeneratedMetadata || {} - }; - }; - MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) { - var userGeneratedMetadata = Reflect.getMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.TAGGED_PROP, constructorFunc) || []; - return userGeneratedMetadata; - }; - return MetadataReader; -}()); - -//# sourceMappingURL=metadata_reader.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/plan.js": -/*!****************************************************!*\ - !*** ./node_modules/inversify/es/planning/plan.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Plan": () => (/* binding */ Plan) -/* harmony export */ }); -var Plan = (function () { - function Plan(parentContext, rootRequest) { - this.parentContext = parentContext; - this.rootRequest = rootRequest; - } - return Plan; -}()); - -//# sourceMappingURL=plan.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/planner.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/planning/planner.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "createMockRequest": () => (/* binding */ createMockRequest), -/* harmony export */ "getBindingDictionary": () => (/* binding */ getBindingDictionary), -/* harmony export */ "plan": () => (/* binding */ plan) -/* harmony export */ }); -/* harmony import */ var _bindings_binding_count__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../bindings/binding_count */ "./node_modules/inversify/es/bindings/binding_count.js"); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _utils_exceptions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/exceptions */ "./node_modules/inversify/es/utils/exceptions.js"); -/* harmony import */ var _utils_serialization__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reflection_utils */ "./node_modules/inversify/es/utils/serialization.js"); -/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./context */ "./node_modules/inversify/es/planning/context.js"); -/* harmony import */ var _metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _plan__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./plan */ "./node_modules/inversify/es/planning/plan.js"); -/* harmony import */ var _reflection_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./reflection_utils */ "./node_modules/inversify/es/planning/reflection_utils.js"); -/* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./request */ "./node_modules/inversify/es/planning/request.js"); -/* harmony import */ var _target__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./target */ "./node_modules/inversify/es/planning/target.js"); - - - - - - - - - - - - -function getBindingDictionary(cntnr) { - return cntnr._bindingDictionary; -} -function _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) { - var metadataKey = isMultiInject ? _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.MULTI_INJECT_TAG : _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_0__.INJECT_TAG; - var injectMetadata = new _metadata__WEBPACK_IMPORTED_MODULE_1__.Metadata(metadataKey, serviceIdentifier); - var target = new _target__WEBPACK_IMPORTED_MODULE_2__.Target(targetType, name, serviceIdentifier, injectMetadata); - if (key !== undefined) { - var tagMetadata = new _metadata__WEBPACK_IMPORTED_MODULE_1__.Metadata(key, value); - target.metadata.push(tagMetadata); - } - return target; -} -function _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) { - var bindings = getBindings(context.container, target.serviceIdentifier); - var activeBindings = []; - if (bindings.length === _bindings_binding_count__WEBPACK_IMPORTED_MODULE_3__.BindingCount.NoBindingsAvailable && - context.container.options.autoBindInjectable && - typeof target.serviceIdentifier === "function" && - metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata) { - context.container.bind(target.serviceIdentifier).toSelf(); - bindings = getBindings(context.container, target.serviceIdentifier); - } - if (!avoidConstraints) { - activeBindings = bindings.filter(function (binding) { - var request = new _request__WEBPACK_IMPORTED_MODULE_4__.Request(binding.serviceIdentifier, context, parentRequest, binding, target); - return binding.constraint(request); - }); - } - else { - activeBindings = bindings; - } - _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container); - return activeBindings; -} -function _validateActiveBindingCount(serviceIdentifier, bindings, target, container) { - switch (bindings.length) { - case _bindings_binding_count__WEBPACK_IMPORTED_MODULE_3__.BindingCount.NoBindingsAvailable: - if (target.isOptional()) { - return bindings; - } - else { - var serviceIdentifierString = (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.getServiceIdentifierAsString)(serviceIdentifier); - var msg = _constants_error_msgs__WEBPACK_IMPORTED_MODULE_6__.NOT_REGISTERED; - msg += (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.listMetadataForTarget)(serviceIdentifierString, target); - msg += (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.listRegisteredBindingsForServiceIdentifier)(container, serviceIdentifierString, getBindings); - throw new Error(msg); - } - case _bindings_binding_count__WEBPACK_IMPORTED_MODULE_3__.BindingCount.OnlyOneBindingAvailable: - return bindings; - case _bindings_binding_count__WEBPACK_IMPORTED_MODULE_3__.BindingCount.MultipleBindingsAvailable: - default: - if (!target.isArray()) { - var serviceIdentifierString = (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.getServiceIdentifierAsString)(serviceIdentifier); - var msg = _constants_error_msgs__WEBPACK_IMPORTED_MODULE_6__.AMBIGUOUS_MATCH + " " + serviceIdentifierString; - msg += (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.listRegisteredBindingsForServiceIdentifier)(container, serviceIdentifierString, getBindings); - throw new Error(msg); - } - else { - return bindings; - } - } -} -function _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, parentRequest, target) { - var activeBindings; - var childRequest; - if (parentRequest === null) { - activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target); - childRequest = new _request__WEBPACK_IMPORTED_MODULE_4__.Request(serviceIdentifier, context, null, activeBindings, target); - var thePlan = new _plan__WEBPACK_IMPORTED_MODULE_7__.Plan(context, childRequest); - context.addPlan(thePlan); - } - else { - activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target); - childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target); - } - activeBindings.forEach(function (binding) { - var subChildRequest = null; - if (target.isArray()) { - subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target); - } - else { - if (binding.cache) { - return; - } - subChildRequest = childRequest; - } - if (binding.type === _constants_literal_types__WEBPACK_IMPORTED_MODULE_8__.BindingTypeEnum.Instance && binding.implementationType !== null) { - var dependencies = (0,_reflection_utils__WEBPACK_IMPORTED_MODULE_9__.getDependencies)(metadataReader, binding.implementationType); - if (!context.container.options.skipBaseClassChecks) { - var baseClassDependencyCount = (0,_reflection_utils__WEBPACK_IMPORTED_MODULE_9__.getBaseClassDependencyCount)(metadataReader, binding.implementationType); - if (dependencies.length < baseClassDependencyCount) { - var error = _constants_error_msgs__WEBPACK_IMPORTED_MODULE_6__.ARGUMENTS_LENGTH_MISMATCH((0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.getFunctionName)(binding.implementationType)); - throw new Error(error); - } - } - dependencies.forEach(function (dependency) { - _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency); - }); - } - }); -} -function getBindings(container, serviceIdentifier) { - var bindings = []; - var bindingDictionary = getBindingDictionary(container); - if (bindingDictionary.hasKey(serviceIdentifier)) { - bindings = bindingDictionary.get(serviceIdentifier); - } - else if (container.parent !== null) { - bindings = getBindings(container.parent, serviceIdentifier); - } - return bindings; -} -function plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints) { - if (avoidConstraints === void 0) { avoidConstraints = false; } - var context = new _context__WEBPACK_IMPORTED_MODULE_10__.Context(container); - var target = _createTarget(isMultiInject, targetType, serviceIdentifier, "", key, value); - try { - _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target); - return context; - } - catch (error) { - if ((0,_utils_exceptions__WEBPACK_IMPORTED_MODULE_11__.isStackOverflowExeption)(error)) { - (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_5__.circularDependencyToException)(context.plan.rootRequest); - } - throw error; - } -} -function createMockRequest(container, serviceIdentifier, key, value) { - var target = new _target__WEBPACK_IMPORTED_MODULE_2__.Target(_constants_literal_types__WEBPACK_IMPORTED_MODULE_8__.TargetTypeEnum.Variable, "", serviceIdentifier, new _metadata__WEBPACK_IMPORTED_MODULE_1__.Metadata(key, value)); - var context = new _context__WEBPACK_IMPORTED_MODULE_10__.Context(container); - var request = new _request__WEBPACK_IMPORTED_MODULE_4__.Request(serviceIdentifier, context, null, [], target); - return request; -} - -//# sourceMappingURL=planner.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/queryable_string.js": -/*!****************************************************************!*\ - !*** ./node_modules/inversify/es/planning/queryable_string.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "QueryableString": () => (/* binding */ QueryableString) -/* harmony export */ }); -var QueryableString = (function () { - function QueryableString(str) { - this.str = str; - } - QueryableString.prototype.startsWith = function (searchString) { - return this.str.indexOf(searchString) === 0; - }; - QueryableString.prototype.endsWith = function (searchString) { - var reverseString = ""; - var reverseSearchString = searchString.split("").reverse().join(""); - reverseString = this.str.split("").reverse().join(""); - return this.startsWith.call({ str: reverseString }, reverseSearchString); - }; - QueryableString.prototype.contains = function (searchString) { - return (this.str.indexOf(searchString) !== -1); - }; - QueryableString.prototype.equals = function (compareString) { - return this.str === compareString; - }; - QueryableString.prototype.value = function () { - return this.str; - }; - return QueryableString; -}()); - -//# sourceMappingURL=queryable_string.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/reflection_utils.js": -/*!****************************************************************!*\ - !*** ./node_modules/inversify/es/planning/reflection_utils.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "getBaseClassDependencyCount": () => (/* binding */ getBaseClassDependencyCount), -/* harmony export */ "getDependencies": () => (/* binding */ getDependencies), -/* harmony export */ "getFunctionName": () => (/* reexport safe */ _utils_serialization__WEBPACK_IMPORTED_MODULE_0__.getFunctionName) -/* harmony export */ }); -/* harmony import */ var _annotation_lazy_service_identifier__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../annotation/lazy_service_identifier */ "./node_modules/inversify/es/annotation/lazy_service_identifier.js"); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _utils_serialization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/serialization */ "./node_modules/inversify/es/utils/serialization.js"); -/* harmony import */ var _target__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./target */ "./node_modules/inversify/es/planning/target.js"); -var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; - - - - - - -function getDependencies(metadataReader, func) { - var constructorName = (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_0__.getFunctionName)(func); - return getTargets(metadataReader, constructorName, func, false); -} -function getTargets(metadataReader, constructorName, func, isBaseClass) { - var metadata = metadataReader.getConstructorMetadata(func); - var serviceIdentifiers = metadata.compilerGeneratedMetadata; - if (serviceIdentifiers === undefined) { - var msg = _constants_error_msgs__WEBPACK_IMPORTED_MODULE_1__.MISSING_INJECTABLE_ANNOTATION + " " + constructorName + "."; - throw new Error(msg); - } - var constructorArgsMetadata = metadata.userGeneratedMetadata; - var keys = Object.keys(constructorArgsMetadata); - var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0); - var hasOptionalParameters = keys.length > func.length; - var iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length; - var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations); - var propertyTargets = getClassPropsAsTargets(metadataReader, func, constructorName); - var targets = __spreadArray(__spreadArray([], constructorTargets, true), propertyTargets, true); - return targets; -} -function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) { - var targetMetadata = constructorArgsMetadata[index.toString()] || []; - var metadata = formatTargetMetadata(targetMetadata); - var isManaged = metadata.unmanaged !== true; - var serviceIdentifier = serviceIdentifiers[index]; - var injectIdentifier = (metadata.inject || metadata.multiInject); - serviceIdentifier = (injectIdentifier) ? (injectIdentifier) : serviceIdentifier; - if (serviceIdentifier instanceof _annotation_lazy_service_identifier__WEBPACK_IMPORTED_MODULE_2__.LazyServiceIdentifer) { - serviceIdentifier = serviceIdentifier.unwrap(); - } - if (isManaged) { - var isObject = serviceIdentifier === Object; - var isFunction = serviceIdentifier === Function; - var isUndefined = serviceIdentifier === undefined; - var isUnknownType = (isObject || isFunction || isUndefined); - if (!isBaseClass && isUnknownType) { - var msg = _constants_error_msgs__WEBPACK_IMPORTED_MODULE_1__.MISSING_INJECT_ANNOTATION + " argument " + index + " in class " + constructorName + "."; - throw new Error(msg); - } - var target = new _target__WEBPACK_IMPORTED_MODULE_3__.Target(_constants_literal_types__WEBPACK_IMPORTED_MODULE_4__.TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier); - target.metadata = targetMetadata; - return target; - } - return null; -} -function getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) { - var targets = []; - for (var i = 0; i < iterations; i++) { - var index = i; - var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata); - if (target !== null) { - targets.push(target); - } - } - return targets; -} -function _getServiceIdentifierForProperty(inject, multiInject, propertyName, className) { - var serviceIdentifier = (inject || multiInject); - if (serviceIdentifier === undefined) { - var msg = _constants_error_msgs__WEBPACK_IMPORTED_MODULE_1__.MISSING_INJECTABLE_ANNOTATION + " for property " + String(propertyName) + " in class " + className + "."; - throw new Error(msg); - } - return serviceIdentifier; -} -function getClassPropsAsTargets(metadataReader, constructorFunc, constructorName) { - var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc); - var targets = []; - var symbolKeys = Object.getOwnPropertySymbols(classPropsMetadata); - var stringKeys = Object.keys(classPropsMetadata); - var keys = stringKeys.concat(symbolKeys); - for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { - var key = keys_1[_i]; - var targetMetadata = classPropsMetadata[key]; - var metadata = formatTargetMetadata(targetMetadata); - var identifier = metadata.targetName || key; - var serviceIdentifier = _getServiceIdentifierForProperty(metadata.inject, metadata.multiInject, key, constructorName); - var target = new _target__WEBPACK_IMPORTED_MODULE_3__.Target(_constants_literal_types__WEBPACK_IMPORTED_MODULE_4__.TargetTypeEnum.ClassProperty, identifier, serviceIdentifier); - target.metadata = targetMetadata; - targets.push(target); - } - var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor; - if (baseConstructor !== Object) { - var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor, constructorName); - targets = __spreadArray(__spreadArray([], targets, true), baseTargets, true); - } - return targets; -} -function getBaseClassDependencyCount(metadataReader, func) { - var baseConstructor = Object.getPrototypeOf(func.prototype).constructor; - if (baseConstructor !== Object) { - var baseConstructorName = (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_0__.getFunctionName)(baseConstructor); - var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true); - var metadata = targets.map(function (t) { return t.metadata.filter(function (m) { return m.key === _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_5__.UNMANAGED_TAG; }); }); - var unmanagedCount = [].concat.apply([], metadata).length; - var dependencyCount = targets.length - unmanagedCount; - if (dependencyCount > 0) { - return dependencyCount; - } - else { - return getBaseClassDependencyCount(metadataReader, baseConstructor); - } - } - else { - return 0; - } -} -function formatTargetMetadata(targetMetadata) { - var targetMetadataMap = {}; - targetMetadata.forEach(function (m) { - targetMetadataMap[m.key.toString()] = m.value; - }); - return { - inject: targetMetadataMap[_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_5__.INJECT_TAG], - multiInject: targetMetadataMap[_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_5__.MULTI_INJECT_TAG], - targetName: targetMetadataMap[_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_5__.NAME_TAG], - unmanaged: targetMetadataMap[_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_5__.UNMANAGED_TAG] - }; -} - -//# sourceMappingURL=reflection_utils.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/request.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/planning/request.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Request": () => (/* binding */ Request) -/* harmony export */ }); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/id */ "./node_modules/inversify/es/utils/id.js"); - -var Request = (function () { - function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) { - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_0__.id)(); - this.serviceIdentifier = serviceIdentifier; - this.parentContext = parentContext; - this.parentRequest = parentRequest; - this.target = target; - this.childRequests = []; - this.bindings = (Array.isArray(bindings) ? bindings : [bindings]); - this.requestScope = parentRequest === null - ? new Map() - : null; - } - Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) { - var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target); - this.childRequests.push(child); - return child; - }; - return Request; -}()); - -//# sourceMappingURL=request.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/planning/target.js": -/*!******************************************************!*\ - !*** ./node_modules/inversify/es/planning/target.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Target": () => (/* binding */ Target) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _utils_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/id */ "./node_modules/inversify/es/utils/id.js"); -/* harmony import */ var _utils_serialization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/serialization */ "./node_modules/inversify/es/utils/serialization.js"); -/* harmony import */ var _metadata__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./metadata */ "./node_modules/inversify/es/planning/metadata.js"); -/* harmony import */ var _queryable_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./queryable_string */ "./node_modules/inversify/es/planning/queryable_string.js"); - - - - - -var Target = (function () { - function Target(type, identifier, serviceIdentifier, namedOrTagged) { - this.id = (0,_utils_id__WEBPACK_IMPORTED_MODULE_0__.id)(); - this.type = type; - this.serviceIdentifier = serviceIdentifier; - var queryableName = typeof identifier === 'symbol' ? (0,_utils_serialization__WEBPACK_IMPORTED_MODULE_1__.getSymbolDescription)(identifier) : identifier; - this.name = new _queryable_string__WEBPACK_IMPORTED_MODULE_2__.QueryableString(queryableName || ""); - this.identifier = identifier; - this.metadata = new Array(); - var metadataItem = null; - if (typeof namedOrTagged === 'string') { - metadataItem = new _metadata__WEBPACK_IMPORTED_MODULE_3__.Metadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.NAMED_TAG, namedOrTagged); - } - else if (namedOrTagged instanceof _metadata__WEBPACK_IMPORTED_MODULE_3__.Metadata) { - metadataItem = namedOrTagged; - } - if (metadataItem !== null) { - this.metadata.push(metadataItem); - } - } - Target.prototype.hasTag = function (key) { - for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) { - var m = _a[_i]; - if (m.key === key) { - return true; - } - } - return false; - }; - Target.prototype.isArray = function () { - return this.hasTag(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.MULTI_INJECT_TAG); - }; - Target.prototype.matchesArray = function (name) { - return this.matchesTag(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.MULTI_INJECT_TAG)(name); - }; - Target.prototype.isNamed = function () { - return this.hasTag(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.NAMED_TAG); - }; - Target.prototype.isTagged = function () { - return this.metadata.some(function (metadata) { return _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); }); - }; - Target.prototype.isOptional = function () { - return this.matchesTag(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.OPTIONAL_TAG)(true); - }; - Target.prototype.getNamedTag = function () { - if (this.isNamed()) { - return this.metadata.filter(function (m) { return m.key === _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.NAMED_TAG; })[0]; - } - return null; - }; - Target.prototype.getCustomTags = function () { - if (this.isTagged()) { - return this.metadata.filter(function (metadata) { return _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); }); - } - else { - return null; - } - }; - Target.prototype.matchesNamedTag = function (name) { - return this.matchesTag(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_4__.NAMED_TAG)(name); - }; - Target.prototype.matchesTag = function (key) { - var _this = this; - return function (value) { - for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) { - var m = _a[_i]; - if (m.key === key && m.value === value) { - return true; - } - } - return false; - }; - }; - return Target; -}()); - -//# sourceMappingURL=target.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/resolution/instantiation.js": -/*!***************************************************************!*\ - !*** ./node_modules/inversify/es/resolution/instantiation.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "resolveInstance": () => (/* binding */ resolveInstance) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _utils_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/async */ "./node_modules/inversify/es/utils/async.js"); -var __assign = (undefined && undefined.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (undefined && undefined.__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 __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; - - - - -function _resolveRequests(childRequests, resolveRequest) { - return childRequests.reduce(function (resolvedRequests, childRequest) { - var injection = resolveRequest(childRequest); - var targetType = childRequest.target.type; - if (targetType === _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.TargetTypeEnum.ConstructorArgument) { - resolvedRequests.constructorInjections.push(injection); - } - else { - resolvedRequests.propertyRequests.push(childRequest); - resolvedRequests.propertyInjections.push(injection); - } - if (!resolvedRequests.isAsync) { - resolvedRequests.isAsync = (0,_utils_async__WEBPACK_IMPORTED_MODULE_1__.isPromiseOrContainsPromise)(injection); - } - return resolvedRequests; - }, { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false }); -} -function _createInstance(constr, childRequests, resolveRequest) { - var result; - if (childRequests.length > 0) { - var resolved = _resolveRequests(childRequests, resolveRequest); - var createInstanceWithInjectionsArg = __assign(__assign({}, resolved), { constr: constr }); - if (resolved.isAsync) { - result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg); - } - else { - result = createInstanceWithInjections(createInstanceWithInjectionsArg); - } - } - else { - result = new constr(); - } - return result; -} -function createInstanceWithInjections(args) { - var _a; - var instance = new ((_a = args.constr).bind.apply(_a, __spreadArray([void 0], args.constructorInjections, false)))(); - args.propertyRequests.forEach(function (r, index) { - var property = r.target.identifier; - var injection = args.propertyInjections[index]; - instance[property] = injection; - }); - return instance; -} -function createInstanceWithInjectionsAsync(args) { - return __awaiter(this, void 0, void 0, function () { - var constructorInjections, propertyInjections; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4, possiblyWaitInjections(args.constructorInjections)]; - case 1: - constructorInjections = _a.sent(); - return [4, possiblyWaitInjections(args.propertyInjections)]; - case 2: - propertyInjections = _a.sent(); - return [2, createInstanceWithInjections(__assign(__assign({}, args), { constructorInjections: constructorInjections, propertyInjections: propertyInjections }))]; - } - }); - }); -} -function possiblyWaitInjections(possiblePromiseinjections) { - return __awaiter(this, void 0, void 0, function () { - var injections, _i, possiblePromiseinjections_1, injection; - return __generator(this, function (_a) { - injections = []; - for (_i = 0, possiblePromiseinjections_1 = possiblePromiseinjections; _i < possiblePromiseinjections_1.length; _i++) { - injection = possiblePromiseinjections_1[_i]; - if (Array.isArray(injection)) { - injections.push(Promise.all(injection)); - } - else { - injections.push(injection); - } - } - return [2, Promise.all(injections)]; - }); - }); -} -function _getInstanceAfterPostConstruct(constr, result) { - var postConstructResult = _postConstruct(constr, result); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_1__.isPromise)(postConstructResult)) { - return postConstructResult.then(function () { return result; }); - } - else { - return result; - } -} -function _postConstruct(constr, instance) { - var _a, _b; - if (Reflect.hasMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__.POST_CONSTRUCT, constr)) { - var data = Reflect.getMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__.POST_CONSTRUCT, constr); - try { - return (_b = (_a = instance)[data.value]) === null || _b === void 0 ? void 0 : _b.call(_a); - } - catch (e) { - throw new Error((0,_constants_error_msgs__WEBPACK_IMPORTED_MODULE_3__.POST_CONSTRUCT_ERROR)(constr.name, e.message)); - } - } -} -function _validateInstanceResolution(binding, constr) { - if (binding.scope !== _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton) { - _throwIfHandlingDeactivation(binding, constr); - } -} -function _throwIfHandlingDeactivation(binding, constr) { - var scopeErrorMessage = "Class cannot be instantiated in " + (binding.scope === _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Request ? - "request" : - "transient") + " scope."; - if (typeof binding.onDeactivation === "function") { - throw new Error((0,_constants_error_msgs__WEBPACK_IMPORTED_MODULE_3__.ON_DEACTIVATION_ERROR)(constr.name, scopeErrorMessage)); - } - if (Reflect.hasMetadata(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_2__.PRE_DESTROY, constr)) { - throw new Error((0,_constants_error_msgs__WEBPACK_IMPORTED_MODULE_3__.PRE_DESTROY_ERROR)(constr.name, scopeErrorMessage)); - } -} -function resolveInstance(binding, constr, childRequests, resolveRequest) { - _validateInstanceResolution(binding, constr); - var result = _createInstance(constr, childRequests, resolveRequest); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_1__.isPromise)(result)) { - return result.then(function (resolvedResult) { return _getInstanceAfterPostConstruct(constr, resolvedResult); }); - } - else { - return _getInstanceAfterPostConstruct(constr, result); - } -} - -//# sourceMappingURL=instantiation.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/resolution/resolver.js": -/*!**********************************************************!*\ - !*** ./node_modules/inversify/es/resolution/resolver.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "resolve": () => (/* binding */ resolve) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _planning_planner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../planning/planner */ "./node_modules/inversify/es/planning/planner.js"); -/* harmony import */ var _scope_scope__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../scope/scope */ "./node_modules/inversify/es/scope/scope.js"); -/* harmony import */ var _utils_async__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/async */ "./node_modules/inversify/es/utils/async.js"); -/* harmony import */ var _utils_binding_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/binding_utils */ "./node_modules/inversify/es/utils/binding_utils.js"); -/* harmony import */ var _utils_exceptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/exceptions */ "./node_modules/inversify/es/utils/exceptions.js"); -/* harmony import */ var _instantiation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instantiation */ "./node_modules/inversify/es/resolution/instantiation.js"); -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (undefined && undefined.__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 _resolveRequest = function (requestScope) { - return function (request) { - request.parentContext.setCurrentRequest(request); - var bindings = request.bindings; - var childRequests = request.childRequests; - var targetIsAnArray = request.target && request.target.isArray(); - var targetParentIsNotAnArray = !request.parentRequest || - !request.parentRequest.target || - !request.target || - !request.parentRequest.target.matchesArray(request.target.serviceIdentifier); - if (targetIsAnArray && targetParentIsNotAnArray) { - return childRequests.map(function (childRequest) { - var _f = _resolveRequest(requestScope); - return _f(childRequest); - }); - } - else { - if (request.target.isOptional() && bindings.length === 0) { - return undefined; - } - var binding = bindings[0]; - return _resolveBinding(requestScope, request, binding); - } - }; -}; -var _resolveFactoryFromBinding = function (binding, context) { - var factoryDetails = (0,_utils_binding_utils__WEBPACK_IMPORTED_MODULE_0__.getFactoryDetails)(binding); - return (0,_utils_exceptions__WEBPACK_IMPORTED_MODULE_1__.tryAndThrowErrorIfStackOverflow)(function () { return factoryDetails.factory.bind(binding)(context); }, function () { return new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString())); }); -}; -var _getResolvedFromBinding = function (requestScope, request, binding) { - var result; - var childRequests = request.childRequests; - (0,_utils_binding_utils__WEBPACK_IMPORTED_MODULE_0__.ensureFullyBound)(binding); - switch (binding.type) { - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_3__.BindingTypeEnum.ConstantValue: - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_3__.BindingTypeEnum.Function: - result = binding.cache; - break; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_3__.BindingTypeEnum.Constructor: - result = binding.implementationType; - break; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_3__.BindingTypeEnum.Instance: - result = (0,_instantiation__WEBPACK_IMPORTED_MODULE_4__.resolveInstance)(binding, binding.implementationType, childRequests, _resolveRequest(requestScope)); - break; - default: - result = _resolveFactoryFromBinding(binding, request.parentContext); - } - return result; -}; -var _resolveInScope = function (requestScope, binding, resolveFromBinding) { - var result = (0,_scope_scope__WEBPACK_IMPORTED_MODULE_5__.tryGetFromScope)(requestScope, binding); - if (result !== null) { - return result; - } - result = resolveFromBinding(); - (0,_scope_scope__WEBPACK_IMPORTED_MODULE_5__.saveToScope)(requestScope, binding, result); - return result; -}; -var _resolveBinding = function (requestScope, request, binding) { - return _resolveInScope(requestScope, binding, function () { - var result = _getResolvedFromBinding(requestScope, request, binding); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_6__.isPromise)(result)) { - result = result.then(function (resolved) { return _onActivation(request, binding, resolved); }); - } - else { - result = _onActivation(request, binding, result); - } - return result; - }); -}; -function _onActivation(request, binding, resolved) { - var result = _bindingActivation(request.parentContext, binding, resolved); - var containersIterator = _getContainersIterator(request.parentContext.container); - var container; - var containersIteratorResult = containersIterator.next(); - do { - container = containersIteratorResult.value; - var context_1 = request.parentContext; - var serviceIdentifier = request.serviceIdentifier; - var activationsIterator = _getContainerActivationsForService(container, serviceIdentifier); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_6__.isPromise)(result)) { - result = _activateContainerAsync(activationsIterator, context_1, result); - } - else { - result = _activateContainer(activationsIterator, context_1, result); - } - containersIteratorResult = containersIterator.next(); - } while (containersIteratorResult.done !== true && !(0,_planning_planner__WEBPACK_IMPORTED_MODULE_7__.getBindingDictionary)(container).hasKey(request.serviceIdentifier)); - return result; -} -var _bindingActivation = function (context, binding, previousResult) { - var result; - if (typeof binding.onActivation === "function") { - result = binding.onActivation(context, previousResult); - } - else { - result = previousResult; - } - return result; -}; -var _activateContainer = function (activationsIterator, context, result) { - var activation = activationsIterator.next(); - while (!activation.done) { - result = activation.value(context, result); - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_6__.isPromise)(result)) { - return _activateContainerAsync(activationsIterator, context, result); - } - activation = activationsIterator.next(); - } - return result; -}; -var _activateContainerAsync = function (activationsIterator, context, resultPromise) { return __awaiter(void 0, void 0, void 0, function () { - var result, activation; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4, resultPromise]; - case 1: - result = _a.sent(); - activation = activationsIterator.next(); - _a.label = 2; - case 2: - if (!!activation.done) return [3, 4]; - return [4, activation.value(context, result)]; - case 3: - result = _a.sent(); - activation = activationsIterator.next(); - return [3, 2]; - case 4: return [2, result]; - } - }); -}); }; -var _getContainerActivationsForService = function (container, serviceIdentifier) { - var activations = container._activations; - return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values(); -}; -var _getContainersIterator = function (container) { - var containersStack = [container]; - var parent = container.parent; - while (parent !== null) { - containersStack.push(parent); - parent = parent.parent; - } - var getNextContainer = function () { - var nextContainer = containersStack.pop(); - if (nextContainer !== undefined) { - return { done: false, value: nextContainer }; - } - else { - return { done: true, value: undefined }; - } - }; - var containersIterator = { - next: getNextContainer, - }; - return containersIterator; -}; -function resolve(context) { - var _f = _resolveRequest(context.plan.rootRequest.requestScope); - return _f(context.plan.rootRequest); -} - -//# sourceMappingURL=resolver.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/scope/scope.js": -/*!**************************************************!*\ - !*** ./node_modules/inversify/es/scope/scope.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "saveToScope": () => (/* binding */ saveToScope), -/* harmony export */ "tryGetFromScope": () => (/* binding */ tryGetFromScope) -/* harmony export */ }); -/* harmony import */ var _inversify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../inversify */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _utils_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/async */ "./node_modules/inversify/es/utils/async.js"); -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (undefined && undefined.__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 tryGetFromScope = function (requestScope, binding) { - if ((binding.scope === _inversify__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton) && binding.activated) { - return binding.cache; - } - if (binding.scope === _inversify__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Request && - requestScope.has(binding.id)) { - return requestScope.get(binding.id); - } - return null; -}; -var saveToScope = function (requestScope, binding, result) { - if (binding.scope === _inversify__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton) { - _saveToSingletonScope(binding, result); - } - if (binding.scope === _inversify__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Request) { - _saveToRequestScope(requestScope, binding, result); - } -}; -var _saveToRequestScope = function (requestScope, binding, result) { - if (!requestScope.has(binding.id)) { - requestScope.set(binding.id, result); - } -}; -var _saveToSingletonScope = function (binding, result) { - binding.cache = result; - binding.activated = true; - if ((0,_utils_async__WEBPACK_IMPORTED_MODULE_1__.isPromise)(result)) { - void _saveAsyncResultToSingletonScope(binding, result); - } -}; -var _saveAsyncResultToSingletonScope = function (binding, asyncResult) { return __awaiter(void 0, void 0, void 0, function () { - var result, ex_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4, asyncResult]; - case 1: - result = _a.sent(); - binding.cache = result; - return [3, 3]; - case 2: - ex_1 = _a.sent(); - binding.cache = null; - binding.activated = false; - throw ex_1; - case 3: return [2]; - } - }); -}); }; -//# sourceMappingURL=scope.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/binding_in_syntax.js": -/*!***************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/binding_in_syntax.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingInSyntax": () => (/* binding */ BindingInSyntax) -/* harmony export */ }); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./binding_when_on_syntax */ "./node_modules/inversify/es/syntax/binding_when_on_syntax.js"); - - -var BindingInSyntax = (function () { - function BindingInSyntax(binding) { - this._binding = binding; - } - BindingInSyntax.prototype.inRequestScope = function () { - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Request; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingWhenOnSyntax(this._binding); - }; - BindingInSyntax.prototype.inSingletonScope = function () { - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingWhenOnSyntax(this._binding); - }; - BindingInSyntax.prototype.inTransientScope = function () { - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Transient; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingWhenOnSyntax(this._binding); - }; - return BindingInSyntax; -}()); - -//# sourceMappingURL=binding_in_syntax.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/binding_in_when_on_syntax.js": -/*!***********************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/binding_in_when_on_syntax.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingInWhenOnSyntax": () => (/* binding */ BindingInWhenOnSyntax) -/* harmony export */ }); -/* harmony import */ var _binding_in_syntax__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./binding_in_syntax */ "./node_modules/inversify/es/syntax/binding_in_syntax.js"); -/* harmony import */ var _binding_on_syntax__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./binding_on_syntax */ "./node_modules/inversify/es/syntax/binding_on_syntax.js"); -/* harmony import */ var _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./binding_when_syntax */ "./node_modules/inversify/es/syntax/binding_when_syntax.js"); - - - -var BindingInWhenOnSyntax = (function () { - function BindingInWhenOnSyntax(binding) { - this._binding = binding; - this._bindingWhenSyntax = new _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingWhenSyntax(this._binding); - this._bindingOnSyntax = new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingOnSyntax(this._binding); - this._bindingInSyntax = new _binding_in_syntax__WEBPACK_IMPORTED_MODULE_2__.BindingInSyntax(binding); - } - BindingInWhenOnSyntax.prototype.inRequestScope = function () { - return this._bindingInSyntax.inRequestScope(); - }; - BindingInWhenOnSyntax.prototype.inSingletonScope = function () { - return this._bindingInSyntax.inSingletonScope(); - }; - BindingInWhenOnSyntax.prototype.inTransientScope = function () { - return this._bindingInSyntax.inTransientScope(); - }; - BindingInWhenOnSyntax.prototype.when = function (constraint) { - return this._bindingWhenSyntax.when(constraint); - }; - BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) { - return this._bindingWhenSyntax.whenTargetNamed(name); - }; - BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () { - return this._bindingWhenSyntax.whenTargetIsDefault(); - }; - BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) { - return this._bindingWhenSyntax.whenTargetTagged(tag, value); - }; - BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) { - return this._bindingWhenSyntax.whenInjectedInto(parent); - }; - BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) { - return this._bindingWhenSyntax.whenParentNamed(name); - }; - BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) { - return this._bindingWhenSyntax.whenParentTagged(tag, value); - }; - BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) { - return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor); - }; - BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) { - return this._bindingWhenSyntax.whenNoAncestorIs(ancestor); - }; - BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) { - return this._bindingWhenSyntax.whenAnyAncestorNamed(name); - }; - BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) { - return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value); - }; - BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) { - return this._bindingWhenSyntax.whenNoAncestorNamed(name); - }; - BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) { - return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value); - }; - BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) { - return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint); - }; - BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) { - return this._bindingWhenSyntax.whenNoAncestorMatches(constraint); - }; - BindingInWhenOnSyntax.prototype.onActivation = function (handler) { - return this._bindingOnSyntax.onActivation(handler); - }; - BindingInWhenOnSyntax.prototype.onDeactivation = function (handler) { - return this._bindingOnSyntax.onDeactivation(handler); - }; - return BindingInWhenOnSyntax; -}()); - -//# sourceMappingURL=binding_in_when_on_syntax.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/binding_on_syntax.js": -/*!***************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/binding_on_syntax.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingOnSyntax": () => (/* binding */ BindingOnSyntax) -/* harmony export */ }); -/* harmony import */ var _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./binding_when_syntax */ "./node_modules/inversify/es/syntax/binding_when_syntax.js"); - -var BindingOnSyntax = (function () { - function BindingOnSyntax(binding) { - this._binding = binding; - } - BindingOnSyntax.prototype.onActivation = function (handler) { - this._binding.onActivation = handler; - return new _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingWhenSyntax(this._binding); - }; - BindingOnSyntax.prototype.onDeactivation = function (handler) { - this._binding.onDeactivation = handler; - return new _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingWhenSyntax(this._binding); - }; - return BindingOnSyntax; -}()); - -//# sourceMappingURL=binding_on_syntax.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/binding_to_syntax.js": -/*!***************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/binding_to_syntax.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingToSyntax": () => (/* binding */ BindingToSyntax) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _binding_in_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./binding_in_when_on_syntax */ "./node_modules/inversify/es/syntax/binding_in_when_on_syntax.js"); -/* harmony import */ var _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./binding_when_on_syntax */ "./node_modules/inversify/es/syntax/binding_when_on_syntax.js"); - - - - -var BindingToSyntax = (function () { - function BindingToSyntax(binding) { - this._binding = binding; - } - BindingToSyntax.prototype.to = function (constructor) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Instance; - this._binding.implementationType = constructor; - return new _binding_in_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingInWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toSelf = function () { - if (typeof this._binding.serviceIdentifier !== "function") { - throw new Error("" + _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__.INVALID_TO_SELF_VALUE); - } - var self = this._binding.serviceIdentifier; - return this.to(self); - }; - BindingToSyntax.prototype.toConstantValue = function (value) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.ConstantValue; - this._binding.cache = value; - this._binding.dynamicValue = null; - this._binding.implementationType = null; - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__.BindingWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toDynamicValue = function (func) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.DynamicValue; - this._binding.cache = null; - this._binding.dynamicValue = func; - this._binding.implementationType = null; - return new _binding_in_when_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingInWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toConstructor = function (constructor) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Constructor; - this._binding.implementationType = constructor; - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__.BindingWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toFactory = function (factory) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Factory; - this._binding.factory = factory; - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__.BindingWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toFunction = function (func) { - if (typeof func !== "function") { - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__.INVALID_FUNCTION_BINDING); - } - var bindingWhenOnSyntax = this.toConstantValue(func); - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Function; - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return bindingWhenOnSyntax; - }; - BindingToSyntax.prototype.toAutoFactory = function (serviceIdentifier) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Factory; - this._binding.factory = function (context) { - var autofactory = function () { return context.container.get(serviceIdentifier); }; - return autofactory; - }; - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__.BindingWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toAutoNamedFactory = function (serviceIdentifier) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Factory; - this._binding.factory = function (context) { - return function (named) { return context.container.getNamed(serviceIdentifier, named); }; - }; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__.BindingWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toProvider = function (provider) { - this._binding.type = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Provider; - this._binding.provider = provider; - this._binding.scope = _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingScopeEnum.Singleton; - return new _binding_when_on_syntax__WEBPACK_IMPORTED_MODULE_3__.BindingWhenOnSyntax(this._binding); - }; - BindingToSyntax.prototype.toService = function (service) { - this.toDynamicValue(function (context) { return context.container.get(service); }); - }; - return BindingToSyntax; -}()); - -//# sourceMappingURL=binding_to_syntax.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/binding_when_on_syntax.js": -/*!********************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/binding_when_on_syntax.js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingWhenOnSyntax": () => (/* binding */ BindingWhenOnSyntax) -/* harmony export */ }); -/* harmony import */ var _binding_on_syntax__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./binding_on_syntax */ "./node_modules/inversify/es/syntax/binding_on_syntax.js"); -/* harmony import */ var _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./binding_when_syntax */ "./node_modules/inversify/es/syntax/binding_when_syntax.js"); - - -var BindingWhenOnSyntax = (function () { - function BindingWhenOnSyntax(binding) { - this._binding = binding; - this._bindingWhenSyntax = new _binding_when_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingWhenSyntax(this._binding); - this._bindingOnSyntax = new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_1__.BindingOnSyntax(this._binding); - } - BindingWhenOnSyntax.prototype.when = function (constraint) { - return this._bindingWhenSyntax.when(constraint); - }; - BindingWhenOnSyntax.prototype.whenTargetNamed = function (name) { - return this._bindingWhenSyntax.whenTargetNamed(name); - }; - BindingWhenOnSyntax.prototype.whenTargetIsDefault = function () { - return this._bindingWhenSyntax.whenTargetIsDefault(); - }; - BindingWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) { - return this._bindingWhenSyntax.whenTargetTagged(tag, value); - }; - BindingWhenOnSyntax.prototype.whenInjectedInto = function (parent) { - return this._bindingWhenSyntax.whenInjectedInto(parent); - }; - BindingWhenOnSyntax.prototype.whenParentNamed = function (name) { - return this._bindingWhenSyntax.whenParentNamed(name); - }; - BindingWhenOnSyntax.prototype.whenParentTagged = function (tag, value) { - return this._bindingWhenSyntax.whenParentTagged(tag, value); - }; - BindingWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) { - return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor); - }; - BindingWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) { - return this._bindingWhenSyntax.whenNoAncestorIs(ancestor); - }; - BindingWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) { - return this._bindingWhenSyntax.whenAnyAncestorNamed(name); - }; - BindingWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) { - return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value); - }; - BindingWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) { - return this._bindingWhenSyntax.whenNoAncestorNamed(name); - }; - BindingWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) { - return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value); - }; - BindingWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) { - return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint); - }; - BindingWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) { - return this._bindingWhenSyntax.whenNoAncestorMatches(constraint); - }; - BindingWhenOnSyntax.prototype.onActivation = function (handler) { - return this._bindingOnSyntax.onActivation(handler); - }; - BindingWhenOnSyntax.prototype.onDeactivation = function (handler) { - return this._bindingOnSyntax.onDeactivation(handler); - }; - return BindingWhenOnSyntax; -}()); - -//# sourceMappingURL=binding_when_on_syntax.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/binding_when_syntax.js": -/*!*****************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/binding_when_syntax.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "BindingWhenSyntax": () => (/* binding */ BindingWhenSyntax) -/* harmony export */ }); -/* harmony import */ var _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./binding_on_syntax */ "./node_modules/inversify/es/syntax/binding_on_syntax.js"); -/* harmony import */ var _constraint_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constraint_helpers */ "./node_modules/inversify/es/syntax/constraint_helpers.js"); - - -var BindingWhenSyntax = (function () { - function BindingWhenSyntax(binding) { - this._binding = binding; - } - BindingWhenSyntax.prototype.when = function (constraint) { - this._binding.constraint = constraint; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenTargetNamed = function (name) { - this._binding.constraint = (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.namedConstraint)(name); - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenTargetIsDefault = function () { - this._binding.constraint = function (request) { - if (request === null) { - return false; - } - var targetIsDefault = (request.target !== null) && - (!request.target.isNamed()) && - (!request.target.isTagged()); - return targetIsDefault; - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenTargetTagged = function (tag, value) { - this._binding.constraint = (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.taggedConstraint)(tag)(value); - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenInjectedInto = function (parent) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.typeConstraint)(parent)(request.parentRequest); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenParentNamed = function (name) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.namedConstraint)(name)(request.parentRequest); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenParentTagged = function (tag, value) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.taggedConstraint)(tag)(value)(request.parentRequest); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenAnyAncestorIs = function (ancestor) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.typeConstraint)(ancestor)); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenNoAncestorIs = function (ancestor) { - this._binding.constraint = function (request) { - return request !== null && !(0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.typeConstraint)(ancestor)); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenAnyAncestorNamed = function (name) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.namedConstraint)(name)); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenNoAncestorNamed = function (name) { - this._binding.constraint = function (request) { - return request !== null && !(0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.namedConstraint)(name)); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenAnyAncestorTagged = function (tag, value) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.taggedConstraint)(tag)(value)); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenNoAncestorTagged = function (tag, value) { - this._binding.constraint = function (request) { - return request !== null && !(0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.taggedConstraint)(tag)(value)); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenAnyAncestorMatches = function (constraint) { - this._binding.constraint = function (request) { - return request !== null && (0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, constraint); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - BindingWhenSyntax.prototype.whenNoAncestorMatches = function (constraint) { - this._binding.constraint = function (request) { - return request !== null && !(0,_constraint_helpers__WEBPACK_IMPORTED_MODULE_1__.traverseAncerstors)(request, constraint); - }; - return new _binding_on_syntax__WEBPACK_IMPORTED_MODULE_0__.BindingOnSyntax(this._binding); - }; - return BindingWhenSyntax; -}()); - -//# sourceMappingURL=binding_when_syntax.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/syntax/constraint_helpers.js": -/*!****************************************************************!*\ - !*** ./node_modules/inversify/es/syntax/constraint_helpers.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "namedConstraint": () => (/* binding */ namedConstraint), -/* harmony export */ "taggedConstraint": () => (/* binding */ taggedConstraint), -/* harmony export */ "traverseAncerstors": () => (/* binding */ traverseAncerstors), -/* harmony export */ "typeConstraint": () => (/* binding */ typeConstraint) -/* harmony export */ }); -/* harmony import */ var _constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/metadata_keys */ "./node_modules/inversify/es/constants/metadata_keys.js"); -/* harmony import */ var _planning_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../planning/metadata */ "./node_modules/inversify/es/planning/metadata.js"); - - -var traverseAncerstors = function (request, constraint) { - var parent = request.parentRequest; - if (parent !== null) { - return constraint(parent) ? true : traverseAncerstors(parent, constraint); - } - else { - return false; - } -}; -var taggedConstraint = function (key) { return function (value) { - var constraint = function (request) { - return request !== null && request.target !== null && request.target.matchesTag(key)(value); - }; - constraint.metaData = new _planning_metadata__WEBPACK_IMPORTED_MODULE_0__.Metadata(key, value); - return constraint; -}; }; -var namedConstraint = taggedConstraint(_constants_metadata_keys__WEBPACK_IMPORTED_MODULE_1__.NAMED_TAG); -var typeConstraint = function (type) { return function (request) { - var binding = null; - if (request !== null) { - binding = request.bindings[0]; - if (typeof type === "string") { - var serviceIdentifier = binding.serviceIdentifier; - return serviceIdentifier === type; - } - else { - var constructor = request.bindings[0].implementationType; - return type === constructor; - } - } - return false; -}; }; - -//# sourceMappingURL=constraint_helpers.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/async.js": -/*!**************************************************!*\ - !*** ./node_modules/inversify/es/utils/async.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "isPromise": () => (/* binding */ isPromise), -/* harmony export */ "isPromiseOrContainsPromise": () => (/* binding */ isPromiseOrContainsPromise) -/* harmony export */ }); -function isPromise(object) { - var isObjectOrFunction = (typeof object === 'object' && object !== null) || typeof object === 'function'; - return isObjectOrFunction && typeof object.then === "function"; -} -function isPromiseOrContainsPromise(object) { - if (isPromise(object)) { - return true; - } - return Array.isArray(object) && object.some(isPromise); -} - -//# sourceMappingURL=async.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/binding_utils.js": -/*!**********************************************************!*\ - !*** ./node_modules/inversify/es/utils/binding_utils.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "ensureFullyBound": () => (/* binding */ ensureFullyBound), -/* harmony export */ "getFactoryDetails": () => (/* binding */ getFactoryDetails), -/* harmony export */ "multiBindToService": () => (/* binding */ multiBindToService) -/* harmony export */ }); -/* harmony import */ var _inversify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../inversify */ "./node_modules/inversify/es/utils/serialization.js"); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); -/* harmony import */ var _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/literal_types */ "./node_modules/inversify/es/constants/literal_types.js"); -/* harmony import */ var _factory_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./factory_type */ "./node_modules/inversify/es/utils/factory_type.js"); - - - - -var multiBindToService = function (container) { - return function (service) { - return function () { - var types = []; - for (var _i = 0; _i < arguments.length; _i++) { - types[_i] = arguments[_i]; - } - return types.forEach(function (t) { return container.bind(t).toService(service); }); - }; - }; -}; -var ensureFullyBound = function (binding) { - var boundValue = null; - switch (binding.type) { - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.ConstantValue: - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Function: - boundValue = binding.cache; - break; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Constructor: - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Instance: - boundValue = binding.implementationType; - break; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.DynamicValue: - boundValue = binding.dynamicValue; - break; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Provider: - boundValue = binding.provider; - break; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Factory: - boundValue = binding.factory; - break; - } - if (boundValue === null) { - var serviceIdentifierAsString = (0,_inversify__WEBPACK_IMPORTED_MODULE_1__.getServiceIdentifierAsString)(binding.serviceIdentifier); - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_2__.INVALID_BINDING_TYPE + " " + serviceIdentifierAsString); - } -}; -var getFactoryDetails = function (binding) { - switch (binding.type) { - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Factory: - return { factory: binding.factory, factoryType: _factory_type__WEBPACK_IMPORTED_MODULE_3__.FactoryType.Factory }; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.Provider: - return { factory: binding.provider, factoryType: _factory_type__WEBPACK_IMPORTED_MODULE_3__.FactoryType.Provider }; - case _constants_literal_types__WEBPACK_IMPORTED_MODULE_0__.BindingTypeEnum.DynamicValue: - return { factory: binding.dynamicValue, factoryType: _factory_type__WEBPACK_IMPORTED_MODULE_3__.FactoryType.DynamicValue }; - default: - throw new Error("Unexpected factory type " + binding.type); - } -}; -//# sourceMappingURL=binding_utils.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/clonable.js": -/*!*****************************************************!*\ - !*** ./node_modules/inversify/es/utils/clonable.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "isClonable": () => (/* binding */ isClonable) -/* harmony export */ }); -function isClonable(obj) { - return (typeof obj === 'object') - && (obj !== null) - && ('clone' in obj) - && typeof obj.clone === 'function'; -} - -//# sourceMappingURL=clonable.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/exceptions.js": -/*!*******************************************************!*\ - !*** ./node_modules/inversify/es/utils/exceptions.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "isStackOverflowExeption": () => (/* binding */ isStackOverflowExeption), -/* harmony export */ "tryAndThrowErrorIfStackOverflow": () => (/* binding */ tryAndThrowErrorIfStackOverflow) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); - -function isStackOverflowExeption(error) { - return (error instanceof RangeError || - error.message === _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.STACK_OVERFLOW); -} -var tryAndThrowErrorIfStackOverflow = function (fn, errorCallback) { - try { - return fn(); - } - catch (error) { - if (isStackOverflowExeption(error)) { - error = errorCallback(); - } - throw error; - } -}; -//# sourceMappingURL=exceptions.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/factory_type.js": -/*!*********************************************************!*\ - !*** ./node_modules/inversify/es/utils/factory_type.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "FactoryType": () => (/* binding */ FactoryType) -/* harmony export */ }); -var FactoryType; -(function (FactoryType) { - FactoryType["DynamicValue"] = "toDynamicValue"; - FactoryType["Factory"] = "toFactory"; - FactoryType["Provider"] = "toProvider"; -})(FactoryType || (FactoryType = {})); -//# sourceMappingURL=factory_type.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/id.js": -/*!***********************************************!*\ - !*** ./node_modules/inversify/es/utils/id.js ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "id": () => (/* binding */ id) -/* harmony export */ }); -var idCounter = 0; -function id() { - return idCounter++; -} - -//# sourceMappingURL=id.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/js.js": -/*!***********************************************!*\ - !*** ./node_modules/inversify/es/utils/js.js ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "getFirstArrayDuplicate": () => (/* binding */ getFirstArrayDuplicate) -/* harmony export */ }); -function getFirstArrayDuplicate(array) { - var seenValues = new Set(); - for (var _i = 0, array_1 = array; _i < array_1.length; _i++) { - var entry = array_1[_i]; - if (seenValues.has(entry)) { - return entry; - } - else { - seenValues.add(entry); - } - } - return undefined; -} -//# sourceMappingURL=js.js.map - -/***/ }), - -/***/ "./node_modules/inversify/es/utils/serialization.js": -/*!**********************************************************!*\ - !*** ./node_modules/inversify/es/utils/serialization.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "circularDependencyToException": () => (/* binding */ circularDependencyToException), -/* harmony export */ "getFunctionName": () => (/* binding */ getFunctionName), -/* harmony export */ "getServiceIdentifierAsString": () => (/* binding */ getServiceIdentifierAsString), -/* harmony export */ "getSymbolDescription": () => (/* binding */ getSymbolDescription), -/* harmony export */ "listMetadataForTarget": () => (/* binding */ listMetadataForTarget), -/* harmony export */ "listRegisteredBindingsForServiceIdentifier": () => (/* binding */ listRegisteredBindingsForServiceIdentifier) -/* harmony export */ }); -/* harmony import */ var _constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/error_msgs */ "./node_modules/inversify/es/constants/error_msgs.js"); - -function getServiceIdentifierAsString(serviceIdentifier) { - if (typeof serviceIdentifier === "function") { - var _serviceIdentifier = serviceIdentifier; - return _serviceIdentifier.name; - } - else if (typeof serviceIdentifier === "symbol") { - return serviceIdentifier.toString(); - } - else { - var _serviceIdentifier = serviceIdentifier; - return _serviceIdentifier; - } -} -function listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) { - var registeredBindingsList = ""; - var registeredBindings = getBindings(container, serviceIdentifier); - if (registeredBindings.length !== 0) { - registeredBindingsList = "\nRegistered bindings:"; - registeredBindings.forEach(function (binding) { - var name = "Object"; - if (binding.implementationType !== null) { - name = getFunctionName(binding.implementationType); - } - registeredBindingsList = registeredBindingsList + "\n " + name; - if (binding.constraint.metaData) { - registeredBindingsList = registeredBindingsList + " - " + binding.constraint.metaData; - } - }); - } - return registeredBindingsList; -} -function alreadyDependencyChain(request, serviceIdentifier) { - if (request.parentRequest === null) { - return false; - } - else if (request.parentRequest.serviceIdentifier === serviceIdentifier) { - return true; - } - else { - return alreadyDependencyChain(request.parentRequest, serviceIdentifier); - } -} -function dependencyChainToString(request) { - function _createStringArr(req, result) { - if (result === void 0) { result = []; } - var serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier); - result.push(serviceIdentifier); - if (req.parentRequest !== null) { - return _createStringArr(req.parentRequest, result); - } - return result; - } - var stringArr = _createStringArr(request); - return stringArr.reverse().join(" --> "); -} -function circularDependencyToException(request) { - request.childRequests.forEach(function (childRequest) { - if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) { - var services = dependencyChainToString(childRequest); - throw new Error(_constants_error_msgs__WEBPACK_IMPORTED_MODULE_0__.CIRCULAR_DEPENDENCY + " " + services); - } - else { - circularDependencyToException(childRequest); - } - }); -} -function listMetadataForTarget(serviceIdentifierString, target) { - if (target.isTagged() || target.isNamed()) { - var m_1 = ""; - var namedTag = target.getNamedTag(); - var otherTags = target.getCustomTags(); - if (namedTag !== null) { - m_1 += namedTag.toString() + "\n"; - } - if (otherTags !== null) { - otherTags.forEach(function (tag) { - m_1 += tag.toString() + "\n"; - }); - } - return " " + serviceIdentifierString + "\n " + serviceIdentifierString + " - " + m_1; - } - else { - return " " + serviceIdentifierString; - } -} -function getFunctionName(func) { - if (func.name) { - return func.name; - } - else { - var name_1 = func.toString(); - var match = name_1.match(/^function\s*([^\s(]+)/); - return match ? match[1] : "Anonymous function: " + name_1; - } -} -function getSymbolDescription(symbol) { - return symbol.toString().slice(7, -1); -} - -//# sourceMappingURL=serialization.js.map - -/***/ }), - -/***/ "./node_modules/minimatch/minimatch.js": -/*!*********************************************!*\ - !*** ./node_modules/minimatch/minimatch.js ***! - \*********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -module.exports = minimatch -minimatch.Minimatch = Minimatch - -var path = { sep: '/' } -try { - path = __webpack_require__(/*! path */ "path") -} catch (er) {} - -var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} -var expand = __webpack_require__(/*! brace-expansion */ "./node_modules/brace-expansion/index.js") - -var plTypes = { - '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, - '?': { open: '(?:', close: ')?' }, - '+': { open: '(?:', close: ')+' }, - '*': { open: '(?:', close: ')*' }, - '@': { open: '(?:', close: ')' } -} - -// any single thing other than / -// don't need to escape / when using new RegExp() -var qmark = '[^/]' - -// * => any number of characters -var star = qmark + '*?' - -// ** when dots are allowed. Anything goes, except .. and . -// not (^ or / followed by one or two dots followed by $ or /), -// followed by anything, any number of times. -var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' - -// not a ^ or / followed by a dot, -// followed by anything, any number of times. -var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' - -// characters that need to be escaped in RegExp. -var reSpecials = charSet('().*{}+?[]^$\\!') - -// "abc" -> { a:true, b:true, c:true } -function charSet (s) { - return s.split('').reduce(function (set, c) { - set[c] = true - return set - }, {}) -} - -// normalizes slashes. -var slashSplit = /\/+/ - -minimatch.filter = filter -function filter (pattern, options) { - options = options || {} - return function (p, i, list) { - return minimatch(p, pattern, options) - } -} - -function ext (a, b) { - a = a || {} - b = b || {} - var t = {} - Object.keys(b).forEach(function (k) { - t[k] = b[k] - }) - Object.keys(a).forEach(function (k) { - t[k] = a[k] - }) - return t -} - -minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return minimatch - - var orig = minimatch - - var m = function minimatch (p, pattern, options) { - return orig.minimatch(p, pattern, ext(def, options)) - } - - m.Minimatch = function Minimatch (pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)) - } - - return m -} - -Minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return Minimatch - return minimatch.defaults(def).Minimatch -} - -function minimatch (p, pattern, options) { - if (typeof pattern !== 'string') { - throw new TypeError('glob pattern string required') - } - - if (!options) options = {} - - // shortcut: comments match nothing. - if (!options.nocomment && pattern.charAt(0) === '#') { - return false - } - - // "" only matches "" - if (pattern.trim() === '') return p === '' - - return new Minimatch(pattern, options).match(p) -} - -function Minimatch (pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options) - } - - if (typeof pattern !== 'string') { - throw new TypeError('glob pattern string required') - } - - if (!options) options = {} - pattern = pattern.trim() - - // windows support: need to use /, not \ - if (path.sep !== '/') { - pattern = pattern.split(path.sep).join('/') - } - - this.options = options - this.set = [] - this.pattern = pattern - this.regexp = null - this.negate = false - this.comment = false - this.empty = false - - // make the set of regexps etc. - this.make() -} - -Minimatch.prototype.debug = function () {} - -Minimatch.prototype.make = make -function make () { - // don't do it more than once. - if (this._made) return - - var pattern = this.pattern - var options = this.options - - // empty patterns and comments match nothing. - if (!options.nocomment && pattern.charAt(0) === '#') { - this.comment = true - return - } - if (!pattern) { - this.empty = true - return - } - - // step 1: figure out negation, etc. - this.parseNegate() - - // step 2: expand braces - var set = this.globSet = this.braceExpand() - - if (options.debug) this.debug = console.error - - this.debug(this.pattern, set) - - // step 3: now we have a set, so turn each one into a series of path-portion - // matching patterns. - // These will be regexps, except in the case of "**", which is - // set to the GLOBSTAR object for globstar behavior, - // and will not contain any / characters - set = this.globParts = set.map(function (s) { - return s.split(slashSplit) - }) - - this.debug(this.pattern, set) - - // glob --> regexps - set = set.map(function (s, si, set) { - return s.map(this.parse, this) - }, this) - - this.debug(this.pattern, set) - - // filter out everything that didn't compile properly. - set = set.filter(function (s) { - return s.indexOf(false) === -1 - }) - - this.debug(this.pattern, set) - - this.set = set -} - -Minimatch.prototype.parseNegate = parseNegate -function parseNegate () { - var pattern = this.pattern - var negate = false - var options = this.options - var negateOffset = 0 - - if (options.nonegate) return - - for (var i = 0, l = pattern.length - ; i < l && pattern.charAt(i) === '!' - ; i++) { - negate = !negate - negateOffset++ - } - - if (negateOffset) this.pattern = pattern.substr(negateOffset) - this.negate = negate -} - -// Brace expansion: -// a{b,c}d -> abd acd -// a{b,}c -> abc ac -// a{0..3}d -> a0d a1d a2d a3d -// a{b,c{d,e}f}g -> abg acdfg acefg -// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg -// -// Invalid sets are not expanded. -// a{2..}b -> a{2..}b -// a{b}c -> a{b}c -minimatch.braceExpand = function (pattern, options) { - return braceExpand(pattern, options) -} - -Minimatch.prototype.braceExpand = braceExpand - -function braceExpand (pattern, options) { - if (!options) { - if (this instanceof Minimatch) { - options = this.options - } else { - options = {} - } - } - - pattern = typeof pattern === 'undefined' - ? this.pattern : pattern - - if (typeof pattern === 'undefined') { - throw new TypeError('undefined pattern') - } - - if (options.nobrace || - !pattern.match(/\{.*\}/)) { - // shortcut. no need to expand. - return [pattern] - } - - return expand(pattern) -} - -// parse a component of the expanded set. -// At this point, no pattern may contain "/" in it -// so we're going to return a 2d array, where each entry is the full -// pattern, split on '/', and then turned into a regular expression. -// A regexp is made at the end which joins each array with an -// escaped /, and another full one which joins each regexp with |. -// -// Following the lead of Bash 4.1, note that "**" only has special meaning -// when it is the *only* thing in a path portion. Otherwise, any series -// of * is equivalent to a single *. Globstar behavior is enabled by -// default, and can be disabled by setting options.noglobstar. -Minimatch.prototype.parse = parse -var SUBPARSE = {} -function parse (pattern, isSub) { - if (pattern.length > 1024 * 64) { - throw new TypeError('pattern is too long') - } - - var options = this.options - - // shortcuts - if (!options.noglobstar && pattern === '**') return GLOBSTAR - if (pattern === '') return '' - - var re = '' - var hasMagic = !!options.nocase - var escaping = false - // ? => one single character - var patternListStack = [] - var negativeLists = [] - var stateChar - var inClass = false - var reClassStart = -1 - var classStart = -1 - // . and .. never match anything that doesn't start with ., - // even when options.dot is set. - var patternStart = pattern.charAt(0) === '.' ? '' // anything - // not (start or / followed by . or .. followed by / or end) - : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' - : '(?!\\.)' - var self = this - - function clearStateChar () { - if (stateChar) { - // we had some state-tracking character - // that wasn't consumed by this pass. - switch (stateChar) { - case '*': - re += star - hasMagic = true - break - case '?': - re += qmark - hasMagic = true - break - default: - re += '\\' + stateChar - break - } - self.debug('clearStateChar %j %j', stateChar, re) - stateChar = false - } - } - - for (var i = 0, len = pattern.length, c - ; (i < len) && (c = pattern.charAt(i)) - ; i++) { - this.debug('%s\t%s %s %j', pattern, i, re, c) - - // skip over any that are escaped. - if (escaping && reSpecials[c]) { - re += '\\' + c - escaping = false - continue - } - - switch (c) { - case '/': - // completely not allowed, even escaped. - // Should already be path-split by now. - return false - - case '\\': - clearStateChar() - escaping = true - continue - - // the various stateChar values - // for the "extglob" stuff. - case '?': - case '*': - case '+': - case '@': - case '!': - this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) - - // all of those are literals inside a class, except that - // the glob [!a] means [^a] in regexp - if (inClass) { - this.debug(' in class') - if (c === '!' && i === classStart + 1) c = '^' - re += c - continue - } - - // if we already have a stateChar, then it means - // that there was something like ** or +? in there. - // Handle the stateChar, then proceed with this one. - self.debug('call clearStateChar %j', stateChar) - clearStateChar() - stateChar = c - // if extglob is disabled, then +(asdf|foo) isn't a thing. - // just clear the statechar *now*, rather than even diving into - // the patternList stuff. - if (options.noext) clearStateChar() - continue - - case '(': - if (inClass) { - re += '(' - continue - } - - if (!stateChar) { - re += '\\(' - continue - } - - patternListStack.push({ - type: stateChar, - start: i - 1, - reStart: re.length, - open: plTypes[stateChar].open, - close: plTypes[stateChar].close - }) - // negation is (?:(?!js)[^/]*) - re += stateChar === '!' ? '(?:(?!(?:' : '(?:' - this.debug('plType %j %j', stateChar, re) - stateChar = false - continue - - case ')': - if (inClass || !patternListStack.length) { - re += '\\)' - continue - } - - clearStateChar() - hasMagic = true - var pl = patternListStack.pop() - // negation is (?:(?!js)[^/]*) - // The others are (?:) - re += pl.close - if (pl.type === '!') { - negativeLists.push(pl) - } - pl.reEnd = re.length - continue - - case '|': - if (inClass || !patternListStack.length || escaping) { - re += '\\|' - escaping = false - continue - } - - clearStateChar() - re += '|' - continue - - // these are mostly the same in regexp and glob - case '[': - // swallow any state-tracking char before the [ - clearStateChar() - - if (inClass) { - re += '\\' + c - continue - } - - inClass = true - classStart = i - reClassStart = re.length - re += c - continue - - case ']': - // a right bracket shall lose its special - // meaning and represent itself in - // a bracket expression if it occurs - // first in the list. -- POSIX.2 2.8.3.2 - if (i === classStart + 1 || !inClass) { - re += '\\' + c - escaping = false - continue - } - - // handle the case where we left a class open. - // "[z-a]" is valid, equivalent to "\[z-a\]" - if (inClass) { - // split where the last [ was, make sure we don't have - // an invalid re. if so, re-walk the contents of the - // would-be class to re-translate any characters that - // were passed through as-is - // TODO: It would probably be faster to determine this - // without a try/catch and a new RegExp, but it's tricky - // to do safely. For now, this is safe and works. - var cs = pattern.substring(classStart + 1, i) - try { - RegExp('[' + cs + ']') - } catch (er) { - // not a valid class! - var sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' - hasMagic = hasMagic || sp[1] - inClass = false - continue - } - } - - // finish up the class. - hasMagic = true - inClass = false - re += c - continue - - default: - // swallow any state char that wasn't consumed - clearStateChar() - - if (escaping) { - // no need - escaping = false - } else if (reSpecials[c] - && !(c === '^' && inClass)) { - re += '\\' - } - - re += c - - } // switch - } // for - - // handle the case where we left a class open. - // "[abc" is valid, equivalent to "\[abc" - if (inClass) { - // split where the last [ was, and escape it - // this is a huge pita. We now have to re-walk - // the contents of the would-be class to re-translate - // any characters that were passed through as-is - cs = pattern.substr(classStart + 1) - sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] - hasMagic = hasMagic || sp[1] - } - - // handle the case where we had a +( thing at the *end* - // of the pattern. - // each pattern list stack adds 3 chars, and we need to go through - // and escape any | chars that were passed through as-is for the regexp. - // Go through and escape them, taking care not to double-escape any - // | chars that were already escaped. - for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { - var tail = re.slice(pl.reStart + pl.open.length) - this.debug('setting tail', re, pl) - // maybe some even number of \, then maybe 1 \, followed by a | - tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { - if (!$2) { - // the | isn't already escaped, so escape it. - $2 = '\\' - } - - // need to escape all those slashes *again*, without escaping the - // one that we need for escaping the | character. As it works out, - // escaping an even number of slashes can be done by simply repeating - // it exactly after itself. That's why this trick works. - // - // I am sorry that you have to see this. - return $1 + $1 + $2 + '|' - }) - - this.debug('tail=%j\n %s', tail, tail, pl, re) - var t = pl.type === '*' ? star - : pl.type === '?' ? qmark - : '\\' + pl.type - - hasMagic = true - re = re.slice(0, pl.reStart) + t + '\\(' + tail - } - - // handle trailing things that only matter at the very end. - clearStateChar() - if (escaping) { - // trailing \\ - re += '\\\\' - } - - // only need to apply the nodot start if the re starts with - // something that could conceivably capture a dot - var addPatternStart = false - switch (re.charAt(0)) { - case '.': - case '[': - case '(': addPatternStart = true - } - - // Hack to work around lack of negative lookbehind in JS - // A pattern like: *.!(x).!(y|z) needs to ensure that a name - // like 'a.xyz.yz' doesn't match. So, the first negative - // lookahead, has to look ALL the way ahead, to the end of - // the pattern. - for (var n = negativeLists.length - 1; n > -1; n--) { - var nl = negativeLists[n] - - var nlBefore = re.slice(0, nl.reStart) - var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) - var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) - var nlAfter = re.slice(nl.reEnd) - - nlLast += nlAfter - - // Handle nested stuff like *(*.js|!(*.json)), where open parens - // mean that we should *not* include the ) in the bit that is considered - // "after" the negated section. - var openParensBefore = nlBefore.split('(').length - 1 - var cleanAfter = nlAfter - for (i = 0; i < openParensBefore; i++) { - cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') - } - nlAfter = cleanAfter - - var dollar = '' - if (nlAfter === '' && isSub !== SUBPARSE) { - dollar = '$' - } - var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast - re = newRe - } - - // if the re is not "" at this point, then we need to make sure - // it doesn't match against an empty path part. - // Otherwise a/* will match a/, which it should not. - if (re !== '' && hasMagic) { - re = '(?=.)' + re - } - - if (addPatternStart) { - re = patternStart + re - } - - // parsing just a piece of a larger pattern. - if (isSub === SUBPARSE) { - return [re, hasMagic] - } - - // skip the regexp for non-magical patterns - // unescape anything in it, though, so that it'll be - // an exact match against a file etc. - if (!hasMagic) { - return globUnescape(pattern) - } - - var flags = options.nocase ? 'i' : '' - try { - var regExp = new RegExp('^' + re + '$', flags) - } catch (er) { - // If it was an invalid regular expression, then it can't match - // anything. This trick looks for a character after the end of - // the string, which is of course impossible, except in multi-line - // mode, but it's not a /m regex. - return new RegExp('$.') - } - - regExp._glob = pattern - regExp._src = re - - return regExp -} - -minimatch.makeRe = function (pattern, options) { - return new Minimatch(pattern, options || {}).makeRe() -} - -Minimatch.prototype.makeRe = makeRe -function makeRe () { - if (this.regexp || this.regexp === false) return this.regexp - - // at this point, this.set is a 2d array of partial - // pattern strings, or "**". - // - // It's better to use .match(). This function shouldn't - // be used, really, but it's pretty convenient sometimes, - // when you just want to work with a regex. - var set = this.set - - if (!set.length) { - this.regexp = false - return this.regexp - } - var options = this.options - - var twoStar = options.noglobstar ? star - : options.dot ? twoStarDot - : twoStarNoDot - var flags = options.nocase ? 'i' : '' - - var re = set.map(function (pattern) { - return pattern.map(function (p) { - return (p === GLOBSTAR) ? twoStar - : (typeof p === 'string') ? regExpEscape(p) - : p._src - }).join('\\\/') - }).join('|') - - // must match entire pattern - // ending in a * or ** will make it less strict. - re = '^(?:' + re + ')$' - - // can match anything, as long as it's not this. - if (this.negate) re = '^(?!' + re + ').*$' - - try { - this.regexp = new RegExp(re, flags) - } catch (ex) { - this.regexp = false - } - return this.regexp -} - -minimatch.match = function (list, pattern, options) { - options = options || {} - var mm = new Minimatch(pattern, options) - list = list.filter(function (f) { - return mm.match(f) - }) - if (mm.options.nonull && !list.length) { - list.push(pattern) - } - return list -} - -Minimatch.prototype.match = match -function match (f, partial) { - this.debug('match', f, this.pattern) - // short-circuit in the case of busted things. - // comments, etc. - if (this.comment) return false - if (this.empty) return f === '' - - if (f === '/' && partial) return true - - var options = this.options - - // windows: need to use /, not \ - if (path.sep !== '/') { - f = f.split(path.sep).join('/') - } - - // treat the test path as a set of pathparts. - f = f.split(slashSplit) - this.debug(this.pattern, 'split', f) - - // just ONE of the pattern sets in this.set needs to match - // in order for it to be valid. If negating, then just one - // match means that we have failed. - // Either way, return on the first hit. - - var set = this.set - this.debug(this.pattern, 'set', set) - - // Find the basename of the path by looking for the last non-empty segment - var filename - var i - for (i = f.length - 1; i >= 0; i--) { - filename = f[i] - if (filename) break - } - - for (i = 0; i < set.length; i++) { - var pattern = set[i] - var file = f - if (options.matchBase && pattern.length === 1) { - file = [filename] - } - var hit = this.matchOne(file, pattern, partial) - if (hit) { - if (options.flipNegate) return true - return !this.negate - } - } - - // didn't get any hits. this is success if it's a negative - // pattern, failure otherwise. - if (options.flipNegate) return false - return this.negate -} - -// set partial to true to test if, for example, -// "/a/b" matches the start of "/*/b/*/d" -// Partial means, if you run out of file before you run -// out of pattern, then that's fine, as long as all -// the parts match. -Minimatch.prototype.matchOne = function (file, pattern, partial) { - var options = this.options - - this.debug('matchOne', - { 'this': this, file: file, pattern: pattern }) - - this.debug('matchOne', file.length, pattern.length) - - for (var fi = 0, - pi = 0, - fl = file.length, - pl = pattern.length - ; (fi < fl) && (pi < pl) - ; fi++, pi++) { - this.debug('matchOne loop') - var p = pattern[pi] - var f = file[fi] - - this.debug(pattern, p, f) - - // should be impossible. - // some invalid regexp stuff in the set. - if (p === false) return false - - if (p === GLOBSTAR) { - this.debug('GLOBSTAR', [pattern, p, f]) - - // "**" - // a/**/b/**/c would match the following: - // a/b/x/y/z/c - // a/x/y/z/b/c - // a/b/x/b/x/c - // a/b/c - // To do this, take the rest of the pattern after - // the **, and see if it would match the file remainder. - // If so, return success. - // If not, the ** "swallows" a segment, and try again. - // This is recursively awful. - // - // a/**/b/**/c matching a/b/x/y/z/c - // - a matches a - // - doublestar - // - matchOne(b/x/y/z/c, b/**/c) - // - b matches b - // - doublestar - // - matchOne(x/y/z/c, c) -> no - // - matchOne(y/z/c, c) -> no - // - matchOne(z/c, c) -> no - // - matchOne(c, c) yes, hit - var fr = fi - var pr = pi + 1 - if (pr === pl) { - this.debug('** at the end') - // a ** at the end will just swallow the rest. - // We have found a match. - // however, it will not swallow /.x, unless - // options.dot is set. - // . and .. are *never* matched by **, for explosively - // exponential reasons. - for (; fi < fl; fi++) { - if (file[fi] === '.' || file[fi] === '..' || - (!options.dot && file[fi].charAt(0) === '.')) return false - } - return true - } - - // ok, let's see if we can swallow whatever we can. - while (fr < fl) { - var swallowee = file[fr] - - this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) - - // XXX remove this slice. Just pass the start index. - if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { - this.debug('globstar found match!', fr, fl, swallowee) - // found a match. - return true - } else { - // can't swallow "." or ".." ever. - // can only swallow ".foo" when explicitly asked. - if (swallowee === '.' || swallowee === '..' || - (!options.dot && swallowee.charAt(0) === '.')) { - this.debug('dot detected!', file, fr, pattern, pr) - break - } - - // ** swallows a segment, and continue. - this.debug('globstar swallow a segment, and continue') - fr++ - } - } - - // no match was found. - // However, in partial mode, we can't say this is necessarily over. - // If there's more *pattern* left, then - if (partial) { - // ran out of file - this.debug('\n>>> no match, partial?', file, fr, pattern, pr) - if (fr === fl) return true - } - return false - } - - // something other than ** - // non-magic patterns just have to match exactly - // patterns with magic have been turned into regexps. - var hit - if (typeof p === 'string') { - if (options.nocase) { - hit = f.toLowerCase() === p.toLowerCase() - } else { - hit = f === p - } - this.debug('string match', p, f, hit) - } else { - hit = f.match(p) - this.debug('pattern match', p, f, hit) - } - - if (!hit) return false - } - - // Note: ending in / means that we'll get a final "" - // at the end of the pattern. This can only match a - // corresponding "" at the end of the file. - // If the file ends in /, then it can only match a - // a pattern that ends in /, unless the pattern just - // doesn't have any more for it. But, a/b/ should *not* - // match "a/b/*", even though "" matches against the - // [^/]*? pattern, except in partial mode, where it might - // simply not be reached yet. - // However, a/b/ should still satisfy a/* - - // now either we fell off the end of the pattern, or we're done. - if (fi === fl && pi === pl) { - // ran out of pattern and filename at the same time. - // an exact hit! - return true - } else if (fi === fl) { - // ran out of file, but still had pattern left. - // this is ok if we're doing the match as part of - // a glob fs traversal. - return partial - } else if (pi === pl) { - // ran out of pattern, still have file left. - // this is only acceptable if we're on the very last - // empty segment of a file with a trailing slash. - // a/* should match a/b/ - var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') - return emptyFileEnd - } - - // should be unreachable. - throw new Error('wtf?') -} - -// replace stuff like \* with * -function globUnescape (s) { - return s.replace(/\\(.)/g, '$1') -} - -function regExpEscape (s) { - return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') -} - - -/***/ }), - -/***/ "./node_modules/once/once.js": -/*!***********************************!*\ - !*** ./node_modules/once/once.js ***! - \***********************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var wrappy = __webpack_require__(/*! wrappy */ "./node_modules/wrappy/wrappy.js") -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) - -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) - - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) - -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) - } - f.called = false - return f -} - -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f -} - - -/***/ }), - -/***/ "./node_modules/path-is-absolute/index.js": -/*!************************************************!*\ - !*** ./node_modules/path-is-absolute/index.js ***! - \************************************************/ -/***/ ((module) => { - -"use strict"; - - -function posix(path) { - return path.charAt(0) === '/'; -} - -function win32(path) { - // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 - var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; - var result = splitDeviceRe.exec(path); - var device = result[1] || ''; - var isUnc = Boolean(device && device.charAt(1) !== ':'); - - // UNC paths are always absolute - return Boolean(result[2] || isUnc); -} - -module.exports = process.platform === 'win32' ? win32 : posix; -module.exports.posix = posix; -module.exports.win32 = win32; - - -/***/ }), - -/***/ "./node_modules/q/q.js": -/*!*****************************!*\ - !*** ./node_modules/q/q.js ***! - \*****************************/ -/***/ ((module) => { - -// vim:ts=4:sts=4:sw=4: -/*! - * - * Copyright 2009-2017 Kris Kowal under the terms of the MIT - * license found at https://github.com/kriskowal/q/blob/v1/LICENSE - * - * With parts by Tyler Close - * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found - * at http://www.opensource.org/licenses/mit-license.html - * Forked at ref_send.js version: 2009-05-11 - * - * With parts by Mark Miller - * Copyright (C) 2011 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -(function (definition) { - "use strict"; - - // This file will function properly as a