dinah 0.12.0 → 0.13.1

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.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as ToUnion, D as ValidTtlKeys, E as ValidPrimaryKeys, O as ValueOfUnion, S as TableKey, T as ValidGsiKeys, _ as SortKeyOps, a as ExtractKey, b as TableDesc, c as ExtractTableSchema, d as KeyCondition, f as Obj, g as ResolvedAttrType, h as PickTypeOf, i as DistPartialSome, l as Func, m as PathRef, n as AllKeys, o as ExtractKeys, p as PartialSome, r as Condition, s as ExtractTableDef, t as Table, u as Gsi, v as SortKeyQuery, w as UpdateExpression, x as TableGsi, y as TableDef } from "./table-BQvKnaNX.cjs";
1
+ import { C as TableKey, D as ValidPrimaryKeys, E as ValidGsiKeys, O as ValidTtlKeys, S as TableGsi, T as UpdateExpression, _ as ResolvedAttrType, a as DistPartialSome, b as TableDef, c as ExtractTableDef, d as Gsi, f as KeyCondition, g as PickTypeOf, h as PathRef, i as DistOmit, k as ValueOfUnion, l as ExtractTableSchema, m as PartialSome, n as AllKeys, o as ExtractKey, p as Obj, r as Condition, s as ExtractKeys, t as Table, u as Func, v as SortKeyOps, w as ToUnion, x as TableDesc, y as SortKeyQuery } from "./table-D814Vwjm.cjs";
2
2
  import * as T$1 from "typebox";
3
3
  import { CreateTableCommandInput, DynamoDB, DynamoDBClient, DynamoDBClientConfig } from "@aws-sdk/client-dynamodb";
4
4
  import * as Lib from "@aws-sdk/lib-dynamodb";
@@ -16,7 +16,7 @@ interface DbGet<T = Obj> {
16
16
  resource?: string;
17
17
  consistent?: boolean;
18
18
  projection?: AllKeys<T>[];
19
- filter?: (item: T) => boolean;
19
+ filter?: Partial<T>;
20
20
  }
