Socket
Socket
Sign inDemoInstall

lowdb

Package Overview
Dependencies
6
Maintainers
1
Versions
76
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.13.0-beta.4 to 0.13.0-beta-5

lib/_index.js

297

dist/lowdb.js

@@ -1,207 +0,142 @@

/*! lowdb v0.13.0-beta.4 */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["low"] = factory();
else
root["low"] = factory();
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.low = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
'use strict';
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
var isPromise = require('is-promise');
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
module.exports = function (source) {
var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
var _ref$format = _ref.format;
var format = _ref$format === undefined ? null : _ref$format;
var _ref$storage = _ref.storage;
var storage = _ref$storage === undefined ? null : _ref$storage;
var _ref$writeOnChange = _ref.writeOnChange;
var writeOnChange = _ref$writeOnChange === undefined ? true : _ref$writeOnChange;
var lodash = arguments[2];
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
// Create a fresh copy of lodash
var _ = lodash.runInContext();
/******/ // Flag the module as loaded
/******/ module.loaded = true;
var db = _.chain({});
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
if (source) {
if (storage) {
if (storage.read) {
db.read = function () {
var s = arguments.length <= 0 || arguments[0] === undefined ? source : arguments[0];
var res = storage.read(s, db.deserialize);
var init = function init(obj) {
db.__wrapped__ = obj;
db._checksum = JSON.stringify(db.__wrapped__);
};
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
if (isPromise(res)) {
return res.then(function (obj) {
init(obj);
return db;
});
}
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
init(res);
return db;
};
}
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
if (storage.write) {
db.write = function () {
var dest = arguments.length <= 0 || arguments[0] === undefined ? source : arguments[0];
return storage.write(dest, db.__wrapped__, db.serialize);
};
}
}
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {
if (format) {
var _options = options;
var _format = _options.format;
'use strict';
db.serialize = _format.serialize;
db.deserialize = _format.deserialize;
}
}
var lodash = __webpack_require__(1);
var isPromise = __webpack_require__(2);
var defaultStorage = __webpack_require__(3);
// Persist database state
function persist() {
if (db.source && db.write && writeOnChange) {
var str = JSON.stringify(db.__wrapped__);
function low(source) {
var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
if (str !== db._checksum) {
db._checksum = str;
db.write(db.source, db.__wrapped__);
}
}
}
var _ref$storage = _ref.storage;
var storage = _ref$storage === undefined ? defaultStorage : _ref$storage;
var _ref$format = _ref.format;
var format = _ref$format === undefined ? null : _ref$format;
var _ref$writeOnChange = _ref.writeOnChange;
var writeOnChange = _ref$writeOnChange === undefined ? true : _ref$writeOnChange;
// Modify value function to call save before returning result
_.prototype.value = _.wrap(_.prototype.value, function (value) {
var v = value.apply(this);
persist();
return v;
});
// Create a fresh copy of lodash
var _ = lodash.runInContext();
// Get or set database state
db.getState = function () {
return db.__wrapped__;
};
db.setState = function (state) {
db.__wrapped__ = state;
persist();
};
var db = _.chain({});
db._ = _;
db.source = source;
if (source) {
if (storage) {
if (storage.read) {
db.read = function () {
var s = arguments.length <= 0 || arguments[0] === undefined ? source : arguments[0];
// Read
if (db.read) {
return db.read();
} else {
return db;
}
};
},{"is-promise":4}],2:[function(require,module,exports){
'use strict';
var res = storage.read(s, db.deserialize);
var init = function init(obj) {
db.__wrapped__ = obj;
db._checksum = JSON.stringify(db.__wrapped__);
};
/* global localStorage */
if (isPromise(res)) {
return res.then(function (obj) {
init(obj);
return db;
});
}
module.exports = {
read: function read(source) {
var deserialize = arguments.length <= 1 || arguments[1] === undefined ? JSON.parse : arguments[1];
init(res);
return db;
};
}
var data = localStorage.getItem(source);
if (data) {
return deserialize(data);
} else {
localStorage.setItem(source, '{}');
return {};
}
},
write: function write(dest, obj) {
var serialize = arguments.length <= 2 || arguments[2] === undefined ? JSON.stringify : arguments[2];
return localStorage.setItem(dest, serialize(obj));
}
};
},{}],3:[function(require,module,exports){
'use strict';
if (storage.write) {
db.write = function () {
var dest = arguments.length <= 0 || arguments[0] === undefined ? source : arguments[0];
return storage.write(dest, db.__wrapped__, db.serialize);
};
}
}
var index = require('./_index');
var storage = require('./browser');
if (format) {
var _options = options;
var _format = _options.format;
module.exports = function low(source) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? { storage: storage } : arguments[1];
db.serialize = _format.serialize;
db.deserialize = _format.deserialize;
}
}
return index(source, opts, window._);
};
},{"./_index":1,"./browser":2}],4:[function(require,module,exports){
module.exports = isPromise;
// Persist database state
function persist() {
if (db.source && db.write && writeOnChange) {
var str = JSON.stringify(db.__wrapped__);
function isPromise(obj) {
return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
}
if (str !== db._checksum) {
db._checksum = str;
db.write(db.source, db.__wrapped__);
}
}
}
// Modify value function to call save before returning result
_.prototype.value = _.wrap(_.prototype.value, function (value) {
var v = value.apply(this);
persist();
return v;
});
// Get or set database state
db.getState = function () {
return db.__wrapped__;
};
db.setState = function (state) {
db.__wrapped__ = state;
persist();
};
db._ = _;
db.source = source;
// Read
if (db.read) {
return db.read();
} else {
return db;
}
}
module.exports = low;
/***/ },
/* 1 */
/***/ function(module, exports) {
/* (ignored) */
/***/ },
/* 2 */
/***/ function(module, exports) {
module.exports = isPromise;
function isPromise(obj) {
return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
}
/***/ },
/* 3 */
/***/ function(module, exports) {
'use strict';
/* global localStorage */
module.exports = {
read: function read(source) {
var deserialize = arguments.length <= 1 || arguments[1] === undefined ? JSON.parse : arguments[1];
var data = localStorage.getItem(source);
if (data) {
return deserialize(data);
} else {
localStorage.setItem(source, '{}');
return {};
}
},
write: function write(dest, obj) {
var serialize = arguments.length <= 2 || arguments[2] === undefined ? JSON.stringify : arguments[2];
return localStorage.setItem(dest, serialize(obj));
}
};
/***/ }
/******/ ])
});
;
},{}]},{},[3])(3)
});

