From 488bd6b5a13db4ec4d80b362a0e9565471abf072 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 20 Dec 2018 14:34:26 +0100 Subject: [PATCH] :sparkles: Support for multiple part dependencies --- src/pattern.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pattern.js b/src/pattern.js index b61e2d9beaa..7e309e94a14 100644 --- a/src/pattern.js +++ b/src/pattern.js @@ -428,6 +428,13 @@ Pattern.prototype.resolveDependency = function( if (typeof graph[part] === "string") { deps.push(graph[part]); return this.resolveDependency(seen, graph[part], graph, deps); + } else if (Array.isArray(graph[part])) { + if (graph[part].length === 0) return []; + else { + if (deps.length === 0) deps = graph[part]; + for (let apart of graph[part]) + deps.concat(this.resolveDependency(seen, apart, graph, deps)); + } } return deps; @@ -447,8 +454,9 @@ Pattern.prototype.resolveDependencies = function( let resolved = {}; let seen = {}; - for (let part of Object.keys(graph)) + for (let part of Object.keys(graph)) { resolved[part] = this.resolveDependency(seen, part, graph); + } for (let part of Object.keys(seen)) if (typeof resolved[part] === "undefined") resolved[part] = [];