{"_id":"web-storage-cache","_rev":"2795539","name":"web-storage-cache","description":"web storage, improved.","dist-tags":{"latest":"1.1.1"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"time":{"modified":"2022-07-12T09:43:38.000Z","created":"2015-06-25T13:38:28.983Z","1.1.1":"2019-11-01T09:20:06.441Z","1.1.0":"2019-05-24T05:30:54.163Z","1.0.3":"2016-10-21T04:10:25.008Z","1.0.2":"2016-07-27T10:46:35.744Z","1.0.1":"2016-06-20T04:54:01.423Z","1.0.0":"2015-12-31T14:36:28.338Z","0.0.3":"2015-10-21T02:29:34.614Z","0.0.2":"2015-09-26T06:15:17.308Z","0.0.1":"2015-06-25T13:38:28.983Z"},"users":{},"author":{"name":"wuchangming"},"repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"versions":{"1.1.1":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"1.1.1","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"dist/web-storage-cache.min.js","main":"src/web-storage-cache.js","types":"src/web-storage-cache.d.ts","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test","build":"grunt build"},"devDependencies":{"chai":"^4.2.0","growl":"^1.10.5","grunt":"^1.0.4","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^1.2.0","mocha":"^6.1.4"},"gitHead":"aacb23ad7aa33946e506bb7138f7b63068926922","_id":"web-storage-cache@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"dist":{"shasum":"42ac07e77ea860e884895be9ba99ab1e04eb162e","size":65645,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-1.1.1.tgz"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-storage-cache_1.1.1_1572600006310_0.0962735421705827"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-24T09:06:03.628Z","publish_time":1572600006441,"_cnpm_publish_time":1572600006441},"1.1.0":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"1.1.0","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"dist/web-storage-cache.min.js","main":"src/web-storage-cache.js","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test","build":"grunt build"},"devDependencies":{"chai":"^4.2.0","growl":"^1.10.5","grunt":"^1.0.4","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^1.2.0","mocha":"^6.1.4"},"gitHead":"05c8ce9229773753f2a22a779e9c81fe13e68c89","_id":"web-storage-cache@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"dist":{"shasum":"ea4d1fb4025e14123683dd8d7263cdc71d6c0c68","size":64113,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-1.1.0.tgz"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-storage-cache_1.1.0_1558675854058_0.2267487533455672"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-24T09:06:03.520Z","publish_time":1558675854163,"_cnpm_publish_time":1558675854163},"1.0.3":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"1.0.3","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"dist/web-storage-cache.min.js","main":"src/web-storage-cache.js","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test","build":"grunt build"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.5","grunt":"^0.4.5","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^0.4.10"},"gitHead":"b6cedd4f2da76bad8d57dcaecd7dcd62445eb5f7","_id":"web-storage-cache@1.0.3","_shasum":"2eecc4f1f88c9c3c4c185381c9fdf5fe8d0c908c","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"dist":{"shasum":"2eecc4f1f88c9c3c4c185381c9fdf5fe8d0c908c","size":46615,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-1.0.3.tgz"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/web-storage-cache-1.0.3.tgz_1477023022449_0.769534302642569"},"directories":{},"_cnpmcore_publish_time":"2021-12-24T09:06:03.187Z","publish_time":1477023025008,"_cnpm_publish_time":1477023025008},"1.0.2":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"1.0.2","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"dist/web-storage-cache.min.js","main":"src/web-storage-cache.js","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.5","grunt":"^0.4.5","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^0.4.10"},"gitHead":"8275c2de16a0134e41e356a139574296dd6618b0","_id":"web-storage-cache@1.0.2","_shasum":"e9c6ff6b4190e8cc9e3fb7dfde00c390f9aa31b0","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"dist":{"shasum":"e9c6ff6b4190e8cc9e3fb7dfde00c390f9aa31b0","size":46113,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-1.0.2.tgz"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/web-storage-cache-1.0.2.tgz_1469616393958_0.5798340644687414"},"directories":{},"_cnpmcore_publish_time":"2021-12-24T09:06:03.095Z","publish_time":1469616395744,"_cnpm_publish_time":1469616395744},"1.0.1":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"1.0.1","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"src/web-storage-cache.js","main":"dist/web-storage-cache.js","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.5","grunt":"^0.4.5","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^0.4.10"},"gitHead":"88c4bd6f29292843b35563fc0db5586638ac1da3","_id":"web-storage-cache@1.0.1","_shasum":"014ed005932b139aea2a9ae743e281b90da97bdf","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"dist":{"shasum":"014ed005932b139aea2a9ae743e281b90da97bdf","size":46112,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-1.0.1.tgz"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/web-storage-cache-1.0.1.tgz_1466398438746_0.7918304996564984"},"directories":{},"_cnpmcore_publish_time":"2021-12-24T09:06:02.014Z","publish_time":1466398441423,"_cnpm_publish_time":1466398441423},"1.0.0":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"1.0.0","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"src/web-storage-cache.js","main":"src/web-storage-cache.js","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.5","grunt":"^0.4.5","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^0.4.10"},"gitHead":"3f39f316ffe8c88a99114ccf1cf81396b579b487","_id":"web-storage-cache@1.0.0","_shasum":"376cac578d66cd3d7613112a6c54d7e08d780b5d","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"dist":{"shasum":"376cac578d66cd3d7613112a6c54d7e08d780b5d","size":45885,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-1.0.0.tgz"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"directories":{},"_cnpmcore_publish_time":"2021-12-24T09:06:00.242Z","publish_time":1451572588338,"_cnpm_publish_time":1451572588338},"0.0.3":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"0.0.3","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"src/web-storage-cache.js","main":"src/web-storage-cache.js","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.5","grunt":"^0.4.5","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^0.4.10"},"gitHead":"3feda16bed1b50165173ebf3b054cf235ca499df","_id":"web-storage-cache@0.0.3","_shasum":"698d376cd438176bc26cf8bcc75c56d341ef3ea2","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"dist":{"shasum":"698d376cd438176bc26cf8bcc75c56d341ef3ea2","size":43207,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-0.0.3.tgz"},"directories":{},"_cnpmcore_publish_time":"2021-12-24T09:05:59.195Z","publish_time":1445394574614,"_cnpm_publish_time":1445394574614},"0.0.2":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"0.0.2","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"src/web-storage-cache.js","main":"src/web-storage-cache.js","licence":"MIT","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"scripts":{"test":"grunt test"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.5","grunt":"^0.4.5","grunt-contrib-jshint":"~0.11.0","grunt-contrib-uglify":"~0.8.0","grunt-contrib-watch":"~0.5.0","grunt-mocha":"^0.4.10"},"directories":{"example":"example","test":"test"},"dependencies":{"grunt-mocha":"^0.4.13","grunt-contrib-watch":"^0.5.3","grunt-contrib-uglify":"^0.8.1","grunt-contrib-jshint":"^0.11.2","chai":"^2.1.2","grunt":"^0.4.5"},"gitHead":"7821c36693a3a9a6614992878dd165bb0161a455","_id":"web-storage-cache@0.0.2","_shasum":"3b1d4a1c3f6b43e8c5add261607c8232c4f24149","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"dist":{"shasum":"3b1d4a1c3f6b43e8c5add261607c8232c4f24149","size":42458,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-0.0.2.tgz"},"_cnpmcore_publish_time":"2021-12-24T09:05:58.112Z","publish_time":1443248117308,"_cnpm_publish_time":1443248117308},"0.0.1":{"name":"web-storage-cache","author":{"name":"wuchangming"},"license":"MIT","description":"web storage, improved.","keywords":["localstorage","storage","expires"],"version":"0.0.1","homepage":"https://github.com/WQTeam/web-storage-cache","repository":{"type":"git","url":"git://github.com/WQTeam/web-storage-cache.git"},"browser":"src/web-storage-cache.js","main":"src/web-storage-cache.js","licence":"MIT","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"gitHead":"eb28e90514f5a8a6e65046980ef9a314acaf6fd5","_id":"web-storage-cache@0.0.1","scripts":{},"_shasum":"596d1db92b4ac194674606c11a621e2c00af737e","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"wuchangming","email":"wuchangmingnice@163.com"},"maintainers":[{"name":"wuchangming","email":"wuchangmingnice@163.com"}],"dist":{"shasum":"596d1db92b4ac194674606c11a621e2c00af737e","size":4673,"noattachment":false,"key":"/web-storage-cache/-/web-storage-cache-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/web-storage-cache/download/web-storage-cache-0.0.1.tgz"},"directories":{},"_cnpmcore_publish_time":"2021-12-24T09:05:57.073Z","publish_time":1435239508983,"_cnpm_publish_time":1435239508983}},"readme":"# WebStorageCache  \n[![Build Status](https://travis-ci.org/wuchangming/web-storage-cache.svg?branch=master)](https://travis-ci.org/wuchangming/web-storage-cache)\n[![npm](https://img.shields.io/npm/dt/web-storage-cache.svg)](https://www.npmjs.com/package/web-storage-cache)\n<a href='https://gitter.im/wuchangming/web-storage-cache'>\n<img src='https://badges.gitter.im/Join%20Chat.svg' alt='Gitter Chat' />\n</a>\n\n### Language\n see [English Document](https://github.com/wuchangming/web-storage-cache/blob/master/README_en.md)\n\n`WebStorageCache` 对HTML5 `localStorage` `和sessionStorage` 进行了扩展，添加了超时时间，序列化方法。可以直接存储json对象，同时可以非常简单的进行超时时间的设置。  \n<b>优化</b>：`WebStorageCache`自动清除访问的过期数据，避免了过期数据的累积。另外也提供了清除全部过期数据的方法：`wsCache.deleteAllExpires();`\n\n# 用法\n\n[下载](https://github.com/wuchangming/web-storage-cache/releases) 最新 WebStorageCache。\n\nnpm下载\n```\nnpm install web-storage-cache --save-dev\n```\n\n使用WebStorageCache，只要在页面上引入下面代码即可。\n```html\n<script src=\"src/web-storage-cache.js\"></script>\n<script>\n// create WebStorageCache instance.\nvar wsCache = new WebStorageCache();\n// cache 'wqteam' at 'username', expired in 100 seconds\nwsCache.set('username', 'wqteam', {exp : 100});\n</script>\n```\n也可以在RequireJS使用WebStorageCache：\n```javascript\ndefine(['web-storage-cache'], function(WebStorageCache) {\n    // 初始化 WebStorageCache 实例.\n    var wsCache = new WebStorageCache();\n    // 缓存字符串'wqteam' 到 'username' 中, 超时时间100秒.\n    wsCache.set('username', 'wqteam', {exp : 100});\n});\n```\n\n## 例子\n```javascript\nvar wsCache = new WebStorageCache();\n\n// 缓存字符串'wqteam' 到 'username' 中, 超时时间100秒\nwsCache.set('username', 'wqteam', {exp : 100});\n\n// 超时截止日期，可用使用Date类型\nvar nextYear = new Date();\nnextYear.setFullYear(nextYear.getFullYear() + 1);\nwsCache.set('username', 'wqteam', {exp : nextYear});\n\n// 获取缓存中 'username' 的值\nwsCache.get('username');\n\n// 缓存简单js对象，默认使用序列化方法为JSON.stringify。可以通过初始化wsCache的时候配置serializer.serialize\nwsCache.set('user', { name: 'Wu', organization: 'wqteam'});\n\n// 读取缓存中的简单js对象 - 默认使用反序列化方法为JSON.parse。可以通过初始化wsCache的时候配置serializer.deserialize\nvar user = wsCache.get('user');\nalert(user.name + ' belongs to ' + user.organization);\n\n// 删除缓存中 'username'\nwsCache.delete('username');\n\n// 手工删除所有超时CacheItem,\nwsCache.deleteAllExpires();\n\n// 清除客户端中所有缓存\nwsCache.clear();\n\n// 为已存在的（未超时的）缓存值设置新的超时时间。\nwsCache.touch('username', 1);\n\n// 如果缓存中没有key为username2的缓存，则添加username2。反之什么都不做\nwsCache.add('username2', 'wqteam', {exp : 1});\n\n// 如果缓存中有key为username的缓存，则替换为新值。反之什么都不做\nwsCache.replace('username', 'new wqteam', {exp : 1});\n\n// 检查当前选择作为缓存的storage是否被用户浏览器支持。\n//如果不支持调用WebStorageCache API提供的方法将什么都不做。\nwsCache.isSupported();\n\n```\n# API\n\n## Constructor\n```javascript\nvar wsCache = new WebStorageCache({\n    // [可选] 'localStorage', 'sessionStorage', window.localStorage, window.sessionStorage\n    //        或者其他实现了 [Storage API] 的storage实例.\n    //        默认 'localStorage'.\n    storage: 'localStorage',\n    // [可选]  类型Number，公共超时事件设置。默认无限大\n    exp: Infinity\n});\n```\n## isSupported\n检查当前选择作为缓存的storage是否被用户浏览器支持。\n如果不支持调用WebStorageCache API提供的方法将什么都不做。\n```javascript\nwsCache.isSupported(); // 返回值Boolean。\n```\n## set\n往缓存中插入数据。\n```javascript\n// key [必填] 必须要为String类型。\n// value [必填] 支持所以可以JSON.parse 的类型。注：当为undefined的时候会执行 delete(key)操作。\n// options [选填] js对象，包含两个属性 exp 和 force。\n// {\n//     // 类型Number。超时时间，秒。默认无限大。\n//     exp: 100,\n//     // 类型Boolean。为true时：当超过最大容量导致无法继续插入数据操作时，先清空缓存中已超时的\n//     // 内容后再尝试插入数据操作。默认为true。\n//     force: true\n// }\nwsCache.set(key, value, options);\n```\n## get\n根据key获取缓存中未超时数据。返回相应类型String、Boolean、PlainObject、Array的值。\n```javascript\n// key [必填] String类型。如果发现该key对应的值已过期,会进行delete(key)操作，返回null。\nwsCache.get(key);\n```\n## delete\n根据key删除缓存中的值。\n```javascript\nwsCache.delete(key);\n```\n## deleteAllExpires\n删除缓存中所有通过WebStorageCache存储的超时值。\n```javascript\nwsCache.deleteAllExpires();\n```\n## clear\n清空缓存中全部的值。注意：这个方法会清除不是使用WebStorageCache插入的值。推荐使用:`deleteAllExpires`。\n```javascript\nwsCache.clear();\n```\n## touch\n根据key为已存在的（未超时的）缓存值以当前时间为基准设置新的超时时间。\n```javascript\n// key [必填] String类型\n// exp [必填] number 单位：秒 js对象包含exp属性（以当前时间为起点的新的超时时间）\nwsCache.touch(key, exp: 1);\n```\n## add\n根据key做插入操作，如果key对应的值不存在或者已超时则插入该值，反之什么都不做。\n注：不是通过WebStorageCache插入的值也会当作失效的值，依然执行`add`操作\n```javascript\nwsCache.add(key, value, options);\n```\n## replace\n根据key做插入操作，如果key对应的值存在并且未超时则插入该值，反之什么都不做  \n注：超时时间以当前时间为基准重新设置。\n```javascript\nwsCache.replace(key, value, options);\n```\n","_attachments":{},"homepage":"https://github.com/WQTeam/web-storage-cache","bugs":{"url":"https://github.com/WQTeam/web-storage-cache/issues"},"license":"MIT"}