@kubun/db 0.3.0 → 0.3.2
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 +15 -15
- package/lib/db.d.ts.map +1 -1
- package/lib/db.js +22 -9
- package/lib/query-builder.d.ts.map +1 -1
- package/lib/query-builder.js +4 -6
- package/lib/types.d.ts +12 -9
- package/lib/types.d.ts.map +1 -1
- package/package.json +4 -4
package/lib/db.d.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { EventEmitter } from '@enkaku/event';
|
|
2
|
-
import type { Adapter } from '@kubun/db-adapter';
|
|
2
|
+
import type { Adapter, AdapterTypes } from '@kubun/db-adapter';
|
|
3
3
|
import { type DocumentID, DocumentModelID } from '@kubun/id';
|
|
4
|
-
import type { DocumentModel, DocumentModelsRecord } from '@kubun/protocol';
|
|
4
|
+
import type { DocumentModel, DocumentModelsRecord, DocumentNode } from '@kubun/protocol';
|
|
5
5
|
import { Kysely, type Migration, type Transaction } from 'kysely';
|
|
6
|
-
import type { Database,
|
|
6
|
+
import type { Database, DocumentData, GraphModel, InsertDocumentAttachment, ListDocumentsParams, QueryDocumentsParams, QueryDocumentsResult } from './types.js';
|
|
7
7
|
export type Migrations = Record<string, Migration>;
|
|
8
8
|
export type DocumentCreatedEvent = {
|
|
9
9
|
type: 'create';
|
|
10
|
-
document:
|
|
10
|
+
document: DocumentNode;
|
|
11
11
|
getCursor: () => string;
|
|
12
12
|
};
|
|
13
13
|
export type DocumentUpdatedEvent = {
|
|
14
14
|
type: 'update';
|
|
15
|
-
document:
|
|
16
|
-
previous:
|
|
15
|
+
document: DocumentNode;
|
|
16
|
+
previous: DocumentNode;
|
|
17
17
|
getCursor: () => string;
|
|
18
18
|
};
|
|
19
19
|
export type DocumentSavedEvent = DocumentCreatedEvent | DocumentUpdatedEvent;
|
|
20
20
|
export type DBEvents = {
|
|
21
21
|
'document:saved': DocumentSavedEvent;
|
|
22
22
|
};
|
|
23
|
-
export type DBParams = {
|
|
24
|
-
adapter: Adapter
|
|
23
|
+
export type DBParams<T extends AdapterTypes = AdapterTypes> = {
|
|
24
|
+
adapter: Adapter<T>;
|
|
25
25
|
};
|
|
26
26
|
export type GraphModelWithRecord = GraphModel & {
|
|
27
27
|
record: DocumentModelsRecord;
|
|
@@ -36,7 +36,7 @@ export type CreateDocumentParams = DocumentParams & {
|
|
|
36
36
|
unique: Uint8Array;
|
|
37
37
|
};
|
|
38
38
|
export type SaveDocumentParams = DocumentParams & {
|
|
39
|
-
existing:
|
|
39
|
+
existing: DocumentNode;
|
|
40
40
|
};
|
|
41
41
|
export type CreateGraphParams = {
|
|
42
42
|
aliases?: Record<string, string>;
|
|
@@ -50,9 +50,9 @@ export type AddDocumentModelParams = {
|
|
|
50
50
|
graphModelID: string;
|
|
51
51
|
model: DocumentModel;
|
|
52
52
|
};
|
|
53
|
-
export declare class KubunDB {
|
|
53
|
+
export declare class KubunDB<T extends AdapterTypes = AdapterTypes> {
|
|
54
54
|
#private;
|
|
55
|
-
constructor(params: DBParams);
|
|
55
|
+
constructor(params: DBParams<T>);
|
|
56
56
|
/** @internal */
|
|
57
57
|
get adapter(): Adapter;
|
|
58
58
|
get events(): EventEmitter<DBEvents>;
|
|
@@ -63,12 +63,12 @@ export declare class KubunDB {
|
|
|
63
63
|
createGraph(params: CreateGraphParams): Promise<string>;
|
|
64
64
|
getGraph(id: string): Promise<GraphModelWithRecord | null>;
|
|
65
65
|
getDocumentModel(id: DocumentModelID | string): Promise<DocumentModel>;
|
|
66
|
-
getDocument(id: DocumentID): Promise<
|
|
66
|
+
getDocument(id: DocumentID): Promise<DocumentNode | null>;
|
|
67
67
|
getDocumentStates(ids: Array<string>): Promise<Record<string, Uint8Array | null>>;
|
|
68
|
-
listDocuments(params: ListDocumentsParams): Promise<Array<
|
|
68
|
+
listDocuments(params: ListDocumentsParams): Promise<Array<DocumentNode>>;
|
|
69
69
|
queryDocuments(params: QueryDocumentsParams): Promise<QueryDocumentsResult>;
|
|
70
|
-
createDocument(params: CreateDocumentParams): Promise<
|
|
71
|
-
saveDocument(params: SaveDocumentParams): Promise<
|
|
70
|
+
createDocument(params: CreateDocumentParams): Promise<DocumentNode>;
|
|
71
|
+
saveDocument(params: SaveDocumentParams): Promise<DocumentNode>;
|
|
72
72
|
addAttachments(attachments: Array<InsertDocumentAttachment>): Promise<void>;
|
|
73
73
|
}
|
|
74
74
|
//# sourceMappingURL=db.d.ts.map
|
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,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/lib/db.js
CHANGED
|
@@ -30,6 +30,16 @@ function documentModelToTable(id, model) {
|
|
|
30
30
|
fields_meta: JSON.stringify(model.fieldsMeta)
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
+
function documentNodeFromTable(adapter, doc) {
|
|
34
|
+
return {
|
|
35
|
+
id: doc.id,
|
|
36
|
+
model: doc.model,
|
|
37
|
+
owner: doc.owner,
|
|
38
|
+
data: doc.data,
|
|
39
|
+
createdAt: adapter.decodeTimestamp(doc.created_at),
|
|
40
|
+
updatedAt: doc.updated_at ? adapter.decodeTimestamp(doc.updated_at) : null
|
|
41
|
+
};
|
|
42
|
+
}
|
|
33
43
|
function toGlobalInterfaceID(modelID, interfaceID) {
|
|
34
44
|
const id = DocumentModelID.fromString(interfaceID);
|
|
35
45
|
return id.isLocal ? id.toGlobal(DocumentModelID.fromString(modelID)).toString() : interfaceID;
|
|
@@ -156,7 +166,7 @@ export class KubunDB {
|
|
|
156
166
|
async getDocument(id) {
|
|
157
167
|
await this.#ready;
|
|
158
168
|
const doc = await this.#db.selectFrom(`k_${id.model.toString()}`).selectAll().where('id', '=', id.toString()).executeTakeFirst();
|
|
159
|
-
return doc
|
|
169
|
+
return doc ? documentNodeFromTable(this.#adapter, doc) : null;
|
|
160
170
|
}
|
|
161
171
|
async getDocumentStates(ids) {
|
|
162
172
|
await this.#ready;
|
|
@@ -179,7 +189,8 @@ export class KubunDB {
|
|
|
179
189
|
return eb.selectFrom(`k_${model}`).selectAll().where('id', 'in', params.docIDs);
|
|
180
190
|
});
|
|
181
191
|
}
|
|
182
|
-
|
|
192
|
+
const rows = await query.execute();
|
|
193
|
+
return rows.map((row)=>documentNodeFromTable(this.#adapter, row));
|
|
183
194
|
}
|
|
184
195
|
// TODO: countDocuments() - how to handle it with unionAll?
|
|
185
196
|
async queryDocuments(params) {
|
|
@@ -223,7 +234,7 @@ export class KubunDB {
|
|
|
223
234
|
});
|
|
224
235
|
return {
|
|
225
236
|
cursor,
|
|
226
|
-
document
|
|
237
|
+
document: documentNodeFromTable(this.#adapter, document)
|
|
227
238
|
};
|
|
228
239
|
}) : docs.map((document)=>{
|
|
229
240
|
const cursor = serializeCursor({
|
|
@@ -232,7 +243,7 @@ export class KubunDB {
|
|
|
232
243
|
});
|
|
233
244
|
return {
|
|
234
245
|
cursor,
|
|
235
|
-
document
|
|
246
|
+
document: documentNodeFromTable(this.#adapter, document)
|
|
236
247
|
};
|
|
237
248
|
});
|
|
238
249
|
return {
|
|
@@ -258,15 +269,16 @@ export class KubunDB {
|
|
|
258
269
|
}).execute();
|
|
259
270
|
return doc;
|
|
260
271
|
});
|
|
272
|
+
const document = documentNodeFromTable(this.#adapter, doc);
|
|
261
273
|
this.#events.emit('document:saved', {
|
|
262
274
|
type: 'create',
|
|
263
|
-
document
|
|
275
|
+
document,
|
|
264
276
|
getCursor: ()=>serializeCursor({
|
|
265
277
|
id: doc.id,
|
|
266
278
|
ts: +doc.created_at
|
|
267
279
|
})
|
|
268
280
|
});
|
|
269
|
-
return
|
|
281
|
+
return document;
|
|
270
282
|
}
|
|
271
283
|
async saveDocument(params) {
|
|
272
284
|
await this.#ready;
|
|
@@ -274,23 +286,24 @@ export class KubunDB {
|
|
|
274
286
|
const doc = await this.#db.transaction().setIsolationLevel('read committed').execute(async (trx)=>{
|
|
275
287
|
const doc = await trx.updateTable(`k_${params.id.model.toString()}`).set({
|
|
276
288
|
data: params.data ? this.#adapter.encodeJSON(params.data) : null,
|
|
277
|
-
updated_at: new Date()
|
|
289
|
+
updated_at: this.#adapter.encodeTimestamp(new Date())
|
|
278
290
|
}).where('id', '=', id).returningAll().executeTakeFirst();
|
|
279
291
|
await trx.updateTable('kubun_document_states').set({
|
|
280
292
|
data: params.state ? this.#adapter.encodeBinary(params.state) : null
|
|
281
293
|
}).where('id', '=', id).execute();
|
|
282
294
|
return doc;
|
|
283
295
|
});
|
|
296
|
+
const document = documentNodeFromTable(this.#adapter, doc);
|
|
284
297
|
this.#events.emit('document:saved', {
|
|
285
298
|
type: 'update',
|
|
286
|
-
document
|
|
299
|
+
document,
|
|
287
300
|
previous: params.existing,
|
|
288
301
|
getCursor: ()=>serializeCursor({
|
|
289
302
|
id: doc.id,
|
|
290
303
|
ts: +doc.created_at
|
|
291
304
|
})
|
|
292
305
|
});
|
|
293
|
-
return
|
|
306
|
+
return document;
|
|
294
307
|
}
|
|
295
308
|
async addAttachments(attachments) {
|
|
296
309
|
await this.#ready;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AA6ED,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/query-builder.js
CHANGED
|
@@ -57,11 +57,10 @@ function applyForwardPagination(queryBuilder, limit, after, orderBy) {
|
|
|
57
57
|
if (after != null) {
|
|
58
58
|
const { id, ts, values } = parseCursor(after);
|
|
59
59
|
if (ts != null) {
|
|
60
|
-
const date = new Date(ts);
|
|
61
60
|
query = query.where((eb)=>{
|
|
62
61
|
return eb.or([
|
|
63
|
-
eb('created_at', '>',
|
|
64
|
-
eb('created_at', '=',
|
|
62
|
+
eb('created_at', '>', ts),
|
|
63
|
+
eb('created_at', '=', ts).and('id', '>', id)
|
|
65
64
|
]);
|
|
66
65
|
});
|
|
67
66
|
} else if (values != null) {
|
|
@@ -90,11 +89,10 @@ function applyBackwardPagination(queryBuilder, limit, before, orderBy) {
|
|
|
90
89
|
if (before != null) {
|
|
91
90
|
const { id, ts, values } = parseCursor(before);
|
|
92
91
|
if (ts != null) {
|
|
93
|
-
const date = new Date(ts);
|
|
94
92
|
query = query.where((eb)=>{
|
|
95
93
|
return eb.or([
|
|
96
|
-
eb('created_at', '<',
|
|
97
|
-
eb('created_at', '=',
|
|
94
|
+
eb('created_at', '<', ts),
|
|
95
|
+
eb('created_at', '=', ts).and('id', '<', id)
|
|
98
96
|
]);
|
|
99
97
|
});
|
|
100
98
|
} else if (values != null) {
|
package/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { DocumentFieldsMeta, DocumentFilter, DocumentModelSchema, DocumentOrderBy } from '@kubun/protocol';
|
|
1
|
+
import type { DocumentFieldsMeta, DocumentFilter, DocumentModelSchema, DocumentNode, DocumentOrderBy } from '@kubun/protocol';
|
|
2
2
|
import type { ColumnType, Insertable, JSONColumnType, Selectable, Updateable } from 'kysely';
|
|
3
|
+
type CreatedAtColumn = ColumnType<number, number | undefined, never>;
|
|
4
|
+
type UpdatedAtColumn = ColumnType<number, number | undefined, number | undefined>;
|
|
3
5
|
export type ConnectionArguments = {
|
|
4
6
|
before?: string | null;
|
|
5
7
|
after?: string | null;
|
|
@@ -13,8 +15,8 @@ export type DocumentTable<Data extends DocumentData = DocumentData> = {
|
|
|
13
15
|
model: string;
|
|
14
16
|
data: JSONColumnType<Data> | null;
|
|
15
17
|
unique: Uint8Array;
|
|
16
|
-
created_at:
|
|
17
|
-
updated_at:
|
|
18
|
+
created_at: CreatedAtColumn;
|
|
19
|
+
updated_at: UpdatedAtColumn;
|
|
18
20
|
};
|
|
19
21
|
export type Document<Data extends DocumentData = DocumentData> = Selectable<DocumentTable<Data>>;
|
|
20
22
|
export type InsertDocument<Data extends DocumentData = DocumentData> = Insertable<DocumentTable<Data>>;
|
|
@@ -22,7 +24,7 @@ export type UpdateDocument<Data extends DocumentData = DocumentData> = Updateabl
|
|
|
22
24
|
export type DocumentAttachmentTable = {
|
|
23
25
|
id: string;
|
|
24
26
|
data: Uint8Array;
|
|
25
|
-
created_at:
|
|
27
|
+
created_at: CreatedAtColumn;
|
|
26
28
|
};
|
|
27
29
|
export type DocumentAttachment = Selectable<DocumentAttachmentTable>;
|
|
28
30
|
export type InsertDocumentAttachment = Insertable<DocumentAttachmentTable>;
|
|
@@ -35,8 +37,8 @@ export type DocumentModelTable = {
|
|
|
35
37
|
interfaces: JSONColumnType<Array<string>>;
|
|
36
38
|
schema: JSONColumnType<DocumentModelSchema>;
|
|
37
39
|
fields_meta: JSONColumnType<DocumentFieldsMeta>;
|
|
38
|
-
created_at:
|
|
39
|
-
updated_at:
|
|
40
|
+
created_at: CreatedAtColumn;
|
|
41
|
+
updated_at: UpdatedAtColumn;
|
|
40
42
|
};
|
|
41
43
|
export type DocumentModel = Selectable<DocumentModelTable>;
|
|
42
44
|
export type InsertDocumentModel = Insertable<DocumentModelTable>;
|
|
@@ -57,8 +59,8 @@ export type GraphModelTable = {
|
|
|
57
59
|
id: string;
|
|
58
60
|
name: string;
|
|
59
61
|
aliases: JSONColumnType<Record<string, string>>;
|
|
60
|
-
created_at:
|
|
61
|
-
updated_at:
|
|
62
|
+
created_at: CreatedAtColumn;
|
|
63
|
+
updated_at: UpdatedAtColumn;
|
|
62
64
|
};
|
|
63
65
|
export type GraphModel = Selectable<GraphModelTable>;
|
|
64
66
|
export type InsertGraphModel = Insertable<GraphModelTable>;
|
|
@@ -83,7 +85,7 @@ export type Database = {
|
|
|
83
85
|
};
|
|
84
86
|
export type CursorDocument = {
|
|
85
87
|
cursor: string;
|
|
86
|
-
document:
|
|
88
|
+
document: DocumentNode;
|
|
87
89
|
};
|
|
88
90
|
export type ListDocumentsParams = {
|
|
89
91
|
modelIDs: Array<string>;
|
|
@@ -99,4 +101,5 @@ export type QueryDocumentsResult = {
|
|
|
99
101
|
entries: Array<CursorDocument>;
|
|
100
102
|
hasMore: boolean;
|
|
101
103
|
};
|
|
104
|
+
export {};
|
|
102
105
|
//# sourceMappingURL=types.d.ts.map
|
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,EACV,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE5F,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI;IACpE,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE5F,KAAK,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,CAAA;AACpE,KAAK,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAEjF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI;IACpE,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,eAAe,CAAA;IAC3B,UAAU,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;AAChG,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI,UAAU,CAC/E,aAAa,CAAC,IAAI,CAAC,CACpB,CAAA;AACD,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI,UAAU,CAC/E,aAAa,CAAC,IAAI,CAAC,CACpB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;AACpE,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;AAE1E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAA;IACnD,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACzC,MAAM,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAA;IAC3C,WAAW,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAA;IAC/C,UAAU,EAAE,eAAe,CAAA;IAC3B,UAAU,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAC1D,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAChE,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAEhE,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,2BAA2B,CAAC,CAAA;AAC5E,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,2BAA2B,CAAC,CAAA;AAElF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAC1D,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAEhE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,UAAU,EAAE,eAAe,CAAA;IAC3B,UAAU,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;AACpD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;AAC1D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;AAE1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;AACpE,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;AAE1E,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC1E,IAAI,GAAG,MAAM,MAAM,IACjB;KAAG,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEtD,MAAM,MAAM,QAAQ,GAAG;IACrB,0BAA0B,EAAE,uBAAuB,CAAA;IACnD,qBAAqB,EAAE,kBAAkB,CAAA;IACzC,+BAA+B,EAAE,2BAA2B,CAAA;IAC5D,qBAAqB,EAAE,kBAAkB,CAAA;IACzC,2BAA2B,EAAE,uBAAuB,CAAA;IACpD,kBAAkB,EAAE,eAAe,CAAA;IACnC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,aAAa,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,YAAY,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACtB,CAAA;AAGD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubun/db",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"license": "see LICENSE.md",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"type": "module",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@enkaku/codec": "^0.12.0",
|
|
19
19
|
"@enkaku/event": "^0.12.0",
|
|
20
|
-
"kysely": "^0.
|
|
20
|
+
"kysely": "^0.28.2"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@kubun/db-adapter": "^0.3.
|
|
23
|
+
"@kubun/db-adapter": "^0.3.2",
|
|
24
24
|
"@kubun/id": "^0.3.0",
|
|
25
|
-
"@kubun/protocol": "^0.3.
|
|
25
|
+
"@kubun/protocol": "^0.3.4"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"build:clean": "del lib",
|