UNPKG

purs-pkg-deps

Version:

Query package dependencies in PureScript package-sets

147 lines (146 loc) 7.47 kB
// Generated by purs version 0.14.3 "use strict"; 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 };