@legendapp/state 3.0.0-beta.11 → 3.0.0-beta.13
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/config/enableReactComponents.js +3 -1
- package/config/enableReactComponents.mjs +3 -1
- package/index.d.mts +1 -0
- package/index.d.ts +1 -0
- package/index.js +29 -5
- package/index.mjs +29 -5
- package/package.json +1 -1
- package/react-reactive/enableReactComponents.js +3 -1
- package/react-reactive/enableReactComponents.mjs +3 -1
- package/react-reactive/enableReactive.js +3 -1
- package/react-reactive/enableReactive.mjs +3 -1
- package/react.d.mts +23 -12
- package/react.d.ts +23 -12
- package/react.js +13 -9
- package/react.mjs +13 -9
- package/sync-plugins/crud.d.mts +5 -2
- package/sync-plugins/crud.d.ts +5 -2
- package/sync-plugins/keel.js +1 -1
- package/sync-plugins/keel.mjs +1 -1
|
@@ -4,7 +4,9 @@ var react = require('@legendapp/state/react');
|
|
|
4
4
|
|
|
5
5
|
// src/config/enableReactComponents.ts
|
|
6
6
|
function enableReactComponents() {
|
|
7
|
-
const bindInfo = {
|
|
7
|
+
const bindInfo = {
|
|
8
|
+
value: { handler: "onChange", getValue: (e) => e.target.value, defaultValue: "" }
|
|
9
|
+
};
|
|
8
10
|
const bindInfoInput = Object.assign(
|
|
9
11
|
{ checked: { handler: "onChange", getValue: (e) => e.target.checked } },
|
|
10
12
|
bindInfo
|
|
@@ -2,7 +2,9 @@ import { configureReactive } from '@legendapp/state/react';
|
|
|
2
2
|
|
|
3
3
|
// src/config/enableReactComponents.ts
|
|
4
4
|
function enableReactComponents() {
|
|
5
|
-
const bindInfo = {
|
|
5
|
+
const bindInfo = {
|
|
6
|
+
value: { handler: "onChange", getValue: (e) => e.target.value, defaultValue: "" }
|
|
7
|
+
};
|
|
6
8
|
const bindInfoInput = Object.assign(
|
|
7
9
|
{ checked: { handler: "onChange", getValue: (e) => e.target.checked } },
|
|
8
10
|
bindInfo
|
package/index.d.mts
CHANGED
|
@@ -108,6 +108,7 @@ declare function getNode(value$: ObservableParam): NodeInfo;
|
|
|
108
108
|
declare function setNodeValue(node: NodeInfo, newValue: any): {
|
|
109
109
|
prevValue: any;
|
|
110
110
|
newValue: any;
|
|
111
|
+
parentValue: any;
|
|
111
112
|
};
|
|
112
113
|
declare function getNodeValue(node: NodeInfo): any;
|
|
113
114
|
declare function ensureNodeValue(node: NodeInfo): any;
|
package/index.d.ts
CHANGED
|
@@ -108,6 +108,7 @@ declare function getNode(value$: ObservableParam): NodeInfo;
|
|
|
108
108
|
declare function setNodeValue(node: NodeInfo, newValue: any): {
|
|
109
109
|
prevValue: any;
|
|
110
110
|
newValue: any;
|
|
111
|
+
parentValue: any;
|
|
111
112
|
};
|
|
112
113
|
declare function getNodeValue(node: NodeInfo): any;
|
|
113
114
|
declare function ensureNodeValue(node: NodeInfo): any;
|
package/index.js
CHANGED
|
@@ -181,7 +181,7 @@ function setNodeValue(node, newValue) {
|
|
|
181
181
|
parentNode.isSetting--;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
return { prevValue, newValue };
|
|
184
|
+
return { prevValue, newValue, parentValue };
|
|
185
185
|
}
|
|
186
186
|
var arrNodeKeys = [];
|
|
187
187
|
function getNodeValue(node) {
|
|
@@ -1588,7 +1588,7 @@ function setKey(node, key, newValue, level) {
|
|
|
1588
1588
|
if (isObservable(newValue)) {
|
|
1589
1589
|
setToObservable(childNode, newValue);
|
|
1590
1590
|
} else {
|
|
1591
|
-
const { newValue: savedValue, prevValue } = setNodeValue(childNode, newValue);
|
|
1591
|
+
const { newValue: savedValue, prevValue, parentValue } = setNodeValue(childNode, newValue);
|
|
1592
1592
|
const isPrim = isPrimitive(savedValue) || savedValue instanceof Date;
|
|
1593
1593
|
if (!isPrim) {
|
|
1594
1594
|
let parent = childNode;
|
|
@@ -1600,7 +1600,17 @@ function setKey(node, key, newValue, level) {
|
|
|
1600
1600
|
const notify2 = !equals(savedValue, prevValue);
|
|
1601
1601
|
const forceNotify = !notify2 && childNode.isComputing && !isPrim;
|
|
1602
1602
|
if (notify2 || forceNotify) {
|
|
1603
|
-
updateNodesAndNotify(
|
|
1603
|
+
updateNodesAndNotify(
|
|
1604
|
+
node,
|
|
1605
|
+
savedValue,
|
|
1606
|
+
prevValue,
|
|
1607
|
+
childNode,
|
|
1608
|
+
parentValue,
|
|
1609
|
+
isPrim,
|
|
1610
|
+
isRoot,
|
|
1611
|
+
level,
|
|
1612
|
+
forceNotify
|
|
1613
|
+
);
|
|
1604
1614
|
}
|
|
1605
1615
|
extractFunctionOrComputed(node, key, savedValue);
|
|
1606
1616
|
}
|
|
@@ -1707,7 +1717,7 @@ function handlerMapSet(node, p, value) {
|
|
|
1707
1717
|
};
|
|
1708
1718
|
}
|
|
1709
1719
|
}
|
|
1710
|
-
function updateNodesAndNotify(node, newValue, prevValue, childNode, isPrim, isRoot, level, forceNotify) {
|
|
1720
|
+
function updateNodesAndNotify(node, newValue, prevValue, childNode, parentValue, isPrim, isRoot, level, forceNotify) {
|
|
1711
1721
|
if (!childNode)
|
|
1712
1722
|
childNode = node;
|
|
1713
1723
|
beginBatch();
|
|
@@ -1716,15 +1726,29 @@ function updateNodesAndNotify(node, newValue, prevValue, childNode, isPrim, isRo
|
|
|
1716
1726
|
}
|
|
1717
1727
|
let hasADiff = forceNotify || isPrim;
|
|
1718
1728
|
let whenOptimizedOnlyIf = false;
|
|
1729
|
+
let valueAsArr;
|
|
1730
|
+
let valueAsMap;
|
|
1719
1731
|
if (!isPrim || prevValue && !isPrimitive(prevValue)) {
|
|
1720
1732
|
if ((process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test") && typeof __devUpdateNodes !== "undefined") {
|
|
1721
1733
|
__devUpdateNodes.clear();
|
|
1722
1734
|
}
|
|
1723
1735
|
hasADiff = hasADiff || updateNodes(childNode, newValue, prevValue);
|
|
1724
1736
|
if (isArray(newValue)) {
|
|
1725
|
-
|
|
1737
|
+
valueAsArr = newValue;
|
|
1738
|
+
} else if (isMap(newValue) || isSet(newValue)) {
|
|
1739
|
+
valueAsMap = newValue;
|
|
1726
1740
|
}
|
|
1727
1741
|
}
|
|
1742
|
+
if (isArray(parentValue)) {
|
|
1743
|
+
valueAsArr = parentValue;
|
|
1744
|
+
} else if (isMap(parentValue) || isSet(parentValue)) {
|
|
1745
|
+
valueAsMap = parentValue;
|
|
1746
|
+
}
|
|
1747
|
+
if (valueAsArr) {
|
|
1748
|
+
whenOptimizedOnlyIf = (valueAsArr == null ? void 0 : valueAsArr.length) !== (prevValue == null ? void 0 : prevValue.length);
|
|
1749
|
+
} else if (valueAsMap) {
|
|
1750
|
+
whenOptimizedOnlyIf = (valueAsMap == null ? void 0 : valueAsMap.size) !== (prevValue == null ? void 0 : prevValue.size);
|
|
1751
|
+
}
|
|
1728
1752
|
if (isPrim || !newValue || isEmpty(newValue) && !isEmpty(prevValue) ? newValue !== prevValue : hasADiff) {
|
|
1729
1753
|
notify(
|
|
1730
1754
|
isPrim && isRoot ? node : childNode,
|
package/index.mjs
CHANGED
|
@@ -179,7 +179,7 @@ function setNodeValue(node, newValue) {
|
|
|
179
179
|
parentNode.isSetting--;
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
return { prevValue, newValue };
|
|
182
|
+
return { prevValue, newValue, parentValue };
|
|
183
183
|
}
|
|
184
184
|
var arrNodeKeys = [];
|
|
185
185
|
function getNodeValue(node) {
|
|
@@ -1586,7 +1586,7 @@ function setKey(node, key, newValue, level) {
|
|
|
1586
1586
|
if (isObservable(newValue)) {
|
|
1587
1587
|
setToObservable(childNode, newValue);
|
|
1588
1588
|
} else {
|
|
1589
|
-
const { newValue: savedValue, prevValue } = setNodeValue(childNode, newValue);
|
|
1589
|
+
const { newValue: savedValue, prevValue, parentValue } = setNodeValue(childNode, newValue);
|
|
1590
1590
|
const isPrim = isPrimitive(savedValue) || savedValue instanceof Date;
|
|
1591
1591
|
if (!isPrim) {
|
|
1592
1592
|
let parent = childNode;
|
|
@@ -1598,7 +1598,17 @@ function setKey(node, key, newValue, level) {
|
|
|
1598
1598
|
const notify2 = !equals(savedValue, prevValue);
|
|
1599
1599
|
const forceNotify = !notify2 && childNode.isComputing && !isPrim;
|
|
1600
1600
|
if (notify2 || forceNotify) {
|
|
1601
|
-
updateNodesAndNotify(
|
|
1601
|
+
updateNodesAndNotify(
|
|
1602
|
+
node,
|
|
1603
|
+
savedValue,
|
|
1604
|
+
prevValue,
|
|
1605
|
+
childNode,
|
|
1606
|
+
parentValue,
|
|
1607
|
+
isPrim,
|
|
1608
|
+
isRoot,
|
|
1609
|
+
level,
|
|
1610
|
+
forceNotify
|
|
1611
|
+
);
|
|
1602
1612
|
}
|
|
1603
1613
|
extractFunctionOrComputed(node, key, savedValue);
|
|
1604
1614
|
}
|
|
@@ -1705,7 +1715,7 @@ function handlerMapSet(node, p, value) {
|
|
|
1705
1715
|
};
|
|
1706
1716
|
}
|
|
1707
1717
|
}
|
|
1708
|
-
function updateNodesAndNotify(node, newValue, prevValue, childNode, isPrim, isRoot, level, forceNotify) {
|
|
1718
|
+
function updateNodesAndNotify(node, newValue, prevValue, childNode, parentValue, isPrim, isRoot, level, forceNotify) {
|
|
1709
1719
|
if (!childNode)
|
|
1710
1720
|
childNode = node;
|
|
1711
1721
|
beginBatch();
|
|
@@ -1714,15 +1724,29 @@ function updateNodesAndNotify(node, newValue, prevValue, childNode, isPrim, isRo
|
|
|
1714
1724
|
}
|
|
1715
1725
|
let hasADiff = forceNotify || isPrim;
|
|
1716
1726
|
let whenOptimizedOnlyIf = false;
|
|
1727
|
+
let valueAsArr;
|
|
1728
|
+
let valueAsMap;
|
|
1717
1729
|
if (!isPrim || prevValue && !isPrimitive(prevValue)) {
|
|
1718
1730
|
if ((process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test") && typeof __devUpdateNodes !== "undefined") {
|
|
1719
1731
|
__devUpdateNodes.clear();
|
|
1720
1732
|
}
|
|
1721
1733
|
hasADiff = hasADiff || updateNodes(childNode, newValue, prevValue);
|
|
1722
1734
|
if (isArray(newValue)) {
|
|
1723
|
-
|
|
1735
|
+
valueAsArr = newValue;
|
|
1736
|
+
} else if (isMap(newValue) || isSet(newValue)) {
|
|
1737
|
+
valueAsMap = newValue;
|
|
1724
1738
|
}
|
|
1725
1739
|
}
|
|
1740
|
+
if (isArray(parentValue)) {
|
|
1741
|
+
valueAsArr = parentValue;
|
|
1742
|
+
} else if (isMap(parentValue) || isSet(parentValue)) {
|
|
1743
|
+
valueAsMap = parentValue;
|
|
1744
|
+
}
|
|
1745
|
+
if (valueAsArr) {
|
|
1746
|
+
whenOptimizedOnlyIf = (valueAsArr == null ? void 0 : valueAsArr.length) !== (prevValue == null ? void 0 : prevValue.length);
|
|
1747
|
+
} else if (valueAsMap) {
|
|
1748
|
+
whenOptimizedOnlyIf = (valueAsMap == null ? void 0 : valueAsMap.size) !== (prevValue == null ? void 0 : prevValue.size);
|
|
1749
|
+
}
|
|
1726
1750
|
if (isPrim || !newValue || isEmpty(newValue) && !isEmpty(prevValue) ? newValue !== prevValue : hasADiff) {
|
|
1727
1751
|
notify(
|
|
1728
1752
|
isPrim && isRoot ? node : childNode,
|
package/package.json
CHANGED
|
@@ -7,7 +7,9 @@ function enableReactComponents_(config) {
|
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
9
|
isEnabled = true;
|
|
10
|
-
const bindInfo = {
|
|
10
|
+
const bindInfo = {
|
|
11
|
+
value: { handler: "onChange", getValue: (e) => e.target.value, defaultValue: "" }
|
|
12
|
+
};
|
|
11
13
|
const bindInfoInput = Object.assign(
|
|
12
14
|
{ checked: { handler: "onChange", getValue: (e) => e.target.checked } },
|
|
13
15
|
bindInfo
|
|
@@ -5,7 +5,9 @@ function enableReactComponents_(config) {
|
|
|
5
5
|
return;
|
|
6
6
|
}
|
|
7
7
|
isEnabled = true;
|
|
8
|
-
const bindInfo = {
|
|
8
|
+
const bindInfo = {
|
|
9
|
+
value: { handler: "onChange", getValue: (e) => e.target.value, defaultValue: "" }
|
|
10
|
+
};
|
|
9
11
|
const bindInfoInput = Object.assign(
|
|
10
12
|
{ checked: { handler: "onChange", getValue: (e) => e.target.checked } },
|
|
11
13
|
bindInfo
|
|
@@ -7,7 +7,9 @@ function enableReactComponents_(config) {
|
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
9
|
isEnabled = true;
|
|
10
|
-
const bindInfo = {
|
|
10
|
+
const bindInfo = {
|
|
11
|
+
value: { handler: "onChange", getValue: (e) => e.target.value, defaultValue: "" }
|
|
12
|
+
};
|
|
11
13
|
const bindInfoInput = Object.assign(
|
|
12
14
|
{ checked: { handler: "onChange", getValue: (e) => e.target.checked } },
|
|
13
15
|
bindInfo
|
|
@@ -5,7 +5,9 @@ function enableReactComponents_(config) {
|
|
|
5
5
|
return;
|
|
6
6
|
}
|
|
7
7
|
isEnabled = true;
|
|
8
|
-
const bindInfo = {
|
|
8
|
+
const bindInfo = {
|
|
9
|
+
value: { handler: "onChange", getValue: (e) => e.target.value, defaultValue: "" }
|
|
10
|
+
};
|
|
9
11
|
const bindInfoInput = Object.assign(
|
|
10
12
|
{ checked: { handler: "onChange", getValue: (e) => e.target.checked } },
|
|
11
13
|
bindInfo
|
package/react.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { ReactNode, ReactElement, FC, LegacyRef, DependencyList, ReducerWithoutAction, ReducerStateWithoutAction, DispatchWithoutAction, Reducer, ReducerState, Dispatch, ReducerAction, ComponentClass } from 'react';
|
|
3
3
|
import { ObservableParam, Observable, ObservableBoolean, Selector, RecursiveValueOrFunction, ObserveOptions, ObserveEvent, ObserveEventCallback } from '@legendapp/state';
|
|
4
4
|
|
|
@@ -22,11 +22,11 @@ declare function For<T, TProps>({ each, optimized: isOptimized, item, itemProps,
|
|
|
22
22
|
declare function usePauseProvider(): {
|
|
23
23
|
PauseProvider: ({ children }: {
|
|
24
24
|
children: ReactNode;
|
|
25
|
-
}) =>
|
|
25
|
+
}) => React.FunctionComponentElement<React.ProviderProps<ObservableBoolean>>;
|
|
26
26
|
isPaused$: ObservableBoolean;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
declare const Memo:
|
|
29
|
+
declare const Memo: React.MemoExoticComponent<typeof Computed>;
|
|
30
30
|
|
|
31
31
|
interface IReactive {
|
|
32
32
|
}
|
|
@@ -71,13 +71,13 @@ type ShapeWithNew$<T> = Partial<Omit<T, 'children'>> & {
|
|
|
71
71
|
} & {
|
|
72
72
|
children?: Selector<ReactNode>;
|
|
73
73
|
};
|
|
74
|
-
interface BindKey<P> {
|
|
75
|
-
handler?:
|
|
76
|
-
getValue?: (e: any) => any;
|
|
74
|
+
interface BindKey<P, K extends keyof P = keyof P> {
|
|
75
|
+
handler?: K;
|
|
76
|
+
getValue?: P[K] extends infer T ? T extends (...args: any) => any ? (params: Parameters<T>[0]) => any : (e: any) => any : (e: any) => any;
|
|
77
77
|
defaultValue?: any;
|
|
78
78
|
selector?: (propsOut: Record<string, any>, p: Observable<any>) => any;
|
|
79
79
|
}
|
|
80
|
-
type BindKeys<P = any> = Partial<Record<
|
|
80
|
+
type BindKeys<P = any, K extends keyof P = keyof P> = Partial<Record<K, BindKey<P>>>;
|
|
81
81
|
type FCReactiveObject<T> = {
|
|
82
82
|
[K in keyof T]: FC<ShapeWithNew$<T[K]>>;
|
|
83
83
|
};
|
|
@@ -99,12 +99,23 @@ type ObjectShapeWith$<T> = {
|
|
|
99
99
|
[K in keyof T]: T[K] extends FC<infer P> ? FC<ShapeWith$<P>> : T[K];
|
|
100
100
|
};
|
|
101
101
|
type ExtractFCPropsType<T> = T extends FC<infer P> ? P : never;
|
|
102
|
+
type ReactifyProps<T, K extends keyof T> = Omit<T, K> & {
|
|
103
|
+
[P in K]: Selector<T[P]>;
|
|
104
|
+
};
|
|
102
105
|
declare const hasSymbol: false | ((key: string) => symbol);
|
|
103
106
|
declare function observer<P extends FC<any>>(component: P): P;
|
|
104
|
-
declare function reactive<T extends
|
|
105
|
-
declare function reactive<T extends
|
|
106
|
-
declare function
|
|
107
|
-
declare function
|
|
107
|
+
declare function reactive<T extends object>(component: React.FC<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
108
|
+
declare function reactive<T extends object>(component: React.ForwardRefExoticComponent<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
109
|
+
declare function reactive<T extends object, K extends keyof T>(component: React.FC<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.FC<ReactifyProps<T, K>>;
|
|
110
|
+
declare function reactive<T extends object, K extends keyof T>(component: React.ForwardRefExoticComponent<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.ForwardRefExoticComponent<ReactifyProps<T, K>>;
|
|
111
|
+
declare function reactive<T extends object>(component: React.FC<T>): React.FC<ShapeWith$<T>>;
|
|
112
|
+
declare function reactive<T extends object>(component: React.ForwardRefExoticComponent<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
113
|
+
declare function reactiveObserver<T extends object>(component: React.FC<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
114
|
+
declare function reactiveObserver<T extends object>(component: React.ForwardRefExoticComponent<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
115
|
+
declare function reactiveObserver<T extends object, K extends keyof T>(component: React.FC<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.FC<ReactifyProps<T, K>>;
|
|
116
|
+
declare function reactiveObserver<T extends object, K extends keyof T>(component: React.ForwardRefExoticComponent<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.ForwardRefExoticComponent<ReactifyProps<T, K>>;
|
|
117
|
+
declare function reactiveObserver<T extends object>(component: React.FC<T>): React.FC<ShapeWith$<T>>;
|
|
118
|
+
declare function reactiveObserver<T extends object>(component: React.ForwardRefExoticComponent<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
108
119
|
declare function reactiveComponents<P extends Record<string, FC>>(components: P): ObjectShapeWith$<P>;
|
|
109
120
|
|
|
110
121
|
declare function useComputed<T>(get: () => T | Promise<T>): Observable<T>;
|
|
@@ -161,4 +172,4 @@ declare function configureReactive({ components, binders, }: {
|
|
|
161
172
|
binders?: Record<string, BindKeys>;
|
|
162
173
|
}): void;
|
|
163
174
|
|
|
164
|
-
export { type BindKey, type BindKeys, Computed, type ExtractFCPropsType, type FCReactive, type FCReactiveObject, For, type IReactive, Memo, type ObjectShapeWith$, Reactive, type ShapeWith$, type ShapeWithNew$, type ShapeWithPick$, Show, Switch, type UseObserveOptions, type UseSelectorOptions, configureReactive, hasSymbol, observer, reactive, reactiveComponents, reactiveObserver, useComputed, useEffectOnce, useIsMounted, useMount, useMountOnce, useObservable, useObservableReducer, useObserve, useObserveEffect, usePauseProvider, useSelector, useUnmount, useUnmountOnce, useWhen, useWhenReady };
|
|
175
|
+
export { type BindKey, type BindKeys, Computed, type ExtractFCPropsType, type FCReactive, type FCReactiveObject, For, type IReactive, Memo, type ObjectShapeWith$, type ReactifyProps, Reactive, type ShapeWith$, type ShapeWithNew$, type ShapeWithPick$, Show, Switch, type UseObserveOptions, type UseSelectorOptions, configureReactive, hasSymbol, observer, reactive, reactiveComponents, reactiveObserver, useComputed, useEffectOnce, useIsMounted, useMount, useMountOnce, useObservable, useObservableReducer, useObserve, useObserveEffect, usePauseProvider, useSelector, useUnmount, useUnmountOnce, useWhen, useWhenReady };
|
package/react.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { ReactNode, ReactElement, FC, LegacyRef, DependencyList, ReducerWithoutAction, ReducerStateWithoutAction, DispatchWithoutAction, Reducer, ReducerState, Dispatch, ReducerAction, ComponentClass } from 'react';
|
|
3
3
|
import { ObservableParam, Observable, ObservableBoolean, Selector, RecursiveValueOrFunction, ObserveOptions, ObserveEvent, ObserveEventCallback } from '@legendapp/state';
|
|
4
4
|
|
|
@@ -22,11 +22,11 @@ declare function For<T, TProps>({ each, optimized: isOptimized, item, itemProps,
|
|
|
22
22
|
declare function usePauseProvider(): {
|
|
23
23
|
PauseProvider: ({ children }: {
|
|
24
24
|
children: ReactNode;
|
|
25
|
-
}) =>
|
|
25
|
+
}) => React.FunctionComponentElement<React.ProviderProps<ObservableBoolean>>;
|
|
26
26
|
isPaused$: ObservableBoolean;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
declare const Memo:
|
|
29
|
+
declare const Memo: React.MemoExoticComponent<typeof Computed>;
|
|
30
30
|
|
|
31
31
|
interface IReactive {
|
|
32
32
|
}
|
|
@@ -71,13 +71,13 @@ type ShapeWithNew$<T> = Partial<Omit<T, 'children'>> & {
|
|
|
71
71
|
} & {
|
|
72
72
|
children?: Selector<ReactNode>;
|
|
73
73
|
};
|
|
74
|
-
interface BindKey<P> {
|
|
75
|
-
handler?:
|
|
76
|
-
getValue?: (e: any) => any;
|
|
74
|
+
interface BindKey<P, K extends keyof P = keyof P> {
|
|
75
|
+
handler?: K;
|
|
76
|
+
getValue?: P[K] extends infer T ? T extends (...args: any) => any ? (params: Parameters<T>[0]) => any : (e: any) => any : (e: any) => any;
|
|
77
77
|
defaultValue?: any;
|
|
78
78
|
selector?: (propsOut: Record<string, any>, p: Observable<any>) => any;
|
|
79
79
|
}
|
|
80
|
-
type BindKeys<P = any> = Partial<Record<
|
|
80
|
+
type BindKeys<P = any, K extends keyof P = keyof P> = Partial<Record<K, BindKey<P>>>;
|
|
81
81
|
type FCReactiveObject<T> = {
|
|
82
82
|
[K in keyof T]: FC<ShapeWithNew$<T[K]>>;
|
|
83
83
|
};
|
|
@@ -99,12 +99,23 @@ type ObjectShapeWith$<T> = {
|
|
|
99
99
|
[K in keyof T]: T[K] extends FC<infer P> ? FC<ShapeWith$<P>> : T[K];
|
|
100
100
|
};
|
|
101
101
|
type ExtractFCPropsType<T> = T extends FC<infer P> ? P : never;
|
|
102
|
+
type ReactifyProps<T, K extends keyof T> = Omit<T, K> & {
|
|
103
|
+
[P in K]: Selector<T[P]>;
|
|
104
|
+
};
|
|
102
105
|
declare const hasSymbol: false | ((key: string) => symbol);
|
|
103
106
|
declare function observer<P extends FC<any>>(component: P): P;
|
|
104
|
-
declare function reactive<T extends
|
|
105
|
-
declare function reactive<T extends
|
|
106
|
-
declare function
|
|
107
|
-
declare function
|
|
107
|
+
declare function reactive<T extends object>(component: React.FC<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
108
|
+
declare function reactive<T extends object>(component: React.ForwardRefExoticComponent<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
109
|
+
declare function reactive<T extends object, K extends keyof T>(component: React.FC<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.FC<ReactifyProps<T, K>>;
|
|
110
|
+
declare function reactive<T extends object, K extends keyof T>(component: React.ForwardRefExoticComponent<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.ForwardRefExoticComponent<ReactifyProps<T, K>>;
|
|
111
|
+
declare function reactive<T extends object>(component: React.FC<T>): React.FC<ShapeWith$<T>>;
|
|
112
|
+
declare function reactive<T extends object>(component: React.ForwardRefExoticComponent<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
113
|
+
declare function reactiveObserver<T extends object>(component: React.FC<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
114
|
+
declare function reactiveObserver<T extends object>(component: React.ForwardRefExoticComponent<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
115
|
+
declare function reactiveObserver<T extends object, K extends keyof T>(component: React.FC<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.FC<ReactifyProps<T, K>>;
|
|
116
|
+
declare function reactiveObserver<T extends object, K extends keyof T>(component: React.ForwardRefExoticComponent<T>, keys: K[] | (keyof T)[], bindKeys?: BindKeys<T, K>): React.ForwardRefExoticComponent<ReactifyProps<T, K>>;
|
|
117
|
+
declare function reactiveObserver<T extends object>(component: React.FC<T>): React.FC<ShapeWith$<T>>;
|
|
118
|
+
declare function reactiveObserver<T extends object>(component: React.ForwardRefExoticComponent<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
108
119
|
declare function reactiveComponents<P extends Record<string, FC>>(components: P): ObjectShapeWith$<P>;
|
|
109
120
|
|
|
110
121
|
declare function useComputed<T>(get: () => T | Promise<T>): Observable<T>;
|
|
@@ -161,4 +172,4 @@ declare function configureReactive({ components, binders, }: {
|
|
|
161
172
|
binders?: Record<string, BindKeys>;
|
|
162
173
|
}): void;
|
|
163
174
|
|
|
164
|
-
export { type BindKey, type BindKeys, Computed, type ExtractFCPropsType, type FCReactive, type FCReactiveObject, For, type IReactive, Memo, type ObjectShapeWith$, Reactive, type ShapeWith$, type ShapeWithNew$, type ShapeWithPick$, Show, Switch, type UseObserveOptions, type UseSelectorOptions, configureReactive, hasSymbol, observer, reactive, reactiveComponents, reactiveObserver, useComputed, useEffectOnce, useIsMounted, useMount, useMountOnce, useObservable, useObservableReducer, useObserve, useObserveEffect, usePauseProvider, useSelector, useUnmount, useUnmountOnce, useWhen, useWhenReady };
|
|
175
|
+
export { type BindKey, type BindKeys, Computed, type ExtractFCPropsType, type FCReactive, type FCReactiveObject, For, type IReactive, Memo, type ObjectShapeWith$, type ReactifyProps, Reactive, type ShapeWith$, type ShapeWithNew$, type ShapeWithPick$, Show, Switch, type UseObserveOptions, type UseSelectorOptions, configureReactive, hasSymbol, observer, reactive, reactiveComponents, reactiveObserver, useComputed, useEffectOnce, useIsMounted, useMount, useMountOnce, useObservable, useObservableReducer, useObserve, useObserveEffect, usePauseProvider, useSelector, useUnmount, useUnmountOnce, useWhen, useWhenReady };
|
package/react.js
CHANGED
|
@@ -140,7 +140,7 @@ function Computed({ children }) {
|
|
|
140
140
|
}
|
|
141
141
|
var hasSymbol = typeof Symbol === "function" && Symbol.for;
|
|
142
142
|
var didWarnProps = false;
|
|
143
|
-
function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
143
|
+
function createReactiveComponent(component, observe3, reactive2, keysReactive, bindKeys) {
|
|
144
144
|
const ReactForwardRefSymbol = hasSymbol ? Symbol.for("react.forward_ref") : (
|
|
145
145
|
// eslint-disable-next-line react/display-name, @typescript-eslint/no-unused-vars
|
|
146
146
|
typeof React.forwardRef === "function" && React.forwardRef((props) => null)["$$typeof"]
|
|
@@ -165,6 +165,7 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
165
165
|
throw new Error(`[legend-state] \`render\` property of ForwardRef was not a function`);
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
+
const keysReactiveSet = keysReactive ? new Set(keysReactive) : void 0;
|
|
168
169
|
const proxyHandler = {
|
|
169
170
|
apply(target, thisArg, argArray) {
|
|
170
171
|
if (reactive2) {
|
|
@@ -174,9 +175,10 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
174
175
|
for (let i = 0; i < keys.length; i++) {
|
|
175
176
|
const key = keys[i];
|
|
176
177
|
const p = props[key];
|
|
178
|
+
const isReactiveKey = keysReactiveSet && keysReactiveSet.has(key);
|
|
177
179
|
if (key === "children" && (state.isFunction(p) || state.isObservable(p))) {
|
|
178
180
|
props[key] = useSelector(p, { skipCheck: true });
|
|
179
|
-
} else if (key.startsWith("$") || key.endsWith("$")) {
|
|
181
|
+
} else if (isReactiveKey || key.startsWith("$") || key.endsWith("$")) {
|
|
180
182
|
if (process.env.NODE_ENV === "development" && !didWarnProps && key.endsWith("$")) {
|
|
181
183
|
didWarnProps = true;
|
|
182
184
|
console.warn(
|
|
@@ -186,7 +188,7 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
186
188
|
)}. See https://legendapp.com/open-source/state/migrating for more details.`
|
|
187
189
|
);
|
|
188
190
|
}
|
|
189
|
-
const k = key.endsWith("$") ? key.slice(0, -1) : key.slice(1);
|
|
191
|
+
const k = isReactiveKey ? key : key.endsWith("$") ? key.slice(0, -1) : key.slice(1);
|
|
190
192
|
const bind = bindKeys == null ? void 0 : bindKeys[k];
|
|
191
193
|
const shouldBind = bind && state.isObservable(p);
|
|
192
194
|
propsOut[k] = shouldBind && (bind == null ? void 0 : bind.selector) ? bind.selector(propsOut, p) : useSelector(p);
|
|
@@ -204,7 +206,9 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
204
206
|
process.env.NODE_ENV === "development" ? handlerFn : React.useCallback(handlerFn, [props[bind.handler], bindKeys]);
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
|
-
|
|
209
|
+
if (!isReactiveKey) {
|
|
210
|
+
delete propsOut[key];
|
|
211
|
+
}
|
|
208
212
|
} else if (propsOut[key] === void 0) {
|
|
209
213
|
propsOut[key] = p;
|
|
210
214
|
}
|
|
@@ -241,11 +245,11 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
241
245
|
function observer(component) {
|
|
242
246
|
return createReactiveComponent(component, true);
|
|
243
247
|
}
|
|
244
|
-
function reactive(component, bindKeys) {
|
|
245
|
-
return createReactiveComponent(component, false, true, bindKeys);
|
|
248
|
+
function reactive(component, keys, bindKeys) {
|
|
249
|
+
return createReactiveComponent(component, false, true, keys, bindKeys);
|
|
246
250
|
}
|
|
247
|
-
function reactiveObserver(component, bindKeys) {
|
|
248
|
-
return createReactiveComponent(component, true, true, bindKeys);
|
|
251
|
+
function reactiveObserver(component, keys, bindKeys) {
|
|
252
|
+
return createReactiveComponent(component, true, true, keys, bindKeys);
|
|
249
253
|
}
|
|
250
254
|
function reactiveComponents(components) {
|
|
251
255
|
return new Proxy(
|
|
@@ -371,7 +375,7 @@ var Reactive = new Proxy(
|
|
|
371
375
|
}
|
|
372
376
|
return React.createElement(Component, propsOut);
|
|
373
377
|
});
|
|
374
|
-
target[p] = reactive(render, ReactiveFnBinders.get(p));
|
|
378
|
+
target[p] = reactive(render, [], ReactiveFnBinders.get(p));
|
|
375
379
|
}
|
|
376
380
|
return target[p];
|
|
377
381
|
}
|
package/react.mjs
CHANGED
|
@@ -134,7 +134,7 @@ function Computed({ children }) {
|
|
|
134
134
|
}
|
|
135
135
|
var hasSymbol = typeof Symbol === "function" && Symbol.for;
|
|
136
136
|
var didWarnProps = false;
|
|
137
|
-
function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
137
|
+
function createReactiveComponent(component, observe3, reactive2, keysReactive, bindKeys) {
|
|
138
138
|
const ReactForwardRefSymbol = hasSymbol ? Symbol.for("react.forward_ref") : (
|
|
139
139
|
// eslint-disable-next-line react/display-name, @typescript-eslint/no-unused-vars
|
|
140
140
|
typeof forwardRef === "function" && forwardRef((props) => null)["$$typeof"]
|
|
@@ -159,6 +159,7 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
159
159
|
throw new Error(`[legend-state] \`render\` property of ForwardRef was not a function`);
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
+
const keysReactiveSet = keysReactive ? new Set(keysReactive) : void 0;
|
|
162
163
|
const proxyHandler = {
|
|
163
164
|
apply(target, thisArg, argArray) {
|
|
164
165
|
if (reactive2) {
|
|
@@ -168,9 +169,10 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
168
169
|
for (let i = 0; i < keys.length; i++) {
|
|
169
170
|
const key = keys[i];
|
|
170
171
|
const p = props[key];
|
|
172
|
+
const isReactiveKey = keysReactiveSet && keysReactiveSet.has(key);
|
|
171
173
|
if (key === "children" && (isFunction(p) || isObservable(p))) {
|
|
172
174
|
props[key] = useSelector(p, { skipCheck: true });
|
|
173
|
-
} else if (key.startsWith("$") || key.endsWith("$")) {
|
|
175
|
+
} else if (isReactiveKey || key.startsWith("$") || key.endsWith("$")) {
|
|
174
176
|
if (process.env.NODE_ENV === "development" && !didWarnProps && key.endsWith("$")) {
|
|
175
177
|
didWarnProps = true;
|
|
176
178
|
console.warn(
|
|
@@ -180,7 +182,7 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
180
182
|
)}. See https://legendapp.com/open-source/state/migrating for more details.`
|
|
181
183
|
);
|
|
182
184
|
}
|
|
183
|
-
const k = key.endsWith("$") ? key.slice(0, -1) : key.slice(1);
|
|
185
|
+
const k = isReactiveKey ? key : key.endsWith("$") ? key.slice(0, -1) : key.slice(1);
|
|
184
186
|
const bind = bindKeys == null ? void 0 : bindKeys[k];
|
|
185
187
|
const shouldBind = bind && isObservable(p);
|
|
186
188
|
propsOut[k] = shouldBind && (bind == null ? void 0 : bind.selector) ? bind.selector(propsOut, p) : useSelector(p);
|
|
@@ -198,7 +200,9 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
198
200
|
process.env.NODE_ENV === "development" ? handlerFn : useCallback(handlerFn, [props[bind.handler], bindKeys]);
|
|
199
201
|
}
|
|
200
202
|
}
|
|
201
|
-
|
|
203
|
+
if (!isReactiveKey) {
|
|
204
|
+
delete propsOut[key];
|
|
205
|
+
}
|
|
202
206
|
} else if (propsOut[key] === void 0) {
|
|
203
207
|
propsOut[key] = p;
|
|
204
208
|
}
|
|
@@ -235,11 +239,11 @@ function createReactiveComponent(component, observe3, reactive2, bindKeys) {
|
|
|
235
239
|
function observer(component) {
|
|
236
240
|
return createReactiveComponent(component, true);
|
|
237
241
|
}
|
|
238
|
-
function reactive(component, bindKeys) {
|
|
239
|
-
return createReactiveComponent(component, false, true, bindKeys);
|
|
242
|
+
function reactive(component, keys, bindKeys) {
|
|
243
|
+
return createReactiveComponent(component, false, true, keys, bindKeys);
|
|
240
244
|
}
|
|
241
|
-
function reactiveObserver(component, bindKeys) {
|
|
242
|
-
return createReactiveComponent(component, true, true, bindKeys);
|
|
245
|
+
function reactiveObserver(component, keys, bindKeys) {
|
|
246
|
+
return createReactiveComponent(component, true, true, keys, bindKeys);
|
|
243
247
|
}
|
|
244
248
|
function reactiveComponents(components) {
|
|
245
249
|
return new Proxy(
|
|
@@ -365,7 +369,7 @@ var Reactive = new Proxy(
|
|
|
365
369
|
}
|
|
366
370
|
return createElement(Component, propsOut);
|
|
367
371
|
});
|
|
368
|
-
target[p] = reactive(render, ReactiveFnBinders.get(p));
|
|
372
|
+
target[p] = reactive(render, [], ReactiveFnBinders.get(p));
|
|
369
373
|
}
|
|
370
374
|
return target[p];
|
|
371
375
|
}
|
package/sync-plugins/crud.d.mts
CHANGED
|
@@ -5,11 +5,13 @@ type CrudAsOption = 'Map' | 'object' | 'value' | 'array';
|
|
|
5
5
|
type CrudResult<T> = T;
|
|
6
6
|
interface SyncedCrudPropsSingle<TRemote extends object, TLocal> {
|
|
7
7
|
get?: (params: SyncedGetParams<TRemote>) => Promise<CrudResult<TRemote | null>> | CrudResult<TRemote | null>;
|
|
8
|
+
list?: never | undefined;
|
|
8
9
|
initial?: InitialValue<TLocal, 'value'>;
|
|
9
10
|
as?: never | 'value';
|
|
10
11
|
}
|
|
11
12
|
interface SyncedCrudPropsMany<TRemote extends object, TLocal, TAsOption extends CrudAsOption> {
|
|
12
13
|
list?: (params: SyncedGetParams<TRemote>) => Promise<CrudResult<TRemote[] | null>> | CrudResult<TRemote[] | null>;
|
|
14
|
+
get?: never | undefined;
|
|
13
15
|
as?: TAsOption;
|
|
14
16
|
initial?: InitialValue<TLocal, TAsOption>;
|
|
15
17
|
}
|
|
@@ -45,7 +47,8 @@ type SyncedCrudReturnType<TLocal, TAsOption extends CrudAsOption> = TAsOption ex
|
|
|
45
47
|
} ? number : string, TLocal> : TAsOption extends 'object' ? Record<TLocal extends {
|
|
46
48
|
id: number;
|
|
47
49
|
} ? number : string, TLocal> : TAsOption extends 'value' ? TLocal : TLocal[];
|
|
48
|
-
declare function syncedCrud<TRemote extends object, TLocal = TRemote>(props:
|
|
49
|
-
declare function syncedCrud<TRemote extends object, TLocal = TRemote, TAsOption extends CrudAsOption = 'object'>(props:
|
|
50
|
+
declare function syncedCrud<TRemote extends object, TLocal = TRemote>(props: SyncedCrudPropsSingle<TRemote, TLocal> & SyncedCrudPropsBase<TRemote, TLocal>): SyncedCrudReturnType<TLocal, 'value'>;
|
|
51
|
+
declare function syncedCrud<TRemote extends object, TLocal = TRemote, TAsOption extends CrudAsOption = 'object'>(props: SyncedCrudPropsMany<TRemote, TLocal, TAsOption> & SyncedCrudPropsBase<TRemote, TLocal>): SyncedCrudReturnType<TLocal, Exclude<TAsOption, 'value'>>;
|
|
52
|
+
declare function syncedCrud<TRemote extends object, TLocal = TRemote, TAsOption extends CrudAsOption = 'object'>(props: (SyncedCrudPropsSingle<TRemote, TLocal> | SyncedCrudPropsMany<TRemote, TLocal, TAsOption>) & SyncedCrudPropsBase<TRemote, TLocal>): SyncedCrudReturnType<TLocal, TAsOption>;
|
|
50
53
|
|
|
51
54
|
export { type CrudAsOption, type CrudResult, type SyncedCrudOnSavedParams, type SyncedCrudPropsBase, type SyncedCrudPropsMany, type SyncedCrudPropsSingle, type SyncedCrudReturnType, type WaitForSetCrudFnParams, syncedCrud };
|
package/sync-plugins/crud.d.ts
CHANGED
|
@@ -5,11 +5,13 @@ type CrudAsOption = 'Map' | 'object' | 'value' | 'array';
|
|
|
5
5
|
type CrudResult<T> = T;
|
|
6
6
|
interface SyncedCrudPropsSingle<TRemote extends object, TLocal> {
|
|
7
7
|
get?: (params: SyncedGetParams<TRemote>) => Promise<CrudResult<TRemote | null>> | CrudResult<TRemote | null>;
|
|
8
|
+
list?: never | undefined;
|
|
8
9
|
initial?: InitialValue<TLocal, 'value'>;
|
|
9
10
|
as?: never | 'value';
|
|
10
11
|
}
|
|
11
12
|
interface SyncedCrudPropsMany<TRemote extends object, TLocal, TAsOption extends CrudAsOption> {
|
|
12
13
|
list?: (params: SyncedGetParams<TRemote>) => Promise<CrudResult<TRemote[] | null>> | CrudResult<TRemote[] | null>;
|
|
14
|
+
get?: never | undefined;
|
|
13
15
|
as?: TAsOption;
|
|
14
16
|
initial?: InitialValue<TLocal, TAsOption>;
|
|
15
17
|
}
|
|
@@ -45,7 +47,8 @@ type SyncedCrudReturnType<TLocal, TAsOption extends CrudAsOption> = TAsOption ex
|
|
|
45
47
|
} ? number : string, TLocal> : TAsOption extends 'object' ? Record<TLocal extends {
|
|
46
48
|
id: number;
|
|
47
49
|
} ? number : string, TLocal> : TAsOption extends 'value' ? TLocal : TLocal[];
|
|
48
|
-
declare function syncedCrud<TRemote extends object, TLocal = TRemote>(props:
|
|
49
|
-
declare function syncedCrud<TRemote extends object, TLocal = TRemote, TAsOption extends CrudAsOption = 'object'>(props:
|
|
50
|
+
declare function syncedCrud<TRemote extends object, TLocal = TRemote>(props: SyncedCrudPropsSingle<TRemote, TLocal> & SyncedCrudPropsBase<TRemote, TLocal>): SyncedCrudReturnType<TLocal, 'value'>;
|
|
51
|
+
declare function syncedCrud<TRemote extends object, TLocal = TRemote, TAsOption extends CrudAsOption = 'object'>(props: SyncedCrudPropsMany<TRemote, TLocal, TAsOption> & SyncedCrudPropsBase<TRemote, TLocal>): SyncedCrudReturnType<TLocal, Exclude<TAsOption, 'value'>>;
|
|
52
|
+
declare function syncedCrud<TRemote extends object, TLocal = TRemote, TAsOption extends CrudAsOption = 'object'>(props: (SyncedCrudPropsSingle<TRemote, TLocal> | SyncedCrudPropsMany<TRemote, TLocal, TAsOption>) & SyncedCrudPropsBase<TRemote, TLocal>): SyncedCrudReturnType<TLocal, TAsOption>;
|
|
50
53
|
|
|
51
54
|
export { type CrudAsOption, type CrudResult, type SyncedCrudOnSavedParams, type SyncedCrudPropsBase, type SyncedCrudPropsMany, type SyncedCrudPropsSingle, type SyncedCrudReturnType, type WaitForSetCrudFnParams, syncedCrud };
|
package/sync-plugins/keel.js
CHANGED
|
@@ -274,6 +274,7 @@ function syncedKeel(props) {
|
|
|
274
274
|
} : subscribeParam;
|
|
275
275
|
return crud.syncedCrud({
|
|
276
276
|
...rest,
|
|
277
|
+
// Workaround for type errors
|
|
277
278
|
as: asType,
|
|
278
279
|
mode: mode || "merge",
|
|
279
280
|
list,
|
|
@@ -299,7 +300,6 @@ function syncedKeel(props) {
|
|
|
299
300
|
updatePartial: true,
|
|
300
301
|
subscribe,
|
|
301
302
|
generateId: generateKeelId,
|
|
302
|
-
// @ts-expect-error This errors because of the get/list union type
|
|
303
303
|
get
|
|
304
304
|
});
|
|
305
305
|
}
|
package/sync-plugins/keel.mjs
CHANGED
|
@@ -268,6 +268,7 @@ function syncedKeel(props) {
|
|
|
268
268
|
} : subscribeParam;
|
|
269
269
|
return syncedCrud({
|
|
270
270
|
...rest,
|
|
271
|
+
// Workaround for type errors
|
|
271
272
|
as: asType,
|
|
272
273
|
mode: mode || "merge",
|
|
273
274
|
list,
|
|
@@ -293,7 +294,6 @@ function syncedKeel(props) {
|
|
|
293
294
|
updatePartial: true,
|
|
294
295
|
subscribe,
|
|
295
296
|
generateId: generateKeelId,
|
|
296
|
-
// @ts-expect-error This errors because of the get/list union type
|
|
297
297
|
get
|
|
298
298
|
});
|
|
299
299
|
}
|