MCPcopy Index your code
hub / github.com/BetaSu/big-react / lazyInitializer

Function lazyInitializer

packages/react/src/lazy.ts:41–72  ·  view source on GitHub ↗
(payload: Payload<T>)

Source from the content-addressed store, hash-verified

39};
40
41function lazyInitializer<T>(payload: Payload<T>): T {
42 if (payload._status === Uninitialized) {
43 const ctor = payload._result;
44 const thenable = ctor();
45 thenable.then(
46 (moduleObject) => {
47 // @ts-ignore
48 const resolved: ResolvedPayload<T> = payload;
49 resolved._status = Resolved;
50 resolved._result = moduleObject;
51 },
52 (error) => {
53 // @ts-ignore
54 const rejected: RejectedPayload = payload;
55 rejected._status = Rejected;
56 rejected._result = error;
57 }
58 );
59 if (payload._status === Uninitialized) {
60 // @ts-ignore
61 const pending: PendingPayload = payload;
62 pending._status = Pending;
63 pending._result = thenable;
64 }
65 }
66 if (payload._status === Resolved) {
67 const moduleObject = payload._result;
68 return moduleObject.default;
69 } else {
70 throw payload._result;
71 }
72}
73
74export function lazy<T>(
75 ctor: () => Thenable<{ default: T }>

Callers

nothing calls this directly

Calls 1

thenMethod · 0.65

Tested by

no test coverage detected