duenamodb
Version:
Simple, strongly-typed helpers around the AWS SDK DynamoDB client.
31 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getItem = exports.createGetItem = void 0;
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
const client_1 = require("./client");
const object_1 = require("./object");
const createGetItem = (options) => {
const { tablename, pkName, skName } = options;
return async ({ pk, sk, dynamodbOptions = {} }) => {
return (0, exports.getItem)(tablename, {
[pkName]: (0, util_dynamodb_1.convertToAttr)(pk),
...(0, object_1.maybeMerge)(skName, (0, object_1.maybeConvertToAttr)(sk)),
}, dynamodbOptions);
};
};
exports.createGetItem = createGetItem;
const getItem = async (tablename, key, options) => {
const command = new client_dynamodb_1.GetItemCommand({
...options,
Key: key,
TableName: tablename,
});
const res = await client_1.DDBClient.instance.send(command);
if (!res.Item) {
return undefined;
}
return (0, util_dynamodb_1.unmarshall)(res.Item);
};
exports.getItem = getItem;
//# sourceMappingURL=get.js.map