react-rock 3.0.4 → 3.0.6
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.js +101 -46
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +25 -20
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useEffect, useId,
|
|
2
|
+
import { useEffect, useId, useState, createElement, Fragment, Component } from 'react';
|
|
3
3
|
import Finder, { isOb } from './Finder';
|
|
4
4
|
export * from './types';
|
|
5
5
|
export class StateComponent extends Component {
|
|
@@ -35,7 +35,8 @@ export const createState = () => {
|
|
|
35
35
|
observe: {
|
|
36
36
|
state: Math.random(),
|
|
37
37
|
meta: Math.random()
|
|
38
|
-
}
|
|
38
|
+
},
|
|
39
|
+
cache: new Map()
|
|
39
40
|
};
|
|
40
41
|
const _dispatch = (type) => {
|
|
41
42
|
factory.observe[type] = Math.random();
|
|
@@ -61,51 +62,88 @@ export const createState = () => {
|
|
|
61
62
|
}, []);
|
|
62
63
|
};
|
|
63
64
|
class StateHandler {
|
|
64
|
-
static create(row) {
|
|
65
|
+
static create(row, dispatch) {
|
|
66
|
+
dispatch ??= true;
|
|
65
67
|
const r = _row(row);
|
|
66
68
|
factory.data.state.push(r);
|
|
67
|
-
|
|
69
|
+
if (dispatch) {
|
|
70
|
+
_dispatch("state");
|
|
71
|
+
}
|
|
68
72
|
return r;
|
|
69
73
|
}
|
|
70
|
-
static createMany(rows) {
|
|
74
|
+
static createMany(rows, dispatch) {
|
|
75
|
+
dispatch ??= true;
|
|
71
76
|
const rs = [];
|
|
72
77
|
for (let row of rows) {
|
|
73
78
|
const r = _row(row);
|
|
74
79
|
factory.data.state.push(r);
|
|
75
80
|
rs.push(r);
|
|
76
81
|
}
|
|
77
|
-
|
|
82
|
+
if (dispatch) {
|
|
83
|
+
_dispatch("state");
|
|
84
|
+
}
|
|
78
85
|
return rs;
|
|
79
86
|
}
|
|
80
|
-
static update(row, where,
|
|
87
|
+
static update(row, where, dispatch) {
|
|
88
|
+
dispatch ??= true;
|
|
81
89
|
Finder(factory.data.state, where, {
|
|
82
|
-
...args,
|
|
83
90
|
getRow: (r, index) => {
|
|
84
|
-
args?.getRow && args.getRow(r, index);
|
|
85
91
|
factory.data.state[index] = _row({ ...r, ...row });
|
|
86
92
|
}
|
|
87
93
|
});
|
|
88
|
-
|
|
94
|
+
if (dispatch) {
|
|
95
|
+
_dispatch("state");
|
|
96
|
+
}
|
|
89
97
|
}
|
|
90
|
-
static updateAll(row) {
|
|
98
|
+
static updateAll(row, dispatch) {
|
|
99
|
+
dispatch ??= true;
|
|
91
100
|
for (let i = 0; i < factory.data.state.length; i++) {
|
|
92
101
|
factory.data.state[i] = _row({ ...factory.data.state[i], ...row });
|
|
93
102
|
}
|
|
94
|
-
|
|
103
|
+
if (dispatch) {
|
|
104
|
+
_dispatch("state");
|
|
105
|
+
}
|
|
95
106
|
}
|
|
96
|
-
static delete(where,
|
|
97
|
-
|
|
107
|
+
static delete(where, dispatch) {
|
|
108
|
+
dispatch ??= true;
|
|
109
|
+
const found = Finder(factory.data.state, where);
|
|
98
110
|
factory.data.state = factory.data.state.filter((row) => !found.ids.includes(row._id));
|
|
99
|
-
|
|
111
|
+
if (dispatch) {
|
|
112
|
+
_dispatch("state");
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
static move(oldIdx, newIdx, dispatch) {
|
|
116
|
+
dispatch ??= true;
|
|
117
|
+
const row = factory.data.state[oldIdx];
|
|
118
|
+
if (row) {
|
|
119
|
+
factory.data.state.splice(oldIdx, 1);
|
|
120
|
+
factory.data.state.splice(newIdx, 0, _row(row));
|
|
121
|
+
if (dispatch) {
|
|
122
|
+
_dispatch("state");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
100
125
|
}
|
|
101
|
-
static clearAll() {
|
|
126
|
+
static clearAll(dispatch) {
|
|
127
|
+
dispatch ??= true;
|
|
102
128
|
factory.data.state = [];
|
|
103
|
-
|
|
129
|
+
if (dispatch) {
|
|
130
|
+
_dispatch("state");
|
|
131
|
+
}
|
|
104
132
|
}
|
|
105
133
|
static getAll(args) {
|
|
106
134
|
try {
|
|
107
|
-
|
|
108
|
-
|
|
135
|
+
let detect = args?.detect ?? true;
|
|
136
|
+
if (detect) {
|
|
137
|
+
useHook("state");
|
|
138
|
+
}
|
|
139
|
+
const cacheKey = factory.observe.state.toString() + (args?.skip || "") + (args?.take || "");
|
|
140
|
+
const items = factory.cache.get(cacheKey);
|
|
141
|
+
if (items?.length) {
|
|
142
|
+
return items;
|
|
143
|
+
}
|
|
144
|
+
const rows = Finder(factory.data.state, null, args).rows;
|
|
145
|
+
factory.cache.set(cacheKey, rows);
|
|
146
|
+
return rows;
|
|
109
147
|
}
|
|
110
148
|
catch (error) {
|
|
111
149
|
return Finder(factory.data.state, null, args);
|
|
@@ -113,56 +151,73 @@ export const createState = () => {
|
|
|
113
151
|
}
|
|
114
152
|
static find(where, args) {
|
|
115
153
|
try {
|
|
116
|
-
|
|
117
|
-
|
|
154
|
+
let detect = args?.detect ?? true;
|
|
155
|
+
if (detect) {
|
|
156
|
+
useHook("state");
|
|
157
|
+
}
|
|
158
|
+
const cacheKey = factory.observe.state.toString() + (args?.skip || "") + (args?.take || "") + JSON.stringify(where);
|
|
159
|
+
const items = factory.cache.get(cacheKey);
|
|
160
|
+
if (items?.length) {
|
|
161
|
+
return items;
|
|
162
|
+
}
|
|
163
|
+
const rows = Finder(factory.data.state, where, args).rows;
|
|
164
|
+
factory.cache.set(cacheKey, rows);
|
|
165
|
+
return rows;
|
|
118
166
|
}
|
|
119
167
|
catch (error) {
|
|
120
168
|
return Finder(factory.data.state, where, args).rows;
|
|
121
169
|
}
|
|
122
170
|
}
|
|
123
|
-
static findFirst(where) {
|
|
124
|
-
return StateHandler.find(where)[0];
|
|
171
|
+
static findFirst(where, detect) {
|
|
172
|
+
return StateHandler.find(where, { detect })[0];
|
|
125
173
|
}
|
|
126
|
-
static findById(_id) {
|
|
127
|
-
return StateHandler.findFirst({ _id });
|
|
174
|
+
static findById(_id, detect) {
|
|
175
|
+
return StateHandler.findFirst({ _id }, detect);
|
|
128
176
|
}
|
|
129
|
-
static
|
|
130
|
-
const row = factory.data.state[oldIdx];
|
|
131
|
-
if (row) {
|
|
132
|
-
factory.data.state.splice(oldIdx, 1);
|
|
133
|
-
factory.data.state.splice(newIdx, 0, _row(row));
|
|
134
|
-
_dispatch("state");
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
static setMeta(key, value) {
|
|
177
|
+
static setMeta(key, value, dispatch) {
|
|
138
178
|
factory.data.meta.set(key, value);
|
|
139
|
-
|
|
179
|
+
dispatch ??= true;
|
|
180
|
+
if (dispatch) {
|
|
181
|
+
_dispatch("meta");
|
|
182
|
+
}
|
|
140
183
|
}
|
|
141
|
-
static getMeta(key,
|
|
184
|
+
static getMeta(key, detect) {
|
|
142
185
|
try {
|
|
143
|
-
|
|
144
|
-
|
|
186
|
+
detect ??= true;
|
|
187
|
+
if (detect) {
|
|
188
|
+
useHook("meta");
|
|
189
|
+
}
|
|
190
|
+
return factory.data.meta.get(key);
|
|
145
191
|
}
|
|
146
192
|
catch (error) {
|
|
147
|
-
return factory.data.meta.get(key)
|
|
193
|
+
return factory.data.meta.get(key);
|
|
148
194
|
}
|
|
149
195
|
}
|
|
150
|
-
static getAllMeta() {
|
|
196
|
+
static getAllMeta(detect) {
|
|
197
|
+
detect ??= true;
|
|
151
198
|
try {
|
|
152
|
-
|
|
153
|
-
|
|
199
|
+
if (detect) {
|
|
200
|
+
useHook("meta");
|
|
201
|
+
}
|
|
202
|
+
return Object.fromEntries(factory.data.meta);
|
|
154
203
|
}
|
|
155
204
|
catch (error) {
|
|
156
205
|
return Object.fromEntries(factory.data.meta);
|
|
157
206
|
}
|
|
158
207
|
}
|
|
159
|
-
static deleteMeta(key) {
|
|
208
|
+
static deleteMeta(key, dispatch) {
|
|
160
209
|
factory.data.meta.delete(key);
|
|
161
|
-
|
|
210
|
+
dispatch ??= true;
|
|
211
|
+
if (dispatch) {
|
|
212
|
+
_dispatch("meta");
|
|
213
|
+
}
|
|
162
214
|
}
|
|
163
|
-
static clearMeta() {
|
|
215
|
+
static clearMeta(dispatch) {
|
|
164
216
|
factory.data.meta.clear();
|
|
165
|
-
|
|
217
|
+
dispatch ??= true;
|
|
218
|
+
if (dispatch) {
|
|
219
|
+
_dispatch("meta");
|
|
220
|
+
}
|
|
166
221
|
}
|
|
167
222
|
}
|
|
168
223
|
return StateHandler;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,26 +4,36 @@ export type RowPredefinedFields = {
|
|
|
4
4
|
_index: number;
|
|
5
5
|
_observe: number;
|
|
6
6
|
};
|
|
7
|
+
export type FinderArgsType<Row> = {
|
|
8
|
+
getRow?: (row: Row, index: number) => Row | void;
|
|
9
|
+
skip?: number;
|
|
10
|
+
take?: number;
|
|
11
|
+
detect?: boolean;
|
|
12
|
+
};
|
|
7
13
|
export type RowType<Row> = Row & RowPredefinedFields;
|
|
8
14
|
export type WhereType<Row> = QueryType<RowType<Row>>;
|
|
9
15
|
export type ArgsType<Row> = FinderArgsType<RowType<Row>>;
|
|
16
|
+
export type GetRowCallback<Row> = (row: Row, index: number) => Row | void;
|
|
10
17
|
export interface IStateHandler<Row, MetaProps> {
|
|
11
|
-
create(row: Row): RowType<Row>;
|
|
12
|
-
createMany(rows: Row[]): void;
|
|
13
|
-
update(row: Partial<Row>, where: WhereType<Row>,
|
|
14
|
-
updateAll(row: Partial<Row
|
|
15
|
-
delete(where: WhereType<Row>,
|
|
16
|
-
clearAll(): void;
|
|
17
|
-
|
|
18
|
+
create(row: Row, dispatch?: boolean): RowType<Row>;
|
|
19
|
+
createMany(rows: Row[], dispatch?: boolean): void;
|
|
20
|
+
update(row: Partial<Row>, where: WhereType<Row>, dispatch?: boolean): void;
|
|
21
|
+
updateAll(row: Partial<Row>, dispatch?: boolean): void;
|
|
22
|
+
delete(where: WhereType<Row>, dispatch?: boolean): void;
|
|
23
|
+
clearAll(dispatch?: boolean): void;
|
|
24
|
+
move(oldIdx: number, newIdx: number, dispatch?: boolean): void;
|
|
25
|
+
getAll(args?: {
|
|
26
|
+
detect?: boolean;
|
|
27
|
+
getRow?: GetRowCallback<Row>;
|
|
28
|
+
}): RowType<Row>[];
|
|
18
29
|
find(where: WhereType<Row>, args?: ArgsType<Row>): RowType<Row>[];
|
|
19
|
-
findFirst(where: WhereType<Row
|
|
20
|
-
findById(_id: string): RowType<Row>;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
clearMeta(): void;
|
|
30
|
+
findFirst(where: WhereType<Row>, detect?: boolean): RowType<Row>;
|
|
31
|
+
findById(_id: string, detect?: boolean): RowType<Row>;
|
|
32
|
+
setMeta<T extends keyof MetaProps>(key: T, value: MetaProps[T], dispatch?: boolean): void;
|
|
33
|
+
getMeta<T extends keyof MetaProps>(key: T, detect?: boolean): MetaProps[T];
|
|
34
|
+
getAllMeta(detect?: boolean): MetaProps;
|
|
35
|
+
deleteMeta<T extends keyof MetaProps>(key: T, dispatch?: boolean): void;
|
|
36
|
+
clearMeta(dispatch?: boolean): void;
|
|
27
37
|
}
|
|
28
38
|
export type QueryValueType = {
|
|
29
39
|
contain?: string | number;
|
|
@@ -37,8 +47,3 @@ export type QueryValueType = {
|
|
|
37
47
|
export type QueryType<Row = {}> = {
|
|
38
48
|
[key in keyof Row]?: string | number | null | undefined | QueryValueType;
|
|
39
49
|
};
|
|
40
|
-
export type FinderArgsType<Row> = {
|
|
41
|
-
getRow?: (row: Row, index: number) => Row | void;
|
|
42
|
-
skip?: number;
|
|
43
|
-
take?: number;
|
|
44
|
-
};
|
package/package.json
CHANGED