react-rock 3.0.2 → 3.0.4
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/Finder.d.ts +3 -17
- package/dist/Finder.js +20 -47
- package/dist/Finder.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +71 -49
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +18 -2
- package/package.json +1 -2
- package/dist/StateComponent.d.ts +0 -4
- package/dist/StateComponent.js +0 -11
- package/dist/StateComponent.js.map +0 -1
package/dist/Finder.d.ts
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
startWith?: string | number;
|
|
4
|
-
endWith?: string | number;
|
|
5
|
-
gt?: number;
|
|
6
|
-
lt?: number;
|
|
7
|
-
gte?: number;
|
|
8
|
-
lte?: number;
|
|
9
|
-
};
|
|
10
|
-
export type QueryType<Row = {}> = {
|
|
11
|
-
[key in keyof Row]?: string | number | null | undefined | QueryValueType;
|
|
12
|
-
};
|
|
13
|
-
export type FinderArgsType<Row> = {
|
|
14
|
-
getRow?: (row: Row, index: number) => Row | void;
|
|
15
|
-
skip?: number;
|
|
16
|
-
take?: number;
|
|
17
|
-
};
|
|
1
|
+
import { FinderArgsType, QueryType } from "./types";
|
|
2
|
+
export declare const isOb: (ob: any) => boolean;
|
|
18
3
|
declare const Finder: <Row extends object>(rows: Row[], query: null | QueryType<Row>, args?: FinderArgsType<Row>) => {
|
|
19
4
|
rows: Row[];
|
|
20
5
|
indexes: number[];
|
|
6
|
+
ids: string[];
|
|
21
7
|
};
|
|
22
8
|
export default Finder;
|
package/dist/Finder.js
CHANGED
|
@@ -1,51 +1,22 @@
|
|
|
1
|
-
const isOb = (ob) => typeof ob === "object" && !Array.isArray(ob) && ob !== null;
|
|
2
|
-
const
|
|
1
|
+
export const isOb = (ob) => typeof ob === "object" && !Array.isArray(ob) && ob !== null;
|
|
2
|
+
const isNum = (n) => typeof n === 'number';
|
|
3
|
+
const excuteQuery = {
|
|
4
|
+
contain: (v, qv) => typeof v === 'string' && v.search(qv) !== -1,
|
|
5
|
+
startWith: (v, qv) => typeof v === 'string' && v.startsWith(qv),
|
|
6
|
+
endWith: (v, qv) => typeof v === 'string' && v.endsWith(qv),
|
|
7
|
+
lt: (v, qv) => isNum(v) && v < qv,
|
|
8
|
+
gt: (v, qv) => isNum(v) && v > qv,
|
|
9
|
+
lte: (v, qv) => isNum(v) && v <= qv,
|
|
10
|
+
gte: (v, qv) => isNum(v) && v >= qv,
|
|
11
|
+
};
|
|
12
|
+
const isInQuery = (rowVal, queryObject) => {
|
|
3
13
|
let match = true;
|
|
4
14
|
for (let queryKey in queryObject) {
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
break;
|
|
11
|
-
}
|
|
12
|
-
break;
|
|
13
|
-
case "startWith":
|
|
14
|
-
if (!(typeof rowVlaue === 'string' && rowVlaue.startsWith(queryVal))) {
|
|
15
|
-
match = false;
|
|
16
|
-
break;
|
|
17
|
-
}
|
|
18
|
-
break;
|
|
19
|
-
case "endWith":
|
|
20
|
-
if (!(typeof rowVlaue === 'string' && rowVlaue.endsWith(queryVal))) {
|
|
21
|
-
match = false;
|
|
22
|
-
break;
|
|
23
|
-
}
|
|
24
|
-
break;
|
|
25
|
-
case "lt":
|
|
26
|
-
if (!(typeof rowVlaue === 'number' && rowVlaue < queryVal)) {
|
|
27
|
-
match = false;
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
break;
|
|
31
|
-
case "gt":
|
|
32
|
-
if (!(typeof rowVlaue === 'number' && rowVlaue > queryVal)) {
|
|
33
|
-
match = false;
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
break;
|
|
37
|
-
case "lte":
|
|
38
|
-
if (!(typeof rowVlaue === 'number' && rowVlaue <= queryVal)) {
|
|
39
|
-
match = false;
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
break;
|
|
43
|
-
case "gte":
|
|
44
|
-
if (!(typeof rowVlaue === 'number' && rowVlaue >= queryVal)) {
|
|
45
|
-
match = false;
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
break;
|
|
15
|
+
let qVal = queryObject[queryKey];
|
|
16
|
+
const qcb = excuteQuery[qVal];
|
|
17
|
+
if (qcb && !qcb(rowVal, qVal)) {
|
|
18
|
+
match = false;
|
|
19
|
+
break;
|
|
49
20
|
}
|
|
50
21
|
}
|
|
51
22
|
return match;
|
|
@@ -53,6 +24,7 @@ const isInQuery = (rowVlaue, queryObject) => {
|
|
|
53
24
|
const Finder = (rows, query, args) => {
|
|
54
25
|
let result = [];
|
|
55
26
|
let indexes = [];
|
|
27
|
+
let ids = [];
|
|
56
28
|
for (let i = 0; i < rows.length; i++) {
|
|
57
29
|
let row = rows[i];
|
|
58
30
|
let found = false;
|
|
@@ -94,6 +66,7 @@ const Finder = (rows, query, args) => {
|
|
|
94
66
|
}
|
|
95
67
|
result.push({ ...row, _index: i });
|
|
96
68
|
indexes.push(i);
|
|
69
|
+
ids.push(row._id);
|
|
97
70
|
}
|
|
98
71
|
}
|
|
99
72
|
const take = args?.take || result.length;
|
|
@@ -107,7 +80,7 @@ const Finder = (rows, query, args) => {
|
|
|
107
80
|
else if (!args?.take && args?.skip) {
|
|
108
81
|
result = result.splice(args.skip);
|
|
109
82
|
}
|
|
110
|
-
return { rows: result, indexes };
|
|
83
|
+
return { rows: result, indexes, ids };
|
|
111
84
|
};
|
|
112
85
|
export default Finder;
|
|
113
86
|
//# sourceMappingURL=Finder.js.map
|
package/dist/Finder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.js","sourceRoot":"","sources":["../src/Finder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Finder.js","sourceRoot":"","sources":["../src/Finder.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { Component } from 'react';
|
|
1
2
|
import { IStateHandler } from './types';
|
|
2
3
|
export * from './types';
|
|
3
|
-
export
|
|
4
|
+
export declare class StateComponent<P = {}, S = {}, SS = any> extends Component<P, S, SS> {
|
|
5
|
+
constructor(props: P);
|
|
6
|
+
}
|
|
4
7
|
export declare const noDispatch: (cb: Function) => void;
|
|
5
8
|
export declare const createState: <Row extends object, MetaProps extends object = {}>() => IStateHandler<Row, MetaProps>;
|
package/dist/index.js
CHANGED
|
@@ -1,101 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useId, useMemo, useState, createElement, Fragment, Component } from 'react';
|
|
3
|
+
import Finder, { isOb } from './Finder';
|
|
3
4
|
export * from './types';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
5
|
+
export class StateComponent extends Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
const R = this.render.bind(this);
|
|
9
|
+
this.render = () => createElement(Fragment, null, createElement(R, null));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
12
|
const _random = () => Date.now() + Math.floor(1000 + Math.random() * 9000);
|
|
13
13
|
const _uid = () => _random().toString(32).replace("-", "").substring(0, 15);
|
|
14
|
-
|
|
14
|
+
const _row = (row) => {
|
|
15
|
+
if (!isOb(row))
|
|
16
|
+
throw new Error(`State row must be an object. given ${typeof row}: ${row}`);
|
|
17
|
+
return { ...row, _id: row._id || _uid(), _observe: row._observe || _random() };
|
|
18
|
+
};
|
|
19
|
+
let doDispatch = true;
|
|
15
20
|
export const noDispatch = (cb) => {
|
|
16
|
-
|
|
21
|
+
doDispatch = false;
|
|
17
22
|
cb();
|
|
18
|
-
|
|
23
|
+
doDispatch = true;
|
|
19
24
|
};
|
|
20
25
|
export const createState = () => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
const factory = {
|
|
27
|
+
data: {
|
|
28
|
+
state: [],
|
|
29
|
+
meta: new Map()
|
|
30
|
+
},
|
|
31
|
+
dispatches: {
|
|
32
|
+
state: new Map(),
|
|
33
|
+
meta: new Map()
|
|
34
|
+
},
|
|
35
|
+
observe: {
|
|
36
|
+
state: Math.random(),
|
|
37
|
+
meta: Math.random()
|
|
38
|
+
}
|
|
27
39
|
};
|
|
28
40
|
const _dispatch = (type) => {
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
factory.observe[type] = Math.random();
|
|
42
|
+
if (doDispatch) {
|
|
43
|
+
factory.dispatches[type].forEach((cb, key) => {
|
|
44
|
+
try {
|
|
45
|
+
cb();
|
|
46
|
+
}
|
|
47
|
+
catch (_err) {
|
|
48
|
+
factory.dispatches[type].delete(key);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
31
52
|
};
|
|
32
53
|
const useHook = (type) => {
|
|
33
54
|
const id = useId();
|
|
34
55
|
const [, dispatch] = useState(0);
|
|
35
56
|
useEffect(() => {
|
|
36
|
-
|
|
57
|
+
factory.dispatches[type].set(id, () => dispatch(Math.random()));
|
|
37
58
|
return () => {
|
|
38
|
-
|
|
59
|
+
factory.dispatches[type].delete(id);
|
|
39
60
|
};
|
|
40
61
|
}, []);
|
|
41
62
|
};
|
|
42
63
|
class StateHandler {
|
|
43
64
|
static create(row) {
|
|
44
65
|
const r = _row(row);
|
|
45
|
-
|
|
66
|
+
factory.data.state.push(r);
|
|
46
67
|
_dispatch("state");
|
|
47
68
|
return r;
|
|
48
69
|
}
|
|
49
70
|
static createMany(rows) {
|
|
71
|
+
const rs = [];
|
|
50
72
|
for (let row of rows) {
|
|
51
73
|
const r = _row(row);
|
|
52
|
-
|
|
74
|
+
factory.data.state.push(r);
|
|
75
|
+
rs.push(r);
|
|
53
76
|
}
|
|
54
77
|
_dispatch("state");
|
|
78
|
+
return rs;
|
|
55
79
|
}
|
|
56
80
|
static update(row, where, args) {
|
|
57
|
-
Finder(
|
|
81
|
+
Finder(factory.data.state, where, {
|
|
58
82
|
...args,
|
|
59
83
|
getRow: (r, index) => {
|
|
60
84
|
args?.getRow && args.getRow(r, index);
|
|
61
|
-
|
|
85
|
+
factory.data.state[index] = _row({ ...r, ...row });
|
|
62
86
|
}
|
|
63
87
|
});
|
|
64
88
|
_dispatch("state");
|
|
65
89
|
}
|
|
66
90
|
static updateAll(row) {
|
|
67
|
-
for (let i = 0; i <
|
|
68
|
-
|
|
91
|
+
for (let i = 0; i < factory.data.state.length; i++) {
|
|
92
|
+
factory.data.state[i] = _row({ ...factory.data.state[i], ...row });
|
|
69
93
|
}
|
|
70
94
|
_dispatch("state");
|
|
71
95
|
}
|
|
72
96
|
static delete(where, args) {
|
|
73
|
-
const found = Finder(
|
|
74
|
-
|
|
75
|
-
DATA.splice(index, 1);
|
|
76
|
-
}
|
|
97
|
+
const found = Finder(factory.data.state, where, args);
|
|
98
|
+
factory.data.state = factory.data.state.filter((row) => !found.ids.includes(row._id));
|
|
77
99
|
_dispatch("state");
|
|
78
100
|
}
|
|
79
|
-
static
|
|
80
|
-
|
|
101
|
+
static clearAll() {
|
|
102
|
+
factory.data.state = [];
|
|
81
103
|
_dispatch("state");
|
|
82
104
|
}
|
|
83
105
|
static getAll(args) {
|
|
84
106
|
try {
|
|
85
107
|
useHook("state");
|
|
86
|
-
return useMemo(() => Finder(
|
|
108
|
+
return useMemo(() => Finder(factory.data.state, null, args).rows, [factory.observe.state]);
|
|
87
109
|
}
|
|
88
110
|
catch (error) {
|
|
89
|
-
return Finder(
|
|
111
|
+
return Finder(factory.data.state, null, args);
|
|
90
112
|
}
|
|
91
113
|
}
|
|
92
114
|
static find(where, args) {
|
|
93
115
|
try {
|
|
94
116
|
useHook("state");
|
|
95
|
-
return useMemo(() => Finder(
|
|
117
|
+
return useMemo(() => Finder(factory.data.state, where, args).rows, [factory.observe.state]);
|
|
96
118
|
}
|
|
97
119
|
catch (error) {
|
|
98
|
-
return Finder(
|
|
120
|
+
return Finder(factory.data.state, where, args).rows;
|
|
99
121
|
}
|
|
100
122
|
}
|
|
101
123
|
static findFirst(where) {
|
|
@@ -105,41 +127,41 @@ export const createState = () => {
|
|
|
105
127
|
return StateHandler.findFirst({ _id });
|
|
106
128
|
}
|
|
107
129
|
static move(oldIdx, newIdx) {
|
|
108
|
-
const row =
|
|
130
|
+
const row = factory.data.state[oldIdx];
|
|
109
131
|
if (row) {
|
|
110
|
-
|
|
111
|
-
|
|
132
|
+
factory.data.state.splice(oldIdx, 1);
|
|
133
|
+
factory.data.state.splice(newIdx, 0, _row(row));
|
|
112
134
|
_dispatch("state");
|
|
113
135
|
}
|
|
114
136
|
}
|
|
115
137
|
static setMeta(key, value) {
|
|
116
|
-
|
|
138
|
+
factory.data.meta.set(key, value);
|
|
117
139
|
_dispatch("meta");
|
|
118
140
|
}
|
|
119
141
|
static getMeta(key, def) {
|
|
120
142
|
try {
|
|
121
143
|
useHook("meta");
|
|
122
|
-
return
|
|
144
|
+
return factory.data.meta.get(key) || def;
|
|
123
145
|
}
|
|
124
146
|
catch (error) {
|
|
125
|
-
return
|
|
147
|
+
return factory.data.meta.get(key) || def;
|
|
126
148
|
}
|
|
127
149
|
}
|
|
128
150
|
static getAllMeta() {
|
|
129
151
|
try {
|
|
130
152
|
useHook("meta");
|
|
131
|
-
return useMemo(() => Object.fromEntries(
|
|
153
|
+
return useMemo(() => Object.fromEntries(factory.data.meta), [factory.observe.meta]);
|
|
132
154
|
}
|
|
133
155
|
catch (error) {
|
|
134
|
-
return Object.fromEntries(
|
|
156
|
+
return Object.fromEntries(factory.data.meta);
|
|
135
157
|
}
|
|
136
158
|
}
|
|
137
159
|
static deleteMeta(key) {
|
|
138
|
-
|
|
160
|
+
factory.data.meta.delete(key);
|
|
139
161
|
_dispatch("meta");
|
|
140
162
|
}
|
|
141
163
|
static clearMeta() {
|
|
142
|
-
|
|
164
|
+
factory.data.meta.clear();
|
|
143
165
|
_dispatch("meta");
|
|
144
166
|
}
|
|
145
167
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FinderArgsType, QueryType } from "./Finder";
|
|
2
1
|
export type StateDataType = "state" | "meta";
|
|
3
2
|
export type RowPredefinedFields = {
|
|
4
3
|
_id: string;
|
|
@@ -14,7 +13,7 @@ export interface IStateHandler<Row, MetaProps> {
|
|
|
14
13
|
update(row: Partial<Row>, where: WhereType<Row>, args?: ArgsType<Row>): void;
|
|
15
14
|
updateAll(row: Partial<Row>): void;
|
|
16
15
|
delete(where: WhereType<Row>, args?: ArgsType<Row>): void;
|
|
17
|
-
|
|
16
|
+
clearAll(): void;
|
|
18
17
|
getAll(args?: ArgsType<Row>): RowType<Row>[];
|
|
19
18
|
find(where: WhereType<Row>, args?: ArgsType<Row>): RowType<Row>[];
|
|
20
19
|
findFirst(where: WhereType<Row>): RowType<Row>;
|
|
@@ -26,3 +25,20 @@ export interface IStateHandler<Row, MetaProps> {
|
|
|
26
25
|
deleteMeta<T extends keyof MetaProps>(key: T): void;
|
|
27
26
|
clearMeta(): void;
|
|
28
27
|
}
|
|
28
|
+
export type QueryValueType = {
|
|
29
|
+
contain?: string | number;
|
|
30
|
+
startWith?: string | number;
|
|
31
|
+
endWith?: string | number;
|
|
32
|
+
gt?: number;
|
|
33
|
+
lt?: number;
|
|
34
|
+
gte?: number;
|
|
35
|
+
lte?: number;
|
|
36
|
+
};
|
|
37
|
+
export type QueryType<Row = {}> = {
|
|
38
|
+
[key in keyof Row]?: string | number | null | undefined | QueryValueType;
|
|
39
|
+
};
|
|
40
|
+
export type FinderArgsType<Row> = {
|
|
41
|
+
getRow?: (row: Row, index: number) => Row | void;
|
|
42
|
+
skip?: number;
|
|
43
|
+
take?: number;
|
|
44
|
+
};
|
package/package.json
CHANGED
package/dist/StateComponent.d.ts
DELETED
package/dist/StateComponent.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export class StateComponent extends React.Component {
|
|
4
|
-
constructor(props) {
|
|
5
|
-
super(props);
|
|
6
|
-
const R = this.render.bind(this);
|
|
7
|
-
this.render = () => React.createElement(React.Fragment, null,
|
|
8
|
-
React.createElement(R, null));
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=StateComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateComponent.js","sourceRoot":"","sources":["../src/StateComponent.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,OAAO,cAAyC,SAAQ,KAAK,CAAC,SAAmB;IACnF,YAAY,KAAQ;QAChB,KAAK,CAAC,KAAK,CAAC,CAAA;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAQ,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAAE,oBAAC,CAAC,OAAG,CAAG,CAAA;IAClC,CAAC;CACJ"}
|