@infra-blocks/aws-dynamodb 0.46.0 → 0.47.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.
@@ -1,12 +1,12 @@
1
1
  import type { DynamoDBClient } from "@aws-sdk/client-dynamodb";
2
2
  import { DeleteCommand, type DeleteCommandInput } from "@aws-sdk/lib-dynamodb";
3
- import type { Attributes } from "../types.js";
3
+ import type { Attributes, KeyAttributes } from "../types.js";
4
4
  import type { ConditionParams } from "./expressions/index.js";
5
5
  import type { Command } from "./types.js";
6
6
  export type DeleteItemReturnValue = "ALL_OLD" | "NONE";
7
7
  export interface DeleteItemParams {
8
8
  table: string;
9
- key: Attributes;
9
+ key: KeyAttributes;
10
10
  condition?: ConditionParams;
11
11
  returnValues?: DeleteItemReturnValue;
12
12
  returnValuesOnConditionCheckFailure?: DeleteItemReturnValue;
@@ -1,4 +1,4 @@
1
- import type { NativeBinary, NativeString, NativeType } from "../../../types.js";
1
+ import type { AttributeType, NativeBinary, NativeString } from "../../../types.js";
2
2
  import { type RawOperand } from "../operands/operand.js";
3
3
  import { type RawPath } from "../operands/path.js";
4
4
  import { type RawValue } from "../operands/value.js";
@@ -32,7 +32,7 @@ export declare function attributeNotExists(rawPath: RawPath): ConditionExpressio
32
32
  *
33
33
  * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html#Expressions.OperatorsAndFunctions.Functions
34
34
  */
35
- export declare function attributeType(attribute: RawPath, rawType: RawValue<NativeType>): ConditionExpression;
35
+ export declare function attributeType(attribute: RawPath, rawType: RawValue<AttributeType>): ConditionExpression;
36
36
  /**
37
37
  * This type aggregates the types of operands that can be used with the {@link beginsWith} function.
38
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/condition/functions.ts"],"names":[],"mappings":";;AAoBA,0CAKC;AAUD,gDAMC;AAYD,sCAUC;AAoBD,gCAWC;AAqBD,4BAWC;AAxHD,uDAAkE;AAClE,iDAAyD;AACzD,mDAA4D;AAC5D,iDAA4E;AAC5E,mDAAsD;AAEtD;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAgB;IAC9C,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KAC5E,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,wBAAwB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAC3B,SAAkB,EAClB,OAA6B;IAE7B,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,gBAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,kBAAkB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;KAClF,CAAC,CAAC;AACL,CAAC;AAUD;;;;;;;;;GASG;AACH,SAAgB,UAAU,CACxB,KAAwB,EACxB,MAAyB;IAEzB,MAAM,YAAY,GAAG,IAAA,oBAAO,EAA8B,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,oBAAO,EAA8B,MAAM,CAAC,CAAC;IAEnE,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,eAAe,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC/G,CAAC,CAAC;AACL,CAAC;AAWD;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CACtB,KAA2B,EAC3B,MAA6B;IAE7B,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAiB,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAA,+BAAgB,EAAiB,MAAM,CAAC,CAAC;IAE/D,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,YAAY,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC5G,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/condition/functions.ts"],"names":[],"mappings":";;AAoBA,0CAKC;AAUD,gDAMC;AAYD,sCAUC;AAoBD,gCAWC;AAqBD,4BAWC;AAxHD,uDAAkE;AAClE,iDAAyD;AACzD,mDAA4D;AAC5D,iDAA4E;AAC5E,mDAAsD;AAEtD;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAgB;IAC9C,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KAC5E,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,wBAAwB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAC3B,SAAkB,EAClB,OAAgC;IAEhC,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,gBAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,kBAAkB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;KAClF,CAAC,CAAC;AACL,CAAC;AAUD;;;;;;;;;GASG;AACH,SAAgB,UAAU,CACxB,KAAwB,EACxB,MAAyB;IAEzB,MAAM,YAAY,GAAG,IAAA,oBAAO,EAA8B,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,oBAAO,EAA8B,MAAM,CAAC,CAAC;IAEnE,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,eAAe,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC/G,CAAC,CAAC;AACL,CAAC;AAWD;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CACtB,KAA2B,EAC3B,MAA6B;IAE7B,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAiB,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAA,+BAAgB,EAAiB,MAAM,CAAC,CAAC;IAE/D,OAAO,mCAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,YAAY,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC5G,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { GetCommand, type GetCommandInput } from "@aws-sdk/lib-dynamodb";
2
- import type { Attributes } from "../types.js";
2
+ import type { KeyAttributes } from "../types.js";
3
3
  import type { Command } from "./types.js";
4
4
  /**
5
5
  * The input required to call the GetItem API.
@@ -15,7 +15,7 @@ export interface GetItemParams {
15
15
  * This should always include at least the partition key, and the sort key if one
16
16
  * is part of the table's primary key. No more than 2 fields are expected here.
17
17
  */
18
- key: Attributes;
18
+ key: KeyAttributes;
19
19
  }
