@applicaster/zapp-react-native-utils 13.0.0-rc.87 → 13.0.0-rc.89
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/actionsExecutor/ActionExecutorContext.tsx +2 -1
- package/appUtils/HooksManager/Hook.ts +4 -0
- package/appUtils/HooksManager/index.ts +2 -0
- package/dateUtils/index.ts +2 -0
- package/package.json +2 -2
- package/utils/README.md +30 -0
- package/utils/chunk.ts +5 -0
- package/utils/index.ts +5 -0
- package/utils/times.ts +5 -0
|
@@ -274,7 +274,7 @@ export function withActionExecutor(Component) {
|
|
|
274
274
|
useEffect(() => {
|
|
275
275
|
return _actionExecutor.registerAction(
|
|
276
276
|
"navigateToScreen",
|
|
277
|
-
async (action: ActionType,
|
|
277
|
+
async (action: ActionType, context?: Record<string, any>) => {
|
|
278
278
|
const screenType = action.options?.typeMapping;
|
|
279
279
|
|
|
280
280
|
if (!screenType) {
|
|
@@ -301,6 +301,7 @@ export function withActionExecutor(Component) {
|
|
|
301
301
|
return ActionResult.Error;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
+
context?.callback?.({ success: false, error: null, abort: true });
|
|
304
305
|
navigator.replace(river);
|
|
305
306
|
|
|
306
307
|
return ActionResult.Success;
|
|
@@ -65,6 +65,10 @@ export class Hook implements HookInterface {
|
|
|
65
65
|
event: (typeof HOOKS_EVENTS)[keyof typeof HOOKS_EVENTS],
|
|
66
66
|
...args
|
|
67
67
|
) {
|
|
68
|
+
if (this.state === hookState(HOOKS_EVENTS.CANCEL)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
68
72
|
this.state = hookState(event);
|
|
69
73
|
this.manager.subscriber.invokeHandler(event, ...args);
|
|
70
74
|
}
|
|
@@ -269,6 +269,7 @@ export function HooksManager({
|
|
|
269
269
|
payload = initialPayload,
|
|
270
270
|
callback: callbackArg,
|
|
271
271
|
cancelled,
|
|
272
|
+
abort,
|
|
272
273
|
}) {
|
|
273
274
|
let callback = callbackArg;
|
|
274
275
|
|
|
@@ -308,6 +309,7 @@ export function HooksManager({
|
|
|
308
309
|
hookPlugin.setStateAndNotify(HOOKS_EVENTS.CANCEL, {
|
|
309
310
|
hookPlugin,
|
|
310
311
|
payload,
|
|
312
|
+
abort,
|
|
311
313
|
});
|
|
312
314
|
|
|
313
315
|
const isHookInHomescreen = payload?.home;
|
package/dateUtils/index.ts
CHANGED
|
@@ -2,10 +2,12 @@ import dayjs from "dayjs";
|
|
|
2
2
|
import utc from "dayjs/plugin/utc";
|
|
3
3
|
import timezone from "dayjs/plugin/timezone";
|
|
4
4
|
import isoWeek from "dayjs/plugin/isoWeek";
|
|
5
|
+
import duration from "dayjs/plugin/duration";
|
|
5
6
|
|
|
6
7
|
// Extend dayjs with plugins
|
|
7
8
|
dayjs.extend(utc);
|
|
8
9
|
dayjs.extend(timezone);
|
|
9
10
|
dayjs.extend(isoWeek);
|
|
11
|
+
dayjs.extend(duration);
|
|
10
12
|
|
|
11
13
|
export { dayjs };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/zapp-react-native-utils",
|
|
3
|
-
"version": "13.0.0-rc.
|
|
3
|
+
"version": "13.0.0-rc.89",
|
|
4
4
|
"description": "Applicaster Zapp React Native utilities package",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/applicaster/quickbrick#readme",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@applicaster/applicaster-types": "13.0.0-rc.
|
|
30
|
+
"@applicaster/applicaster-types": "13.0.0-rc.89",
|
|
31
31
|
"buffer": "^5.2.1",
|
|
32
32
|
"camelize": "^1.0.0",
|
|
33
33
|
"dayjs": "^1.11.10",
|
package/utils/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
### ramda replacement utils
|
|
2
|
+
|
|
3
|
+
See contribution guide below
|
|
4
|
+
|
|
5
|
+
## Reference
|
|
6
|
+
|
|
7
|
+
Prefer non-fp variant as it more performant - if refactoring assumes you need more efforts rewrite ramda sample to lodash and it can be easily replaced with lodash-fp - use lodash-fp.
|
|
8
|
+
|
|
9
|
+
### Ramda alternatives:
|
|
10
|
+
|
|
11
|
+
Custom
|
|
12
|
+
- `splitEvery` => `chunk`
|
|
13
|
+
- `times` => `times`
|
|
14
|
+
|
|
15
|
+
From `lodash`
|
|
16
|
+
- `clone` => `clone`
|
|
17
|
+
- `flatten` => `flatten`
|
|
18
|
+
- `drop` => `drop`
|
|
19
|
+
- `length` => `size`
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Contribution
|
|
23
|
+
|
|
24
|
+
To add new helper function as ramda replacement
|
|
25
|
+
|
|
26
|
+
1. Search for replacement ( you can use lodash or pure JS solution), arguments should match with Ramda definition (for easier transition).
|
|
27
|
+
2. Add new file if needed, add test, update exports in index file. 2.1. Make sure it's well-typed.
|
|
28
|
+
3. If the function can-be reexported from other 3rd party lib - update index.ts to re-export it.
|
|
29
|
+
4. Make sure README is updated and contains reference for newly added function.
|
|
30
|
+
5. You can use AI's help. Use query like 'lodash & lodash/fp equivalent of Ramda's R.clone function' to get an options you can use.
|
package/utils/chunk.ts
ADDED
package/utils/index.ts
ADDED