// Generated by purs version 0.13.6 "use strict"; var Control_Applicative = require("../Control.Applicative/index.js"); var Control_Bind = require("../Control.Bind/index.js"); var Data_Function = require("../Data.Function/index.js"); var Data_Maybe = require("../Data.Maybe/index.js"); var Data_Newtype = require("../Data.Newtype/index.js"); var Effect = require("../Effect/index.js"); var Effect_Aff = require("../Effect.Aff/index.js"); var Effect_Exception = require("../Effect.Exception/index.js"); var React_Basic_Hooks = require("../React.Basic.Hooks/index.js"); var React_Basic_Hooks_Internal = require("../React.Basic.Hooks.Internal/index.js"); var Type_Equality = require("../Type.Equality/index.js"); var UseAff = function (x) { return x; }; var ntUseAff = new Data_Newtype.Newtype(function (n) { return n; }, UseAff); var useAff = function (dictEq) { return function (key) { return function (aff) { return React_Basic_Hooks_Internal.coerceHook(ntUseAff)(React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useState(Data_Maybe.Nothing.value))(function (v) { return React_Basic_Hooks_Internal.discard(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useEffect(dictEq)(key)(Control_Bind.discard(Control_Bind.discardUnit)(Effect.bindEffect)(v.value1(Data_Function["const"](Data_Maybe.Nothing.value)))(function ($dollar__unused) { return function __do() { var fiber = Effect_Aff.runAff(function ($375) { return v.value1(Data_Function["const"](Data_Maybe.Just.create($375))); })(aff)(); return Effect_Aff.launchAff_(Effect_Aff.killFiber(Effect_Exception.error("Effect hook discarded."))(fiber)); }; })))(function ($dollar__unused) { return Control_Applicative.pure(React_Basic_Hooks_Internal.applicativeRender(Type_Equality.refl))(v.value0); }); })); }; }; }; module.exports = { UseAff: UseAff, useAff: useAff, ntUseAff: ntUseAff };