UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var _ = require("lodash");
4var isUri_1 = require("./isUri");
5var parseDependencies_1 = require("./parseDependencies");
6/**
7 * Recursively returns the requires.
8 *
9 * Assumes the map, node is already loaded.
10 *
11 * Note: Will break if node.provider is an url already.
12 *
13 * @private
14 */
15function collectDependencies(dependencies, flow, nodeDefinitions) {
16 flow.nodes.forEach(function (node) {
17 var provider;
18 if (node.provider && isUri_1.isUri(node.provider)) {
19 provider = node.provider;
20 }
21 else {
22 var providerHandle = node.provider || '@';
23 if (flow.providers && flow.providers[providerHandle]) {
24 provider =
25 flow.providers[providerHandle].url ||
26 flow.providers[providerHandle].path;
27 }
28 else {
29 throw Error('Flow does not contain a providers section.');
30 }
31 }
32 var nodeDefinition = _.get(nodeDefinitions, [provider, node.ns, node.name]);
33 if (nodeDefinition.type === 'flow') {
34 dependencies = collectDependencies(dependencies, nodeDefinition, nodeDefinitions);
35 }
36 else {
37 if (nodeDefinition.dependencies) {
38 dependencies = parseDependencies_1.parseDependencies(dependencies, nodeDefinition.dependencies);
39 }
40 }
41 });
42 return dependencies;
43}
44exports.collectDependencies = collectDependencies;
45//# sourceMappingURL=collectDependencies.js.map
\No newline at end of file