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 CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { useEffect, useId, useMemo, useState, createElement, Fragment, Component } from 'react';
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
- _dispatch("state");
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
- _dispatch("state");
82
+ if (dispatch) {
83
+ _dispatch("state");
84
+ }
78
85
  return rs;
79
86
  }
80
- static update(row, where, args) {
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
- _dispatch("state");
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
- _dispatch("state");
103
+ if (dispatch) {
104
+ _dispatch("state");
105
+ }
95
106
  }
96
- static delete(where, args) {
97
- const found = Finder(factory.data.state, where, args);
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
- _dispatch("state");
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
- _dispatch("state");
129
+ if (dispatch) {
130
+ _dispatch("state");
131
+ }
104
132
  }
105
133
  static getAll(args) {
106
134
  try {
107
- useHook("state");
108
- return useMemo(() => Finder(factory.data.state, null, args).rows, [factory.observe.state]);
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
- useHook("state");
117
- return useMemo(() => Finder(factory.data.state, where, args).rows, [factory.observe.state]);
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 move(oldIdx, newIdx) {
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
- _dispatch("meta");
179
+ dispatch ??= true;
180
+ if (dispatch) {
181
+ _dispatch("meta");
182
+ }
140
183
  }
141
- static getMeta(key, def) {
184
+ static getMeta(key, detect) {
142
185
  try {
143
- useHook("meta");
144
- return factory.data.meta.get(key) || def;
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) || def;
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
- useHook("meta");
153
- return useMemo(() => Object.fromEntries(factory.data.meta), [factory.observe.meta]);
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
- _dispatch("meta");
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
- _dispatch("meta");
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":"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"}
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>, args?: ArgsType<Row>): void;
14
- updateAll(row: Partial<Row>): void;
15
- delete(where: WhereType<Row>, args?: ArgsType<Row>): void;
16
- clearAll(): void;
17
- getAll(args?: ArgsType<Row>): RowType<Row>[];
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>): RowType<Row>;
20
- findById(_id: string): RowType<Row>;
21
- move(oldIdx: number, newIdx: number): void;
22
- setMeta<T extends keyof MetaProps>(key: T, value: MetaProps[T]): void;
23
- getMeta<T extends keyof MetaProps>(key: T, def?: any): MetaProps[T];
24
- getAllMeta(): MetaProps;
25
- deleteMeta<T extends keyof MetaProps>(key: T): void;
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
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.4",
2
+ "version": "3.0.6",
3
3
  "name": "react-rock",
4
4
  "author": "Naxrul Ahmed",
5
5
  "license": "MIT",