lowdb
Advanced tools
Comparing version 0.13.0-beta.4 to 0.13.0-beta-5
@@ -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 @@ }, |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
339
26880
16
300
2
4