// Generated by purs version 0.13.6 "use strict"; var Control_Plus = require("../Control.Plus/index.js"); var Data_Functor = require("../Data.Functor/index.js"); var Data_Show = require("../Data.Show/index.js"); var NonEmpty = (function () { function NonEmpty(value0, value1) { this.value0 = value0; this.value1 = value1; }; NonEmpty.create = function (value0) { return function (value1) { return new NonEmpty(value0, value1); }; }; return NonEmpty; })(); var singleton = function (dictPlus) { return function (a) { return new NonEmpty(a, Control_Plus.empty(dictPlus)); }; }; var showNonEmpty = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { return "(NonEmpty " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }); }; }; var functorNonEmpty = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (m) { return new NonEmpty(f(m.value0), Data_Functor.map(dictFunctor)(f)(m.value1)); }; }); }; module.exports = { NonEmpty: NonEmpty, singleton: singleton, showNonEmpty: showNonEmpty, functorNonEmpty: functorNonEmpty };