all files / ps-direct-sdk/ index.js

100% Statements 15/15
66.67% Branches 4/6
100% Functions 2/2
100% Lines 13/13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28        16× 15×                   17×    
"use strict";
 
var database = require("./db.js");
var hydrateString = require("./lib/hydrateString");
var stringify = require("./lib/stringify");
var R = require("ramda");
var hl = require("highland");
 
module.exports = function (config) {
    var db = database(config);
    return {
        put: (key, value) => {
            if(!R.is(String, value)) return hl(push => push("WrongType"));
            else return db.setKey(key, value);
        },
        putObject: (key, value) => {
          return db.setKey(key, stringify(value));
        },
        del: db.delKey,
        add: db.addToKey,
        rem: function (key, value) {
            return R.isNil(value) ? db.delKey(key)
                : isNaN(value) ? db.delFromKey(key, value)
                : db.delFromKeyByScore(key, Number(value));
        },
        get: key => hydrateString(db, {}, "${" + key + "}")
    };
};