@wxn0brp/db 0.5.4 → 0.5.5
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/memory.d.ts +2 -2
- package/dist/relation.d.ts +2 -2
- package/dist/relation.js +5 -2
- package/package.json +1 -1
package/dist/memory.d.ts
CHANGED
|
@@ -79,6 +79,6 @@ export declare class MemoryAction implements dbActionC {
|
|
|
79
79
|
export default class ValtheraMemory extends DataBase {
|
|
80
80
|
constructor(...args: any[]);
|
|
81
81
|
}
|
|
82
|
-
export declare function createMemoryValthera
|
|
82
|
+
export declare function createMemoryValthera<T = {
|
|
83
83
|
[key: string]: Data[];
|
|
84
|
-
}): ValtheraMemory;
|
|
84
|
+
}>(data?: T): ValtheraMemory;
|
package/dist/relation.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { RelationTypes } from "./types/relation.js";
|
|
|
4
4
|
declare class Relation {
|
|
5
5
|
dbs: RelationTypes.DBS;
|
|
6
6
|
constructor(dbs: RelationTypes.DBS);
|
|
7
|
-
findOne(path: RelationTypes.Path, search: Search, relations: RelationTypes.Relation, select
|
|
8
|
-
find(path: RelationTypes.Path, search: Search, relations: RelationTypes.Relation, select
|
|
7
|
+
findOne(path: RelationTypes.Path, search: Search, relations: RelationTypes.Relation, select?: RelationTypes.FieldPath[]): Promise<any>;
|
|
8
|
+
find(path: RelationTypes.Path, search: Search, relations: RelationTypes.Relation, select?: RelationTypes.FieldPath[], findOpts?: DbFindOpts): Promise<any[]>;
|
|
9
9
|
}
|
|
10
10
|
export default Relation;
|
package/dist/relation.js
CHANGED
|
@@ -52,8 +52,10 @@ function selectDataSelf(data, select) {
|
|
|
52
52
|
return selectDataSelf(data[select[0]], select.slice(1));
|
|
53
53
|
}
|
|
54
54
|
function selectData(data, select) {
|
|
55
|
-
if (!select
|
|
55
|
+
if (!select)
|
|
56
56
|
return data;
|
|
57
|
+
if (!data && select.length === 0)
|
|
58
|
+
return null;
|
|
57
59
|
const newData = {};
|
|
58
60
|
for (const field of select) {
|
|
59
61
|
const key = field.map(f => f.replaceAll(".", "\\.")).join(".");
|
|
@@ -70,7 +72,8 @@ class Relation {
|
|
|
70
72
|
const db = this.dbs[path[0]];
|
|
71
73
|
const data = await db.findOne(path[1], search);
|
|
72
74
|
await processRelations(this.dbs, relations, data);
|
|
73
|
-
|
|
75
|
+
const result = selectData(data, select);
|
|
76
|
+
return Object.keys(result).length === 0 ? null : result;
|
|
74
77
|
}
|
|
75
78
|
async find(path, search, relations, select, findOpts = {}) {
|
|
76
79
|
const db = this.dbs[path[0]];
|
package/package.json
CHANGED