UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

104 lines (80 loc) 3.37 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function _bluebird() { const data = require("bluebird"); _bluebird = function () { return data; }; return data; } function _defineProperty2() { const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); _defineProperty2 = function () { return data; }; return data; } function _componentDependencies() { const data = _interopRequireDefault(require("./component-dependencies")); _componentDependencies = function () { return data; }; return data; } function _componentObjects() { const data = _interopRequireDefault(require("./component-objects")); _componentObjects = function () { return data; }; return data; } class VersionDependencies { constructor(component, dependencies, devDependencies, extensionsDependencies, sourceScope) { (0, _defineProperty2().default)(this, "component", void 0); (0, _defineProperty2().default)(this, "dependencies", void 0); (0, _defineProperty2().default)(this, "devDependencies", void 0); (0, _defineProperty2().default)(this, "extensionsDependencies", void 0); (0, _defineProperty2().default)(this, "allDependencies", void 0); (0, _defineProperty2().default)(this, "sourceScope", void 0); this.component = component; this.dependencies = dependencies; this.devDependencies = devDependencies; this.extensionsDependencies = extensionsDependencies; this.allDependencies = [...this.dependencies, ...this.devDependencies, ...this.extensionsDependencies]; this.sourceScope = sourceScope; } toConsumer(repo, manipulateDirData) { var _this = this; return (0, _bluebird().coroutine)(function* () { const depToConsumer = dep => dep.toConsumer(repo, manipulateDirData); const dependenciesP = Promise.all(_this.dependencies.map(depToConsumer)); const devDependenciesP = Promise.all(_this.devDependencies.map(depToConsumer)); const extensionDependenciesP = Promise.all(_this.extensionsDependencies.map(depToConsumer)); const componentP = _this.component.toConsumer(repo, manipulateDirData); const [component, dependencies, devDependencies, extensionDependencies] = yield Promise.all([componentP, dependenciesP, devDependenciesP, extensionDependenciesP]); return new (_componentDependencies().default)({ component, dependencies, devDependencies, extensionDependencies }); })(); } toObjects(repo, clientVersion) { const depsP = Promise.all(this.allDependencies.map(dep => dep.toObjects(repo, clientVersion))); const compP = this.component.toObjects(repo, clientVersion); return Promise.all([compP, depsP]).then(([component, dependencies]) => { const flattened = dependencies.reduce((array, compObjects) => { // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! array.push(...compObjects.objects.concat([compObjects.component])); return array; }, []); // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! return new (_componentObjects().default)(component.component, flattened.concat(component.objects)); }); } } exports.default = VersionDependencies;