react-loosely-lazy 1.0.0 → 1.2.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/index.js +21 -1
- package/dist/cjs/lazy/components/client.js +74 -50
- package/dist/cjs/lazy/components/types.js +2 -0
- package/dist/cjs/lazy/components/utils.js +32 -0
- package/dist/cjs/lazy/deferred.js +12 -8
- package/dist/cjs/lazy/index.js +16 -12
- package/dist/cjs/lazy/placeholders/render.js +5 -3
- package/dist/cjs/lazy/preload/index.js +6 -1
- package/dist/cjs/lazy/preload/utils.js +26 -1
- package/dist/cjs/lazy-wait/context.js +5 -7
- package/dist/cjs/lazy-wait/index.js +7 -7
- package/dist/cjs/lazy-wait/main.js +11 -14
- package/dist/cjs/phase/context.js +2 -2
- package/dist/cjs/phase/index.js +1 -9
- package/dist/cjs/profiler/index.js +16 -0
- package/dist/cjs/suspense/context.js +2 -3
- package/dist/cjs/utils/index.js +2 -10
- package/dist/esm/index.js +3 -2
- package/dist/esm/lazy/components/client.js +72 -51
- package/dist/esm/lazy/components/types.js +2 -0
- package/dist/esm/lazy/components/utils.js +24 -0
- package/dist/esm/lazy/deferred.js +24 -10
- package/dist/esm/lazy/index.js +19 -15
- package/dist/esm/lazy/placeholders/render.js +5 -3
- package/dist/esm/lazy/preload/index.js +5 -1
- package/dist/esm/lazy/preload/utils.js +25 -1
- package/dist/esm/lazy-wait/context.js +3 -5
- package/dist/esm/lazy-wait/index.js +2 -2
- package/dist/esm/lazy-wait/main.js +12 -15
- package/dist/esm/phase/context.js +2 -2
- package/dist/esm/phase/index.js +1 -2
- package/dist/esm/profiler/index.js +6 -0
- package/dist/esm/suspense/context.js +2 -3
- package/dist/esm/utils/index.js +2 -10
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lazy/components/client.d.ts +2 -3
- package/dist/types/lazy/components/client.d.ts.map +1 -1
- package/dist/types/lazy/components/types.d.ts +7 -0
- package/dist/types/lazy/components/types.d.ts.map +1 -0
- package/dist/types/lazy/components/utils.d.ts +10 -0
- package/dist/types/lazy/components/utils.d.ts.map +1 -0
- package/dist/types/lazy/deferred.d.ts +6 -2
- package/dist/types/lazy/deferred.d.ts.map +1 -1
- package/dist/types/lazy/index.d.ts.map +1 -1
- package/dist/types/lazy/placeholders/render.d.ts.map +1 -1
- package/dist/types/lazy/preload/index.d.ts.map +1 -1
- package/dist/types/lazy/preload/utils.d.ts.map +1 -1
- package/dist/types/lazy/types.d.ts +4 -0
- package/dist/types/lazy/types.d.ts.map +1 -1
- package/dist/types/lazy-wait/context.d.ts +3 -8
- package/dist/types/lazy-wait/context.d.ts.map +1 -1
- package/dist/types/lazy-wait/index.d.ts +1 -1
- package/dist/types/lazy-wait/index.d.ts.map +1 -1
- package/dist/types/lazy-wait/main.d.ts.map +1 -1
- package/dist/types/phase/context.d.ts +5 -5
- package/dist/types/phase/context.d.ts.map +1 -1
- package/dist/types/phase/index.d.ts +0 -1
- package/dist/types/phase/index.d.ts.map +1 -1
- package/dist/types/profiler/index.d.ts +17 -0
- package/dist/types/profiler/index.d.ts.map +1 -0
- package/dist/types/suspense/context.d.ts +1 -1
- package/dist/types/suspense/context.d.ts.map +1 -1
- package/dist/types/suspense/types.d.ts +2 -1
- package/dist/types/suspense/types.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/lazy-wait/utils.js +0 -25
- package/dist/cjs/phase/controller.js +0 -28
- package/dist/esm/lazy-wait/utils.js +0 -14
- package/dist/esm/phase/controller.js +0 -17
- package/dist/types/lazy-wait/utils.d.ts +0 -2
- package/dist/types/lazy-wait/utils.d.ts.map +0 -1
- package/dist/types/phase/controller.d.ts +0 -2
- package/dist/types/phase/controller.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lazy-wait/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lazy-wait/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/lazy-wait/main.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/lazy-wait/main.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,oBAAY,aAAa,GAAG;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,QAAQ,wBAAyB,aAAa,gBA8B1D,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type {
|
|
2
|
+
import type { SubscriptionContextValue } from '../lazy/types';
|
|
3
3
|
export declare const setCurrent: (phase: number) => void;
|
|
4
|
-
|
|
5
|
-
subscribe: (listener: Listener) => () => void;
|
|
6
|
-
currentPhase: () => number;
|
|
4
|
+
interface LazyPhaseContextApi extends SubscriptionContextValue {
|
|
7
5
|
api: {
|
|
8
6
|
startNextPhase: () => void;
|
|
9
7
|
resetPhase: () => void;
|
|
10
8
|
};
|
|
11
|
-
}
|
|
9
|
+
}
|
|
10
|
+
export declare const LazyPhaseContext: import("react").Context<LazyPhaseContextApi>;
|
|
12
11
|
export declare const useLazyPhase: () => {
|
|
13
12
|
startNextPhase: () => void;
|
|
14
13
|
resetPhase: () => void;
|
|
15
14
|
};
|
|
15
|
+
export {};
|
|
16
16
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/phase/context.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/phase/context.tsx"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAQ9D,eAAO,MAAM,UAAU,UAAW,MAAM,SAGvC,CAAC;AAEF,UAAU,mBAAoB,SAAQ,wBAAwB;IAC5D,GAAG,EAAE;QACH,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,8CAS3B,CAAC;AAEH,eAAO,MAAM,YAAY;oBAhBL,MAAM,IAAI;gBACd,MAAM,IAAI;CAmBzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/phase/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/phase/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { PreloadPriority } from '../lazy/types';
|
|
3
|
+
export declare type EventInfo = {
|
|
4
|
+
identifier: string;
|
|
5
|
+
};
|
|
6
|
+
declare type Profiler = {
|
|
7
|
+
onPreload(moduleId: string, priority?: PreloadPriority): void;
|
|
8
|
+
onLoadStart(info: EventInfo): void;
|
|
9
|
+
onLoadComplete(info: EventInfo): void;
|
|
10
|
+
};
|
|
11
|
+
export declare type ProfilerContextType = {
|
|
12
|
+
current: Profiler | null;
|
|
13
|
+
};
|
|
14
|
+
export declare const GlobalReactLooselyLazyProfiler: ProfilerContextType;
|
|
15
|
+
export declare const ProfilerContext: import("react").Context<ProfilerContextType>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiler/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,oBAAY,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,aAAK,QAAQ,GAAG;IACd,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9D,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,mBAE5C,CAAC;AAEF,eAAO,MAAM,eAAe,8CAE3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/suspense/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/suspense/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,mBAAmB,wCAK9B,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { SuspenseProps } from 'react';
|
|
1
|
+
import type { SuspenseProps } from 'react';
|
|
2
2
|
export declare type Fallback = SuspenseProps['fallback'];
|
|
3
3
|
export declare type LazySuspenseContextType = {
|
|
4
4
|
fallback: Fallback;
|
|
5
5
|
setFallback(fallback: Fallback): void;
|
|
6
6
|
};
|
|
7
7
|
export declare type LazySuspenseProps = {
|
|
8
|
+
children?: SuspenseProps['children'];
|
|
8
9
|
fallback: Fallback;
|
|
9
10
|
};
|
|
10
11
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/suspense/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/suspense/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,oBAAY,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAEjD,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEzC,eAAO,MAAM,SAAS,MAAO,GAAG,QAAqC,CAAC;AAEtE,eAAO,MAAM,iBAAiB,OAAQ,MAAM,WAI3C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEzC,eAAO,MAAM,SAAS,MAAO,GAAG,QAAqC,CAAC;AAEtE,eAAO,MAAM,iBAAiB,OAAQ,MAAM,WAI3C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,eAE7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,IAAI;;EAgBpE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-loosely-lazy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Suspense enable and SSR compatible async components with priorities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"react-dom": "^16.14.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@react-loosely-lazy/manifest": "1.
|
|
35
|
+
"@react-loosely-lazy/manifest": "1.2.0",
|
|
36
36
|
"react": "^16.9.0 || ^17.0.0-0"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useUntil = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
|
|
10
|
-
var _context = require("./context");
|
|
11
|
-
|
|
12
|
-
const useUntil = () => {
|
|
13
|
-
const {
|
|
14
|
-
subscribe,
|
|
15
|
-
value
|
|
16
|
-
} = (0, _react.useContext)(_context.UntilContext);
|
|
17
|
-
const [until, setUntil] = (0, _react.useState)(value.current);
|
|
18
|
-
(0, _react.useEffect)(() => subscribe(nextUntil => {
|
|
19
|
-
setUntil(nextUntil);
|
|
20
|
-
}), [subscribe]);
|
|
21
|
-
return until;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
exports.useUntil = useUntil;
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXp5LXdhaXQvdXRpbHMudHN4Il0sIm5hbWVzIjpbInVzZVVudGlsIiwic3Vic2NyaWJlIiwidmFsdWUiLCJVbnRpbENvbnRleHQiLCJ1bnRpbCIsInNldFVudGlsIiwiY3VycmVudCIsIm5leHRVbnRpbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUVPLE1BQU1BLFFBQVEsR0FBRyxNQUFNO0FBQzVCLFFBQU07QUFBRUMsSUFBQUEsU0FBRjtBQUFhQyxJQUFBQTtBQUFiLE1BQXVCLHVCQUFXQyxxQkFBWCxDQUE3QjtBQUNBLFFBQU0sQ0FBQ0MsS0FBRCxFQUFRQyxRQUFSLElBQW9CLHFCQUFTSCxLQUFLLENBQUNJLE9BQWYsQ0FBMUI7QUFFQSx3QkFDRSxNQUNFTCxTQUFTLENBQUNNLFNBQVMsSUFBSTtBQUNyQkYsSUFBQUEsUUFBUSxDQUFDRSxTQUFELENBQVI7QUFDRCxHQUZRLENBRmIsRUFLRSxDQUFDTixTQUFELENBTEY7QUFRQSxTQUFPRyxLQUFQO0FBQ0QsQ0FiTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFVudGlsQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCB1c2VVbnRpbCA9ICgpID0+IHtcbiAgY29uc3QgeyBzdWJzY3JpYmUsIHZhbHVlIH0gPSB1c2VDb250ZXh0KFVudGlsQ29udGV4dCk7XG4gIGNvbnN0IFt1bnRpbCwgc2V0VW50aWxdID0gdXNlU3RhdGUodmFsdWUuY3VycmVudCk7XG5cbiAgdXNlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICBzdWJzY3JpYmUobmV4dFVudGlsID0+IHtcbiAgICAgICAgc2V0VW50aWwobmV4dFVudGlsKTtcbiAgICAgIH0pLFxuICAgIFtzdWJzY3JpYmVdXG4gICk7XG5cbiAgcmV0dXJuIHVudGlsO1xufTtcbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.usePhaseSubscription = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
|
|
10
|
-
var _context = require("./context");
|
|
11
|
-
|
|
12
|
-
const usePhaseSubscription = (targetPhase = -1) => {
|
|
13
|
-
const {
|
|
14
|
-
subscribe,
|
|
15
|
-
currentPhase
|
|
16
|
-
} = (0, _react.useContext)(_context.LazyPhaseContext);
|
|
17
|
-
const [run, setRun] = (0, _react.useState)(() => currentPhase() >= targetPhase); // subscribe with memo instead of effect to retain tree order
|
|
18
|
-
|
|
19
|
-
const unsubscribe = (0, _react.useMemo)(() => subscribe(v => setRun(v >= targetPhase)), [subscribe, setRun, targetPhase]); // subscription is done on first render, here just unsubscribe
|
|
20
|
-
|
|
21
|
-
(0, _react.useEffect)(() => {
|
|
22
|
-
return unsubscribe;
|
|
23
|
-
}, [unsubscribe]);
|
|
24
|
-
return run;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
exports.usePhaseSubscription = usePhaseSubscription;
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9waGFzZS9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbInVzZVBoYXNlU3Vic2NyaXB0aW9uIiwidGFyZ2V0UGhhc2UiLCJzdWJzY3JpYmUiLCJjdXJyZW50UGhhc2UiLCJMYXp5UGhhc2VDb250ZXh0IiwicnVuIiwic2V0UnVuIiwidW5zdWJzY3JpYmUiLCJ2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBRU8sTUFBTUEsb0JBQW9CLEdBQUcsQ0FBQ0MsV0FBVyxHQUFHLENBQUMsQ0FBaEIsS0FBc0I7QUFDeEQsUUFBTTtBQUFFQyxJQUFBQSxTQUFGO0FBQWFDLElBQUFBO0FBQWIsTUFBOEIsdUJBQVdDLHlCQUFYLENBQXBDO0FBQ0EsUUFBTSxDQUFDQyxHQUFELEVBQU1DLE1BQU4sSUFBZ0IscUJBQVMsTUFBTUgsWUFBWSxNQUFNRixXQUFqQyxDQUF0QixDQUZ3RCxDQUl4RDs7QUFDQSxRQUFNTSxXQUFXLEdBQUcsb0JBQ2xCLE1BQU1MLFNBQVMsQ0FBRU0sQ0FBRCxJQUFlRixNQUFNLENBQUNFLENBQUMsSUFBSVAsV0FBTixDQUF0QixDQURHLEVBRWxCLENBQUNDLFNBQUQsRUFBWUksTUFBWixFQUFvQkwsV0FBcEIsQ0FGa0IsQ0FBcEIsQ0FMd0QsQ0FTeEQ7O0FBQ0Esd0JBQVUsTUFBTTtBQUNkLFdBQU9NLFdBQVA7QUFDRCxHQUZELEVBRUcsQ0FBQ0EsV0FBRCxDQUZIO0FBSUEsU0FBT0YsR0FBUDtBQUNELENBZk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMYXp5UGhhc2VDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IHVzZVBoYXNlU3Vic2NyaXB0aW9uID0gKHRhcmdldFBoYXNlID0gLTEpID0+IHtcbiAgY29uc3QgeyBzdWJzY3JpYmUsIGN1cnJlbnRQaGFzZSB9ID0gdXNlQ29udGV4dChMYXp5UGhhc2VDb250ZXh0KTtcbiAgY29uc3QgW3J1biwgc2V0UnVuXSA9IHVzZVN0YXRlKCgpID0+IGN1cnJlbnRQaGFzZSgpID49IHRhcmdldFBoYXNlKTtcblxuICAvLyBzdWJzY3JpYmUgd2l0aCBtZW1vIGluc3RlYWQgb2YgZWZmZWN0IHRvIHJldGFpbiB0cmVlIG9yZGVyXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBzdWJzY3JpYmUoKHY6IG51bWJlcikgPT4gc2V0UnVuKHYgPj0gdGFyZ2V0UGhhc2UpKSxcbiAgICBbc3Vic2NyaWJlLCBzZXRSdW4sIHRhcmdldFBoYXNlXVxuICApO1xuICAvLyBzdWJzY3JpcHRpb24gaXMgZG9uZSBvbiBmaXJzdCByZW5kZXIsIGhlcmUganVzdCB1bnN1YnNjcmliZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgfSwgW3Vuc3Vic2NyaWJlXSk7XG5cbiAgcmV0dXJuIHJ1bjtcbn07XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useContext, useEffect, useState } from 'react';
|
|
2
|
-
import { UntilContext } from './context';
|
|
3
|
-
export const useUntil = () => {
|
|
4
|
-
const {
|
|
5
|
-
subscribe,
|
|
6
|
-
value
|
|
7
|
-
} = useContext(UntilContext);
|
|
8
|
-
const [until, setUntil] = useState(value.current);
|
|
9
|
-
useEffect(() => subscribe(nextUntil => {
|
|
10
|
-
setUntil(nextUntil);
|
|
11
|
-
}), [subscribe]);
|
|
12
|
-
return until;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXp5LXdhaXQvdXRpbHMudHN4Il0sIm5hbWVzIjpbInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlVudGlsQ29udGV4dCIsInVzZVVudGlsIiwic3Vic2NyaWJlIiwidmFsdWUiLCJ1bnRpbCIsInNldFVudGlsIiwiY3VycmVudCIsIm5leHRVbnRpbCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVCxFQUFxQkMsU0FBckIsRUFBZ0NDLFFBQWhDLFFBQWdELE9BQWhEO0FBRUEsU0FBU0MsWUFBVCxRQUE2QixXQUE3QjtBQUVBLE9BQU8sTUFBTUMsUUFBUSxHQUFHLE1BQU07QUFDNUIsUUFBTTtBQUFFQyxJQUFBQSxTQUFGO0FBQWFDLElBQUFBO0FBQWIsTUFBdUJOLFVBQVUsQ0FBQ0csWUFBRCxDQUF2QztBQUNBLFFBQU0sQ0FBQ0ksS0FBRCxFQUFRQyxRQUFSLElBQW9CTixRQUFRLENBQUNJLEtBQUssQ0FBQ0csT0FBUCxDQUFsQztBQUVBUixFQUFBQSxTQUFTLENBQ1AsTUFDRUksU0FBUyxDQUFDSyxTQUFTLElBQUk7QUFDckJGLElBQUFBLFFBQVEsQ0FBQ0UsU0FBRCxDQUFSO0FBQ0QsR0FGUSxDQUZKLEVBS1AsQ0FBQ0wsU0FBRCxDQUxPLENBQVQ7QUFRQSxTQUFPRSxLQUFQO0FBQ0QsQ0FiTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFVudGlsQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCB1c2VVbnRpbCA9ICgpID0+IHtcbiAgY29uc3QgeyBzdWJzY3JpYmUsIHZhbHVlIH0gPSB1c2VDb250ZXh0KFVudGlsQ29udGV4dCk7XG4gIGNvbnN0IFt1bnRpbCwgc2V0VW50aWxdID0gdXNlU3RhdGUodmFsdWUuY3VycmVudCk7XG5cbiAgdXNlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICBzdWJzY3JpYmUobmV4dFVudGlsID0+IHtcbiAgICAgICAgc2V0VW50aWwobmV4dFVudGlsKTtcbiAgICAgIH0pLFxuICAgIFtzdWJzY3JpYmVdXG4gICk7XG5cbiAgcmV0dXJuIHVudGlsO1xufTtcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { useContext, useMemo, useState, useEffect } from 'react';
|
|
2
|
-
import { LazyPhaseContext } from './context';
|
|
3
|
-
export const usePhaseSubscription = (targetPhase = -1) => {
|
|
4
|
-
const {
|
|
5
|
-
subscribe,
|
|
6
|
-
currentPhase
|
|
7
|
-
} = useContext(LazyPhaseContext);
|
|
8
|
-
const [run, setRun] = useState(() => currentPhase() >= targetPhase); // subscribe with memo instead of effect to retain tree order
|
|
9
|
-
|
|
10
|
-
const unsubscribe = useMemo(() => subscribe(v => setRun(v >= targetPhase)), [subscribe, setRun, targetPhase]); // subscription is done on first render, here just unsubscribe
|
|
11
|
-
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
return unsubscribe;
|
|
14
|
-
}, [unsubscribe]);
|
|
15
|
-
return run;
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9waGFzZS9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbInVzZUNvbnRleHQiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJMYXp5UGhhc2VDb250ZXh0IiwidXNlUGhhc2VTdWJzY3JpcHRpb24iLCJ0YXJnZXRQaGFzZSIsInN1YnNjcmliZSIsImN1cnJlbnRQaGFzZSIsInJ1biIsInNldFJ1biIsInVuc3Vic2NyaWJlIiwidiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVCxFQUFxQkMsT0FBckIsRUFBOEJDLFFBQTlCLEVBQXdDQyxTQUF4QyxRQUF5RCxPQUF6RDtBQUVBLFNBQVNDLGdCQUFULFFBQWlDLFdBQWpDO0FBRUEsT0FBTyxNQUFNQyxvQkFBb0IsR0FBRyxDQUFDQyxXQUFXLEdBQUcsQ0FBQyxDQUFoQixLQUFzQjtBQUN4RCxRQUFNO0FBQUVDLElBQUFBLFNBQUY7QUFBYUMsSUFBQUE7QUFBYixNQUE4QlIsVUFBVSxDQUFDSSxnQkFBRCxDQUE5QztBQUNBLFFBQU0sQ0FBQ0ssR0FBRCxFQUFNQyxNQUFOLElBQWdCUixRQUFRLENBQUMsTUFBTU0sWUFBWSxNQUFNRixXQUF6QixDQUE5QixDQUZ3RCxDQUl4RDs7QUFDQSxRQUFNSyxXQUFXLEdBQUdWLE9BQU8sQ0FDekIsTUFBTU0sU0FBUyxDQUFFSyxDQUFELElBQWVGLE1BQU0sQ0FBQ0UsQ0FBQyxJQUFJTixXQUFOLENBQXRCLENBRFUsRUFFekIsQ0FBQ0MsU0FBRCxFQUFZRyxNQUFaLEVBQW9CSixXQUFwQixDQUZ5QixDQUEzQixDQUx3RCxDQVN4RDs7QUFDQUgsRUFBQUEsU0FBUyxDQUFDLE1BQU07QUFDZCxXQUFPUSxXQUFQO0FBQ0QsR0FGUSxFQUVOLENBQUNBLFdBQUQsQ0FGTSxDQUFUO0FBSUEsU0FBT0YsR0FBUDtBQUNELENBZk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMYXp5UGhhc2VDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IHVzZVBoYXNlU3Vic2NyaXB0aW9uID0gKHRhcmdldFBoYXNlID0gLTEpID0+IHtcbiAgY29uc3QgeyBzdWJzY3JpYmUsIGN1cnJlbnRQaGFzZSB9ID0gdXNlQ29udGV4dChMYXp5UGhhc2VDb250ZXh0KTtcbiAgY29uc3QgW3J1biwgc2V0UnVuXSA9IHVzZVN0YXRlKCgpID0+IGN1cnJlbnRQaGFzZSgpID49IHRhcmdldFBoYXNlKTtcblxuICAvLyBzdWJzY3JpYmUgd2l0aCBtZW1vIGluc3RlYWQgb2YgZWZmZWN0IHRvIHJldGFpbiB0cmVlIG9yZGVyXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBzdWJzY3JpYmUoKHY6IG51bWJlcikgPT4gc2V0UnVuKHYgPj0gdGFyZ2V0UGhhc2UpKSxcbiAgICBbc3Vic2NyaWJlLCBzZXRSdW4sIHRhcmdldFBoYXNlXVxuICApO1xuICAvLyBzdWJzY3JpcHRpb24gaXMgZG9uZSBvbiBmaXJzdCByZW5kZXIsIGhlcmUganVzdCB1bnN1YnNjcmliZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgfSwgW3Vuc3Vic2NyaWJlXSk7XG5cbiAgcmV0dXJuIHJ1bjtcbn07XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lazy-wait/utils.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,eAapB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/phase/controller.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,mCAehC,CAAC"}
|