@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.
- package/lib/cjs/commands/delete-item.d.ts +2 -2
- package/lib/cjs/commands/expressions/condition/functions.d.ts +2 -2
- package/lib/cjs/commands/expressions/condition/functions.js.map +1 -1
- package/lib/cjs/commands/get-item.d.ts +2 -2
- package/lib/cjs/commands/update-item.d.ts +2 -2
- package/lib/cjs/commands/update-item.js.map +1 -1
- package/lib/cjs/types.d.ts +33 -5
- package/lib/cjs/types.js +2 -2
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/commands/delete-item.d.ts +2 -2
- package/lib/esm/commands/expressions/condition/functions.d.ts +2 -2
- package/lib/esm/commands/expressions/condition/functions.js.map +1 -1
- package/lib/esm/commands/get-item.d.ts +2 -2
- package/lib/esm/commands/update-item.d.ts +2 -2
- package/lib/esm/commands/update-item.js.map +1 -1
- package/lib/esm/types.d.ts +33 -5
- package/lib/esm/types.js +1 -1
- package/lib/esm/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -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:
|
|
9
|
+
key: KeyAttributes;
|
|
10
10
|
condition?: ConditionParams;
|
|
11
11
|
returnValues?: DeleteItemReturnValue;
|
|
12
12
|
returnValuesOnConditionCheckFailure?: DeleteItemReturnValue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NativeBinary, NativeString
|
|
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<
|
|
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,
|
|
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 {
|
|
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:
|
|
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 {
|
|
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:
|
|
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;
|
|
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"}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export declare const
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
14
|
+
exports.ATTRIBUTE_TYPES = [
|
|
15
15
|
"B",
|
|
16
16
|
"BS",
|
|
17
17
|
"BOOL",
|
package/lib/cjs/types.js.map
CHANGED
|
@@ -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,
|
|
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:
|
|
9
|
+
key: KeyAttributes;
|
|
10
10
|
condition?: ConditionParams;
|
|
11
11
|
returnValues?: DeleteItemReturnValue;
|
|
12
12
|
returnValuesOnConditionCheckFailure?: DeleteItemReturnValue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NativeBinary, NativeString
|
|
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<
|
|
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,
|
|
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 {
|
|
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:
|
|
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 {
|
|
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:
|
|
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;
|
|
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"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export declare const
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
package/lib/esm/types.js.map
CHANGED
|
@@ -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,
|
|
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"}
|