@kidus.dev/flowdb 1.0.0
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/README.md +15 -0
- package/dist/core/blob/blob.d.ts +25 -0
- package/dist/core/blob/blob.d.ts.map +1 -0
- package/dist/core/blob/blob.js +57 -0
- package/dist/core/blob/blob_disk_driver.d.ts +27 -0
- package/dist/core/blob/blob_disk_driver.d.ts.map +1 -0
- package/dist/core/blob/blob_disk_driver.js +179 -0
- package/dist/core/blob/blob_storage.d.ts +90 -0
- package/dist/core/blob/blob_storage.d.ts.map +1 -0
- package/dist/core/blob/blob_storage.js +248 -0
- package/dist/core/collection/collection.d.ts +99 -0
- package/dist/core/collection/collection.d.ts.map +1 -0
- package/dist/core/collection/collection.js +226 -0
- package/dist/core/collection/document.d.ts +24 -0
- package/dist/core/collection/document.d.ts.map +1 -0
- package/dist/core/collection/document.js +86 -0
- package/dist/core/collection/driver/collection_file_driver.d.ts +20 -0
- package/dist/core/collection/driver/collection_file_driver.d.ts.map +1 -0
- package/dist/core/collection/driver/collection_file_driver.js +90 -0
- package/dist/core/collection/driver/collection_operations.d.ts +43 -0
- package/dist/core/collection/driver/collection_operations.d.ts.map +1 -0
- package/dist/core/collection/driver/collection_operations.js +278 -0
- package/dist/core/collection/query/compares.d.ts +90 -0
- package/dist/core/collection/query/compares.d.ts.map +1 -0
- package/dist/core/collection/query/compares.js +362 -0
- package/dist/core/collection/query/filtering.d.ts +14 -0
- package/dist/core/collection/query/filtering.d.ts.map +1 -0
- package/dist/core/collection/query/filtering.js +176 -0
- package/dist/core/collection/query/query_builder.d.ts +145 -0
- package/dist/core/collection/query/query_builder.d.ts.map +1 -0
- package/dist/core/collection/query/query_builder.js +196 -0
- package/dist/core/collection/query/query_executor.d.ts +87 -0
- package/dist/core/collection/query/query_executor.d.ts.map +1 -0
- package/dist/core/collection/query/query_executor.js +348 -0
- package/dist/core/collection/query/relation.d.ts +29 -0
- package/dist/core/collection/query/relation.d.ts.map +1 -0
- package/dist/core/collection/query/relation.js +40 -0
- package/dist/core/database/backup.d.ts +26 -0
- package/dist/core/database/backup.d.ts.map +1 -0
- package/dist/core/database/backup.js +114 -0
- package/dist/core/database/database.d.ts +57 -0
- package/dist/core/database/database.d.ts.map +1 -0
- package/dist/core/database/database.js +179 -0
- package/dist/core/database/database_file_driver.d.ts +27 -0
- package/dist/core/database/database_file_driver.d.ts.map +1 -0
- package/dist/core/database/database_file_driver.js +135 -0
- package/dist/core/store/store.d.ts +24 -0
- package/dist/core/store/store.d.ts.map +1 -0
- package/dist/core/store/store.js +54 -0
- package/dist/core/store/store_file_driver.d.ts +26 -0
- package/dist/core/store/store_file_driver.d.ts.map +1 -0
- package/dist/core/store/store_file_driver.js +87 -0
- package/dist/tools/encryptor.d.ts +17 -0
- package/dist/tools/encryptor.d.ts.map +1 -0
- package/dist/tools/encryptor.js +80 -0
- package/dist/tools/format.d.ts +10 -0
- package/dist/tools/format.d.ts.map +1 -0
- package/dist/tools/format.js +40 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +6 -0
- package/dist/tools/json.d.ts +19 -0
- package/dist/tools/json.d.ts.map +1 -0
- package/dist/tools/json.js +232 -0
- package/dist/tools/performance.d.ts +20 -0
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js +53 -0
- package/dist/tools/print_colored.d.ts +47 -0
- package/dist/tools/print_colored.d.ts.map +1 -0
- package/dist/tools/print_colored.js +119 -0
- package/dist/tools/random.d.ts +46 -0
- package/dist/tools/random.d.ts.map +1 -0
- package/dist/tools/random.js +214 -0
- package/package.json +40 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import Document from "./document";
|
|
2
|
+
import QueryBuilder from "./query/query_builder";
|
|
3
|
+
import Relation from "./query/relation";
|
|
4
|
+
type BetweenArg = [any, any];
|
|
5
|
+
interface WhereOptions {
|
|
6
|
+
eq?: any;
|
|
7
|
+
neq?: any;
|
|
8
|
+
gt?: any;
|
|
9
|
+
gte?: any;
|
|
10
|
+
lt?: any;
|
|
11
|
+
lte?: any;
|
|
12
|
+
contains?: any;
|
|
13
|
+
doesNotContain?: any;
|
|
14
|
+
startsWith?: string;
|
|
15
|
+
endsWith?: string;
|
|
16
|
+
regexMatch?: string;
|
|
17
|
+
between?: BetweenArg;
|
|
18
|
+
betweenStartInclusive?: BetweenArg;
|
|
19
|
+
betweenEndInclusive?: BetweenArg;
|
|
20
|
+
betweenBothInclusive?: BetweenArg;
|
|
21
|
+
isNull?: boolean;
|
|
22
|
+
isNotNull?: boolean;
|
|
23
|
+
isEmpty?: boolean;
|
|
24
|
+
isNotEmpty?: boolean;
|
|
25
|
+
filter?: (value: any) => boolean;
|
|
26
|
+
}
|
|
27
|
+
interface RelationOptions {
|
|
28
|
+
localKey?: string;
|
|
29
|
+
name?: string;
|
|
30
|
+
}
|
|
31
|
+
export default class Collection {
|
|
32
|
+
private readonly _name;
|
|
33
|
+
private readonly _collectionOperations;
|
|
34
|
+
private readonly _database?;
|
|
35
|
+
private readonly _relations;
|
|
36
|
+
constructor({ name, path: collectionPath, encrypted, database, }: {
|
|
37
|
+
name: string;
|
|
38
|
+
path: string;
|
|
39
|
+
encrypted: boolean;
|
|
40
|
+
database?: any;
|
|
41
|
+
});
|
|
42
|
+
get name(): string;
|
|
43
|
+
get database(): any;
|
|
44
|
+
static fromName(name: string, database: any): Collection;
|
|
45
|
+
private get _builder();
|
|
46
|
+
get builder(): QueryBuilder;
|
|
47
|
+
hasMany(foreignCollection: Collection, foreignKey: string, { localKey, name }?: RelationOptions): void;
|
|
48
|
+
manyToMany(foreignCollection: Collection, foreignKey: string, { localKey, name }?: RelationOptions): void;
|
|
49
|
+
hasOne(foreignCollection: Collection, foreignKey: string, { localKey, name }?: RelationOptions): void;
|
|
50
|
+
get relations(): Record<string, Relation>;
|
|
51
|
+
add(data: Record<string, any>): Promise<Document>;
|
|
52
|
+
addSync(data: Record<string, any>): Document;
|
|
53
|
+
addMany(data: Array<Record<string, any>>): Promise<Document[]>;
|
|
54
|
+
addManySync(data: Array<Record<string, any>>): Document[];
|
|
55
|
+
insert(data: Record<string, any>): Promise<Document>;
|
|
56
|
+
insertSync(data: Record<string, any>): Document;
|
|
57
|
+
insertMany(data: Array<Record<string, any>>): Promise<Document[]>;
|
|
58
|
+
insertManySync(data: Array<Record<string, any>>): Document[];
|
|
59
|
+
where(field: string, options?: WhereOptions): QueryBuilder;
|
|
60
|
+
getById(id: string): Promise<Document | null>;
|
|
61
|
+
getByIdSync(id: string): Document | null;
|
|
62
|
+
getAt(index: number): Promise<Document | undefined>;
|
|
63
|
+
getAtSync(index: number): Document | undefined;
|
|
64
|
+
getRandom(): Promise<Document | null>;
|
|
65
|
+
getRandomSync(): Document | null;
|
|
66
|
+
getRandomMany(count?: number): Promise<Document[]>;
|
|
67
|
+
getRandomManySync(count?: number): Document[];
|
|
68
|
+
getAll(): Promise<Document[]>;
|
|
69
|
+
getAllSync(): Document[];
|
|
70
|
+
getFirst(): Promise<Document | undefined>;
|
|
71
|
+
getFirstSync(): Document | undefined;
|
|
72
|
+
getLast(): Promise<Document | undefined>;
|
|
73
|
+
getLastSync(): Document | undefined;
|
|
74
|
+
count(): Promise<number>;
|
|
75
|
+
countSync(): number;
|
|
76
|
+
isEmpty(): Promise<boolean>;
|
|
77
|
+
isEmptySync(): boolean;
|
|
78
|
+
isNotEmpty(): Promise<boolean>;
|
|
79
|
+
isNotEmptySync(): boolean;
|
|
80
|
+
updateById(id: string, data: Record<string, any>): Promise<Document | null>;
|
|
81
|
+
updateByIdSync(id: string, data: Record<string, any>): Document | null;
|
|
82
|
+
deleteById(id: string): Promise<Document | null>;
|
|
83
|
+
deleteByIdSync(id: string): Document | null;
|
|
84
|
+
clear(): Promise<void>;
|
|
85
|
+
clearSync(): void;
|
|
86
|
+
reset(): Promise<void>;
|
|
87
|
+
resetSync(): void;
|
|
88
|
+
drop(): Promise<void>;
|
|
89
|
+
dropSync(): void;
|
|
90
|
+
size(): Promise<number>;
|
|
91
|
+
sizeSync(): number;
|
|
92
|
+
sizeAsHumanReadable(): Promise<string>;
|
|
93
|
+
sizeAsHumanReadableSync(): string;
|
|
94
|
+
exportAsCSV(): Promise<string>;
|
|
95
|
+
exportAsCSVSync(): string;
|
|
96
|
+
toString(): string;
|
|
97
|
+
}
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/core/collection/collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import * as path from "path";
|
|
2
|
+
import { Json, Format } from "../../tools";
|
|
3
|
+
import Document from "./document";
|
|
4
|
+
import CollectionOperations from "./driver/collection_operations";
|
|
5
|
+
import QueryBuilder from "./query/query_builder";
|
|
6
|
+
import Relation from "./query/relation";
|
|
7
|
+
export default class Collection {
|
|
8
|
+
_name;
|
|
9
|
+
_collectionOperations;
|
|
10
|
+
_database;
|
|
11
|
+
_relations = {};
|
|
12
|
+
constructor({ name, path: collectionPath, encrypted, database, }) {
|
|
13
|
+
this._name = name;
|
|
14
|
+
this._collectionOperations = new CollectionOperations({
|
|
15
|
+
path: collectionPath,
|
|
16
|
+
encrypted,
|
|
17
|
+
});
|
|
18
|
+
this._collectionOperations.createSync();
|
|
19
|
+
this._database = database;
|
|
20
|
+
}
|
|
21
|
+
get name() {
|
|
22
|
+
return this._name;
|
|
23
|
+
}
|
|
24
|
+
get database() {
|
|
25
|
+
return this._database;
|
|
26
|
+
}
|
|
27
|
+
static fromName(name, database) {
|
|
28
|
+
return new Collection({
|
|
29
|
+
name,
|
|
30
|
+
path: path.join(database.path, "collections", name),
|
|
31
|
+
encrypted: database.encrypted,
|
|
32
|
+
database,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
get _builder() {
|
|
36
|
+
return new QueryBuilder({
|
|
37
|
+
collection: this,
|
|
38
|
+
collectionOperations: this._collectionOperations,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
get builder() {
|
|
42
|
+
return this._builder;
|
|
43
|
+
}
|
|
44
|
+
// Relations
|
|
45
|
+
hasMany(foreignCollection, foreignKey, { localKey = "id", name } = {}) {
|
|
46
|
+
const relation = new Relation({
|
|
47
|
+
name: name ?? foreignCollection.name,
|
|
48
|
+
localCollection: this,
|
|
49
|
+
localKey,
|
|
50
|
+
foreignCollection,
|
|
51
|
+
foreignKey,
|
|
52
|
+
type: "oneToMany",
|
|
53
|
+
});
|
|
54
|
+
this._relations[relation.name] = relation;
|
|
55
|
+
}
|
|
56
|
+
manyToMany(foreignCollection, foreignKey, { localKey = "id", name } = {}) {
|
|
57
|
+
const relation = new Relation({
|
|
58
|
+
name: name ?? foreignCollection.name,
|
|
59
|
+
localCollection: this,
|
|
60
|
+
localKey,
|
|
61
|
+
foreignCollection,
|
|
62
|
+
foreignKey,
|
|
63
|
+
type: "manyToMany",
|
|
64
|
+
});
|
|
65
|
+
this._relations[relation.name] = relation;
|
|
66
|
+
}
|
|
67
|
+
hasOne(foreignCollection, foreignKey, { localKey = "id", name } = {}) {
|
|
68
|
+
const relation = new Relation({
|
|
69
|
+
name: name ?? foreignCollection.name,
|
|
70
|
+
localCollection: this,
|
|
71
|
+
localKey,
|
|
72
|
+
foreignCollection,
|
|
73
|
+
foreignKey,
|
|
74
|
+
type: "oneToOne",
|
|
75
|
+
});
|
|
76
|
+
this._relations[relation.name] = relation;
|
|
77
|
+
}
|
|
78
|
+
get relations() {
|
|
79
|
+
return this._relations;
|
|
80
|
+
}
|
|
81
|
+
// CREATE
|
|
82
|
+
async add(data) {
|
|
83
|
+
return await this._builder.executor.add(data);
|
|
84
|
+
}
|
|
85
|
+
addSync(data) {
|
|
86
|
+
return this._builder.executor.addSync(data);
|
|
87
|
+
}
|
|
88
|
+
async addMany(data) {
|
|
89
|
+
return await this._builder.executor.addMany(data);
|
|
90
|
+
}
|
|
91
|
+
addManySync(data) {
|
|
92
|
+
return this._builder.executor.addManySync(data);
|
|
93
|
+
}
|
|
94
|
+
async insert(data) {
|
|
95
|
+
return await this.add(data);
|
|
96
|
+
}
|
|
97
|
+
insertSync(data) {
|
|
98
|
+
return this.addSync(data);
|
|
99
|
+
}
|
|
100
|
+
async insertMany(data) {
|
|
101
|
+
return await this.addMany(data);
|
|
102
|
+
}
|
|
103
|
+
insertManySync(data) {
|
|
104
|
+
return this.addManySync(data);
|
|
105
|
+
}
|
|
106
|
+
// READ
|
|
107
|
+
where(field, options = {}) {
|
|
108
|
+
return this._builder.where(field, options);
|
|
109
|
+
}
|
|
110
|
+
async getById(id) {
|
|
111
|
+
return await this._collectionOperations.getById(id);
|
|
112
|
+
}
|
|
113
|
+
getByIdSync(id) {
|
|
114
|
+
return this._collectionOperations.getByIdSync(id);
|
|
115
|
+
}
|
|
116
|
+
async getAt(index) {
|
|
117
|
+
return await this._builder.getAt(index);
|
|
118
|
+
}
|
|
119
|
+
getAtSync(index) {
|
|
120
|
+
return this._builder.getAtSync(index);
|
|
121
|
+
}
|
|
122
|
+
async getRandom() {
|
|
123
|
+
return await this._collectionOperations.getRandom();
|
|
124
|
+
}
|
|
125
|
+
getRandomSync() {
|
|
126
|
+
return this._collectionOperations.getRandomSync();
|
|
127
|
+
}
|
|
128
|
+
async getRandomMany(count = 1) {
|
|
129
|
+
return await this._collectionOperations.getRandomMany(count);
|
|
130
|
+
}
|
|
131
|
+
getRandomManySync(count = 1) {
|
|
132
|
+
return this._collectionOperations.getRandomManySync(count);
|
|
133
|
+
}
|
|
134
|
+
async getAll() {
|
|
135
|
+
return await this._builder.get();
|
|
136
|
+
}
|
|
137
|
+
getAllSync() {
|
|
138
|
+
return this._builder.getSync();
|
|
139
|
+
}
|
|
140
|
+
async getFirst() {
|
|
141
|
+
return await this._builder.getFirst();
|
|
142
|
+
}
|
|
143
|
+
getFirstSync() {
|
|
144
|
+
return this._builder.getFirstSync();
|
|
145
|
+
}
|
|
146
|
+
async getLast() {
|
|
147
|
+
return await this._builder.getLast();
|
|
148
|
+
}
|
|
149
|
+
getLastSync() {
|
|
150
|
+
return this._builder.getLastSync();
|
|
151
|
+
}
|
|
152
|
+
async count() {
|
|
153
|
+
return await this._builder.count();
|
|
154
|
+
}
|
|
155
|
+
countSync() {
|
|
156
|
+
return this._builder.countSync();
|
|
157
|
+
}
|
|
158
|
+
async isEmpty() {
|
|
159
|
+
return (await this.getAll()).length === 0;
|
|
160
|
+
}
|
|
161
|
+
isEmptySync() {
|
|
162
|
+
return this.getAllSync().length === 0;
|
|
163
|
+
}
|
|
164
|
+
async isNotEmpty() {
|
|
165
|
+
return (await this.getAll()).length !== 0;
|
|
166
|
+
}
|
|
167
|
+
isNotEmptySync() {
|
|
168
|
+
return this.getAllSync().length !== 0;
|
|
169
|
+
}
|
|
170
|
+
// UPDATE
|
|
171
|
+
async updateById(id, data) {
|
|
172
|
+
return await this._collectionOperations.updateOneRecordById(id, data);
|
|
173
|
+
}
|
|
174
|
+
updateByIdSync(id, data) {
|
|
175
|
+
return this._collectionOperations.updateOneRecordByIdSync(id, data);
|
|
176
|
+
}
|
|
177
|
+
// DELETE
|
|
178
|
+
async deleteById(id) {
|
|
179
|
+
return await this._collectionOperations.deleteById(id);
|
|
180
|
+
}
|
|
181
|
+
deleteByIdSync(id) {
|
|
182
|
+
return this._collectionOperations.deleteByIdSync(id);
|
|
183
|
+
}
|
|
184
|
+
async clear() {
|
|
185
|
+
await this._collectionOperations.clear();
|
|
186
|
+
}
|
|
187
|
+
clearSync() {
|
|
188
|
+
this._collectionOperations.clearSync();
|
|
189
|
+
}
|
|
190
|
+
async reset() {
|
|
191
|
+
await this.clear();
|
|
192
|
+
}
|
|
193
|
+
resetSync() {
|
|
194
|
+
this.clearSync();
|
|
195
|
+
}
|
|
196
|
+
async drop() {
|
|
197
|
+
await this._collectionOperations.delete();
|
|
198
|
+
}
|
|
199
|
+
dropSync() {
|
|
200
|
+
this._collectionOperations.deleteSync();
|
|
201
|
+
}
|
|
202
|
+
// INFO
|
|
203
|
+
async size() {
|
|
204
|
+
return await this._collectionOperations.size();
|
|
205
|
+
}
|
|
206
|
+
sizeSync() {
|
|
207
|
+
return this._collectionOperations.sizeSync();
|
|
208
|
+
}
|
|
209
|
+
async sizeAsHumanReadable() {
|
|
210
|
+
return Format.sizeToHumanReadable(await this.size());
|
|
211
|
+
}
|
|
212
|
+
sizeAsHumanReadableSync() {
|
|
213
|
+
return Format.sizeToHumanReadable(this.sizeSync());
|
|
214
|
+
}
|
|
215
|
+
// EXPORT
|
|
216
|
+
async exportAsCSV() {
|
|
217
|
+
const records = await this.getAll();
|
|
218
|
+
return Json.mapToCSV(records.map((e) => e.data));
|
|
219
|
+
}
|
|
220
|
+
exportAsCSVSync() {
|
|
221
|
+
return Json.mapToCSV(this.getAllSync().map((e) => e.data));
|
|
222
|
+
}
|
|
223
|
+
toString() {
|
|
224
|
+
return `Collection [ ${this._name} • ${this.sizeAsHumanReadableSync()} • ${this._builder.countSync()} records ]`;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default class Document {
|
|
2
|
+
private _id;
|
|
3
|
+
private _data;
|
|
4
|
+
constructor({ id, data }: {
|
|
5
|
+
id: string;
|
|
6
|
+
data: Record<string, any>;
|
|
7
|
+
});
|
|
8
|
+
get id(): string;
|
|
9
|
+
get data(): Record<string, any>;
|
|
10
|
+
get(key: string): any;
|
|
11
|
+
set(key: string, value: any): void;
|
|
12
|
+
containsKey(key: string): boolean;
|
|
13
|
+
containsValue(value: any): boolean;
|
|
14
|
+
get keys(): string[];
|
|
15
|
+
get values(): any[];
|
|
16
|
+
static fromJson({ id, data, }: {
|
|
17
|
+
id?: string;
|
|
18
|
+
data: Record<string, any>;
|
|
19
|
+
}): Document;
|
|
20
|
+
format(indent?: number): string;
|
|
21
|
+
private _getNested;
|
|
22
|
+
private _update;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/collection/document.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAsB;gBAEvB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IAKnE,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE9B;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIlC,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAElB;IAED,MAAM,CAAC,QAAQ,CAAC,EACd,EAAE,EACF,IAAI,GACL,EAAE;QACD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B,GAAG,QAAQ;IAMZ,MAAM,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;IAoClC,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,OAAO;CAkBhB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Json, Random } from "../../tools";
|
|
2
|
+
export default class Document {
|
|
3
|
+
_id;
|
|
4
|
+
_data;
|
|
5
|
+
constructor({ id, data }) {
|
|
6
|
+
this._id = id;
|
|
7
|
+
this._data = data;
|
|
8
|
+
}
|
|
9
|
+
get id() {
|
|
10
|
+
return this._id;
|
|
11
|
+
}
|
|
12
|
+
get data() {
|
|
13
|
+
return this._data;
|
|
14
|
+
}
|
|
15
|
+
get(key) {
|
|
16
|
+
return this._getNested(this._data, key);
|
|
17
|
+
}
|
|
18
|
+
set(key, value) {
|
|
19
|
+
this._update(this._data, key, value);
|
|
20
|
+
}
|
|
21
|
+
containsKey(key) {
|
|
22
|
+
return Object.prototype.hasOwnProperty.call(this._data, key);
|
|
23
|
+
}
|
|
24
|
+
containsValue(value) {
|
|
25
|
+
return Object.values(this._data).includes(value);
|
|
26
|
+
}
|
|
27
|
+
get keys() {
|
|
28
|
+
return Object.keys(this._data);
|
|
29
|
+
}
|
|
30
|
+
get values() {
|
|
31
|
+
return Object.values(this._data);
|
|
32
|
+
}
|
|
33
|
+
static fromJson({ id, data, }) {
|
|
34
|
+
const document_id = id ?? data["__id"] ?? Random.uuid();
|
|
35
|
+
return new Document({ id: document_id, data });
|
|
36
|
+
}
|
|
37
|
+
// FORMAT
|
|
38
|
+
format(indent = 0) {
|
|
39
|
+
const formatValue = (value, indent) => {
|
|
40
|
+
if (value instanceof Document) {
|
|
41
|
+
const docStr = value
|
|
42
|
+
.format(indent + 1)
|
|
43
|
+
.split("\n")
|
|
44
|
+
.map((line) => " " + line)
|
|
45
|
+
.join("\n");
|
|
46
|
+
return docStr;
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(value) && value.every((v) => v instanceof Document)) {
|
|
49
|
+
const listStr = value
|
|
50
|
+
.map((item) => item
|
|
51
|
+
.format(indent + 1)
|
|
52
|
+
.split("\n")
|
|
53
|
+
.map((line) => " " + line)
|
|
54
|
+
.join("\n"))
|
|
55
|
+
.join(",\n ");
|
|
56
|
+
return `(${value.length}) [\n${listStr}\n ]`;
|
|
57
|
+
}
|
|
58
|
+
return JSON.stringify(value);
|
|
59
|
+
};
|
|
60
|
+
const entries = Object.entries(this._data)
|
|
61
|
+
.map(([k, v]) => {
|
|
62
|
+
return `${" ".repeat(indent)}${k} => ${formatValue(v, indent)}`;
|
|
63
|
+
})
|
|
64
|
+
.join(",\n ");
|
|
65
|
+
return `{\n ${entries}\n${" ".repeat(indent)}}`;
|
|
66
|
+
}
|
|
67
|
+
// Utility for get/set with dot-notation
|
|
68
|
+
_getNested(obj, key) {
|
|
69
|
+
if (!key)
|
|
70
|
+
return obj;
|
|
71
|
+
return key
|
|
72
|
+
.split(".")
|
|
73
|
+
.reduce((o, x) => (o == undefined ? undefined : o[x]), obj);
|
|
74
|
+
}
|
|
75
|
+
_update(obj, key, value) {
|
|
76
|
+
const parts = key.split(".");
|
|
77
|
+
let curr = obj;
|
|
78
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
79
|
+
if (!(parts[i] in curr))
|
|
80
|
+
curr[parts[i]] = {};
|
|
81
|
+
curr = curr[parts[i]];
|
|
82
|
+
}
|
|
83
|
+
curr[parts[parts.length - 1]] = value;
|
|
84
|
+
return curr;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Encryptor } from "../../../tools";
|
|
2
|
+
export default class CollectionFileDriver {
|
|
3
|
+
private filePath;
|
|
4
|
+
private encryptor;
|
|
5
|
+
private encrypted;
|
|
6
|
+
constructor(filePath: string, encryptor: Encryptor, encrypted: boolean);
|
|
7
|
+
create(): Promise<void>;
|
|
8
|
+
createSync(): void;
|
|
9
|
+
delete(): Promise<void>;
|
|
10
|
+
deleteSync(): void;
|
|
11
|
+
size(): Promise<number>;
|
|
12
|
+
sizeSync(): number;
|
|
13
|
+
appendRecords(lines: Array<Record<string, any>>): Promise<void>;
|
|
14
|
+
appendRecordsSync(lines: Array<Record<string, any>>): void;
|
|
15
|
+
readRecords(): Promise<Array<Record<string, any>>>;
|
|
16
|
+
readRecordsSync(): Array<Record<string, any>>;
|
|
17
|
+
writeRecords(lines: Array<Record<string, any>>): Promise<void>;
|
|
18
|
+
writeRecordsSync(lines: Array<Record<string, any>>): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=collection_file_driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection_file_driver.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/driver/collection_file_driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAQ,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAU;gBAEf,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;IAMhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,UAAU,IAAI,IAAI;IAKZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,UAAU,IAAI,IAAI;IAIZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,QAAQ,IAAI,MAAM;IAKZ,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAarE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI;IAapD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAcxD,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAYvC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI;CAU1D"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import { Encryptor, Json } from "../../../tools";
|
|
4
|
+
export default class CollectionFileDriver {
|
|
5
|
+
filePath;
|
|
6
|
+
encryptor;
|
|
7
|
+
encrypted;
|
|
8
|
+
constructor(filePath, encryptor, encrypted) {
|
|
9
|
+
this.filePath = filePath;
|
|
10
|
+
this.encryptor = encryptor;
|
|
11
|
+
this.encrypted = encrypted;
|
|
12
|
+
}
|
|
13
|
+
async create() {
|
|
14
|
+
await fs.promises.mkdir(path.dirname(this.filePath), { recursive: true });
|
|
15
|
+
await fs.promises.writeFile(this.filePath, "", { flag: "a" });
|
|
16
|
+
}
|
|
17
|
+
createSync() {
|
|
18
|
+
fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
|
|
19
|
+
fs.writeFileSync(this.filePath, "", { flag: "a" });
|
|
20
|
+
}
|
|
21
|
+
async delete() {
|
|
22
|
+
await fs.promises.unlink(this.filePath);
|
|
23
|
+
}
|
|
24
|
+
deleteSync() {
|
|
25
|
+
fs.unlinkSync(this.filePath);
|
|
26
|
+
}
|
|
27
|
+
async size() {
|
|
28
|
+
const stats = await fs.promises.stat(this.filePath);
|
|
29
|
+
return stats.size;
|
|
30
|
+
}
|
|
31
|
+
sizeSync() {
|
|
32
|
+
const stats = fs.statSync(this.filePath);
|
|
33
|
+
return stats.size;
|
|
34
|
+
}
|
|
35
|
+
async appendRecords(lines) {
|
|
36
|
+
const content = lines
|
|
37
|
+
.map((line) => this.encrypted
|
|
38
|
+
? this.encryptor.enc(JSON.stringify(line))
|
|
39
|
+
: JSON.stringify(line))
|
|
40
|
+
.join("\n");
|
|
41
|
+
if (content.length > 0) {
|
|
42
|
+
await fs.promises.appendFile(this.filePath, "\n" + content);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
appendRecordsSync(lines) {
|
|
46
|
+
const content = lines
|
|
47
|
+
.map((line) => this.encrypted
|
|
48
|
+
? this.encryptor.enc(JSON.stringify(line))
|
|
49
|
+
: JSON.stringify(line))
|
|
50
|
+
.join("\n");
|
|
51
|
+
if (content.length > 0) {
|
|
52
|
+
fs.appendFileSync(this.filePath, "\n" + content);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async readRecords() {
|
|
56
|
+
if (!fs.existsSync(this.filePath))
|
|
57
|
+
return [];
|
|
58
|
+
const lines = (await fs.promises.readFile(this.filePath, "utf8"))
|
|
59
|
+
.split("\n")
|
|
60
|
+
.filter((l) => l.trim() !== "");
|
|
61
|
+
const jsonLines = lines.map((l) => Json.parse(this.encrypted ? this.encryptor.dec(l) : l));
|
|
62
|
+
return jsonLines;
|
|
63
|
+
}
|
|
64
|
+
readRecordsSync() {
|
|
65
|
+
if (!fs.existsSync(this.filePath))
|
|
66
|
+
return [];
|
|
67
|
+
const lines = fs
|
|
68
|
+
.readFileSync(this.filePath, "utf8")
|
|
69
|
+
.split("\n")
|
|
70
|
+
.filter((l) => l.trim() !== "");
|
|
71
|
+
const jsonLines = lines.map((l) => Json.parse(this.encrypted ? this.encryptor.dec(l) : l));
|
|
72
|
+
return jsonLines;
|
|
73
|
+
}
|
|
74
|
+
async writeRecords(lines) {
|
|
75
|
+
const content = lines
|
|
76
|
+
.map((line) => this.encrypted
|
|
77
|
+
? this.encryptor.enc(JSON.stringify(line))
|
|
78
|
+
: JSON.stringify(line))
|
|
79
|
+
.join("\n");
|
|
80
|
+
await fs.promises.writeFile(this.filePath, content);
|
|
81
|
+
}
|
|
82
|
+
writeRecordsSync(lines) {
|
|
83
|
+
const content = lines
|
|
84
|
+
.map((line) => this.encrypted
|
|
85
|
+
? this.encryptor.enc(JSON.stringify(line))
|
|
86
|
+
: JSON.stringify(line))
|
|
87
|
+
.join("\n");
|
|
88
|
+
fs.writeFileSync(this.filePath, content);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import Document from "../document";
|
|
2
|
+
import CollectionFileDriver from "./collection_file_driver";
|
|
3
|
+
export default class CollectionOperations {
|
|
4
|
+
path: string;
|
|
5
|
+
encrypted: boolean;
|
|
6
|
+
fileDriver: CollectionFileDriver;
|
|
7
|
+
constructor(params: {
|
|
8
|
+
path: string;
|
|
9
|
+
encrypted: boolean;
|
|
10
|
+
key?: string;
|
|
11
|
+
});
|
|
12
|
+
create(): Promise<void>;
|
|
13
|
+
createSync(): void;
|
|
14
|
+
delete(): Promise<void>;
|
|
15
|
+
deleteSync(): void;
|
|
16
|
+
size(): Promise<number>;
|
|
17
|
+
sizeSync(): number;
|
|
18
|
+
add(data: Record<string, any>): Promise<Document>;
|
|
19
|
+
addSync(data: Record<string, any>): Document;
|
|
20
|
+
addMany(data: Record<string, any>[]): Promise<Document[]>;
|
|
21
|
+
addManySync(data: Record<string, any>[]): Document[];
|
|
22
|
+
getAll(): Promise<Document[]>;
|
|
23
|
+
getAllSync(): Document[];
|
|
24
|
+
getById(id: string): Promise<Document | null>;
|
|
25
|
+
getByIdSync(id: string): Document | null;
|
|
26
|
+
getRandom(): Promise<Document | null>;
|
|
27
|
+
getRandomSync(): Document | null;
|
|
28
|
+
getRandomMany(count: number): Promise<Document[]>;
|
|
29
|
+
getRandomManySync(count: number): Document[];
|
|
30
|
+
updateOneRecordById(id: string, data: Record<string, any>): Promise<Document | null>;
|
|
31
|
+
updateOneRecordByIdSync(id: string, data: Record<string, any>): Document | null;
|
|
32
|
+
updateManyRecordsByIdsWithSameValue(ids: string[], data: Record<string, any>): Promise<Document[]>;
|
|
33
|
+
updateManyRecordsByIdsWithSameValueSync(ids: string[], data: Record<string, any>): Document[];
|
|
34
|
+
updateManyRecordsByIdsWithDifferentValues(ids: string[], datas: Record<string, any>[]): Promise<Document[]>;
|
|
35
|
+
updateManyRecordsByIdsWithDifferentValuesSync(ids: string[], datas: Record<string, any>[]): Document[];
|
|
36
|
+
deleteById(id: string): Promise<Document | null>;
|
|
37
|
+
deleteByIdSync(id: string): Document | null;
|
|
38
|
+
deleteManyByIds(ids: string[]): Promise<Document[]>;
|
|
39
|
+
deleteManyByIdsSync(ids: string[]): Document[];
|
|
40
|
+
clear(): Promise<void>;
|
|
41
|
+
clearSync(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=collection_operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection_operations.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/driver/collection_operations.ts"],"names":[],"mappings":"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"}
|