diff options
| author | Christian Cleberg <[email protected]> | 2026-04-18 22:32:53 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-18 22:32:53 -0500 |
| commit | 580e798e16346eb894eb899edac82d2efdf40adc (patch) | |
| tree | 6dec3b7db678f781138b40d34da37d21ac8fbe7d /node_modules/@babel/helper-compilation-targets/lib | |
| download | brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.tar.gz brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.tar.bz2 brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.zip | |
initial commit
Diffstat (limited to 'node_modules/@babel/helper-compilation-targets/lib')
14 files changed, 481 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-compilation-targets/lib/debug.js b/node_modules/@babel/helper-compilation-targets/lib/debug.js new file mode 100644 index 0000000..372e686 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/debug.js @@ -0,0 +1,28 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getInclusionReasons = getInclusionReasons; +var _semver = require("semver"); +var _pretty = require("./pretty.js"); +var _utils = require("./utils.js"); +function getInclusionReasons(item, targetVersions, list) { + const minVersions = list[item] || {}; + return Object.keys(targetVersions).reduce((result, env) => { + const minVersion = (0, _utils.getLowestImplementedVersion)(minVersions, env); + const targetVersion = targetVersions[env]; + if (!minVersion) { + result[env] = (0, _pretty.prettifyVersion)(targetVersion); + } else { + const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); + const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); + if (!targetIsUnreleased && (minIsUnreleased || _semver.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) { + result[env] = (0, _pretty.prettifyVersion)(targetVersion); + } + } + return result; + }, {}); +} + +//# sourceMappingURL=debug.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/debug.js.map b/node_modules/@babel/helper-compilation-targets/lib/debug.js.map new file mode 100644 index 0000000..9c81669 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/debug.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_semver","require","_pretty","_utils","getInclusionReasons","item","targetVersions","list","minVersions","Object","keys","reduce","result","env","minVersion","getLowestImplementedVersion","targetVersion","prettifyVersion","minIsUnreleased","isUnreleasedVersion","targetIsUnreleased","semver","lt","toString","semverify"],"sources":["../src/debug.ts"],"sourcesContent":["import semver from \"semver\";\nimport { prettifyVersion } from \"./pretty.ts\";\nimport {\n semverify,\n isUnreleasedVersion,\n getLowestImplementedVersion,\n} from \"./utils.ts\";\nimport type { Target, Targets } from \"./types.ts\";\n\nexport function getInclusionReasons(\n item: string,\n targetVersions: Targets,\n list: Record<string, Targets>,\n) {\n const minVersions = list[item] || {};\n\n return (Object.keys(targetVersions) as Target[]).reduce(\n (result, env) => {\n const minVersion = getLowestImplementedVersion(minVersions, env);\n const targetVersion = targetVersions[env];\n\n if (!minVersion) {\n result[env] = prettifyVersion(targetVersion);\n } else {\n const minIsUnreleased = isUnreleasedVersion(minVersion, env);\n const targetIsUnreleased = isUnreleasedVersion(targetVersion, env);\n\n if (\n !targetIsUnreleased &&\n (minIsUnreleased ||\n semver.lt(targetVersion.toString(), semverify(minVersion)))\n ) {\n result[env] = prettifyVersion(targetVersion);\n }\n }\n\n return result;\n },\n {} as Partial<Record<Target, string>>,\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAOO,SAASG,mBAAmBA,CACjCC,IAAY,EACZC,cAAuB,EACvBC,IAA6B,EAC7B;EACA,MAAMC,WAAW,GAAGD,IAAI,CAACF,IAAI,CAAC,IAAI,CAAC,CAAC;EAEpC,OAAQI,MAAM,CAACC,IAAI,CAACJ,cAAc,CAAC,CAAcK,MAAM,CACrD,CAACC,MAAM,EAAEC,GAAG,KAAK;IACf,MAAMC,UAAU,GAAG,IAAAC,kCAA2B,EAACP,WAAW,EAAEK,GAAG,CAAC;IAChE,MAAMG,aAAa,GAAGV,cAAc,CAACO,GAAG,CAAC;IAEzC,IAAI,CAACC,UAAU,EAAE;MACfF,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAI,uBAAe,EAACD,aAAa,CAAC;IAC9C,CAAC,MAAM;MACL,MAAME,eAAe,GAAG,IAAAC,0BAAmB,EAACL,UAAU,EAAED,GAAG,CAAC;MAC5D,MAAMO,kBAAkB,GAAG,IAAAD,0BAAmB,EAACH,aAAa,EAAEH,GAAG,CAAC;MAElE,IACE,CAACO,kBAAkB,KAClBF,eAAe,IACdG,OAAM,CAACC,EAAE,CAACN,aAAa,CAACO,QAAQ,CAAC,CAAC,EAAE,IAAAC,gBAAS,EAACV,UAAU,CAAC,CAAC,CAAC,EAC7D;QACAF,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAI,uBAAe,EAACD,aAAa,CAAC;MAC9C;IACF;IAEA,OAAOJ,MAAM;EACf,CAAC,EACD,CAAC,CACH,CAAC;AACH","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/filter-items.js b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js new file mode 100644 index 0000000..62505f3 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js @@ -0,0 +1,67 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = filterItems; +exports.isRequired = isRequired; +exports.targetsSupported = targetsSupported; +var _semver = require("semver"); +var _utils = require("./utils.js"); +const pluginsCompatData = require("@babel/compat-data/plugins"); +function targetsSupported(target, support) { + const targetEnvironments = Object.keys(target); + if (targetEnvironments.length === 0) { + return false; + } + const unsupportedEnvironments = targetEnvironments.filter(environment => { + const lowestImplementedVersion = (0, _utils.getLowestImplementedVersion)(support, environment); + if (!lowestImplementedVersion) { + return true; + } + const lowestTargetedVersion = target[environment]; + if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) { + return false; + } + if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) { + return true; + } + if (!_semver.valid(lowestTargetedVersion.toString())) { + throw new Error(`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` + "Versions must be in semver format (major.minor.patch)"); + } + return _semver.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString()); + }); + return unsupportedEnvironments.length === 0; +} +function isRequired(name, targets, { + compatData = pluginsCompatData, + includes, + excludes +} = {}) { + if (excludes != null && excludes.has(name)) return false; + if (includes != null && includes.has(name)) return true; + return !targetsSupported(targets, compatData[name]); +} +function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) { + const result = new Set(); + const options = { + compatData: list, + includes, + excludes + }; + for (const item in list) { + if (isRequired(item, targets, options)) { + result.add(item); + } else if (pluginSyntaxMap) { + const shippedProposalsSyntax = pluginSyntaxMap.get(item); + if (shippedProposalsSyntax) { + result.add(shippedProposalsSyntax); + } + } + } + defaultIncludes == null || defaultIncludes.forEach(item => !excludes.has(item) && result.add(item)); + defaultExcludes == null || defaultExcludes.forEach(item => !includes.has(item) && result.delete(item)); + return result; +} + +//# sourceMappingURL=filter-items.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map new file mode 100644 index 0000000..1f4686a --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_semver","require","_utils","pluginsCompatData","targetsSupported","target","support","targetEnvironments","Object","keys","length","unsupportedEnvironments","filter","environment","lowestImplementedVersion","getLowestImplementedVersion","lowestTargetedVersion","isUnreleasedVersion","semver","valid","toString","Error","gt","semverify","isRequired","name","targets","compatData","includes","excludes","has","filterItems","list","defaultIncludes","defaultExcludes","pluginSyntaxMap","result","Set","options","item","add","shippedProposalsSyntax","get","forEach","delete"],"sources":["../src/filter-items.ts"],"sourcesContent":["import semver from \"semver\";\n\nimport pluginsCompatData from \"@babel/compat-data/plugins\" with { type: \"json\" };\n\nimport type { Targets } from \"./types.ts\";\nimport {\n getLowestImplementedVersion,\n isUnreleasedVersion,\n semverify,\n} from \"./utils.ts\";\n\nexport function targetsSupported(target: Targets, support: Targets) {\n const targetEnvironments = Object.keys(target) as (keyof Targets)[];\n\n if (targetEnvironments.length === 0) {\n return false;\n }\n\n const unsupportedEnvironments = targetEnvironments.filter(environment => {\n const lowestImplementedVersion = getLowestImplementedVersion(\n support,\n environment,\n );\n\n // Feature is not implemented in that environment\n if (!lowestImplementedVersion) {\n return true;\n }\n\n const lowestTargetedVersion = target[environment];\n\n // If targets has unreleased value as a lowest version, then don't require a plugin.\n if (isUnreleasedVersion(lowestTargetedVersion, environment)) {\n return false;\n }\n\n // Include plugin if it is supported in the unreleased environment, which wasn't specified in targets\n if (isUnreleasedVersion(lowestImplementedVersion, environment)) {\n return true;\n }\n\n if (!semver.valid(lowestTargetedVersion.toString())) {\n throw new Error(\n `Invalid version passed for target \"${environment}\": \"${lowestTargetedVersion}\". ` +\n \"Versions must be in semver format (major.minor.patch)\",\n );\n }\n\n return semver.gt(\n semverify(lowestImplementedVersion),\n lowestTargetedVersion.toString(),\n );\n });\n\n return unsupportedEnvironments.length === 0;\n}\n\nexport function isRequired(\n name: string,\n targets: Targets,\n {\n compatData = pluginsCompatData,\n includes,\n excludes,\n }: {\n compatData?: Record<string, Targets>;\n includes?: Set<string>;\n excludes?: Set<string>;\n } = {},\n) {\n if (excludes?.has(name)) return false;\n if (includes?.has(name)) return true;\n return !targetsSupported(targets, compatData[name]);\n}\n\nexport default function filterItems(\n list: Record<string, Targets>,\n includes: Set<string>,\n excludes: Set<string>,\n targets: Targets,\n defaultIncludes: string[] | null,\n defaultExcludes?: string[] | null,\n pluginSyntaxMap?: Map<string, string | null>,\n) {\n const result = new Set<string>();\n const options = { compatData: list, includes, excludes };\n\n for (const item in list) {\n if (isRequired(item, targets, options)) {\n result.add(item);\n } else if (pluginSyntaxMap) {\n const shippedProposalsSyntax = pluginSyntaxMap.get(item);\n\n if (shippedProposalsSyntax) {\n result.add(shippedProposalsSyntax);\n }\n }\n }\n\n defaultIncludes?.forEach(item => !excludes.has(item) && result.add(item));\n defaultExcludes?.forEach(item => !includes.has(item) && result.delete(item));\n\n return result;\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/index.js b/node_modules/@babel/helper-compilation-targets/lib/index.js new file mode 100644 index 0000000..567565a --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/index.js @@ -0,0 +1,229 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "TargetNames", { + enumerable: true, + get: function () { + return _options.TargetNames; + } +}); +exports.default = getTargets; +Object.defineProperty(exports, "filterItems", { + enumerable: true, + get: function () { + return _filterItems.default; + } +}); +Object.defineProperty(exports, "getInclusionReasons", { + enumerable: true, + get: function () { + return _debug.getInclusionReasons; + } +}); +exports.isBrowsersQueryValid = isBrowsersQueryValid; +Object.defineProperty(exports, "isRequired", { + enumerable: true, + get: function () { + return _filterItems.isRequired; + } +}); +Object.defineProperty(exports, "prettifyTargets", { + enumerable: true, + get: function () { + return _pretty.prettifyTargets; + } +}); +Object.defineProperty(exports, "unreleasedLabels", { + enumerable: true, + get: function () { + return _targets.unreleasedLabels; + } +}); +var _browserslist = require("browserslist"); +var _helperValidatorOption = require("@babel/helper-validator-option"); +var _lruCache = require("lru-cache"); +var _utils = require("./utils.js"); +var _targets = require("./targets.js"); +var _options = require("./options.js"); +var _pretty = require("./pretty.js"); +var _debug = require("./debug.js"); +var _filterItems = require("./filter-items.js"); +const browserModulesData = require("@babel/compat-data/native-modules"); +const ESM_SUPPORT = browserModulesData["es6.module"]; +const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); +function validateTargetNames(targets) { + const validTargets = Object.keys(_options.TargetNames); + for (const target of Object.keys(targets)) { + if (!(target in _options.TargetNames)) { + throw new Error(v.formatMessage(`'${target}' is not a valid target +- Did you mean '${(0, _helperValidatorOption.findSuggestion)(target, validTargets)}'?`)); + } + } + return targets; +} +function isBrowsersQueryValid(browsers) { + return typeof browsers === "string" || Array.isArray(browsers) && browsers.every(b => typeof b === "string"); +} +function validateBrowsers(browsers) { + v.invariant(browsers === undefined || isBrowsersQueryValid(browsers), `'${String(browsers)}' is not a valid browserslist query`); + return browsers; +} +function getLowestVersions(browsers) { + return browsers.reduce((all, browser) => { + const [browserName, browserVersion] = browser.split(" "); + const target = _targets.browserNameMap[browserName]; + if (!target) { + return all; + } + try { + const splitVersion = browserVersion.split("-")[0].toLowerCase(); + const isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, target); + if (!all[target]) { + all[target] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion); + return all; + } + const version = all[target]; + const isUnreleased = (0, _utils.isUnreleasedVersion)(version, target); + if (isUnreleased && isSplitUnreleased) { + all[target] = (0, _utils.getLowestUnreleased)(version, splitVersion, target); + } else if (isUnreleased) { + all[target] = (0, _utils.semverify)(splitVersion); + } else if (!isUnreleased && !isSplitUnreleased) { + const parsedBrowserVersion = (0, _utils.semverify)(splitVersion); + all[target] = (0, _utils.semverMin)(version, parsedBrowserVersion); + } + } catch (_) {} + return all; + }, {}); +} +function outputDecimalWarning(decimalTargets) { + if (!decimalTargets.length) { + return; + } + console.warn("Warning, the following targets are using a decimal version:\n"); + decimalTargets.forEach(({ + target, + value + }) => console.warn(` ${target}: ${value}`)); + console.warn(` +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. +`); +} +function semverifyTarget(target, value) { + try { + return (0, _utils.semverify)(value); + } catch (_) { + throw new Error(v.formatMessage(`'${value}' is not a valid value for 'targets.${target}'.`)); + } +} +function nodeTargetParser(value) { + const parsed = value === true || value === "current" ? process.versions.node.split("-")[0] : semverifyTarget("node", value); + return ["node", parsed]; +} +function defaultTargetParser(target, value) { + const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value); + return [target, version]; +} +function generateTargets(inputTargets) { + const input = Object.assign({}, inputTargets); + delete input.esmodules; + delete input.browsers; + return input; +} +function resolveTargets(queries, env) { + const resolved = _browserslist(queries, { + mobileToDesktop: true, + env + }); + return getLowestVersions(resolved); +} +const targetsCache = new _lruCache({ + max: 64 +}); +function resolveTargetsCached(queries, env) { + const cacheKey = typeof queries === "string" ? queries : queries.join() + env; + let cached = targetsCache.get(cacheKey); + if (!cached) { + cached = resolveTargets(queries, env); + targetsCache.set(cacheKey, cached); + } + return Object.assign({}, cached); +} +function getTargets(inputTargets = {}, options = {}) { + var _browsers, _browsers2; + let { + browsers, + esmodules + } = inputTargets; + const { + configPath = ".", + onBrowserslistConfigFound + } = options; + validateBrowsers(browsers); + const input = generateTargets(inputTargets); + let targets = validateTargetNames(input); + const shouldParseBrowsers = !!browsers; + const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0; + const shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets; + if (!browsers && shouldSearchForConfig) { + browsers = process.env.BROWSERSLIST; + if (!browsers) { + const configFile = options.configFile || process.env.BROWSERSLIST_CONFIG || _browserslist.findConfigFile(configPath); + if (configFile != null) { + onBrowserslistConfigFound == null || onBrowserslistConfigFound(configFile); + browsers = _browserslist.loadConfig({ + config: configFile, + env: options.browserslistEnv + }); + } + } + if (browsers == null) { + browsers = []; + } + } + if (esmodules && (esmodules !== "intersect" || !((_browsers = browsers) != null && _browsers.length))) { + browsers = Object.keys(ESM_SUPPORT).map(browser => `${browser} >= ${ESM_SUPPORT[browser]}`).join(", "); + esmodules = false; + } + if ((_browsers2 = browsers) != null && _browsers2.length) { + const queryBrowsers = resolveTargetsCached(browsers, options.browserslistEnv); + if (esmodules === "intersect") { + for (const browser of Object.keys(queryBrowsers)) { + if (browser !== "deno" && browser !== "ie") { + const esmSupportVersion = ESM_SUPPORT[browser === "opera_mobile" ? "op_mob" : browser]; + if (esmSupportVersion) { + const version = queryBrowsers[browser]; + queryBrowsers[browser] = (0, _utils.getHighestUnreleased)(version, (0, _utils.semverify)(esmSupportVersion), browser); + } else { + delete queryBrowsers[browser]; + } + } else { + delete queryBrowsers[browser]; + } + } + } + targets = Object.assign(queryBrowsers, targets); + } + const result = {}; + const decimalWarnings = []; + for (const target of Object.keys(targets).sort()) { + const value = targets[target]; + if (typeof value === "number" && value % 1 !== 0) { + decimalWarnings.push({ + target, + value + }); + } + const [parsedTarget, parsedValue] = target === "node" ? nodeTargetParser(value) : defaultTargetParser(target, value); + if (parsedValue) { + result[parsedTarget] = parsedValue; + } + } + outputDecimalWarning(decimalWarnings); + return result; +} + +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/index.js.map b/node_modules/@babel/helper-compilation-targets/lib/index.js.map new file mode 100644 index 0000000..a66b375 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_browserslist","require","_helperValidatorOption","_lruCache","_utils","_targets","_options","_pretty","_debug","_filterItems","browserModulesData","ESM_SUPPORT","v","OptionValidator","validateTargetNames","targets","validTargets","Object","keys","TargetNames","target","Error","formatMessage","findSuggestion","isBrowsersQueryValid","browsers","Array","isArray","every","b","validateBrowsers","invariant","undefined","String","getLowestVersions","reduce","all","browser","browserName","browserVersion","split","browserNameMap","splitVersion","toLowerCase","isSplitUnreleased","isUnreleasedVersion","semverify","version","isUnreleased","getLowestUnreleased","parsedBrowserVersion","semverMin","_","outputDecimalWarning","decimalTargets","length","console","warn","forEach","value","semverifyTarget","nodeTargetParser","parsed","process","versions","node","defaultTargetParser","generateTargets","inputTargets","input","assign","esmodules","resolveTargets","queries","env","resolved","browserslist","mobileToDesktop","targetsCache","LruCache","max","resolveTargetsCached","cacheKey","join","cached","get","set","getTargets","options","_browsers","_browsers2","configPath","onBrowserslistConfigFound","shouldParseBrowsers","hasTargets","shouldSearchForConfig","ignoreBrowserslistConfig","BROWSERSLIST","configFile","BROWSERSLIST_CONFIG","findConfigFile","loadConfig","config","browserslistEnv","map","queryBrowsers","esmSupportVersion","getHighestUnreleased","result","decimalWarnings","sort","push","parsedTarget","parsedValue"],"sources":["../src/index.ts"],"sourcesContent":["import browserslist from \"browserslist\";\nimport { findSuggestion } from \"@babel/helper-validator-option\";\nimport browserModulesData from \"@babel/compat-data/native-modules\" with { type: \"json\" };\nimport LruCache from \"lru-cache\";\n\nimport {\n semverify,\n semverMin,\n isUnreleasedVersion,\n getLowestUnreleased,\n getHighestUnreleased,\n} from \"./utils.ts\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport { browserNameMap } from \"./targets.ts\";\nimport { TargetNames } from \"./options.ts\";\nimport type {\n Target,\n Targets,\n InputTargets,\n Browsers,\n BrowserslistBrowserName,\n TargetsTuple,\n} from \"./types.d.ts\";\n\nexport type { Target, Targets, InputTargets };\n\nexport { prettifyTargets } from \"./pretty.ts\";\nexport { getInclusionReasons } from \"./debug.ts\";\nexport { default as filterItems, isRequired } from \"./filter-items.ts\";\nexport { unreleasedLabels } from \"./targets.ts\";\nexport { TargetNames };\n\nconst ESM_SUPPORT = browserModulesData[\"es6.module\"];\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nfunction validateTargetNames(targets: Targets): TargetsTuple {\n const validTargets = Object.keys(TargetNames);\n for (const target of Object.keys(targets)) {\n if (!(target in TargetNames)) {\n throw new Error(\n v.formatMessage(`'${target}' is not a valid target\n- Did you mean '${findSuggestion(target, validTargets)}'?`),\n );\n }\n }\n\n return targets;\n}\n\nexport function isBrowsersQueryValid(browsers: unknown): boolean {\n return (\n typeof browsers === \"string\" ||\n (Array.isArray(browsers) && browsers.every(b => typeof b === \"string\"))\n );\n}\n\nfunction validateBrowsers(browsers: Browsers | undefined) {\n v.invariant(\n browsers === undefined || isBrowsersQueryValid(browsers),\n `'${String(browsers)}' is not a valid browserslist query`,\n );\n\n return browsers;\n}\n\nfunction getLowestVersions(browsers: string[]): Targets {\n return browsers.reduce(\n (all, browser) => {\n const [browserName, browserVersion] = browser.split(\" \") as [\n BrowserslistBrowserName,\n string,\n ];\n const target = browserNameMap[browserName];\n\n if (!target) {\n return all;\n }\n\n try {\n // Browser version can return as \"10.0-10.2\"\n const splitVersion = browserVersion.split(\"-\")[0].toLowerCase();\n const isSplitUnreleased = isUnreleasedVersion(splitVersion, target);\n\n if (!all[target]) {\n all[target] = isSplitUnreleased\n ? splitVersion\n : semverify(splitVersion);\n return all;\n }\n\n const version = all[target];\n const isUnreleased = isUnreleasedVersion(version, target);\n\n if (isUnreleased && isSplitUnreleased) {\n all[target] = getLowestUnreleased(version, splitVersion, target);\n } else if (isUnreleased) {\n all[target] = semverify(splitVersion);\n } else if (!isUnreleased && !isSplitUnreleased) {\n const parsedBrowserVersion = semverify(splitVersion);\n\n all[target] = semverMin(version, parsedBrowserVersion);\n }\n } catch (_) {}\n\n return all;\n },\n {} as Record<Target, string>,\n );\n}\n\nfunction outputDecimalWarning(\n decimalTargets: { target: string; value: number }[],\n) {\n if (!decimalTargets.length) {\n return;\n }\n\n console.warn(\"Warning, the following targets are using a decimal version:\\n\");\n decimalTargets.forEach(({ target, value }) =>\n console.warn(` ${target}: ${value}`),\n );\n console.warn(`\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n`);\n}\n\nfunction semverifyTarget(target: Target, value: string) {\n try {\n return semverify(value);\n } catch (_) {\n throw new Error(\n v.formatMessage(\n `'${value}' is not a valid value for 'targets.${target}'.`,\n ),\n );\n }\n}\n\n// Parse `node: true` and `node: \"current\"` to version\nfunction nodeTargetParser(value: true | string) {\n const parsed =\n value === true || value === \"current\"\n ? // Align with `browserslist` and strip prerelease tag.\n process.versions.node.split(\"-\")[0]\n : semverifyTarget(\"node\", value);\n return [\"node\", parsed] as const;\n}\n\nfunction defaultTargetParser(\n target: Exclude<Target, \"node\">,\n value: string,\n): readonly [Exclude<Target, \"node\">, string] {\n const version = isUnreleasedVersion(value, target)\n ? value.toLowerCase()\n : semverifyTarget(target, value);\n return [target, version] as const;\n}\n\nfunction generateTargets(inputTargets: InputTargets): Targets {\n const input = { ...inputTargets };\n delete input.esmodules;\n delete input.browsers;\n return input;\n}\n\nfunction resolveTargets(queries: Browsers, env?: string): Targets {\n const resolved = browserslist(queries, {\n mobileToDesktop: true,\n env,\n });\n return getLowestVersions(resolved);\n}\n\nconst targetsCache = new LruCache({ max: 64 });\n\nfunction resolveTargetsCached(queries: Browsers, env?: string): Targets {\n const cacheKey = typeof queries === \"string\" ? queries : queries.join() + env;\n let cached = targetsCache.get(cacheKey) as Targets | undefined;\n if (!cached) {\n cached = resolveTargets(queries, env);\n targetsCache.set(cacheKey, cached);\n }\n return { ...cached };\n}\n\ntype GetTargetsOption = {\n // This is not the path of the config file, but the path where start searching it from\n configPath?: string;\n // The path of the config file\n configFile?: string;\n // The env to pass to browserslist\n browserslistEnv?: string;\n // true to disable config loading\n ignoreBrowserslistConfig?: boolean;\n // custom hook when browserslist config is found\n onBrowserslistConfigFound?: (configFile: string) => void;\n};\n\nexport default function getTargets(\n inputTargets: InputTargets = {},\n options: GetTargetsOption = {},\n): Targets {\n let { browsers, esmodules } = inputTargets;\n const { configPath = \".\", onBrowserslistConfigFound } = options;\n\n validateBrowsers(browsers);\n\n const input = generateTargets(inputTargets);\n let targets = validateTargetNames(input);\n\n const shouldParseBrowsers = !!browsers;\n const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;\n const shouldSearchForConfig =\n !options.ignoreBrowserslistConfig && !hasTargets;\n\n if (!browsers && shouldSearchForConfig) {\n // https://github.com/browserslist/browserslist/blob/8ae85caa905d130f4ca86f7a998a5b63abbbe582/node.js#L243\n browsers = process.env.BROWSERSLIST;\n if (!browsers) {\n const configFile =\n options.configFile ||\n process.env.BROWSERSLIST_CONFIG ||\n browserslist.findConfigFile(configPath);\n if (configFile != null) {\n onBrowserslistConfigFound?.(configFile);\n browsers = browserslist.loadConfig({\n config: configFile,\n env: options.browserslistEnv,\n });\n }\n }\n\n if (browsers == null) {\n if (process.env.BABEL_8_BREAKING) {\n // In Babel 8, if no targets are passed, we use browserslist's defaults.\n browsers = [\"defaults\"];\n } else {\n // If no targets are passed, we need to overwrite browserslist's defaults\n // so that we enable all transforms (acting like the now deprecated\n // preset-latest).\n browsers = [];\n }\n }\n }\n\n if (process.env.BABEL_8_BREAKING && esmodules) {\n esmodules = \"intersect\";\n }\n\n // `esmodules` as a target indicates the specific set of browsers supporting ES Modules.\n // These values OVERRIDE the `browsers` field.\n if (esmodules && (esmodules !== \"intersect\" || !browsers?.length)) {\n browsers = Object.keys(ESM_SUPPORT)\n .map(\n (browser: keyof typeof ESM_SUPPORT) =>\n `${browser} >= ${ESM_SUPPORT[browser]}`,\n )\n .join(\", \");\n esmodules = false;\n }\n\n // If current value of `browsers` is undefined (`ignoreBrowserslistConfig` should be `false`)\n // or an empty array (without any user config, use default config),\n // we don't need to call `resolveTargets` to execute the related methods of `browserslist` library.\n if (browsers?.length) {\n const queryBrowsers = resolveTargetsCached(\n browsers,\n options.browserslistEnv,\n );\n\n if (esmodules === \"intersect\") {\n for (const browser of Object.keys(queryBrowsers) as Target[]) {\n if (browser !== \"deno\" && browser !== \"ie\") {\n const esmSupportVersion =\n ESM_SUPPORT[browser === \"opera_mobile\" ? \"op_mob\" : browser];\n\n if (esmSupportVersion) {\n const version = queryBrowsers[browser];\n queryBrowsers[browser] = getHighestUnreleased(\n version,\n semverify(esmSupportVersion),\n browser,\n );\n } else {\n delete queryBrowsers[browser];\n }\n } else {\n delete queryBrowsers[browser];\n }\n }\n }\n\n targets = Object.assign(queryBrowsers, targets);\n }\n\n // Parse remaining targets\n const result: Targets = {};\n const decimalWarnings = [];\n for (const target of Object.keys(targets).sort() as Target[]) {\n const value = targets[target];\n\n // Warn when specifying minor/patch as a decimal\n if (typeof value === \"number\" && value % 1 !== 0) {\n decimalWarnings.push({ target, value });\n }\n\n const [parsedTarget, parsedValue] =\n target === \"node\"\n ? nodeTargetParser(value)\n : defaultTargetParser(target, value as string);\n\n if (parsedValue) {\n // Merge (lowest wins)\n result[parsedTarget] = parsedValue;\n }\n }\n\n outputDecimalWarning(decimalWarnings);\n\n return result;\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/options.js b/node_modules/@babel/helper-compilation-targets/lib/options.js new file mode 100644 index 0000000..cdb7c00 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/options.js @@ -0,0 +1,24 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TargetNames = void 0; +const TargetNames = exports.TargetNames = { + node: "node", + deno: "deno", + chrome: "chrome", + opera: "opera", + edge: "edge", + firefox: "firefox", + safari: "safari", + ie: "ie", + ios: "ios", + android: "android", + electron: "electron", + samsung: "samsung", + rhino: "rhino", + opera_mobile: "opera_mobile" +}; + +//# sourceMappingURL=options.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/options.js.map b/node_modules/@babel/helper-compilation-targets/lib/options.js.map new file mode 100644 index 0000000..5d3fbe0 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/options.js.map @@ -0,0 +1 @@ +{"version":3,"names":["TargetNames","exports","node","deno","chrome","opera","edge","firefox","safari","ie","ios","android","electron","samsung","rhino","opera_mobile"],"sources":["../src/options.ts"],"sourcesContent":["export const TargetNames = {\n node: \"node\",\n deno: \"deno\",\n chrome: \"chrome\",\n opera: \"opera\",\n edge: \"edge\",\n firefox: \"firefox\",\n safari: \"safari\",\n ie: \"ie\",\n ios: \"ios\",\n android: \"android\",\n electron: \"electron\",\n samsung: \"samsung\",\n rhino: \"rhino\",\n opera_mobile: \"opera_mobile\",\n};\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE;AAChB,CAAC","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/pretty.js b/node_modules/@babel/helper-compilation-targets/lib/pretty.js new file mode 100644 index 0000000..f7c195d --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/pretty.js @@ -0,0 +1,40 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.prettifyTargets = prettifyTargets; +exports.prettifyVersion = prettifyVersion; +var _semver = require("semver"); +var _targets = require("./targets.js"); +function prettifyVersion(version) { + if (typeof version !== "string") { + return version; + } + const { + major, + minor, + patch + } = _semver.parse(version); + const parts = [major]; + if (minor || patch) { + parts.push(minor); + } + if (patch) { + parts.push(patch); + } + return parts.join("."); +} +function prettifyTargets(targets) { + return Object.keys(targets).reduce((results, target) => { + let value = targets[target]; + const unreleasedLabel = _targets.unreleasedLabels[target]; + if (typeof value === "string" && unreleasedLabel !== value) { + value = prettifyVersion(value); + } + results[target] = value; + return results; + }, {}); +} + +//# sourceMappingURL=pretty.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map b/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map new file mode 100644 index 0000000..2b7f94a --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_semver","require","_targets","prettifyVersion","version","major","minor","patch","semver","parse","parts","push","join","prettifyTargets","targets","Object","keys","reduce","results","target","value","unreleasedLabel","unreleasedLabels"],"sources":["../src/pretty.ts"],"sourcesContent":["import semver from \"semver\";\nimport { unreleasedLabels } from \"./targets.ts\";\nimport type { Targets, Target } from \"./types.ts\";\n\nexport function prettifyVersion(version: string) {\n if (typeof version !== \"string\") {\n return version;\n }\n\n const { major, minor, patch } = semver.parse(version);\n\n const parts = [major];\n\n if (minor || patch) {\n parts.push(minor);\n }\n\n if (patch) {\n parts.push(patch);\n }\n\n return parts.join(\".\");\n}\n\nexport function prettifyTargets(targets: Targets): Targets {\n return Object.keys(targets).reduce((results, target: Target) => {\n let value = targets[target];\n\n const unreleasedLabel =\n // @ts-expect-error undefined is strictly compared with string later\n unreleasedLabels[target];\n if (typeof value === \"string\" && unreleasedLabel !== value) {\n value = prettifyVersion(value);\n }\n\n results[target] = value;\n return results;\n }, {} as Targets);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGO,SAASE,eAAeA,CAACC,OAAe,EAAE;EAC/C,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC/B,OAAOA,OAAO;EAChB;EAEA,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGC,OAAM,CAACC,KAAK,CAACL,OAAO,CAAC;EAErD,MAAMM,KAAK,GAAG,CAACL,KAAK,CAAC;EAErB,IAAIC,KAAK,IAAIC,KAAK,EAAE;IAClBG,KAAK,CAACC,IAAI,CAACL,KAAK,CAAC;EACnB;EAEA,IAAIC,KAAK,EAAE;IACTG,KAAK,CAACC,IAAI,CAACJ,KAAK,CAAC;EACnB;EAEA,OAAOG,KAAK,CAACE,IAAI,CAAC,GAAG,CAAC;AACxB;AAEO,SAASC,eAAeA,CAACC,OAAgB,EAAW;EACzD,OAAOC,MAAM,CAACC,IAAI,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,CAACC,OAAO,EAAEC,MAAc,KAAK;IAC9D,IAAIC,KAAK,GAAGN,OAAO,CAACK,MAAM,CAAC;IAE3B,MAAME,eAAe,GAEnBC,yBAAgB,CAACH,MAAM,CAAC;IAC1B,IAAI,OAAOC,KAAK,KAAK,QAAQ,IAAIC,eAAe,KAAKD,KAAK,EAAE;MAC1DA,KAAK,GAAGjB,eAAe,CAACiB,KAAK,CAAC;IAChC;IAEAF,OAAO,CAACC,MAAM,CAAC,GAAGC,KAAK;IACvB,OAAOF,OAAO;EAChB,CAAC,EAAE,CAAC,CAAY,CAAC;AACnB","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/targets.js b/node_modules/@babel/helper-compilation-targets/lib/targets.js new file mode 100644 index 0000000..d4d5e06 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/targets.js @@ -0,0 +1,28 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.unreleasedLabels = exports.browserNameMap = void 0; +const unreleasedLabels = exports.unreleasedLabels = { + safari: "tp" +}; +const browserNameMap = exports.browserNameMap = { + and_chr: "chrome", + and_ff: "firefox", + android: "android", + chrome: "chrome", + edge: "edge", + firefox: "firefox", + ie: "ie", + ie_mob: "ie", + ios_saf: "ios", + node: "node", + deno: "deno", + op_mob: "opera_mobile", + opera: "opera", + safari: "safari", + samsung: "samsung" +}; + +//# sourceMappingURL=targets.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/targets.js.map b/node_modules/@babel/helper-compilation-targets/lib/targets.js.map new file mode 100644 index 0000000..6f18ef2 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/targets.js.map @@ -0,0 +1 @@ +{"version":3,"names":["unreleasedLabels","exports","safari","browserNameMap","and_chr","and_ff","android","chrome","edge","firefox","ie","ie_mob","ios_saf","node","deno","op_mob","opera","samsung"],"sources":["../src/targets.ts"],"sourcesContent":["export const unreleasedLabels = {\n safari: \"tp\",\n} as const;\n\n// Map from browserslist|@mdn/browser-compat-data browser names to @kangax/compat-table browser names\nexport const browserNameMap = {\n and_chr: \"chrome\",\n and_ff: \"firefox\",\n android: \"android\",\n chrome: \"chrome\",\n edge: \"edge\",\n firefox: \"firefox\",\n ie: \"ie\",\n ie_mob: \"ie\",\n ios_saf: \"ios\",\n node: \"node\",\n deno: \"deno\",\n op_mob: \"opera_mobile\",\n opera: \"opera\",\n safari: \"safari\",\n samsung: \"samsung\",\n} as const;\n\nexport type BrowserslistBrowserName = keyof typeof browserNameMap;\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,MAAM,EAAE;AACV,CAAU;AAGH,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG;EAC5BC,OAAO,EAAE,QAAQ;EACjBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,SAAS;EAClBC,EAAE,EAAE,IAAI;EACRC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,KAAK;EACdC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,cAAc;EACtBC,KAAK,EAAE,OAAO;EACdd,MAAM,EAAE,QAAQ;EAChBe,OAAO,EAAE;AACX,CAAU","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-compilation-targets/lib/utils.js b/node_modules/@babel/helper-compilation-targets/lib/utils.js new file mode 100644 index 0000000..70270e0 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/utils.js @@ -0,0 +1,58 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getHighestUnreleased = getHighestUnreleased; +exports.getLowestImplementedVersion = getLowestImplementedVersion; +exports.getLowestUnreleased = getLowestUnreleased; +exports.isUnreleasedVersion = isUnreleasedVersion; +exports.semverMin = semverMin; +exports.semverify = semverify; +var _semver = require("semver"); +var _helperValidatorOption = require("@babel/helper-validator-option"); +var _targets = require("./targets.js"); +const versionRegExp = /^(?:\d+|\d(?:\d?[^\d\n\r\u2028\u2029]\d+|\d{2,}(?:[^\d\n\r\u2028\u2029]\d+)?))$/; +const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); +function semverMin(first, second) { + return first && _semver.lt(first, second) ? first : second; +} +function semverify(version) { + if (typeof version === "string" && _semver.valid(version)) { + return version; + } + v.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), `'${version}' is not a valid version`); + version = version.toString(); + let pos = 0; + let num = 0; + while ((pos = version.indexOf(".", pos + 1)) > 0) { + num++; + } + return version + ".0".repeat(2 - num); +} +function isUnreleasedVersion(version, env) { + const unreleasedLabel = _targets.unreleasedLabels[env]; + return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); +} +function getLowestUnreleased(a, b, env) { + const unreleasedLabel = _targets.unreleasedLabels[env]; + if (a === unreleasedLabel) { + return b; + } + if (b === unreleasedLabel) { + return a; + } + return semverMin(a, b); +} +function getHighestUnreleased(a, b, env) { + return getLowestUnreleased(a, b, env) === a ? b : a; +} +function getLowestImplementedVersion(plugin, environment) { + const result = plugin[environment]; + if (!result && environment === "android") { + return plugin.chrome; + } + return result; +} + +//# sourceMappingURL=utils.js.map diff --git a/node_modules/@babel/helper-compilation-targets/lib/utils.js.map b/node_modules/@babel/helper-compilation-targets/lib/utils.js.map new file mode 100644 index 0000000..fae4448 --- /dev/null +++ b/node_modules/@babel/helper-compilation-targets/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_semver","require","_helperValidatorOption","_targets","versionRegExp","v","OptionValidator","semverMin","first","second","semver","lt","semverify","version","valid","invariant","test","toString","pos","num","indexOf","repeat","isUnreleasedVersion","env","unreleasedLabel","unreleasedLabels","toLowerCase","getLowestUnreleased","a","b","getHighestUnreleased","getLowestImplementedVersion","plugin","environment","result","chrome"],"sources":["../src/utils.ts"],"sourcesContent":["import semver from \"semver\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport { unreleasedLabels } from \"./targets.ts\";\nimport type { Target, Targets } from \"./types.ts\";\n\nconst versionRegExp =\n /^(?:\\d+|\\d(?:\\d?[^\\d\\n\\r\\u2028\\u2029]\\d+|\\d{2,}(?:[^\\d\\n\\r\\u2028\\u2029]\\d+)?))$/;\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nexport function semverMin(\n first: string | undefined | null,\n second: string,\n): string {\n return first && semver.lt(first, second) ? first : second;\n}\n\n// Convert version to a semver value.\n// 2.5 -> 2.5.0; 1 -> 1.0.0;\nexport function semverify(version: number | string): string {\n if (typeof version === \"string\" && semver.valid(version)) {\n return version;\n }\n\n v.invariant(\n typeof version === \"number\" ||\n (typeof version === \"string\" && versionRegExp.test(version)),\n `'${version}' is not a valid version`,\n );\n\n version = version.toString();\n\n let pos = 0;\n let num = 0;\n while ((pos = version.indexOf(\".\", pos + 1)) > 0) {\n num++;\n }\n return version + \".0\".repeat(2 - num);\n}\n\nexport function isUnreleasedVersion(\n version: string | number,\n env: Target,\n): boolean {\n const unreleasedLabel =\n // @ts-expect-error unreleasedLabel will be guarded later\n unreleasedLabels[env];\n return (\n !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase()\n );\n}\n\nexport function getLowestUnreleased(a: string, b: string, env: Target): string {\n const unreleasedLabel:\n | (typeof unreleasedLabels)[keyof typeof unreleasedLabels]\n | undefined =\n // @ts-expect-error unreleasedLabel is undefined when env is not safari\n unreleasedLabels[env];\n if (a === unreleasedLabel) {\n return b;\n }\n if (b === unreleasedLabel) {\n return a;\n }\n return semverMin(a, b);\n}\n\nexport function getHighestUnreleased(\n a: string,\n b: string,\n env: Target,\n): string {\n return getLowestUnreleased(a, b, env) === a ? b : a;\n}\n\nexport function getLowestImplementedVersion(\n plugin: Targets,\n environment: Target,\n): string {\n const result = plugin[environment];\n // When Android support data is absent, use Chrome data as fallback\n if (!result && environment === \"android\") {\n return plugin.chrome;\n }\n return result;\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAGA,MAAMG,aAAa,GACjB,iFAAiF;AAEnF,MAAMC,CAAC,GAAG,IAAIC,sCAAe,oCAAkB,CAAC;AAEzC,SAASC,SAASA,CACvBC,KAAgC,EAChCC,MAAc,EACN;EACR,OAAOD,KAAK,IAAIE,OAAM,CAACC,EAAE,CAACH,KAAK,EAAEC,MAAM,CAAC,GAAGD,KAAK,GAAGC,MAAM;AAC3D;AAIO,SAASG,SAASA,CAACC,OAAwB,EAAU;EAC1D,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIH,OAAM,CAACI,KAAK,CAACD,OAAO,CAAC,EAAE;IACxD,OAAOA,OAAO;EAChB;EAEAR,CAAC,CAACU,SAAS,CACT,OAAOF,OAAO,KAAK,QAAQ,IACxB,OAAOA,OAAO,KAAK,QAAQ,IAAIT,aAAa,CAACY,IAAI,CAACH,OAAO,CAAE,EAC9D,IAAIA,OAAO,0BACb,CAAC;EAEDA,OAAO,GAAGA,OAAO,CAACI,QAAQ,CAAC,CAAC;EAE5B,IAAIC,GAAG,GAAG,CAAC;EACX,IAAIC,GAAG,GAAG,CAAC;EACX,OAAO,CAACD,GAAG,GAAGL,OAAO,CAACO,OAAO,CAAC,GAAG,EAAEF,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;IAChDC,GAAG,EAAE;EACP;EACA,OAAON,OAAO,GAAG,IAAI,CAACQ,MAAM,CAAC,CAAC,GAAGF,GAAG,CAAC;AACvC;AAEO,SAASG,mBAAmBA,CACjCT,OAAwB,EACxBU,GAAW,EACF;EACT,MAAMC,eAAe,GAEnBC,yBAAgB,CAACF,GAAG,CAAC;EACvB,OACE,CAAC,CAACC,eAAe,IAAIA,eAAe,KAAKX,OAAO,CAACI,QAAQ,CAAC,CAAC,CAACS,WAAW,CAAC,CAAC;AAE7E;AAEO,SAASC,mBAAmBA,CAACC,CAAS,EAAEC,CAAS,EAAEN,GAAW,EAAU;EAC7E,MAAMC,eAEO,GAEXC,yBAAgB,CAACF,GAAG,CAAC;EACvB,IAAIK,CAAC,KAAKJ,eAAe,EAAE;IACzB,OAAOK,CAAC;EACV;EACA,IAAIA,CAAC,KAAKL,eAAe,EAAE;IACzB,OAAOI,CAAC;EACV;EACA,OAAOrB,SAAS,CAACqB,CAAC,EAAEC,CAAC,CAAC;AACxB;AAEO,SAASC,oBAAoBA,CAClCF,CAAS,EACTC,CAAS,EACTN,GAAW,EACH;EACR,OAAOI,mBAAmB,CAACC,CAAC,EAAEC,CAAC,EAAEN,GAAG,CAAC,KAAKK,CAAC,GAAGC,CAAC,GAAGD,CAAC;AACrD;AAEO,SAASG,2BAA2BA,CACzCC,MAAe,EACfC,WAAmB,EACX;EACR,MAAMC,MAAM,GAAGF,MAAM,CAACC,WAAW,CAAC;EAElC,IAAI,CAACC,MAAM,IAAID,WAAW,KAAK,SAAS,EAAE;IACxC,OAAOD,MAAM,CAACG,MAAM;EACtB;EACA,OAAOD,MAAM;AACf","ignoreList":[]}
\ No newline at end of file |
