PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@expo/xcpretty/build/utils
Просмотр файла: getFirstExternalSourceForPod.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDependentPods = getDependentPods;
exports.getFirstExternalSourceForPod = getFirstExternalSourceForPod;
function getDependentPods(podfileLock, { name, version }) {
if (!podfileLock.pods) {
return [];
}
const hasPodDependency = (pods) => {
for (const podDependency of pods) {
if (podDependency.name === name) {
return !version || podDependency.version === version;
}
if (podDependency.dependencies && hasPodDependency(podDependency.dependencies)) {
return true;
}
}
return false;
};
return podfileLock.pods.reduce((prev, curr) => {
if (curr.name !== name && curr.dependencies && hasPodDependency(curr.dependencies)) {
return [...prev, curr.name];
}
return prev;
}, []);
}
/**
* Find the first "external source" (local file path reference) for a given pod.
*
* @param podfileLock
* @param props.name The pod name to search for.
* @param props.checked A recursive parameter to prevent infinite recursion, not for public use.
* @returns
*/
function getFirstExternalSourceForPod(podfileLock, { name, checked }) {
if (!podfileLock.externalSources) {
return null;
}
if (podfileLock.externalSources[name]) {
return { pod: name, source: podfileLock.externalSources[name] };
}
else if (name.includes('/')) {
// Short cut for pods with a path
const possibleName = name.split('/')[0];
if (podfileLock.externalSources[possibleName]) {
return { pod: possibleName, source: podfileLock.externalSources[possibleName] };
}
}
if (!checked) {
checked = [];
}
checked.push(name);
const dependents = getDependentPods(podfileLock, { name });
for (const dependent of dependents) {
// Prevent pods with cyclic dependencies from causing infinite loops.
if (!checked.includes(dependent)) {
const results = getFirstExternalSourceForPod(podfileLock, { name: dependent, checked });
if (results) {
return results;
}
}
}
return null;
}
//# sourceMappingURL=getFirstExternalSourceForPod.js.mapВыполнить команду
Для локальной разработки. Не используйте в интернете!