purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
46 lines (45 loc) • 2.59 kB
JavaScript
// Generated by purs version 0.14.3
;
var Data_Array = require("../Data.Array/index.js");
var Data_Bifunctor = require("../Data.Bifunctor/index.js");
var Data_Foldable = require("../Data.Foldable/index.js");
var Data_Functor = require("../Data.Functor/index.js");
var Data_List_Types = require("../Data.List.Types/index.js");
var Data_Map_Internal = require("../Data.Map.Internal/index.js");
var Data_Monoid = require("../Data.Monoid/index.js");
var Data_Set = require("../Data.Set/index.js");
var Data_Symbol = require("../Data.Symbol/index.js");
var Data_Unfoldable = require("../Data.Unfoldable/index.js");
var Foreign_Object = require("../Foreign.Object/index.js");
var Packages_JSON = require("../Packages.JSON/index.js");
var Simple_JSON = require("../Simple.JSON/index.js");
var writePathsJSON = function (paths) {
var pathString = function (path) {
return Data_Foldable.intercalate(Data_List_Types.foldableList)(Data_Monoid.monoidString)("->")(path);
};
return Packages_JSON.prettyJSON(Data_Functor.map(Data_Functor.functorArray)(pathString)(Data_Array.fromFoldable(Data_List_Types.foldableList)(paths)));
};
var writePackageUseJSON = function (packageUse) {
var tuples = Data_Map_Internal.toUnfoldable(Data_Unfoldable.unfoldableArray)(Data_Functor.map(Data_Map_Internal.functorMap)(Data_Set.toUnfoldable(Data_Unfoldable.unfoldableArray))(packageUse));
var packageUseObject = Foreign_Object.fromFoldable(Data_Foldable.foldableArray)(tuples);
return Packages_JSON.prettyJSON(packageUseObject);
};
var writeDependenciesJSON = function (deps) {
var depsArray = Data_Set.toUnfoldable(Data_Unfoldable.unfoldableArray)(deps);
return Packages_JSON.prettyJSON(depsArray);
};
var readPackages = function (s) {
return Data_Bifunctor.rmap(Data_Bifunctor.bifunctorEither)(Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray))(Simple_JSON.readJSON(Simple_JSON.readObject(Simple_JSON.readRecord()(Simple_JSON.readFieldsCons(new Data_Symbol.IsSymbol(function () {
return "dependencies";
}))(Simple_JSON.readArray(Simple_JSON.readString))(Simple_JSON.readFieldsCons(new Data_Symbol.IsSymbol(function () {
return "repo";
}))(Simple_JSON.readString)(Simple_JSON.readFieldsCons(new Data_Symbol.IsSymbol(function () {
return "version";
}))(Simple_JSON.readString)(Simple_JSON.readFieldsNil)()())()())()())))(s));
};
module.exports = {
readPackages: readPackages,
writeDependenciesJSON: writeDependenciesJSON,
writePackageUseJSON: writePackageUseJSON,
writePathsJSON: writePathsJSON
};