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.
Files changed (75) hide show
  1. package/dist/cjs/index.js +21 -1
  2. package/dist/cjs/lazy/components/client.js +74 -50
  3. package/dist/cjs/lazy/components/types.js +2 -0
  4. package/dist/cjs/lazy/components/utils.js +32 -0
  5. package/dist/cjs/lazy/deferred.js +12 -8
  6. package/dist/cjs/lazy/index.js +16 -12
  7. package/dist/cjs/lazy/placeholders/render.js +5 -3
  8. package/dist/cjs/lazy/preload/index.js +6 -1
  9. package/dist/cjs/lazy/preload/utils.js +26 -1
  10. package/dist/cjs/lazy-wait/context.js +5 -7
  11. package/dist/cjs/lazy-wait/index.js +7 -7
  12. package/dist/cjs/lazy-wait/main.js +11 -14
  13. package/dist/cjs/phase/context.js +2 -2
  14. package/dist/cjs/phase/index.js +1 -9
  15. package/dist/cjs/profiler/index.js +16 -0
  16. package/dist/cjs/suspense/context.js +2 -3
  17. package/dist/cjs/utils/index.js +2 -10
  18. package/dist/esm/index.js +3 -2
  19. package/dist/esm/lazy/components/client.js +72 -51
  20. package/dist/esm/lazy/components/types.js +2 -0
  21. package/dist/esm/lazy/components/utils.js +24 -0
  22. package/dist/esm/lazy/deferred.js +24 -10
  23. package/dist/esm/lazy/index.js +19 -15
  24. package/dist/esm/lazy/placeholders/render.js +5 -3
  25. package/dist/esm/lazy/preload/index.js +5 -1
  26. package/dist/esm/lazy/preload/utils.js +25 -1
  27. package/dist/esm/lazy-wait/context.js +3 -5
  28. package/dist/esm/lazy-wait/index.js +2 -2
  29. package/dist/esm/lazy-wait/main.js +12 -15
  30. package/dist/esm/phase/context.js +2 -2
  31. package/dist/esm/phase/index.js +1 -2
  32. package/dist/esm/profiler/index.js +6 -0
  33. package/dist/esm/suspense/context.js +2 -3
  34. package/dist/esm/utils/index.js +2 -10
  35. package/dist/types/index.d.ts +3 -1
  36. package/dist/types/index.d.ts.map +1 -1
  37. package/dist/types/lazy/components/client.d.ts +2 -3
  38. package/dist/types/lazy/components/client.d.ts.map +1 -1
  39. package/dist/types/lazy/components/types.d.ts +7 -0
  40. package/dist/types/lazy/components/types.d.ts.map +1 -0
  41. package/dist/types/lazy/components/utils.d.ts +10 -0
  42. package/dist/types/lazy/components/utils.d.ts.map +1 -0
  43. package/dist/types/lazy/deferred.d.ts +6 -2
  44. package/dist/types/lazy/deferred.d.ts.map +1 -1
  45. package/dist/types/lazy/index.d.ts.map +1 -1
  46. package/dist/types/lazy/placeholders/render.d.ts.map +1 -1
  47. package/dist/types/lazy/preload/index.d.ts.map +1 -1
  48. package/dist/types/lazy/preload/utils.d.ts.map +1 -1
  49. package/dist/types/lazy/types.d.ts +4 -0
  50. package/dist/types/lazy/types.d.ts.map +1 -1
  51. package/dist/types/lazy-wait/context.d.ts +3 -8
  52. package/dist/types/lazy-wait/context.d.ts.map +1 -1
  53. package/dist/types/lazy-wait/index.d.ts +1 -1
  54. package/dist/types/lazy-wait/index.d.ts.map +1 -1
  55. package/dist/types/lazy-wait/main.d.ts.map +1 -1
  56. package/dist/types/phase/context.d.ts +5 -5
  57. package/dist/types/phase/context.d.ts.map +1 -1
  58. package/dist/types/phase/index.d.ts +0 -1
  59. package/dist/types/phase/index.d.ts.map +1 -1
  60. package/dist/types/profiler/index.d.ts +17 -0
  61. package/dist/types/profiler/index.d.ts.map +1 -0
  62. package/dist/types/suspense/context.d.ts +1 -1
  63. package/dist/types/suspense/context.d.ts.map +1 -1
  64. package/dist/types/suspense/types.d.ts +2 -1
  65. package/dist/types/suspense/types.d.ts.map +1 -1
  66. package/dist/types/utils/index.d.ts.map +1 -1
  67. package/package.json +2 -2
  68. package/dist/cjs/lazy-wait/utils.js +0 -25
  69. package/dist/cjs/phase/controller.js +0 -28
  70. package/dist/esm/lazy-wait/utils.js +0 -14
  71. package/dist/esm/phase/controller.js +0 -17
  72. package/dist/types/lazy-wait/utils.d.ts +0 -2
  73. package/dist/types/lazy-wait/utils.d.ts.map +0 -1
  74. package/dist/types/phase/controller.d.ts +0 -2
  75. package/dist/types/phase/controller.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
+ export { WaitContext } from './context';
1
2
  export { LazyWait } from './main';
2
3
  export type { LazyWaitProps } from './main';
3
- export { useUntil } from './utils';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lazy-wait/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
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;AAKvC,oBAAY,aAAa,GAAG;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,QAAQ,wBAAyB,aAAa,gBAkC1D,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 { Listener } from './listeners';
2
+ import type { SubscriptionContextValue } from '../lazy/types';
3
3
  export declare const setCurrent: (phase: number) => void;
4
- export declare const LazyPhaseContext: import("react").Context<{
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":";AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5C,eAAO,MAAM,UAAU,UAAW,MAAM,SAGvC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;EAS3B,CAAC;AAEH,eAAO,MAAM,YAAY;;;CAIxB,CAAC"}
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,5 +1,4 @@
1
1
  export { LazyPhaseContext, setCurrent, useLazyPhase } from './context';
2
- export { usePhaseSubscription } from './controller';
3
2
  export { LISTENERS } from './listeners';
4
3
  export type { Listener } from './listeners';
5
4
  export { createSubscribe } from './utils';
@@ -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,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
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,4 +1,4 @@
1
1
  import React from 'react';
2
- import { LazySuspenseContextType } from './types';
2
+ import type { LazySuspenseContextType } from './types';
3
3
  export declare const LazySuspenseContext: React.Context<LazySuspenseContextType>;
4
4
  //# sourceMappingURL=context.d.ts.map
@@ -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,EAAY,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE5D,eAAO,MAAM,mBAAmB,wCAM9B,CAAC"}
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;AAEtC,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,EAAE,QAAQ,CAAC;CACpB,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,eAU7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,IAAI;;EAgBpE"}
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.0.0",
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.0.0",
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,2 +0,0 @@
1
- export declare const useUntil: () => boolean;
2
- //# sourceMappingURL=utils.d.ts.map
@@ -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,2 +0,0 @@
1
- export declare const usePhaseSubscription: (targetPhase?: number) => boolean;
2
- //# sourceMappingURL=controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/phase/controller.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,mCAehC,CAAC"}