react-rock 3.2.2 → 3.2.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/Store.d.ts +32 -0
- package/Store.js +261 -0
- package/Store.js.map +1 -0
- package/Store.mjs +259 -0
- package/Store.mjs.map +1 -0
- package/index.d.ts +4 -8
- package/index.js +10 -203
- package/index.js.map +1 -1
- package/index.mjs +8 -203
- package/index.mjs.map +1 -1
- package/package.json +5 -10
- package/readme.md +230 -230
- package/types.d.ts +27 -51
- package/Finder.js +0 -86
- package/Finder.js.map +0 -1
- package/Finder.mjs +0 -86
- package/Finder.mjs.map +0 -1
package/Finder.mjs
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
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
|
-
equalWith: (v, qv) => v === qv,
|
|
8
|
-
notEqualWith: (v, qv) => v !== qv,
|
|
9
|
-
lt: (v, qv) => isNum(v) && v < qv,
|
|
10
|
-
gt: (v, qv) => isNum(v) && v > qv,
|
|
11
|
-
lte: (v, qv) => isNum(v) && v <= qv,
|
|
12
|
-
gte: (v, qv) => isNum(v) && v >= qv,
|
|
13
|
-
};
|
|
14
|
-
const isInQuery = (rowVal, queryObject) => {
|
|
15
|
-
let match = true;
|
|
16
|
-
for (let queryKey in queryObject) {
|
|
17
|
-
let qVal = queryObject[queryKey];
|
|
18
|
-
const qcb = excuteQuery[queryKey];
|
|
19
|
-
if (qcb && !qcb(rowVal, qVal)) {
|
|
20
|
-
match = false;
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return match;
|
|
25
|
-
};
|
|
26
|
-
const Finder = (rows, query, args) => {
|
|
27
|
-
let result = [];
|
|
28
|
-
let indexes = [];
|
|
29
|
-
let ids = [];
|
|
30
|
-
for (let i = 0; i < rows.length; i++) {
|
|
31
|
-
let row = rows[i];
|
|
32
|
-
let found = false;
|
|
33
|
-
if (isOb(query)) {
|
|
34
|
-
for (let rowKey in query) {
|
|
35
|
-
let queryVal = query[rowKey];
|
|
36
|
-
if (!(rowKey in row))
|
|
37
|
-
break;
|
|
38
|
-
if (isOb(queryVal)) {
|
|
39
|
-
if (isInQuery(row[rowKey], queryVal)) {
|
|
40
|
-
found = true;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
found = false;
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else if (row[rowKey] === queryVal) {
|
|
48
|
-
found = true;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
found = false;
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
found = true;
|
|
58
|
-
}
|
|
59
|
-
if (found) {
|
|
60
|
-
if (args === null || args === void 0 ? void 0 : args.getRow) {
|
|
61
|
-
let r = args.getRow(Object.assign({}, row), i);
|
|
62
|
-
if (r) {
|
|
63
|
-
row = r;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
result.push(Object.assign(Object.assign({}, row), { _index: i }));
|
|
70
|
-
indexes.push(i);
|
|
71
|
-
ids.push(row._id);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
const take = (args === null || args === void 0 ? void 0 : args.take) || result.length;
|
|
75
|
-
const skip = (args === null || args === void 0 ? void 0 : args.skip) || 0;
|
|
76
|
-
if ((args === null || args === void 0 ? void 0 : args.take) && (args === null || args === void 0 ? void 0 : args.skip)) {
|
|
77
|
-
result = result.splice(skip, take);
|
|
78
|
-
}
|
|
79
|
-
else if (!(args === null || args === void 0 ? void 0 : args.skip) && (args === null || args === void 0 ? void 0 : args.take)) {
|
|
80
|
-
result.splice(args.take);
|
|
81
|
-
}
|
|
82
|
-
else if (!(args === null || args === void 0 ? void 0 : args.take) && (args === null || args === void 0 ? void 0 : args.skip)) {
|
|
83
|
-
result = result.splice(args.skip);
|
|
84
|
-
}
|
|
85
|
-
return { rows: result, indexes, ids };
|
|
86
|
-
};export{Finder as default,isOb};//# sourceMappingURL=Finder.mjs.map
|
package/Finder.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.mjs","sources":["../src/Finder.ts"],"sourcesContent":["import { FinderArgsType, QueryType, QueryValueType } from \"./types\"\n\nexport const isOb = (ob: any) => typeof ob === \"object\" && !Array.isArray(ob) && ob !== null\nconst isNum = (n: any) => typeof n === 'number'\nconst excuteQuery: any = {\n contain: (v: any, qv: any) => typeof v === 'string' && v.search(qv) !== -1,\n startWith: (v: any, qv: any) => typeof v === 'string' && v.startsWith(qv),\n endWith: (v: any, qv: any) => typeof v === 'string' && v.endsWith(qv),\n equalWith: (v: any, qv: any) => v === qv,\n notEqualWith: (v: any, qv: any) => v !== qv,\n lt: (v: any, qv: any) => isNum(v) && v < qv,\n gt: (v: any, qv: any) => isNum(v) && v > qv,\n lte: (v: any, qv: any) => isNum(v) && v <= qv,\n gte: (v: any, qv: any) => isNum(v) && v >= qv,\n}\n\nconst isInQuery = <Row>(rowVal: Row, queryObject: QueryValueType) => {\n let match = true\n for (let queryKey in queryObject) {\n let qVal = (queryObject as any)[queryKey]\n const qcb = excuteQuery[queryKey]\n if (qcb && !qcb(rowVal, qVal)) {\n match = false;\n break;\n }\n }\n return match\n}\n\nconst Finder = <Row extends object>(rows: Row[], query: null | QueryType<Row>, args?: FinderArgsType<Row>) => {\n let result: Row[] = []\n let indexes: number[] = []\n let ids: string[] = []\n\n for (let i = 0; i < rows.length; i++) {\n let row = rows[i]\n let found = false;\n if (isOb(query)) {\n for (let rowKey in query) {\n let queryVal = query[rowKey]\n if (!(rowKey in row)) break;\n\n if (isOb(queryVal)) {\n if (isInQuery(row[rowKey], queryVal as any)) {\n found = true\n } else {\n found = false\n break;\n }\n } else if (row[rowKey] === queryVal) {\n found = true;\n } else {\n found = false\n break;\n }\n }\n } else {\n found = true\n }\n\n if (found) {\n if (args?.getRow) {\n let r = args.getRow({ ...row }, i)\n if (r) {\n row = r\n } else {\n continue;\n }\n }\n result.push({ ...row, _index: i })\n indexes.push(i)\n ids.push((row as any)._id)\n }\n }\n\n const take = args?.take || result.length\n const skip = args?.skip || 0\n\n if (args?.take && args?.skip) {\n result = result.splice(skip, take)\n } else if (!args?.skip && args?.take) {\n result.splice(args.take)\n } else if (!args?.take && args?.skip) {\n result = result.splice(args.skip)\n }\n\n return { rows: result, indexes, ids }\n}\n\nexport default Finder"],"names":[],"mappings":"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"}
|