A DynamoDB expression builder that simplifies generating update items requests
by composing small functions. Functions from this module can be imported from the
@flybondi/flynamo/builders namespace. You can feed the result of updateExpression
to the payload argument of update or updateFor.
- Source:
- See:
Example
const { updateExpression, put } = require('@flybondi/flynamo/builders');
const expression = updateExpression('SET',
compose(
put('availableSeats', 42),
put('pnr', '2LWJRW'),
)
);
await update(42, expression, { TableName: 'SomeTable' });
Methods
(static) append(Attribute, Value) → {function}
- Source:
- See:
Returns a function that creates the mandatory UpdateExpression, AttributeNames and AttributeValues needed to build
an append operation and merges everything with the given object containing UpdateExpression, AttributeNames
and AttributeValues keys.
Parameters:
| Name | Type | Description |
|---|---|---|
Attribute |
String | array that you want to extend |
Value |
Array | to add at the end of the array |
Returns:
Expects an Object to merge the new UpdateExpression,
AttributeNames and AttributeValues generated.
- Type
- function
(static) put(attribute, value) → {function}
- Source:
- See:
Returns a function that creates the mandatory UpdateExpression, AttributeNames and AttributeValues needed to build
a put operation and merges everything with the given object containing UpdateExpression, AttributeNames
and AttributeValues keys.
Parameters:
| Name | Type | Description |
|---|---|---|
attribute |
String | name that you want to set |
value |
Array | of the attribute |
Returns:
that expects an Object to merge the new UpdateExpression,
AttributeNames and AttributeValues generated.
- Type
- function
(static) remove(attribute) → {function}
- Source:
- See:
Returns a function that creates the mandatory UpdateExpression, AttributeNames and AttributeValues needed to build
a REMOVE operation and merges everything with the given object containing UpdateExpression, AttributeNames
and AttributeValues keys.
Parameters:
| Name | Type | Description |
|---|---|---|
attribute |
String | Attribute to be removed. |
Returns:
Expects an Object to merge with the new UpdateExpression,
AttributeNames and AttributeValues generated.
- Type
- function
(static) updateExpression(Action, Operations) → {function}
- Source:
- See:
Returns a function that, when invoked with a set of default values for a dynamo expression,
it creates the mandatory UpdateExpression, AttributeNames and AttributeValues needed to build
the action operations created by the given operation function.
Parameters:
| Name | Type | Description |
|---|---|---|
Action |
String | to execute in DynamoDB, it can be |
Operations |
function | that returns an object with the operations to execute and their parameters. |
Returns:
Expects an Object to merge the new UpdateExpression,
AttributeNames and AttributeValues generated.
- Type
- function