miolo-react 3.0.0-beta.10 → 3.0.0-beta.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo-react v3.0.0-beta.10
2
+ * miolo-react v3.0.0-beta.102
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo-react v3.0.0-beta.10
2
+ * miolo-react v3.0.0-beta.102
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -146,19 +146,17 @@
146
146
  i = 0;
147
147
  }
148
148
  _regeneratorDefine = function (e, r, n, t) {
149
- if (r) i ? i(e, r, {
149
+ function o(r, n) {
150
+ _regeneratorDefine(e, r, function (e) {
151
+ return this._invoke(r, n, e);
152
+ });
153
+ }
154
+ r ? i ? i(e, r, {
150
155
  value: n,
151
156
  enumerable: !t,
152
157
  configurable: !t,
153
158
  writable: !t
154
- }) : e[r] = n;else {
155
- function o(r, n) {
156
- _regeneratorDefine(e, r, function (e) {
157
- return this._invoke(r, n, e);
158
- });
159
- }
160
- o("next", 0), o("throw", 1), o("return", 2);
161
- }
159
+ }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
162
160
  }, _regeneratorDefine(e, r, n, t);
163
161
  }
164
162
 
@@ -1 +1 @@
1
- {"version":3,"file":"miolo-react.umd.js","sources":["../src/context/MioloContext.mjs","../src/context/withMioloContext.jsx","../src/context/useMioloContext.jsx","../src/ssr/getSsrDataFromContext.mjs","../src/ssr/useSsrDataOrReload.mjs","../src/context/MioloContextProvider.jsx","../src/AppBrowser.jsx","../src/AppServer.jsx"],"sourcesContent":["import React from 'react'\n\nconst MioloContext = React.createContext()\n\nexport default MioloContext","import React, {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\n/* eslint react/display-name:0 */\nconst withMioloContext = (BaseComponent) => (props) => {\n const context = useContext(MioloContext)\n\n return (\n <BaseComponent {...props}\n {...context}/>\n );\n}\n\n\nexport default withMioloContext","import {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\nconst useMioloContext = () => useContext(MioloContext)\n\nexport default useMioloContext\n","\nconst _getDataFromWindow = (name) => {\n try {\n if (window != undefined) {\n const ssr_data= window.__CONTEXT.ssr_data\n \n if (ssr_data!=undefined) {\n if (ssr_data[name]!=undefined) {\n return ssr_data[name]\n }\n }\n }\n } catch(e) {}\n \n return undefined\n}\n\nconst getSsrDataFromContext = (context, name) => {\n let data= undefined\n\n if (context?.ssr_data != undefined && context?.ssr_data[name]!=undefined) {\n data= context.ssr_data[name]\n } else {\n const wdata= _getDataFromWindow(name)\n if (wdata != undefined) {\n data= wdata\n }\n }\n \n return data\n}\n\nexport default getSsrDataFromContext\n","import {useState, useCallback, useEffect} from 'react'\nimport getSsrDataFromContext from './getSsrDataFromContext.mjs'\n\nconst useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {\n \n const _maybeModify = useCallback((value) => {\n return modifier==undefined ? value : modifier(value)\n }, [modifier])\n\n const ssrDataFromContext = getSsrDataFromContext(context, name)\n const [ssrData, setSsrData] = useState(_maybeModify(\n ssrDataFromContext != undefined \n ? ssrDataFromContext : defval))\n const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined)\n\n const refreshSsrData = useCallback(() => {\n if (loader == undefined) {\n return\n }\n\n const {fetcher} = miolo\n\n async function fetchData() {\n let nSsrData = await loader(context, fetcher)\n setSsrData(_maybeModify(nSsrData))\n }\n\n fetchData()\n }, [context, miolo, loader, _maybeModify]) \n \n useEffect(() => {\n try {\n if (needToRefresh) {\n setNeedToRefresh(false)\n refreshSsrData()\n }\n } catch(e) {}\n }, [needToRefresh, refreshSsrData]) \n\n return [ssrData, (data) => setSsrData(_maybeModify(data)), refreshSsrData]\n}\n\nexport {useSsrDataOrReload}","import React , {useState, useEffect, useCallback} from 'react'\nimport Context from './MioloContext.mjs'\nimport { miolo_client } from 'miolo-cli'\nimport { useSsrDataOrReload } from '../ssr/useSsrDataOrReload.mjs'\n\n\nconst MioloContextProvider = ({context, children}) => {\n const [innerContext, setInnerContext]= useState(context)\n const [mioloObj, setMioloObj]= useState(miolo_client(context))\n \n useEffect(() => {\n setInnerContext(context)\n setMioloObj(miolo_client(context))\n }, [context])\n \n const login = useCallback(async (credentials) => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.login_url || '/login'\n const resp = await fetcher.login(url, credentials)\n\n if (resp?.data) {\n if (resp?.data?.authenticated) {\n setInnerContext(current => {\n return {\n ...current,\n ...resp?.data,\n }\n })\n }\n\n return resp?.data\n }\n\n return {}\n }, [innerContext, mioloObj])\n\n const logout = useCallback(async () => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.logout_url || '/logout'\n const _resp = await fetcher.logout(url)\n // resp.redirected= true\n\n setInnerContext(current => {\n return {\n ...current,\n user: undefined,\n authenticated: false,\n }\n })\n\n return {\n user: undefined,\n authenticated: false,\n }\n }, [innerContext, mioloObj])\n\n const updateUser = useCallback((user) => {\n setInnerContext((current) => {\n return {\n ...current,\n user,\n }\n })\n }, [])\n\n const useSsrData = (name, defval, loader, modifier) => {\n return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier)\n } \n \n return (\n <Context.Provider \n value={{\n //context: innerContext, \n //setContext: setInnerContext,\n //miolo: mioloObj,\n user: innerContext.user,\n updateUser,\n authenticated: innerContext.authenticated,\n fetcher: mioloObj.fetcher,\n //socket: mioloObj.socket,\n login,\n logout,\n useSsrData\n }}>\n {children}\n </Context.Provider>\n )\n}\n\n\nexport default MioloContextProvider\n","import React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\nconst AppBrowser = ({ children }) => {\n const context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};\n\n return (\n <MioloContextProvider context={context}>\n {children}\n </MioloContextProvider>\n ) \n}\n\nexport default AppBrowser\n","\nimport React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\n\nconst AppServer = ({context, children}) => {\n\n return (\n <MioloContextProvider \n context= {context || {}}>\n {children}\n </MioloContextProvider>\n )\n}\n\nexport default AppServer\n\n"],"names":["MioloContext","React","createContext","withMioloContext","BaseComponent","props","context","useContext","createElement","_extends","useMioloContext","_getDataFromWindow","name","window","undefined","ssr_data","__CONTEXT","e","getSsrDataFromContext","data","wdata","useSsrDataOrReload","miolo","defval","loader","modifier","_maybeModify","useCallback","value","ssrDataFromContext","_useState","useState","ssrData","setSsrData","_useState2","needToRefresh","setNeedToRefresh","refreshSsrData","fetcher","fetchData","_fetchData","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","nSsrData","w","_context","n","v","a","useEffect","MioloContextProvider","_ref","children","innerContext","setInnerContext","miolo_client","mioloObj","setMioloObj","login","_ref2","credentials","config","url","resp","_resp$data","login_url","authenticated","current","_x","logout","_callee2","_context2","logout_url","user","updateUser","useSsrData","Context","Provider","AppBrowser","AppServer"],"mappings":"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"}
1
+ {"version":3,"file":"miolo-react.umd.js","sources":["../src/context/MioloContext.mjs","../src/context/withMioloContext.jsx","../src/context/useMioloContext.jsx","../src/ssr/getSsrDataFromContext.mjs","../src/ssr/useSsrDataOrReload.mjs","../src/context/MioloContextProvider.jsx","../src/AppBrowser.jsx","../src/AppServer.jsx"],"sourcesContent":["import React from 'react'\n\nconst MioloContext = React.createContext()\n\nexport default MioloContext","import React, {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\n/* eslint react/display-name:0 */\nconst withMioloContext = (BaseComponent) => (props) => {\n const context = useContext(MioloContext)\n\n return (\n <BaseComponent {...props}\n {...context}/>\n );\n}\n\n\nexport default withMioloContext","import {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\nconst useMioloContext = () => useContext(MioloContext)\n\nexport default useMioloContext\n","\nconst _getDataFromWindow = (name) => {\n try {\n if (window != undefined) {\n const ssr_data= window.__CONTEXT.ssr_data\n \n if (ssr_data!=undefined) {\n if (ssr_data[name]!=undefined) {\n return ssr_data[name]\n }\n }\n }\n } catch(e) {}\n \n return undefined\n}\n\nconst getSsrDataFromContext = (context, name) => {\n let data= undefined\n\n if (context?.ssr_data != undefined && context?.ssr_data[name]!=undefined) {\n data= context.ssr_data[name]\n } else {\n const wdata= _getDataFromWindow(name)\n if (wdata != undefined) {\n data= wdata\n }\n }\n \n return data\n}\n\nexport default getSsrDataFromContext\n","import {useState, useCallback, useEffect} from 'react'\nimport getSsrDataFromContext from './getSsrDataFromContext.mjs'\n\nconst useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {\n \n const _maybeModify = useCallback((value) => {\n return modifier==undefined ? value : modifier(value)\n }, [modifier])\n\n const ssrDataFromContext = getSsrDataFromContext(context, name)\n const [ssrData, setSsrData] = useState(_maybeModify(\n ssrDataFromContext != undefined \n ? ssrDataFromContext : defval))\n const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined)\n\n const refreshSsrData = useCallback(() => {\n if (loader == undefined) {\n return\n }\n\n const {fetcher} = miolo\n\n async function fetchData() {\n let nSsrData = await loader(context, fetcher)\n setSsrData(_maybeModify(nSsrData))\n }\n\n fetchData()\n }, [context, miolo, loader, _maybeModify]) \n \n useEffect(() => {\n try {\n if (needToRefresh) {\n setNeedToRefresh(false)\n refreshSsrData()\n }\n } catch(e) {}\n }, [needToRefresh, refreshSsrData]) \n\n return [ssrData, (data) => setSsrData(_maybeModify(data)), refreshSsrData]\n}\n\nexport {useSsrDataOrReload}","import React , {useState, useEffect, useCallback} from 'react'\nimport Context from './MioloContext.mjs'\nimport { miolo_client } from 'miolo-cli'\nimport { useSsrDataOrReload } from '../ssr/useSsrDataOrReload.mjs'\n\n\nconst MioloContextProvider = ({context, children}) => {\n const [innerContext, setInnerContext]= useState(context)\n const [mioloObj, setMioloObj]= useState(miolo_client(context))\n \n useEffect(() => {\n setInnerContext(context)\n setMioloObj(miolo_client(context))\n }, [context])\n \n const login = useCallback(async (credentials) => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.login_url || '/login'\n const resp = await fetcher.login(url, credentials)\n\n if (resp?.data) {\n if (resp?.data?.authenticated) {\n setInnerContext(current => {\n return {\n ...current,\n ...resp?.data,\n }\n })\n }\n\n return resp?.data\n }\n\n return {}\n }, [innerContext, mioloObj])\n\n const logout = useCallback(async () => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.logout_url || '/logout'\n const _resp = await fetcher.logout(url)\n // resp.redirected= true\n\n setInnerContext(current => {\n return {\n ...current,\n user: undefined,\n authenticated: false,\n }\n })\n\n return {\n user: undefined,\n authenticated: false,\n }\n }, [innerContext, mioloObj])\n\n const updateUser = useCallback((user) => {\n setInnerContext((current) => {\n return {\n ...current,\n user,\n }\n })\n }, [])\n\n const useSsrData = (name, defval, loader, modifier) => {\n return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier)\n } \n \n return (\n <Context.Provider \n value={{\n //context: innerContext, \n //setContext: setInnerContext,\n //miolo: mioloObj,\n user: innerContext.user,\n updateUser,\n authenticated: innerContext.authenticated,\n fetcher: mioloObj.fetcher,\n //socket: mioloObj.socket,\n login,\n logout,\n useSsrData\n }}>\n {children}\n </Context.Provider>\n )\n}\n\n\nexport default MioloContextProvider\n","import React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\nconst AppBrowser = ({ children }) => {\n const context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};\n\n return (\n <MioloContextProvider context={context}>\n {children}\n </MioloContextProvider>\n ) \n}\n\nexport default AppBrowser\n","\nimport React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\n\nconst AppServer = ({context, children}) => {\n\n return (\n <MioloContextProvider \n context= {context || {}}>\n {children}\n </MioloContextProvider>\n )\n}\n\nexport default AppServer\n\n"],"names":["MioloContext","React","createContext","withMioloContext","BaseComponent","props","context","useContext","createElement","_extends","useMioloContext","_getDataFromWindow","name","window","undefined","ssr_data","__CONTEXT","e","getSsrDataFromContext","data","wdata","useSsrDataOrReload","miolo","defval","loader","modifier","_maybeModify","useCallback","value","ssrDataFromContext","_useState","useState","ssrData","setSsrData","_useState2","needToRefresh","setNeedToRefresh","refreshSsrData","fetcher","fetchData","_fetchData","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","nSsrData","w","_context","n","v","a","useEffect","MioloContextProvider","_ref","children","innerContext","setInnerContext","miolo_client","mioloObj","setMioloObj","login","_ref2","credentials","config","url","resp","_resp$data","login_url","authenticated","current","_x","logout","_callee2","_context2","logout_url","user","updateUser","useSsrData","Context","Provider","AppBrowser","AppServer"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miolo-react",
3
- "version": "3.0.0-beta.10",
3
+ "version": "3.0.0-beta.102",
4
4
  "description": "React utils for miolo",
5
5
  "author": "Donato Lorenzo <donato@afialapis.com>",
6
6
  "contributors": [
@@ -24,7 +24,8 @@
24
24
  }
25
25
  },
26
26
  "files": [
27
- "dist"
27
+ "dist",
28
+ "src"
28
29
  ],
29
30
  "scripts": {
30
31
  "reset": "rm -fr package-lock.json npm-lock.yaml dist/* && npm i",
@@ -32,13 +33,12 @@
32
33
  "bundle": "npx xeira bundle --target=browser --source_index=./src/index.mjs --bundle_folder=./dist --bundle_name=miolo-react --bundle_node_polyfill=true --bundle_extension=umd,mjs",
33
34
  "dist": "npm run clean && npm run bundle"
34
35
  },
35
-
36
36
  "dependencies": {
37
37
  "miolo-cli": "../miolo-cli"
38
- },
38
+ },
39
39
  "peerDependencies": {
40
- "react": "^18.3.1",
41
- "react-dom": "^18.3.1"
40
+ "react": "^19.1.1",
41
+ "react-dom": "^19.1.1"
42
42
  },
