@pihanga2/core 0.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 (76) hide show
  1. package/dist/card.d.ts +22 -0
  2. package/dist/card.d.ts.map +1 -0
  3. package/dist/card.js +493 -0
  4. package/dist/card.js.map +1 -0
  5. package/dist/index.d.ts +50 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +88 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/logger.d.ts +5 -0
  10. package/dist/logger.d.ts.map +1 -0
  11. package/dist/logger.js +12 -0
  12. package/dist/logger.js.map +1 -0
  13. package/dist/reducer.d.ts +5 -0
  14. package/dist/reducer.d.ts.map +1 -0
  15. package/dist/reducer.js +77 -0
  16. package/dist/reducer.js.map +1 -0
  17. package/dist/redux.d.ts +31 -0
  18. package/dist/redux.d.ts.map +1 -0
  19. package/dist/redux.js +50 -0
  20. package/dist/redux.js.map +1 -0
  21. package/dist/rest/delete.d.ts +4 -0
  22. package/dist/rest/delete.d.ts.map +1 -0
  23. package/dist/rest/delete.js +23 -0
  24. package/dist/rest/delete.js.map +1 -0
  25. package/dist/rest/enums.d.ts +6 -0
  26. package/dist/rest/enums.d.ts.map +1 -0
  27. package/dist/rest/enums.js +9 -0
  28. package/dist/rest/enums.js.map +1 -0
  29. package/dist/rest/get.d.ts +10 -0
  30. package/dist/rest/get.d.ts.map +1 -0
  31. package/dist/rest/get.js +31 -0
  32. package/dist/rest/get.js.map +1 -0
  33. package/dist/rest/index.d.ts +6 -0
  34. package/dist/rest/index.d.ts.map +1 -0
  35. package/dist/rest/index.js +6 -0
  36. package/dist/rest/index.js.map +1 -0
  37. package/dist/rest/postPutPatch.d.ts +6 -0
  38. package/dist/rest/postPutPatch.d.ts.map +1 -0
  39. package/dist/rest/postPutPatch.js +72 -0
  40. package/dist/rest/postPutPatch.js.map +1 -0
  41. package/dist/rest/types.d.ts +93 -0
  42. package/dist/rest/types.d.ts.map +1 -0
  43. package/dist/rest/types.js +38 -0
  44. package/dist/rest/types.js.map +1 -0
  45. package/dist/rest/utils.d.ts +8 -0
  46. package/dist/rest/utils.d.ts.map +1 -0
  47. package/dist/rest/utils.js +212 -0
  48. package/dist/rest/utils.js.map +1 -0
  49. package/dist/router.d.ts +25 -0
  50. package/dist/router.d.ts.map +1 -0
  51. package/dist/router.js +136 -0
  52. package/dist/router.js.map +1 -0
  53. package/dist/store.d.ts +1 -0
  54. package/dist/store.d.ts.map +1 -0
  55. package/dist/store.js +18 -0
  56. package/dist/store.js.map +1 -0
  57. package/dist/types.d.ts +94 -0
  58. package/dist/types.d.ts.map +1 -0
  59. package/dist/types.js +2 -0
  60. package/dist/types.js.map +1 -0
  61. package/package.json +71 -0
  62. package/src/card.tsx +628 -0
  63. package/src/index.tsx +193 -0
  64. package/src/logger.ts +13 -0
  65. package/src/reducer.ts +127 -0
  66. package/src/redux.ts +64 -0
  67. package/src/rest/delete.ts +41 -0
  68. package/src/rest/enums.ts +8 -0
  69. package/src/rest/get.ts +50 -0
  70. package/src/rest/index.ts +7 -0
  71. package/src/rest/postPutPatch.ts +118 -0
  72. package/src/rest/types.ts +135 -0
  73. package/src/rest/utils.ts +265 -0
  74. package/src/router.ts +171 -0
  75. package/src/store.ts +19 -0
  76. package/src/types.ts +146 -0
