@kubun/db 0.2.1 → 0.3.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/lib/db.d.ts +22 -2
- package/lib/db.d.ts.map +1 -1
- package/lib/db.js +35 -8
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/query-builder.d.ts +2 -1
- package/lib/query-builder.d.ts.map +1 -1
- package/lib/types.d.ts +3 -56
- package/lib/types.d.ts.map +1 -1
- package/package.json +6 -5
package/lib/db.d.ts
CHANGED
|
@@ -1,24 +1,43 @@
|
|
|
1
|
+
import { EventEmitter } from '@enkaku/event';
|
|
1
2
|
import type { Adapter } from '@kubun/db-adapter';
|
|
2
3
|
import { type DocumentID, DocumentModelID } from '@kubun/id';
|
|
3
4
|
import type { DocumentModel, DocumentModelsRecord } from '@kubun/protocol';
|
|
4
5
|
import { Kysely, type Migration, type Transaction } from 'kysely';
|
|
5
6
|
import type { Database, Document, DocumentData, GraphModel, InsertDocumentAttachment, ListDocumentsParams, QueryDocumentsParams, QueryDocumentsResult } from './types.js';
|
|
6
7
|
export type Migrations = Record<string, Migration>;
|
|
8
|
+
export type DocumentCreatedEvent = {
|
|
9
|
+
type: 'create';
|
|
10
|
+
document: Document;
|
|
11
|
+
getCursor: () => string;
|
|
12
|
+
};
|
|
13
|
+
export type DocumentUpdatedEvent = {
|
|
14
|
+
type: 'update';
|
|
15
|
+
document: Document;
|
|
16
|
+
previous: Document;
|
|
17
|
+
getCursor: () => string;
|
|
18
|
+
};
|
|
19
|
+
export type DocumentSavedEvent = DocumentCreatedEvent | DocumentUpdatedEvent;
|
|
20
|
+
export type DBEvents = {
|
|
21
|
+
'document:saved': DocumentSavedEvent;
|
|
22
|
+
};
|
|
7
23
|
export type DBParams = {
|
|
8
24
|
adapter: Adapter;
|
|
9
25
|
};
|
|
10
26
|
export type GraphModelWithRecord = GraphModel & {
|
|
11
27
|
record: DocumentModelsRecord;
|
|
12
28
|
};
|
|
13
|
-
export type
|
|
29
|
+
export type DocumentParams = {
|
|
14
30
|
id: DocumentID;
|
|
15
31
|
data: DocumentData | null;
|
|
16
32
|
state: Uint8Array | null;
|
|
17
33
|
};
|
|
18
|
-
export type CreateDocumentParams =
|
|
34
|
+
export type CreateDocumentParams = DocumentParams & {
|
|
19
35
|
owner: string;
|
|
20
36
|
unique: Uint8Array;
|
|
21
37
|
};
|
|
38
|
+
export type SaveDocumentParams = DocumentParams & {
|
|
39
|
+
existing: Document;
|
|
40
|
+
};
|
|
22
41
|
export type CreateGraphParams = {
|
|
23
42
|
aliases?: Record<string, string>;
|
|
24
43
|
id?: string;
|
|
@@ -36,6 +55,7 @@ export declare class KubunDB {
|
|
|
36
55
|
constructor(params: DBParams);
|
|
37
56
|
/** @internal */
|
|
38
57
|
get adapter(): Adapter;
|
|
58
|
+
get events(): EventEmitter<DBEvents>;
|
|
39
59
|
getDB<T extends Database>(): Promise<Kysely<T>>;
|
|
40
60
|
getMigrations(): Migrations;
|
|
41
61
|
close(): Promise<void>;
|
package/lib/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,KAAK,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAoC,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAKnG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,KAAK,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAoC,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAKnG,OAAO,KAAK,EAEV,QAAQ,EACR,QAAQ,EACR,YAAY,EAEZ,UAAU,EACV,wBAAwB,EAExB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAmCnB,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAElD,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AAClG,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,MAAM,MAAM,CAAA;CACxB,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;AAE5E,MAAM,MAAM,QAAQ,GAAG;IACrB,gBAAgB,EAAE,kBAAkB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,UAAU,CAAA;IACd,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,qBAAa,OAAO;;gBAMN,MAAM,EAAE,QAAQ;IAS5B,gBAAgB;IAChB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,CAEnC;IAED,KAAK,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAiB/C,aAAa,IAAI,UAAU;IAIrB,KAAK;IAIL,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAKxC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuFvD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA+B1D,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAUtE,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAUrD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;IAoBjF,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAcpE,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgD3E,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqC/D,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoC3D,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAQlF"}
|
package/lib/db.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EventEmitter } from '@enkaku/event';
|
|
1
2
|
import { DocumentModelID } from '@kubun/id';
|
|
2
3
|
import { Kysely, Migrator, ParseJSONResultsPlugin } from 'kysely';
|
|
3
4
|
import { serializeCursor } from './cursor.js';
|
|
@@ -36,6 +37,7 @@ function toGlobalInterfaceID(modelID, interfaceID) {
|
|
|
36
37
|
export class KubunDB {
|
|
37
38
|
#adapter;
|
|
38
39
|
#db;
|
|
40
|
+
#events = new EventEmitter();
|
|
39
41
|
#ready;
|
|
40
42
|
constructor(params){
|
|
41
43
|
this.#adapter = params.adapter;
|
|
@@ -50,6 +52,9 @@ export class KubunDB {
|
|
|
50
52
|
/** @internal */ get adapter() {
|
|
51
53
|
return this.#adapter;
|
|
52
54
|
}
|
|
55
|
+
get events() {
|
|
56
|
+
return this.#events;
|
|
57
|
+
}
|
|
53
58
|
getDB() {
|
|
54
59
|
return this.#ready.then(()=>this.#db);
|
|
55
60
|
}
|
|
@@ -168,21 +173,24 @@ export class KubunDB {
|
|
|
168
173
|
async listDocuments(params) {
|
|
169
174
|
await this.#ready;
|
|
170
175
|
const [first, ...rest] = params.modelIDs;
|
|
171
|
-
let query = this.#db
|
|
172
|
-
.selectFrom(`k_${first}`).selectAll().where('id', 'in', params.docIDS);
|
|
176
|
+
let query = this.#db.selectFrom(`k_${first}`).selectAll().where('id', 'in', params.docIDs);
|
|
173
177
|
for (const model of rest){
|
|
174
178
|
query = query.unionAll((eb)=>{
|
|
175
|
-
|
|
176
|
-
return eb.selectFrom(`k_${model}`).selectAll().where('id', 'in', params.docIDS);
|
|
179
|
+
return eb.selectFrom(`k_${model}`).selectAll().where('id', 'in', params.docIDs);
|
|
177
180
|
});
|
|
178
181
|
}
|
|
179
182
|
return await query.execute();
|
|
180
183
|
}
|
|
184
|
+
// TODO: countDocuments() - how to handle it with unionAll?
|
|
181
185
|
async queryDocuments(params) {
|
|
182
|
-
const { filter, orderBy, owner, ...pagination } = params;
|
|
186
|
+
const { filter, modelIDs, orderBy, owner, ...pagination } = params;
|
|
183
187
|
const isReverse = params.last != null;
|
|
184
188
|
await this.#ready;
|
|
185
|
-
|
|
189
|
+
const [first, ...rest] = modelIDs;
|
|
190
|
+
let query = this.#db.selectFrom(`k_${first}`).selectAll();
|
|
191
|
+
for (const model of rest){
|
|
192
|
+
query = query.unionAll((eb)=>eb.selectFrom(`k_${model}`).selectAll());
|
|
193
|
+
}
|
|
186
194
|
if (owner != null) {
|
|
187
195
|
query = query.where('owner', '=', owner);
|
|
188
196
|
}
|
|
@@ -236,7 +244,7 @@ export class KubunDB {
|
|
|
236
244
|
await this.#ready;
|
|
237
245
|
const id = params.id.toString();
|
|
238
246
|
const model = params.id.model.toString();
|
|
239
|
-
|
|
247
|
+
const doc = await this.#db.transaction().setIsolationLevel('read committed').execute(async (trx)=>{
|
|
240
248
|
const doc = await trx.insertInto(`k_${model}`).values({
|
|
241
249
|
id,
|
|
242
250
|
owner: params.owner,
|
|
@@ -250,11 +258,20 @@ export class KubunDB {
|
|
|
250
258
|
}).execute();
|
|
251
259
|
return doc;
|
|
252
260
|
});
|
|
261
|
+
this.#events.emit('document:saved', {
|
|
262
|
+
type: 'create',
|
|
263
|
+
document: doc,
|
|
264
|
+
getCursor: ()=>serializeCursor({
|
|
265
|
+
id: doc.id,
|
|
266
|
+
ts: +doc.created_at
|
|
267
|
+
})
|
|
268
|
+
});
|
|
269
|
+
return doc;
|
|
253
270
|
}
|
|
254
271
|
async saveDocument(params) {
|
|
255
272
|
await this.#ready;
|
|
256
273
|
const id = params.id.toString();
|
|
257
|
-
|
|
274
|
+
const doc = await this.#db.transaction().setIsolationLevel('read committed').execute(async (trx)=>{
|
|
258
275
|
const doc = await trx.updateTable(`k_${params.id.model.toString()}`).set({
|
|
259
276
|
data: params.data ? this.#adapter.encodeJSON(params.data) : null,
|
|
260
277
|
updated_at: new Date().toISOString()
|
|
@@ -264,6 +281,16 @@ export class KubunDB {
|
|
|
264
281
|
}).where('id', '=', id).execute();
|
|
265
282
|
return doc;
|
|
266
283
|
});
|
|
284
|
+
this.#events.emit('document:saved', {
|
|
285
|
+
type: 'update',
|
|
286
|
+
document: doc,
|
|
287
|
+
previous: params.existing,
|
|
288
|
+
getCursor: ()=>serializeCursor({
|
|
289
|
+
id: doc.id,
|
|
290
|
+
ts: +doc.created_at
|
|
291
|
+
})
|
|
292
|
+
});
|
|
293
|
+
return doc;
|
|
267
294
|
}
|
|
268
295
|
async addAttachments(attachments) {
|
|
269
296
|
await this.#ready;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export type { CreateGraphParams, DBEvents, DBParams, DocumentCreatedEvent, DocumentSavedEvent, GraphModelWithRecord, Migrations, } from './db.js';
|
|
2
|
+
export { KubunDB } from './db.js';
|
|
2
3
|
export type * from './types.js';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,mBAAmB,YAAY,CAAA"}
|
package/lib/query-builder.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { AnyValueFilter, DocumentFilter, DocumentOrderBy } from '@kubun/protocol';
|
|
1
2
|
import type { ExpressionBuilder, ExpressionWrapper, SelectQueryBuilder } from 'kysely';
|
|
2
|
-
import type {
|
|
3
|
+
import type { ConnectionArguments, Database, Document } from './types.js';
|
|
3
4
|
type DocumentExpressionBuilder = ExpressionBuilder<Database, 'k_document'>;
|
|
4
5
|
type DocumentExpressionWrapper = ExpressionWrapper<Database, 'k_document', any>;
|
|
5
6
|
export type DocumentQueryBuilder = SelectQueryBuilder<Database, 'k_document', Document>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAGtF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EAIhB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAGtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEzE,KAAK,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAE1E,KAAK,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;AAE/E,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;AAwCvF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,eAAoB,GAC5B,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAYhC;AA+ED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,yBAAyB,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,GACvB,yBAAyB,CA0B3B;AAeD,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,yBAAyB,EAC7B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,MAAM,EAAE,cAAc,GACrB,yBAAyB,CA+B3B;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,oBAAoB,EAClC,OAAO,GAAE,eAAoB,EAC7B,SAAS,UAAQ,GAChB,CAAC,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAarD"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DocumentFieldsMeta, DocumentModelSchema } from '@kubun/protocol';
|
|
1
|
+
import type { DocumentFieldsMeta, DocumentFilter, DocumentModelSchema, DocumentOrderBy } from '@kubun/protocol';
|
|
2
2
|
import type { ColumnType, Insertable, JSONColumnType, Selectable, Updateable } from 'kysely';
|
|
3
3
|
export type ConnectionArguments = {
|
|
4
4
|
before?: string | null;
|
|
@@ -81,69 +81,16 @@ export type Database = {
|
|
|
81
81
|
kubun_graph_models: GraphModelTable;
|
|
82
82
|
[key: `k_${string}`]: DocumentTable;
|
|
83
83
|
};
|
|
84
|
-
export type BooleanValueFilter = {
|
|
85
|
-
isNull: boolean;
|
|
86
|
-
} | {
|
|
87
|
-
equalTo: boolean;
|
|
88
|
-
};
|
|
89
|
-
export type EnumValueFilter = {
|
|
90
|
-
isNull: boolean;
|
|
91
|
-
} | {
|
|
92
|
-
equalTo: string;
|
|
93
|
-
} | {
|
|
94
|
-
notEqualTo: string;
|
|
95
|
-
} | {
|
|
96
|
-
in: Array<string>;
|
|
97
|
-
} | {
|
|
98
|
-
notIn: Array<string>;
|
|
99
|
-
};
|
|
100
|
-
export type ScalarValueFilter<T = string | number> = {
|
|
101
|
-
isNull: boolean;
|
|
102
|
-
} | {
|
|
103
|
-
equalTo: T;
|
|
104
|
-
} | {
|
|
105
|
-
notEqualTo: T;
|
|
106
|
-
} | {
|
|
107
|
-
in: Array<T>;
|
|
108
|
-
} | {
|
|
109
|
-
notIn: Array<T>;
|
|
110
|
-
} | {
|
|
111
|
-
lessThan: T;
|
|
112
|
-
} | {
|
|
113
|
-
lessThanOrEqualTo: T;
|
|
114
|
-
} | {
|
|
115
|
-
greaterThan: T;
|
|
116
|
-
} | {
|
|
117
|
-
greaterThanOrEqualTo: T;
|
|
118
|
-
};
|
|
119
|
-
export type AnyValueFilter = BooleanValueFilter | EnumValueFilter | ScalarValueFilter;
|
|
120
|
-
export type ObjectValuesFilter = {
|
|
121
|
-
[key: string]: AnyValueFilter | ObjectValuesFilter;
|
|
122
|
-
};
|
|
123
|
-
export type DocumentFilter = {
|
|
124
|
-
where: ObjectValuesFilter;
|
|
125
|
-
} | {
|
|
126
|
-
and: Array<DocumentFilter>;
|
|
127
|
-
} | {
|
|
128
|
-
or: Array<DocumentFilter>;
|
|
129
|
-
} | {
|
|
130
|
-
not: DocumentFilter;
|
|
131
|
-
};
|
|
132
|
-
export type OrderByDirection = 'asc' | 'desc';
|
|
133
|
-
export type OrderByField = {
|
|
134
|
-
[field: string]: OrderByDirection | OrderByField;
|
|
135
|
-
};
|
|
136
|
-
export type DocumentOrderBy = Array<OrderByField>;
|
|
137
84
|
export type CursorDocument = {
|
|
138
85
|
cursor: string;
|
|
139
86
|
document: Document;
|
|
140
87
|
};
|
|
141
88
|
export type ListDocumentsParams = {
|
|
142
89
|
modelIDs: Array<string>;
|
|
143
|
-
|
|
90
|
+
docIDs: Array<string>;
|
|
144
91
|
};
|
|
145
92
|
export type QueryDocumentsParams = ConnectionArguments & {
|
|
146
|
-
|
|
93
|
+
modelIDs: Array<string>;
|
|
147
94
|
filter?: DocumentFilter;
|
|
148
95
|
orderBy?: DocumentOrderBy;
|
|
149
96
|
owner?: string;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubun/db",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"license": "see LICENSE.md",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"type": "module",
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
],
|
|
16
16
|
"sideEffects": false,
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@enkaku/codec": "^0.
|
|
18
|
+
"@enkaku/codec": "^0.12.0",
|
|
19
|
+
"@enkaku/event": "^0.12.0",
|
|
19
20
|
"kysely": "^0.27.6"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
22
|
-
"@kubun/db-adapter": "^0.
|
|
23
|
-
"@kubun/
|
|
24
|
-
"@kubun/
|
|
23
|
+
"@kubun/db-adapter": "^0.3.0",
|
|
24
|
+
"@kubun/id": "^0.3.0",
|
|
25
|
+
"@kubun/protocol": "^0.3.0"
|
|
25
26
|
},
|
|
26
27
|
"scripts": {
|
|
27
28
|
"build:clean": "del lib",
|