@@ -1,2 +0,1 @@

/*! lowdb v0.13.0-beta.4 */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.low=t():e.low=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){function t(){if(_.source&&_.write&&f){var e=JSON.stringify(_.__wrapped__);e!==_._checksum&&(_._checksum=e,_.write(_.source,_.__wrapped__))}}var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=r.storage,u=void 0===n?a:n,s=r.format,c=void 0===s?null:s,p=r.writeOnChange,f=void 0===p?!0:p,d=o.runInContext(),_=d.chain({});if(e&&(u&&(u.read&&(_.read=function(){var t=arguments.length<=0||void 0===arguments[0]?e:arguments[0],r=u.read(t,_.deserialize),n=function(e){_.__wrapped__=e,_._checksum=JSON.stringify(_.__wrapped__)};return i(r)?r.then(function(e){return n(e),_}):(n(r),_)}),u.write&&(_.write=function(){var t=arguments.length<=0||void 0===arguments[0]?e:arguments[0];return u.write(t,_.__wrapped__,_.serialize)})),c)){var g=options,l=g.format;_.serialize=l.serialize,_.deserialize=l.deserialize}return d.prototype.value=d.wrap(d.prototype.value,function(e){var r=e.apply(this);return t(),r}),_.getState=function(){return _.__wrapped__},_.setState=function(e){_.__wrapped__=e,t()},_._=d,_.source=e,_.read?_.read():_}var o=r(3),i=r(2),a=r(1);e.exports=n},function(e,t){"use strict";e.exports={read:function(e){var t=arguments.length<=1||void 0===arguments[1]?JSON.parse:arguments[1],r=localStorage.getItem(e);return r?t(r):(localStorage.setItem(e,"{}"),{})},write:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?JSON.stringify:arguments[2];return localStorage.setItem(e,r(t))}}},function(e,t){function r(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}e.exports=r},function(e,t){}])});
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.low=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";var isPromise=require("is-promise");module.exports=function(source){var _ref=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];var _ref$format=_ref.format;var format=_ref$format===undefined?null:_ref$format;var _ref$storage=_ref.storage;var storage=_ref$storage===undefined?null:_ref$storage;var _ref$writeOnChange=_ref.writeOnChange;var writeOnChange=_ref$writeOnChange===undefined?true:_ref$writeOnChange;var lodash=arguments[2];var _=lodash.runInContext();var db=_.chain({});if(source){if(storage){if(storage.read){db.read=function(){var s=arguments.length<=0||arguments[0]===undefined?source:arguments[0];var res=storage.read(s,db.deserialize);var init=function init(obj){db.__wrapped__=obj;db._checksum=JSON.stringify(db.__wrapped__)};if(isPromise(res)){return res.then(function(obj){init(obj);return db})}init(res);return db}}if(storage.write){db.write=function(){var dest=arguments.length<=0||arguments[0]===undefined?source:arguments[0];return storage.write(dest,db.__wrapped__,db.serialize)}}}if(format){var _options=options;var _format=_options.format;db.serialize=_format.serialize;db.deserialize=_format.deserialize}}function persist(){if(db.source&&db.write&&writeOnChange){var str=JSON.stringify(db.__wrapped__);if(str!==db._checksum){db._checksum=str;db.write(db.source,db.__wrapped__)}}}_.prototype.value=_.wrap(_.prototype.value,function(value){var v=value.apply(this);persist();return v});db.getState=function(){return db.__wrapped__};db.setState=function(state){db.__wrapped__=state;persist()};db._=_;db.source=source;if(db.read){return db.read()}else{return db}}},{"is-promise":4}],2:[function(require,module,exports){"use strict";module.exports={read:function read(source){var deserialize=arguments.length<=1||arguments[1]===undefined?JSON.parse:arguments[1];var data=localStorage.getItem(source);if(data){return deserialize(data)}else{localStorage.setItem(source,"{}");return{}}},write:function write(dest,obj){var serialize=arguments.length<=2||arguments[2]===undefined?JSON.stringify:arguments[2];return localStorage.setItem(dest,serialize(obj))}}},{}],3:[function(require,module,exports){"use strict";var index=require("./_index");var storage=require("./browser");module.exports=function low(source){var opts=arguments.length<=1||arguments[1]===undefined?{storage:storage}:arguments[1];return index(source,opts,window._)}},{"./_index":1,"./browser":2}],4:[function(require,module,exports){module.exports=isPromise;function isPromise(obj){return!!obj&&(typeof obj==="object"||typeof obj==="function")&&typeof obj.then==="function"}},{}]},{},[3])(3)});
{
"name": "lowdb",
"version": "0.13.0-beta.4",
"version": "0.13.0-beta-5",
"description": "JSON database for Node and the browser powered by lodash API",

@@ -19,3 +19,3 @@ "keywords": [

],
"main": "./lib",
"main": "./lib/index.node.js",
"scripts": {

@@ -25,6 +25,6 @@ "test": "babel-node test/all | tap-spec",

"precommit": "npm test",
"build": "npm run babel && npm run umd && npm run min",
"babel": "babel src --out-dir lib --ignore dist.js",
"umd": "webpack src/index.js dist/lowdb.js --output-library low",
"min": "webpack -p src/index.js dist/lowdb.min.js --output-library low"
"build": "npm run babel && npm run browserify && npm run uglify",
"babel": "babel src --out-dir lib",
"browserify": "mkdir -p dist && browserify lib/index.browser.js -o dist/lowdb.js --standalone low",
"uglify": "uglifyjs dist/lowdb.js -o dist/lowdb.min.js"
},

@@ -56,2 +56,3 @@ "repository": {

"babel-preset-stage-3": "^6.3.13",
"browserify": "^13.0.1",
"husky": "^0.11.4",

@@ -64,2 +65,3 @@ "lodash": "^4.12.0",

"tempfile": "^1.1.1",
"uglify-js": "^2.6.2",
"underscore-db": "^0.10.0",

@@ -72,5 +74,3 @@ "webpack": "^1.12.13"

"browser": {
"lodash": false,
"./src/file-sync.js": "./src/browser.js",
"./lib/file-sync.js": "./lib/browser.js"
"./lib/index.node.js": "./lib/index.browser.js"
},

@@ -77,0 +77,0 @@ "standard": {

# Lowdb [![NPM version](https://badge.fury.io/js/lowdb.svg)](http://badge.fury.io/js/lowdb) [![Build Status](https://travis-ci.org/typicode/lowdb.svg?branch=master)](https://travis-ci.org/typicode/lowdb)
__Work in progress__
> A small local database for small projects :cat: (powered by lodash API)

@@ -46,3 +44,3 @@

[__Migrating from from 0.12 to 0.13? See this guide.__]()
[__Migrating from 0.12 to 0.13? See this guide.__]()

@@ -72,3 +70,3 @@ ## Why lowdb?

<script src="https://npmcdn.com/lodash@4/lodash.min.js"></script>
<script src="http://npmcdn.com/lowdb/dist/lowdb.min.js"></script>
<script src="https://npmcdn.com/lowdb/dist/lowdb.min.js"></script>
<script>

@@ -93,5 +91,5 @@ var db = low('db')

Creates a __lodash chain__, you can use __any__ lodash method on it.
Creates a __lodash chain__, you can use __any__ lodash method on it. When `.value()` is called data is saved using `storage`.
Use `options` to configure how lowdb should persist data. Here are some examples:
You can use `options` to configure how lowdb should persist data. Here are some examples:

@@ -197,2 +195,3 @@ ```js

db.has('posts')
.value()
```

@@ -203,3 +202,4 @@

```js
db.set('posts', []).value()
db.set('posts', [])
.value()
```

@@ -228,3 +228,5 @@

```js
db.get('posts').size()
db.get('posts')
.size()
.value()
```

@@ -235,3 +237,5 @@

```js
db.get('posts').cloneDeep()
db.get('posts')
.cloneDeep()
.value()
```

@@ -280,5 +284,5 @@

### How to use custom storage or format
### How to use a custom storage or format
`low()` accepts custom storage or format. Simply create objects with `read/write` or `serialize/deserialize` methods. See `src/file-sync.js` code source for a full example.
`low()` accepts custom storage or format. Simply create objects with `read/write` or `serialize/deserialize` methods. See `src/browser.js` code source for a full example.

@@ -285,0 +289,0 @@ ```js

@@ -6,4 +6,6 @@ var webpack = require('webpack')

module.exports = {
entry: './src/index.js',
output: {
path: './dist',
library: 'low',
libraryTarget: 'umd'

@@ -10,0 +12,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc