UNPKG

purs-pkg-deps

Version:

Query package dependencies in PureScript package-sets

70 lines (69 loc) 3.5 kB
// Generated by purs version 0.14.3 "use strict"; var Control_Comonad = require("../Control.Comonad/index.js"); var Control_Comonad_Store = require("../Control.Comonad.Store/index.js"); var Control_Comonad_Store_Class = require("../Control.Comonad.Store.Class/index.js"); var Control_Comonad_Store_Trans = require("../Control.Comonad.Store.Trans/index.js"); var Control_Extend = require("../Control.Extend/index.js"); var Data_Foldable = require("../Data.Foldable/index.js"); var Data_Functor = require("../Data.Functor/index.js"); var Data_Identity = require("../Data.Identity/index.js"); var Data_Map_Internal = require("../Data.Map.Internal/index.js"); var Data_Maybe = require("../Data.Maybe/index.js"); var Data_Monoid = require("../Data.Monoid/index.js"); var Data_Ord = require("../Data.Ord/index.js"); var Data_Semigroup = require("../Data.Semigroup/index.js"); var Data_Set = require("../Data.Set/index.js"); var Packages_Normal = require("../Packages.Normal/index.js"); var Packages_Pivoted = require("../Packages.Pivoted/index.js"); var wfix = function (dictComonad) { return function (w) { return Control_Comonad.extract(dictComonad)(w)(Control_Extend.extend(dictComonad.Extend0())(wfix(dictComonad))(w)); }; }; var immediateConstituentsOf = function (packageMap) { return function (target) { var v = Data_Map_Internal.lookup(Data_Ord.ordString)(target)(packageMap); if (v instanceof Data_Maybe.Just) { return v.value0; }; if (v instanceof Data_Maybe.Nothing) { return Data_Set.empty; }; throw new Error("Failed pattern match at Packages.Transitivity (line 20, column 3 - line 22, column 23): " + [ v.constructor.name ]); }; }; var storedDependencies = function (packageMap) { return function (seed) { return Control_Comonad_Store.store(Data_Foldable.foldMap(Data_Set.foldableSet)(Data_Set.monoidSet(Data_Ord.ordString))(immediateConstituentsOf(packageMap)))(Data_Set.singleton(seed)); }; }; var allPackageDeps = function (packageMap) { return function (seed) { var go = function (deps) { return function (v) { if (Data_Set.isEmpty(deps)) { return Data_Monoid.mempty(Data_Set.monoidSet(Data_Ord.ordString)); }; return Data_Semigroup.append(Data_Set.semigroupSet(Data_Ord.ordString))(deps)(Control_Comonad_Store_Class.peek(Control_Comonad_Store_Class.comonadStoreStoreT(Data_Identity.comonadIdentity))(deps)(v)); }; }; return Control_Extend.extend(Control_Comonad_Store_Trans.extendStoreT(Data_Identity.extendIdentity))(wfix(Control_Comonad_Store_Trans.comonadStoreT(Data_Identity.comonadIdentity)))(Data_Functor.map(Control_Comonad_Store_Trans.functorStoreT(Data_Identity.functorIdentity))(go)(storedDependencies(packageMap)(seed))); }; }; var transitiveDependencies = function (packages) { return function (seed) { return function (isReversed) { var packageMap = (function () { if (isReversed) { return Packages_Pivoted.pivot(packages); }; return Packages_Normal.buildPackageMap(packages); })(); return Control_Comonad.extract(Control_Comonad_Store_Trans.comonadStoreT(Data_Identity.comonadIdentity))(allPackageDeps(packageMap)(seed)); }; }; }; module.exports = { transitiveDependencies: transitiveDependencies };