dinah 0.8.0 → 0.9.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/index.d.mts CHANGED
@@ -100,6 +100,14 @@ interface DbBatchWriteResponse {
100
100
  items: Obj<Obj[]>;
101
101
  unprocessed?: DbBatchWrite;
102
102
  }
103
+ interface DbBatchUpdateRequest<T = Obj> {
104
+ keys: Partial<T>[];
105
+ update: UpdateExpression<T>;
106
+ }
107
+ type DbBatchUpdate = Obj<DbBatchUpdateRequest>;
108
+ interface DbBatchUpdateResponse {
109
+ unprocessed?: DbBatchUpdate;
110
+ }
103
111
  interface DbTrxGetRequest<T = Obj> {
104
112
  table: string;
105
113
  key: Partial<T>;
@@ -153,56 +161,56 @@ interface DbStreamEvent {
153
161
  type DbStreamEventListener = (event: DbStreamEvent) => void;
154
162
  //#endregion
155
163
  //#region src/repo.types.d.ts
156
- type RepoKey<R extends AbstractRepo<any>> = Partial<R["$schema"]> & ExtractKey<R["$schema"], R["$def"]>;
157
- type RepoPutItem<R extends AbstractRepo<any>> = DistPartialSome<R["$schema"], keyof R["defaultPutData"]>;
158
- type RepoUpdateItem<R extends AbstractRepo<any>> = DistPartialSome<R["$schema"], keyof R["defaultUpdateData"]>;
159
- type GsiNames<R extends AbstractRepo<any>> = keyof R["table"]["def"]["gsis"] & string;
164
+ type RepoKey<R extends Repo<any>> = Partial<R["$schema"]> & ExtractKey<R["$schema"], R["$def"]>;
165
+ type RepoPutItem<R extends Repo<any>> = DistPartialSome<R["$schema"], keyof R["defaultPutData"]>;
166
+ type RepoUpdateItem<R extends Repo<any>> = DistPartialSome<R["$schema"], keyof R["defaultUpdateData"]>;
167
+ type GsiNames<R extends Repo<any>> = keyof R["table"]["def"]["gsis"] & string;
160
168
  type TableGsiNames<T extends Table> = keyof NonNullable<ExtractTableDef<T>["gsis"]> & string;
161
- type GsiKey<R extends AbstractRepo<any>, G extends GsiNames<R>> = ExtractKey<R["$schema"], GsiDef<R, G>>;
162
- type Projection<R extends AbstractRepo<any>> = AllKeys<R["$schema"]>[];
163
- type RepoOutput<R extends AbstractRepo<any>> = ReturnType<R["transformItem"]>;
164
- type ApplyProjection<R extends AbstractRepo<any>, O> = O extends {
169
+ type GsiKey<R extends Repo<any>, G extends GsiNames<R>> = ExtractKey<R["$schema"], GsiDef<R, G>>;
170
+ type Projection<R extends Repo<any>> = AllKeys<R["$schema"]>[];
171
+ type RepoOutput<R extends Repo<any>> = ReturnType<R["transformItem"]>;
172
+ type ApplyProjection<R extends Repo<any>, O> = O extends {
165
173
  projection: Array<infer P extends AllKeys<R["$schema"]>>;
166
174
  } ? Pick<R["$schema"], P> : RepoOutput<R>;
167
- type GsiProjectionType<R extends AbstractRepo<any>, G extends string> = GsiDef<R, G> extends {
175
+ type GsiProjectionType<R extends Repo<any>, G extends string> = GsiDef<R, G> extends {
168
176
  projection: infer P;
169
177
  } ? P : undefined;
170
- type GsiDef<R extends AbstractRepo<any>, G extends string> = NonNullable<R["table"]["def"]["gsis"]>[G];
171
- type TableKeyAttributes<R extends AbstractRepo<any>> = R["table"]["def"]["partitionKey"] | (R["table"]["def"]["sortKey"] & string);
172
- type GsiOwnKeyAttributes<R extends AbstractRepo<any>, G extends string> = (ToUnion<GsiDef<R, G>["partitionKey"]> & string) | (ToUnion<GsiDef<R, G>["sortKey"]> & string);
173
- type GsiAllKeyAttributes<R extends AbstractRepo<any>, G extends string> = TableKeyAttributes<R> | GsiOwnKeyAttributes<R, G>;
174
- type GsiIncludedAttributes<R extends AbstractRepo<any>, G extends string> = Extract<GsiDef<R, G>["projection"], readonly any[]>[number];
175
- type ApplyGsiProjection<R extends AbstractRepo<any>, O, G extends string> = O extends {
178
+ type GsiDef<R extends Repo<any>, G extends string> = NonNullable<R["table"]["def"]["gsis"]>[G];
179
+ type TableKeyAttributes<R extends Repo<any>> = R["table"]["def"]["partitionKey"] | (R["table"]["def"]["sortKey"] & string);
180
+ type GsiOwnKeyAttributes<R extends Repo<any>, G extends string> = (ToUnion<GsiDef<R, G>["partitionKey"]> & string) | (ToUnion<GsiDef<R, G>["sortKey"]> & string);
181
+ type GsiAllKeyAttributes<R extends Repo<any>, G extends string> = TableKeyAttributes<R> | GsiOwnKeyAttributes<R, G>;
182
+ type GsiIncludedAttributes<R extends Repo<any>, G extends string> = Extract<GsiDef<R, G>["projection"], readonly any[]>[number];
183
+ type ApplyGsiProjection<R extends Repo<any>, O, G extends string> = O extends {
176
184
  projection: Array<infer P extends AllKeys<R["$schema"]>>;
177
185
  } ? Pick<R["$schema"], P | Extract<GsiAllKeyAttributes<R, G>, keyof R["$schema"]>> : GsiProjectionType<R, G> extends "ALL" | undefined ? RepoOutput<R> : Pick<R["$schema"], Extract<GsiAllKeyAttributes<R, G> | GsiIncludedAttributes<R, G>, keyof R["$schema"]>>;
178
- interface RepoGetOptions<R extends AbstractRepo<any>> {
186
+ interface RepoGetOptions<R extends Repo<any>> {
179
187
  consistent?: boolean;
180
188
  projection?: Projection<R>;
181
189
  filter?: (item: R["$schema"]) => boolean;
182
190
  }
183
- type RepoGetResult<R extends AbstractRepo<any>, O extends RepoGetOptions<R>> = undefined | ApplyProjection<R, O>;
184
- type RepoGetOrThrowResult<R extends AbstractRepo<any>, O extends RepoGetOptions<R>> = ApplyProjection<R, O>;
185
- interface RepoPutOptions<R extends AbstractRepo<any>> {
191
+ type RepoGetResult<R extends Repo<any>, O extends RepoGetOptions<R>> = undefined | ApplyProjection<R, O>;
192
+ type RepoGetOrThrowResult<R extends Repo<any>, O extends RepoGetOptions<R>> = ApplyProjection<R, O>;
193
+ interface RepoPutOptions<R extends Repo<any>> {
186
194
  condition?: Condition<R["$schema"]>;
187
195
  }
188
- type RepoPutResult<R extends AbstractRepo<any>> = RepoOutput<R>;
189
- type RepoCreateItem<R extends AbstractRepo<any>> = RepoPutItem<R>;
190
- interface RepoCreateOptions<R extends AbstractRepo<any>> {
196
+ type RepoPutResult<R extends Repo<any>> = RepoOutput<R>;
197
+ type RepoCreateItem<R extends Repo<any>> = RepoPutItem<R>;
198
+ interface RepoCreateOptions<R extends Repo<any>> {
191
199
  condition?: Condition<R["$schema"]>;
192
200
  }
193
- type RepoCreateResult<R extends AbstractRepo<any>> = RepoOutput<R>;
201
+ type RepoCreateResult<R extends Repo<any>> = RepoOutput<R>;
194
202
  type RepoUpdateData<T = Obj> = UpdateExpression<T>;
195
- interface RepoUpdateOptions<R extends AbstractRepo<any>> {
203
+ interface RepoUpdateOptions<R extends Repo<any>> {
196
204
  condition?: Condition<R["$schema"]>;
197
205
  }
198
- type RepoUpdateResult<R extends AbstractRepo<any>> = RepoOutput<R>;
199
- interface RepoDeleteOptions<R extends AbstractRepo<any>> {
206
+ type RepoUpdateResult<R extends Repo<any>> = RepoOutput<R>;
207
+ interface RepoDeleteOptions<R extends Repo<any>> {
200
208
  condition?: Condition<R["$schema"]>;
201
209
  }
202
- type RepoDeleteResult<R extends AbstractRepo<any>> = RepoOutput<R> | undefined;
203
- type RepoDeleteOrThrowResult<R extends AbstractRepo<any>> = RepoOutput<R>;
204
- type RepoQueryQuery<R extends AbstractRepo<any>> = Pick<R["$schema"], R["table"]["def"]["partitionKey"]> & SortKeyQuery<R["$schema"], R["table"]["def"]["sortKey"]>;
205
- interface RepoQueryOptions<R extends AbstractRepo<any>> {
210
+ type RepoDeleteResult<R extends Repo<any>> = RepoOutput<R> | undefined;
211
+ type RepoDeleteOrThrowResult<R extends Repo<any>> = RepoOutput<R>;
212
+ type RepoQueryQuery<R extends Repo<any>> = Pick<R["$schema"], R["table"]["def"]["partitionKey"]> & SortKeyQuery<R["$schema"], R["table"]["def"]["sortKey"]>;
213
+ interface RepoQueryOptions<R extends Repo<any>> {
206
214
  startKey?: RepoKey<R>;
207
215
  filter?: Condition<R["$schema"]>;
208
216
  projection?: Projection<R>;
@@ -210,8 +218,8 @@ interface RepoQueryOptions<R extends AbstractRepo<any>> {
210
218
  consistent?: boolean;
211
219
  sort?: "ASC" | "DESC";
212
220
  }
213
- type RepoQueryResult<R extends AbstractRepo<any>, O extends RepoQueryOptions<R>> = ApplyProjection<R, O>[];
214
- type RepoQueryPagedResult<R extends AbstractRepo<any>, O extends RepoQueryOptions<R>> = AsyncGenerator<ApplyProjection<R, O>[]>;
221
+ type RepoQueryResult<R extends Repo<any>, O extends RepoQueryOptions<R>> = ApplyProjection<R, O>[];
222
+ type RepoQueryPagedResult<R extends Repo<any>, O extends RepoQueryOptions<R>> = AsyncGenerator<ApplyProjection<R, O>[]>;
215
223
  type RepoQueryGsiQuery<T extends Table, G extends string> = Pick<ExtractTableSchema<T>, ToUnion<NonNullable<ExtractTableDef<T>["gsis"]>[G]["partitionKey"]> & string> & SortKeyQuery<ExtractTableSchema<T>, NonNullable<ExtractTableDef<T>["gsis"]>[G]["sortKey"]>;
216
224
  type GsiSortKeyOf<T extends Table, G extends string> = ToUnion<NonNullable<ExtractTableDef<T>["gsis"]>[G] extends {
217
225
  sortKey: infer SK;
@@ -220,16 +228,16 @@ type TableSortKeyOf<T extends Table> = ExtractTableDef<T> extends {
220
228
  sortKey: infer SK extends string;
221
229
  } ? SK : never;
222
230
  type RepoGsiStartKey<T extends Table, G extends string> = Pick<ExtractTableSchema<T>, ExtractTableDef<T>["partitionKey"] | TableSortKeyOf<T> | (ToUnion<NonNullable<ExtractTableDef<T>["gsis"]>[G]["partitionKey"]> & string) | GsiSortKeyOf<T, G>>;
223
- interface RepoQueryGsiOptions<R extends AbstractRepo<any>, T extends Table = Table, G extends string = string> {
231
+ interface RepoQueryGsiOptions<R extends Repo<any>, T extends Table = Table, G extends string = string> {
224
232
  startKey?: RepoGsiStartKey<T, G>;
225
233
  filter?: Condition<R["$schema"]>;
226
234
  projection?: Projection<R>;
227
235
  limit?: number;
228
236
  sort?: "ASC" | "DESC";
229
237
  }
230
- type RepoQueryGsiResult<R extends AbstractRepo<any>, O extends RepoQueryGsiOptions<R>, G extends string = string> = ApplyGsiProjection<R, O, G>[];
231
- type RepoQueryGsiPagedResult<R extends AbstractRepo<any>, O extends RepoQueryGsiOptions<R>, G extends string = string> = AsyncGenerator<ApplyGsiProjection<R, O, G>[]>;
232
- interface RepoScanOptions<R extends AbstractRepo<any>> {
238
+ type RepoQueryGsiResult<R extends Repo<any>, O extends RepoQueryGsiOptions<R>, G extends string = string> = ApplyGsiProjection<R, O, G>[];
239
+ type RepoQueryGsiPagedResult<R extends Repo<any>, O extends RepoQueryGsiOptions<R>, G extends string = string> = AsyncGenerator<ApplyGsiProjection<R, O, G>[]>;
240
+ interface RepoScanOptions<R extends Repo<any>> {
233
241
  startKey?: RepoKey<R>;
234
242
  filter?: Condition<R["$schema"]>;
235
243
  projection?: Projection<R>;
@@ -237,92 +245,95 @@ interface RepoScanOptions<R extends AbstractRepo<any>> {
237
245
  consistent?: boolean;
238
246
  parallel?: number;
239
247
  }
240
- type RepoScanResult<R extends AbstractRepo<any>, O extends RepoScanOptions<R>> = ApplyProjection<R, O>[];
241
- type RepoScanPagedResult<R extends AbstractRepo<any>, O extends RepoScanOptions<R>> = AsyncGenerator<ApplyProjection<R, O>[]>;
242
- interface RepoScanGsiOptions<R extends AbstractRepo<any>, T extends Table = Table, G extends string = string> {
248
+ type RepoScanResult<R extends Repo<any>, O extends RepoScanOptions<R>> = ApplyProjection<R, O>[];
249
+ type RepoScanPagedResult<R extends Repo<any>, O extends RepoScanOptions<R>> = AsyncGenerator<ApplyProjection<R, O>[]>;
250
+ interface RepoScanGsiOptions<R extends Repo<any>, T extends Table = Table, G extends string = string> {
243
251
  startKey?: RepoGsiStartKey<T, G>;
244
252
  filter?: Condition<R["$schema"]>;
245
253
  projection?: Projection<R>;
246
254
  limit?: number;
247
255
  parallel?: number;
248
256
  }
249
- type RepoScanGsiResult<R extends AbstractRepo<any>, O extends RepoScanGsiOptions<R>, G extends string = string> = ApplyGsiProjection<R, O, G>[];
250
- type RepoScanGsiPagedResult<R extends AbstractRepo<any>, O extends RepoScanGsiOptions<R>, G extends string = string> = AsyncGenerator<ApplyGsiProjection<R, O, G>[]>;
251
- interface RepoExistsOptions<R extends AbstractRepo<any>> {
257
+ type RepoScanGsiResult<R extends Repo<any>, O extends RepoScanGsiOptions<R>, G extends string = string> = ApplyGsiProjection<R, O, G>[];
258
+ type RepoScanGsiPagedResult<R extends Repo<any>, O extends RepoScanGsiOptions<R>, G extends string = string> = AsyncGenerator<ApplyGsiProjection<R, O, G>[]>;
259
+ interface RepoExistsOptions<R extends Repo<any>> {
252
260
  query?: Obj;
253
261
  filter?: Condition<R["$schema"]>;
254
262
  consistent?: boolean;
255
263
  }
256
- interface RepoTrxGetOptions<R extends AbstractRepo<any>> {
264
+ interface RepoTrxGetOptions<R extends Repo<any>> {
257
265
  projection?: Projection<R>;
258
266
  filter?: (item: R["$schema"]) => boolean;
259
267
  }
260
- type RepoTrxGetResult<R extends AbstractRepo<any>, O extends RepoTrxGetOptions<R>> = (ApplyProjection<R, O> | undefined)[];
261
- type RepoTrxGetOrThrowResult<R extends AbstractRepo<any>, O extends RepoTrxGetOptions<R>> = ApplyProjection<R, O>[];
268
+ type RepoTrxGetResult<R extends Repo<any>, O extends RepoTrxGetOptions<R>> = (ApplyProjection<R, O> | undefined)[];
269
+ type RepoTrxGetOrThrowResult<R extends Repo<any>, O extends RepoTrxGetOptions<R>> = ApplyProjection<R, O>[];
262
270
  type RepoTrxGetRequestResult = {
263
271
  table: string;
264
272
  };
265
- interface RepoTrxDeleteRequest<R extends AbstractRepo<any>> {
273
+ interface RepoTrxDeleteRequest<R extends Repo<any>> {
266
274
  type: "DELETE";
267
275
  key: RepoKey<R>;
268
276
  condition?: Condition<R["$schema"]>;
269
277
  }
270
- interface RepoTrxPutRequest<R extends AbstractRepo<any>> {
278
+ interface RepoTrxPutRequest<R extends Repo<any>> {
271
279
  type: "PUT";
272
280
  item: RepoPutItem<R>;
273
281
  condition?: Condition<R["$schema"]>;
274
282
  }
275
- interface RepoTrxUpdateRequest<R extends AbstractRepo<any>> {
283
+ interface RepoTrxUpdateRequest<R extends Repo<any>> {
276
284
  table: string;
277
285
  type: "UPDATE";
278
286
  key: RepoKey<R>;
279
287
  update: RepoUpdateData<R["$schema"]>;
280
288
  condition?: Condition<R["$schema"]>;
281
289
  }
282
- interface RepoTrxConditionRequest<R extends AbstractRepo<any>> {
290
+ interface RepoTrxConditionRequest<R extends Repo<any>> {
283
291
  type: "CONDITION";
284
292
  key: RepoKey<R>;
285
293
  condition: Condition<R["$schema"]>;
286
294
  }
287
- type RepoTrxWriteRequest<R extends AbstractRepo<any>> = RepoTrxDeleteRequest<R> | RepoTrxPutRequest<R> | RepoTrxUpdateRequest<R> | RepoTrxConditionRequest<R>;
288
- interface RepoBatchGetOptions<R extends AbstractRepo<any>> {
295
+ type RepoTrxWriteRequest<R extends Repo<any>> = RepoTrxDeleteRequest<R> | RepoTrxPutRequest<R> | RepoTrxUpdateRequest<R> | RepoTrxConditionRequest<R>;
296
+ interface RepoBatchGetOptions<R extends Repo<any>> {
289
297
  consistent?: boolean;
290
298
  projection?: Projection<R>;
291
299
  filter?: (item: R["$schema"]) => boolean;
292
300
  }
293
- type RepoBatchGetResult<R extends AbstractRepo<any>, O extends RepoBatchGetOptions<R>> = {
301
+ type RepoBatchGetResult<R extends Repo<any>, O extends RepoBatchGetOptions<R>> = {
294
302
  items: ApplyProjection<R, O>[];
295
303
  unprocessed?: RepoKey<R>[];
296
304
  };
297
- type RepoBatchGetOrThrowResult<R extends AbstractRepo<any>, O extends RepoBatchGetOptions<R>> = ApplyProjection<R, O>[];
298
- type RepoBatchWritePutRequest<R extends AbstractRepo<any>> = {
305
+ type RepoBatchGetOrThrowResult<R extends Repo<any>, O extends RepoBatchGetOptions<R>> = ApplyProjection<R, O>[];
306
+ type RepoBatchWritePutRequest<R extends Repo<any>> = {
299
307
  type: "PUT";
300
308
  item: RepoPutItem<R>;
301
309
  };
302
- type RepoBatchWriteDeleteRequest<R extends AbstractRepo<any>> = {
310
+ type RepoBatchWriteDeleteRequest<R extends Repo<any>> = {
303
311
  type: "DELETE";
304
312
  key: RepoKey<R>;
305
313
  };
306
- type RepoBatchWrite<R extends AbstractRepo<any>> = (RepoBatchWritePutRequest<R> | RepoBatchWriteDeleteRequest<R>)[];
307
- type RepoBatchWriteResult<R extends AbstractRepo<any>> = {
314
+ type RepoBatchWrite<R extends Repo<any>> = (RepoBatchWritePutRequest<R> | RepoBatchWriteDeleteRequest<R>)[];
315
+ type RepoBatchWriteResult<R extends Repo<any>> = {
308
316
  items: RepoPutItem<R>[];
309
317
  unprocessed?: RepoBatchWrite<R>;
310
318
  };
311
- type RepoBatchPutRequest<R extends AbstractRepo<any>> = RepoPutItem<R>[];
312
- type RepoBatchPutResult<R extends AbstractRepo<any>> = {
319
+ type RepoBatchPutRequest<R extends Repo<any>> = RepoPutItem<R>[];
320
+ type RepoBatchPutResult<R extends Repo<any>> = {
313
321
  items: RepoPutItem<R>[];
314
322
  unprocessed?: RepoBatchPutRequest<R>;
315
323
  };
316
- type RepoBatchDeleteRequest<R extends AbstractRepo<any>> = RepoKey<R>[];
317
- type RepoBatchDeleteResponse<R extends AbstractRepo<any>> = RepoBatchDeleteRequest<R> | undefined;
324
+ type RepoBatchUpdateResult<R extends Repo<any>> = {
325
+ unprocessed?: RepoKey<R>[];
326
+ };
327
+ type RepoBatchDeleteRequest<R extends Repo<any>> = RepoKey<R>[];
328
+ type RepoBatchDeleteResponse<R extends Repo<any>> = RepoBatchDeleteRequest<R> | undefined;
318
329
  //#endregion
319
330
  //#region src/repo.d.ts
320
- declare abstract class AbstractRepo<T extends Table> {
331
+ declare class Repo<T extends Table> {
321
332
  readonly $schema: ExtractTableSchema<T>;
322
333
  readonly $def: ExtractTableDef<T>;
323
- abstract readonly table: T;
334
+ readonly table: T;
324
335
  readonly db: Db;
325
- constructor(db: Db);
336
+ constructor(db: Db, table: T);
326
337
  get tableName(): string;
327
338
  get defaultPutData(): Partial<ExtractTableSchema<T>>;
328
339
  get defaultUpdateData(): Partial<ExtractTableSchema<T>>;
@@ -348,6 +359,7 @@ declare abstract class AbstractRepo<T extends Table> {
348
359
  batchGet<O extends RepoBatchGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoBatchGetResult<this, O>>;
349
360
  batchGetOrThrow<O extends RepoBatchGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoBatchGetOrThrowResult<this, O>>;
350
361
  batchWrite(requests: RepoBatchWrite<this>): Promise<RepoBatchWriteResult<this>>;
362
+ batchUpdate(keys: RepoKey<this>[], update: RepoUpdateData<ExtractTableSchema<T>>): Promise<RepoBatchUpdateResult<this>>;
351
363
  trxGet<O extends RepoTrxGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoTrxGetResult<this, O>>;
352
364
  trxGetOrThrow<O extends RepoTrxGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoTrxGetOrThrowResult<this, O>>;
353
365
  trxWrite(...requests: RepoTrxWriteRequest<this>[]): Promise<void>;
@@ -361,13 +373,18 @@ declare abstract class AbstractRepo<T extends Table> {
361
373
  trxPutRequest(item: RepoPutItem<this>, options?: Omit<RepoPutOptions<this>, "return">): DbTrxWriteRequest;
362
374
  trxUpdateRequest(key: RepoKey<this>, update: RepoUpdateData<ExtractTableSchema<T>>, options?: Omit<RepoUpdateOptions<this>, "return">): DbTrxWriteRequest;
363
375
  trxCreateRequest(item: RepoCreateItem<this>, options?: RepoCreateOptions<this>): DbTrxWriteRequest;
364
- private applyTransformsIfNeeded;
365
- private applyTransformIfNeeded;
366
- }
367
- declare class Repo<T extends Table<any, any>> extends AbstractRepo<T> {
376
+ protected applyTransformsIfNeeded(items: Obj[], options?: {
377
+ projection?: any[];
378
+ gsi?: string;
379
+ }): any[];
380
+ protected applyTransformIfNeeded(item: Obj, options?: {
381
+ projection?: any[];
382
+ gsi?: string;
383
+ }): any;
384
+ }
385
+ declare const makeRepo: <T extends Table>(table: T) => (new (db: Db) => Repo<T>) & {
368
386
  readonly table: T;
369
- constructor(db: Db, table: T);
370
- }
387
+ };
371
388
  //#endregion
372
389
  //#region src/db.d.ts
373
390
  declare class Db {
@@ -392,6 +409,7 @@ declare class Db {
392
409
  batchGet(data: DbBatchGet): Promise<DbBatchGetResponse>;
393
410
  batchGetOrThrow(data: DbBatchGet): Promise<DbBatchGetResponse["items"]>;
394
411
  batchWrite(data: DbBatchWrite): Promise<DbBatchWriteResponse>;
412
+ batchUpdate(data: DbBatchUpdate): Promise<DbBatchUpdateResponse>;
395
413
  trxGet<R extends DbTrxGetRequest[]>(...requests: R): Promise<DbTrxGetResult<R>>;
396
414
  trxGetOrThrow<R extends DbTrxGetRequest[]>(...requests: R): Promise<DbTrxGetOrThrowResult<R>>;
397
415
  trxWrite(...requests: DbTrxWriteRequest[]): Promise<void>;
@@ -403,5 +421,5 @@ declare const extractTableDesc: (table: Table) => CreateTableCommandInput;
403
421
  declare const chunk: <T = unknown>(arr: T[], chunkSize: number) => T[][];
404
422
  declare const removeUndefined: (obj: Obj) => Obj;
405
423
  //#endregion
406
- export { AbstractRepo, AllKeys, ApplyGsiProjection, ApplyProjection, Condition, Db, DbBatchDeleteRequest, DbBatchGet, DbBatchGetRequest, DbBatchGetResponse, DbBatchPutRequest, DbBatchWrite, DbBatchWriteResponse, DbConfig, DbCreate, DbDelete, DbDisableEventStreams, DbEnableEventStreams, DbExists, DbGet, DbListTables, DbPut, DbQuery, DbScan, DbStreamEvent, DbStreamEventListener, DbTrxConditionRequest, DbTrxDeleteRequest, DbTrxGetOrThrowResult, DbTrxGetRequest, DbTrxGetResult, DbTrxPutRequest, DbTrxUpdateRequest, DbTrxWriteRequest, DbUpdate, DbUpsert, DistPartialSome, ExtractKey, ExtractKeys, ExtractTableDef, ExtractTableSchema, Func, Gsi, GsiKey, GsiNames, GsiProjectionType, KeyCondition, Obj, PartialSome, PathRef, PickTypeOf, Projection, Repo, RepoBatchDeleteRequest, RepoBatchDeleteResponse, RepoBatchGetOptions, RepoBatchGetOrThrowResult, RepoBatchGetResult, RepoBatchPutRequest, RepoBatchPutResult, RepoBatchWrite, RepoBatchWriteResult, RepoCreateItem, RepoCreateOptions, RepoCreateResult, RepoDeleteOptions, RepoDeleteOrThrowResult, RepoDeleteResult, RepoExistsOptions, RepoGetOptions, RepoGetOrThrowResult, RepoGetResult, RepoGsiStartKey, RepoKey, RepoOutput, RepoPutItem, RepoPutOptions, RepoPutResult, RepoQueryGsiOptions, RepoQueryGsiPagedResult, RepoQueryGsiQuery, RepoQueryGsiResult, RepoQueryOptions, RepoQueryPagedResult, RepoQueryQuery, RepoQueryResult, RepoScanGsiOptions, RepoScanGsiPagedResult, RepoScanGsiResult, RepoScanOptions, RepoScanPagedResult, RepoScanResult, RepoTrxConditionRequest, RepoTrxDeleteRequest, RepoTrxGetOptions, RepoTrxGetOrThrowResult, RepoTrxGetRequestResult, RepoTrxGetResult, RepoTrxPutRequest, RepoTrxUpdateRequest, RepoTrxWriteRequest, RepoUpdateData, RepoUpdateItem, RepoUpdateOptions, RepoUpdateResult, ResolvedAttrType, SortKeyOps, SortKeyQuery, Table, TableDef, TableDesc, TableGsi, TableGsiNames, TableKey, ToUnion, UpdateExpression, ValidGsiKeys, ValidPrimaryKeys, ValidTtlKeys, ValueOfUnion, chunk, extractTableDesc, removeUndefined, resolveAttrType };
424
+ export { AllKeys, ApplyGsiProjection, ApplyProjection, Condition, Db, DbBatchDeleteRequest, DbBatchGet, DbBatchGetRequest, DbBatchGetResponse, DbBatchPutRequest, DbBatchUpdate, DbBatchUpdateRequest, DbBatchUpdateResponse, DbBatchWrite, DbBatchWriteResponse, DbConfig, DbCreate, DbDelete, DbDisableEventStreams, DbEnableEventStreams, DbExists, DbGet, DbListTables, DbPut, DbQuery, DbScan, DbStreamEvent, DbStreamEventListener, DbTrxConditionRequest, DbTrxDeleteRequest, DbTrxGetOrThrowResult, DbTrxGetRequest, DbTrxGetResult, DbTrxPutRequest, DbTrxUpdateRequest, DbTrxWriteRequest, DbUpdate, DbUpsert, DistPartialSome, ExtractKey, ExtractKeys, ExtractTableDef, ExtractTableSchema, Func, Gsi, GsiKey, GsiNames, GsiProjectionType, KeyCondition, Obj, PartialSome, PathRef, PickTypeOf, Projection, Repo, RepoBatchDeleteRequest, RepoBatchDeleteResponse, RepoBatchGetOptions, RepoBatchGetOrThrowResult, RepoBatchGetResult, RepoBatchPutRequest, RepoBatchPutResult, RepoBatchUpdateResult, RepoBatchWrite, RepoBatchWriteResult, RepoCreateItem, RepoCreateOptions, RepoCreateResult, RepoDeleteOptions, RepoDeleteOrThrowResult, RepoDeleteResult, RepoExistsOptions, RepoGetOptions, RepoGetOrThrowResult, RepoGetResult, RepoGsiStartKey, RepoKey, RepoOutput, RepoPutItem, RepoPutOptions, RepoPutResult, RepoQueryGsiOptions, RepoQueryGsiPagedResult, RepoQueryGsiQuery, RepoQueryGsiResult, RepoQueryOptions, RepoQueryPagedResult, RepoQueryQuery, RepoQueryResult, RepoScanGsiOptions, RepoScanGsiPagedResult, RepoScanGsiResult, RepoScanOptions, RepoScanPagedResult, RepoScanResult, RepoTrxConditionRequest, RepoTrxDeleteRequest, RepoTrxGetOptions, RepoTrxGetOrThrowResult, RepoTrxGetRequestResult, RepoTrxGetResult, RepoTrxPutRequest, RepoTrxUpdateRequest, RepoTrxWriteRequest, RepoUpdateData, RepoUpdateItem, RepoUpdateOptions, RepoUpdateResult, ResolvedAttrType, SortKeyOps, SortKeyQuery, Table, TableDef, TableDesc, TableGsi, TableGsiNames, TableKey, ToUnion, UpdateExpression, ValidGsiKeys, ValidPrimaryKeys, ValidTtlKeys, ValueOfUnion, chunk, extractTableDesc, makeRepo, removeUndefined, resolveAttrType };
407
425
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/db.types.ts","../src/repo.types.ts","../src/repo.ts","../src/db.ts","../src/util.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/db.types.ts","../src/repo.types.ts","../src/repo.ts","../src/db.ts","../src/util.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -178,13 +178,45 @@ var ExpressionBuilder = class {
178
178
  }
179
179
  return this.getValueOrPathSub(operand);
180
180
  }
181
+ partiqlUpdate(expression) {
182
+ const sets = [];
183
+ const removes = [];
184
+ const params = [];
185
+ for (const [path, valOrOp] of Object.entries(expression)) if (valOrOp === void 0) removes.push(`"${path}"`);
186
+ else if (isOperation(valOrOp)) if (valOrOp.$remove === true) removes.push(`"${path}"`);
187
+ else sets.push(`"${path}"=${this.resolvePartiQLSetOperand(path, valOrOp, params)}`);
188
+ else {
189
+ sets.push(`"${path}"=?`);
190
+ params.push(valOrOp);
191
+ }
192
+ return {
193
+ sets,
194
+ removes,
195
+ params
196
+ };
197
+ }
198
+ resolvePartiQLSetOperand(path, operand, params) {
199
+ if (isOperation(operand)) {
200
+ if (operand.$set !== void 0) return this.resolvePartiQLSetOperand(path, operand.$set, params);
201
+ if (operand.$plus !== void 0 || operand.$minus !== void 0) {
202
+ const op = operand.$plus ? "+" : "-";
203
+ const mathOperand = operand.$plus ?? operand.$minus;
204
+ return (Array.isArray(mathOperand) ? mathOperand : [{ $path: path }, mathOperand]).map((p) => this.resolvePartiQLSetOperand(path, p, params)).join(op);
205
+ }
206
+ if (operand.$path) return `"${operand.$path}"`;
207
+ }
208
+ params.push(operand);
209
+ return "?";
210
+ }
181
211
  };
182
212
  //#endregion
183
213
  //#region src/repo.ts
184
- var AbstractRepo = class {
214
+ var Repo = class {
215
+ table;
185
216
  db;
186
- constructor(db) {
217
+ constructor(db, table) {
187
218
  this.db = db;
219
+ this.table = table;
188
220
  }
189
221
  get tableName() {
190
222
  return `${this.db.config?.tableNamePrefix ?? ""}${this.table.def.name}`;
@@ -396,6 +428,16 @@ var AbstractRepo = class {
396
428
  unprocessed: unprocessed?.[this.tableName]
397
429
  };
398
430
  }
431
+ async batchUpdate(keys, update) {
432
+ const updateWithDefaults = {
433
+ ...this.defaultUpdateData,
434
+ ...update
435
+ };
436
+ return { unprocessed: (await this.db.batchUpdate({ [this.tableName]: {
437
+ keys: keys.map((key) => this.extractKey(key)),
438
+ update: updateWithDefaults
439
+ } })).unprocessed?.[this.tableName]?.keys };
440
+ }
399
441
  async trxGet(keys, options) {
400
442
  return (await this.db.trxGet(...keys.map((key) => ({
401
443
  table: this.tableName,
@@ -524,12 +566,13 @@ var AbstractRepo = class {
524
566
  return transformedItem;
525
567
  }
526
568
  };
527
- var Repo = class extends AbstractRepo {
528
- table;
529
- constructor(db, table) {
530
- super(db);
531
- this.table = table;
532
- }
569
+ const makeRepo = (table) => {
570
+ return class extends Repo {
571
+ static table = table;
572
+ constructor(db) {
573
+ super(db, table);
574
+ }
575
+ };
533
576
  };
534
577
  //#endregion
535
578
  //#region src/db.ts
@@ -841,6 +884,56 @@ var Db = class {
841
884
  }
842
885
  return result;
843
886
  }
887
+ async batchUpdate(data) {
888
+ const queue = Object.entries(data).flatMap(([table, req]) => req.keys.map((key) => [
889
+ table,
890
+ key,
891
+ req.update
892
+ ]));
893
+ let batchSize = 25;
894
+ let retryCount = 0;
895
+ while (queue.length && retryCount < 5) {
896
+ const batch = queue.splice(0, batchSize || 1);
897
+ const statements = batch.map(([table, key, update]) => {
898
+ const { sets, removes, params } = new ExpressionBuilder().partiqlUpdate(update);
899
+ const whereParts = [];
900
+ for (const [field, value] of Object.entries(key)) {
901
+ whereParts.push(`"${field}"=?`);
902
+ params.push(value);
903
+ }
904
+ return {
905
+ Statement: `UPDATE "${table}" ${[...sets.map((s) => `SET ${s}`), ...removes.map((r) => `REMOVE ${r}`)].join(" ")} WHERE ${whereParts.join(" AND ")}`,
906
+ Parameters: params
907
+ };
908
+ });
909
+ const output = await this.client.send(new Lib.BatchExecuteStatementCommand({ Statements: statements }));
910
+ let failCount = 0;
911
+ output.Responses?.forEach((response, i) => {
912
+ if (response.Error && batch[i]) {
913
+ queue.push(batch[i]);
914
+ failCount++;
915
+ }
916
+ });
917
+ if (!failCount) {
918
+ retryCount = 0;
919
+ continue;
920
+ }
921
+ batchSize -= Math.floor(failCount / 2);
922
+ retryCount++;
923
+ }
924
+ if (queue.length) {
925
+ const unprocessed = {};
926
+ for (const [table, key, update] of queue) {
927
+ if (!unprocessed[table]) unprocessed[table] = {
928
+ keys: [],
929
+ update
930
+ };
931
+ unprocessed[table].keys.push(key);
932
+ }
933
+ return { unprocessed };
934
+ }
935
+ return {};
936
+ }
844
937
  async trxGet(...requests) {
845
938
  const trxItems = requests.map((request) => {
846
939
  const exp = new ExpressionBuilder();
@@ -904,6 +997,6 @@ var Table = class {
904
997
  }
905
998
  };
906
999
  //#endregion
907
- export { AbstractRepo, Db, Repo, Table, chunk, extractTableDesc, removeUndefined, resolveAttrType };
1000
+ export { Db, Repo, Table, chunk, extractTableDesc, makeRepo, removeUndefined, resolveAttrType };
908
1001
 
909
1002
  //# sourceMappingURL=index.mjs.map