Comparing version 0.15.4 to 0.15.5
@@ -1,2 +0,2 @@ | ||
/*! lowdb v0.15.4 */ | ||
/*! lowdb v0.15.5 */ | ||
var low = | ||
@@ -107,5 +107,5 @@ /******/ (function(modules) { // webpackBootstrap | ||
var dest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : source; | ||
var defaultValue = arguments[1]; | ||
var value = defaultValue || db.getState(); | ||
var value = (arguments.length <= 1 ? 0 : arguments.length - 1) ? arguments.length <= 1 ? undefined : arguments[1] : db.getState(); | ||
var w = db.storage.write(dest, db.getState(), format.serialize); | ||
@@ -112,0 +112,0 @@ return isPromise(w) ? w.then(function () { |
@@ -1,2 +0,2 @@ | ||
/*! lowdb v0.15.4 */ | ||
var low=function(t){function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}var e={};return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},r.p="",r(r.s=5)}([function(t,r,e){"use strict";var n=Object.assign||function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},o=e(4),i=e(3),u=e(2),a=function(t,r,e){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},c=a.storage,f=void 0===c?u:c,s=a.format,p=void 0===s?{}:s;return t.source=e,t.storage=n({},i,t.source&&f),t.read=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=t.storage.read(r,p.deserialize);return o(n)?n.then(t.plant):t.plant(n)},t.write=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,n=arguments[1],i=n||t.getState(),u=t.storage.write(r,t.getState(),p.serialize);return o(u)?u.then(function(){return i}):i},t.plant=function(e){return t[r]=e,t},t.getState=function(){return t[r]},t.setState=function(r){return t.plant(r),t.write()},t.read()};t.exports={init:a}},function(t,r){t.exports=_},function(t,r,e){"use strict";t.exports={read:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:JSON.parse,e=localStorage.getItem(t);return e?r(e):(localStorage.setItem(t,"{}"),{})},write:function(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:JSON.stringify;localStorage.setItem(t,e(r))}}},function(t,r,e){"use strict";t.exports={read:function(){return{}},write:function(){return{}}}},function(t,r){function e(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}t.exports=e},function(t,r,e){"use strict";var n=e(1),o=e(0);t.exports=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.runInContext(),i=e.chain({});return i._=e,e.prototype.write=e.wrap(e.prototype.value,function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=r.apply(this);return i.write(e,n)}),o.init(i,"__wrapped__",t,r)}}]); | ||
/*! lowdb v0.15.5 */ | ||
var low=function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var r={};return e.m=t,e.c=r,e.i=function(t){return t},e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=5)}([function(t,e,r){"use strict";var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},o=r(4),i=r(3),u=r(2),a=function(t,e,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},c=a.storage,f=void 0===c?u:c,s=a.format,l=void 0===s?{}:s;return t.source=r,t.storage=n({},i,t.source&&f),t.read=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,n=t.storage.read(e,l.deserialize);return o(n)?n.then(t.plant):t.plant(n)},t.write=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,n=(arguments.length<=1?0:arguments.length-1)?arguments.length<=1?void 0:arguments[1]:t.getState(),i=t.storage.write(e,t.getState(),l.serialize);return o(i)?i.then(function(){return n}):n},t.plant=function(r){return t[e]=r,t},t.getState=function(){return t[e]},t.setState=function(e){return t.plant(e),t.write()},t.read()};t.exports={init:a}},function(t,e){t.exports=_},function(t,e,r){"use strict";t.exports={read:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:JSON.parse,r=localStorage.getItem(t);return r?e(r):(localStorage.setItem(t,"{}"),{})},write:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:JSON.stringify;localStorage.setItem(t,r(e))}}},function(t,e,r){"use strict";t.exports={read:function(){return{}},write:function(){return{}}}},function(t,e){function r(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}t.exports=r},function(t,e,r){"use strict";var n=r(1),o=r(0);t.exports=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.runInContext(),i=r.chain({});return i._=r,r.prototype.write=r.wrap(r.prototype.value,function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=e.apply(this);return i.write(r,n)}),o.init(i,"__wrapped__",t,e)}}]); |
@@ -11,3 +11,3 @@ # Examples | ||
db.defaults({ posts: [] }) | ||
.value() | ||
.write() | ||
@@ -63,6 +63,7 @@ const result = db.get('posts') | ||
app.get('/posts/:id', (req, res) => { | ||
db.get('posts') | ||
const post = db.get('posts') | ||
.find({ id: req.params.id }) | ||
.write() | ||
.then(post => res.send(post)) | ||
.value() | ||
res.send(post) | ||
}) | ||
@@ -88,14 +89,16 @@ | ||
Using ES7 `async/await` and [Babel](https://babeljs.io/), you can write: | ||
Using ES7 `async/await` and [Babel](https://babeljs.io/), you can simplify the previous `POST` example above like this: | ||
```js | ||
app.get('/posts/:id', async (req, res) => { | ||
app.post('/posts', async (req, res) => { | ||
const post = await db.get('posts') | ||
.find({ id: req.params.id }) | ||
.push(req.body) | ||
.last() | ||
.assign({ id: Date.now() }) | ||
.write() | ||
res.send(post) | ||
}) | ||
``` | ||
## In-memory | ||
@@ -123,1 +126,23 @@ | ||
In this case, it's recommended to create a custom storage. | ||
## FP | ||
This particular mode lets you use [lodash/fp](https://github.com/lodash/lodash/wiki/FP-Guide), [Ramda](https://github.com/ramda/ramda) or simple JavaScript functions with lowdb. If you're using Lowdb with a bundler like Webpack or Browserify it can help reducing the size of your bundle.js. | ||
```js | ||
import low from 'lowdb/lib/fp' | ||
import concat from 'lodash/fp/concat' | ||
const db = low() | ||
// Get or set posts | ||
const posts = db('posts', []) | ||
posts.write( | ||
concat({ title: 'lowdb is awesome' }) | ||
) | ||
const post = posts( | ||
find({ id: 1 }) | ||
) | ||
``` |
@@ -32,5 +32,5 @@ 'use strict'; | ||
var dest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : source; | ||
var defaultValue = arguments[1]; | ||
var value = defaultValue || db.getState(); | ||
var value = (arguments.length <= 1 ? 0 : arguments.length - 1) ? arguments.length <= 1 ? undefined : arguments[1] : db.getState(); | ||
var w = db.storage.write(dest, db.getState(), format.serialize); | ||
@@ -37,0 +37,0 @@ return isPromise(w) ? w.then(function () { |
{ | ||
"name": "lowdb", | ||
"version": "0.15.4", | ||
"version": "0.15.5", | ||
"description": "JSON database for Node and the browser powered by lodash API", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -5,4 +5,2 @@ # 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) | ||
Used by [json-server](https://github.com/typicode/json-server) and [more than 90 awesome projects on npm](https://www.npmjs.com/package/lowdb). | ||
```js | ||
@@ -71,2 +69,11 @@ const db = low('db.json') | ||
## Used by | ||
* [felony](https://github.com/henryboldi/felony) | ||
* [googlesamples/md2googleslides](https://github.com/googlesamples/md2googleslides) | ||
* [fb-sleep-stats](https://github.com/sqren/fb-sleep-stats) | ||
* [kadirahq/storybook-database-local](https://github.com/kadirahq/storybook-database-local) | ||
* [json-server](https://github.com/typicode/json-server) | ||
* ... and [other awesome projects](https://www.npmjs.com/browse/depended/lowdb) | ||
## Install | ||
@@ -73,0 +80,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
30021
373
359