package/dist/card.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { CardProp, PiCardDef, PiCardRef, PiMapProps, PiRegisterComponent, PiRegisterMetaCard, PiRegisterReducerF, ReduxState, RegisterCardF, StateMapperContext } from "./types";
3
+ import { Action, Dispatch } from "@reduxjs/toolkit";
4
+ export declare function isCardRef(p: any): boolean;
5
+ export declare function registerCardComponent(card: PiRegisterComponent): void;
6
+ export declare function registerMetacard(registerCard: RegisterCardF): <C>(declaration: PiRegisterMetaCard) => void;
7
+ export declare function registerCard(registerReducer: PiRegisterReducerF, dispatchF: React.Dispatch<any>): (name: string, parameters: PiCardDef) => PiCardRef;
8
+ export declare function createCardDeclaration<Props = {}, Events = {}>(cardType: string): <S extends ReduxState>(p: PiMapProps<Props, S, Events>) => PiCardDef;
9
+ export declare function memo<P, T, S extends ReduxState, C>(filterF: (state: S, context: StateMapperContext<C>) => P, mapperF: (partial: P, context: StateMapperContext<C>, state: S) => T): (state: S, context: StateMapperContext<C>) => T;
10
+ type CompProps = {
11
+ [k: string]: any;
12
+ };
13
+ export declare function Card(props: CardProp): JSX.Element;
14
+ export declare const UPDATE_STATE_ACTION = "pi/card/update_state";
15
+ type CardState = {
16
+ props: (cardName: string, cardProps: CompProps, dispatch: Dispatch<Action>) => void;
17
+ changed: (cardName: string, isUnchanged: boolean, props: CompProps) => void;
18
+ reducer: (state: ReduxState, action: Action) => ReduxState;
19
+ };
20
+ export declare const RegisterCardState: CardState;
21
+ export {};
22
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../src/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAGL,QAAQ,EAGR,SAAS,EACT,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,MAAM,EAAa,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE9D,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAEzC;AAwBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAcrE;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,oBAC/B,kBAAkB,UAS9C;AAED,wBAAgB,YAAY,CAC1B,eAAe,EAAE,kBAAkB,EACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAIhB,MAAM,cAAc,SAAS,KAAG,SAAS,CAGxD;AA0GD,wBAAgB,qBAAqB,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAC3D,QAAQ,EAAE,MAAM,GACf,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,SAAS,CAKtE;AA4CD,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,UAAU,EAAE,CAAC,EAChD,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,EACxD,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GACnE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAkBjD;AAMD,KAAK,SAAS,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAMrC,wBAAgB,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAyBjD;AAyMD,eAAO,MAAM,mBAAmB,yBAAyB,CAAA;AAEzD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,CACL,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,KACvB,IAAI,CAAA;IACT,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAC3E,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,iBAAiB,WAAoB,CAAA"}
package/dist/card.js ADDED
@@ -0,0 +1,493 @@
1
+ import React from 'react';
2
+ import { useDispatch, useSelector } from "react-redux";
3
+ import equal from "deep-equal";
4
+ import { getLogger } from "./logger";
5
+ export function isCardRef(p) {
6
+ return (typeof p === "object" && p.cardType !== undefined);
7
+ }
8
+ const cardTypes = {};
9
+ const metacardTypes = {};
10
+ let framework; // name of active UI framework
11
+ const cardMappings = {};
12
+ const dispatch2registerReducer = [];
13
+ const logger = getLogger("card");
14
+ export function registerCardComponent(card) {
15
+ if (cardTypes[card.name]) {
16
+ logger.warn(`Overwriting definition for card type "${card.name}"`);
17
+ }
18
+ logger.info(`Register card type "${card.name}"`);
19
+ if (!framework) {
20
+ // set default framework
21
+ const na = card.name.split("/");
22
+ if (na.length >= 2) {
23
+ framework = na[0];
24
+ logger.info(`Setting UI framework to "${framework}"`);
25
+ }
26
+ }
27
+ cardTypes[card.name] = card;
28
+ }
29
+ export function registerMetacard(registerCard) {
30
+ function f(declaration) {
31
+ const { type, mapper, events } = declaration;
32
+ if (metacardTypes[type]) {
33
+ logger.warn(`Overwriting definition for meta card type "${type}"`);
34
+ }
35
+ logger.info(`Register meta card type "${type}"`);
36
+ metacardTypes[type] = { type, registerCard, mapper, events };
37
+ }
38
+ return f;
39
+ }
40
+ export function registerCard(registerReducer, dispatchF) {
41
+ // to be used by dynamically registered cards
42
+ dispatch2registerReducer.push([dispatchF, registerReducer]);
43
+ return (name, parameters) => {
44
+ return _registerCard(name, parameters, registerReducer);
45
+ };
46
+ }
47
+ function _registerCard(name, parameters, registerReducer, overrideEvents) {
48
+ if (cardMappings[name]) {
49
+ logger.warn(`Overwriting definition for card "${name}"`);
50
+ }
51
+ let cardType = cardTypes[parameters.cardType];
52
+ if (!cardType) {
53
+ if (framework) {
54
+ cardType = cardTypes[`${framework}/${parameters.cardType}`];
55
+ }
56
+ if (!cardType) {
57
+ // maybe it's a metadata card
58
+ if (_registerMetadataCard(name, parameters, registerReducer)) {
59
+ return name;
60
+ }
61
+ logger.warn("unknown card type", parameters.cardType);
62
+ return name;
63
+ }
64
+ }
65
+ const events = overrideEvents || cardType.events || {};
66
+ _createCardMapping(name, parameters, registerReducer, events);
67
+ return name;
68
+ // const props = {} as { [k: string]: unknown }
69
+ // const eventMappers = {} as { [k: string]: (ev: Action) => Action }
70
+ // const events = overrideEvents || cardType.events || {}
71
+ // Object.entries(parameters).forEach(([k, v]) => {
72
+ // if (k === "cardType") return
73
+ // if (typeof v === "object") {
74
+ // const cd = v as PiCardDef // speculative
75
+ // if (cd.cardType) {
76
+ // const cardName = `${name}/${k}`
77
+ // v = _registerCard(cardName, cd, registerReducer)
78
+ // }
79
+ // }
80
+ // if (
81
+ // k.startsWith("on") &&
82
+ // processEventParameter(k, v, events, eventMappers, registerReducer, name)
83
+ // ) {
84
+ // return
85
+ // }
86
+ // props[k] = v
87
+ // })
88
+ // cardMappings[name] = { cardType: parameters.cardType, props, eventMappers }
89
+ // return name
90
+ }
91
+ function _createCardMapping(name, parameters, registerReducer, cardEvents) {
92
+ const props = {};
93
+ const eventMappers = {};
94
+ Object.entries(parameters).forEach(([k, v]) => {
95
+ if (k === "cardType")
96
+ return;
97
+ if (typeof v === "object") {
98
+ const cd = v; // speculative
99
+ if (cd.cardType) {
100
+ const cardName = `${name}/${k}`;
101
+ v = _registerCard(cardName, cd, registerReducer);
102
+ }
103
+ }
104
+ if (k.startsWith("on") &&
105
+ processEventParameter(k, v, cardEvents, eventMappers, registerReducer, name)) {
106
+ return;
107
+ }
108
+ props[k] = v;
109
+ });
110
+ cardMappings[name] = { cardType: parameters.cardType, props, eventMappers, cardEvents };
111
+ }
112
+ function _registerMetadataCard(metaName, parameters, registerReducer) {
113
+ let mc = metacardTypes[parameters.cardType];
114
+ if (!mc) {
115
+ if (framework) {
116
+ mc = metacardTypes[`${framework}/${parameters.cardType}`];
117
+ }
118
+ if (!mc) {
119
+ return false;
120
+ }
121
+ }
122
+ function registerCard(name, parameters) {
123
+ const n = `${metaName}/${name}`;
124
+ return mc.registerCard(n, parameters);
125
+ }
126
+ const top = mc.mapper(metaName, parameters, registerCard);
127
+ _registerCard(metaName, top, registerReducer, mc.events);
128
+ return true;
129
+ }
130
+ export function createCardDeclaration(cardType) {
131
+ return (p) => ({
132
+ ...p,
133
+ cardType,
134
+ });
135
+ }
136
+ function processEventParameter(propName, value, events, eventMappers, registerReducer, cardName) {
137
+ const eva = Object.entries(events).filter((e) => propName.startsWith(e[0]));
138
+ if (eva.length === 0) {
139
+ logger.warn(`encountered property '${propName}' for card '${cardName}' which looks like an even but is not defined`);
140
+ return false;
141
+ }
142
+ // eva could actually return more than one hit if we have similar named events
143
+ let handled = false;
144
+ for (const [evName, actionType] of eva) {
145
+ if (propName === evName) {
146
+ const r = value;
147
+ registerReducer(actionType, (s, a, d) => {
148
+ const ca = a;
149
+ if (ca.cardID === cardName) {
150
+ s = r(s, ca, d);
151
+ }
152
+ return s;
153
+ });
154
+ handled = true;
155
+ break;
156
+ }
157
+ if (propName === `${evName}Mapper`) {
158
+ logger.debug("processEventParameter", cardName);
159
+ const m = value;
160
+ eventMappers[evName] = m;
161
+ handled = true;
162
+ break;
163
+ }
164
+ }
165
+ return handled;
166
+ }
167
+ export function memo(filterF, mapperF) {
168
+ const lastFilter = {};
169
+ const lastValue = {};
170
+ const isNotFirst = {};
171
+ return (state, context) => {
172
+ const k = context.cardKey || "-";
173
+ const fv = filterF(state, context);
174
+ if (isNotFirst[k] && equal(fv, lastFilter[k])) {
175
+ // nothing changed
176
+ return lastValue[k];
177
+ }
178
+ lastFilter[k] = fv;
179
+ const v = mapperF(fv, context, state);
180
+ lastValue[k] = v;
181
+ isNotFirst[k] = true;
182
+ return v;
183
+ };
184
+ }
185
+ export function Card(props) {
186
+ let cardName;
187
+ const [id, _] = React.useState(Math.floor(Math.random() * 10000));
188
+ const dispatch = useDispatch(); // never change the order of hooks called
189
+ if (typeof props.cardName === "string") {
190
+ cardName = props.cardName;
191
+ }
192
+ else {
193
+ // lets fix it
194
+ cardName = checkForAnonymousCard(props, id, dispatch);
195
+ }
196
+ if (cardName === "") {
197
+ logger.error("card name is not of type string", props.cardName);
198
+ return ErrorCard(React.createElement("div", null,
199
+ "Unknown type of cardName '",
200
+ `${props.cardName}`,
201
+ "'"));
202
+ }
203
+ const [info, errCard] = getCardInfo(cardName);
204
+ if (errCard) {
205
+ return ErrorCard(errCard);
206
+ }
207
+ if (!info) {
208
+ throw new Error("info is empty, should never happen");
209
+ }
210
+ return GenericCard(cardName, props, info, id);
211
+ }
212
+ function checkForAnonymousCard(props, id, dispatch) {
213
+ // const [id, _] = React.useState<number>(Math.floor(Math.random() * 10000))
214
+ // const dispatch = useDispatch() // never change the order of hooks called
215
+ var _a;
216
+ const cardType = (_a = props.cardName) === null || _a === void 0 ? void 0 : _a.cardType;
217
+ if (!cardType) {
218
+ return ""; // not sure what that is
219
+ }
220
+ // looks like a potentially unregistered card
221
+ let cardName;
222
+ if (props.parentCard) {
223
+ cardName = `${props.parentCard}/${cardType.split('/').pop()}`;
224
+ }
225
+ else {
226
+ cardName = cardType;
227
+ }
228
+ if (props.cardKey) {
229
+ cardName = `${cardName}#${props.cardKey}-${id}`;
230
+ }
231
+ else {
232
+ cardName = `${cardName}#${id}`;
233
+ }
234
+ // logger.debug("anonymous", cardName)
235
+ const mapping = cardMappings[cardName];
236
+ const parameters = props.cardName;
237
+ const el = dispatch2registerReducer.find(([d, _]) => d === dispatch);
238
+ if (!el) {
239
+ logger.warn("unexpected missing mapping between dispatcher and reducerF");
240
+ return "";
241
+ }
242
+ const regRed = el[1];
243
+ if (mapping) {
244
+ // looks like we already processed it
245
+ // do update props as they may have changed
246
+ _createCardMapping(cardName, parameters, regRed, mapping.cardEvents);
247
+ }
248
+ else {
249
+ _registerCard(cardName, parameters, regRed);
250
+ }
251
+ return cardName;
252
+ }
253
+ function GenericCard(cardName, props, info, id) {
254
+ const cardProps = useSelector((s) => getCardProps(cardName, s, props, info === null || info === void 0 ? void 0 : info.mapping), propEq);
255
+ const dispatch = useDispatch();
256
+ const extCardProps = appendEventHandlers(info, cardProps, cardName, dispatch);
257
+ extCardProps._cls = cls_f(cardName, info.mapping.cardType);
258
+ return React.createElement(info.cardType.component, extCardProps, props.children);
259
+ }
260
+ const EmptyCompProps = {};
261
+ function ErrorCard(el) {
262
+ // Note: call the EXACT same hooks as 'GenericCard'
263
+ useSelector((s) => EmptyCompProps, (a, b) => false);
264
+ useDispatch();
265
+ return el;
266
+ }
267
+ function getCardInfo(cardName) {
268
+ const mapping = cardMappings[cardName];
269
+ if (!mapping) {
270
+ return [undefined, renderUnknownCard(cardName)];
271
+ }
272
+ let cardType = cardTypes[mapping.cardType];
273
+ if (!cardType) {
274
+ if (framework) {
275
+ cardType = cardTypes[`${framework}/${mapping.cardType}`];
276
+ }
277
+ if (!cardType) {
278
+ return [undefined, renderUnknownCardType(mapping.cardType)];
279
+ }
280
+ }
281
+ const info = { mapping, cardType };
282
+ return [info, undefined];
283
+ }
284
+ function getCardProps(cardName, state, props, mapping) {
285
+ const ctxt = {
286
+ cardName,
287
+ cardKey: props.cardKey,
288
+ ctxtProps: props,
289
+ };
290
+ const init = {
291
+ cardName,
292
+ cardKey: props.cardKey,
293
+ };
294
+ const cprops = Object.entries(mapping.props).reduce((p, [key, vf]) => {
295
+ let v = vf;
296
+ if (typeof vf === "function") {
297
+ const f = vf;
298
+ try {
299
+ v = f(state, ctxt);
300
+ }
301
+ catch (ex) {
302
+ logger.error(`while resolving property '${key}'`, ex);
303
+ }
304
+ }
305
+ else if (key in props) {
306
+ v = props[key];
307
+ }
308
+ p[key] = v;
309
+ return p;
310
+ }, init);
311
+ return cprops;
312
+ }
313
+ function cls_f(cardName, cardComp, prefix = "pi") {
314
+ const cn = cardName.replaceAll(/[/:]/g, "_");
315
+ const cp = cardComp.replaceAll(/[/:]/g, "_");
316
+ return (nodeName, styles) => {
317
+ const na = typeof nodeName === "string" ? [nodeName] : nodeName;
318
+ const ca = [];
319
+ na.forEach((n) => {
320
+ const s = styles === null || styles === void 0 ? void 0 : styles[n];
321
+ if (s)
322
+ ca.push(s);
323
+ const nn = n.replaceAll(/[/:]/g, "_");
324
+ ca.push(`${prefix}-${cn}-${nn}`);
325
+ ca.push(`${prefix}-${cp}-${nn}`);
326
+ });
327
+ return ca.join(" ");
328
+ };
329
+ }
330
+ function propEq(oldP, newP) {
331
+ let isUnchanged = equal(oldP, newP);
332
+ // for (const [k, v] of Object.entries(newP)) {
333
+ // const ov = oldP[k]
334
+ // if (ov !== v) {
335
+ // // two empty arrays are considered to be different, but we don't agree :)
336
+ // if (!(Array.isArray(v) && !v.length && Array.isArray(ov) && !ov.length)) {
337
+ // isUnchanged = false
338
+ // break
339
+ // }
340
+ // }
341
+ // }
342
+ RegisterCardState.changed(newP.cardName, isUnchanged, newP);
343
+ return isUnchanged;
344
+ }
345
+ function appendEventHandlers(info, cardProps, cardName, dispatch) {
346
+ var _a;
347
+ RegisterCardState.props(cardName, cardProps, dispatch);
348
+ const cp = {
349
+ ...cardProps,
350
+ _dispatch: (a) => dispatch(a)
351
+ };
352
+ const events = (_a = info.cardType) === null || _a === void 0 ? void 0 : _a.events;
353
+ if (!events) {
354
+ return cp;
355
+ }
356
+ const eventMappers = info.mapping.eventMappers;
357
+ Object.entries(events).forEach(([name, actionType]) => {
358
+ const m = eventMappers[name];
359
+ if (m) {
360
+ logger.debug("setup mapper", cardName);
361
+ cp[name] = (a) => {
362
+ a.cardID = cardName;
363
+ const a2 = m(a);
364
+ if (a2)
365
+ dispatch(a2);
366
+ };
367
+ }
368
+ else {
369
+ cp[name] = (a) => {
370
+ a.type = actionType;
371
+ a.cardID = cardName;
372
+ dispatch(a);
373
+ };
374
+ }
375
+ });
376
+ return cp;
377
+ }
378
+ function renderUnknownCard(cardName) {
379
+ return React.createElement("div", null,
380
+ "Unknown card '",
381
+ cardName,
382
+ "'");
383
+ }
384
+ function renderUnknownCardType(cardType) {
385
+ return React.createElement("div", null,
386
+ "Unknown card type '",
387
+ cardType,
388
+ "'");
389
+ }
390
+ // Adding card state to redux state for debugging
391
+ export const UPDATE_STATE_ACTION = "pi/card/update_state";
392
+ export const RegisterCardState = createCardState();
393
+ function createCardState() {
394
+ const s = {};
395
+ let dispatch;
396
+ let timer;
397
+ let lastReport = 0;
398
+ // const timer
399
+ const getS = (cardName, props) => {
400
+ const name = cardName;
401
+ let e = s[name];
402
+ if (!e) {
403
+ const ts = Date.now();
404
+ e = {
405
+ changedAt: ts,
406
+ reportedAt: ts,
407
+ };
408
+ s[name] = e;
409
+ resetTimer();
410
+ }
411
+ return e;
412
+ };
413
+ const resetTimer = () => {
414
+ if (timer) {
415
+ clearTimeout(timer);
416
+ }
417
+ timer = window.setTimeout(() => {
418
+ //logger.debug("... timer went off") // , s, dispatch)
419
+ if (dispatch) {
420
+ const changed = Object.values(s).filter((s) => s.changedAt > lastReport);
421
+ if (changed.length > 0) {
422
+ clearTimeout(timer); // just in case
423
+ dispatch({ type: UPDATE_STATE_ACTION });
424
+ }
425
+ }
426
+ }, 1000);
427
+ };
428
+ const props = (cardName, cardProps, _dispatch) => {
429
+ const e = getS(cardName, cardProps);
430
+ e.cardProps = cardProps;
431
+ dispatch = _dispatch;
432
+ };
433
+ const changed = (cardName, isUnchanged, props) => {
434
+ const e = getS(cardName, props);
435
+ e.reportedAt = Date.now();
436
+ if (!isUnchanged) {
437
+ logger.debug("card has changed:", cardName);
438
+ e.changedAt = Date.now();
439
+ resetTimer();
440
+ }
441
+ };
442
+ const reducer = (state) => {
443
+ const pi = Object.values(s)
444
+ .filter((s) => s.reportedAt > lastReport)
445
+ .reduce((p, s) => {
446
+ var _a;
447
+ const cname = (_a = s.cardProps) === null || _a === void 0 ? void 0 : _a.cardName;
448
+ if (!cname) {
449
+ logger.warn("Unexpected missing card name", s);
450
+ return p;
451
+ }
452
+ const name = cname;
453
+ const props = copySafeProps(s.cardProps || {});
454
+ delete props.cardName;
455
+ delete props._cls;
456
+ p[name] = props;
457
+ return p;
458
+ }, {});
459
+ state.pihanga = pi;
460
+ lastReport = Date.now();
461
+ return state;
462
+ };
463
+ return { props, changed, reducer };
464
+ }
465
+ function copySafeProps(props) {
466
+ return Object.entries(props).reduce((p, [k, v]) => {
467
+ // const ok = (typeof v === 'undefined' || typeof v === 'string' || typeof v === 'boolean' || typeof v === 'number' || Array.isArray(v));
468
+ const sv = makeSafe(v);
469
+ p[k] = sv;
470
+ return p;
471
+ }, {});
472
+ }
473
+ function makeSafe(v) {
474
+ const t = typeof v;
475
+ if (t === 'undefined' || t === 'string' || t === 'boolean' || t === 'number') {
476
+ return v;
477
+ }
478
+ if (t === 'function') {
479
+ return "f(...)";
480
+ }
481
+ if (Array.isArray(v)) {
482
+ return v.map(makeSafe);
483
+ }
484
+ if (t === 'object') {
485
+ return Object.entries(v).reduce((p, [k, v]) => {
486
+ p[k] = makeSafe(v);
487
+ return p;
488
+ }, {});
489
+ }
490
+ logger.warn(">>> reject", v, typeof v);
491
+ return "...";
492
+ }
493
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../src/card.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { PiCardDef, PiCardRef, PiRegisterComponent, ReduxAction, ReduxState, PiReducer, PiRegisterMetaCard } from "./types";
2
+ import { PiRegisterDeleteProps, PiRegisterGetProps, PiRegisterPoPuPaProps } from "./rest";
3
+ export type { PiMapProps, PiCardDef, RegisterCardF, ReduxState, ReduxAction, DispatchF, ReduceF, PiDefCtxtProps, StateMapperContext, StateMapper, PiReducer, PiRegisterMetaCard, } from "./types";
4
+ export { registerActions, actionTypesToEvents, createOnAction } from "./redux";
5
+ export { Card, memo, createCardDeclaration, isCardRef } from "./card";
6
+ export { getLogger } from "./logger";
7
+ export type { PiCardProps, PiCardRef } from "./types";
8
+ export type { ErrorAction as RestErrorAction } from "./rest";
9
+ export { RestContentType } from "./rest";
10
+ export { showPage, onInit, onShowPage, createShowPageAction, onNavigateToPage } from "./router";
11
+ export type { ShowPageEvent, NavigateToPageEvent } from "./router";
12
+ export interface PiRegister {
13
+ card(name: string, parameters: PiCardDef): PiCardRef;
14
+ cardComponent(declaration: PiRegisterComponent): void;
15
+ /**
16
+ * Register a meta card which expands a single card definition of type `name`
17
+ * into a new set of cards which can be registered in turn through `registerCards`.
18
+ *
19
+ * The `transformF` function takes the property declaration and uses the
20
+ * the common `PiRegister` to define the inner content of this meta card
21
+ *
22
+ * @param {string} type
23
+ * @param {function} mapper
24
+ */
25
+ metaCard<C>(declaration: PiRegisterMetaCard): void;
26
+ GET<S extends ReduxState, A extends ReduxAction, R, C = any>(props: PiRegisterGetProps<S, A, R, C>): void;
27
+ PUT<S extends ReduxState, A extends ReduxAction, R, C = any>(props: PiRegisterPoPuPaProps<S, A, R, C>): void;
28
+ POST<S extends ReduxState, A extends ReduxAction, R, C = any>(props: PiRegisterPoPuPaProps<S, A, R, C>): void;
29
+ PATCH<S extends ReduxState, A extends ReduxAction, R, C = any>(props: PiRegisterPoPuPaProps<S, A, R, C>): void;
30
+ DELETE<S extends ReduxState, A extends ReduxAction, R, C = any>(props: PiRegisterDeleteProps<S, A, R, C>): void;
31
+ reducer: PiReducer;
32
+ }
33
+ export declare const DEFAULT_REDUX_STATE: {
34
+ route: {
35
+ path: never[];
36
+ query: {};
37
+ url: string;
38
+ fromBrowser: boolean;
39
+ };
40
+ pihanga: {};
41
+ };
42
+ export type StartProps = {
43
+ disableSerializableStateCheck?: boolean;
44
+ disableSerializableActionCheck?: boolean;
45
+ ignoredActions?: string[];
46
+ ignoredActionPaths?: string[];
47
+ ignoredStatePaths?: string[];
48
+ };
49
+ export declare function start<S extends Partial<ReduxState>>(initialState: S, inits?: ((register: PiRegister) => void)[], props?: StartProps): PiRegister;
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}