fireball-db
Version:
a lightweight model wrapper for DynamoDB
46 lines (43 loc) • 1.09 kB
JavaScript
var isArray, isObject, ref;
ref = require('lodash'), isArray = ref.isArray, isObject = ref.isObject;
module.exports = {
key_and_params: function(key, params) {
var ref1;
if (params == null) {
params = {};
}
if (!isObject(params)) {
key.push(params);
params = {};
}
if (isArray(key) && key.length === 0) {
ref1 = [params, {}], key = ref1[0], params = ref1[1];
}
if (params == null) {
params = {};
}
return [key, params];
},
key_for: function(item, hash_key, range_key) {
var hash_value, key, range_value;
key = {};
if (isArray(item) && item.length === 1) {
item = item[0];
}
hash_value = range_value = item;
if (isArray(item)) {
hash_value = item[0], range_value = item[1];
}
if (isObject(hash_value)) {
hash_value = hash_value[hash_key];
}
key[hash_key] = hash_value;
if (range_key != null) {
if (isObject(range_value)) {
range_value = range_value[range_key];
}
key[range_key] = range_value;
}
return key;
}
};