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
168 lines (136 loc) • 4.04 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createTestNetworkStream = createTestNetworkStream;
exports.createGetGraphFn = createGetGraphFn;
function _bluebird() {
const data = require("bluebird");
_bluebird = function () {
return data;
};
return data;
}
function _graphlib() {
const data = require("graphlib");
_graphlib = function () {
return data;
};
return data;
}
function _component() {
const data = require("../../component");
_component = function () {
return data;
};
return data;
}
function _network() {
const data = require("../network");
_network = function () {
return data;
};
return data;
}
function _bitId() {
const data = require("../../../bit-id");
_bitId = function () {
return data;
};
return data;
}
function _createCapsule() {
const data = require("./create-capsule");
_createCapsule = function () {
return data;
};
return data;
}
function _flow() {
const data = require("../flow");
_flow = function () {
return data;
};
return data;
}
/* eslint-disable @typescript-eslint/no-unused-vars */
function createTestNetworkStream(_x) {
return _createTestNetworkStream.apply(this, arguments);
}
function _createTestNetworkStream() {
_createTestNetworkStream = (0, _bluebird().coroutine)(function* (testCase) {
const fakeGetGraph = createGetGraphFn(testCase);
const fakeWorkSpace = createFakeWorkSpace(fakeGetGraph);
const ids = testCase.input.map(val => new (_component().ComponentID)(_bitId().BitId.parse(val)));
const getFlow = id => Promise.resolve(new (_flow().Flow)([`echo hello-${id.component.id}`]));
const network = new (_network().Network)(fakeWorkSpace, ids, getFlow, fakeGetGraph);
return network.execute(testCase.options);
});
return _createTestNetworkStream.apply(this, arguments);
}
function createFakeWorkSpace(fakeGetGraph) {
return {
getMany: ids => {
return Promise.resolve(ids.map(id => {
return {
id: {
toString: () => typeof id === 'string' ? id : id.toString()
}
};
}));
},
loadCapsules: function () {
var _ref = (0, _bluebird().coroutine)(function* (ids) {
const graph = yield fakeGetGraph({});
return Promise.all(ids.map(id => createFakeCapsuleInGraph(id, graph)));
});
return function loadCapsules(_x2) {
return _ref.apply(this, arguments);
};
}()
};
}
function createGetGraphFn(testCase) {
return _consumer => {
const res = Object.entries(testCase.graph).reduce((accum, [key, value]) => {
accum.setNode(key);
value.forEach(val => {
accum.setNode(val);
accum.setEdge(key, val);
});
return accum;
}, new (_graphlib().Graph)());
return Promise.resolve(res);
};
}
function createFakeCapsuleInGraph(_x3, _x4) {
return _createFakeCapsuleInGraph.apply(this, arguments);
}
function _createFakeCapsuleInGraph() {
_createFakeCapsuleInGraph = (0, _bluebird().coroutine)(function* (name, graph) {
const main = 'src/index.js';
const dependencies = (graph.predecessors(name) || []).reduce((accum, dependency) => {
accum[dependency] = `file://${(0, _createCapsule().getFakeCapsuleLocation)(name)}`;
return accum;
}, {});
const fs = {
[main]: `
${Object.keys(dependencies).map(dependency => `const ${dependency.split('/')[1]} = require('${dependency}')`).join('\n')}
function printMe(){
console.log('${Object.keys(dependencies).map(dependency => `${dependency.split('/')[1]}()` || ['hello', 'world']).join('+')}')
}
module.exports = function () {
return '${name}'
}
`,
'package.json': JSON.stringify({
main,
name,
dependencies
}, null, 2)
};
const fakeCapsule = yield (0, _createCapsule().createFakeCapsule)(fs, name);
return fakeCapsule;
});
return _createFakeCapsuleInGraph.apply(this, arguments);
}
;