functional-models-orm-memory 3.0.3 → 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/datastoreAdapter.d.ts +1 -1
- package/datastoreAdapter.js +60 -34
- package/datastoreAdapter.js.map +1 -1
- package/package.json +1 -1
package/datastoreAdapter.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ type Props = {
|
|
|
7
7
|
getCollectionNameForModel?: <T extends DataDescription>(model: ModelType<T>) => string;
|
|
8
8
|
};
|
|
9
9
|
type Database = Record<string, Record<PrimaryKeyType, ToObjectResult<any>>>;
|
|
10
|
-
declare const create: ({ seedData, getCollectionNameForModel, }?: Props) => WithRequired<DatastoreAdapter, "count"> & {
|
|
10
|
+
declare const create: ({ seedData, getCollectionNameForModel, }?: Props) => WithRequired<DatastoreAdapter, "count" | "bulkInsert" | "bulkDelete"> & {
|
|
11
11
|
getRecords: () => Database;
|
|
12
12
|
};
|
|
13
13
|
export { create };
|
package/datastoreAdapter.js
CHANGED
|
@@ -26,42 +26,68 @@ const create = ({ seedData, getCollectionNameForModel = lib_1.defaultCollectionN
|
|
|
26
26
|
}
|
|
27
27
|
return database[name];
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
const getRecords = () => {
|
|
30
|
+
return database;
|
|
31
|
+
};
|
|
32
|
+
const bulkInsert = (model, instances) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
return Promise.resolve().then(() => {
|
|
34
|
+
instances.reduce((accP, instance) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
const acc = yield accP;
|
|
36
|
+
yield save(instance);
|
|
37
|
+
return acc;
|
|
38
|
+
}), Promise.resolve());
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
const bulkDelete = (model, ids) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
return Promise.resolve().then(() => {
|
|
43
|
+
ids.reduce((accP, id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
const acc = yield accP;
|
|
45
|
+
yield deleteObj(model, id);
|
|
46
|
+
return acc;
|
|
47
|
+
}), Promise.resolve());
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
const deleteObj = (model, id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
|
+
const records = _getRecords(model);
|
|
52
|
+
// eslint-disable-next-line functional/immutable-data
|
|
53
|
+
delete records[id];
|
|
54
|
+
return Promise.resolve(undefined);
|
|
55
|
+
});
|
|
56
|
+
const retrieve = (model, primaryKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
+
return Promise.resolve().then(() => {
|
|
34
58
|
const records = _getRecords(model);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
search: (model, query) => {
|
|
59
|
+
return records[primaryKey];
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
const save = (instance) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
return Promise.resolve().then(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
const model = instance.getModel();
|
|
65
|
+
const data = yield instance.toObj();
|
|
66
|
+
const records = _getRecords(model);
|
|
67
|
+
(0, merge_1.default)(records, { [yield instance.getPrimaryKey()]: data });
|
|
68
|
+
return data;
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
const search = (model, query) => {
|
|
72
|
+
const records = _getRecords(model);
|
|
73
|
+
const instances = (0, lib_1.filterResults)(query, Object.values(records));
|
|
74
|
+
return Promise.resolve({ instances: instances, page: undefined });
|
|
75
|
+
};
|
|
76
|
+
const count = (model) => {
|
|
77
|
+
return Promise.resolve().then(() => {
|
|
55
78
|
const records = _getRecords(model);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
79
|
+
return Object.keys(records).length;
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
return {
|
|
83
|
+
save,
|
|
84
|
+
delete: deleteObj,
|
|
85
|
+
retrieve,
|
|
86
|
+
search,
|
|
87
|
+
count,
|
|
88
|
+
bulkInsert,
|
|
89
|
+
bulkDelete,
|
|
90
|
+
getRecords,
|
|
65
91
|
};
|
|
66
92
|
};
|
|
67
93
|
exports.create = create;
|
package/datastoreAdapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datastoreAdapter.js","sourceRoot":"","sources":["../src/datastoreAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAYA,yDAAgC;AAChC,yDAAgC;AAChC,+BAA4D;AAa5D,MAAM,MAAM,GAAG,CAAC,EACd,QAAQ,EACR,yBAAyB,GAAG,2BAAqB,MACxC,EAAE,
|
|
1
|
+
{"version":3,"file":"datastoreAdapter.js","sourceRoot":"","sources":["../src/datastoreAdapter.ts"],"names":[],"mappings":"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"}
|