20
20
  export declare class GetItem implements Command<GetCommandInput, GetCommand> {
21
21
  private readonly params;
@@ -1,12 +1,12 @@
1
1
  import { type UpdateCommandInput as NativeUpdateCommandInput, UpdateCommand } from "@aws-sdk/lib-dynamodb";
2
2
  import type { WithRequired } from "@infra-blocks/types";
3
- import type { Attributes } from "../types.js";
3
+ import type { KeyAttributes } from "../types.js";
4
4
  import { type ConditionParams, type UpdateExpressionParams } from "./expressions/index.js";
5
5
  import type { Command } from "./types.js";
6
6
  type UpdateCommandInput = WithRequired<NativeUpdateCommandInput, "UpdateExpression">;
7
7
  export interface UpdateItemParams {
8
8
  table: string;
9
- key: Attributes;
9
+ key: KeyAttributes;
10
10
  condition?: ConditionParams;
11
11
  update: UpdateExpressionParams;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../src/commands/update-item.ts"],"names":[],"mappings":";;;AAAA,wDAG+B;AAG/B,oDAAuD;AACvD,sDAAyD;AACzD,yEAA4E;AAC5E,qDAIgC;AAyBhC,MAAa,UAAU;IACJ,MAAM,CAAmB;IAE1C,YAAoB,MAAwB;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAG,yBAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,2BAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,KAAK,GAAuB;YAChC,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,GAAG;YACR,gBAAgB,EAAE,2BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;gBACxD,KAAK;gBACL,MAAM;aACP,CAAC;SACH,CAAC;QAEF,gFAAgF;QAChF,sCAAsC;QACtC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mFAAmF;QACnF,aAAa;QACb,KAAK,CAAC,mBAAmB,GAAG,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACnE,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,IAAI,4BAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAwB;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AA/CD,gCA+CC"}
1
+ {"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../src/commands/update-item.ts"],"names":[],"mappings":";;;AAAA,wDAG+B;AAG/B,oDAAuD;AACvD,sDAAyD;AACzD,yEAA4E;AAC5E,qDAIgC;AAwBhC,MAAa,UAAU;IACJ,MAAM,CAAmB;IAE1C,YAAoB,MAAwB;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAG,yBAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,2BAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,KAAK,GAAuB;YAChC,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,GAAG;YACR,gBAAgB,EAAE,2BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;gBACxD,KAAK;gBACL,MAAM;aACP,CAAC;SACH,CAAC;QAEF,gFAAgF;QAChF,sCAAsC;QACtC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mFAAmF;QACnF,aAAa;QACb,KAAK,CAAC,mBAAmB,GAAG,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACnE,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,IAAI,4BAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAwB;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AA/CD,gCA+CC"}
@@ -1,7 +1,7 @@
1
- export type NativeType = "B" | "BS" | "BOOL" | "L" | "M" | "N" | "NS" | "NULL" | "S" | "SS";
2
- export declare const NATIVE_TYPES: readonly ["B", "BS", "BOOL", "L", "M", "N", "NS", "NULL", "S", "SS"];
1
+ export type AttributeType = "B" | "BS" | "BOOL" | "L" | "M" | "N" | "NS" | "NULL" | "S" | "SS";
2
+ export declare const ATTRIBUTE_TYPES: readonly ["B", "BS", "BOOL", "L", "M", "N", "NS", "NULL", "S", "SS"];
3
3
  /**
4
- * A type map object mapping {@link NativeType} values to their corresponding
4
+ * A type map object mapping {@link AttributeType} values to their corresponding
5
5
  * Typescript equivalent.
6
6
  */
7
7
  export type TypeMap = {
@@ -55,7 +55,10 @@ export type AttributeName = string;
55
55
  * @see AttributeName
56
56
  */
57
57
  export type AttributePath = AttributeName;
58
- export type AttributeValue = NativeBinary | NativeBinarySet | NativeBoolean | NativeList | NativeMap | NativeNull | NativeNumber | NativeNumberSet | NativeSet | NativeString | NativeStringSet;
58
+ /**
59
+ * The typescript values that can be assigned to an attribute.
60
+ */
61
+ export type AttributeValue = TypeMap[AttributeType];
59
62
  /**
60
63
  * Type representing a record of attributes belonging to a DynamoDB item.
61
64
  *
@@ -63,11 +66,36 @@ export type AttributeValue = NativeBinary | NativeBinarySet | NativeBoolean | Na
63
66
  * values within collections result in errors being thrown.
64
67
  */
65
68
  export type Attributes = Record<AttributeName, AttributeValue>;
66
- export type KeyAttributeType = Extract<NativeType, "B" | "N" | "S">;
69
+ /**
70
+ * Key attribute types are restricted to certain types: "B", "N" and "S".
71
+ *
72
+ * This type captures that fact.
73
+ */
74
+ export type KeyAttributeType = Extract<AttributeType, "B" | "N" | "S">;
75
+ /**
76
+ * The typescript values that can be assigned to a key attribute.
77
+ */
78
+ export type KeyAttributeValue = TypeMap[KeyAttributeType];
79
+ /**
80
+ * A record of {@link KeyAttributeValue} by {@link AttributeName}.
81
+ *
82
+ * Used in APIs that expect primary keys, such as GetItem.
83
+ */
84
+ export type KeyAttributes = Record<AttributeName, KeyAttributeValue>;
85
+ /**
86
+ * Each key attribute within a definition is named and has a stringified
87
+ * type.
88
+ */
67
89
  export interface KeyAttributeDefinition {
68
90
  name: AttributeName;
69
91
  type: KeyAttributeType;
70
92
  }
93
+ /**
94
+ * A key definition used when creating tables and indexes.
95
+ *
96
+ * The partition key represents the HASH type key, and the optional sort key
97
+ * represents the RANGE type key.
98
+ */
71
99
  export interface KeyDefinition {
72
100
  partitionKey: KeyAttributeDefinition;
73
101
  sortKey?: KeyAttributeDefinition;
package/lib/cjs/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NATIVE_TYPES = void 0;
3
+ exports.ATTRIBUTE_TYPES = void 0;
4
4
  exports.isNativeBinary = isNativeBinary;
5
5
  exports.isNativeBoolean = isNativeBoolean;
6
6
  exports.isNativeList = isNativeList;
@@ -11,7 +11,7 @@ exports.isNativeSet = isNativeSet;
11
11
  exports.isNativeString = isNativeString;
12
12
  const types_1 = require("node:util/types");
13
13
  const types_2 = require("@infra-blocks/types");
14
- exports.NATIVE_TYPES = [
14
+ exports.ATTRIBUTE_TYPES = [
15
15
  "B",
16
16
  "BS",
17
17
  "BOOL",
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAwEA,wCAEC;AAED,0CAEC;AAGD,oCAEC;AAGD,kCAEC;AAED,oCAEC;AAED,wCAEC;AAED,kCAEC;AAED,wCAEC;AAxGD,2CAAwC;AACxC,+CAO6B;AAchB,QAAA,YAAY,GAAG;IAC1B,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,IAAI;CACI,CAAC;AAqCX,uCAAuC;AACvC,sBAAsB;AACtB,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,iDAAiD;AACjD,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,iDAAiD;AACjD,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAwEA,wCAEC;AAED,0CAEC;AAGD,oCAEC;AAGD,kCAEC;AAED,oCAEC;AAED,wCAEC;AAED,kCAEC;AAED,wCAEC;AAxGD,2CAAwC;AACxC,+CAO6B;AAchB,QAAA,eAAe,GAAG;IAC7B,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,IAAI;CACI,CAAC;AAqCX,uCAAuC;AACvC,sBAAsB;AACtB,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,iDAAiD;AACjD,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,iDAAiD;AACjD,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import type { DynamoDBClient } from "@aws-sdk/client-dynamodb";
2
2
  import { DeleteCommand, type DeleteCommandInput } from "@aws-sdk/lib-dynamodb";
3
- import type { Attributes } from "../types.js";
3
+ import type { Attributes, KeyAttributes } from "../types.js";
4
4
  import type { ConditionParams } from "./expressions/index.js";
5
5
  import type { Command } from "./types.js";
6
6
  export type DeleteItemReturnValue = "ALL_OLD" | "NONE";
7
7
  export interface DeleteItemParams {
8
8
  table: string;
9
- key: Attributes;
9
+ key: KeyAttributes;
10
10
  condition?: ConditionParams;
11
11
  returnValues?: DeleteItemReturnValue;
12
12
  returnValuesOnConditionCheckFailure?: DeleteItemReturnValue;
@@ -1,4 +1,4 @@
1
- import type { NativeBinary, NativeString, NativeType } from "../../../types.js";
1
+ import type { AttributeType, NativeBinary, NativeString } from "../../../types.js";
2
2
  import { type RawOperand } from "../operands/operand.js";
3
3
  import { type RawPath } from "../operands/path.js";
4
4
  import { type RawValue } from "../operands/value.js";
@@ -32,7 +32,7 @@ export declare function attributeNotExists(rawPath: RawPath): ConditionExpressio
32
32
  *
33
33
  * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html#Expressions.OperatorsAndFunctions.Functions
34
34
  */
35
- export declare function attributeType(attribute: RawPath, rawType: RawValue<NativeType>): ConditionExpression;
35
+ export declare function attributeType(attribute: RawPath, rawType: RawValue<AttributeType>): ConditionExpression;
36
36
  /**
37
37
  * This type aggregates the types of operands that can be used with the {@link beginsWith} function.
38
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/condition/functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAmB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAgB,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAiB,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAA4B,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KAC5E,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,wBAAwB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAkB,EAClB,OAA6B;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,kBAAkB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;KAClF,CAAC,CAAC;AACL,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,KAAwB,EACxB,MAAyB;IAEzB,MAAM,YAAY,GAAG,OAAO,CAA8B,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,OAAO,CAA8B,MAAM,CAAC,CAAC;IAEnE,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,eAAe,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC/G,CAAC,CAAC;AACL,CAAC;AAWD;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CACtB,KAA2B,EAC3B,MAA6B;IAE7B,MAAM,YAAY,GAAG,OAAO,CAAiB,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,gBAAgB,CAAiB,MAAM,CAAC,CAAC;IAE/D,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,YAAY,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC5G,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/condition/functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAmB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAgB,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAiB,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAA4B,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KAC5E,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,wBAAwB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAkB,EAClB,OAAgC;IAEhC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,kBAAkB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;KAClF,CAAC,CAAC;AACL,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,KAAwB,EACxB,MAAyB;IAEzB,MAAM,YAAY,GAAG,OAAO,CAA8B,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,OAAO,CAA8B,MAAM,CAAC,CAAC;IAEnE,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,eAAe,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC/G,CAAC,CAAC;AACL,CAAC;AAWD;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CACtB,KAA2B,EAC3B,MAA6B;IAE7B,MAAM,YAAY,GAAG,OAAO,CAAiB,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,gBAAgB,CAAiB,MAAM,CAAC,CAAC;IAE/D,OAAO,mBAAmB,CAAC,IAAI,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,YAAY,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG;KAC5G,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { GetCommand, type GetCommandInput } from "@aws-sdk/lib-dynamodb";
2
- import type { Attributes } from "../types.js";
2
+ import type { KeyAttributes } from "../types.js";
3
3
  import type { Command } from "./types.js";
4
4
  /**
5
5
  * The input required to call the GetItem API.
@@ -15,7 +15,7 @@ export interface GetItemParams {
15
15
  * This should always include at least the partition key, and the sort key if one
16
16
  * is part of the table's primary key. No more than 2 fields are expected here.
17
17
  */
18
- key: Attributes;
18
+ key: KeyAttributes;
19
19
  }
20
20
  export declare class GetItem implements Command<GetCommandInput, GetCommand> {
21
21
  private readonly params;
@@ -1,12 +1,12 @@
1
1
  import { type UpdateCommandInput as NativeUpdateCommandInput, UpdateCommand } from "@aws-sdk/lib-dynamodb";
2
2
  import type { WithRequired } from "@infra-blocks/types";
3
- import type { Attributes } from "../types.js";
3
+ import type { KeyAttributes } from "../types.js";
4
4
  import { type ConditionParams, type UpdateExpressionParams } from "./expressions/index.js";
5
5
  import type { Command } from "./types.js";
6
6
  type UpdateCommandInput = WithRequired<NativeUpdateCommandInput, "UpdateExpression">;
7
7
  export interface UpdateItemParams {
8
8
  table: string;
9
- key: Attributes;
9
+ key: KeyAttributes;
10
10
  condition?: ConditionParams;
11
11
  update: UpdateExpressionParams;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../src/commands/update-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAEL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAyBhC,MAAM,OAAO,UAAU;IACJ,MAAM,CAAmB;IAE1C,YAAoB,MAAwB;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,KAAK,GAAuB;YAChC,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,GAAG;YACR,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;gBACxD,KAAK;gBACL,MAAM;aACP,CAAC;SACH,CAAC;QAEF,gFAAgF;QAChF,sCAAsC;QACtC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mFAAmF;QACnF,aAAa;QACb,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACnE,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAwB;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../src/commands/update-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAEL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAwBhC,MAAM,OAAO,UAAU;IACJ,MAAM,CAAmB;IAE1C,YAAoB,MAAwB;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,KAAK,GAAuB;YAChC,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,GAAG;YACR,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;gBACxD,KAAK;gBACL,MAAM;aACP,CAAC;SACH,CAAC;QAEF,gFAAgF;QAChF,sCAAsC;QACtC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mFAAmF;QACnF,aAAa;QACb,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACnE,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAwB;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
- export type NativeType = "B" | "BS" | "BOOL" | "L" | "M" | "N" | "NS" | "NULL" | "S" | "SS";
2
- export declare const NATIVE_TYPES: readonly ["B", "BS", "BOOL", "L", "M", "N", "NS", "NULL", "S", "SS"];
1
+ export type AttributeType = "B" | "BS" | "BOOL" | "L" | "M" | "N" | "NS" | "NULL" | "S" | "SS";
2
+ export declare const ATTRIBUTE_TYPES: readonly ["B", "BS", "BOOL", "L", "M", "N", "NS", "NULL", "S", "SS"];
3
3
  /**
4
- * A type map object mapping {@link NativeType} values to their corresponding
4
+ * A type map object mapping {@link AttributeType} values to their corresponding
5
5
  * Typescript equivalent.
6
6
  */
7
7
  export type TypeMap = {
@@ -55,7 +55,10 @@ export type AttributeName = string;
55
55
  * @see AttributeName
56
56
  */
57
57
  export type AttributePath = AttributeName;
58
- export type AttributeValue = NativeBinary | NativeBinarySet | NativeBoolean | NativeList | NativeMap | NativeNull | NativeNumber | NativeNumberSet | NativeSet | NativeString | NativeStringSet;
58
+ /**
59
+ * The typescript values that can be assigned to an attribute.
60
+ */
61
+ export type AttributeValue = TypeMap[AttributeType];
59
62
  /**
60
63
  * Type representing a record of attributes belonging to a DynamoDB item.
61
64
  *
@@ -63,11 +66,36 @@ export type AttributeValue = NativeBinary | NativeBinarySet | NativeBoolean | Na
63
66
  * values within collections result in errors being thrown.
64
67
  */
65
68
  export type Attributes = Record<AttributeName, AttributeValue>;
66
- export type KeyAttributeType = Extract<NativeType, "B" | "N" | "S">;
69
+ /**
70
+ * Key attribute types are restricted to certain types: "B", "N" and "S".
71
+ *
72
+ * This type captures that fact.
73
+ */
74
+ export type KeyAttributeType = Extract<AttributeType, "B" | "N" | "S">;
75
+ /**
76
+ * The typescript values that can be assigned to a key attribute.
77
+ */
78
+ export type KeyAttributeValue = TypeMap[KeyAttributeType];
79
+ /**
80
+ * A record of {@link KeyAttributeValue} by {@link AttributeName}.
81
+ *
82
+ * Used in APIs that expect primary keys, such as GetItem.
83
+ */
84
+ export type KeyAttributes = Record<AttributeName, KeyAttributeValue>;
85
+ /**
86
+ * Each key attribute within a definition is named and has a stringified
87
+ * type.
88
+ */
67
89
  export interface KeyAttributeDefinition {
68
90
  name: AttributeName;
69
91
  type: KeyAttributeType;
70
92
  }
93
+ /**
94
+ * A key definition used when creating tables and indexes.
95
+ *
96
+ * The partition key represents the HASH type key, and the optional sort key
97
+ * represents the RANGE type key.
98
+ */
71
99
  export interface KeyDefinition {
72
100
  partitionKey: KeyAttributeDefinition;
73
101
  sortKey?: KeyAttributeDefinition;
package/lib/esm/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { isSet } from "node:util/types";
2
2
  import { isBigint, isBoolean, isNull, isNumber, isPlainObject, isString, } from "@infra-blocks/types";
3
- export const NATIVE_TYPES = [
3
+ export const ATTRIBUTE_TYPES = [
4
4
  "B",
5
5
  "BS",
6
6
  "BOOL",
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAc7B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,IAAI;CACI,CAAC;AAqCX,uCAAuC;AACvC,sBAAsB;AACtB,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAc7B,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,IAAI;CACI,CAAC;AAqCX,uCAAuC;AACvC,sBAAsB;AACtB,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infra-blocks/aws-dynamodb",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "description": "A convenience wrapper over @aws-sdk/client-dynamodb and @aws-sdk/lib-dynamodb.",
5
5
  "keywords": [
6
6
  "aws",