@moriajs/db 0.4.1 → 0.4.3
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/.turbo/turbo-build.log +1 -1
- package/README.md +20 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +28 -5
package/.turbo/turbo-build.log
CHANGED
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @moriajs/db
|
|
2
|
+
|
|
3
|
+
Database abstraction layer for MoriaJS.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Kysely Integration**: Type-safe SQL query builder.
|
|
8
|
+
- **Pongo Support**: Document API for PostgreSQL (JSONB).
|
|
9
|
+
- **Multi-adapter**: Support for PostgreSQL and SQLite.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { createDatabase } from '@moriajs/db';
|
|
15
|
+
|
|
16
|
+
const db = await createDatabase({
|
|
17
|
+
type: 'postgres',
|
|
18
|
+
url: process.env.DATABASE_URL
|
|
19
|
+
});
|
|
20
|
+
```
|
package/dist/index.d.ts
CHANGED
|
@@ -48,6 +48,8 @@ export declare class PongoAdapter implements MoriaDBAdapter {
|
|
|
48
48
|
constructor(config: DatabaseConfig);
|
|
49
49
|
connect(): Promise<void>;
|
|
50
50
|
disconnect(): Promise<void>;
|
|
51
|
+
private mapIdFilter;
|
|
52
|
+
private mapIdResult;
|
|
51
53
|
find<T extends Record<string, any> = any>(collection: string, filter?: any): Promise<T[]>;
|
|
52
54
|
findOne<T extends Record<string, any> = any>(collection: string, filter?: any): Promise<T | null>;
|
|
53
55
|
insertOne<T extends Record<string, any> = any>(collection: string, data: any): Promise<T>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAErD,cAAc,YAAY,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,mCAAmC;IACnC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,IAAI,CAAC,EAAE;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACL;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,cAAc;IAGpC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,EAAE,CAA4B;gBAElB,MAAM,EAAE,cAAc;IAEpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAMnB,aAAa;IAyBrB,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,GAAQ,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQ3D,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,GAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IASnE,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IASvD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,GAAG,CAAC,CAAC,KAAK,CAAC;CAGd;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,cAAc;IAGnC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAA4B;gBAEtB,MAAM,EAAE,cAAc;IAEpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -108,21 +108,44 @@ export class PongoAdapter {
|
|
|
108
108
|
await this.client.close();
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
+
mapIdFilter(filter) {
|
|
112
|
+
if (!filter || typeof filter !== 'object')
|
|
113
|
+
return filter;
|
|
114
|
+
const newFilter = { ...filter };
|
|
115
|
+
if ('id' in newFilter) {
|
|
116
|
+
newFilter._id = newFilter.id;
|
|
117
|
+
delete newFilter.id;
|
|
118
|
+
}
|
|
119
|
+
return newFilter;
|
|
120
|
+
}
|
|
121
|
+
mapIdResult(result) {
|
|
122
|
+
if (!result)
|
|
123
|
+
return result;
|
|
124
|
+
if (Array.isArray(result)) {
|
|
125
|
+
return result.map(item => this.mapIdResult(item));
|
|
126
|
+
}
|
|
127
|
+
if (typeof result === 'object' && '_id' in result) {
|
|
128
|
+
return { ...result, id: result._id };
|
|
129
|
+
}
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
111
132
|
async find(collection, filter = {}) {
|
|
112
|
-
|
|
133
|
+
const results = await this.client.db().collection(collection).find(this.mapIdFilter(filter));
|
|
134
|
+
return this.mapIdResult(results);
|
|
113
135
|
}
|
|
114
136
|
async findOne(collection, filter = {}) {
|
|
115
|
-
|
|
137
|
+
const result = await this.client.db().collection(collection).findOne(this.mapIdFilter(filter));
|
|
138
|
+
return this.mapIdResult(result);
|
|
116
139
|
}
|
|
117
140
|
async insertOne(collection, data) {
|
|
118
141
|
const result = await this.client.db().collection(collection).insertOne(data);
|
|
119
|
-
return result;
|
|
142
|
+
return this.mapIdResult(result);
|
|
120
143
|
}
|
|
121
144
|
async updateOne(collection, filter, data) {
|
|
122
|
-
await this.client.db().collection(collection).updateOne(filter, { $set: data });
|
|
145
|
+
await this.client.db().collection(collection).updateOne(this.mapIdFilter(filter), { $set: data });
|
|
123
146
|
}
|
|
124
147
|
async deleteOne(collection, filter) {
|
|
125
|
-
await this.client.db().collection(collection).deleteOne(filter);
|
|
148
|
+
await this.client.db().collection(collection).deleteOne(this.mapIdFilter(filter));
|
|
126
149
|
}
|
|
127
150
|
raw() {
|
|
128
151
|
return this.client;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moriajs/db",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MoriaJS database — Kysely adapters with kysely-schema integration",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@types/better-sqlite3": "^7.6.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
|
-
"@moriajs/core": "0.4.
|
|
29
|
+
"@moriajs/core": "0.4.3"
|
|
30
30
|
},
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"author": "Guntur-D <guntur.d.npm@gmail.com>",
|
package/src/index.ts
CHANGED
|
@@ -143,25 +143,48 @@ export class PongoAdapter implements MoriaDBAdapter {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
private mapIdFilter(filter: any): any {
|
|
147
|
+
if (!filter || typeof filter !== 'object') return filter;
|
|
148
|
+
const newFilter = { ...filter };
|
|
149
|
+
if ('id' in newFilter) {
|
|
150
|
+
newFilter._id = newFilter.id;
|
|
151
|
+
delete newFilter.id;
|
|
152
|
+
}
|
|
153
|
+
return newFilter;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
private mapIdResult(result: any): any {
|
|
157
|
+
if (!result) return result;
|
|
158
|
+
if (Array.isArray(result)) {
|
|
159
|
+
return result.map(item => this.mapIdResult(item));
|
|
160
|
+
}
|
|
161
|
+
if (typeof result === 'object' && '_id' in result) {
|
|
162
|
+
return { ...result, id: result._id };
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
|
|
146
167
|
async find<T extends Record<string, any> = any>(collection: string, filter: any = {}): Promise<T[]> {
|
|
147
|
-
|
|
168
|
+
const results = await this.client!.db().collection<T>(collection).find(this.mapIdFilter(filter));
|
|
169
|
+
return this.mapIdResult(results);
|
|
148
170
|
}
|
|
149
171
|
|
|
150
172
|
async findOne<T extends Record<string, any> = any>(collection: string, filter: any = {}): Promise<T | null> {
|
|
151
|
-
|
|
173
|
+
const result = await this.client!.db().collection<T>(collection).findOne(this.mapIdFilter(filter));
|
|
174
|
+
return this.mapIdResult(result);
|
|
152
175
|
}
|
|
153
176
|
|
|
154
177
|
async insertOne<T extends Record<string, any> = any>(collection: string, data: any): Promise<T> {
|
|
155
178
|
const result = await this.client!.db().collection<T>(collection).insertOne(data);
|
|
156
|
-
return result
|
|
179
|
+
return this.mapIdResult(result);
|
|
157
180
|
}
|
|
158
181
|
|
|
159
182
|
async updateOne(collection: string, filter: any, data: any): Promise<void> {
|
|
160
|
-
await this.client!.db().collection(collection).updateOne(filter, { $set: data });
|
|
183
|
+
await this.client!.db().collection(collection).updateOne(this.mapIdFilter(filter), { $set: data });
|
|
161
184
|
}
|
|
162
185
|
|
|
163
186
|
async deleteOne(collection: string, filter: any): Promise<void> {
|
|
164
|
-
await this.client!.db().collection(collection).deleteOne(filter);
|
|
187
|
+
await this.client!.db().collection(collection).deleteOne(this.mapIdFilter(filter));
|
|
165
188
|
}
|
|
166
189
|
|
|
167
190
|
raw<T>(): T {
|