{"_id":"@aadityataparia/browser-storage","_rev":"2-a20749822a8d02346e3993cd941c31fa","name":"@aadityataparia/browser-storage","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aadityataparia/browser-storage","version":"0.1.0","description":"Frontend key-value(JSON to JSON) storage library","main":"src/browserstorage.js","browser":"dist/browserstorage.min.js","browserslist":["chrome >= 55","safari >= 10.1","opera >= 42","firefox >= 53"],"scripts":{"test":"mocha --timeout 10000","browser-test":"mocha --timeout 10000 test/browser.js test/storages.js","unit-test":"mocha test/test.js","rollup":"rollup -c"},"repository":{"type":"git","url":"git+https://github.com/aadityataparia/browserStorage.git"},"keywords":["indexeddb","localstorage","storage","websql"],"author":{"name":"Aaditya Taparia"},"license":"MIT","bugs":{"url":"https://github.com/aadityataparia/browserStorage/issues"},"homepage":"https://github.com/aadityataparia/browserStorage","dependencies":{},"devDependencies":{"babel-core":"^6.26.3","babel-plugin-external-helpers":"^6.22.0","babel-plugin-fast-async":"^6.1.2","babel-preset-env":"^1.7.0","browserslist":"^4.1.0","chai":"^4.1.2","file-url":"^2.0.2","mocha":"^5.2.0","puppeteer":"^1.7.0","repl":"^0.1.3","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-eslint":"^5.0.0","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-terser":"^1.0.1"},"gitHead":"0fec39aacc8e566db606dfd582610c344f00b8d3","_id":"@aadityataparia/browser-storage@0.1.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"aadityataparia","email":"aadityataparia@gmail.com"},"dist":{"integrity":"sha512-iw9JzcTdjpFn52impln1qOVY6hH3GW+N8rPnfCAmcB3To1V12H4kiGm8N2+PgnE1Ei0aibO9giNS89AnvrBtow==","shasum":"fff41c0495b36fd082c6f8c7bed7d5989c93bf5b","tarball":"https://registry.npmjs.org/@aadityataparia/browser-storage/-/browser-storage-0.1.0.tgz","fileCount":27,"unpackedSize":161629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiQLYCRA9TVsSAnZWagAAcuUP/04QEuy1R6of+pnwcjGB\nxzoOE1GLBs9VdcQw/T/DYTm5LR/5T6RFwiiMzQYiNZJ+ubzaCubMooLW/kw+\nwyxPZAyk/pUyLvbXzSFAO5WOk8ha6aUtADM0F5ZhWELkebVqvzLFq2hyVmoU\nCqbGSoQ1b86BJph08lDLOPynXFeIxxdp7qeB0jdX7prNbFu7yPcA7bzzz5zH\njFdHC23nLCwsqdOCB4upmH9wu7cbkuHQ1dcN0qgAXA8clJ8h9uXndJ1EFLB0\nySTs4VBTMIEjoVkImDJ7JHM58OV/vj1gcAOqo5HyVOXWZE/yLqPtCqw9Xj4x\nGSmKy1bPh2WkSaPbkvewEB4M/tMVLZ4UU/CGD9jQqaeelOk+cr9eM7/2Ki9d\njF3jr4N3Izc0Z1OOk75UkUp2kfTjFtZ6d9bxxmDGnwU4aLYwjvduJ7AiYOi4\nO7xuIcQ9pYveNOBW4j2+nUJKxCo8+jb2RYAWkMuztZ1FmNo7xLV2Ll1K0E0W\nLJ5UARUq/4b15WEc7tSIesumd2SC8tQPZXh+it29iMe6psFDXwqfVa7vBIoB\nxlhsdemOsnXWaoTUS+gCWOahcMtUls0lewuFd2GNs1X1jNO2uZI6FAlzTd5c\nJ6RA7RXXmyaPlIhIRga3MaIWWUuNk0HDP2mAGhkLL/cT4nuqgDsq0vcRkmwi\nNvvp\r\n=2rHI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw5dC8eZ7VOshSx3zJOto1+XnHlbAW8MrmFpG95HySywIgCYNCvMo4zu8JdmWDnRCHusJ1+2bhpUlrV+00dPY+4hk="}]},"maintainers":[{"name":"aadityataparia","email":"aadityataparia@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browser-storage_0.1.0_1535705815344_0.6459877580286706"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated, use @sifrr/storage instead."}},"time":{"created":"2018-08-31T08:56:55.184Z","0.1.0":"2018-08-31T08:56:55.556Z","modified":"2022-04-04T10:54:59.745Z"},"maintainers":[{"name":"aadityataparia","email":"aadityataparia@gmail.com"}],"description":"Frontend key-value(JSON to JSON) storage library","homepage":"https://github.com/aadityataparia/browserStorage","keywords":["indexeddb","localstorage","storage","websql"],"repository":{"type":"git","url":"git+https://github.com/aadityataparia/browserStorage.git"},"author":{"name":"Aaditya Taparia"},"bugs":{"url":"https://github.com/aadityataparia/browserStorage/issues"},"license":"MIT","readme":"# BrowserStorage\nBrowser key-value(JSON) storage library with cow powers.\n\nBuild: [![CircleCI](https://circleci.com/gh/aadityataparia/browserStorage.svg?style=svg)](https://circleci.com/gh/aadityataparia/browserStorage)\n\n### Size\n| Type | Size     |\n| :------------ | :------------: |\n| Normal (`dist/browserstorage.js`)       | [![Normal](https://img.badgesize.io/aadityataparia/browserStorage/master/dist/browserstorage.js)](https://github.com/aadityataparia/browserStorage/blob/master/dist/browserstorage.js) |\n| Minified (`dist/browserstorage.min.js`) | [![Minified](https://img.badgesize.io/aadityataparia/browserStorage/master/dist/browserstorage.min.js)](https://github.com/aadityataparia/browserStorage/blob/master/dist/browserstorage.min.js) |\n| Minified + Gzipped (`dist/browserstorage.min.js`) | [![Minified + Gzipped](https://img.badgesize.io/aadityataparia/browserStorage/master/dist/browserstorage.min.js?compression=gzip)](https://github.com/aadityataparia/browserStorage/blob/master/dist/browserstorage.min.js) |\n\n## Types of storages available (in default priority order)\n- IndexedDB\n- WebSQL\n- LocalStorage\n- Cookies\n\n## How to use\n### Directly in Browser using standalone distribution\nAdd any of `/dist/browserstorage.js` or `/dist/browserstorage.min.js` as script tag in your website.\n\n#### Compatibility table for standalone distribution\n- chrome >= 55\n- safari >= 10.1\n- opera >= 42\n- firefox >= 53\n\n### Using npm\nDo `npm install browserstorage` or add the package to your `package.json`.\n\n## API\n\nBrowserStorage uses Promises API.\n\n### Initialization\n\n- Initialize a storage with a type\n```js\nlet storage = new BrowserStorage(type)\n```\nwhere type is one of `indexeddb`, `websql`, `localstorage`, `cookies`.\n\n*Note*: If that type is not supported in the browser, then first supported storage will be selected based on priority order.\n\n- Initialize with options\n```js\n// Options with default values\nlet options = {\n  priority: ['indexeddb', 'websql', 'localstorage', 'cookies'], // Priority Array of type of storages to use\n  name: 'BroswerStorage', // name of table (treat this as a variable name, i.e. no Spaces or special characters allowed)\n  version: 1, // version number (integer / float / string), 1 is treated same as '1'\n  desciption: 'Browser Storage', // description (text)\n  size: 5 * 1024 * 1024 // Max db size in bytes only for websql (integer)\n}\nstorage = new BrowserStorage(options)\n```\n\n### Inserting key-value\n```js\n// insert single key-value\nlet key = 'key';\nlet value = { value: 'value' };\nstorage.insert(key, value).then(() => {/* Do something here */});\n\n// insert multiple key-values\nlet data = { a: 'b', c: { d: 'e' } }\nstorage.insert(data).then(() => {/* Do something here */});\n```\n\n### Getting value\n```js\n// select single key-value\nstorage.select('key').then((value) => console.log(value)); // > { key: { value: 'value' } }\n\n// select multiple key-values\nstorage.select(['a', 'c']).then((value) => console.log(value)); // > { a: 'b', c: { d: 'e' } }\n```\n\n### Deleting a key\n```js\n// delete single key-value\nstorage.delete('key').then(() => {/* Do something here */});\n\n// delete multiple key-values\nstorage.delete(['a', 'c']).then(() => {/* Do something here */});\n```\n\n### Updating a key\n```js\n// update single key-value\nlet newValue = { newValue: 'new' };\nstorage.update('key', newValue).then(() => {\n  // checking if value is updated\n  storage.select('key').then((v) => console.log(v)); // > { key: { newValue: 'new' } }\n});\n\n// update multiple key-values\nstorage.update({ a: 'bnew', c: { dnew: 'enew' } }).then(() => {\n  // checking if value is updated\n  storage.select(['a', 'c']).then((v) => console.log(v)); // > { a: 'bnew', c: { dnew: 'enew' } }\n});\n```\n\n### Upserting a key-value (Insert else update)\n```js\n// upsert single key-value\nlet upValue = { upValue: 'up' };\nstorage.upsert('key', upValue).then(() => {\n  // checking if value is updated\n  storage.select('key').then((v) => console.log(v)); // > { key: { upValue: 'up' } }\n});\n\n// upsert multiple key-values\nstorage.upsert({ a: 'bup', c: { dup: 'eup' } }).then(() => {\n  // checking if value is updated\n  storage.select(['a', 'c']).then((v) => console.log(v)); // > { a: 'bup', c: { dup: 'eup' } }\n});\n```\n\n### Clear table\n```js\nstorage.clear().then(() => {\n  // checking if value is deleted\n  storage.select('key').then((v) => console.log(v)); // > {}\n});\n```\n\n### Get all data in table\n```js\nstorage.data().then((data) => console.log(data)); // > { key: { upValue: 'up' }, a: 'bup', c: { dup: 'eup' } }\n```\n\n### Get all created storage instances\n```js\nBrowserStorage.all;\n```\n","readmeFilename":"README.md"}