@next-core/react-runtime 1.5.2 → 1.5.4

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,54 +1,47 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
2
  import { __secret_internals, handleHttpError, getV2RuntimeFromDll } from "@next-core/runtime";
4
3
  // Note: always synchronize code in LegacyUseBrick:
5
4
  // `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`
6
- var ReactUseBrick = function ReactUseBrick(_ref) {
7
- var {
5
+ let ReactUseBrick = function ReactUseBrick(_ref) {
6
+ let {
8
7
  useBrick,
9
8
  data,
10
9
  errorBoundary,
11
10
  refCallback,
12
11
  ignoredCallback
13
12
  } = _ref;
14
- var [renderResult, setRenderResult] = useState(null);
15
- var mountResult = useRef();
16
- var [renderKey, setRenderKey] = useState();
17
- var IdCounterRef = useRef(0);
18
- var initialRenderId = useMemo(() => {
13
+ const [renderResult, setRenderResult] = useState(null);
14
+ const mountResult = useRef();
15
+ const [renderKey, setRenderKey] = useState();
16
+ const IdCounterRef = useRef(0);
17
+ const initialRenderId = useMemo(() => {
19
18
  var _secret_internals$ge;
20
19
  return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);
21
20
  }, []);
22
21
  useEffect(() => {
23
- var ignore = false;
24
- function init() {
25
- return _init.apply(this, arguments);
26
- }
27
- function _init() {
28
- _init = _asyncToGenerator(function* () {
29
- try {
30
- var newRender = yield __secret_internals.renderUseBrick(useBrick, data, errorBoundary);
31
- if (ignore) {
32
- return;
33
- }
34
- setRenderResult(newRender);
35
- setRenderKey(getUniqueId(IdCounterRef));
36
- } catch (error) {
37
- if (isTheSameRender(initialRenderId)) {
38
- // eslint-disable-next-line no-console
39
- console.error("Render useBrick failed:", useBrick, "with data:", data);
40
- handleHttpError(error);
41
- }
22
+ let ignore = false;
23
+ async function init() {
24
+ try {
25
+ const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);
26
+ if (ignore) {
27
+ return;
28
+ }
29
+ setRenderResult(newRender);
30
+ setRenderKey(getUniqueId(IdCounterRef));
31
+ } catch (error) {
32
+ if (isTheSameRender(initialRenderId)) {
33
+ // eslint-disable-next-line no-console
34
+ console.error("Render useBrick failed:", useBrick, "with data:", data);
35
+ handleHttpError(error);
42
36
  }
43
- });
44
- return _init.apply(this, arguments);
37
+ }
45
38
  }
46
39
  init();
47
40
  return () => {
48
41
  ignore = true;
49
42
  };
50
43
  }, [data, useBrick, initialRenderId, errorBoundary]);
51
- var _refCallback = useCallback(element => {
44
+ const _refCallback = useCallback(element => {
52
45
  if (element) {
53
46
  mountResult.current = __secret_internals.mountUseBrick(
54
47
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -65,14 +58,14 @@ var ReactUseBrick = function ReactUseBrick(_ref) {
65
58
  return null;
66
59
  // return <span>🌀 Loading...</span>;
67
60
  }
68
- var {
61
+ const {
69
62
  tagName
70
63
  } = renderResult;
71
64
  if (tagName === null) {
72
65
  ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();
73
66
  return null;
74
67
  }
75
- var WebComponent = tagName;
68
+ const WebComponent = tagName;
76
69
  return /*#__PURE__*/React.createElement(WebComponent, {
77
70
  key: renderKey,
78
71
  ref: _refCallback
@@ -83,11 +76,11 @@ function getUniqueId(ref) {
83
76
  }
84
77
  function isTheSameRender(initialRenderId) {
85
78
  var _secret_internals$ge2;
86
- var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);
79
+ const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);
87
80
  return !initialRenderId || !newRenderId || initialRenderId === newRenderId;
88
81
  }
89
- var ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {
90
- var {
82
+ let ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {
83
+ let {
91
84
  useBrick,
92
85
  data,
93
86
  errorBoundary
@@ -109,10 +102,10 @@ var ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {
109
102
 
110
103
  // Make v3 bricks compatible with Brick Next v2.
111
104
  // istanbul ignore next
112
- var v2Kit = getV2RuntimeFromDll();
105
+ const v2Kit = getV2RuntimeFromDll();
113
106
  // istanbul ignore next
114
107
  if (v2Kit) {
115
- var {
108
+ const {
116
109
  SingleBrickAsComponentFactory,
117
110
  BrickAsComponentFactory
118
111
  } = v2Kit;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","_init","apply","arguments","_asyncToGenerator","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","_refCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","createElement","key","ref","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","_ref2","Array","isArray","Fragment","map","item","index","v2Kit","SingleBrickAsComponentFactory","BrickAsComponentFactory"],"sources":["../../src/ReactUseBrick.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\nexport interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>();\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as any;\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nfunction getUniqueId(ref: MutableRefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps {\n useBrick: UseSingleBrickConf | UseSingleBrickConf[];\n data?: unknown;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","_refCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","createElement","key","ref","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","_ref2","Array","isArray","Fragment","map","item","index","v2Kit","SingleBrickAsComponentFactory","BrickAsComponentFactory"],"sources":["../../src/ReactUseBrick.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\nexport interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>();\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as any;\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nfunction getUniqueId(ref: MutableRefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps {\n useBrick: UseSingleBrickConf | UseSingleBrickConf[];\n data?: unknown;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,7 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import { __secret_internals } from "@next-core/runtime";
3
2
  import { wrapBrick } from "@next-core/react-element";
4
- export function asyncWrapBrick(_x, _x2) {
5
- return _asyncWrapBrick.apply(this, arguments);
6
- }
7
- function _asyncWrapBrick() {
8
- _asyncWrapBrick = _asyncToGenerator(function* (brickName, eventsMapping) {
9
- yield __secret_internals.loadBricks([brickName]);
10
- return wrapBrick(brickName, eventsMapping);
11
- });
12
- return _asyncWrapBrick.apply(this, arguments);
3
+ export async function asyncWrapBrick(brickName, eventsMapping) {
4
+ await __secret_internals.loadBricks([brickName]);
5
+ return wrapBrick(brickName, eventsMapping);
13
6
  }
14
7
  //# sourceMappingURL=asyncWrapBrick.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"asyncWrapBrick.js","names":["__secret_internals","wrapBrick","asyncWrapBrick","_x","_x2","_asyncWrapBrick","apply","arguments","_asyncToGenerator","brickName","eventsMapping","loadBricks"],"sources":["../../src/asyncWrapBrick.ts"],"sourcesContent":["import { __secret_internals } from \"@next-core/runtime\";\nimport {\n wrapBrick,\n type WrappedBrick,\n type WrappedBrickWithEventsMap,\n} from \"@next-core/react-element\";\n\nexport async function asyncWrapBrick<\n T extends HTMLElement,\n P,\n E,\n M extends object,\n>(\n BrickName: string,\n eventsMapping: M\n): Promise<WrappedBrickWithEventsMap<T, P, E, M>>;\n\nexport async function asyncWrapBrick<T extends HTMLElement, P>(\n BrickName: string\n): Promise<WrappedBrick<T, P>>;\n\nexport async function asyncWrapBrick<\n T extends HTMLElement,\n P,\n E,\n M extends object,\n>(brickName: string, eventsMapping?: M) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick<T, P, E, M>(brickName, eventsMapping as M);\n}\n"],"mappings":";AAAA,SAASA,kBAAkB,QAAQ,oBAAoB;AACvD,SACEC,SAAS,QAGJ,0BAA0B;AAgBjC,gBAAsBC,cAAcA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,eAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAQnC,SAAAF,gBAAA;EAAAA,eAAA,GAAAG,iBAAA,CARM,WAKLC,SAAiB,EAAEC,aAAiB,EAAE;IACtC,MAAMV,kBAAkB,CAACW,UAAU,CAAC,CAACF,SAAS,CAAC,CAAC;IAChD,OAAOR,SAAS,CAAaQ,SAAS,EAAEC,aAAkB,CAAC;EAC7D,CAAC;EAAA,OAAAL,eAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"asyncWrapBrick.js","names":["__secret_internals","wrapBrick","asyncWrapBrick","brickName","eventsMapping","loadBricks"],"sources":["../../src/asyncWrapBrick.ts"],"sourcesContent":["import { __secret_internals } from \"@next-core/runtime\";\nimport {\n wrapBrick,\n type WrappedBrick,\n type WrappedBrickWithEventsMap,\n} from \"@next-core/react-element\";\n\nexport async function asyncWrapBrick<\n T extends HTMLElement,\n P,\n E,\n M extends object,\n>(\n BrickName: string,\n eventsMapping: M\n): Promise<WrappedBrickWithEventsMap<T, P, E, M>>;\n\nexport async function asyncWrapBrick<T extends HTMLElement, P>(\n BrickName: string\n): Promise<WrappedBrick<T, P>>;\n\nexport async function asyncWrapBrick<\n T extends HTMLElement,\n P,\n E,\n M extends object,\n>(brickName: string, eventsMapping?: M) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick<T, P, E, M>(brickName, eventsMapping as M);\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,oBAAoB;AACvD,SACEC,SAAS,QAGJ,0BAA0B;AAgBjC,OAAO,eAAeC,cAAcA,CAKlCC,SAAiB,EAAEC,aAAiB,EAAE;EACtC,MAAMJ,kBAAkB,CAACK,UAAU,CAAC,CAACF,SAAS,CAAC,CAAC;EAChD,OAAOF,SAAS,CAAaE,SAAS,EAAEC,aAAkB,CAAC;AAC7D","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { getCurrentTheme } from "@next-core/runtime";
3
3
  export function useCurrentTheme() {
4
- var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);
4
+ const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);
5
5
  useEffect(() => {
6
- var listenToThemeChange = event => {
6
+ const listenToThemeChange = event => {
7
7
  setCurrentTheme(event.detail);
8
8
  };
9
9
  window.addEventListener("theme.change", listenToThemeChange);
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentTheme.js","names":["useEffect","useState","getCurrentTheme","useCurrentTheme","currentTheme","setCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useCurrentTheme.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nimport type { SiteTheme } from \"@next-core/types\";\n\nexport function useCurrentTheme(): SiteTheme {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n\n useEffect(() => {\n const listenToThemeChange = (event: Event): void => {\n setCurrentTheme((event as CustomEvent<SiteTheme>).detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n\n return currentTheme;\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,eAAe,QAAQ,oBAAoB;AAGpD,OAAO,SAASC,eAAeA,CAAA,EAAc;EAC3C,IAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,QAAQ,CAACC,eAAe,CAAC;EAEjEF,SAAS,CAAC,MAAM;IACd,IAAMM,mBAAmB,GAAIC,KAAY,IAAW;MAClDF,eAAe,CAAEE,KAAK,CAA4BC,MAAM,CAAC;IAC3D,CAAC;IACDC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,mBAAmB,CAAC;IAC5D,OAAO,MAAM;MACXG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,mBAAmB,CAAC;IACjE,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,YAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"file":"useCurrentTheme.js","names":["useEffect","useState","getCurrentTheme","useCurrentTheme","currentTheme","setCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useCurrentTheme.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nimport type { SiteTheme } from \"@next-core/types\";\n\nexport function useCurrentTheme(): SiteTheme {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n\n useEffect(() => {\n const listenToThemeChange = (event: Event): void => {\n setCurrentTheme((event as CustomEvent<SiteTheme>).detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n\n return currentTheme;\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,eAAe,QAAQ,oBAAoB;AAGpD,OAAO,SAASC,eAAeA,CAAA,EAAc;EAC3C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,QAAQ,CAACC,eAAe,CAAC;EAEjEF,SAAS,CAAC,MAAM;IACd,MAAMM,mBAAmB,GAAIC,KAAY,IAAW;MAClDF,eAAe,CAAEE,KAAK,CAA4BC,MAAM,CAAC;IAC3D,CAAC;IACDC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,mBAAmB,CAAC;IAC5D,OAAO,MAAM;MACXG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,mBAAmB,CAAC;IACjE,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,YAAY;AACrB","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { getRuntime } from "@next-core/runtime";
3
3
  export function useNavConfig() {
4
- var [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());
4
+ const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());
5
5
  useEffect(() => {
6
- var listener = event => {
6
+ const listener = event => {
7
7
  setNavConfig(event.detail);
8
8
  };
9
9
  window.addEventListener("navConfig.change", listener);
@@ -1 +1 @@
1
- {"version":3,"file":"useNavConfig.js","names":["useEffect","useState","getRuntime","useNavConfig","navConfig","setNavConfig","getNavConfig","listener","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useNavConfig.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport type { BreadcrumbItemConf } from \"@next-core/types\";\n\nexport interface NavConfig {\n breadcrumb?: BreadcrumbItemConf[];\n}\n\nexport function useNavConfig(): NavConfig | undefined {\n const [navConfig, setNavConfig] = useState<NavConfig | undefined>(() =>\n getRuntime().getNavConfig()\n );\n\n useEffect(() => {\n const listener = ((event: CustomEvent<NavConfig | undefined>) => {\n setNavConfig(event.detail);\n }) as EventListener;\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n\n return navConfig;\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,UAAU,QAAQ,oBAAoB;AAO/C,OAAO,SAASC,YAAYA,CAAA,EAA0B;EACpD,IAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGJ,QAAQ,CAAwB,MAChEC,UAAU,CAAC,CAAC,CAACI,YAAY,CAAC,CAC5B,CAAC;EAEDN,SAAS,CAAC,MAAM;IACd,IAAMO,QAAQ,GAAKC,KAAyC,IAAK;MAC/DH,YAAY,CAACG,KAAK,CAACC,MAAM,CAAC;IAC5B,CAAmB;IACnBC,MAAM,CAACC,gBAAgB,CAAC,kBAAkB,EAAEJ,QAAQ,CAAC;IACrD,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,kBAAkB,EAAEL,QAAQ,CAAC;EACvE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOH,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"file":"useNavConfig.js","names":["useEffect","useState","getRuntime","useNavConfig","navConfig","setNavConfig","getNavConfig","listener","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useNavConfig.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport type { BreadcrumbItemConf } from \"@next-core/types\";\n\nexport interface NavConfig {\n breadcrumb?: BreadcrumbItemConf[];\n}\n\nexport function useNavConfig(): NavConfig | undefined {\n const [navConfig, setNavConfig] = useState<NavConfig | undefined>(() =>\n getRuntime().getNavConfig()\n );\n\n useEffect(() => {\n const listener = ((event: CustomEvent<NavConfig | undefined>) => {\n setNavConfig(event.detail);\n }) as EventListener;\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n\n return navConfig;\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,UAAU,QAAQ,oBAAoB;AAO/C,OAAO,SAASC,YAAYA,CAAA,EAA0B;EACpD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGJ,QAAQ,CAAwB,MAChEC,UAAU,CAAC,CAAC,CAACI,YAAY,CAAC,CAC5B,CAAC;EAEDN,SAAS,CAAC,MAAM;IACd,MAAMO,QAAQ,GAAKC,KAAyC,IAAK;MAC/DH,YAAY,CAACG,KAAK,CAACC,MAAM,CAAC;IAC5B,CAAmB;IACnBC,MAAM,CAACC,gBAAgB,CAAC,kBAAkB,EAAEJ,QAAQ,CAAC;IACrD,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,kBAAkB,EAAEL,QAAQ,CAAC;EACvE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOH,SAAS;AAClB","ignoreList":[]}
@@ -1,6 +1,5 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import { fetchByProvider } from "@next-core/runtime";
3
- var cacheMap = new Map();
2
+ const cacheMap = new Map();
4
3
  function isObj(v) {
5
4
  return typeof v === "object" && v !== null && !Array.isArray(v);
6
5
  }
@@ -8,14 +7,14 @@ function isString(v) {
8
7
  return typeof v === "string";
9
8
  }
10
9
  function buildSortedCacheKey(provider) {
11
- var sortObj = obj => Object.keys(obj).sort().map(k => ({
10
+ const sortObj = obj => Object.keys(obj).sort().map(k => ({
12
11
  [k]: obj[k]
13
12
  }));
14
13
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
15
14
  args[_key - 1] = arguments[_key];
16
15
  }
17
16
  try {
18
- var sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));
17
+ const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));
19
18
  return JSON.stringify({
20
19
  provider,
21
20
  args: sortedArgs
@@ -27,26 +26,20 @@ function buildSortedCacheKey(provider) {
27
26
  });
28
27
  }
29
28
  }
30
- export default function fetch(_x, _x2, _x3) {
31
- return _fetch.apply(this, arguments);
32
- }
33
- function _fetch() {
34
- _fetch = _asyncToGenerator(function* (provider, cache, args) {
35
- var promise;
36
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
37
- // @ts-ignore
38
- var cacheKey = buildSortedCacheKey(provider, ...args);
39
- !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);
40
- if (cacheMap.has(cacheKey)) {
41
- promise = cacheMap.get(cacheKey);
42
- } else {
43
- promise = (() => {
44
- return fetchByProvider(provider, args);
45
- })();
46
- cache && cacheMap.set(cacheKey, promise);
47
- }
48
- return promise;
49
- });
50
- return _fetch.apply(this, arguments);
29
+ export default async function fetch(provider, cache, args) {
30
+ let promise;
31
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
32
+ // @ts-ignore
33
+ const cacheKey = buildSortedCacheKey(provider, ...args);
34
+ !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);
35
+ if (cacheMap.has(cacheKey)) {
36
+ promise = cacheMap.get(cacheKey);
37
+ } else {
38
+ promise = (() => {
39
+ return fetchByProvider(provider, args);
40
+ })();
41
+ cache && cacheMap.set(cacheKey, promise);
42
+ }
43
+ return promise;
51
44
  }
52
45
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","names":["fetchByProvider","cacheMap","Map","isObj","v","Array","isArray","isString","buildSortedCacheKey","provider","sortObj","obj","Object","keys","sort","map","k","_len","arguments","length","args","_key","sortedArgs","arg","JSON","stringify","e","fetch","_x","_x2","_x3","_fetch","apply","_asyncToGenerator","cache","promise","cacheKey","has","delete","get","set"],"sources":["../../../src/useProvider/fetch.ts"],"sourcesContent":["import { FetchArgs } from \"./useProviderTypes.js\";\nimport { fetchByProvider } from \"@next-core/runtime\";\n\nconst cacheMap: Map<string, Promise<unknown>> = new Map();\n\nfunction isObj(v: any): boolean {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n\nfunction isString(v: any): v is string {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider: string, ...args: any): string {\n const sortObj = (obj: Record<string, any>) =>\n Object.keys(obj)\n .sort()\n .map((k) => ({ [k]: (obj as any)[k] }));\n try {\n const sortedArgs = isObj(args)\n ? sortObj(args)\n : (args as Record<string, any>[]).map((arg) =>\n isString(arg) ? arg : sortObj(arg)\n );\n\n return JSON.stringify({\n provider,\n args: sortedArgs,\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args,\n });\n }\n}\n\nexport default async function fetch<TData>(\n provider: string,\n cache: boolean,\n args: FetchArgs\n): Promise<TData> {\n let promise: Promise<TData>;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey) as Promise<TData>;\n } else {\n promise = (() => {\n return fetchByProvider(provider, args) as Promise<TData>;\n })();\n\n cache && cacheMap.set(cacheKey, promise);\n }\n\n return promise;\n}\n"],"mappings":";AACA,SAASA,eAAe,QAAQ,oBAAoB;AAEpD,IAAMC,QAAuC,GAAG,IAAIC,GAAG,CAAC,CAAC;AAEzD,SAASC,KAAKA,CAACC,CAAM,EAAW;EAC9B,OAAO,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC;AACjE;AAEA,SAASG,QAAQA,CAACH,CAAM,EAAe;EACrC,OAAO,OAAOA,CAAC,KAAK,QAAQ;AAC9B;AACA,SAASI,mBAAmBA,CAACC,QAAgB,EAAwB;EACnE,IAAMC,OAAO,GAAIC,GAAwB,IACvCC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CACbG,IAAI,CAAC,CAAC,CACNC,GAAG,CAAEC,CAAC,KAAM;IAAE,CAACA,CAAC,GAAIL,GAAG,CAASK,CAAC;EAAE,CAAC,CAAC,CAAC;EAAC,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAJIC,IAAI,OAAAf,KAAA,CAAAY,IAAA,OAAAA,IAAA,WAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;IAAJD,IAAI,CAAAC,IAAA,QAAAH,SAAA,CAAAG,IAAA;EAAA;EAKpD,IAAI;IACF,IAAMC,UAAU,GAAGnB,KAAK,CAACiB,IAAI,CAAC,GAC1BV,OAAO,CAACU,IAAI,CAAC,GACZA,IAAI,CAA2BL,GAAG,CAAEQ,GAAG,IACtChB,QAAQ,CAACgB,GAAG,CAAC,GAAGA,GAAG,GAAGb,OAAO,CAACa,GAAG,CACnC,CAAC;IAEL,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBhB,QAAQ;MACRW,IAAI,EAAEE;IACR,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOI,CAAC,EAAE;IACV,OAAOF,IAAI,CAACC,SAAS,CAAC;MACpBhB,QAAQ;MACRW;IACF,CAAC,CAAC;EACJ;AACF;AAEA,wBAA8BO,KAAKA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,MAAA,CAAAC,KAAA,OAAAd,SAAA;AAAA;AAsBlC,SAAAa,OAAA;EAAAA,MAAA,GAAAE,iBAAA,CAtBc,WACbxB,QAAgB,EAChByB,KAAc,EACdd,IAAe,EACC;IAChB,IAAIe,OAAuB;IAC3B;IACA;IACA,IAAMC,QAAQ,GAAG5B,mBAAmB,CAACC,QAAQ,EAAE,GAAGW,IAAI,CAAC;IACvD,CAACc,KAAK,IAAIjC,QAAQ,CAACoC,GAAG,CAACD,QAAQ,CAAC,IAAInC,QAAQ,CAACqC,MAAM,CAACF,QAAQ,CAAC;IAE7D,IAAInC,QAAQ,CAACoC,GAAG,CAACD,QAAQ,CAAC,EAAE;MAC1BD,OAAO,GAAGlC,QAAQ,CAACsC,GAAG,CAACH,QAAQ,CAAmB;IACpD,CAAC,MAAM;MACLD,OAAO,GAAG,CAAC,MAAM;QACf,OAAOnC,eAAe,CAACS,QAAQ,EAAEW,IAAI,CAAC;MACxC,CAAC,EAAE,CAAC;MAEJc,KAAK,IAAIjC,QAAQ,CAACuC,GAAG,CAACJ,QAAQ,EAAED,OAAO,CAAC;IAC1C;IAEA,OAAOA,OAAO;EAChB,CAAC;EAAA,OAAAJ,MAAA,CAAAC,KAAA,OAAAd,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"fetch.js","names":["fetchByProvider","cacheMap","Map","isObj","v","Array","isArray","isString","buildSortedCacheKey","provider","sortObj","obj","Object","keys","sort","map","k","_len","arguments","length","args","_key","sortedArgs","arg","JSON","stringify","e","fetch","cache","promise","cacheKey","has","delete","get","set"],"sources":["../../../src/useProvider/fetch.ts"],"sourcesContent":["import { FetchArgs } from \"./useProviderTypes.js\";\nimport { fetchByProvider } from \"@next-core/runtime\";\n\nconst cacheMap: Map<string, Promise<unknown>> = new Map();\n\nfunction isObj(v: any): boolean {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n\nfunction isString(v: any): v is string {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider: string, ...args: any): string {\n const sortObj = (obj: Record<string, any>) =>\n Object.keys(obj)\n .sort()\n .map((k) => ({ [k]: (obj as any)[k] }));\n try {\n const sortedArgs = isObj(args)\n ? sortObj(args)\n : (args as Record<string, any>[]).map((arg) =>\n isString(arg) ? arg : sortObj(arg)\n );\n\n return JSON.stringify({\n provider,\n args: sortedArgs,\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args,\n });\n }\n}\n\nexport default async function fetch<TData>(\n provider: string,\n cache: boolean,\n args: FetchArgs\n): Promise<TData> {\n let promise: Promise<TData>;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey) as Promise<TData>;\n } else {\n promise = (() => {\n return fetchByProvider(provider, args) as Promise<TData>;\n })();\n\n cache && cacheMap.set(cacheKey, promise);\n }\n\n return promise;\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oBAAoB;AAEpD,MAAMC,QAAuC,GAAG,IAAIC,GAAG,CAAC,CAAC;AAEzD,SAASC,KAAKA,CAACC,CAAM,EAAW;EAC9B,OAAO,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC;AACjE;AAEA,SAASG,QAAQA,CAACH,CAAM,EAAe;EACrC,OAAO,OAAOA,CAAC,KAAK,QAAQ;AAC9B;AACA,SAASI,mBAAmBA,CAACC,QAAgB,EAAwB;EACnE,MAAMC,OAAO,GAAIC,GAAwB,IACvCC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CACbG,IAAI,CAAC,CAAC,CACNC,GAAG,CAAEC,CAAC,KAAM;IAAE,CAACA,CAAC,GAAIL,GAAG,CAASK,CAAC;EAAE,CAAC,CAAC,CAAC;EAAC,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAJIC,IAAI,OAAAf,KAAA,CAAAY,IAAA,OAAAA,IAAA,WAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;IAAJD,IAAI,CAAAC,IAAA,QAAAH,SAAA,CAAAG,IAAA;EAAA;EAKpD,IAAI;IACF,MAAMC,UAAU,GAAGnB,KAAK,CAACiB,IAAI,CAAC,GAC1BV,OAAO,CAACU,IAAI,CAAC,GACZA,IAAI,CAA2BL,GAAG,CAAEQ,GAAG,IACtChB,QAAQ,CAACgB,GAAG,CAAC,GAAGA,GAAG,GAAGb,OAAO,CAACa,GAAG,CACnC,CAAC;IAEL,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBhB,QAAQ;MACRW,IAAI,EAAEE;IACR,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOI,CAAC,EAAE;IACV,OAAOF,IAAI,CAACC,SAAS,CAAC;MACpBhB,QAAQ;MACRW;IACF,CAAC,CAAC;EACJ;AACF;AAEA,eAAe,eAAeO,KAAKA,CACjClB,QAAgB,EAChBmB,KAAc,EACdR,IAAe,EACC;EAChB,IAAIS,OAAuB;EAC3B;EACA;EACA,MAAMC,QAAQ,GAAGtB,mBAAmB,CAACC,QAAQ,EAAE,GAAGW,IAAI,CAAC;EACvD,CAACQ,KAAK,IAAI3B,QAAQ,CAAC8B,GAAG,CAACD,QAAQ,CAAC,IAAI7B,QAAQ,CAAC+B,MAAM,CAACF,QAAQ,CAAC;EAE7D,IAAI7B,QAAQ,CAAC8B,GAAG,CAACD,QAAQ,CAAC,EAAE;IAC1BD,OAAO,GAAG5B,QAAQ,CAACgC,GAAG,CAACH,QAAQ,CAAmB;EACpD,CAAC,MAAM;IACLD,OAAO,GAAG,CAAC,MAAM;MACf,OAAO7B,eAAe,CAACS,QAAQ,EAAEW,IAAI,CAAC;IACxC,CAAC,EAAE,CAAC;IAEJQ,KAAK,IAAI3B,QAAQ,CAACiC,GAAG,CAACJ,QAAQ,EAAED,OAAO,CAAC;EAC1C;EAEA,OAAOA,OAAO;AAChB","ignoreList":[]}
@@ -1,87 +1,73 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["onError", "transform", "suspense", "cache"];
5
1
  import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from "react";
6
2
  import useProviderArgs from "./useProviderArgs.js";
7
3
  import { isObject, isString } from "lodash";
8
4
  import fetch from "./fetch.js";
9
5
  export function useProvider() {
10
- var {
6
+ const {
11
7
  provider,
12
8
  customOptions,
13
9
  dependencies,
14
10
  requestInit
15
11
  } = useProviderArgs(...arguments);
16
- var {
17
- onError,
18
- transform,
19
- suspense,
20
- cache
21
- } = customOptions,
22
- defaults = _objectWithoutProperties(customOptions, _excluded);
23
- var [loading, setLoading] = useState(defaults.loading);
24
- var suspenseStatus = useRef("pending");
25
- var suspender = useRef();
26
- var mounted = useRef(false);
27
- var error = useRef();
28
- var response = useRef();
29
- var data = useRef(defaults.data);
30
- var forceUpdate = useReducer(() => ({}), [])[1];
31
- var doFetch = useCallback( /*#__PURE__*/function () {
32
- var _ref = _asyncToGenerator(function* (provider, providerArgs) {
33
- try {
34
- error.current = undefined;
35
- if (!suspense) setLoading(true);
36
- var newRes = yield fetch(provider, cache, providerArgs);
37
- response.current = newRes;
38
- data.current = transform(data.current, newRes);
39
- } catch (e) {
40
- error.current = e;
41
- data.current = undefined;
42
- }
43
- if (!suspense) setLoading(false);
44
- if (error.current) onError(error.current);
45
- return data.current;
46
- });
47
- return function (_x, _x2) {
48
- return _ref.apply(this, arguments);
49
- };
50
- }(), [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);
51
- var makeFetch = useCallback( /*#__PURE__*/function () {
52
- var _ref2 = _asyncToGenerator(function* (providerOrBody, args) {
53
- var providerStr = provider;
54
- var providerArgs = [];
55
- if (isString(providerOrBody)) {
56
- providerStr = providerOrBody;
57
- }
58
- if (isObject(providerOrBody)) {
59
- providerArgs = providerOrBody;
60
- } else if (isObject(args)) {
61
- providerArgs = args;
62
- }
63
- if (suspense) {
64
- return _asyncToGenerator(function* () {
65
- suspender.current = doFetch(providerStr, providerArgs).then(newData => {
66
- suspenseStatus.current = "success";
67
- return newData;
68
- }, error => {
69
- /* istanbul ignore next */
70
- suspenseStatus.current = "error";
71
- error.current = error;
72
- return error;
73
- });
74
- forceUpdate();
75
- return yield suspender.current;
76
- })();
77
- }
78
- return doFetch(providerStr, providerArgs);
79
- });
80
- return function (_x3, _x4) {
81
- return _ref2.apply(this, arguments);
82
- };
83
- }(), [doFetch]);
84
- var request = useMemo(() => Object.defineProperties({
12
+ const {
13
+ onError,
14
+ transform,
15
+ suspense,
16
+ cache,
17
+ ...defaults
18
+ } = customOptions;
19
+ const [loading, setLoading] = useState(defaults.loading);
20
+ const suspenseStatus = useRef("pending");
21
+ const suspender = useRef();
22
+ const mounted = useRef(false);
23
+ const error = useRef();
24
+ const response = useRef();
25
+ const data = useRef(defaults.data);
26
+ const forceUpdate = useReducer(() => ({}), [])[1];
27
+ const doFetch = useCallback(async (provider, providerArgs) => {
28
+ try {
29
+ error.current = undefined;
30
+ if (!suspense) setLoading(true);
31
+ const newRes = await fetch(provider, cache, providerArgs);
32
+ response.current = newRes;
33
+ data.current = transform(data.current, newRes);
34
+ } catch (e) {
35
+ error.current = e;
36
+ data.current = undefined;
37
+ }
38
+ if (!suspense) setLoading(false);
39
+ if (error.current) onError(error.current);
40
+ return data.current;
41
+ }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);
42
+ const makeFetch = useCallback(async (providerOrBody, args) => {
43
+ let providerStr = provider;
44
+ let providerArgs = [];
45
+ if (isString(providerOrBody)) {
46
+ providerStr = providerOrBody;
47
+ }
48
+ if (isObject(providerOrBody)) {
49
+ providerArgs = providerOrBody;
50
+ } else if (isObject(args)) {
51
+ providerArgs = args;
52
+ }
53
+ if (suspense) {
54
+ return (async () => {
55
+ suspender.current = doFetch(providerStr, providerArgs).then(newData => {
56
+ suspenseStatus.current = "success";
57
+ return newData;
58
+ }, error => {
59
+ /* istanbul ignore next */
60
+ suspenseStatus.current = "error";
61
+ error.current = error;
62
+ return error;
63
+ });
64
+ forceUpdate();
65
+ return await suspender.current;
66
+ })();
67
+ }
68
+ return doFetch(providerStr, providerArgs);
69
+ }, [doFetch]);
70
+ const request = useMemo(() => Object.defineProperties({
85
71
  query: makeFetch
86
72
  }, {
87
73
  loading: {
@@ -118,13 +104,13 @@ export function useProvider() {
118
104
  throw error.current;
119
105
  }
120
106
  }
121
- return Object.assign([request, response.current, loading, error.current], _objectSpread(_objectSpread({
122
- request
123
- }, request), {}, {
107
+ return Object.assign([request, response.current, loading, error.current], {
108
+ request,
109
+ ...request,
124
110
  response: response.current,
125
111
  data: data.current,
126
112
  loading,
127
113
  error: error.current
128
- }));
114
+ });
129
115
  }
130
116
  //# sourceMappingURL=useProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProvider.js","names":["useCallback","useEffect","useMemo","useReducer","useRef","useState","useProviderArgs","isObject","isString","fetch","useProvider","provider","customOptions","dependencies","requestInit","arguments","onError","transform","suspense","cache","defaults","_objectWithoutProperties","_excluded","loading","setLoading","suspenseStatus","suspender","mounted","error","response","data","forceUpdate","doFetch","_ref","_asyncToGenerator","providerArgs","current","undefined","newRes","e","_x","_x2","apply","makeFetch","_ref2","providerOrBody","args","providerStr","then","newData","_x3","_x4","request","Object","defineProperties","query","get","Array","isArray","assign","_objectSpread"],"sources":["../../../src/useProvider/useProvider.ts"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport type {\n UseProviderArgs,\n FetchArgs,\n UseProviderError,\n UseProviderObjectReturn,\n Req,\n Res,\n UseProviderArrayReturn,\n UseProvider,\n} from \"./useProviderTypes.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\n\nexport function useProvider<TData = any>(\n ...args: UseProviderArgs\n): UseProvider<TData> {\n const { provider, customOptions, dependencies, requestInit } =\n useProviderArgs(...args);\n const { onError, transform, suspense, cache, ...defaults } = customOptions;\n\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef<\"pending\" | \"error\" | \"success\">(\"pending\");\n const suspender = useRef<Promise<any>>();\n const mounted = useRef(false);\n const error = useRef<UseProviderError | undefined>();\n const response = useRef<Res<TData>>();\n const data = useRef<TData | undefined>(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n\n const doFetch = useCallback(\n async (\n provider: string,\n providerArgs: FetchArgs\n ): Promise<TData | undefined> => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = (await fetch(provider, cache, providerArgs)) as TData;\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e as UseProviderError;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n },\n [\n provider,\n customOptions,\n dependencies,\n requestInit,\n suspense,\n transform,\n defaults.data,\n onError,\n cache,\n ]\n );\n\n const makeFetch = useCallback(\n async (\n providerOrBody: string | unknown[],\n args?: unknown[]\n ): Promise<TData | undefined> => {\n let providerStr = provider;\n let providerArgs = [] as unknown[];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(\n (newData) => {\n suspenseStatus.current = \"success\";\n return newData;\n },\n (error) => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n }\n );\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n },\n [doFetch]\n );\n\n const request: Req<TData> = useMemo(\n () =>\n Object.defineProperties(\n {\n query: makeFetch,\n },\n {\n loading: {\n get(): boolean {\n return loading;\n },\n },\n data: {\n get(): TData | undefined {\n return data.current;\n },\n },\n error: {\n get(): UseProviderError | undefined {\n return error.current;\n },\n },\n }\n ),\n [makeFetch]\n ) as unknown as Req<TData>;\n\n // onMount/onUpdate\n useEffect((): any => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args as unknown[]);\n }\n return () => (mounted.current = false);\n }, dependencies);\n\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n\n return Object.assign<\n UseProviderArrayReturn<TData>,\n UseProviderObjectReturn<TData>\n >([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current,\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useProvider.js","names":["useCallback","useEffect","useMemo","useReducer","useRef","useState","useProviderArgs","isObject","isString","fetch","useProvider","provider","customOptions","dependencies","requestInit","arguments","onError","transform","suspense","cache","defaults","loading","setLoading","suspenseStatus","suspender","mounted","error","response","data","forceUpdate","doFetch","providerArgs","current","undefined","newRes","e","makeFetch","providerOrBody","args","providerStr","then","newData","request","Object","defineProperties","query","get","Array","isArray","assign"],"sources":["../../../src/useProvider/useProvider.ts"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport type {\n UseProviderArgs,\n FetchArgs,\n UseProviderError,\n UseProviderObjectReturn,\n Req,\n Res,\n UseProviderArrayReturn,\n UseProvider,\n} from \"./useProviderTypes.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\n\nexport function useProvider<TData = any>(\n ...args: UseProviderArgs\n): UseProvider<TData> {\n const { provider, customOptions, dependencies, requestInit } =\n useProviderArgs(...args);\n const { onError, transform, suspense, cache, ...defaults } = customOptions;\n\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef<\"pending\" | \"error\" | \"success\">(\"pending\");\n const suspender = useRef<Promise<any>>();\n const mounted = useRef(false);\n const error = useRef<UseProviderError | undefined>();\n const response = useRef<Res<TData>>();\n const data = useRef<TData | undefined>(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n\n const doFetch = useCallback(\n async (\n provider: string,\n providerArgs: FetchArgs\n ): Promise<TData | undefined> => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = (await fetch(provider, cache, providerArgs)) as TData;\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e as UseProviderError;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n },\n [\n provider,\n customOptions,\n dependencies,\n requestInit,\n suspense,\n transform,\n defaults.data,\n onError,\n cache,\n ]\n );\n\n const makeFetch = useCallback(\n async (\n providerOrBody: string | unknown[],\n args?: unknown[]\n ): Promise<TData | undefined> => {\n let providerStr = provider;\n let providerArgs = [] as unknown[];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(\n (newData) => {\n suspenseStatus.current = \"success\";\n return newData;\n },\n (error) => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n }\n );\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n },\n [doFetch]\n );\n\n const request: Req<TData> = useMemo(\n () =>\n Object.defineProperties(\n {\n query: makeFetch,\n },\n {\n loading: {\n get(): boolean {\n return loading;\n },\n },\n data: {\n get(): TData | undefined {\n return data.current;\n },\n },\n error: {\n get(): UseProviderError | undefined {\n return error.current;\n },\n },\n }\n ),\n [makeFetch]\n ) as unknown as Req<TData>;\n\n // onMount/onUpdate\n useEffect((): any => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args as unknown[]);\n }\n return () => (mounted.current = false);\n }, dependencies);\n\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n\n return Object.assign<\n UseProviderArrayReturn<TData>,\n UseProviderObjectReturn<TData>\n >([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current,\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,55 +1,57 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
- var _excluded = ["args"];
4
1
  import { useMemo } from "react";
5
2
  import defaults, { useProviderArgsDefaults } from "./useProviderArgsDefaults.js";
6
3
  import { isObject } from "lodash";
7
4
  export default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {
8
- var provider = useMemo(() => {
5
+ const provider = useMemo(() => {
9
6
  if (typeof providerOrParamsOrGlobalOptions === "string") {
10
7
  return providerOrParamsOrGlobalOptions;
11
8
  }
12
9
  return useProviderArgsDefaults.provider;
13
10
  }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);
14
- var options = useMemo(() => {
15
- var localOptions = {};
11
+ const options = useMemo(() => {
12
+ let localOptions = {};
16
13
  if (isObject(providerOrParamsOrGlobalOptions)) {
17
14
  localOptions = providerOrParamsOrGlobalOptions;
18
15
  } else if (isObject(globalOptionsOrDeps)) {
19
16
  localOptions = globalOptionsOrDeps;
20
17
  }
21
- return _objectSpread(_objectSpread({}, defaults), localOptions);
18
+ return {
19
+ ...defaults,
20
+ ...localOptions
21
+ };
22
22
  }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);
23
- var requestInit = useMemo(() => {
24
- var customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];
25
- var _reduce = Object.keys(options).reduce((acc, key) => {
26
- if (!customOptionKeys.includes(key)) acc[key] = options[key];
27
- return acc;
28
- }, {}),
29
- {
30
- args = null
31
- } = _reduce,
32
- restOptions = _objectWithoutProperties(_reduce, _excluded);
23
+ const requestInit = useMemo(() => {
24
+ const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];
25
+ const {
26
+ args = null,
27
+ ...restOptions
28
+ } = Object.keys(options).reduce((acc, key) => {
29
+ if (!customOptionKeys.includes(key)) acc[key] = options[key];
30
+ return acc;
31
+ }, {});
33
32
  return {
34
- options: _objectSpread({}, restOptions),
33
+ options: {
34
+ ...restOptions
35
+ },
35
36
  args
36
37
  };
37
38
  }, [options]);
38
- var dependencies = useMemo(() => {
39
+ const dependencies = useMemo(() => {
39
40
  if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;
40
41
  if (Array.isArray(deps)) return deps;
41
42
  return defaults.dependencies;
42
43
  }, [globalOptionsOrDeps, deps]);
43
- var loading = options.loading || Array.isArray(dependencies);
44
- var customOptions = useMemo(() => {
45
- var customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);
46
- var customOptions = customOptionKeys.reduce((opts, key) => {
44
+ const loading = options.loading || Array.isArray(dependencies);
45
+ const customOptions = useMemo(() => {
46
+ const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);
47
+ const customOptions = customOptionKeys.reduce((opts, key) => {
47
48
  opts[key] = options[key];
48
49
  return opts;
49
50
  }, {});
50
- return _objectSpread(_objectSpread({}, customOptions), {}, {
51
+ return {
52
+ ...customOptions,
51
53
  loading
52
- });
54
+ };
53
55
  }, [options]);
54
56
  return {
55
57
  provider,
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderArgs.js","names":["useMemo","defaults","useProviderArgsDefaults","isObject","useProviderArgs","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","provider","options","localOptions","_objectSpread","requestInit","customOptionKeys","Object","keys","customOptions","_reduce","reduce","acc","key","includes","args","restOptions","_objectWithoutProperties","_excluded","dependencies","Array","isArray","loading","opts"],"sources":["../../../src/useProvider/useProviderArgs.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport defaults, {\n useProviderArgsDefaults,\n} from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nimport { HttpOptions } from \"@next-core/http\";\nimport type {\n IncomingOptions,\n UseProviderArgsReturn,\n UseProviderCustomOptions,\n UseProviderOptionArgsDefaults,\n} from \"./useProviderTypes.js\";\n\nexport default function useProviderArgs(\n providerOrParamsOrGlobalOptions?: string | IncomingOptions,\n globalOptionsOrDeps?: IncomingOptions | any[],\n deps?: any[]\n): UseProviderArgsReturn {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n\n return useProviderArgsDefaults.provider as string;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions,\n } as IncomingOptions;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n\n const requestInit = useMemo((): {\n args: unknown;\n options?: HttpOptions;\n } => {\n const customOptionKeys = [\n ...Object.keys(useProviderArgsDefaults),\n ...Object.keys(\n useProviderArgsDefaults.customOptions as Partial<\n UseProviderCustomOptions<any>\n >\n ),\n ] as Array<UseProviderOptionArgsDefaults>;\n\n const { args = null, ...restOptions } = (\n Object.keys(options) as any\n ).reduce(\n (acc: Record<string, any>, key: UseProviderOptionArgsDefaults) => {\n if (!customOptionKeys.includes(key)) acc[key] = (options as never)[key];\n return acc;\n },\n {} as Record<string, any>\n );\n\n return { options: { ...restOptions }, args };\n }, [options]);\n\n const dependencies = useMemo((): any[] | undefined => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n\n const loading = options.loading || Array.isArray(dependencies);\n\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(\n useProviderArgsDefaults.customOptions as Partial<\n UseProviderCustomOptions<any>\n >\n ) as (keyof UseProviderCustomOptions)[];\n\n const customOptions = customOptionKeys.reduce((opts, key) => {\n (opts as any)[key] = options[key];\n return opts;\n }, {} as UseProviderCustomOptions);\n\n return { ...customOptions, loading };\n }, [options]);\n\n return {\n provider,\n customOptions,\n requestInit,\n dependencies,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useProviderArgs.js","names":["useMemo","defaults","useProviderArgsDefaults","isObject","useProviderArgs","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","provider","options","localOptions","requestInit","customOptionKeys","Object","keys","customOptions","args","restOptions","reduce","acc","key","includes","dependencies","Array","isArray","loading","opts"],"sources":["../../../src/useProvider/useProviderArgs.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport defaults, {\n useProviderArgsDefaults,\n} from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nimport { HttpOptions } from \"@next-core/http\";\nimport type {\n IncomingOptions,\n UseProviderArgsReturn,\n UseProviderCustomOptions,\n UseProviderOptionArgsDefaults,\n} from \"./useProviderTypes.js\";\n\nexport default function useProviderArgs(\n providerOrParamsOrGlobalOptions?: string | IncomingOptions,\n globalOptionsOrDeps?: IncomingOptions | any[],\n deps?: any[]\n): UseProviderArgsReturn {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n\n return useProviderArgsDefaults.provider as string;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions,\n } as IncomingOptions;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n\n const requestInit = useMemo((): {\n args: unknown;\n options?: HttpOptions;\n } => {\n const customOptionKeys = [\n ...Object.keys(useProviderArgsDefaults),\n ...Object.keys(\n useProviderArgsDefaults.customOptions as Partial<\n UseProviderCustomOptions<any>\n >\n ),\n ] as Array<UseProviderOptionArgsDefaults>;\n\n const { args = null, ...restOptions } = (\n Object.keys(options) as any\n ).reduce(\n (acc: Record<string, any>, key: UseProviderOptionArgsDefaults) => {\n if (!customOptionKeys.includes(key)) acc[key] = (options as never)[key];\n return acc;\n },\n {} as Record<string, any>\n );\n\n return { options: { ...restOptions }, args };\n }, [options]);\n\n const dependencies = useMemo((): any[] | undefined => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n\n const loading = options.loading || Array.isArray(dependencies);\n\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(\n useProviderArgsDefaults.customOptions as Partial<\n UseProviderCustomOptions<any>\n >\n ) as (keyof UseProviderCustomOptions)[];\n\n const customOptions = customOptionKeys.reduce((opts, key) => {\n (opts as any)[key] = options[key];\n return opts;\n }, {} as UseProviderCustomOptions);\n\n return { ...customOptions, loading };\n }, [options]);\n\n return {\n provider,\n customOptions,\n requestInit,\n dependencies,\n };\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,OAAOC,QAAQ,IACbC,uBAAuB,QAClB,8BAA8B;AACrC,SAASC,QAAQ,QAAQ,QAAQ;AASjC,eAAe,SAASC,eAAeA,CACrCC,+BAA0D,EAC1DC,mBAA6C,EAC7CC,IAAY,EACW;EACvB,MAAMC,QAAQ,GAAGR,OAAO,CAAC,MAAM;IAC7B,IAAI,OAAOK,+BAA+B,KAAK,QAAQ,EAAE;MACvD,OAAOA,+BAA+B;IACxC;IAEA,OAAOH,uBAAuB,CAACM,QAAQ;EACzC,CAAC,EAAE,CAACH,+BAA+B,EAAEC,mBAAmB,CAAC,CAAC;EAE1D,MAAMG,OAAO,GAAGT,OAAO,CAAC,MAAM;IAC5B,IAAIU,YAAY,GAAG,CAAC,CAAC;IACrB,IAAIP,QAAQ,CAACE,+BAA+B,CAAC,EAAE;MAC7CK,YAAY,GAAGL,+BAA+B;IAChD,CAAC,MAAM,IAAIF,QAAQ,CAACG,mBAAmB,CAAC,EAAE;MACxCI,YAAY,GAAGJ,mBAAmB;IACpC;IACA,OAAO;MACL,GAAGL,QAAQ;MACX,GAAGS;IACL,CAAC;EACH,CAAC,EAAE,CAACL,+BAA+B,EAAEC,mBAAmB,CAAC,CAAC;EAE1D,MAAMK,WAAW,GAAGX,OAAO,CAAC,MAGvB;IACH,MAAMY,gBAAgB,GAAG,CACvB,GAAGC,MAAM,CAACC,IAAI,CAACZ,uBAAuB,CAAC,EACvC,GAAGW,MAAM,CAACC,IAAI,CACZZ,uBAAuB,CAACa,aAG1B,CAAC,CACsC;IAEzC,MAAM;MAAEC,IAAI,GAAG,IAAI;MAAE,GAAGC;IAAY,CAAC,GACnCJ,MAAM,CAACC,IAAI,CAACL,OAAO,CAAC,CACpBS,MAAM,CACN,CAACC,GAAwB,EAAEC,GAAkC,KAAK;MAChE,IAAI,CAACR,gBAAgB,CAACS,QAAQ,CAACD,GAAG,CAAC,EAAED,GAAG,CAACC,GAAG,CAAC,GAAIX,OAAO,CAAWW,GAAG,CAAC;MACvE,OAAOD,GAAG;IACZ,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAO;MAAEV,OAAO,EAAE;QAAE,GAAGQ;MAAY,CAAC;MAAED;IAAK,CAAC;EAC9C,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEb,MAAMa,YAAY,GAAGtB,OAAO,CAAC,MAAyB;IACpD,IAAIuB,KAAK,CAACC,OAAO,CAAClB,mBAAmB,CAAC,EAAE,OAAOA,mBAAmB;IAClE,IAAIiB,KAAK,CAACC,OAAO,CAACjB,IAAI,CAAC,EAAE,OAAOA,IAAI;IACpC,OAAON,QAAQ,CAACqB,YAAY;EAC9B,CAAC,EAAE,CAAChB,mBAAmB,EAAEC,IAAI,CAAC,CAAC;EAE/B,MAAMkB,OAAO,GAAGhB,OAAO,CAACgB,OAAO,IAAIF,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC;EAE9D,MAAMP,aAAa,GAAGf,OAAO,CAAC,MAAM;IAClC,MAAMY,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAClCZ,uBAAuB,CAACa,aAG1B,CAAuC;IAEvC,MAAMA,aAAa,GAAGH,gBAAgB,CAACM,MAAM,CAAC,CAACQ,IAAI,EAAEN,GAAG,KAAK;MAC1DM,IAAI,CAASN,GAAG,CAAC,GAAGX,OAAO,CAACW,GAAG,CAAC;MACjC,OAAOM,IAAI;IACb,CAAC,EAAE,CAAC,CAA6B,CAAC;IAElC,OAAO;MAAE,GAAGX,aAAa;MAAEU;IAAQ,CAAC;EACtC,CAAC,EAAE,CAAChB,OAAO,CAAC,CAAC;EAEb,OAAO;IACLD,QAAQ;IACRO,aAAa;IACbJ,WAAW;IACXW;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- export var useProviderArgsDefaults = {
1
+ export const useProviderArgsDefaults = {
3
2
  provider: "",
4
3
  customOptions: {
5
4
  onError: () => {
@@ -14,10 +13,14 @@ export var useProviderArgsDefaults = {
14
13
  dependencies: undefined
15
14
  };
16
15
  export default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {
17
- var [key, value] = _ref;
18
- if (Object.prototype.toString.call(value) === "[object Object]") return _objectSpread(_objectSpread({}, acc), value);
19
- return _objectSpread(_objectSpread({}, acc), {}, {
16
+ let [key, value] = _ref;
17
+ if (Object.prototype.toString.call(value) === "[object Object]") return {
18
+ ...acc,
19
+ ...value
20
+ };
21
+ return {
22
+ ...acc,
20
23
  [key]: value
21
- });
24
+ };
22
25
  }, {});
23
26
  //# sourceMappingURL=useProviderArgsDefaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderArgsDefaults.js","names":["useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","data","undefined","loading","suspense","cache","dependencies","Object","entries","reduce","acc","_ref","key","value","prototype","toString","call","_objectSpread"],"sources":["../../../src/useProvider/useProviderArgsDefaults.ts"],"sourcesContent":["import type { UseProviderArgsDefaults } from \"./useProviderTypes.js\";\n\nexport const useProviderArgsDefaults: UseProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData: any, newData: any) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true,\n },\n dependencies: undefined,\n};\n\nexport default Object.entries(useProviderArgsDefaults).reduce(\n (acc, [key, value]) => {\n if (Object.prototype.toString.call(value) === \"[object Object]\")\n return { ...acc, ...value };\n return { ...acc, [key]: value };\n },\n {} as UseProviderArgsDefaults\n);\n"],"mappings":";AAEA,OAAO,IAAMA,uBAAgD,GAAG;EAC9DC,QAAQ,EAAE,EAAE;EACZC,aAAa,EAAE;IACbC,OAAO,EAAEA,CAAA,KAAM;MACb;IAAA,CACD;IACDC,SAAS,EAAEA,CAACC,OAAY,EAAEC,OAAY,KAAKA,OAAO;IAClDC,IAAI,EAAEC,SAAS;IACfC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE;EACT,CAAC;EACDC,YAAY,EAAEJ;AAChB,CAAC;AAED,eAAeK,MAAM,CAACC,OAAO,CAACd,uBAAuB,CAAC,CAACe,MAAM,CAC3D,CAACC,GAAG,EAAAC,IAAA,KAAmB;EAAA,IAAjB,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;EAChB,IAAIJ,MAAM,CAACO,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACH,KAAK,CAAC,KAAK,iBAAiB,EAC7D,OAAAI,aAAA,CAAAA,aAAA,KAAYP,GAAG,GAAKG,KAAK;EAC3B,OAAAI,aAAA,CAAAA,aAAA,KAAYP,GAAG;IAAE,CAACE,GAAG,GAAGC;EAAK;AAC/B,CAAC,EACD,CAAC,CACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useProviderArgsDefaults.js","names":["useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","data","undefined","loading","suspense","cache","dependencies","Object","entries","reduce","acc","_ref","key","value","prototype","toString","call"],"sources":["../../../src/useProvider/useProviderArgsDefaults.ts"],"sourcesContent":["import type { UseProviderArgsDefaults } from \"./useProviderTypes.js\";\n\nexport const useProviderArgsDefaults: UseProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData: any, newData: any) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true,\n },\n dependencies: undefined,\n};\n\nexport default Object.entries(useProviderArgsDefaults).reduce(\n (acc, [key, value]) => {\n if (Object.prototype.toString.call(value) === \"[object Object]\")\n return { ...acc, ...value };\n return { ...acc, [key]: value };\n },\n {} as UseProviderArgsDefaults\n);\n"],"mappings":"AAEA,OAAO,MAAMA,uBAAgD,GAAG;EAC9DC,QAAQ,EAAE,EAAE;EACZC,aAAa,EAAE;IACbC,OAAO,EAAEA,CAAA,KAAM;MACb;IAAA,CACD;IACDC,SAAS,EAAEA,CAACC,OAAY,EAAEC,OAAY,KAAKA,OAAO;IAClDC,IAAI,EAAEC,SAAS;IACfC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE;EACT,CAAC;EACDC,YAAY,EAAEJ;AAChB,CAAC;AAED,eAAeK,MAAM,CAACC,OAAO,CAACd,uBAAuB,CAAC,CAACe,MAAM,CAC3D,CAACC,GAAG,EAAAC,IAAA,KAAmB;EAAA,IAAjB,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;EAChB,IAAIJ,MAAM,CAACO,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACH,KAAK,CAAC,KAAK,iBAAiB,EAC7D,OAAO;IAAE,GAAGH,GAAG;IAAE,GAAGG;EAAM,CAAC;EAC7B,OAAO;IAAE,GAAGH,GAAG;IAAE,CAACE,GAAG,GAAGC;EAAM,CAAC;AACjC,CAAC,EACD,CAAC,CACH,CAAC","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import { getRuntime } from "@next-core/runtime";
3
3
  export function useRecentApps() {
4
- var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());
4
+ const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());
5
5
  React.useEffect(() => {
6
- var listener = event => {
6
+ const listener = event => {
7
7
  setRecentApps(event.detail);
8
8
  };
9
9
  window.addEventListener("app.change", listener);
@@ -1 +1 @@
1
- {"version":3,"file":"useRecentApps.js","names":["React","getRuntime","useRecentApps","recentApps","setRecentApps","useState","getRecentApps","useEffect","listener","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useRecentApps.ts"],"sourcesContent":["import React from \"react\";\nimport { MicroApp } from \"@next-core/types\";\nimport { getRuntime } from \"@next-core/runtime\";\n\nexport interface RecentApps {\n currentApp?: MicroApp;\n previousApp?: MicroApp;\n}\n\nexport function useRecentApps(): RecentApps {\n const [recentApps, setRecentApps] = React.useState<RecentApps>(() =>\n getRuntime().getRecentApps()\n );\n\n React.useEffect(() => {\n const listener = ((event: CustomEvent<RecentApps>) => {\n setRecentApps(event.detail);\n }) as EventListener;\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n\n return recentApps;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,oBAAoB;AAO/C,OAAO,SAASC,aAAaA,CAAA,EAAe;EAC1C,IAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAAa,MAC7DJ,UAAU,CAAC,CAAC,CAACK,aAAa,CAAC,CAC7B,CAAC;EAEDN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,IAAMC,QAAQ,GAAKC,KAA8B,IAAK;MACpDL,aAAa,CAACK,KAAK,CAACC,MAAM,CAAC;IAC7B,CAAmB;IACnBC,MAAM,CAACC,gBAAgB,CAAC,YAAY,EAAEJ,QAAQ,CAAC;IAC/C,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,YAAY,EAAEL,QAAQ,CAAC;EACjE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOL,UAAU;AACnB","ignoreList":[]}
1
+ {"version":3,"file":"useRecentApps.js","names":["React","getRuntime","useRecentApps","recentApps","setRecentApps","useState","getRecentApps","useEffect","listener","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useRecentApps.ts"],"sourcesContent":["import React from \"react\";\nimport { MicroApp } from \"@next-core/types\";\nimport { getRuntime } from \"@next-core/runtime\";\n\nexport interface RecentApps {\n currentApp?: MicroApp;\n previousApp?: MicroApp;\n}\n\nexport function useRecentApps(): RecentApps {\n const [recentApps, setRecentApps] = React.useState<RecentApps>(() =>\n getRuntime().getRecentApps()\n );\n\n React.useEffect(() => {\n const listener = ((event: CustomEvent<RecentApps>) => {\n setRecentApps(event.detail);\n }) as EventListener;\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n\n return recentApps;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,oBAAoB;AAO/C,OAAO,SAASC,aAAaA,CAAA,EAAe;EAC1C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAAa,MAC7DJ,UAAU,CAAC,CAAC,CAACK,aAAa,CAAC,CAC7B,CAAC;EAEDN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAKC,KAA8B,IAAK;MACpDL,aAAa,CAACK,KAAK,CAACC,MAAM,CAAC;IAC7B,CAAmB;IACnBC,MAAM,CAACC,gBAAgB,CAAC,YAAY,EAAEJ,QAAQ,CAAC;IAC/C,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,YAAY,EAAEL,QAAQ,CAAC;EACjE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOL,UAAU;AACnB","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  export function useRouteRender() {
3
- var [routeRender, setRouteRender] = React.useState(null);
3
+ const [routeRender, setRouteRender] = React.useState(null);
4
4
  React.useEffect(() => {
5
- var listener = event => {
5
+ const listener = event => {
6
6
  setRouteRender(event.detail);
7
7
  };
8
8
  window.addEventListener("route.render", listener);
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteRender.js","names":["React","useRouteRender","routeRender","setRouteRender","useState","useEffect","listener","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useRouteRender.ts"],"sourcesContent":["import React from \"react\";\n\ninterface RouteRender {\n renderTime?: number;\n}\n\nexport function useRouteRender(): RouteRender | null {\n const [routeRender, setRouteRender] = React.useState<RouteRender | null>(\n null\n );\n\n React.useEffect(() => {\n const listener = ((event: CustomEvent<RouteRender>) => {\n setRouteRender(event.detail);\n }) as EventListener;\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n\n return routeRender;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,OAAO,SAASC,cAAcA,CAAA,EAAuB;EACnD,IAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAClD,IACF,CAAC;EAEDJ,KAAK,CAACK,SAAS,CAAC,MAAM;IACpB,IAAMC,QAAQ,GAAKC,KAA+B,IAAK;MACrDJ,cAAc,CAACI,KAAK,CAACC,MAAM,CAAC;IAC9B,CAAmB;IACnBC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,QAAQ,CAAC;IACjD,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,QAAQ,CAAC;EACnE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,WAAW;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"useRouteRender.js","names":["React","useRouteRender","routeRender","setRouteRender","useState","useEffect","listener","event","detail","window","addEventListener","removeEventListener"],"sources":["../../src/useRouteRender.ts"],"sourcesContent":["import React from \"react\";\n\ninterface RouteRender {\n renderTime?: number;\n}\n\nexport function useRouteRender(): RouteRender | null {\n const [routeRender, setRouteRender] = React.useState<RouteRender | null>(\n null\n );\n\n React.useEffect(() => {\n const listener = ((event: CustomEvent<RouteRender>) => {\n setRouteRender(event.detail);\n }) as EventListener;\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n\n return routeRender;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,OAAO,SAASC,cAAcA,CAAA,EAAuB;EACnD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAClD,IACF,CAAC;EAEDJ,KAAK,CAACK,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAKC,KAA+B,IAAK;MACrDJ,cAAc,CAACI,KAAK,CAACC,MAAM,CAAC;IAC9B,CAAmB;IACnBC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,QAAQ,CAAC;IACjD,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,QAAQ,CAAC;EACnE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,WAAW;AACpB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/react-runtime",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/react-runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -37,18 +37,18 @@
37
37
  "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
38
38
  },
39
39
  "dependencies": {
40
- "@next-core/react-element": "^1.0.26",
41
- "@next-core/runtime": "^1.44.2",
40
+ "@next-core/react-element": "^1.0.27",
41
+ "@next-core/runtime": "^1.44.4",
42
42
  "@next-core/types": "^1.11.0",
43
43
  "react": "0.0.0-experimental-ee8509801-20230117",
44
44
  "react-dom": "0.0.0-experimental-ee8509801-20230117"
45
45
  },
46
46
  "devDependencies": {
47
- "@next-core/build-next-libs": "^1.0.15",
48
- "@next-core/test-next": "^1.1.1",
47
+ "@next-core/build-next-libs": "^1.0.16",
48
+ "@next-core/test-next": "^1.1.2",
49
49
  "@testing-library/react": "^15.0.7",
50
50
  "@testing-library/react-hooks": "^8.0.1",
51
51
  "jest-fetch-mock": "^3.0.3"
52
52
  },
53
- "gitHead": "4e473ace7bb317528a18b36f8f5220bed8e97eef"
53
+ "gitHead": "e773d5b02fb0d529f8040df5ed82b8927df61662"
54
54
  }