piral-core 0.14.1-beta.3266 → 0.14.3-beta.3295
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/esm/hooks/action.js +2 -3
- package/esm/hooks/action.js.map +1 -1
- package/esm/hooks/globalState.d.ts +7 -0
- package/esm/hooks/globalState.js +10 -1
- package/esm/hooks/globalState.js.map +1 -1
- package/esm/state/withApi.js +2 -3
- package/esm/state/withApi.js.map +1 -1
- package/lib/hooks/action.js +2 -3
- package/lib/hooks/action.js.map +1 -1
- package/lib/hooks/globalState.d.ts +7 -0
- package/lib/hooks/globalState.js +12 -2
- package/lib/hooks/globalState.js.map +1 -1
- package/lib/state/withApi.js +1 -2
- package/lib/state/withApi.js.map +1 -1
- package/package.json +4 -4
- package/src/hooks/action.ts +2 -3
- package/src/hooks/globalState.ts +11 -1
- package/src/state/withApi.test.tsx +4 -0
- package/src/state/withApi.tsx +2 -3
package/esm/hooks/action.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { StateContext } from '../state/stateContext';
|
|
1
|
+
import { useGlobalStateContext } from './globalState';
|
|
3
2
|
/**
|
|
4
3
|
* Hook that gets an action for manipulating the global state.
|
|
5
4
|
* @param action The name of the action to retrieve.
|
|
6
5
|
*/
|
|
7
6
|
export function useAction(action) {
|
|
8
|
-
const ctx =
|
|
7
|
+
const ctx = useGlobalStateContext();
|
|
9
8
|
return ctx[action];
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=action.js.map
|
package/esm/hooks/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/hooks/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/hooks/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD;;;GAGG;AACH,MAAM,UAAU,SAAS,CAA+B,MAAS;IAC/D,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAC;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { GlobalState } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to obtain the global state context, which gives you directly
|
|
4
|
+
* all actions, state, and more of the Piral instance.
|
|
5
|
+
* If you are only interested in reading out the state, use the
|
|
6
|
+
* `useGlobalState` hook instead.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useGlobalStateContext(): import("../types").GlobalStateContext;
|
|
2
9
|
/**
|
|
3
10
|
* Hook that yields the full global state.
|
|
4
11
|
* Any change to the global state yields the new state.
|
package/esm/hooks/globalState.js
CHANGED
|
@@ -7,8 +7,17 @@ function useDirectAtom(atom, opts) {
|
|
|
7
7
|
const select = opts && opts.select;
|
|
8
8
|
return typeof select === 'function' ? select(state) : state;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Hook to obtain the global state context, which gives you directly
|
|
12
|
+
* all actions, state, and more of the Piral instance.
|
|
13
|
+
* If you are only interested in reading out the state, use the
|
|
14
|
+
* `useGlobalState` hook instead.
|
|
15
|
+
*/
|
|
16
|
+
export function useGlobalStateContext() {
|
|
17
|
+
return useContext(StateContext);
|
|
18
|
+
}
|
|
10
19
|
export function useGlobalState(select) {
|
|
11
|
-
const { state } =
|
|
20
|
+
const { state } = useGlobalStateContext();
|
|
12
21
|
return useGlobalAtom(state, select && { select });
|
|
13
22
|
}
|
|
14
23
|
//# sourceMappingURL=globalState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalState.js","sourceRoot":"","sources":["../../src/hooks/globalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;AAE9E,SAAS,aAAa,CAAC,IAAS,EAAE,IAAS;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IACnC,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAeD,MAAM,UAAU,cAAc,CAAI,MAAkC;IAClE,MAAM,EAAE,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"globalState.js","sourceRoot":"","sources":["../../src/hooks/globalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;AAE9E,SAAS,aAAa,CAAC,IAAS,EAAE,IAAS;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IACnC,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAeD,MAAM,UAAU,cAAc,CAAI,MAAkC;IAClE,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC1C,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
package/esm/state/withApi.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { isfunc } from 'piral-base';
|
|
3
3
|
import { __RouterContext } from 'react-router';
|
|
4
|
-
import { StateContext } from './stateContext';
|
|
5
4
|
import { PiralError, PiralLoadingIndicator, ErrorBoundary, PortalRenderer } from '../components';
|
|
6
|
-
import { useActions } from '../hooks';
|
|
5
|
+
import { useActions, useGlobalStateContext } from '../hooks';
|
|
7
6
|
import { defaultRender, convertComponent, none } from '../utils';
|
|
8
7
|
// this is an arbitrary start number to have 6 digits
|
|
9
8
|
let portalIdBase = 123456;
|
|
@@ -65,7 +64,7 @@ function wrapReactComponent(Component, stasisOptions, piral, Wrapper) {
|
|
|
65
64
|
function wrapForeignComponent(component, stasisOptions, piral, Wrapper) {
|
|
66
65
|
return React.memo((props) => {
|
|
67
66
|
const { destroyPortal } = useActions();
|
|
68
|
-
const { state } =
|
|
67
|
+
const { state } = useGlobalStateContext();
|
|
69
68
|
const router = React.useContext(__RouterContext);
|
|
70
69
|
const id = React.useMemo(() => (portalIdBase++).toString(26), none);
|
|
71
70
|
const context = React.useMemo(() => ({ router, state }), [router, state]);
|
package/esm/state/withApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":"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"}
|
package/lib/hooks/action.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useAction = void 0;
|
|
4
|
-
const
|
|
5
|
-
const stateContext_1 = require("../state/stateContext");
|
|
4
|
+
const globalState_1 = require("./globalState");
|
|
6
5
|
/**
|
|
7
6
|
* Hook that gets an action for manipulating the global state.
|
|
8
7
|
* @param action The name of the action to retrieve.
|
|
9
8
|
*/
|
|
10
9
|
function useAction(action) {
|
|
11
|
-
const ctx = (0,
|
|
10
|
+
const ctx = (0, globalState_1.useGlobalStateContext)();
|
|
12
11
|
return ctx[action];
|
|
13
12
|
}
|
|
14
13
|
exports.useAction = useAction;
|
package/lib/hooks/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/hooks/action.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/hooks/action.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AAGtD;;;GAGG;AACH,SAAgB,SAAS,CAA+B,MAAS;IAC/D,MAAM,GAAG,GAAG,IAAA,mCAAqB,GAAE,CAAC;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAHD,8BAGC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { GlobalState } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to obtain the global state context, which gives you directly
|
|
4
|
+
* all actions, state, and more of the Piral instance.
|
|
5
|
+
* If you are only interested in reading out the state, use the
|
|
6
|
+
* `useGlobalState` hook instead.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useGlobalStateContext(): import("../types").GlobalStateContext;
|
|
2
9
|
/**
|
|
3
10
|
* Hook that yields the full global state.
|
|
4
11
|
* Any change to the global state yields the new state.
|
package/lib/hooks/globalState.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useGlobalState = void 0;
|
|
3
|
+
exports.useGlobalState = exports.useGlobalStateContext = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const react_atom_1 = require("@dbeining/react-atom");
|
|
6
6
|
const stateContext_1 = require("../state/stateContext");
|
|
@@ -10,8 +10,18 @@ function useDirectAtom(atom, opts) {
|
|
|
10
10
|
const select = opts && opts.select;
|
|
11
11
|
return typeof select === 'function' ? select(state) : state;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Hook to obtain the global state context, which gives you directly
|
|
15
|
+
* all actions, state, and more of the Piral instance.
|
|
16
|
+
* If you are only interested in reading out the state, use the
|
|
17
|
+
* `useGlobalState` hook instead.
|
|
18
|
+
*/
|
|
19
|
+
function useGlobalStateContext() {
|
|
20
|
+
return (0, react_1.useContext)(stateContext_1.StateContext);
|
|
21
|
+
}
|
|
22
|
+
exports.useGlobalStateContext = useGlobalStateContext;
|
|
13
23
|
function useGlobalState(select) {
|
|
14
|
-
const { state } = (
|
|
24
|
+
const { state } = useGlobalStateContext();
|
|
15
25
|
return useGlobalAtom(state, select && { select });
|
|
16
26
|
}
|
|
17
27
|
exports.useGlobalState = useGlobalState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalState.js","sourceRoot":"","sources":["../../src/hooks/globalState.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,qDAAsD;AACtD,wDAAqD;AAGrD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,oBAAO,CAAC,CAAC,CAAC,aAAa,CAAC;AAE9E,SAAS,aAAa,CAAC,IAAS,EAAE,IAAS;IACzC,MAAM,KAAK,GAAG,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IACnC,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAeD,SAAgB,cAAc,CAAI,MAAkC;IAClE,MAAM,EAAE,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"globalState.js","sourceRoot":"","sources":["../../src/hooks/globalState.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,qDAAsD;AACtD,wDAAqD;AAGrD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,oBAAO,CAAC,CAAC,CAAC,aAAa,CAAC;AAE9E,SAAS,aAAa,CAAC,IAAS,EAAE,IAAS;IACzC,MAAM,KAAK,GAAG,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IACnC,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,kBAAU,EAAC,2BAAY,CAAC,CAAC;AAClC,CAAC;AAFD,sDAEC;AAeD,SAAgB,cAAc,CAAI,MAAkC;IAClE,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC1C,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC;AAHD,wCAGC"}
|
package/lib/state/withApi.js
CHANGED
|
@@ -4,7 +4,6 @@ exports.withApi = void 0;
|
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const piral_base_1 = require("piral-base");
|
|
6
6
|
const react_router_1 = require("react-router");
|
|
7
|
-
const stateContext_1 = require("./stateContext");
|
|
8
7
|
const components_1 = require("../components");
|
|
9
8
|
const hooks_1 = require("../hooks");
|
|
10
9
|
const utils_1 = require("../utils");
|
|
@@ -68,7 +67,7 @@ function wrapReactComponent(Component, stasisOptions, piral, Wrapper) {
|
|
|
68
67
|
function wrapForeignComponent(component, stasisOptions, piral, Wrapper) {
|
|
69
68
|
return React.memo((props) => {
|
|
70
69
|
const { destroyPortal } = (0, hooks_1.useActions)();
|
|
71
|
-
const { state } =
|
|
70
|
+
const { state } = (0, hooks_1.useGlobalStateContext)();
|
|
72
71
|
const router = React.useContext(react_router_1.__RouterContext);
|
|
73
72
|
const id = React.useMemo(() => (portalIdBase++).toString(26), utils_1.none);
|
|
74
73
|
const context = React.useMemo(() => ({ router, state }), [router, state]);
|
package/lib/state/withApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAAoC;AACpC,+CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-core",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.3-beta.3295",
|
|
4
4
|
"description": "The core library for creating a Piral instance.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"portal",
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
],
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@dbeining/react-atom": "^4.0.0",
|
|
78
|
-
"piral-base": "0.14.
|
|
79
|
-
"piral-debug-utils": "0.14.
|
|
78
|
+
"piral-base": "0.14.3-beta.3295",
|
|
79
|
+
"piral-debug-utils": "0.14.3-beta.3295"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "699a617d9f89c76c277feba775da285b99cf370c"
|
|
82
82
|
}
|
package/src/hooks/action.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { StateContext } from '../state/stateContext';
|
|
1
|
+
import { useGlobalStateContext } from './globalState';
|
|
3
2
|
import { PiralActions, GlobalStateContext } from '../types';
|
|
4
3
|
|
|
5
4
|
/**
|
|
@@ -7,6 +6,6 @@ import { PiralActions, GlobalStateContext } from '../types';
|
|
|
7
6
|
* @param action The name of the action to retrieve.
|
|
8
7
|
*/
|
|
9
8
|
export function useAction<T extends keyof PiralActions>(action: T): GlobalStateContext[T] {
|
|
10
|
-
const ctx =
|
|
9
|
+
const ctx = useGlobalStateContext();
|
|
11
10
|
return ctx[action];
|
|
12
11
|
}
|
package/src/hooks/globalState.ts
CHANGED
|
@@ -11,6 +11,16 @@ function useDirectAtom(atom: any, opts: any) {
|
|
|
11
11
|
return typeof select === 'function' ? select(state) : state;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Hook to obtain the global state context, which gives you directly
|
|
16
|
+
* all actions, state, and more of the Piral instance.
|
|
17
|
+
* If you are only interested in reading out the state, use the
|
|
18
|
+
* `useGlobalState` hook instead.
|
|
19
|
+
*/
|
|
20
|
+
export function useGlobalStateContext() {
|
|
21
|
+
return useContext(StateContext);
|
|
22
|
+
}
|
|
23
|
+
|
|
14
24
|
/**
|
|
15
25
|
* Hook that yields the full global state.
|
|
16
26
|
* Any change to the global state yields the new state.
|
|
@@ -25,6 +35,6 @@ export function useGlobalState(): GlobalState;
|
|
|
25
35
|
export function useGlobalState<R>(select: (state: GlobalState) => R): R;
|
|
26
36
|
|
|
27
37
|
export function useGlobalState<R>(select?: (state: GlobalState) => R) {
|
|
28
|
-
const { state } =
|
|
38
|
+
const { state } = useGlobalStateContext();
|
|
29
39
|
return useGlobalAtom(state, select && { select });
|
|
30
40
|
}
|
package/src/state/withApi.tsx
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { isfunc } from 'piral-base';
|
|
3
3
|
import { __RouterContext } from 'react-router';
|
|
4
|
-
import { StateContext } from './stateContext';
|
|
5
4
|
import { PiralError, PiralLoadingIndicator, ErrorBoundary, ErrorBoundaryOptions, PortalRenderer } from '../components';
|
|
6
|
-
import { useActions } from '../hooks';
|
|
5
|
+
import { useActions, useGlobalStateContext } from '../hooks';
|
|
7
6
|
import { defaultRender, convertComponent, none } from '../utils';
|
|
8
7
|
import {
|
|
9
8
|
AnyComponent,
|
|
@@ -109,7 +108,7 @@ function wrapForeignComponent<T>(
|
|
|
109
108
|
) {
|
|
110
109
|
return React.memo((props: T) => {
|
|
111
110
|
const { destroyPortal } = useActions();
|
|
112
|
-
const { state } =
|
|
111
|
+
const { state } = useGlobalStateContext();
|
|
113
112
|
const router = React.useContext(__RouterContext);
|
|
114
113
|
const id = React.useMemo(() => (portalIdBase++).toString(26), none);
|
|
115
114
|
const context = React.useMemo(() => ({ router, state }), [router, state]);
|