21
21
  interface DbPut<T = Obj> {
22
22
  table: string;
@@ -85,7 +85,7 @@ interface DbBatchGetRequest<T = Obj> {
85
85
  resource?: string;
86
86
  consistent?: boolean;
87
87
  projection?: AllKeys<T>[];
88
- filter?: (item: T) => boolean;
88
+ filter?: Partial<T>;
89
89
  }
90
90
  type DbBatchGet = Obj<DbBatchGetRequest>;
91
91
  interface DbBatchGetResponse {
@@ -118,7 +118,7 @@ interface DbTrxGetRequest<T = Obj> {
118
118
  key: Partial<T>;
119
119
  resource?: string;
120
120
  projection?: AllKeys<T>[];
121
- filter?: (item: T) => boolean;
121
+ filter?: Partial<T>;
122
122
  }
123
123
  type DbTrxGetResult<R extends DbTrxGetRequest[]> = { [K in keyof R]: R[K] extends DbTrxGetRequest<infer T> ? T | undefined : Obj | undefined };
124
124
  type DbTrxGetOrThrowResult<R extends DbTrxGetRequest[]> = { [K in keyof R]: R[K] extends DbTrxGetRequest<infer T> ? (T extends Obj ? T : Obj) : Obj };
@@ -168,15 +168,17 @@ type DbStreamEventListener = (event: DbStreamEvent) => void;
168
168
  //#endregion
169
169
  //#region src/repo.types.d.ts
170
170
  type RepoKey<R extends RepoBase> = Partial<R["$schema"]> & ExtractKey<R["$schema"], R["$def"]>;
171
- type RepoPutItem<R extends RepoBase> = Omit<DistPartialSome<R["$schema"], keyof R["defaultPutData"]>, R["$derivedAttributes"]>;
172
- type RepoUpdateItem<R extends RepoBase> = DistPartialSome<Omit<R["$schema"], R["$derivedAttributes"] | R["$immutableAttributes"]>, keyof R["defaultUpdateData"]>;
173
- type GsiNames<R extends RepoBase> = keyof R["table"]["def"]["gsis"] & string;
171
+ type RepoPutItem<R extends RepoBase> = R["$schema"];
172
+ type RepoUpdateItem<R extends RepoBase> = DistPartialSome<Omit<R["$schema"], R["$computedAttributes"] | R["$immutableAttributes"]>, keyof R["defaultUpdateData"]>;
173
+ type RepoUpdateInput<R extends RepoBase> = RepoUpdateData<Omit<R["$schema"], R["$computedAttributes"] | R["$immutableAttributes"]>>;
174
+ type RepoUpdateInputFor<R extends RepoBase, K> = [R["$discriminator"]] extends [never] ? RepoUpdateInput<R> : [ExtractDiscriminatorValue<K, R["$discriminator"]>] extends [never] ? RepoUpdateInput<R> : RepoUpdateData<DistOmit<NarrowByDiscriminator<R["$schema"], R["$discriminator"], K>, R["$computedAttributes"] | R["$immutableAttributes"]>>;
175
+ type GsiNames<R extends RepoBase> = keyof NonNullable<R["table"]["def"]["gsis"]> & string;
174
176
  type TableGsiNames<T extends Table> = keyof NonNullable<ExtractTableDef<T>["gsis"]> & string;
175
177
  type GsiKey<R extends RepoBase, G extends GsiNames<R>> = ExtractKey<R["$schema"], GsiDef<R, G>>;
176
178
  type Projection<R extends RepoBase> = AllKeys<R["$schema"]>[];
177
179
  type RepoOutput<R extends RepoBase> = ReturnType<R["transformOutput"]>;
178
180
  type ApplyProjection<R extends RepoBase, O> = O extends {
179
- projection: Array<infer P extends AllKeys<R["$schema"]>>;
181
+ projection: ReadonlyArray<infer P extends AllKeys<R["$schema"]>>;
180
182
  } ? Pick<R["$schema"], P> : RepoOutput<R>;
181
183
  type GsiProjectionType<R extends RepoBase, G extends string> = GsiDef<R, G> extends {
182
184
  projection: infer P;
@@ -186,25 +188,26 @@ type TableKeyAttributes<R extends RepoBase> = R["table"]["def"]["partitionKey"]
186
188
  type GsiOwnKeyAttributes<R extends RepoBase, G extends string> = (ToUnion<GsiDef<R, G>["partitionKey"]> & string) | (ToUnion<GsiDef<R, G>["sortKey"]> & string);
187
189
  type GsiAllKeyAttributes<R extends RepoBase, G extends string> = TableKeyAttributes<R> | GsiOwnKeyAttributes<R, G>;
188
190
  type GsiIncludedAttributes<R extends RepoBase, G extends string> = Extract<GsiDef<R, G>["projection"], readonly any[]>[number];
191
+ type MakeRequired<T, K extends keyof any> = T extends unknown ? Omit<T, Extract<K, keyof T>> & Required<Pick<T, Extract<K, keyof T>>> : never;
189
192
  type ApplyGsiProjection<R extends RepoBase, O, G extends string> = O extends {
190
- projection: Array<infer P extends AllKeys<R["$schema"]>>;
191
- } ? 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"]>>;
193
+ projection: ReadonlyArray<infer P extends AllKeys<R["$schema"]>>;
194
+ } ? Pick<R["$schema"], P | Extract<GsiAllKeyAttributes<R, G>, keyof R["$schema"]>> : GsiProjectionType<R, G> extends "ALL" | undefined ? MakeRequired<RepoOutput<R>, Extract<GsiOwnKeyAttributes<R, G>, keyof RepoOutput<R>>> : Pick<R["$schema"], Extract<GsiAllKeyAttributes<R, G> | GsiIncludedAttributes<R, G>, keyof R["$schema"]>>;
192
195
  interface RepoGetOptions<R extends RepoBase> {
193
196
  consistent?: boolean;
194
197
  projection?: Projection<R>;
195
- filter?: (item: R["$schema"]) => boolean;
198
+ filter?: Partial<R["$schema"]>;
196
199
  }
197
- type RepoGetResult<R extends RepoBase, O extends RepoGetOptions<R>> = undefined | ApplyProjection<R, O>;
198
- type RepoGetOrThrowResult<R extends RepoBase, O extends RepoGetOptions<R>> = ApplyProjection<R, O>;
200
+ type RepoGetResult<R extends RepoBase, O extends RepoGetOptions<R>> = NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>> | undefined;
201
+ type RepoGetOrThrowResult<R extends RepoBase, O extends RepoGetOptions<R>> = NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>;
199
202
  interface RepoPutOptions<R extends RepoBase> {
200
203
  condition?: Condition<R["$schema"]>;
201
204
  }
202
- type RepoPutResult<R extends RepoBase> = RepoOutput<R>;
203
- type RepoCreateItem<R extends RepoBase> = RepoPutItem<R>;
205
+ type RepoPutResult<R extends RepoBase, TItem = {}> = NarrowByDiscriminator<RepoOutput<R>, R["$discriminator"], TItem>;
206
+ type RepoCreateItem<R extends RepoBase> = Omit<DistPartialSome<R["$schema"], keyof R["defaultCreateData"]>, R["$computedAttributes"]> & { readonly [K in R["$computedAttributes"]]?: never };
204
207
  interface RepoCreateOptions<R extends RepoBase> {
205
208
  condition?: Condition<R["$schema"]>;
206
209
  }
207
- type RepoCreateResult<R extends RepoBase> = RepoOutput<R>;
210
+ type RepoCreateResult<R extends RepoBase, TItem = {}> = NarrowByDiscriminator<RepoOutput<R>, R["$discriminator"], TItem>;
208
211
  type RepoUpdateData<T = Obj> = UpdateExpression<T>;
209
212
  interface RepoUpdateOptions<R extends RepoBase> {
210
213
  condition?: Condition<R["$schema"]>;
@@ -224,8 +227,8 @@ interface RepoQueryOptions<R extends RepoBase> {
224
227
  consistent?: boolean;
225
228
  sort?: "ASC" | "DESC";
226
229
  }
227
- type RepoQueryResult<R extends RepoBase, O extends RepoQueryOptions<R>> = ApplyProjection<R, O>[];
228
- type RepoQueryPagedResult<R extends RepoBase, O extends RepoQueryOptions<R>> = AsyncGenerator<ApplyProjection<R, O>[]>;
230
+ type RepoQueryResult<R extends RepoBase, O extends RepoQueryOptions<R>> = NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[];
231
+ type RepoQueryPagedResult<R extends RepoBase, O extends RepoQueryOptions<R>> = AsyncGenerator<NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[]>;
229
232
  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"]>;
230
233
  type GsiSortKeyOf<T extends Table, G extends string> = ToUnion<NonNullable<ExtractTableDef<T>["gsis"]>[G] extends {
231
234
  sortKey: infer SK;
@@ -241,8 +244,13 @@ interface RepoQueryGsiOptions<R extends RepoBase, T extends Table = Table, G ext
241
244
  limit?: number;
242
245
  sort?: "ASC" | "DESC";
243
246
  }
244
- type RepoQueryGsiResult<R extends RepoBase, O extends RepoQueryGsiOptions<R>, G extends string = string> = ApplyGsiProjection<R, O, G>[];
245
- type RepoQueryGsiPagedResult<R extends RepoBase, O extends RepoQueryGsiOptions<R>, G extends string = string> = AsyncGenerator<ApplyGsiProjection<R, O, G>[]>;
247
+ type RepoQueryGsiResult<R extends RepoBase, O extends RepoQueryGsiOptions<R>, G extends string = string> = NarrowByDiscriminator<ApplyGsiProjection<R, O, G>, R["$discriminator"], FilterOf<O>>[];
248
+ type RepoQueryGsiPagedResult<R extends RepoBase, O extends RepoQueryGsiOptions<R>, G extends string = string> = AsyncGenerator<NarrowByDiscriminator<ApplyGsiProjection<R, O, G>, R["$discriminator"], FilterOf<O>>[]>;
249
+ type RepoGetGsiOptions<R extends RepoBase, T extends Table = Table, G extends string = string> = Omit<RepoQueryGsiOptions<R, T, G>, "sort" | "limit" | "startKey" | "filter"> & {
250
+ filter?: Partial<R["$schema"]>;
251
+ };
252
+ type RepoGetGsiResult<R extends RepoBase, O extends RepoGetGsiOptions<R>, G extends string = string> = NarrowByDiscriminator<ApplyGsiProjection<R, O, G>, R["$discriminator"], FilterOf<O>> | undefined;
253
+ type RepoGetGsiOrThrowResult<R extends RepoBase, O extends RepoGetGsiOptions<R>, G extends string = string> = NarrowByDiscriminator<ApplyGsiProjection<R, O, G>, R["$discriminator"], FilterOf<O>>;
246
254
  interface RepoScanOptions<R extends RepoBase> {
247
255
  startKey?: RepoKey<R>;
248
256
  filter?: Condition<R["$schema"]>;
@@ -251,8 +259,8 @@ interface RepoScanOptions<R extends RepoBase> {
251
259
  consistent?: boolean;
252
260
  parallel?: number;
253
261
  }
254
- type RepoScanResult<R extends RepoBase, O extends RepoScanOptions<R>> = ApplyProjection<R, O>[];
255
- type RepoScanPagedResult<R extends RepoBase, O extends RepoScanOptions<R>> = AsyncGenerator<ApplyProjection<R, O>[]>;
262
+ type RepoScanResult<R extends RepoBase, O extends RepoScanOptions<R>> = NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[];
263
+ type RepoScanPagedResult<R extends RepoBase, O extends RepoScanOptions<R>> = AsyncGenerator<NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[]>;
256
264
  interface RepoScanGsiOptions<R extends RepoBase, T extends Table = Table, G extends string = string> {
257
265
  startKey?: RepoGsiStartKey<T, G>;
258
266
  filter?: Condition<R["$schema"]>;
@@ -260,8 +268,8 @@ interface RepoScanGsiOptions<R extends RepoBase, T extends Table = Table, G exte
260
268
  limit?: number;
261
269
  parallel?: number;
262
270
  }
263
- type RepoScanGsiResult<R extends RepoBase, O extends RepoScanGsiOptions<R>, G extends string = string> = ApplyGsiProjection<R, O, G>[];
264
- type RepoScanGsiPagedResult<R extends RepoBase, O extends RepoScanGsiOptions<R>, G extends string = string> = AsyncGenerator<ApplyGsiProjection<R, O, G>[]>;
271
+ type RepoScanGsiResult<R extends RepoBase, O extends RepoScanGsiOptions<R>, G extends string = string> = NarrowByDiscriminator<ApplyGsiProjection<R, O, G>, R["$discriminator"], FilterOf<O>>[];
272
+ type RepoScanGsiPagedResult<R extends RepoBase, O extends RepoScanGsiOptions<R>, G extends string = string> = AsyncGenerator<NarrowByDiscriminator<ApplyGsiProjection<R, O, G>, R["$discriminator"], FilterOf<O>>[]>;
265
273
  interface RepoExistsOptions<R extends RepoBase> {
266
274
  query?: Obj;
267
275
  filter?: Condition<R["$schema"]>;
@@ -269,10 +277,10 @@ interface RepoExistsOptions<R extends RepoBase> {
269
277
  }
270
278
  interface RepoTrxGetOptions<R extends RepoBase> {
271
279
  projection?: Projection<R>;
272
- filter?: (item: R["$schema"]) => boolean;
280
+ filter?: Partial<R["$schema"]>;
273
281
  }
274
- type RepoTrxGetResult<R extends RepoBase, O extends RepoTrxGetOptions<R>> = (ApplyProjection<R, O> | undefined)[];
275
- type RepoTrxGetOrThrowResult<R extends RepoBase, O extends RepoTrxGetOptions<R>> = ApplyProjection<R, O>[];
282
+ type RepoTrxGetResult<R extends RepoBase, O extends RepoTrxGetOptions<R>> = (NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>> | undefined)[];
283
+ type RepoTrxGetOrThrowResult<R extends RepoBase, O extends RepoTrxGetOptions<R>> = NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[];
276
284
  type RepoTrxGetRequestResult = {
277
285
  table: string;
278
286
  };
@@ -290,7 +298,7 @@ interface RepoTrxUpdateRequest<R extends RepoBase> {
290
298
  table: string;
291
299
  type: "UPDATE";
292
300
  key: RepoKey<R>;
293
- update: RepoUpdateData<Omit<R["$schema"], R["$derivedAttributes"] | R["$immutableAttributes"]>>;
301
+ update: RepoUpdateData<Omit<R["$schema"], R["$computedAttributes"] | R["$immutableAttributes"]>>;
294
302
  condition?: Condition<R["$schema"]>;
295
303
  }
296
304
  interface RepoTrxConditionRequest<R extends RepoBase> {
@@ -302,13 +310,13 @@ type RepoTrxWriteRequest<R extends RepoBase> = RepoTrxDeleteRequest<R> | RepoTrx
302
310
  interface RepoBatchGetOptions<R extends RepoBase> {
303
311
  consistent?: boolean;
304
312
  projection?: Projection<R>;
305
- filter?: (item: R["$schema"]) => boolean;
313
+ filter?: Partial<R["$schema"]>;
306
314
  }
307
315
  type RepoBatchGetResult<R extends RepoBase, O extends RepoBatchGetOptions<R>> = {
308
- items: ApplyProjection<R, O>[];
316
+ items: NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[];
309
317
  unprocessed?: RepoKey<R>[];
310
318
  };
311
- type RepoBatchGetOrThrowResult<R extends RepoBase, O extends RepoBatchGetOptions<R>> = ApplyProjection<R, O>[];
319
+ type RepoBatchGetOrThrowResult<R extends RepoBase, O extends RepoBatchGetOptions<R>> = NarrowByDiscriminator<ApplyProjection<R, O>, R["$discriminator"], FilterOf<O>>[];
312
320
  type RepoBatchWritePutRequest<R extends RepoBase> = {
313
321
  type: "PUT";
314
322
  item: RepoPutItem<R>;
@@ -332,6 +340,11 @@ type RepoBatchUpdateResult<R extends RepoBase> = {
332
340
  };
333
341
  type RepoBatchDeleteRequest<R extends RepoBase> = RepoKey<R>[];
334
342
  type RepoBatchDeleteResponse<R extends RepoBase> = RepoBatchDeleteRequest<R> | undefined;
343
+ type ExtractDiscriminatorValue<Q, D extends keyof any> = D extends keyof Q ? Q[D] extends string | number | boolean ? Q[D] : never : never;
344
+ type FilterOf<O> = O extends {
345
+ filter: infer F;
346
+ } ? (F extends object ? F : {}) : {};
347
+ type NarrowByDiscriminator<TOutput, TDiscriminator extends keyof any, Q> = [TDiscriminator] extends [never] ? TOutput : [ExtractDiscriminatorValue<Q, TDiscriminator>] extends [never] ? TOutput : Extract<TOutput, { [K in TDiscriminator & keyof TOutput]: ExtractDiscriminatorValue<Q, TDiscriminator> }>;
335
348
  //#endregion
336
349
  //#region src/repo.d.ts
337
350
  interface RepoBase {
@@ -340,74 +353,83 @@ interface RepoBase {
340
353
  readonly partitionKey: string;
341
354
  readonly sortKey?: string;
342
355
  };
343
- readonly $derivedAttributes: PropertyKey;
356
+ readonly $computedAttributes: PropertyKey;
344
357
  readonly $immutableAttributes: PropertyKey;
358
+ readonly $discriminator: PropertyKey;
345
359
  readonly table: Table;
346
- readonly defaultPutData: object;
360
+ readonly defaultCreateData: object;
347
361
  readonly defaultUpdateData: object;
348
362
  transformOutput(item: never): unknown;
349
363
  }
350
- interface RepoConfig<TSchema extends object, TDefaults extends Partial<TSchema> = {}, TUpdateDefaults extends Partial<TSchema> = {}, TOutput = TSchema, TDerived extends keyof TSchema = never, TImmutable extends keyof TSchema = never> {
364
+ type ComputedFieldDef<TSchema extends object, K extends keyof TSchema> = { [J in keyof TSchema]: {
365
+ from: J;
366
+ compute: (val: TSchema[J]) => TSchema[K];
367
+ } }[keyof TSchema];
368
+ interface RepoConfig<TSchema extends object, TDefaults extends Partial<TSchema> = {}, TUpdateDefaults extends Partial<TSchema> = {}, TOutput = TSchema, TComputed extends { [K in keyof TSchema]?: ComputedFieldDef<TSchema, K> } = {}, TImmutable extends AllKeys<TSchema> = never, TDiscriminator extends keyof TSchema = never> {
351
369
  resourceName?: string;
352
- defaultPutData?: () => TDefaults;
370
+ discriminator?: TDiscriminator;
371
+ defaultCreateData?: () => TDefaults;
353
372
  defaultUpdateData?: () => TUpdateDefaults;
354
- transformInput?: (item: Partial<TSchema>) => Partial<TSchema>;
373
+ transformAttributes?: { [K in keyof TSchema]?: (val: TSchema[K]) => TSchema[K] };
374
+ computedAttributes?: TComputed & { [K in keyof TSchema]?: ComputedFieldDef<TSchema, K> };
355
375
  transformOutput?: (item: TSchema) => TOutput;
356
- derivedAttributes?: readonly TDerived[];
357
376
  immutableAttributes?: readonly TImmutable[];
358
377
  }
359
- declare class Repo<T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, TDerived extends keyof ExtractTableSchema<T> = never, TImmutable extends keyof ExtractTableSchema<T> = never> {
378
+ declare class Repo<T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, TComputed extends { [K in keyof ExtractTableSchema<T>]?: ComputedFieldDef<ExtractTableSchema<T>, K> } = {}, TImmutable extends AllKeys<ExtractTableSchema<T>> = never, TDiscriminator extends keyof ExtractTableSchema<T> = never> {
360
379
  readonly $schema: ExtractTableSchema<T>;
361
380
  readonly $def: ExtractTableDef<T>;
362
- readonly $derivedAttributes: TDerived;
381
+ readonly $computedAttributes: keyof TComputed;
363
382
  readonly $immutableAttributes: TImmutable;
383
+ readonly $discriminator: TDiscriminator;
364
384
  readonly table: T;
365
385
  readonly db: Db;
366
386
  private readonly config;
367
- constructor(db: Db, table: T, config?: RepoConfig<ExtractTableSchema<T>, TDefaults, TUpdateDefaults, TOutput, TDerived, TImmutable>);
387
+ constructor(db: Db, table: T, config?: RepoConfig<ExtractTableSchema<T>, TDefaults, TUpdateDefaults, TOutput, TComputed, TImmutable, TDiscriminator>);
368
388
  get tableName(): string;
369
389
  get resourceName(): string;
370
- get defaultPutData(): TDefaults;
390
+ get defaultCreateData(): TDefaults;
371
391
  get defaultUpdateData(): TUpdateDefaults;
372
392
  transformOutput(item: ExtractTableSchema<T>): TOutput;
373
- transformInput(item: Partial<ExtractTableSchema<T>>): Partial<ExtractTableSchema<T>>;
374
393
  extractKey(item: RepoKey<this>): RepoKey<this>;
375
- get<O extends RepoGetOptions<this>>(key: RepoKey<this>, options?: O): Promise<RepoGetResult<this, O>>;
376
- getOrThrow<O extends RepoGetOptions<this>>(key: RepoKey<this>, options?: O): Promise<RepoGetOrThrowResult<this, O>>;
377
- put(item: RepoPutItem<this>, options?: RepoPutOptions<this>): Promise<RepoPutResult<this>>;
378
- update(key: RepoKey<this>, update: RepoUpdateData<Omit<ExtractTableSchema<T>, TDerived | TImmutable>>, options?: RepoUpdateOptions<this>): Promise<RepoUpdateResult<this>>;
379
- create(item: RepoPutItem<this>, options?: RepoCreateOptions<this>): Promise<RepoCreateResult<this>>;
394
+ get<const O extends RepoGetOptions<this>>(key: RepoKey<this>, options?: O): Promise<RepoGetResult<this, O>>;
395
+ getOrThrow<const O extends RepoGetOptions<this>>(key: RepoKey<this>, options?: O): Promise<RepoGetOrThrowResult<this, O>>;
396
+ put<const T extends RepoPutItem<this>>(item: T, options?: RepoPutOptions<this>): Promise<RepoPutResult<this, T>>;
397
+ update<const K extends RepoKey<this>>(key: K, update: RepoUpdateInputFor<this, K>, options?: RepoUpdateOptions<this>): Promise<RepoUpdateResult<this>>;
398
+ create<const T extends RepoCreateItem<this>>(item: T, options?: RepoCreateOptions<this>): Promise<RepoCreateResult<this, T>>;
380
399
  delete(key: RepoKey<this>, options?: RepoDeleteOptions<this>): Promise<RepoDeleteResult<this>>;
381
- deleteOrThrow(key: RepoKey<this>, options?: Omit<RepoDeleteOptions<this>, "return">): Promise<RepoDeleteOrThrowResult<this>>;
382
- query<O extends RepoQueryOptions<this>>(query: RepoQueryQuery<this>, options?: O): Promise<RepoQueryResult<this, O>>;
383
- queryPaged<O extends RepoQueryOptions<this>>(query: RepoQueryQuery<this>, options?: O): RepoQueryPagedResult<this, O>;
384
- queryGsi<G extends TableGsiNames<T>, O extends RepoQueryGsiOptions<this, T, G>>(gsi: G, query: RepoQueryGsiQuery<T, G>, options?: O): Promise<RepoQueryGsiResult<this, O, G>>;
385
- queryGsiPaged<G extends TableGsiNames<T>, O extends RepoQueryGsiOptions<this, T, G>>(gsi: G, query: RepoQueryGsiQuery<T, G>, options?: O): RepoQueryGsiPagedResult<this, O, G>;
386
- scan<O extends RepoScanOptions<this>>(options?: O): Promise<RepoScanResult<this, O>>;
387
- scanPaged<O extends RepoScanOptions<this>>(options?: O): RepoScanPagedResult<this, O>;
388
- scanGsi<G extends TableGsiNames<T>, O extends RepoScanGsiOptions<this, T, G>>(gsi: G, options?: O): Promise<RepoScanGsiResult<this, O, G>>;
389
- scanGsiPaged<G extends TableGsiNames<T>, O extends RepoScanGsiOptions<this, T, G>>(gsi: G, options?: O): RepoScanGsiPagedResult<this, O, G>;
400
+ deleteOrThrow(key: RepoKey<this>, options?: RepoDeleteOptions<this>): Promise<RepoDeleteOrThrowResult<this>>;
401
+ query<const O extends RepoQueryOptions<this>>(query: RepoQueryQuery<this>, options?: O): Promise<RepoQueryResult<this, O>>;
402
+ queryPaged<const O extends RepoQueryOptions<this>>(query: RepoQueryQuery<this>, options?: O): RepoQueryPagedResult<this, O>;
403
+ queryGsi<G extends GsiNames<this>, const O extends RepoQueryGsiOptions<this, T, G>>(gsi: G, query: RepoQueryGsiQuery<T, G>, options?: O): Promise<RepoQueryGsiResult<this, O, G>>;
404
+ queryGsiPaged<G extends GsiNames<this>, const O extends RepoQueryGsiOptions<this, T, G>>(gsi: G, query: RepoQueryGsiQuery<T, G>, options?: O): RepoQueryGsiPagedResult<this, O, G>;
405
+ getGsi<G extends GsiNames<this>, const O extends RepoGetGsiOptions<this, T, G>>(gsi: G, query: RepoQueryGsiQuery<T, G>, options?: O): Promise<RepoGetGsiResult<this, O, G>>;
406
+ getGsiOrThrow<G extends GsiNames<this>, const O extends RepoGetGsiOptions<this, T, G>>(gsi: G, query: RepoQueryGsiQuery<T, G>, options?: O): Promise<RepoGetGsiOrThrowResult<this, O, G>>;
407
+ scan<const O extends RepoScanOptions<this>>(options?: O): Promise<RepoScanResult<this, O>>;
408
+ scanPaged<const O extends RepoScanOptions<this>>(options?: O): RepoScanPagedResult<this, O>;
409
+ scanGsi<G extends GsiNames<this>, const O extends RepoScanGsiOptions<this, T, G>>(gsi: G, options?: O): Promise<RepoScanGsiResult<this, O, G>>;
410
+ scanGsiPaged<G extends GsiNames<this>, const O extends RepoScanGsiOptions<this, T, G>>(gsi: G, options?: O): RepoScanGsiPagedResult<this, O, G>;
390
411
  exists(options?: RepoExistsOptions<this>): Promise<boolean>;
391
- existsGsi(gsi: TableGsiNames<T>, options?: RepoExistsOptions<this>): Promise<boolean>;
392
- batchGet<O extends RepoBatchGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoBatchGetResult<this, O>>;
393
- batchGetOrThrow<O extends RepoBatchGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoBatchGetOrThrowResult<this, O>>;
412
+ existsGsi(gsi: GsiNames<this>, options?: RepoExistsOptions<this>): Promise<boolean>;
413
+ batchGet<const O extends RepoBatchGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoBatchGetResult<this, O>>;
414
+ batchGetOrThrow<const O extends RepoBatchGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoBatchGetOrThrowResult<this, O>>;
394
415
  batchWrite(requests: RepoBatchWrite<this>): Promise<RepoBatchWriteResult<this>>;
395
- batchUpdate(keys: RepoKey<this>[], update: RepoUpdateData<Omit<ExtractTableSchema<T>, TDerived | TImmutable>>): Promise<RepoBatchUpdateResult<this>>;
396
- trxGet<O extends RepoTrxGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoTrxGetResult<this, O>>;
397
- trxGetOrThrow<O extends RepoTrxGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoTrxGetOrThrowResult<this, O>>;
416
+ batchUpdate(keys: RepoKey<this>[], update: RepoUpdateInput<this>): Promise<RepoBatchUpdateResult<this>>;
417
+ trxGet<const O extends RepoTrxGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoTrxGetResult<this, O>>;
418
+ trxGetOrThrow<const O extends RepoTrxGetOptions<this>>(keys: RepoKey<this>[], options?: O): Promise<RepoTrxGetOrThrowResult<this, O>>;
398
419
  trxWrite(...requests: RepoTrxWriteRequest<this>[]): Promise<void>;
399
- trxDelete(keys: RepoKey<this>[], options?: Omit<RepoDeleteOptions<this>, "return">): Promise<void>;
400
- trxPut(items: RepoPutItem<this>[], options?: Omit<RepoPutOptions<this>, "return">): Promise<void>;
401
- trxUpdate(keys: RepoKey<this>[], update: RepoUpdateData<Omit<ExtractTableSchema<T>, TDerived | TImmutable>>, options?: Omit<RepoUpdateOptions<this>, "return">): Promise<void>;
420
+ trxDelete(keys: RepoKey<this>[], options?: RepoDeleteOptions<this>): Promise<void>;
421
+ trxPut(items: RepoPutItem<this>[], options?: RepoPutOptions<this>): Promise<void>;
422
+ trxUpdate(keys: RepoKey<this>[], update: RepoUpdateInput<this>, options?: RepoUpdateOptions<this>): Promise<void>;
402
423
  trxCreate(items: RepoCreateItem<this>[], options?: RepoCreateOptions<this>): Promise<void>;
403
424
  trxGetRequest<O extends RepoGetOptions<this>>(key: RepoKey<this>, options?: O): DbTrxGetRequest<RepoGetOrThrowResult<this, O>>;
404
- trxDeleteRequest(key: RepoKey<this>, options?: Omit<RepoDeleteOptions<this>, "return">): DbTrxWriteRequest;
405
- trxConditionRequest(key: RepoKey<this>, condition: Condition<ExtractTableSchema<T>>, options?: Omit<RepoDeleteOptions<this>, "return" | "condition">): DbTrxWriteRequest;
406
- trxPutRequest(item: RepoPutItem<this>, options?: Omit<RepoPutOptions<this>, "return">): DbTrxWriteRequest;
407
- trxUpdateRequest(key: RepoKey<this>, update: RepoUpdateData<Omit<ExtractTableSchema<T>, TDerived | TImmutable>>, options?: Omit<RepoUpdateOptions<this>, "return">): DbTrxWriteRequest;
425
+ trxDeleteRequest(key: RepoKey<this>, options?: RepoDeleteOptions<this>): DbTrxWriteRequest;
426
+ trxConditionRequest(key: RepoKey<this>, condition: Condition<this["$schema"]>): DbTrxWriteRequest;
427
+ trxPutRequest(item: RepoPutItem<this>, options?: RepoPutOptions<this>): DbTrxWriteRequest;
428
+ trxUpdateRequest<const K extends RepoKey<this>>(key: K, update: RepoUpdateInputFor<this, K>, options?: RepoUpdateOptions<this>): DbTrxWriteRequest;
408
429
  trxCreateRequest(item: RepoCreateItem<this>, options?: RepoCreateOptions<this>): DbTrxWriteRequest;
409
- private applyPutTransforms;
430
+ private applyCreateTransforms;
410
431
  private applyNormalizersToExpression;
432
+ private withDiscriminatorCondition;
411
433
  protected applyTransformsIfNeeded(items: Obj[], options?: {
412
434
  projection?: any[];
413
435
  gsi?: string;
@@ -417,18 +439,18 @@ declare class Repo<T extends Table, TDefaults extends Partial<ExtractTableSchema
417
439
  gsi?: string;
418
440
  }): any;
419
441
  }
420
- interface MakeRepoResult<T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, TDerived extends keyof ExtractTableSchema<T> = never, TImmutable extends keyof ExtractTableSchema<T> = never> {
421
- new (db: Db): Repo<T, TDefaults, TUpdateDefaults, TOutput, TDerived, TImmutable>;
442
+ interface MakeRepoResult<T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, TComputed extends { [K in keyof ExtractTableSchema<T>]?: ComputedFieldDef<ExtractTableSchema<T>, K> } = {}, TImmutable extends AllKeys<ExtractTableSchema<T>> = never, TDiscriminator extends keyof ExtractTableSchema<T> = never> {
443
+ new (db: Db): Repo<T, TDefaults, TUpdateDefaults, TOutput, TComputed, TImmutable, TDiscriminator>;
422
444
  readonly table: T;
423
445
  }
424
- declare const makeRepo: <T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, const TDerived extends keyof ExtractTableSchema<T> = never, const TImmutable extends keyof ExtractTableSchema<T> = never>(table: T, config?: RepoConfig<ExtractTableSchema<T>, TDefaults, TUpdateDefaults, TOutput, TDerived, TImmutable>) => MakeRepoResult<T, TDefaults, TUpdateDefaults, TOutput, TDerived, TImmutable>;
446
+ declare const makeRepo: <T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, const TComputed extends { [K in keyof ExtractTableSchema<T>]?: ComputedFieldDef<ExtractTableSchema<T>, K> } = {}, const TImmutable extends AllKeys<ExtractTableSchema<T>> = never, const TDiscriminator extends keyof ExtractTableSchema<T> = never>(table: T, config?: RepoConfig<ExtractTableSchema<T>, TDefaults, TUpdateDefaults, TOutput, TComputed, TImmutable, TDiscriminator>) => MakeRepoResult<T, TDefaults, TUpdateDefaults, TOutput, TComputed, TImmutable, TDiscriminator>;
425
447
  //#endregion
426
448
  //#region src/db.d.ts
427
449
  declare class Db {
428
450
  readonly client: Lib.DynamoDBDocumentClient;
429
451
  readonly config: DbConfig | undefined;
430
452
  constructor(clientOrConfig: DynamoDBClient | DynamoDB | DynamoDBClientConfig, dbConfig?: DbConfig);
431
- makeRepo<T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, const TDerived extends keyof ExtractTableSchema<T> = never, const TImmutable extends keyof ExtractTableSchema<T> = never>(table: T, config?: RepoConfig<ExtractTableSchema<T>, TDefaults, TUpdateDefaults, TOutput, TDerived, TImmutable>): Repo<T, TDefaults, TUpdateDefaults, TOutput, TDerived, TImmutable>;
453
+ makeRepo<T extends Table, TDefaults extends Partial<ExtractTableSchema<T>> = {}, TUpdateDefaults extends Partial<ExtractTableSchema<T>> = {}, TOutput = ExtractTableSchema<T>, const TComputed extends { [K in keyof ExtractTableSchema<T>]?: ComputedFieldDef<ExtractTableSchema<T>, K> } = {}, const TImmutable extends AllKeys<ExtractTableSchema<T>> = never, const TDiscriminator extends keyof ExtractTableSchema<T> = never>(table: T, config?: RepoConfig<ExtractTableSchema<T>, TDefaults, TUpdateDefaults, TOutput, TComputed, TImmutable, TDiscriminator>): Repo<T, TDefaults, TUpdateDefaults, TOutput, TComputed, TImmutable, TDiscriminator>;
432
454
  createTable(table: Table): Promise<void>;
433
455
  deleteTable(tableName: string): Promise<void>;
434
456
  listTables(data?: DbListTables): Promise<string[]>;
@@ -470,6 +492,9 @@ type DinahErrorDetails = {
470
492
  type: string;
471
493
  message?: string;
472
494
  }>;
495
+ } | {
496
+ type: "DATA_INTEGRITY";
497
+ message: string;
473
498
  };
474
499
  declare class DinahError extends Error {
475
500
  readonly details: DinahErrorDetails;
@@ -480,8 +505,9 @@ declare const isDinahError: (err: unknown) => err is DinahError;
480
505
  //#region src/util.d.ts
481
506
  declare const resolveAttrType: (schema: T$1.TSchema | T$1.TEnumValue, attrName: string) => "S" | "N";
482
507
  declare const extractTableDesc: (table: Table) => CreateTableCommandInput;
508
+ declare const matchesPartial: <T extends object>(partial: Partial<T>, item: T) => boolean;
483
509
  declare const chunk: <T = unknown>(arr: T[], chunkSize: number) => T[][];
484
510
  declare const removeUndefined: (obj: Obj) => Obj;
485
511
  //#endregion
486
- 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, DinahError, DinahErrorDetails, DistPartialSome, ExtractKey, ExtractKeys, ExtractTableDef, ExtractTableSchema, Func, Gsi, GsiKey, GsiNames, GsiProjectionType, KeyCondition, MakeRepoResult, Obj, PartialSome, PathRef, PickTypeOf, Projection, Repo, RepoBase, RepoBatchDeleteRequest, RepoBatchDeleteResponse, RepoBatchGetOptions, RepoBatchGetOrThrowResult, RepoBatchGetResult, RepoBatchPutRequest, RepoBatchPutResult, RepoBatchUpdateResult, RepoBatchWrite, RepoBatchWriteResult, RepoConfig, 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, isDinahError, makeRepo, removeUndefined, resolveAttrType };
512
+ export { AllKeys, ApplyGsiProjection, ApplyProjection, ComputedFieldDef, 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, DinahError, DinahErrorDetails, DistOmit, DistPartialSome, ExtractKey, ExtractKeys, ExtractTableDef, ExtractTableSchema, FilterOf, Func, Gsi, GsiKey, GsiNames, GsiProjectionType, KeyCondition, MakeRepoResult, NarrowByDiscriminator, Obj, PartialSome, PathRef, PickTypeOf, Projection, Repo, RepoBase, RepoBatchDeleteRequest, RepoBatchDeleteResponse, RepoBatchGetOptions, RepoBatchGetOrThrowResult, RepoBatchGetResult, RepoBatchPutRequest, RepoBatchPutResult, RepoBatchUpdateResult, RepoBatchWrite, RepoBatchWriteResult, RepoConfig, RepoCreateItem, RepoCreateOptions, RepoCreateResult, RepoDeleteOptions, RepoDeleteOrThrowResult, RepoDeleteResult, RepoExistsOptions, RepoGetGsiOptions, RepoGetGsiOrThrowResult, RepoGetGsiResult, 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, RepoUpdateInput, RepoUpdateInputFor, RepoUpdateItem, RepoUpdateOptions, RepoUpdateResult, ResolvedAttrType, SortKeyOps, SortKeyQuery, Table, TableDef, TableDesc, TableGsi, TableGsiNames, TableKey, ToUnion, UpdateExpression, ValidGsiKeys, ValidPrimaryKeys, ValidTtlKeys, ValueOfUnion, chunk, extractTableDesc, isDinahError, makeRepo, matchesPartial, removeUndefined, resolveAttrType };
487
513
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/db.types.ts","../src/repo.types.ts","../src/repo.ts","../src/db.ts","../src/error.ts","../src/util.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/db.types.ts","../src/repo.types.ts","../src/repo.ts","../src/db.ts","../src/error.ts","../src/util.ts"],"mappings":"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"}