Skip to content

Commit 07e4db6

Browse files
authored
Merge pull request #16 from effector/fix-packaging-and-types
Fix packaging and types
2 parents 3b4b47e + 72bab7d commit 07e4db6

File tree

8 files changed

+46
-25
lines changed

8 files changed

+46
-25
lines changed

.changeset/fluffy-hornets-poke.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@effector/model-react': patch
3+
'@effector/model': patch
4+
---
5+
6+
gigi

apps/food-order/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"version": "0.0.0",
55
"type": "module",
66
"dependencies": {
7-
"effector-action": "^1.1.1"
7+
"effector-action": "^1.1.3"
88
},
99
"devDependencies": {
1010
"@vitejs/plugin-react": "^3.1.0",

apps/tree-todo-list/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"version": "0.0.0",
55
"type": "module",
66
"dependencies": {
7-
"effector-action": "^1.1.1"
7+
"effector-action": "^1.1.3"
88
},
99
"devDependencies": {
1010
"@vitejs/plugin-react": "^3.1.0",

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@effector/model",
33
"version": "0.0.7",
4-
"type": "commonjs",
4+
"type": "module",
55
"peerDependencies": {
66
"effector": "^23.3.0"
77
}

packages/core/src/instanceApi.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ export function createInstanceApi<Input, Enriched, Output, Api, Shape>(
3030
api[prop] = evt;
3131
$entities.on(evt, (state, payload) => {
3232
const [key, data] = Array.isArray(payload.key)
33-
? [payload.key, payload.data]
33+
? [
34+
payload.key,
35+
Array.isArray(payload.data)
36+
? payload.data
37+
: Array.from({ length: payload.key.length }),
38+
]
3439
: [[payload.key], [payload.data]];
3540
const targets = [] as any[];
3641
const params = [] as any[];

packages/core/src/types.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -190,18 +190,28 @@ export type ConvertToLensShape<Shape> = {
190190

191191
type OneOrMany<T> = T | Array<T>;
192192

193+
type ApiEvent<T> = void extends T
194+
?
195+
| { key: string | number; data?: void }
196+
| {
197+
key: Array<string | number>;
198+
data?: void[];
199+
}
200+
:
201+
| { key: string | number; data: T }
202+
| {
203+
key: Array<string | number>;
204+
data: T[];
205+
};
206+
193207
export type Keyval<Input, Enriched, Api, Shape> = {
194208
type: 'keyval';
195209
api: {
196210
[K in keyof Api]: Api[K] extends EventCallable<infer V>
197-
? EventCallable<
198-
| { key: string | number; data: V }
199-
| {
200-
key: Array<string | number>;
201-
data: V[];
202-
}
203-
>
204-
: never;
211+
? EventCallable<ApiEvent<V>>
212+
: Api[K] extends Effect<infer V, any, any>
213+
? EventCallable<ApiEvent<V>>
214+
: never;
205215
};
206216
$items: Store<Enriched[]>;
207217
$keys: Store<Array<string | number>>;

packages/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@effector/model-react",
33
"version": "0.0.7",
4-
"type": "commonjs",
4+
"type": "module",
55
"peerDependencies": {
66
"effector": "^23.3.0"
77
},

pnpm-lock.yaml

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)