Socket
Socket
Sign inDemoInstall

lowdb

Package Overview
Dependencies
Maintainers
1
Versions
76
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lowdb - npm Package Compare versions

Comparing version 0.15.4 to 0.15.5

6

dist/lowdb.js

@@ -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 @@

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc