dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
58 lines (57 loc) • 2.39 kB
JavaScript
import { attrOrValueTokens, pathTokens } from './utils.js';
export const expressGteCondition = (condition, prefix = '', state) => {
let ConditionExpression = '';
const { gte } = condition;
const size = 'size' in condition;
const attr = size ? condition.size : condition.attr;
ConditionExpression += pathTokens(attr, prefix, state, size);
ConditionExpression += ' >= ';
ConditionExpression += attrOrValueTokens(gte, prefix, state);
return {
ConditionExpression,
ExpressionAttributeNames: state.ExpressionAttributeNames,
ExpressionAttributeValues: state.ExpressionAttributeValues
};
};
export const expressGtCondition = (condition, prefix = '', state) => {
let ConditionExpression = '';
const { gt } = condition;
const size = 'size' in condition;
const attr = size ? condition.size : condition.attr;
ConditionExpression += pathTokens(attr, prefix, state, size);
ConditionExpression += ' > ';
ConditionExpression += attrOrValueTokens(gt, prefix, state);
return {
ConditionExpression,
ExpressionAttributeNames: state.ExpressionAttributeNames,
ExpressionAttributeValues: state.ExpressionAttributeValues
};
};
export const expressLteCondition = (condition, prefix = '', state) => {
let ConditionExpression = '';
const { lte } = condition;
const size = 'size' in condition;
const attr = size ? condition.size : condition.attr;
ConditionExpression += pathTokens(attr, prefix, state, size);
ConditionExpression += ' <= ';
ConditionExpression += attrOrValueTokens(lte, prefix, state);
return {
ConditionExpression,
ExpressionAttributeNames: state.ExpressionAttributeNames,
ExpressionAttributeValues: state.ExpressionAttributeValues
};
};
export const expressLtCondition = (condition, prefix = '', state) => {
let ConditionExpression = '';
const { lt } = condition;
const size = 'size' in condition;
const attr = size ? condition.size : condition.attr;
ConditionExpression += pathTokens(attr, prefix, state, size);
ConditionExpression += ' < ';
ConditionExpression += attrOrValueTokens(lt, prefix, state);
return {
ConditionExpression,
ExpressionAttributeNames: state.ExpressionAttributeNames,
ExpressionAttributeValues: state.ExpressionAttributeValues
};
};