@pihanga2/core 0.3.5 → 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 CHANGED
@@ -40,6 +40,7 @@ export declare function register(cbk: RegisterCbk): void;
40
40
  export declare function clearPendingRegistration(): void;
41
41
  export declare function registerCardComponent(declaration: PiRegisterComponent): void;
42
42
  export declare function registerCard(name: string, parameters: PiCardDef): void;
43
+ export declare function registerFramework(parameters: PiCardDef): void;
43
44
  export declare const DEFAULT_REDUX_STATE: {
44
45
  route: {
45
46
  path: never[];
@@ -55,6 +56,21 @@ export type StartProps = {
55
56
  ignoredActions?: string[];
56
57
  ignoredActionPaths?: string[];
57
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;
58
74
  };
59
75
  export declare function start<S extends Partial<ReduxState>>(initialState: S, inits?: ((register: PiRegister) => void)[], props?: StartProps): PiRegister;
60
76
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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";
@@ -73,11 +73,15 @@ export function registerCardComponent(declaration) {
73
73
  export function registerCard(name, parameters) {
74
74
  register((r) => r.card(name, parameters));
75
75
  }
76
+ export function registerFramework(parameters) {
77
+ register((r) => r.card("_window", parameters));
78
+ }
76
79
  export const DEFAULT_REDUX_STATE = {
77
80
  route: { path: [], query: {}, url: "", fromBrowser: false },
78
81
  pihanga: {},
79
82
  };
80
83
  export function start(initialState, inits = [], props = {}) {
84
+ var _a;
81
85
  const state = {
82
86
  ...DEFAULT_REDUX_STATE,
83
87
  ...initialState,
@@ -105,6 +109,7 @@ export function start(initialState, inits = [], props = {}) {
105
109
  "data",
106
110
  ].concat(props.ignoredActionPaths || []);
107
111
  const ignoredPaths = ["cause.content"].concat(props.ignoredStatePaths || []);
112
+ const isSerializable = (_a = props.isSerializable) !== null && _a !== void 0 ? _a : isPlain;
108
113
  const store = configureStore({
109
114
  reducer,
110
115
  preloadedState: state, // keep type checking happy
@@ -116,6 +121,7 @@ export function start(initialState, inits = [], props = {}) {
116
121
  ignoredPaths,
117
122
  ignoreState: props.disableSerializableStateCheck,
118
123
  ignoreAction: props.disableSerializableActionCheck,
124
+ isSerializable,
119
125
  },
120
126
  }),
121
127
  });
@@ -141,6 +147,7 @@ export function start(initialState, inits = [], props = {}) {
141
147
  PATCH: registerPATCH(piReducer),
142
148
  DELETE: registerDELETE(piReducer),
143
149
  };
150
+ setRegisterF(register);
144
151
  inits.forEach((f) => f(register));
145
152
  piReducer.dispatch({ type: ON_INIT_ACTION });
146
153
  const rootComp = RootComponent(store);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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,CAgH1C"}
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) => {
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}
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.5",
3
+ "version": "0.3.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",
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
 
@@ -188,6 +185,10 @@ export function registerCard(name: string, parameters: PiCardDef) {
188
185
  register((r: PiRegister) => r.card(name, parameters));
189
186
  }
190
187
 
188
+ export function registerFramework(parameters: PiCardDef) {
189
+ register((r: PiRegister) => r.card("_window", parameters));
190
+ }
191
+
191
192
  export const DEFAULT_REDUX_STATE = {
192
193
  route: {path: [], query: {}, url: "", fromBrowser: false},
193
194
  pihanga: {},
@@ -200,12 +201,28 @@ export type StartProps = {
200
201
  ignoredActions?: string[];
201
202
  ignoredActionPaths?: string[];
202
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;
203
220
  };
204
221
 
205
222
  export function start<S extends Partial<ReduxState>>(
206
223
  initialState: S,
207
224
  inits: ((register: PiRegister) => void)[] = [],
208
- props: StartProps = {}
225
+ props: StartProps = {},
209
226
  ): PiRegister {
210
227
  const state = {
211
228
  ...DEFAULT_REDUX_STATE,
@@ -235,6 +252,8 @@ export function start<S extends Partial<ReduxState>>(
235
252
  ].concat(props.ignoredActionPaths || []);
236
253
  const ignoredPaths = ["cause.content"].concat(props.ignoredStatePaths || []);
237
254
 
255
+ const isSerializable = props.isSerializable ?? isPlain;
256
+
238
257
  const store = configureStore({
239
258
  reducer,
240
259
  preloadedState: state as any, // keep type checking happy
@@ -247,6 +266,7 @@ export function start<S extends Partial<ReduxState>>(
247
266
  ignoredPaths,
248
267
  ignoreState: props.disableSerializableStateCheck,
249
268
  ignoreAction: props.disableSerializableActionCheck,
269
+ isSerializable,
250
270
  },
251
271
  }),
252
272
  });
@@ -259,7 +279,7 @@ export function start<S extends Partial<ReduxState>>(
259
279
  const card = addCard(piReducer.register, dispatchF);
260
280
  const updateCard = updateOrRegisterCard(piReducer.register, dispatchF);
261
281
  const window = <S extends ReduxState>(
262
- p: PiMapProps<WindowProps, S, {}>
282
+ p: PiMapProps<WindowProps, S, {}>,
263
283
  ): PiCardRef => {
264
284
  return card("_window", {cardType: "framework", ...p});
265
285
  };
@@ -277,6 +297,8 @@ export function start<S extends Partial<ReduxState>>(
277
297
  PATCH: registerPATCH(piReducer),
278
298
  DELETE: registerDELETE(piReducer),
279
299
  };
300
+ setRegisterF(register);
301
+
280
302
  inits.forEach((f) => f(register));
281
303
 
282
304
  piReducer.dispatch({type: ON_INIT_ACTION});
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++) {