summaryrefslogtreecommitdiff
path: root/node_modules/lowdb/lib/browser.js
blob: e0bd3fb3b65468bf7b85eb77f017174eb63ef4a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'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));
  }
};