@next-core/react-runtime 1.4.2 → 1.4.3

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 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","handleHttpError","_refCallback","useCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","default","createElement","key","ref","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","Array","isArray","Fragment","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","React"],"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 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 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 );\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]);\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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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"}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","handleHttpError","_refCallback","useCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","default","createElement","key","ref","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","Array","isArray","Fragment","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","React"],"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 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 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 );\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]);\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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 +1 @@
1
- {"version":3,"file":"asyncWrapBrick.js","names":["_runtime","require","_reactElement","asyncWrapBrick","brickName","eventsMapping","__secret_internals","loadBricks","wrapBrick"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAoBO,eAAeE,cAAcA,CAKlCC,SAAiB,EAAEC,aAAiB,EAAE;EACtC,MAAMC,2BAAkB,CAACC,UAAU,CAAC,CAACH,SAAS,CAAC,CAAC;EAChD,OAAO,IAAAI,uBAAS,EAAaJ,SAAS,EAAEC,aAAkB,CAAC;AAC7D"}
1
+ {"version":3,"file":"asyncWrapBrick.js","names":["_runtime","require","_reactElement","asyncWrapBrick","brickName","eventsMapping","__secret_internals","loadBricks","wrapBrick"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAoBO,eAAeE,cAAcA,CAKlCC,SAAiB,EAAEC,aAAiB,EAAE;EACtC,MAAMC,2BAAkB,CAACC,UAAU,CAAC,CAACH,SAAS,CAAC,CAAC;EAChD,OAAO,IAAAI,uBAAS,EAAaJ,SAAS,EAAEC,aAAkB,CAAC;AAC7D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentApp.js","names":["_useRecentApps","require","useCurrentApp","useRecentApps","currentApp"],"sources":["../../src/useCurrentApp.ts"],"sourcesContent":["import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAAA,EAAG;EAC9B,OAAO,IAAAC,4BAAa,EAAC,CAAC,CAACC,UAAU;AACnC"}
1
+ {"version":3,"file":"useCurrentApp.js","names":["_useRecentApps","require","useCurrentApp","useRecentApps","currentApp"],"sources":["../../src/useCurrentApp.ts"],"sourcesContent":["import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAAA,EAAG;EAC9B,OAAO,IAAAC,4BAAa,EAAC,CAAC,CAACC,UAAU;AACnC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentTheme.js","names":["_react","require","_runtime","useCurrentTheme","currentTheme","setCurrentTheme","useState","getCurrentTheme","useEffect","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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGO,SAASE,eAAeA,CAAA,EAAc;EAC3C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAACC,wBAAe,CAAC;EAEjE,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,mBAAmB,GAAIC,KAAY,IAAW;MAClDL,eAAe,CAAEK,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,OAAOL,YAAY;AACrB"}
1
+ {"version":3,"file":"useCurrentTheme.js","names":["_react","require","_runtime","useCurrentTheme","currentTheme","setCurrentTheme","useState","getCurrentTheme","useEffect","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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGO,SAASE,eAAeA,CAAA,EAAc;EAC3C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAACC,wBAAe,CAAC;EAEjE,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,mBAAmB,GAAIC,KAAY,IAAW;MAClDL,eAAe,CAAEK,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,OAAOL,YAAY;AACrB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useNavConfig.js","names":["_react","require","_runtime","useNavConfig","navConfig","setNavConfig","useState","getRuntime","getNavConfig","useEffect","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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAOO,SAASE,YAAYA,CAAA,EAA0B;EACpD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAwB,MAChE,IAAAC,mBAAU,EAAC,CAAC,CAACC,YAAY,CAAC,CAC5B,CAAC;EAED,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAKC,KAAyC,IAAK;MAC/DN,YAAY,CAACM,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,OAAON,SAAS;AAClB"}
1
+ {"version":3,"file":"useNavConfig.js","names":["_react","require","_runtime","useNavConfig","navConfig","setNavConfig","useState","getRuntime","getNavConfig","useEffect","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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAOO,SAASE,YAAYA,CAAA,EAA0B;EACpD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAwB,MAChE,IAAAC,mBAAU,EAAC,CAAC,CAACC,YAAY,CAAC,CAC5B,CAAC;EAED,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAKC,KAAyC,IAAK;MAC/DN,YAAY,CAACM,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,OAAON,SAAS;AAClB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","names":["_runtime","require","cacheMap","Map","isObj","v","Array","isArray","isString","buildSortedCacheKey","provider","args","sortObj","obj","Object","keys","sort","map","k","sortedArgs","arg","JSON","stringify","e","fetch","cache","promise","cacheKey","has","delete","get","fetchByProvider","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,IAAAA,QAAA,GAAAC,OAAA;AAEA,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,EAAE,GAAGC,IAAS,EAAU;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;EAC3C,IAAI;IACF,MAAMC,UAAU,GAAGf,KAAK,CAACO,IAAI,CAAC,GAC1BC,OAAO,CAACD,IAAI,CAAC,GACZA,IAAI,CAA2BM,GAAG,CAAEG,GAAG,IACtCZ,QAAQ,CAACY,GAAG,CAAC,GAAGA,GAAG,GAAGR,OAAO,CAACQ,GAAG,CACnC,CAAC;IAEL,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBZ,QAAQ;MACRC,IAAI,EAAEQ;IACR,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOI,CAAC,EAAE;IACV,OAAOF,IAAI,CAACC,SAAS,CAAC;MACpBZ,QAAQ;MACRC;IACF,CAAC,CAAC;EACJ;AACF;AAEe,eAAea,KAAKA,CACjCd,QAAgB,EAChBe,KAAc,EACdd,IAAe,EACC;EAChB,IAAIe,OAAuB;EAC3B;EACA;EACA,MAAMC,QAAQ,GAAGlB,mBAAmB,CAACC,QAAQ,EAAE,GAAGC,IAAI,CAAC;EACvD,CAACc,KAAK,IAAIvB,QAAQ,CAAC0B,GAAG,CAACD,QAAQ,CAAC,IAAIzB,QAAQ,CAAC2B,MAAM,CAACF,QAAQ,CAAC;EAE7D,IAAIzB,QAAQ,CAAC0B,GAAG,CAACD,QAAQ,CAAC,EAAE;IAC1BD,OAAO,GAAGxB,QAAQ,CAAC4B,GAAG,CAACH,QAAQ,CAAmB;EACpD,CAAC,MAAM;IACLD,OAAO,GAAG,CAAC,MAAM;MACf,OAAO,IAAAK,wBAAe,EAACrB,QAAQ,EAAEC,IAAI,CAAC;IACxC,CAAC,EAAE,CAAC;IAEJc,KAAK,IAAIvB,QAAQ,CAAC8B,GAAG,CAACL,QAAQ,EAAED,OAAO,CAAC;EAC1C;EAEA,OAAOA,OAAO;AAChB"}
1
+ {"version":3,"file":"fetch.js","names":["_runtime","require","cacheMap","Map","isObj","v","Array","isArray","isString","buildSortedCacheKey","provider","args","sortObj","obj","Object","keys","sort","map","k","sortedArgs","arg","JSON","stringify","e","fetch","cache","promise","cacheKey","has","delete","get","fetchByProvider","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,IAAAA,QAAA,GAAAC,OAAA;AAEA,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,EAAE,GAAGC,IAAS,EAAU;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;EAC3C,IAAI;IACF,MAAMC,UAAU,GAAGf,KAAK,CAACO,IAAI,CAAC,GAC1BC,OAAO,CAACD,IAAI,CAAC,GACZA,IAAI,CAA2BM,GAAG,CAAEG,GAAG,IACtCZ,QAAQ,CAACY,GAAG,CAAC,GAAGA,GAAG,GAAGR,OAAO,CAACQ,GAAG,CACnC,CAAC;IAEL,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBZ,QAAQ;MACRC,IAAI,EAAEQ;IACR,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOI,CAAC,EAAE;IACV,OAAOF,IAAI,CAACC,SAAS,CAAC;MACpBZ,QAAQ;MACRC;IACF,CAAC,CAAC;EACJ;AACF;AAEe,eAAea,KAAKA,CACjCd,QAAgB,EAChBe,KAAc,EACdd,IAAe,EACC;EAChB,IAAIe,OAAuB;EAC3B;EACA;EACA,MAAMC,QAAQ,GAAGlB,mBAAmB,CAACC,QAAQ,EAAE,GAAGC,IAAI,CAAC;EACvD,CAACc,KAAK,IAAIvB,QAAQ,CAAC0B,GAAG,CAACD,QAAQ,CAAC,IAAIzB,QAAQ,CAAC2B,MAAM,CAACF,QAAQ,CAAC;EAE7D,IAAIzB,QAAQ,CAAC0B,GAAG,CAACD,QAAQ,CAAC,EAAE;IAC1BD,OAAO,GAAGxB,QAAQ,CAAC4B,GAAG,CAACH,QAAQ,CAAmB;EACpD,CAAC,MAAM;IACLD,OAAO,GAAG,CAAC,MAAM;MACf,OAAO,IAAAK,wBAAe,EAACrB,QAAQ,EAAEC,IAAI,CAAC;IACxC,CAAC,EAAE,CAAC;IAEJc,KAAK,IAAIvB,QAAQ,CAAC8B,GAAG,CAACL,QAAQ,EAAED,OAAO,CAAC;EAC1C;EAEA,OAAOA,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useProvider.js","names":["_react","require","_useProviderArgs","_interopRequireDefault","_lodash","_fetch","useProvider","args","provider","customOptions","dependencies","requestInit","useProviderArgs","onError","transform","suspense","cache","defaults","loading","setLoading","useState","suspenseStatus","useRef","suspender","mounted","error","response","data","forceUpdate","useReducer","doFetch","useCallback","providerArgs","current","undefined","newRes","fetch","e","makeFetch","providerOrBody","providerStr","isString","isObject","then","newData","request","useMemo","Object","defineProperties","query","get","useEffect","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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"}
1
+ {"version":3,"file":"useProvider.js","names":["_react","require","_useProviderArgs","_interopRequireDefault","_lodash","_fetch","useProvider","args","provider","customOptions","dependencies","requestInit","useProviderArgs","onError","transform","suspense","cache","defaults","loading","setLoading","useState","suspenseStatus","useRef","suspender","mounted","error","response","data","forceUpdate","useReducer","doFetch","useCallback","providerArgs","current","undefined","newRes","fetch","e","makeFetch","providerOrBody","providerStr","isString","isObject","then","newData","request","useMemo","Object","defineProperties","query","get","useEffect","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 +1 @@
1
- {"version":3,"file":"useProviderArgs.js","names":["_react","require","_useProviderArgsDefaults","_interopRequireWildcard","_lodash","useProviderArgs","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","provider","useMemo","useProviderArgsDefaults","options","localOptions","isObject","defaults","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":"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"}
1
+ {"version":3,"file":"useProviderArgs.js","names":["_react","require","_useProviderArgsDefaults","_interopRequireWildcard","_lodash","useProviderArgs","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","provider","useMemo","useProviderArgsDefaults","options","localOptions","isObject","defaults","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":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderArgsDefaults.js","names":["useProviderArgsDefaults","exports","provider","customOptions","onError","transform","oldData","newData","data","undefined","loading","suspense","cache","dependencies","_default","default","Object","entries","reduce","acc","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":";;;;;;AAEO,MAAMA,uBAAgD,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EAC9DE,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;AAAC,IAAAK,QAAA,GAAAb,OAAA,CAAAc,OAAA,GAEaC,MAAM,CAACC,OAAO,CAACjB,uBAAuB,CAAC,CAACkB,MAAM,CAC3D,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;EACrB,IAAIL,MAAM,CAACM,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACH,KAAK,CAAC,KAAK,iBAAiB,EAC7D,OAAO;IAAE,GAAGF,GAAG;IAAE,GAAGE;EAAM,CAAC;EAC7B,OAAO;IAAE,GAAGF,GAAG;IAAE,CAACC,GAAG,GAAGC;EAAM,CAAC;AACjC,CAAC,EACD,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"useProviderArgsDefaults.js","names":["useProviderArgsDefaults","exports","provider","customOptions","onError","transform","oldData","newData","data","undefined","loading","suspense","cache","dependencies","_default","default","Object","entries","reduce","acc","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":";;;;;;AAEO,MAAMA,uBAAgD,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EAC9DE,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;AAAC,IAAAK,QAAA,GAAAb,OAAA,CAAAc,OAAA,GAEaC,MAAM,CAACC,OAAO,CAACjB,uBAAuB,CAAC,CAACkB,MAAM,CAC3D,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;EACrB,IAAIL,MAAM,CAACM,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACH,KAAK,CAAC,KAAK,iBAAiB,EAC7D,OAAO;IAAE,GAAGF,GAAG;IAAE,GAAGE;EAAM,CAAC;EAC7B,OAAO;IAAE,GAAGF,GAAG;IAAE,CAACC,GAAG,GAAGC;EAAM,CAAC;AACjC,CAAC,EACD,CAAC,CACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderTypes.js","names":[],"sources":["../../../src/useProvider/useProviderTypes.ts"],"sourcesContent":["import type {\n HttpFetchError,\n HttpOptions,\n HttpParseError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { fetchByProvider } from \"@next-core/runtime\";\n\nexport type UseProviderError =\n | Error\n | typeof HttpFetchError\n | typeof HttpResponseError\n | typeof HttpParseError;\nexport type OnError = (error: UseProviderError) => void;\n\nexport interface UseProviderCustomOptions<TData = any> {\n loading: boolean;\n onError: OnError;\n transform: (currData: TData, newData: TData) => any;\n suspense: boolean;\n data: TData;\n cache: boolean;\n}\n\nexport type UseProviderArgsReturn = {\n provider: string;\n customOptions: UseProviderCustomOptions;\n dependencies?: any[];\n requestInit: Partial<{\n apiParams: typeof fetchByProvider;\n args: unknown;\n options: HttpOptions;\n }>;\n};\n\nexport interface UseProviderArgsDefaults {\n provider?: string;\n customOptions?: Partial<UseProviderCustomOptions>;\n dependencies?: any[];\n}\nexport interface ReqBase<TData> {\n data: TData | undefined;\n loading: boolean;\n error: UseProviderError | undefined;\n}\n\nexport type FetchArgs = Parameters<typeof fetchByProvider> | unknown[];\n\nexport type RequestInit = Partial<Omit<HttpOptions, \"body\" | \"cache\">> & {\n args?: unknown[];\n};\n\nexport type IncomingOptions = Partial<UseProviderCustomOptions> & RequestInit;\n\nexport type UseProviderArgs = [\n (string | IncomingOptions)?,\n (IncomingOptions | any[])?,\n any[]?,\n];\n\nexport type UseProviderOptionArgsDefaults = keyof UseProviderCustomOptions &\n keyof Omit<UseProviderArgsDefaults, \"customOptions\">;\n\nexport type useProviderQueryMethod<TData> = (\n providerOrArgs: string | unknown[],\n args?: unknown[]\n) => Promise<TData>;\n\nexport type Req<TData = any> = {\n query: useProviderQueryMethod<TData>;\n} & ReqBase<TData>;\n\nexport type Res<TData = any> = TData;\n\nexport type UseProviderArrayReturn<TData> = [\n Req<TData>,\n Res<TData | undefined>,\n boolean,\n UseProviderError | undefined,\n];\n\nexport type UseProviderObjectReturn<TData> = ReqBase<TData> & {\n query: useProviderQueryMethod<TData>;\n request: Req<TData>;\n response: Res<TData | undefined>;\n};\n\nexport type UseProvider<TData> = UseProviderArrayReturn<TData> &\n UseProviderObjectReturn<TData>;\n"],"mappings":""}
1
+ {"version":3,"file":"useProviderTypes.js","names":[],"sources":["../../../src/useProvider/useProviderTypes.ts"],"sourcesContent":["import type {\n HttpFetchError,\n HttpOptions,\n HttpParseError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { fetchByProvider } from \"@next-core/runtime\";\n\nexport type UseProviderError =\n | Error\n | typeof HttpFetchError\n | typeof HttpResponseError\n | typeof HttpParseError;\nexport type OnError = (error: UseProviderError) => void;\n\nexport interface UseProviderCustomOptions<TData = any> {\n loading: boolean;\n onError: OnError;\n transform: (currData: TData, newData: TData) => any;\n suspense: boolean;\n data: TData;\n cache: boolean;\n}\n\nexport type UseProviderArgsReturn = {\n provider: string;\n customOptions: UseProviderCustomOptions;\n dependencies?: any[];\n requestInit: Partial<{\n apiParams: typeof fetchByProvider;\n args: unknown;\n options: HttpOptions;\n }>;\n};\n\nexport interface UseProviderArgsDefaults {\n provider?: string;\n customOptions?: Partial<UseProviderCustomOptions>;\n dependencies?: any[];\n}\nexport interface ReqBase<TData> {\n data: TData | undefined;\n loading: boolean;\n error: UseProviderError | undefined;\n}\n\nexport type FetchArgs = Parameters<typeof fetchByProvider> | unknown[];\n\nexport type RequestInit = Partial<Omit<HttpOptions, \"body\" | \"cache\">> & {\n args?: unknown[];\n};\n\nexport type IncomingOptions = Partial<UseProviderCustomOptions> & RequestInit;\n\nexport type UseProviderArgs = [\n (string | IncomingOptions)?,\n (IncomingOptions | any[])?,\n any[]?,\n];\n\nexport type UseProviderOptionArgsDefaults = keyof UseProviderCustomOptions &\n keyof Omit<UseProviderArgsDefaults, \"customOptions\">;\n\nexport type useProviderQueryMethod<TData> = (\n providerOrArgs: string | unknown[],\n args?: unknown[]\n) => Promise<TData>;\n\nexport type Req<TData = any> = {\n query: useProviderQueryMethod<TData>;\n} & ReqBase<TData>;\n\nexport type Res<TData = any> = TData;\n\nexport type UseProviderArrayReturn<TData> = [\n Req<TData>,\n Res<TData | undefined>,\n boolean,\n UseProviderError | undefined,\n];\n\nexport type UseProviderObjectReturn<TData> = ReqBase<TData> & {\n query: useProviderQueryMethod<TData>;\n request: Req<TData>;\n response: Res<TData | undefined>;\n};\n\nexport type UseProvider<TData> = UseProviderArrayReturn<TData> &\n UseProviderObjectReturn<TData>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useRecentApps.js","names":["_react","_interopRequireDefault","require","_runtime","useRecentApps","recentApps","setRecentApps","React","useState","getRuntime","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAOO,SAASE,aAAaA,CAAA,EAAe;EAC1C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAa,MAC7D,IAAAC,mBAAU,EAAC,CAAC,CAACC,aAAa,CAAC,CAC7B,CAAC;EAEDH,cAAK,CAACI,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAKC,KAA8B,IAAK;MACpDP,aAAa,CAACO,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,OAAOP,UAAU;AACnB"}
1
+ {"version":3,"file":"useRecentApps.js","names":["_react","_interopRequireDefault","require","_runtime","useRecentApps","recentApps","setRecentApps","React","useState","getRuntime","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAOO,SAASE,aAAaA,CAAA,EAAe;EAC1C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAa,MAC7D,IAAAC,mBAAU,EAAC,CAAC,CAACC,aAAa,CAAC,CAC7B,CAAC;EAEDH,cAAK,CAACI,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAKC,KAA8B,IAAK;MACpDP,aAAa,CAACO,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,OAAOP,UAAU;AACnB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteRender.js","names":["_react","_interopRequireDefault","require","useRouteRender","routeRender","setRouteRender","React","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMO,SAASC,cAAcA,CAAA,EAAuB;EACnD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAClD,IACF,CAAC;EAEDD,cAAK,CAACE,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAKC,KAA+B,IAAK;MACrDL,cAAc,CAACK,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,OAAOL,WAAW;AACpB"}
1
+ {"version":3,"file":"useRouteRender.js","names":["_react","_interopRequireDefault","require","useRouteRender","routeRender","setRouteRender","React","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMO,SAASC,cAAcA,CAAA,EAAuB;EACnD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAClD,IACF,CAAC;EAEDD,cAAK,CAACE,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAKC,KAA+B,IAAK;MACrDL,cAAc,CAACK,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,OAAOL,WAAW;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","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 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 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 );\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]);\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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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"}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","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 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 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 );\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]);\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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":";AAAA,OAAOA,KAAK,IAEVC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AAEd,SACEC,kBAAkB,EAClBC,eAAe,EACfC,mBAAmB,QACd,oBAAoB;AAW3B;AACA;AACA,IAAIC,aAAa,GAAG,SAASA,aAAaA,CAAAC,IAAA,EAKQ;EAAA,IALP;IACzCC,QAAQ;IACRC,IAAI;IACJC,WAAW;IACXC;EACkB,CAAC,GAAAJ,IAAA;EACnB,IAAM,CAACK,YAAY,EAAEC,eAAe,CAAC,GACnCX,QAAQ,CAAiD,IAAI,CAAC;EAChE,IAAMY,WAAW,GAAGb,MAAM,CAAyC,CAAC;EACpE,IAAM,CAACc,SAAS,EAAEC,YAAY,CAAC,GAAGd,QAAQ,CAAS,CAAC;EACpD,IAAMe,YAAY,GAAGhB,MAAM,CAAC,CAAC,CAAC;EAC9B,IAAMiB,eAAe,GAAGlB,OAAO,CAAC;IAAA,IAAAmB,oBAAA;IAAA,QAAAA,oBAAA,GAAMhB,kBAAkB,CAACiB,WAAW,cAAAD,oBAAA,uBAA9BA,oBAAA,CAAAE,IAAA,CAAAlB,kBAAiC,CAAC;EAAA,GAAE,EAAE,CAAC;EAE7EJ,SAAS,CAAC,MAAM;IACd,IAAIuB,MAAM,GAAG,KAAK;IAAC,SACJC,IAAIA,CAAA;MAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,MAAA;MAAAA,KAAA,GAAAG,iBAAA,CAAnB,aAAsB;QACpB,IAAI;UACF,IAAMC,SAAS,SAASzB,kBAAkB,CAAC0B,cAAc,CACvDrB,QAAQ,EACRC,IACF,CAAC;UACD,IAAIa,MAAM,EAAE;YACV;UACF;UACAT,eAAe,CAACe,SAAS,CAAC;UAC1BZ,YAAY,CAACc,WAAW,CAACb,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,OAAOc,KAAK,EAAE;UACd,IAAIC,eAAe,CAACd,eAAe,CAAC,EAAE;YACpC;YACAe,OAAO,CAACF,KAAK,CACX,yBAAyB,EACzBvB,QAAQ,EACR,YAAY,EACZC,IACF,CAAC;YACDL,eAAe,CAAC2B,KAAK,CAAC;UACxB;QACF;MACF,CAAC;MAAA,OAAAP,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IACDH,IAAI,CAAC,CAAC;IACN,OAAO,MAAM;MACXD,MAAM,GAAG,IAAI;IACf,CAAC;EACH,CAAC,EAAE,CAACb,IAAI,EAAED,QAAQ,EAAEU,eAAe,CAAC,CAAC;EAErC,IAAMgB,YAAY,GAAGpC,WAAW,CAC7BqC,OAA2B,IAAK;IAC/B,IAAIA,OAAO,EAAE;MACXrB,WAAW,CAACsB,OAAO,GAAGjC,kBAAkB,CAACkC,aAAa;MACpD;MACAzB,YAAY,EACZuB,OACF,CAAC;IACH,CAAC,MAAM;MACL;MACAhC,kBAAkB,CAACmC,eAAe,CAAC1B,YAAY,EAAGE,WAAW,CAACsB,OAAQ,CAAC;MACvEtB,WAAW,CAACsB,OAAO,GAAGG,SAAS;IACjC;IACA7B,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAGyB,OAAO,CAAC;EACxB,CAAC,EACD,CAACzB,WAAW,EAAEE,YAAY,CAC5B,CAAC;EAED,IAAI,CAACA,YAAY,EAAE;IACjB;IACA,OAAO,IAAI;IACX;EACF;EAEA,IAAM;IAAE4B;EAAQ,CAAC,GAAG5B,YAAY;EAChC,IAAI4B,OAAO,KAAK,IAAI,EAAE;IACpB7B,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAG,CAAC;IACnB,OAAO,IAAI;EACb;EAEA,IAAM8B,YAAY,GAAGD,OAAc;EACnC,oBAAO3C,KAAA,CAAA6C,aAAA,CAACD,YAAY;IAACE,GAAG,EAAE5B,SAAU;IAAC6B,GAAG,EAAEV;EAAa,CAAE,CAAC;AAC5D,CAAC;AAED,SAASJ,WAAWA,CAACc,GAA6B,EAAU;EAC1D,OAAO,EAAEA,GAAG,CAACR,OAAO;AACtB;AAEA,SAASJ,eAAeA,CAACd,eAAmC,EAAW;EAAA,IAAA2B,qBAAA;EACrE,IAAMC,WAAW,IAAAD,qBAAA,GAAG1C,kBAAkB,CAACiB,WAAW,cAAAyB,qBAAA,uBAA9BA,qBAAA,CAAAxB,IAAA,CAAAlB,kBAAiC,CAAC;EACtD,OAAO,CAACe,eAAe,IAAI,CAAC4B,WAAW,IAAI5B,eAAe,KAAK4B,WAAW;AAC5E;AAOA,IAAIC,sBAAsB,GAAG,SAASA,sBAAsBA,CAAAC,KAAA,EAGD;EAAA,IAHE;IAC3DxC,QAAQ;IACRC;EAC2B,CAAC,GAAAuC,KAAA;EAC5B,IAAIC,KAAK,CAACC,OAAO,CAAC1C,QAAQ,CAAC,EAAE;IAC3B,oBACEX,KAAA,CAAA6C,aAAA,CAAA7C,KAAA,CAAAsD,QAAA,QACG3C,QAAQ,CAAC4C,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBACxBzD,KAAA,CAAA6C,aAAA,CAACpC,aAAa;MAACqC,GAAG,EAAEW,KAAM;MAAC9C,QAAQ,EAAE6C,IAAK;MAAC5C,IAAI,EAAEA;IAAK,CAAE,CACzD,CACD,CAAC;EAEP;EACA,oBAAOZ,KAAA,CAAA6C,aAAA,CAACpC,aAAa;IAACE,QAAQ,EAAEA,QAAS;IAACC,IAAI,EAAEA;EAAK,CAAE,CAAC;AAC1D,CAAC;;AAED;AACA;AACA,IAAM8C,KAAK,GAAGlD,mBAAmB,CAAC,CAAC;AACnC;AACA,IAAIkD,KAAK,EAAE;EACT,IAAM;IAAEC,6BAA6B;IAAEC;EAAwB,CAAC,GAAGF,KAAK;EACxE,IAAIC,6BAA6B,IAAIC,uBAAuB,EAAE;IAC5DnD,aAAa,GAAGkD,6BAA6B,CAAC3D,KAAK,CAAC;IACpDkD,sBAAsB,GAAGU,uBAAuB,CAAC5D,KAAK,CAAC;EACzD;AACF;AAEA,SAASS,aAAa,EAAEyC,sBAAsB","ignoreList":[]}
@@ -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"}
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 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentApp.js","names":["useRecentApps","useCurrentApp","currentApp"],"sources":["../../src/useCurrentApp.ts"],"sourcesContent":["import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC9B,OAAOD,aAAa,CAAC,CAAC,CAACE,UAAU;AACnC"}
1
+ {"version":3,"file":"useCurrentApp.js","names":["useRecentApps","useCurrentApp","currentApp"],"sources":["../../src/useCurrentApp.ts"],"sourcesContent":["import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC9B,OAAOD,aAAa,CAAC,CAAC,CAACE,UAAU;AACnC","ignoreList":[]}
@@ -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"}
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 +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"}
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 +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"}
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 +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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"}
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":";;;;AAAA,SACEA,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,OAAOC,eAAe,MAAM,sBAAsB;AAWlD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAQ;AAC3C,OAAOC,KAAK,MAAM,YAAY;AAE9B,OAAO,SAASC,WAAWA,CAAA,EAEL;EACpB,IAAM;IAAEC,QAAQ;IAAEC,aAAa;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAC1DR,eAAe,CAAC,GAAAS,SAAO,CAAC;EAC1B,IAAM;MAAEC,OAAO;MAAEC,SAAS;MAAEC,QAAQ;MAAEC;IAAmB,CAAC,GAAGP,aAAa;IAA1BQ,QAAQ,GAAAC,wBAAA,CAAKT,aAAa,EAAAU,SAAA;EAE1E,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGnB,QAAQ,CAACe,QAAQ,CAACG,OAAO,CAAC;EACxD,IAAME,cAAc,GAAGrB,MAAM,CAAkC,SAAS,CAAC;EACzE,IAAMsB,SAAS,GAAGtB,MAAM,CAAe,CAAC;EACxC,IAAMuB,OAAO,GAAGvB,MAAM,CAAC,KAAK,CAAC;EAC7B,IAAMwB,KAAK,GAAGxB,MAAM,CAA+B,CAAC;EACpD,IAAMyB,QAAQ,GAAGzB,MAAM,CAAa,CAAC;EACrC,IAAM0B,IAAI,GAAG1B,MAAM,CAAoBgB,QAAQ,CAACU,IAAI,CAAC;EACrD,IAAMC,WAAW,GAAG5B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;EAEjD,IAAM6B,OAAO,GAAGhC,WAAW;IAAA,IAAAiC,IAAA,GAAAC,iBAAA,CACzB,WACEvB,QAAgB,EAChBwB,YAAuB,EACQ;MAC/B,IAAI;QACFP,KAAK,CAACQ,OAAO,GAAGC,SAAS;QACzB,IAAI,CAACnB,QAAQ,EAAEM,UAAU,CAAC,IAAI,CAAC;QAC/B,IAAMc,MAAM,SAAU7B,KAAK,CAACE,QAAQ,EAAEQ,KAAK,EAAEgB,YAAY,CAAW;QACpEN,QAAQ,CAACO,OAAO,GAAGE,MAAM;QACzBR,IAAI,CAACM,OAAO,GAAGnB,SAAS,CAACa,IAAI,CAACM,OAAO,EAAEE,MAAM,CAAC;MAChD,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVX,KAAK,CAACQ,OAAO,GAAGG,CAAqB;QACrCT,IAAI,CAACM,OAAO,GAAGC,SAAS;MAC1B;MACA,IAAI,CAACnB,QAAQ,EAAEM,UAAU,CAAC,KAAK,CAAC;MAChC,IAAII,KAAK,CAACQ,OAAO,EAAEpB,OAAO,CAACY,KAAK,CAACQ,OAAO,CAAC;MACzC,OAAON,IAAI,CAACM,OAAO;IACrB,CAAC;IAAA,iBAAAI,EAAA,EAAAC,GAAA;MAAA,OAAAR,IAAA,CAAAS,KAAA,OAAA3B,SAAA;IAAA;EAAA,KACD,CACEJ,QAAQ,EACRC,aAAa,EACbC,YAAY,EACZC,WAAW,EACXI,QAAQ,EACRD,SAAS,EACTG,QAAQ,CAACU,IAAI,EACbd,OAAO,EACPG,KAAK,CAET,CAAC;EAED,IAAMwB,SAAS,GAAG3C,WAAW;IAAA,IAAA4C,KAAA,GAAAV,iBAAA,CAC3B,WACEW,cAAkC,EAClCC,IAAgB,EACe;MAC/B,IAAIC,WAAW,GAAGpC,QAAQ;MAC1B,IAAIwB,YAAY,GAAG,EAAe;MAClC,IAAI3B,QAAQ,CAACqC,cAAc,CAAC,EAAE;QAC5BE,WAAW,GAAGF,cAAc;MAC9B;MACA,IAAItC,QAAQ,CAACsC,cAAc,CAAC,EAAE;QAC5BV,YAAY,GAAGU,cAAc;MAC/B,CAAC,MAAM,IAAItC,QAAQ,CAACuC,IAAI,CAAC,EAAE;QACzBX,YAAY,GAAGW,IAAI;MACrB;MAEA,IAAI5B,QAAQ,EAAE;QACZ,OAAOgB,iBAAA,CAAC,aAAY;UAClBR,SAAS,CAACU,OAAO,GAAGJ,OAAO,CAACe,WAAW,EAAEZ,YAAY,CAAC,CAACa,IAAI,CACxDC,OAAO,IAAK;YACXxB,cAAc,CAACW,OAAO,GAAG,SAAS;YAClC,OAAOa,OAAO;UAChB,CAAC,EACArB,KAAK,IAAK;YACT;YACAH,cAAc,CAACW,OAAO,GAAG,OAAO;YAChCR,KAAK,CAACQ,OAAO,GAAGR,KAAK;YACrB,OAAOA,KAAK;UACd,CACF,CAAC;UACDG,WAAW,CAAC,CAAC;UACb,aAAaL,SAAS,CAACU,OAAO;QAChC,CAAC,EAAE,CAAC;MACN;MACA,OAAOJ,OAAO,CAACe,WAAW,EAAEZ,YAAY,CAAC;IAC3C,CAAC;IAAA,iBAAAe,GAAA,EAAAC,GAAA;MAAA,OAAAP,KAAA,CAAAF,KAAA,OAAA3B,SAAA;IAAA;EAAA,KACD,CAACiB,OAAO,CACV,CAAC;EAED,IAAMoB,OAAmB,GAAGlD,OAAO,CACjC,MACEmD,MAAM,CAACC,gBAAgB,CACrB;IACEC,KAAK,EAAEZ;EACT,CAAC,EACD;IACEpB,OAAO,EAAE;MACPiC,GAAGA,CAAA,EAAY;QACb,OAAOjC,OAAO;MAChB;IACF,CAAC;IACDO,IAAI,EAAE;MACJ0B,GAAGA,CAAA,EAAsB;QACvB,OAAO1B,IAAI,CAACM,OAAO;MACrB;IACF,CAAC;IACDR,KAAK,EAAE;MACL4B,GAAGA,CAAA,EAAiC;QAClC,OAAO5B,KAAK,CAACQ,OAAO;MACtB;IACF;EACF,CACF,CAAC,EACH,CAACO,SAAS,CACZ,CAA0B;;EAE1B;EACA1C,SAAS,CAAC,MAAW;IACnB0B,OAAO,CAACS,OAAO,GAAG,IAAI;IACtB,IAAIqB,KAAK,CAACC,OAAO,CAAC7C,YAAY,CAAC,IAAIF,QAAQ,EAAE;MAC3CyC,OAAO,CAACG,KAAK,CAAC5C,QAAQ,EAAEG,WAAW,CAACgC,IAAiB,CAAC;IACxD;IACA,OAAO,MAAOnB,OAAO,CAACS,OAAO,GAAG,KAAM;EACxC,CAAC,EAAEvB,YAAY,CAAC;EAEhB,IAAIK,QAAQ,IAAIQ,SAAS,CAACU,OAAO,EAAE;IACjC,QAAQX,cAAc,CAACW,OAAO;MAC5B,KAAK,SAAS;QACZ,MAAMV,SAAS,CAACU,OAAO;MACzB;MACA,KAAK,OAAO;QACV,MAAMR,KAAK,CAACQ,OAAO;IACvB;EACF;EAEA,OAAOiB,MAAM,CAACM,MAAM,CAGlB,CAACP,OAAO,EAAEvB,QAAQ,CAACO,OAAO,EAAEb,OAAO,EAAEK,KAAK,CAACQ,OAAO,CAAC,EAAAwB,aAAA,CAAAA,aAAA;IACnDR;EAAO,GACJA,OAAO;IACVvB,QAAQ,EAAEA,QAAQ,CAACO,OAAO;IAC1BN,IAAI,EAAEA,IAAI,CAACM,OAAO;IAClBb,OAAO;IACPK,KAAK,EAAEA,KAAK,CAACQ;EAAO,EACrB,CAAC;AACJ","ignoreList":[]}
@@ -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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"}
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 +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"}
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 +1 @@
1
- {"version":3,"file":"useProviderTypes.js","names":[],"sources":["../../../src/useProvider/useProviderTypes.ts"],"sourcesContent":["import type {\n HttpFetchError,\n HttpOptions,\n HttpParseError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { fetchByProvider } from \"@next-core/runtime\";\n\nexport type UseProviderError =\n | Error\n | typeof HttpFetchError\n | typeof HttpResponseError\n | typeof HttpParseError;\nexport type OnError = (error: UseProviderError) => void;\n\nexport interface UseProviderCustomOptions<TData = any> {\n loading: boolean;\n onError: OnError;\n transform: (currData: TData, newData: TData) => any;\n suspense: boolean;\n data: TData;\n cache: boolean;\n}\n\nexport type UseProviderArgsReturn = {\n provider: string;\n customOptions: UseProviderCustomOptions;\n dependencies?: any[];\n requestInit: Partial<{\n apiParams: typeof fetchByProvider;\n args: unknown;\n options: HttpOptions;\n }>;\n};\n\nexport interface UseProviderArgsDefaults {\n provider?: string;\n customOptions?: Partial<UseProviderCustomOptions>;\n dependencies?: any[];\n}\nexport interface ReqBase<TData> {\n data: TData | undefined;\n loading: boolean;\n error: UseProviderError | undefined;\n}\n\nexport type FetchArgs = Parameters<typeof fetchByProvider> | unknown[];\n\nexport type RequestInit = Partial<Omit<HttpOptions, \"body\" | \"cache\">> & {\n args?: unknown[];\n};\n\nexport type IncomingOptions = Partial<UseProviderCustomOptions> & RequestInit;\n\nexport type UseProviderArgs = [\n (string | IncomingOptions)?,\n (IncomingOptions | any[])?,\n any[]?,\n];\n\nexport type UseProviderOptionArgsDefaults = keyof UseProviderCustomOptions &\n keyof Omit<UseProviderArgsDefaults, \"customOptions\">;\n\nexport type useProviderQueryMethod<TData> = (\n providerOrArgs: string | unknown[],\n args?: unknown[]\n) => Promise<TData>;\n\nexport type Req<TData = any> = {\n query: useProviderQueryMethod<TData>;\n} & ReqBase<TData>;\n\nexport type Res<TData = any> = TData;\n\nexport type UseProviderArrayReturn<TData> = [\n Req<TData>,\n Res<TData | undefined>,\n boolean,\n UseProviderError | undefined,\n];\n\nexport type UseProviderObjectReturn<TData> = ReqBase<TData> & {\n query: useProviderQueryMethod<TData>;\n request: Req<TData>;\n response: Res<TData | undefined>;\n};\n\nexport type UseProvider<TData> = UseProviderArrayReturn<TData> &\n UseProviderObjectReturn<TData>;\n"],"mappings":""}
1
+ {"version":3,"file":"useProviderTypes.js","names":[],"sources":["../../../src/useProvider/useProviderTypes.ts"],"sourcesContent":["import type {\n HttpFetchError,\n HttpOptions,\n HttpParseError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { fetchByProvider } from \"@next-core/runtime\";\n\nexport type UseProviderError =\n | Error\n | typeof HttpFetchError\n | typeof HttpResponseError\n | typeof HttpParseError;\nexport type OnError = (error: UseProviderError) => void;\n\nexport interface UseProviderCustomOptions<TData = any> {\n loading: boolean;\n onError: OnError;\n transform: (currData: TData, newData: TData) => any;\n suspense: boolean;\n data: TData;\n cache: boolean;\n}\n\nexport type UseProviderArgsReturn = {\n provider: string;\n customOptions: UseProviderCustomOptions;\n dependencies?: any[];\n requestInit: Partial<{\n apiParams: typeof fetchByProvider;\n args: unknown;\n options: HttpOptions;\n }>;\n};\n\nexport interface UseProviderArgsDefaults {\n provider?: string;\n customOptions?: Partial<UseProviderCustomOptions>;\n dependencies?: any[];\n}\nexport interface ReqBase<TData> {\n data: TData | undefined;\n loading: boolean;\n error: UseProviderError | undefined;\n}\n\nexport type FetchArgs = Parameters<typeof fetchByProvider> | unknown[];\n\nexport type RequestInit = Partial<Omit<HttpOptions, \"body\" | \"cache\">> & {\n args?: unknown[];\n};\n\nexport type IncomingOptions = Partial<UseProviderCustomOptions> & RequestInit;\n\nexport type UseProviderArgs = [\n (string | IncomingOptions)?,\n (IncomingOptions | any[])?,\n any[]?,\n];\n\nexport type UseProviderOptionArgsDefaults = keyof UseProviderCustomOptions &\n keyof Omit<UseProviderArgsDefaults, \"customOptions\">;\n\nexport type useProviderQueryMethod<TData> = (\n providerOrArgs: string | unknown[],\n args?: unknown[]\n) => Promise<TData>;\n\nexport type Req<TData = any> = {\n query: useProviderQueryMethod<TData>;\n} & ReqBase<TData>;\n\nexport type Res<TData = any> = TData;\n\nexport type UseProviderArrayReturn<TData> = [\n Req<TData>,\n Res<TData | undefined>,\n boolean,\n UseProviderError | undefined,\n];\n\nexport type UseProviderObjectReturn<TData> = ReqBase<TData> & {\n query: useProviderQueryMethod<TData>;\n request: Req<TData>;\n response: Res<TData | undefined>;\n};\n\nexport type UseProvider<TData> = UseProviderArrayReturn<TData> &\n UseProviderObjectReturn<TData>;\n"],"mappings":"","ignoreList":[]}
@@ -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"}
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 +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"}
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/react-runtime",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
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.22",
41
- "@next-core/runtime": "^1.38.2",
40
+ "@next-core/react-element": "^1.0.23",
41
+ "@next-core/runtime": "^1.38.3",
42
42
  "@next-core/types": "^1.9.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.13",
48
- "@next-core/test-next": "^1.0.16",
49
- "@testing-library/react": "^14.2.1",
47
+ "@next-core/build-next-libs": "^1.0.14",
48
+ "@next-core/test-next": "^1.0.17",
49
+ "@testing-library/react": "^15.0.2",
50
50
  "@testing-library/react-hooks": "^8.0.1",
51
51
  "jest-fetch-mock": "^3.0.3"
52
52
  },
53
- "gitHead": "c15fabe76f81ba7b53c1a82f45a4e3207a87ae53"
53
+ "gitHead": "f1d78a35e4b72b99008750be9741fa0ec1772916"
54
54
  }