convex-ents 0.19.0 → 0.20.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/dist/functions.d.ts +1 -1
- package/dist/functions.js +132 -3
- package/dist/functions.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +132 -3
- package/dist/index.js.map +1 -1
- package/dist/shared.d.ts +1 -1
- package/dist/writer.d.ts +101 -1
- package/dist/writer.js +132 -3
- package/dist/writer.js.map +1 -1
- package/package.json +1 -1
package/dist/shared.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ type IndexFieldTypesForEq<EntsDataModel extends GenericEntsDataModel, Table exte
|
|
|
14
14
|
type PopIfSeveral<T extends any[]> = T extends [infer Only] ? [Only] : T extends [...infer Rest, infer _Last] ? Rest : never;
|
|
15
15
|
declare function getEdgeDefinitions<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>>(entDefinitions: EntsDataModel, table: Table): Record<keyof EntsDataModel[Table]["edges"], EdgeConfig>;
|
|
16
16
|
type UniqueIndexFieldName<T extends string[]> = T extends [infer Only] ? Only : T extends [infer Single, "_creationTime"] ? Single : never;
|
|
17
|
-
declare function systemAwareGet<DataModel extends GenericDataModel, Table extends TableNamesInDataModel<DataModel>>(db: GenericDatabaseReader<DataModel>, table: Table, id: GenericId<Table>): Promise<DocumentByName<SystemDataModel, (Table & "
|
|
17
|
+
declare function systemAwareGet<DataModel extends GenericDataModel, Table extends TableNamesInDataModel<DataModel>>(db: GenericDatabaseReader<DataModel>, table: Table, id: GenericId<Table>): Promise<DocumentByName<SystemDataModel, (Table & "_scheduled_functions") | (Table & "_storage")> | null> | Promise<DocumentByName<DataModel, Table> | null>;
|
|
18
18
|
declare function systemAwareQuery<DataModel extends GenericDataModel, Table extends TableNamesInDataModel<DataModel>>(db: GenericDatabaseReader<DataModel>, table: Table): QueryInitializer<NamedTableInfo<DataModel, Table>>;
|
|
19
19
|
declare function isSystemTable(table: string): table is SystemTableNames;
|
|
20
20
|
|
package/dist/writer.d.ts
CHANGED
|
@@ -44,6 +44,28 @@ interface PromiseOrderedQueryOrNull<EntsDataModel extends GenericEntsDataModel,
|
|
|
44
44
|
unique(): PromiseEntOrNull<EntsDataModel, Table>;
|
|
45
45
|
docs(): Promise<DocumentByName<EntsDataModel, Table>[] | null>;
|
|
46
46
|
}
|
|
47
|
+
interface PromiseOrderedIdsQueryOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<GenericId<Table>[] | null> {
|
|
48
|
+
/**
|
|
49
|
+
* Map over the relevant IDs.
|
|
50
|
+
*/
|
|
51
|
+
map<TOutput>(callbackFn: (value: GenericId<Table>, index: number, array: GenericId<Table>[]) => TOutput | Promise<TOutput>): PromiseArrayOrNull<TOutput>;
|
|
52
|
+
/**
|
|
53
|
+
* Paginate the relevant IDs.
|
|
54
|
+
*/
|
|
55
|
+
paginate(paginationOpts: PaginationOptions): PromiseIdsPaginationResultOrNull<EntsDataModel, Table>;
|
|
56
|
+
/**
|
|
57
|
+
* Take the first `n` relevant IDs.
|
|
58
|
+
*/
|
|
59
|
+
take(n: number): PromiseIdsOrNull<EntsDataModel, Table>;
|
|
60
|
+
/**
|
|
61
|
+
* Returns the first relevant ID, or `null` if there are no relevant IDs.
|
|
62
|
+
*/
|
|
63
|
+
first(): Promise<GenericId<Table> | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the only relevant ID, or `null` if there are none or throws if there is more than one.
|
|
66
|
+
*/
|
|
67
|
+
unique(): Promise<GenericId<Table> | null>;
|
|
68
|
+
}
|
|
47
69
|
interface PromiseOrderedQueryWriterOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[] | null> {
|
|
48
70
|
filter(predicate: (q: FilterBuilder<NamedTableInfo<EntsDataModel, Table>>) => ExpressionOrValue<boolean>): this;
|
|
49
71
|
map<TOutput>(callbackFn: (value: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>, index: number, array: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]) => Promise<TOutput> | TOutput): PromiseArrayOrNull<TOutput>;
|
|
@@ -129,6 +151,15 @@ interface PromiseOrderedQuery<EntsDataModel extends GenericEntsDataModel, Table
|
|
|
129
151
|
unique(): PromiseEntOrNull<EntsDataModel, Table>;
|
|
130
152
|
uniqueX(): PromiseEnt<EntsDataModel, Table>;
|
|
131
153
|
}
|
|
154
|
+
interface PromiseOrderedIdsQuery<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<GenericId<Table>[]> {
|
|
155
|
+
map<TOutput>(callbackFn: (value: GenericId<Table>, index: number, array: GenericId<Table>[]) => Promise<TOutput> | TOutput): PromiseArray<TOutput>;
|
|
156
|
+
paginate(paginationOpts: PaginationOptions): PromiseIdsPaginationResult<EntsDataModel, Table>;
|
|
157
|
+
take(n: number): PromiseIds<EntsDataModel, Table>;
|
|
158
|
+
first(): Promise<GenericId<Table> | null>;
|
|
159
|
+
firstX(): Promise<GenericId<Table>>;
|
|
160
|
+
unique(): Promise<GenericId<Table> | null>;
|
|
161
|
+
uniqueX(): Promise<GenericId<Table>>;
|
|
162
|
+
}
|
|
132
163
|
interface PromiseQuery<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseOrderedQuery<EntsDataModel, Table> {
|
|
133
164
|
order(order: "asc" | "desc"): PromiseOrderedQuery<EntsDataModel, Table>;
|
|
134
165
|
}
|
|
@@ -140,6 +171,12 @@ interface PromisePaginationResult<EntsDataModel extends GenericEntsDataModel, Ta
|
|
|
140
171
|
docs(): Promise<PaginationResult<DocumentByName<EntsDataModel, Table>>>;
|
|
141
172
|
map<TOutput>(callbackFn: (value: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>, index: number, array: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]) => Promise<TOutput> | TOutput): Promise<PaginationResult<TOutput>>;
|
|
142
173
|
}
|
|
174
|
+
interface PromiseIdsPaginationResultOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<PaginationResult<GenericId<Table>> | null> {
|
|
175
|
+
map<TOutput>(callbackFn: (value: GenericId<Table>, index: number, array: GenericId<Table>[]) => Promise<TOutput> | TOutput): Promise<PaginationResult<TOutput> | null>;
|
|
176
|
+
}
|
|
177
|
+
interface PromiseIdsPaginationResult<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<PaginationResult<GenericId<Table>>> {
|
|
178
|
+
map<TOutput>(callbackFn: (value: GenericId<Table>, index: number, array: GenericId<Table>[]) => Promise<TOutput> | TOutput): Promise<PaginationResult<TOutput>>;
|
|
179
|
+
}
|
|
143
180
|
interface PromiseEntsOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[] | null> {
|
|
144
181
|
map<TOutput>(callbackFn: (value: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>, index: number, array: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]) => Promise<TOutput> | TOutput): PromiseArrayOrNull<TOutput>;
|
|
145
182
|
docs(): Promise<DocumentByName<EntsDataModel, Table>[] | null>;
|
|
@@ -154,6 +191,12 @@ interface PromiseEnts<EntsDataModel extends GenericEntsDataModel, Table extends
|
|
|
154
191
|
}
|
|
155
192
|
interface PromiseEntsOrNulls<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<(Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel> | null)[]> {
|
|
156
193
|
}
|
|
194
|
+
interface PromiseIdsOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<GenericId<Table>[] | null> {
|
|
195
|
+
map<TOutput>(callbackFn: (value: GenericId<Table>, index: number, array: GenericId<Table>[]) => Promise<TOutput> | TOutput): PromiseArrayOrNull<TOutput>;
|
|
196
|
+
}
|
|
197
|
+
interface PromiseIds<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<GenericId<Table>[]> {
|
|
198
|
+
map<TOutput>(callbackFn: (value: GenericId<Table>, index: number, array: GenericId<Table>[]) => Promise<TOutput> | TOutput): PromiseArrayOrNull<TOutput>;
|
|
199
|
+
}
|
|
157
200
|
interface PromiseEdgeOrderedEntsOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEntsOrNull<EntsDataModel, Table> {
|
|
158
201
|
/**
|
|
159
202
|
* Paginate the ents on the other end of the edge.
|
|
@@ -190,6 +233,13 @@ interface PromiseEdgeEntsOrNull<EntsDataModel extends GenericEntsDataModel, Tabl
|
|
|
190
233
|
order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseEdgeOrderedEntsOrNull<EntsDataModel, Table>;
|
|
191
234
|
}
|
|
192
235
|
interface PromiseEdgeOrderedEntsWriterOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEntsWriterOrNull<EntsDataModel, Table> {
|
|
236
|
+
/**
|
|
237
|
+
* Returns the IDs of the ents on the other end of the edge.
|
|
238
|
+
* Returns null if chained to a null result.
|
|
239
|
+
*
|
|
240
|
+
* Note that read rules are not applied to filter the returned IDs.
|
|
241
|
+
*/
|
|
242
|
+
ids(): PromiseOrderedIdsQueryOrNull<EntsDataModel, Table>;
|
|
193
243
|
/**
|
|
194
244
|
* Paginate the ents on the other end of the edge.
|
|
195
245
|
* Results are ordered by edge's `_creationTime`.
|
|
@@ -225,6 +275,12 @@ interface PromiseEdgeEntsWriterOrNull<EntsDataModel extends GenericEntsDataModel
|
|
|
225
275
|
order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseEdgeOrderedEntsWriterOrNull<EntsDataModel, Table>;
|
|
226
276
|
}
|
|
227
277
|
interface PromiseEdgeOrderedEnts<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEnts<EntsDataModel, Table> {
|
|
278
|
+
/**
|
|
279
|
+
* Returns the IDs of the ents on the other end of the edge.
|
|
280
|
+
*
|
|
281
|
+
* Note that read rules are not applied to filter the returned IDs.
|
|
282
|
+
*/
|
|
283
|
+
ids(): PromiseOrderedIdsQuery<EntsDataModel, Table>;
|
|
228
284
|
/**
|
|
229
285
|
* Paginate the ents on the other end of the edge.
|
|
230
286
|
* Results are ordered by edge's `_creationTime`.
|
|
@@ -264,6 +320,12 @@ interface PromiseEdgeEnts<EntsDataModel extends GenericEntsDataModel, Table exte
|
|
|
264
320
|
* @param id The ID of the ent on the other end of the edge
|
|
265
321
|
*/
|
|
266
322
|
has(id: GenericId<Table>): Promise<boolean>;
|
|
323
|
+
/**
|
|
324
|
+
* Returns the IDs of the ents on the other end of the edge.
|
|
325
|
+
*
|
|
326
|
+
* Note that read rules are not applied to filter the returned IDs.
|
|
327
|
+
*/
|
|
328
|
+
ids(): PromiseOrderedIdsQuery<EntsDataModel, Table>;
|
|
267
329
|
/**
|
|
268
330
|
* Query the ents on the other end of the edge
|
|
269
331
|
* ordered by edge's `_creationTime`.
|
|
@@ -271,6 +333,12 @@ interface PromiseEdgeEnts<EntsDataModel extends GenericEntsDataModel, Table exte
|
|
|
271
333
|
order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseEdgeOrderedEnts<EntsDataModel, Table>;
|
|
272
334
|
}
|
|
273
335
|
interface PromiseEdgeOrderedEntsWriter<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEntsWriter<EntsDataModel, Table> {
|
|
336
|
+
/**
|
|
337
|
+
* Returns the IDs of the ents on the other end of the edge.
|
|
338
|
+
*
|
|
339
|
+
* Note that read rules are not applied to filter the returned IDs.
|
|
340
|
+
*/
|
|
341
|
+
ids(): PromiseOrderedIdsQuery<EntsDataModel, Table>;
|
|
274
342
|
/**
|
|
275
343
|
* Paginate the ents on the other end of the edge.
|
|
276
344
|
* Results are ordered by edge's `_creationTime`.
|
|
@@ -345,7 +413,14 @@ type EntsTable<EntsDataModel extends GenericEntsDataModel> = EntsTableReader<Ent
|
|
|
345
413
|
system: EntsTableReader<EntsSystemDataModel>;
|
|
346
414
|
};
|
|
347
415
|
type EntsTableWriter<EntsDataModel extends GenericEntsDataModel> = {
|
|
416
|
+
/**
|
|
417
|
+
* Read from and write to the given `table` using the index with the given `indexName`.
|
|
418
|
+
* Without the `indexRange` argument, the use of the index only affects the order of the results.
|
|
419
|
+
*/
|
|
348
420
|
<Table extends TableNamesInDataModel<EntsDataModel>, IndexName extends IndexNames<NamedTableInfo<EntsDataModel, Table>>>(table: Table, indexName: IndexName, indexRange?: (q: IndexRangeBuilder<DocumentByName<EntsDataModel, Table>, NamedIndex<NamedTableInfo<EntsDataModel, Table>, IndexName>>) => IndexRange): PromiseQueryWriter<EntsDataModel, Table>;
|
|
421
|
+
/**
|
|
422
|
+
* Read from and write to the given `table`.
|
|
423
|
+
*/
|
|
349
424
|
<Table extends TableNamesInDataModel<EntsDataModel>>(table: Table): PromiseTableWriter<Table, EntsDataModel>;
|
|
350
425
|
system: EntsTableReader<EntsSystemDataModel>;
|
|
351
426
|
};
|
|
@@ -363,12 +438,34 @@ type PromiseEdgeWriter<EntsDataModel extends GenericEntsDataModel, Table extends
|
|
|
363
438
|
type PromiseEdgeWriterOrThrow<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEntsWriter<EntsDataModel, ToTable>, PromiseQueryWriter<EntsDataModel, ToTable>, PromiseEntWriter<EntsDataModel, ToTable>, PromiseEntWriter<EntsDataModel, ToTable>>;
|
|
364
439
|
type PromiseEdgeWriterOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEntsWriterOrNull<EntsDataModel, ToTable>, PromiseQueryWriterOrNull<EntsDataModel, ToTable>, PromiseEntWriterOrNull<EntsDataModel, ToTable>, PromiseEntWriterOrNull<EntsDataModel, ToTable>>;
|
|
365
440
|
interface PromiseOrderedQueryWriter<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<EntWriter<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]>, PromiseOrderedQueryBase<EntsDataModel, Table> {
|
|
441
|
+
/**
|
|
442
|
+
* Paginate the relevant ents.
|
|
443
|
+
*/
|
|
366
444
|
paginate(paginationOpts: PaginationOptions): PromisePaginationResultWriter<EntsDataModel, Table>;
|
|
445
|
+
/**
|
|
446
|
+
* Map over the relevant ents.
|
|
447
|
+
*/
|
|
367
448
|
map<TOutput>(callbackFn: (value: EntWriter<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>, index: number, array: EntWriter<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]) => Promise<TOutput> | TOutput): PromiseArray<TOutput>;
|
|
449
|
+
/**
|
|
450
|
+
* Take the first `n` relevant ents.
|
|
451
|
+
*/
|
|
368
452
|
take(n: number): PromiseEntsWriter<EntsDataModel, Table>;
|
|
453
|
+
/**
|
|
454
|
+
* Returns the first relevant ent, or `null` if there are no ents.
|
|
455
|
+
*/
|
|
369
456
|
first(): PromiseEntWriterOrNull<EntsDataModel, Table>;
|
|
457
|
+
/**
|
|
458
|
+
* Returns the first relevant ent, or throws if there are no ents.
|
|
459
|
+
*/
|
|
370
460
|
firstX(): PromiseEntWriter<EntsDataModel, Table>;
|
|
461
|
+
/**
|
|
462
|
+
* Returns the only relevant ent, `null` if there are none,
|
|
463
|
+
* or throws if there are more than one.
|
|
464
|
+
*/
|
|
371
465
|
unique(): PromiseEntWriterOrNull<EntsDataModel, Table>;
|
|
466
|
+
/**
|
|
467
|
+
* Returns the only relevant ent, or throws if there are none or more than one.
|
|
468
|
+
*/
|
|
372
469
|
uniqueX(): PromiseEntWriter<EntsDataModel, Table>;
|
|
373
470
|
}
|
|
374
471
|
interface PromiseQueryWriter<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseOrderedQueryWriter<EntsDataModel, Table> {
|
|
@@ -444,6 +541,9 @@ interface PromiseEntWriterOrNull<EntsDataModel extends GenericEntsDataModel, Tab
|
|
|
444
541
|
doc(): Promise<DocumentByName<EntsDataModel, Table> | null>;
|
|
445
542
|
}
|
|
446
543
|
interface PromiseEntWriter<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<EntWriter<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>> {
|
|
544
|
+
/**
|
|
545
|
+
* Traverse the given `edge`.
|
|
546
|
+
*/
|
|
447
547
|
edge<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): PromiseEdgeWriter<EntsDataModel, Table, Edge>;
|
|
448
548
|
edgeX<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): PromiseEdgeWriterOrThrow<EntsDataModel, Table, Edge>;
|
|
449
549
|
doc(): Promise<DocumentByName<EntsDataModel, Table>>;
|
|
@@ -550,4 +650,4 @@ declare function getWriteRule(entDefinitions: GenericEntsDataModel, table: strin
|
|
|
550
650
|
}) => Promise<boolean>) | undefined;
|
|
551
651
|
declare function getDeletionConfig<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>>(entDefinitions: EntsDataModel, table: Table): DeletionConfig | undefined;
|
|
552
652
|
|
|
553
|
-
export {
|
|
653
|
+
export { type PromiseEntId as $, type PromiseEdgeOrderedEntsWriter as A, type PromiseEdgeEntsWriter as B, type PromiseEntOrNull as C, type PromiseEnt as D, type PromiseArrayOrNull as E, type EdgeChanges, type PromiseArray as F, entWrapper as G, entsTableFactory as H, type EntsTable as I, type EntsTableWriter as J, type Ent as K, type GenericEnt as L, type PromiseEdge as M, type PromiseEdgeOrThrow as N, type PromiseEdgeWriter as O, type PromiseOrderedQueryOrNull as P, type PromiseEdgeWriterOrThrow as Q, type PromiseEdgeWriterOrNull as R, type PromiseOrderedQueryWriter as S, type PromiseQueryWriter as T, type PromiseEntsWriter as U, type PromisePaginationResultWriterOrNull as V, type PromisePaginationResultWriter as W, type WithEdgeInserts, type WithEdgePatches, type WithEdges, WriterImplBase, type PromiseTableWriter as X, type PromiseEntWriterOrNull as Y, type PromiseEntWriter as Z, type GenericEntWriter as _, type PromiseOrderedIdsQueryOrNull as a, type EntQueryCtx as a0, type EntMutationCtx as a1, type DocRetriever as a2, addEntRules as a3, getReadRule as a4, getWriteRule as a5, getDeletionConfig as a6, type PromiseOrderedQueryWriterOrNull as b, type PromiseQueryOrNull as c, type PromiseQueryWriterOrNull as d, type PromiseTableBase as e, type PromiseTable as f, type PromiseOrderedQueryBase as g, type PromiseOrderedQuery as h, type PromiseOrderedIdsQuery as i, type PromiseQuery as j, type PromisePaginationResultOrNull as k, type PromisePaginationResult as l, type PromiseIdsPaginationResultOrNull as m, type PromiseIdsPaginationResult as n, type PromiseEntsOrNull as o, type PromiseEntsWriterOrNull as p, type PromiseEnts as q, type PromiseEntsOrNulls as r, type PromiseIdsOrNull as s, type PromiseIds as t, type PromiseEdgeOrderedEntsOrNull as u, type PromiseEdgeEntsOrNull as v, type PromiseEdgeOrderedEntsWriterOrNull as w, type PromiseEdgeEntsWriterOrNull as x, type PromiseEdgeOrderedEnts as y, type PromiseEdgeEnts as z };
|
package/dist/writer.js
CHANGED
|
@@ -71,7 +71,7 @@ var PromiseQueryOrNullImpl = class _PromiseQueryOrNullImpl extends Promise {
|
|
|
71
71
|
);
|
|
72
72
|
}
|
|
73
73
|
map(callbackFn) {
|
|
74
|
-
return new
|
|
74
|
+
return new PromiseArrayOrNullImpl(async () => {
|
|
75
75
|
const array = await this;
|
|
76
76
|
if (array === null) {
|
|
77
77
|
return null;
|
|
@@ -232,6 +232,90 @@ var PromiseQueryOrNullImpl = class _PromiseQueryOrNullImpl extends Promise {
|
|
|
232
232
|
);
|
|
233
233
|
}
|
|
234
234
|
};
|
|
235
|
+
var PromiseIdsQueryOrNullImpl = class extends Promise {
|
|
236
|
+
constructor(retrieve, field) {
|
|
237
|
+
super(() => {
|
|
238
|
+
});
|
|
239
|
+
this.retrieve = retrieve;
|
|
240
|
+
this.field = field;
|
|
241
|
+
}
|
|
242
|
+
map(callbackFn) {
|
|
243
|
+
return new PromiseArrayOrNullImpl(async () => {
|
|
244
|
+
const array = await this;
|
|
245
|
+
if (array === null) {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
return await Promise.all(array.map(callbackFn));
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
paginate(paginationOpts) {
|
|
252
|
+
return new PromiseIdsPaginationResultOrNullImpl(async () => {
|
|
253
|
+
const query = await this.retrieve();
|
|
254
|
+
if (query === null) {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
const result = await query.paginate(paginationOpts);
|
|
258
|
+
return {
|
|
259
|
+
...result,
|
|
260
|
+
page: result.page.map((id) => this._getId(id))
|
|
261
|
+
};
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
take(n) {
|
|
265
|
+
return new PromiseIdsOrNullImpl(async () => {
|
|
266
|
+
const query = await this.retrieve();
|
|
267
|
+
if (query === null) {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
const result = await query.take(n);
|
|
271
|
+
return result.map((id) => this._getId(id));
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
async first() {
|
|
275
|
+
const query = await this.retrieve();
|
|
276
|
+
if (query === null) {
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
const doc = await query.first();
|
|
280
|
+
if (doc === null) {
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
return this._getId(doc);
|
|
284
|
+
}
|
|
285
|
+
async firstX() {
|
|
286
|
+
const id = await this.first();
|
|
287
|
+
if (id === null) {
|
|
288
|
+
throw new Error("Expected at least one ID, but got none");
|
|
289
|
+
}
|
|
290
|
+
return id;
|
|
291
|
+
}
|
|
292
|
+
async unique() {
|
|
293
|
+
const query = await this.retrieve();
|
|
294
|
+
if (query === null) {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
const result = await query.unique();
|
|
298
|
+
if (result === null) {
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
301
|
+
return this._getId(result);
|
|
302
|
+
}
|
|
303
|
+
async uniqueX() {
|
|
304
|
+
const id = await this.unique();
|
|
305
|
+
if (id === null) {
|
|
306
|
+
throw new Error("Expected one unique ID, but got none");
|
|
307
|
+
}
|
|
308
|
+
return id;
|
|
309
|
+
}
|
|
310
|
+
then(onfulfilled, onrejected) {
|
|
311
|
+
return this.retrieve().then((query) => query === null ? null : query.collect()).then(
|
|
312
|
+
(docs) => docs === null ? null : docs.map((doc) => this._getId(doc))
|
|
313
|
+
).then(onfulfilled, onrejected);
|
|
314
|
+
}
|
|
315
|
+
_getId(doc) {
|
|
316
|
+
return doc[this.field];
|
|
317
|
+
}
|
|
318
|
+
};
|
|
235
319
|
var PromisePaginationResultOrNullImpl = class extends Promise {
|
|
236
320
|
constructor(ctx, entDefinitions, table, retrieve) {
|
|
237
321
|
super(() => {
|
|
@@ -278,6 +362,26 @@ var PromisePaginationResultOrNullImpl = class extends Promise {
|
|
|
278
362
|
).then(onfulfilled, onrejected);
|
|
279
363
|
}
|
|
280
364
|
};
|
|
365
|
+
var PromiseIdsPaginationResultOrNullImpl = class extends Promise {
|
|
366
|
+
constructor(retrieve) {
|
|
367
|
+
super(() => {
|
|
368
|
+
});
|
|
369
|
+
this.retrieve = retrieve;
|
|
370
|
+
}
|
|
371
|
+
async map(callbackFn) {
|
|
372
|
+
const result = await this;
|
|
373
|
+
if (result === null) {
|
|
374
|
+
return null;
|
|
375
|
+
}
|
|
376
|
+
return {
|
|
377
|
+
...result,
|
|
378
|
+
page: await Promise.all(result.page.map(callbackFn))
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
then(onfulfilled, onrejected) {
|
|
382
|
+
return this.retrieve().then(onfulfilled, onrejected);
|
|
383
|
+
}
|
|
384
|
+
};
|
|
281
385
|
var PromiseEntsOrNullImpl = class extends Promise {
|
|
282
386
|
constructor(ctx, entDefinitions, table, retrieve, throwIfNull) {
|
|
283
387
|
super(() => {
|
|
@@ -289,7 +393,7 @@ var PromiseEntsOrNullImpl = class extends Promise {
|
|
|
289
393
|
this.throwIfNull = throwIfNull;
|
|
290
394
|
}
|
|
291
395
|
map(callbackFn) {
|
|
292
|
-
return new
|
|
396
|
+
return new PromiseArrayOrNullImpl(async () => {
|
|
293
397
|
const array = await this;
|
|
294
398
|
if (array === null) {
|
|
295
399
|
return null;
|
|
@@ -391,6 +495,25 @@ var PromiseEntsOrNullImpl = class extends Promise {
|
|
|
391
495
|
).then(onfulfilled, onrejected);
|
|
392
496
|
}
|
|
393
497
|
};
|
|
498
|
+
var PromiseIdsOrNullImpl = class extends Promise {
|
|
499
|
+
constructor(retrieve) {
|
|
500
|
+
super(() => {
|
|
501
|
+
});
|
|
502
|
+
this.retrieve = retrieve;
|
|
503
|
+
}
|
|
504
|
+
map(callbackFn) {
|
|
505
|
+
return new PromiseArrayOrNullImpl(async () => {
|
|
506
|
+
const array = await this;
|
|
507
|
+
if (array === null) {
|
|
508
|
+
return null;
|
|
509
|
+
}
|
|
510
|
+
return await Promise.all(array.map(callbackFn));
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
then(onfulfilled, onrejected) {
|
|
514
|
+
return this.retrieve().then(onfulfilled, onrejected);
|
|
515
|
+
}
|
|
516
|
+
};
|
|
394
517
|
var PromiseEdgeOrNullImpl = class _PromiseEdgeOrNullImpl extends PromiseEntsOrNullImpl {
|
|
395
518
|
constructor(ctx, entDefinitions, table, edgeDefinition, retrieveSourceId, retrieveQuery, retrieveDoc = async (edgeDoc) => {
|
|
396
519
|
const sourceId = edgeDoc[edgeDefinition.field];
|
|
@@ -426,6 +549,12 @@ var PromiseEdgeOrNullImpl = class _PromiseEdgeOrNullImpl extends PromiseEntsOrNu
|
|
|
426
549
|
this.retrieveQuery = retrieveQuery;
|
|
427
550
|
this.retrieveDoc = retrieveDoc;
|
|
428
551
|
}
|
|
552
|
+
ids() {
|
|
553
|
+
return new PromiseIdsQueryOrNullImpl(
|
|
554
|
+
() => this.retrieveQuery(),
|
|
555
|
+
this.edgeDefinition.ref
|
|
556
|
+
);
|
|
557
|
+
}
|
|
429
558
|
async has(targetId) {
|
|
430
559
|
const sourceId = await this.retrieveSourceId();
|
|
431
560
|
if (sourceId === null) {
|
|
@@ -713,7 +842,7 @@ var PromiseEntOrNullImpl = class extends Promise {
|
|
|
713
842
|
);
|
|
714
843
|
}
|
|
715
844
|
};
|
|
716
|
-
var
|
|
845
|
+
var PromiseArrayOrNullImpl = class extends Promise {
|
|
717
846
|
constructor(retrieve) {
|
|
718
847
|
super(() => {
|
|
719
848
|
});
|