git.iko.soy/rowtype-yoga/psfp
on 2683ce6 help sign in
76 lines 2.8 kB history raw
1// Generated by purs version 0.13.6
2"use strict";
3var $foreign = require("./foreign.js");
4var Data_Eq = require("../Data.Eq/index.js");
5var Data_Function_Uncurried = require("../Data.Function.Uncurried/index.js");
6var Data_Functor = require("../Data.Functor/index.js");
7var Data_Nullable = require("../Data.Nullable/index.js");
8var Data_Tuple = require("../Data.Tuple/index.js");
9var Effect = require("../Effect/index.js");
10var Effect_Uncurried = require("../Effect.Uncurried/index.js");
11var React_Basic_Hooks_Internal = require("../React.Basic.Hooks.Internal/index.js");
12var Unsafe_Coerce = require("../Unsafe.Coerce/index.js");
13var useState = function (initialState) {
14 return React_Basic_Hooks_Internal.unsafeHook(function () {
15 return $foreign.useState_(Data_Function_Uncurried.mkFn2(Data_Tuple.Tuple.create), initialState);
16 });
17};
18var useRef = function (initialValue) {
19 return React_Basic_Hooks_Internal.unsafeHook(function () {
20 return $foreign.useRef_(initialValue);
21 });
22};
23var useLayoutEffect = function (dictEq) {
24 return function (keys) {
25 return function (effect) {
26 return React_Basic_Hooks_Internal.unsafeHook(function () {
27 return $foreign.useLayoutEffect_(Data_Function_Uncurried.mkFn2(Data_Eq.eq(dictEq)), keys, effect);
28 });
29 };
30 };
31};
32var useEffect = function (dictEq) {
33 return function (key) {
34 return function (effect) {
35 return React_Basic_Hooks_Internal.unsafeHook(function () {
36 return $foreign.useEffect_(Data_Function_Uncurried.mkFn2(Data_Eq.eq(dictEq)), key, effect);
37 });
38 };
39 };
40};
41var unsafeReactFunctionComponent = Unsafe_Coerce.unsafeCoerce;
42var unsafeDiscardRenderEffects = Unsafe_Coerce.unsafeCoerce;
43var unsafeComponent = function (dictLacks) {
44 return function (dictLacks1) {
45 return function (name) {
46 return function (renderFn) {
47 var c = unsafeReactFunctionComponent(function (props) {
48 return unsafeDiscardRenderEffects(renderFn(props))();
49 });
50 return function () {
51 return $foreign.unsafeSetDisplayName(name, c);
52 };
53 };
54 };
55 };
56};
57var readRef = Effect_Uncurried.runEffectFn1($foreign.readRef_);
58var readRefMaybe = function (a) {
59 return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)(readRef(a));
60};
61var component = function (dictLacks) {
62 return function (dictLacks1) {
63 return function (dictLacks2) {
64 return unsafeComponent()();
65 };
66 };
67};
68module.exports = {
69 component: component,
70 useState: useState,
71 useEffect: useEffect,
72 useLayoutEffect: useLayoutEffect,
73 readRef: readRef,
74 readRefMaybe: readRefMaybe,
75 useRef: useRef
76};