@next-core/react-runtime 1.7.7 → 2.0.0-beta.0
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.
- package/dist/cjs/ReactUseBrick.js +1 -1
- package/dist/cjs/ReactUseBrick.js.map +1 -1
- package/dist/cjs/useProvider/useProvider.js +3 -3
- package/dist/cjs/useProvider/useProvider.js.map +1 -1
- package/dist/esm/ReactUseBrick.js +1 -1
- package/dist/esm/ReactUseBrick.js.map +1 -1
- package/dist/esm/useProvider/useProvider.js +3 -3
- package/dist/esm/useProvider/useProvider.js.map +1 -1
- package/package.json +6 -7
|
@@ -17,7 +17,7 @@ let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
|
|
|
17
17
|
ignoredCallback
|
|
18
18
|
}) {
|
|
19
19
|
const [renderResult, setRenderResult] = (0, _react.useState)(null);
|
|
20
|
-
const mountResult = (0, _react.useRef)();
|
|
20
|
+
const mountResult = (0, _react.useRef)(undefined);
|
|
21
21
|
const [renderKey, setRenderKey] = (0, _react.useState)();
|
|
22
22
|
const IdCounterRef = (0, _react.useRef)(0);
|
|
23
23
|
const initialRenderId = (0, _react.useMemo)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","errorBoundary","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","
|
|
1
|
+
{"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","undefined","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","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 RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\nexport interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>(undefined);\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as any;\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nfunction getUniqueId(ref: RefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps {\n useBrick: UseSingleBrickConf | UseSingleBrickConf[];\n data?: unknown;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,10 +25,10 @@ function useProvider(...args) {
|
|
|
25
25
|
} = customOptions;
|
|
26
26
|
const [loading, setLoading] = (0, _react.useState)(defaults.loading);
|
|
27
27
|
const suspenseStatus = (0, _react.useRef)("pending");
|
|
28
|
-
const suspender = (0, _react.useRef)();
|
|
28
|
+
const suspender = (0, _react.useRef)(undefined);
|
|
29
29
|
const mounted = (0, _react.useRef)(false);
|
|
30
|
-
const error = (0, _react.useRef)();
|
|
31
|
-
const response = (0, _react.useRef)();
|
|
30
|
+
const error = (0, _react.useRef)(undefined);
|
|
31
|
+
const response = (0, _react.useRef)(undefined);
|
|
32
32
|
const data = (0, _react.useRef)(defaults.data);
|
|
33
33
|
const forceUpdate = (0, _react.useReducer)(() => ({}), [])[1];
|
|
34
34
|
const doFetch = (0, _react.useCallback)(async (provider, providerArgs) => {
|
|
@@ -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","
|
|
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","undefined","mounted","error","response","data","forceUpdate","useReducer","doFetch","useCallback","providerArgs","current","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>>(undefined);\n const mounted = useRef(false);\n const error = useRef<UseProviderError | undefined>(undefined);\n const response = useRef<Res<TData>>(undefined);\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,IAAAA,MAAA,GAAAC,OAAA;AAQA,IAAAC,gBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAWA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEO,SAASK,WAAWA,CACzB,GAAGC,IAAqB,EACJ;EACpB,MAAM;IAAEC,QAAQ;IAAEC,aAAa;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAC1D,IAAAC,wBAAe,EAAC,GAAGL,IAAI,CAAC;EAC1B,MAAM;IAAEM,OAAO;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,KAAK;IAAE,GAAGC;EAAS,CAAC,GAAGR,aAAa;EAE1E,MAAM,CAACS,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAACH,QAAQ,CAACC,OAAO,CAAC;EACxD,MAAMG,cAAc,GAAG,IAAAC,aAAM,EAAkC,SAAS,CAAC;EACzE,MAAMC,SAAS,GAAG,IAAAD,aAAM,EAAeE,SAAS,CAAC;EACjD,MAAMC,OAAO,GAAG,IAAAH,aAAM,EAAC,KAAK,CAAC;EAC7B,MAAMI,KAAK,GAAG,IAAAJ,aAAM,EAA+BE,SAAS,CAAC;EAC7D,MAAMG,QAAQ,GAAG,IAAAL,aAAM,EAAaE,SAAS,CAAC;EAC9C,MAAMI,IAAI,GAAG,IAAAN,aAAM,EAAoBL,QAAQ,CAACW,IAAI,CAAC;EACrD,MAAMC,WAAW,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;EAEjD,MAAMC,OAAO,GAAG,IAAAC,kBAAW,EACzB,OACExB,QAAgB,EAChByB,YAAuB,KACQ;IAC/B,IAAI;MACFP,KAAK,CAACQ,OAAO,GAAGV,SAAS;MACzB,IAAI,CAACT,QAAQ,EAAEI,UAAU,CAAC,IAAI,CAAC;MAC/B,MAAMgB,MAAM,GAAI,MAAM,IAAAC,cAAK,EAAC5B,QAAQ,EAAEQ,KAAK,EAAEiB,YAAY,CAAW;MACpEN,QAAQ,CAACO,OAAO,GAAGC,MAAM;MACzBP,IAAI,CAACM,OAAO,GAAGpB,SAAS,CAACc,IAAI,CAACM,OAAO,EAAEC,MAAM,CAAC;IAChD,CAAC,CAAC,OAAOE,CAAC,EAAE;MACVX,KAAK,CAACQ,OAAO,GAAGG,CAAqB;MACrCT,IAAI,CAACM,OAAO,GAAGV,SAAS;IAC1B;IACA,IAAI,CAACT,QAAQ,EAAEI,UAAU,CAAC,KAAK,CAAC;IAChC,IAAIO,KAAK,CAACQ,OAAO,EAAErB,OAAO,CAACa,KAAK,CAACQ,OAAO,CAAC;IACzC,OAAON,IAAI,CAACM,OAAO;EACrB,CAAC,EACD,CACE1B,QAAQ,EACRC,aAAa,EACbC,YAAY,EACZC,WAAW,EACXI,QAAQ,EACRD,SAAS,EACTG,QAAQ,CAACW,IAAI,EACbf,OAAO,EACPG,KAAK,CAET,CAAC;EAED,MAAMsB,SAAS,GAAG,IAAAN,kBAAW,EAC3B,OACEO,cAAkC,EAClChC,IAAgB,KACe;IAC/B,IAAIiC,WAAW,GAAGhC,QAAQ;IAC1B,IAAIyB,YAAY,GAAG,EAAe;IAClC,IAAI,IAAAQ,gBAAQ,EAACF,cAAc,CAAC,EAAE;MAC5BC,WAAW,GAAGD,cAAc;IAC9B;IACA,IAAI,IAAAG,gBAAQ,EAACH,cAAc,CAAC,EAAE;MAC5BN,YAAY,GAAGM,cAAc;IAC/B,CAAC,MAAM,IAAI,IAAAG,gBAAQ,EAACnC,IAAI,CAAC,EAAE;MACzB0B,YAAY,GAAG1B,IAAI;IACrB;IAEA,IAAIQ,QAAQ,EAAE;MACZ,OAAO,CAAC,YAAY;QAClBQ,SAAS,CAACW,OAAO,GAAGH,OAAO,CAACS,WAAW,EAAEP,YAAY,CAAC,CAACU,IAAI,CACxDC,OAAO,IAAK;UACXvB,cAAc,CAACa,OAAO,GAAG,SAAS;UAClC,OAAOU,OAAO;QAChB,CAAC,EACAlB,KAAK,IAAK;UACT;UACAL,cAAc,CAACa,OAAO,GAAG,OAAO;UAChCR,KAAK,CAACQ,OAAO,GAAGR,KAAK;UACrB,OAAOA,KAAK;QACd,CACF,CAAC;QACDG,WAAW,CAAC,CAAC;QACb,OAAO,MAAMN,SAAS,CAACW,OAAO;MAChC,CAAC,EAAE,CAAC;IACN;IACA,OAAOH,OAAO,CAACS,WAAW,EAAEP,YAAY,CAAC;EAC3C,CAAC,EACD,CAACF,OAAO,CACV,CAAC;EAED,MAAMc,OAAmB,GAAG,IAAAC,cAAO,EACjC,MACEC,MAAM,CAACC,gBAAgB,CACrB;IACEC,KAAK,EAAEX;EACT,CAAC,EACD;IACEpB,OAAO,EAAE;MACPgC,GAAGA,CAAA,EAAY;QACb,OAAOhC,OAAO;MAChB;IACF,CAAC;IACDU,IAAI,EAAE;MACJsB,GAAGA,CAAA,EAAsB;QACvB,OAAOtB,IAAI,CAACM,OAAO;MACrB;IACF,CAAC;IACDR,KAAK,EAAE;MACLwB,GAAGA,CAAA,EAAiC;QAClC,OAAOxB,KAAK,CAACQ,OAAO;MACtB;IACF;EACF,CACF,CAAC,EACH,CAACI,SAAS,CACZ,CAA0B;;EAE1B;EACA,IAAAa,gBAAS,EAAC,MAAW;IACnB1B,OAAO,CAACS,OAAO,GAAG,IAAI;IACtB,IAAIkB,KAAK,CAACC,OAAO,CAAC3C,YAAY,CAAC,IAAIF,QAAQ,EAAE;MAC3CqC,OAAO,CAACI,KAAK,CAACzC,QAAQ,EAAEG,WAAW,CAACJ,IAAiB,CAAC;IACxD;IACA,OAAO,MAAOkB,OAAO,CAACS,OAAO,GAAG,KAAM;EACxC,CAAC,EAAExB,YAAY,CAAC;EAEhB,IAAIK,QAAQ,IAAIQ,SAAS,CAACW,OAAO,EAAE;IACjC,QAAQb,cAAc,CAACa,OAAO;MAC5B,KAAK,SAAS;QACZ,MAAMX,SAAS,CAACW,OAAO;MACzB;MACA,KAAK,OAAO;QACV,MAAMR,KAAK,CAACQ,OAAO;IACvB;EACF;EAEA,OAAOa,MAAM,CAACO,MAAM,CAGlB,CAACT,OAAO,EAAElB,QAAQ,CAACO,OAAO,EAAEhB,OAAO,EAAEQ,KAAK,CAACQ,OAAO,CAAC,EAAE;IACrDW,OAAO;IACP,GAAGA,OAAO;IACVlB,QAAQ,EAAEA,QAAQ,CAACO,OAAO;IAC1BN,IAAI,EAAEA,IAAI,CAACM,OAAO;IAClBhB,OAAO;IACPQ,KAAK,EAAEA,KAAK,CAACQ;EACf,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ let ReactUseBrick = function ReactUseBrick(_ref) {
|
|
|
11
11
|
ignoredCallback
|
|
12
12
|
} = _ref;
|
|
13
13
|
const [renderResult, setRenderResult] = useState(null);
|
|
14
|
-
const mountResult = useRef();
|
|
14
|
+
const mountResult = useRef(undefined);
|
|
15
15
|
const [renderKey, setRenderKey] = useState();
|
|
16
16
|
const IdCounterRef = useRef(0);
|
|
17
17
|
const initialRenderId = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","_refCallback","element","current","mountUseBrick","unmountUseBrick","
|
|
1
|
+
{"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","undefined","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","_refCallback","element","current","mountUseBrick","unmountUseBrick","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 RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\nexport interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>(undefined);\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as any;\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nfunction getUniqueId(ref: RefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps {\n useBrick: UseSingleBrickConf | UseSingleBrickConf[];\n data?: unknown;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,10 +18,10 @@ export function useProvider() {
|
|
|
18
18
|
} = customOptions;
|
|
19
19
|
const [loading, setLoading] = useState(defaults.loading);
|
|
20
20
|
const suspenseStatus = useRef("pending");
|
|
21
|
-
const suspender = useRef();
|
|
21
|
+
const suspender = useRef(undefined);
|
|
22
22
|
const mounted = useRef(false);
|
|
23
|
-
const error = useRef();
|
|
24
|
-
const response = useRef();
|
|
23
|
+
const error = useRef(undefined);
|
|
24
|
+
const response = useRef(undefined);
|
|
25
25
|
const data = useRef(defaults.data);
|
|
26
26
|
const forceUpdate = useReducer(() => ({}), [])[1];
|
|
27
27
|
const doFetch = useCallback(async (provider, providerArgs) => {
|
|
@@ -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","loading","setLoading","suspenseStatus","suspender","mounted","error","response","data","forceUpdate","doFetch","providerArgs","current","
|
|
1
|
+
{"version":3,"file":"useProvider.js","names":["useCallback","useEffect","useMemo","useReducer","useRef","useState","useProviderArgs","isObject","isString","fetch","useProvider","provider","customOptions","dependencies","requestInit","arguments","onError","transform","suspense","cache","defaults","loading","setLoading","suspenseStatus","suspender","undefined","mounted","error","response","data","forceUpdate","doFetch","providerArgs","current","newRes","e","makeFetch","providerOrBody","args","providerStr","then","newData","request","Object","defineProperties","query","get","Array","isArray","assign"],"sources":["../../../src/useProvider/useProvider.ts"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport type {\n UseProviderArgs,\n FetchArgs,\n UseProviderError,\n UseProviderObjectReturn,\n Req,\n Res,\n UseProviderArrayReturn,\n UseProvider,\n} from \"./useProviderTypes.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\n\nexport function useProvider<TData = any>(\n ...args: UseProviderArgs\n): UseProvider<TData> {\n const { provider, customOptions, dependencies, requestInit } =\n useProviderArgs(...args);\n const { onError, transform, suspense, cache, ...defaults } = customOptions;\n\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef<\"pending\" | \"error\" | \"success\">(\"pending\");\n const suspender = useRef<Promise<any>>(undefined);\n const mounted = useRef(false);\n const error = useRef<UseProviderError | undefined>(undefined);\n const response = useRef<Res<TData>>(undefined);\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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/react-runtime",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.0",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/react-runtime",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -38,18 +38,17 @@
|
|
|
38
38
|
"test:ci": "cross-env NODE_ENV='test' CI=true test-next"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@next-core/react-element": "^
|
|
42
|
-
"@next-core/runtime": "^1.59.0",
|
|
41
|
+
"@next-core/react-element": "^2.0.0-beta.0",
|
|
42
|
+
"@next-core/runtime": "^1.59.1-beta.0",
|
|
43
43
|
"@next-core/types": "^1.14.0",
|
|
44
|
-
"react": "
|
|
45
|
-
"react-dom": "
|
|
44
|
+
"react": "^19.0.0",
|
|
45
|
+
"react-dom": "^19.0.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@next-core/build-next-libs": "^1.0.22",
|
|
49
49
|
"@next-core/test-next": "^1.1.7",
|
|
50
50
|
"@testing-library/react": "^16.0.1",
|
|
51
|
-
"@testing-library/react-hooks": "^8.0.1",
|
|
52
51
|
"jest-fetch-mock": "^3.0.3"
|
|
53
52
|
},
|
|
54
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "de3e159487d7409a8496f1a66c358fdcf3bf9881"
|
|
55
54
|
}
|