🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

firebase-unchained

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

firebase-unchained - npm Package Compare versions

Comparing version

to
1.2.0

lib/api.js

105

lib/index.js

@@ -6,109 +6,16 @@ 'use strict';

});
exports.pauthWithCustomToken = pauthWithCustomToken;
exports.pget = pget;
exports.pval = pval;
exports.ppush = ppush;
exports.pset = pset;
exports.pupdate = pupdate;
exports.premove = premove;
exports.default = promisifyFirebase;
function pauthWithCustomToken(db) {
return function (token, options) {
return new Promise(function (resolve, reject) {
db.authWithCustomToken(token, function (err, authData) {
if (err) {
reject(err);
} else {
resolve(authData);
}
}, options);
});
};
}
function pget(db) {
return function (path) {
var ref = path.once ? path : db.child(path);
return new Promise(function (resolve, reject) {
ref.once('value', resolve, reject);
});
};
}
var _api = require('./api');
function pval(db) {
return function (path) {
return db.pget(path).then(function (snap) {
var val = snap.val();
if (val === null) {
throw new Error('No value at this path');
}
return val;
});
};
}
var api = _interopRequireWildcard(_api);
function ppush(db) {
var _arguments = arguments;
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
return function (path, value) {
var ref = path.push ? path : db.child(path);
if (_arguments.length < 2) {
return Promise.resolve(ref.push());
}
return new Promise(function (resolve, reject) {
ref.push(value, function (err) {
return err ? reject(err) : resolve();
});
});
};
}
function pset(db) {
return function (path, value) {
var ref = path.set ? path : db.child(path);
return new Promise(function (resolve, reject) {
ref.set(value, function (err) {
return err ? reject(err) : resolve();
});
});
};
}
function psetWithPriority(db) {
return function (path, value, priority) {
var ref = path.setWithPriority ? path : db.child(path);
return new Promise(function (resolve, reject) {
ref.setWithPriority(value, priority, function (err) {
return err ? reject(err) : resolve();
});
});
};
}
function pupdate(db) {
return function (path, value) {
var ref = path.update ? path : db.child(path);
return new Promise(function (resolve, reject) {
ref.update(value, function (err) {
return err ? reject(err) : resolve();
});
});
};
}
function premove(db) {
return function (path) {
var ref = path.remove ? path : db.child(path);
return new Promise(function (resolve, reject) {
ref.remove(function (err) {
return err ? reject(err) : resolve();
});
});
};
}
function promisifyFirebase(db) {
[pauthWithCustomToken, pget, pval, ppush, pset, psetWithPriority, pupdate, premove].forEach(function (fn) {
return db[fn.name] = fn(db);
Object.keys(api).forEach(function (name) {
var fn = api[name];
db[name] = fn(db);
});
return db;
}
{
"name": "firebase-unchained",
"version": "1.1.0",
"version": "1.2.0",
"description": "Promise version of Firebase API without chaining",

@@ -12,4 +12,7 @@ "main": "lib/index.js",

"build": "babel src -d lib",
"faucet": "npm run tape | faucet",
"prepublish": "npm run build",
"test": "standard && babel-tape-runner tests/**/*.js | faucet"
"standard": "standard",
"tape": "babel-tape-runner 'tests/**/*.js'",
"test": "npm run faucet && npm run standard"
},

@@ -16,0 +19,0 @@ "author": "Seggy Umboh <sumboh@eta.ai>",