dynamodb-ts-model
Version:
A DynamoDB model/client with full TypeScript typings
49 lines • 1.59 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.error = exports.getKeyValues = exports.parseRequest = exports.formatPageToken = exports.parsePageToken = void 0;
function parsePageToken(pageToken) {
return pageToken && JSON.parse(Buffer.from(pageToken, 'base64').toString());
}
exports.parsePageToken = parsePageToken;
function formatPageToken(lastKey) {
return lastKey && Buffer.from(JSON.stringify(lastKey)).toString('base64');
}
exports.formatPageToken = formatPageToken;
function parseRequest(request) {
var _a, _b, _c;
let req = (_a = request.PutRequest) !== null && _a !== void 0 ? _a : request.Put;
if (req) {
return {
command: 'put',
key: req.Item,
tableName: req.TableName
};
}
req = (_b = request.DeleteRequest) !== null && _b !== void 0 ? _b : request.Delete;
if (req) {
return {
command: 'delete',
key: req.Key,
tableName: req.TableName
};
}
req = (_c = request.UpdateRequest) !== null && _c !== void 0 ? _c : request.Update;
if (req) {
return {
command: 'update',
key: req.Key,
tableName: req.TableName
};
}
throw new Error('Invalid request');
}
exports.parseRequest = parseRequest;
function getKeyValues(item, keyAttributes) {
return keyAttributes.map(attr => item[attr]);
}
exports.getKeyValues = getKeyValues;
function error(message) {
throw new Error(message);
}
exports.error = error;
//# sourceMappingURL=utils.js.map
;