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.13.0-beta.2 to 0.13.0-beta.3

examples/README.md

106

lib/index.js

@@ -7,10 +7,17 @@ 'use strict';

var defaultOptions = {
storage: defaultStorage,
writeOnChange: true
};
// const defaultOptions = {
// storage: defaultStorage,
// writeOnChange: true
// }
function low(source) {
var options = arguments.length <= 1 || arguments[1] === undefined ? defaultOptions : arguments[1];
var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
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;
// Create a fresh copy of lodash

@@ -22,51 +29,45 @@ var _ = lodash.runInContext();

if (source) {
if (options.storage) {
(function () {
var storage = options.storage;
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 (storage.read) {
db.read = function () {
var s = arguments.length <= 0 || arguments[0] === undefined ? source : arguments[0];
if (isPromise(res)) {
return res.then(function (obj) {
init(obj);
return db;
});
}
var res = storage.read(s, db.deserialize);
var init = function init(obj) {
db.__wrapped__ = obj;
db._checksum = JSON.stringify(db.__wrapped__);
};
init(res);
return db;
};
}
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 (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 (options.format) {
var format = options.format;
if (format) {
var _options = options;
var _format = _options.format;
db.serialize = format.serialize;
db.deserialize = format.deserialize;
db.serialize = _format.serialize;
db.deserialize = _format.deserialize;
}
}
// Modify value function to call save before returning result
_.prototype.value = _.wrap(_.prototype.value, function (value) {
var v = value.apply(this);
if (db.source && db.write && options.writeOnChange) {
// Persist database state
function persist() {
if (db.source && db.write && writeOnChange) {
var str = JSON.stringify(db.__wrapped__);

@@ -79,3 +80,8 @@

}
}
// Modify value function to call save before returning result
_.prototype.value = _.wrap(_.prototype.value, function (value) {
var v = value.apply(this);
persist();
return v;

@@ -85,9 +91,9 @@ });

// Get or set database state
db.state = function (obj) {
if (obj) {
db.__wrapped__ = obj;
} else {
return db.__wrapped__;
}
db.getState = function () {
return db.__wrapped__;
};
db.setState = function (state) {
db.__wrapped__ = state;
persist();
};

@@ -94,0 +100,0 @@ db._ = _;

{
"name": "lowdb",
"version": "0.13.0-beta.2",
"version": "0.13.0-beta.3",
"description": "JSON database for Node and the browser powered by lodash",

@@ -5,0 +5,0 @@ "keywords": [

@@ -77,3 +77,3 @@ # 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)

* `source` string or null, will be passed to storage
* `source` string or null, will be passed to storage
* `options` object

@@ -103,3 +103,3 @@ * `storage` object, by default `lowdb/lib/file-sync` or `lowdb/lib/browser`.

// read-only
// read-only
const fileSync = require('lowdb/lib/file-sync')

@@ -135,16 +135,17 @@ low('db.json', {

__db.state()__
__db.getState()__
Use whenever you want to access or modify the underlying database object.
Use whenever you want to access the database state.
```js
db.state() // { posts: [ ... ] }
db.getState() // { posts: [ ... ] }
```
You can use it to drop database or replace it with a new object
__db.setState()__
You can use it to drop database or replace it with a new object. New state will be automatically persisted.
```js
const newState = {}
db.state(newState)
db.write()
db.setState(newState)
```

@@ -151,0 +152,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

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