43
43
  "peerDependenciesMeta": {
44
44
  "react": {
@@ -49,11 +49,6 @@
49
49
  }
50
50
  },
51
51
  "devDependencies": {
52
- "xeira": "^1.2.3"
53
- },
54
- "eslintConfig": {
55
- "extends": [
56
- "../../node_modules/xeira/configs/eslint.react.mjs"
57
- ]
52
+ "xeira": "^2.0.0-beta.4"
58
53
  }
59
54
  }
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import MioloContextProvider from './context/MioloContextProvider.jsx'
3
+
4
+ const AppBrowser = ({ children }) => {
5
+ const context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};
6
+
7
+ return (
8
+ <MioloContextProvider context={context}>
9
+ {children}
10
+ </MioloContextProvider>
11
+ )
12
+ }
13
+
14
+ export default AppBrowser
@@ -0,0 +1,17 @@
1
+
2
+ import React from 'react'
3
+ import MioloContextProvider from './context/MioloContextProvider.jsx'
4
+
5
+
6
+ const AppServer = ({context, children}) => {
7
+
8
+ return (
9
+ <MioloContextProvider
10
+ context= {context || {}}>
11
+ {children}
12
+ </MioloContextProvider>
13
+ )
14
+ }
15
+
16
+ export default AppServer
17
+
@@ -0,0 +1,5 @@
1
+ import React from 'react'
2
+
3
+ const MioloContext = React.createContext()
4
+
5
+ export default MioloContext
@@ -0,0 +1,95 @@
1
+ import React , {useState, useEffect, useCallback} from 'react'
2
+ import Context from './MioloContext.mjs'
3
+ import { miolo_client } from 'miolo-cli'
4
+ import { useSsrDataOrReload } from '../ssr/useSsrDataOrReload.mjs'
5
+
6
+
7
+ const MioloContextProvider = ({context, children}) => {
8
+ const [innerContext, setInnerContext]= useState(context)
9
+ const [mioloObj, setMioloObj]= useState(miolo_client(context))
10
+
11
+ useEffect(() => {
12
+ setInnerContext(context)
13
+ setMioloObj(miolo_client(context))
14
+ }, [context])
15
+
16
+ const login = useCallback(async (credentials) => {
17
+ const { fetcher } = mioloObj
18
+ const { config } = innerContext
19
+
20
+ const url = config.login_url || '/login'
21
+ const resp = await fetcher.login(url, credentials)
22
+
23
+ if (resp?.data) {
24
+ if (resp?.data?.authenticated) {
25
+ setInnerContext(current => {
26
+ return {
27
+ ...current,
28
+ ...resp?.data,
29
+ }
30
+ })
31
+ }
32
+
33
+ return resp?.data
34
+ }
35
+
36
+ return {}
37
+ }, [innerContext, mioloObj])
38
+
39
+ const logout = useCallback(async () => {
40
+ const { fetcher } = mioloObj
41
+ const { config } = innerContext
42
+
43
+ const url = config.logout_url || '/logout'
44
+ const _resp = await fetcher.logout(url)
45
+ // resp.redirected= true
46
+
47
+ setInnerContext(current => {
48
+ return {
49
+ ...current,
50
+ user: undefined,
51
+ authenticated: false,
52
+ }
53
+ })
54
+
55
+ return {
56
+ user: undefined,
57
+ authenticated: false,
58
+ }
59
+ }, [innerContext, mioloObj])
60
+
61
+ const updateUser = useCallback((user) => {
62
+ setInnerContext((current) => {
63
+ return {
64
+ ...current,
65
+ user,
66
+ }
67
+ })
68
+ }, [])
69
+
70
+ const useSsrData = (name, defval, loader, modifier) => {
71
+ return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier)
72
+ }
73
+
74
+ return (
75
+ <Context.Provider
76
+ value={{
77
+ //context: innerContext,
78
+ //setContext: setInnerContext,
79
+ //miolo: mioloObj,
80
+ user: innerContext.user,
81
+ updateUser,
82
+ authenticated: innerContext.authenticated,
83
+ fetcher: mioloObj.fetcher,
84
+ //socket: mioloObj.socket,
85
+ login,
86
+ logout,
87
+ useSsrData
88
+ }}>
89
+ {children}
90
+ </Context.Provider>
91
+ )
92
+ }
93
+
94
+
95
+ export default MioloContextProvider
@@ -0,0 +1,6 @@
1
+ import {useContext} from 'react'
2
+ import MioloContext from './MioloContext.mjs'
3
+
4
+ const useMioloContext = () => useContext(MioloContext)
5
+
6
+ export default useMioloContext
@@ -0,0 +1,15 @@
1
+ import React, {useContext} from 'react'
2
+ import MioloContext from './MioloContext.mjs'
3
+
4
+ /* eslint react/display-name:0 */
5
+ const withMioloContext = (BaseComponent) => (props) => {
6
+ const context = useContext(MioloContext)
7
+
8
+ return (
9
+ <BaseComponent {...props}
10
+ {...context}/>
11
+ );
12
+ }
13
+
14
+
15
+ export default withMioloContext
package/src/index.mjs ADDED
@@ -0,0 +1,7 @@
1
+ import withMioloContext from './context/withMioloContext.jsx'
2
+ import useMioloContext from './context/useMioloContext.jsx'
3
+
4
+ import AppBrowser from './AppBrowser.jsx'
5
+ import AppServer from './AppServer.jsx'
6
+
7
+ export {withMioloContext, useMioloContext, AppBrowser, AppServer}
@@ -0,0 +1,33 @@
1
+
2
+ const _getDataFromWindow = (name) => {
3
+ try {
4
+ if (window != undefined) {
5
+ const ssr_data= window.__CONTEXT.ssr_data
6
+
7
+ if (ssr_data!=undefined) {
8
+ if (ssr_data[name]!=undefined) {
9
+ return ssr_data[name]
10
+ }
11
+ }
12
+ }
13
+ } catch(e) {}
14
+
15
+ return undefined
16
+ }
17
+
18
+ const getSsrDataFromContext = (context, name) => {
19
+ let data= undefined
20
+
21
+ if (context?.ssr_data != undefined && context?.ssr_data[name]!=undefined) {
22
+ data= context.ssr_data[name]
23
+ } else {
24
+ const wdata= _getDataFromWindow(name)
25
+ if (wdata != undefined) {
26
+ data= wdata
27
+ }
28
+ }
29
+
30
+ return data
31
+ }
32
+
33
+ export default getSsrDataFromContext
@@ -0,0 +1,43 @@
1
+ import {useState, useCallback, useEffect} from 'react'
2
+ import getSsrDataFromContext from './getSsrDataFromContext.mjs'
3
+
4
+ const useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {
5
+
6
+ const _maybeModify = useCallback((value) => {
7
+ return modifier==undefined ? value : modifier(value)
8
+ }, [modifier])
9
+
10
+ const ssrDataFromContext = getSsrDataFromContext(context, name)
11
+ const [ssrData, setSsrData] = useState(_maybeModify(
12
+ ssrDataFromContext != undefined
13
+ ? ssrDataFromContext : defval))
14
+ const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined)
15
+
16
+ const refreshSsrData = useCallback(() => {
17
+ if (loader == undefined) {
18
+ return
19
+ }
20
+
21
+ const {fetcher} = miolo
22
+
23
+ async function fetchData() {
24
+ let nSsrData = await loader(context, fetcher)
25
+ setSsrData(_maybeModify(nSsrData))
26
+ }
27
+
28
+ fetchData()
29
+ }, [context, miolo, loader, _maybeModify])
30
+
31
+ useEffect(() => {
32
+ try {
33
+ if (needToRefresh) {
34
+ setNeedToRefresh(false)
35
+ refreshSsrData()
36
+ }
37
+ } catch(e) {}
38
+ }, [needToRefresh, refreshSsrData])
39
+
40
+ return [ssrData, (data) => setSsrData(_maybeModify(data)), refreshSsrData]
41
+ }
42
+
43
+ export {useSsrDataOrReload}