summaryrefslogtreecommitdiff
path: root/node_modules/lowdb/dist/lowdb.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/lowdb/dist/lowdb.js')
-rw-r--r--node_modules/lowdb/dist/lowdb.js143
1 files changed, 143 insertions, 0 deletions
diff --git a/node_modules/lowdb/dist/lowdb.js b/node_modules/lowdb/dist/lowdb.js
new file mode 100644
index 0000000..4f74fad
--- /dev/null
+++ b/node_modules/lowdb/dist/lowdb.js
@@ -0,0 +1,143 @@
+(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] : {},
+ _ref$format = _ref.format,
+ format = _ref$format === undefined ? null : _ref$format,
+ _ref$storage = _ref.storage,
+ storage = _ref$storage === undefined ? null : _ref$storage,
+ _ref$writeOnChange = _ref.writeOnChange,
+ writeOnChange = _ref$writeOnChange === undefined ? true : _ref$writeOnChange;
+
+ var lodash = arguments[2];
+
+ // Create a fresh copy of lodash
+ var _ = lodash.runInContext();
+
+ var db = _.chain({});
+
+ if (source) {
+ if (format) {
+ if (format.serialize) {
+ db.serialize = format.serialize;
+ }
+ if (format.deserialize) {
+ db.deserialize = format.deserialize;
+ }
+ }
+
+ if (storage) {
+ if (storage.read) {
+ db.read = function () {
+ var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : source;
+
+ 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 ? arguments[0] : source;
+ return storage.write(dest, db.__wrapped__, db.serialize);
+ };
+ }
+ }
+ }
+
+ // Persist database state
+ 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);
+ }
+ }
+ }
+
+ // 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;
+ }
+};
+},{"is-promise":4}],2:[function(require,module,exports){
+'use strict';
+
+/* global localStorage */
+
+module.exports = {
+ read: function read(source) {
+ var deserialize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : JSON.parse;
+
+ 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 ? arguments[2] : JSON.stringify;
+ 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 ? arguments[1] : { storage: storage };
+
+ 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)
+}); \ No newline at end of file