purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
147 lines (146 loc) • 7.47 kB
JavaScript
// Generated by purs version 0.14.3
;
var $foreign = require("./foreign.js");
var Control_Applicative = require("../Control.Applicative/index.js");
var Control_Category = require("../Control.Category/index.js");
var Control_Monad_Error_Class = require("../Control.Monad.Error.Class/index.js");
var Data_Array = require("../Data.Array/index.js");
var Data_Boolean = require("../Data.Boolean/index.js");
var Data_Either = require("../Data.Either/index.js");
var Data_Eq = require("../Data.Eq/index.js");
var Data_Foldable = require("../Data.Foldable/index.js");
var Data_Function = require("../Data.Function/index.js");
var Data_Functor = require("../Data.Functor/index.js");
var Data_List = require("../Data.List/index.js");
var Data_List_Types = require("../Data.List.Types/index.js");
var Data_String_CodeUnits = require("../Data.String.CodeUnits/index.js");
var Data_Unfoldable = require("../Data.Unfoldable/index.js");
var Effect = require("../Effect/index.js");
var Options_Applicative_Internal_Utils = require("../Options.Applicative.Internal.Utils/index.js");
var Options_Applicative_Types = require("../Options.Applicative.Types/index.js");
var requote = (function () {
var go$prime = (function () {
var unescapeU = (function () {
var goX = function (v) {
if (v instanceof Data_List_Types.Nil) {
return Data_List_Types.Nil.value;
};
if (v instanceof Data_List_Types.Cons && (v.value0 === "\\" && v.value1 instanceof Data_List_Types.Cons)) {
return new Data_List_Types.Cons(v.value1.value0, goX(v.value1.value1));
};
if (v instanceof Data_List_Types.Cons) {
return new Data_List_Types.Cons(v.value0, goX(v.value1));
};
throw new Error("Failed pattern match at Options.Applicative.Builder.Completer (line 111, column 11 - line 111, column 34): " + [ v.constructor.name ]);
};
return goX;
})();
var unescapeN = (function () {
var goX = function (v) {
if (v instanceof Data_List_Types.Cons && v.value0 === "'") {
return goN(v.value1);
};
if (v instanceof Data_List_Types.Cons) {
return new Data_List_Types.Cons(v.value0, goX(v.value1));
};
if (v instanceof Data_List_Types.Nil) {
return Data_List_Types.Nil.value;
};
throw new Error("Failed pattern match at Options.Applicative.Builder.Completer (line 98, column 11 - line 98, column 40): " + [ v.constructor.name ]);
};
var goN = function (v) {
if (v instanceof Data_List_Types.Cons && (v.value0 === "\\" && (v.value1 instanceof Data_List_Types.Cons && v.value1.value0 === "'"))) {
return new Data_List_Types.Cons("'", goN(v.value1.value1));
};
if (v instanceof Data_List_Types.Cons && v.value0 === "'") {
return goX(v.value1);
};
if (v instanceof Data_List_Types.Cons) {
return new Data_List_Types.Cons(v.value0, goN(v.value1));
};
if (v instanceof Data_List_Types.Nil) {
return Data_List_Types.Nil.value;
};
throw new Error("Failed pattern match at Options.Applicative.Builder.Completer (line 102, column 11 - line 102, column 64): " + [ v.constructor.name ]);
};
return goX;
})();
var unescapeD = (function () {
var goX = function (v) {
if (v instanceof Data_List_Types.Cons && (v.value0 === "\\" && v.value1 instanceof Data_List_Types.Cons)) {
if (Data_Array.elem(Data_Eq.eqChar)(v.value1.value0)([ "$", "`", "\"", "\\", "\x0a" ])) {
return new Data_List_Types.Cons(v.value1.value0, goX(v.value1.value1));
};
if (Data_Boolean.otherwise) {
return new Data_List_Types.Cons("\\", new Data_List_Types.Cons(v.value1.value0, goX(v.value1.value1)));
};
};
if (v instanceof Data_List_Types.Cons && v.value0 === "\"") {
return v.value1;
};
if (v instanceof Data_List_Types.Cons) {
return new Data_List_Types.Cons(v.value0, goX(v.value1));
};
if (v instanceof Data_List_Types.Nil) {
return Data_List_Types.Nil.value;
};
throw new Error("Failed pattern match at Options.Applicative.Builder.Completer (line 120, column 11 - line 125, column 54): " + [ v.constructor.name ]);
};
return goX;
})();
var strong = function (ss) {
var go = function (v) {
return function (t) {
if (v === "'") {
return new Data_List_Types.Cons("'", new Data_List_Types.Cons("\\", new Data_List_Types.Cons("'", t)));
};
return new Data_List_Types.Cons(v, t);
};
};
return new Data_List_Types.Cons("'", Data_Foldable.foldr(Data_List_Types.foldableList)(go)(Data_List.singleton("'"))(ss));
};
return function (s) {
var unescaped = (function () {
if (s instanceof Data_List_Types.Cons && s.value0 === "'") {
return unescapeN(s.value1);
};
if (s instanceof Data_List_Types.Cons && s.value0 === "\"") {
return unescapeD(s.value1);
};
return unescapeU(s);
})();
return strong(unescaped);
};
})();
var $42 = Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray);
var $43 = Data_List.fromFoldable(Data_Foldable.foldableArray);
return function ($44) {
return Data_String_CodeUnits.fromCharArray($42(go$prime($43(Data_String_CodeUnits.toCharArray($44)))));
};
})();
var listIOCompleter = function (ss) {
return Options_Applicative_Types.Completer(function (s) {
return Data_Functor.map(Effect.functorEffect)(Data_Array.filter(Options_Applicative_Internal_Utils.startsWith(s)))(ss);
});
};
var listCompleter = (function () {
var $45 = Control_Applicative.pure(Effect.applicativeEffect);
return function ($46) {
return listIOCompleter($45($46));
};
})();
var bashCompleter = function (action) {
return Options_Applicative_Types.Completer(function (word) {
var cmd = Options_Applicative_Internal_Utils.unWords(Data_Foldable.foldableArray)([ "compgen", "-A", action, "--", requote(word) ]);
return function __do() {
var result = Control_Monad_Error_Class["try"](Control_Monad_Error_Class.monadErrorEffect)($foreign.execSyncCommand("bash -c " + cmd))();
return Options_Applicative_Internal_Utils.lines(Data_Either.either(Data_Function["const"](""))(Control_Category.identity(Control_Category.categoryFn))(result));
};
});
};
module.exports = {
listIOCompleter: listIOCompleter,
listCompleter: listCompleter,
bashCompleter: bashCompleter,
mkCompleter: Options_Applicative_Types.mkCompleter
};