@pihanga2/core 0.3.6 → 0.3.7
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/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/reducer.d.ts.map +1 -1
- package/dist/reducer.js +9 -0
- package/dist/reducer.js.map +1 -1
- package/package.json +1 -5
- package/src/index.ts +29 -13
- package/src/reducer.ts +18 -10
package/dist/index.d.ts
CHANGED
|
@@ -56,6 +56,21 @@ export type StartProps = {
|
|
|
56
56
|
ignoredActions?: string[];
|
|
57
57
|
ignoredActionPaths?: string[];
|
|
58
58
|
ignoredStatePaths?: string[];
|
|
59
|
+
/**
|
|
60
|
+
* Predicate used by Redux Toolkit's `serializableCheck`.
|
|
61
|
+
*
|
|
62
|
+
* By default RTK considers only "plain" JS values/objects serializable.
|
|
63
|
+
* If your app intentionally carries extra types (e.g. `Date`) in actions/state,
|
|
64
|
+
* you can extend this function:
|
|
65
|
+
*
|
|
66
|
+
* ```ts
|
|
67
|
+
* isSerializable: (v) => isPlain(v) || v instanceof Date
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* This is useful for allowing things like Luxon DateTime, Map/Set wrappers,
|
|
71
|
+
* etc. (Prefer normalizing to plain data where possible.)
|
|
72
|
+
*/
|
|
73
|
+
isSerializable?: (value: unknown) => boolean;
|
|
59
74
|
};
|
|
60
75
|
export declare function start<S extends Partial<ReduxState>>(initialState: S, inits?: ((register: PiRegister) => void)[], props?: StartProps): PiRegister;
|
|
61
76
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import ReactDOM from "react-dom/client";
|
|
|
2
2
|
import { addCard, addCardComponent, registerMetacard, updateOrRegisterCard, } from "./register_cards";
|
|
3
3
|
import { createReducer } from "./reducer";
|
|
4
4
|
import { ON_INIT_ACTION, currentRoute, init as routerInit } from "./router";
|
|
5
|
-
import { configureStore } from "@reduxjs/toolkit";
|
|
5
|
+
import { configureStore, isPlain } from "@reduxjs/toolkit";
|
|
6
6
|
//import monitorReducerEnhancer from "./monitor_enhancer"
|
|
7
7
|
import { getLogger } from "./logger";
|
|
8
8
|
import { registerDELETE, registerGET, registerPATCH, registerPOST, registerPUT, } from "./rest";
|
|
@@ -81,6 +81,7 @@ export const DEFAULT_REDUX_STATE = {
|
|
|
81
81
|
pihanga: {},
|
|
82
82
|
};
|
|
83
83
|
export function start(initialState, inits = [], props = {}) {
|
|
84
|
+
var _a;
|
|
84
85
|
const state = {
|
|
85
86
|
...DEFAULT_REDUX_STATE,
|
|
86
87
|
...initialState,
|
|
@@ -108,6 +109,7 @@ export function start(initialState, inits = [], props = {}) {
|
|
|
108
109
|
"data",
|
|
109
110
|
].concat(props.ignoredActionPaths || []);
|
|
110
111
|
const ignoredPaths = ["cause.content"].concat(props.ignoredStatePaths || []);
|
|
112
|
+
const isSerializable = (_a = props.isSerializable) !== null && _a !== void 0 ? _a : isPlain;
|
|
111
113
|
const store = configureStore({
|
|
112
114
|
reducer,
|
|
113
115
|
preloadedState: state, // keep type checking happy
|
|
@@ -119,6 +121,7 @@ export function start(initialState, inits = [], props = {}) {
|
|
|
119
121
|
ignoredPaths,
|
|
120
122
|
ignoreState: props.disableSerializableStateCheck,
|
|
121
123
|
ignoreAction: props.disableSerializableActionCheck,
|
|
124
|
+
isSerializable,
|
|
122
125
|
},
|
|
123
126
|
}),
|
|
124
127
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/reducer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,SAAS,EAOT,UAAU,EACX,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAqB/B,wBAAgB,aAAa,CAC3B,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,GACxB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,SAAS,EAOT,UAAU,EACX,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAqB/B,wBAAgB,aAAa,CAC3B,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,GACxB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAwH1C"}
|
package/dist/reducer.js
CHANGED
|
@@ -15,10 +15,19 @@ export function createReducer(initialState, dispatcher) {
|
|
|
15
15
|
setTimeout(() => dispatcher(a), 0);
|
|
16
16
|
};
|
|
17
17
|
const reducer = (state, action) => {
|
|
18
|
+
var _a;
|
|
18
19
|
const s = state || initialState;
|
|
19
20
|
const ra = mappings[action.type];
|
|
20
21
|
const rany = mappings["*"];
|
|
21
22
|
if ((!ra || ra.length === 0) && (!rany || rany.length === 0)) {
|
|
23
|
+
const ra = (_a = s.pihanga) === null || _a === void 0 ? void 0 : _a.reducers;
|
|
24
|
+
if (ra && ra.length > 0) {
|
|
25
|
+
return produce(s, (draft) => {
|
|
26
|
+
if (draft.pihanga) {
|
|
27
|
+
draft.pihanga.reducers = [];
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
22
31
|
return s;
|
|
23
32
|
}
|
|
24
33
|
const nextState = produce(s, (draft) => {
|
package/dist/reducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,QAAQ,CAAC;AAC9D,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAInC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAkBpC,MAAM,UAAU,aAAa,CAC3B,YAAwB,EACxB,UAAyB;IAEzB,MAAM,QAAQ,GAAoD,EAAE,CAAC;IACrE,QAAQ,CAAC,mBAAmB,CAAC,GAAG;QAC9B;YACE,WAAW,EAAE,iBAAiB,CAAC,OAAO;YACtC,GAAG,EAAE,mCAAmC;SACzC;KACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAQ,EAAE;QACzC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CACd,KAA6B,EAC7B,MAAc,EACF,EAAE
|
|
1
|
+
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pihanga2/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,10 +24,6 @@
|
|
|
24
24
|
"test:run": "vitest run",
|
|
25
25
|
"test:watch": "vitest"
|
|
26
26
|
},
|
|
27
|
-
"publishConfig": {
|
|
28
|
-
"access": "public",
|
|
29
|
-
"registry": "https://registry.npmjs.org/"
|
|
30
|
-
},
|
|
31
27
|
"dependencies": {
|
|
32
28
|
"@reduxjs/toolkit": "^2.2.6",
|
|
33
29
|
"deep-equal": "^2.2.3",
|
package/src/index.ts
CHANGED
|
@@ -8,15 +8,12 @@ import {
|
|
|
8
8
|
ReduxAction,
|
|
9
9
|
ReduxState,
|
|
10
10
|
PiReducer,
|
|
11
|
-
RegisterCardF,
|
|
12
|
-
MetaCardMapperF,
|
|
13
11
|
PiRegisterMetaCard,
|
|
14
12
|
PiMapProps,
|
|
15
13
|
WindowProps,
|
|
16
14
|
GenericCardParameterT,
|
|
17
15
|
} from "./types";
|
|
18
16
|
import {
|
|
19
|
-
createCardDeclaration,
|
|
20
17
|
addCard,
|
|
21
18
|
addCardComponent,
|
|
22
19
|
registerMetacard,
|
|
@@ -25,7 +22,7 @@ import {
|
|
|
25
22
|
import {createReducer} from "./reducer";
|
|
26
23
|
import {ON_INIT_ACTION, currentRoute, init as routerInit} from "./router";
|
|
27
24
|
|
|
28
|
-
import {configureStore} from "@reduxjs/toolkit";
|
|
25
|
+
import {configureStore, isPlain} from "@reduxjs/toolkit";
|
|
29
26
|
|
|
30
27
|
//import monitorReducerEnhancer from "./monitor_enhancer"
|
|
31
28
|
import {getLogger} from "./logger";
|
|
@@ -78,13 +75,13 @@ export interface PiRegister {
|
|
|
78
75
|
//window(parameters: PiCardDef): PiCardRef
|
|
79
76
|
|
|
80
77
|
window<S extends ReduxState>(
|
|
81
|
-
parameters: PiMapProps<WindowProps, S, {}
|
|
78
|
+
parameters: PiMapProps<WindowProps, S, {}>,
|
|
82
79
|
): PiCardRef;
|
|
83
80
|
|
|
84
81
|
card(name: string, parameters: PiCardDef): PiCardRef;
|
|
85
82
|
updateCard(
|
|
86
83
|
name: string,
|
|
87
|
-
parameters: {[key: string]: GenericCardParameterT}
|
|
84
|
+
parameters: {[key: string]: GenericCardParameterT},
|
|
88
85
|
): PiCardRef;
|
|
89
86
|
|
|
90
87
|
cardComponent(declaration: PiRegisterComponent): void;
|
|
@@ -102,19 +99,19 @@ export interface PiRegister {
|
|
|
102
99
|
metaCard<C>(declaration: PiRegisterMetaCard): void;
|
|
103
100
|
|
|
104
101
|
GET<S extends ReduxState, A extends ReduxAction, R, C = any>(
|
|
105
|
-
props: PiRegisterGetProps<S, A, R, C
|
|
102
|
+
props: PiRegisterGetProps<S, A, R, C>,
|
|
106
103
|
): void;
|
|
107
104
|
PUT<S extends ReduxState, A extends ReduxAction, R, C = any>(
|
|
108
|
-
props: PiRegisterPoPuPaProps<S, A, R, C
|
|
105
|
+
props: PiRegisterPoPuPaProps<S, A, R, C>,
|
|
109
106
|
): void;
|
|
110
107
|
POST<S extends ReduxState, A extends ReduxAction, R, C = any>(
|
|
111
|
-
props: PiRegisterPoPuPaProps<S, A, R, C
|
|
108
|
+
props: PiRegisterPoPuPaProps<S, A, R, C>,
|
|
112
109
|
): void;
|
|
113
110
|
PATCH<S extends ReduxState, A extends ReduxAction, R, C = any>(
|
|
114
|
-
props: PiRegisterPoPuPaProps<S, A, R, C
|
|
111
|
+
props: PiRegisterPoPuPaProps<S, A, R, C>,
|
|
115
112
|
): void;
|
|
116
113
|
DELETE<S extends ReduxState, A extends ReduxAction, R, C = any>(
|
|
117
|
-
props: PiRegisterDeleteProps<S, A, R, C
|
|
114
|
+
props: PiRegisterDeleteProps<S, A, R, C>,
|
|
118
115
|
): void;
|
|
119
116
|
//registerPeriodicGET<S extends ReduxState, A extends ReduxAction, R>(props: PiRegisterPeridicGetProps<S, A, R>): void;
|
|
120
117
|
|
|
@@ -204,12 +201,28 @@ export type StartProps = {
|
|
|
204
201
|
ignoredActions?: string[];
|
|
205
202
|
ignoredActionPaths?: string[];
|
|
206
203
|
ignoredStatePaths?: string[];
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Predicate used by Redux Toolkit's `serializableCheck`.
|
|
207
|
+
*
|
|
208
|
+
* By default RTK considers only "plain" JS values/objects serializable.
|
|
209
|
+
* If your app intentionally carries extra types (e.g. `Date`) in actions/state,
|
|
210
|
+
* you can extend this function:
|
|
211
|
+
*
|
|
212
|
+
* ```ts
|
|
213
|
+
* isSerializable: (v) => isPlain(v) || v instanceof Date
|
|
214
|
+
* ```
|
|
215
|
+
*
|
|
216
|
+
* This is useful for allowing things like Luxon DateTime, Map/Set wrappers,
|
|
217
|
+
* etc. (Prefer normalizing to plain data where possible.)
|
|
218
|
+
*/
|
|
219
|
+
isSerializable?: (value: unknown) => boolean;
|
|
207
220
|
};
|
|
208
221
|
|
|
209
222
|
export function start<S extends Partial<ReduxState>>(
|
|
210
223
|
initialState: S,
|
|
211
224
|
inits: ((register: PiRegister) => void)[] = [],
|
|
212
|
-
props: StartProps = {}
|
|
225
|
+
props: StartProps = {},
|
|
213
226
|
): PiRegister {
|
|
214
227
|
const state = {
|
|
215
228
|
...DEFAULT_REDUX_STATE,
|
|
@@ -239,6 +252,8 @@ export function start<S extends Partial<ReduxState>>(
|
|
|
239
252
|
].concat(props.ignoredActionPaths || []);
|
|
240
253
|
const ignoredPaths = ["cause.content"].concat(props.ignoredStatePaths || []);
|
|
241
254
|
|
|
255
|
+
const isSerializable = props.isSerializable ?? isPlain;
|
|
256
|
+
|
|
242
257
|
const store = configureStore({
|
|
243
258
|
reducer,
|
|
244
259
|
preloadedState: state as any, // keep type checking happy
|
|
@@ -251,6 +266,7 @@ export function start<S extends Partial<ReduxState>>(
|
|
|
251
266
|
ignoredPaths,
|
|
252
267
|
ignoreState: props.disableSerializableStateCheck,
|
|
253
268
|
ignoreAction: props.disableSerializableActionCheck,
|
|
269
|
+
isSerializable,
|
|
254
270
|
},
|
|
255
271
|
}),
|
|
256
272
|
});
|
|
@@ -263,7 +279,7 @@ export function start<S extends Partial<ReduxState>>(
|
|
|
263
279
|
const card = addCard(piReducer.register, dispatchF);
|
|
264
280
|
const updateCard = updateOrRegisterCard(piReducer.register, dispatchF);
|
|
265
281
|
const window = <S extends ReduxState>(
|
|
266
|
-
p: PiMapProps<WindowProps, S, {}
|
|
282
|
+
p: PiMapProps<WindowProps, S, {}>,
|
|
267
283
|
): PiCardRef => {
|
|
268
284
|
return card("_window", {cardType: "framework", ...p});
|
|
269
285
|
};
|
package/src/reducer.ts
CHANGED
|
@@ -37,7 +37,7 @@ type Source = {
|
|
|
37
37
|
|
|
38
38
|
export function createReducer(
|
|
39
39
|
initialState: ReduxState,
|
|
40
|
-
dispatcher: Dispatch<any
|
|
40
|
+
dispatcher: Dispatch<any>,
|
|
41
41
|
): [Reducer<ReduxState, Action>, PiReducer] {
|
|
42
42
|
const mappings: {[k: string]: ReducerDef<ReduxState, Action>[]} = {};
|
|
43
43
|
mappings[UPDATE_STATE_ACTION] = [
|
|
@@ -52,12 +52,20 @@ export function createReducer(
|
|
|
52
52
|
};
|
|
53
53
|
const reducer = (
|
|
54
54
|
state: ReduxState | undefined,
|
|
55
|
-
action: Action
|
|
55
|
+
action: Action,
|
|
56
56
|
): ReduxState => {
|
|
57
57
|
const s = state || initialState;
|
|
58
58
|
const ra = mappings[action.type];
|
|
59
59
|
const rany = mappings["*"];
|
|
60
60
|
if ((!ra || ra.length === 0) && (!rany || rany.length === 0)) {
|
|
61
|
+
const ra = s.pihanga?.reducers;
|
|
62
|
+
if (ra && ra.length > 0) {
|
|
63
|
+
return produce<ReduxState, ReduxState>(s, (draft) => {
|
|
64
|
+
if (draft.pihanga) {
|
|
65
|
+
draft.pihanga.reducers = [];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
61
69
|
return s;
|
|
62
70
|
}
|
|
63
71
|
|
|
@@ -81,13 +89,13 @@ export function createReducer(
|
|
|
81
89
|
|
|
82
90
|
const registerReducer: PiRegisterReducerF = <
|
|
83
91
|
S extends ReduxState,
|
|
84
|
-
A extends ReduxAction
|
|
92
|
+
A extends ReduxAction,
|
|
85
93
|
>(
|
|
86
94
|
eventType: string,
|
|
87
95
|
mapper: ReduceF<S, A>,
|
|
88
96
|
priority: number = 0,
|
|
89
97
|
key?: string,
|
|
90
|
-
targetMapper?: ReduceF<S, A
|
|
98
|
+
targetMapper?: ReduceF<S, A>,
|
|
91
99
|
): PiReducerCancelF => {
|
|
92
100
|
return addReducer(eventType, {
|
|
93
101
|
mapperMulti: mapper,
|
|
@@ -99,12 +107,12 @@ export function createReducer(
|
|
|
99
107
|
|
|
100
108
|
const registerOneShot: PiRegisterOneShotReducerF = <
|
|
101
109
|
S extends ReduxState,
|
|
102
|
-
A extends ReduxAction
|
|
110
|
+
A extends ReduxAction,
|
|
103
111
|
>(
|
|
104
112
|
eventType: string,
|
|
105
113
|
mapper: (state: S, action: A, dispatch: DispatchF) => boolean,
|
|
106
114
|
priority: number = 0,
|
|
107
|
-
key: string | undefined = undefined
|
|
115
|
+
key: string | undefined = undefined,
|
|
108
116
|
): PiReducerCancelF => {
|
|
109
117
|
return addReducer(eventType, {mapperOnce: mapper, priority, key});
|
|
110
118
|
};
|
|
@@ -113,7 +121,7 @@ export function createReducer(
|
|
|
113
121
|
|
|
114
122
|
function addReducer<S extends ReduxState, A extends ReduxAction>(
|
|
115
123
|
eventType: string,
|
|
116
|
-
reducerDef: ReducerDef<S, A
|
|
124
|
+
reducerDef: ReducerDef<S, A>,
|
|
117
125
|
): PiReducerCancelF {
|
|
118
126
|
let m = mappings[eventType] || [];
|
|
119
127
|
const key = reducerDef.key;
|
|
@@ -154,7 +162,7 @@ export function createReducer(
|
|
|
154
162
|
|
|
155
163
|
function removeReducer(
|
|
156
164
|
key: string | undefined,
|
|
157
|
-
m: ReducerDef<ReduxState, Action>[]
|
|
165
|
+
m: ReducerDef<ReduxState, Action>[],
|
|
158
166
|
) {
|
|
159
167
|
if (key) {
|
|
160
168
|
return m.filter((r) => r.key !== key);
|
|
@@ -167,7 +175,7 @@ function _reduce(
|
|
|
167
175
|
ra: ReducerDef<ReduxState, Action>[],
|
|
168
176
|
draft: ReduxState,
|
|
169
177
|
action: Action,
|
|
170
|
-
delayedDispatcher: (a: any) => void
|
|
178
|
+
delayedDispatcher: (a: any) => void,
|
|
171
179
|
): ReducerDef<ReduxState, Action<any>>[] {
|
|
172
180
|
const rout: ReducerDef<ReduxState, Action<any>>[] = [];
|
|
173
181
|
ra.forEach((m) => {
|
|
@@ -194,7 +202,7 @@ function _reduce(
|
|
|
194
202
|
}
|
|
195
203
|
|
|
196
204
|
function _get_source_frame(
|
|
197
|
-
frames: StackTrace.StackFrame[]
|
|
205
|
+
frames: StackTrace.StackFrame[],
|
|
198
206
|
): StackTrace.StackFrame | undefined {
|
|
199
207
|
// Heuristic: frame 0 = Error, 1 = getCallerSiteInBrowser, 2 = your function, 3 = its caller
|
|
200
208
|
for (let i = 3; i < frames.length; i++) {
|