diff --git a/localStorage/README.md b/localStorage/README.md index f7dd256..5fbda2a 100644 --- a/localStorage/README.md +++ b/localStorage/README.md @@ -1,56 +1,4 @@ -localStorage -=== +MOVED +===== -An inefficient, but as W3C-compliant as possible using only pure JavaScript, `localStorage` implementation. - -Purpose ----- - -This is meant for the purpose of being able to run unit-tests and such for browser-y modules in node. - -Usage ----- - - var localStorage = require('localStorage') - , myValue = { foo: 'bar', baz: 'quux' } - ; - - localStorage.setItem('myKey', JSON.stringify(myValue)); - myValue = localStorage.getItem('myKey'); - -API ---- - - * getItem(key) - * setItem(key, value) - * removeItem(key) - * clear() - * key(n) - * length - -Tests ---- - - 0 === localStorage.length; - null === localStorage.getItem('doesn't exist'); - undefined === localStorage['doesn't exist']; - - localStorage.setItem('myItem'); - "undefined" === localStorage.getItem('myItem'); - 1 === localStorage.length; - - localStorage.setItem('myItem', 0); - "0" === localStorage.getItem('myItem'); - - localStorage.removeItem('myItem', 0); - 0 === localStorage.length; - - localStorage.clear(); - 0 === localStorage.length; - -TODO / Bugs ---- - - * Does not persist. - * could use `fs.readFileSync` at load and an occasional `fs.writeFile` to write-out localStorage.json - * Doesn't not emit `Storage` events +Now at https://github.com/node-browser-compat/dom-storage diff --git a/localStorage/lib/localStorage.js b/localStorage/lib/localStorage.js deleted file mode 100644 index 4a74dff..0000000 --- a/localStorage/lib/localStorage.js +++ /dev/null @@ -1,54 +0,0 @@ -// http://www.rajdeepd.com/articles/chrome/localstrg/LocalStorageSample.htm - -// NOTE: -// this varies from actual localStorage in some subtle ways - -// also, there is no persistence -// TODO persist -(function () { - "use strict"; - - var db; - - function LocalStorage() { - } - db = LocalStorage; - - db.prototype.getItem = function (key) { - if (key in this) { - return String(this[key]); - } - return null; - }; - - db.prototype.setItem = function (key, val) { - this[key] = String(val); - }; - - db.prototype.removeItem = function (key) { - delete this[key]; - }; - - db.prototype.clear = function () { - var self = this; - Object.keys(self).forEach(function (key) { - self[key] = undefined; - delete self[key]; - }); - }; - - db.prototype.key = function (i) { - i = i || 0; - return Object.keys(this)[i]; - }; - - db.prototype.__defineGetter__('length', function () { - return Object.keys(this).length; - }); - - if (global.localStorage) { - module.exports = localStorage; - } else { - module.exports = new LocalStorage(); - } -}()); diff --git a/localStorage/lib/package.json b/localStorage/lib/package.json deleted file mode 100644 index 2d96f56..0000000 --- a/localStorage/lib/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "author": "AJ ONeal (http://coolaj86.info)", - "name": "localStorage", - "description": "W3C localStorage for Node.JS", - "version": "1.0.0", - "repository": { - "type": "git", - "url": "git://github.com/coolaj86/node-localStorage.git" - }, - "engines": { - "node": ">= v0.2.0" - }, - "main": "localStorage.js", - "dependencies": {}, - "devDependencies": {} -} diff --git a/localStorage/tests/test.js b/localStorage/tests/test.js deleted file mode 100644 index 07d8330..0000000 --- a/localStorage/tests/test.js +++ /dev/null @@ -1,34 +0,0 @@ -(function () { - "use strict"; - - var assert = require('assert') - , localStorage = require('localStorage') - ; - - // can't make assuptions about key positioning - localStorage.setItem('a', 1); - assert.strictEqual(localStorage.key(0), 'a'); - - localStorage.setItem('b', '2'); - assert.strictEqual(localStorage.getItem('a'), '1'); - assert.strictEqual(localStorage.getItem('b'), '2'); - assert.strictEqual(localStorage.length, 2); - - assert.strictEqual(localStorage['c'], undefined); - assert.strictEqual(localStorage.getItem('c'), null); - - localStorage.setItem('c'); - assert.strictEqual(localStorage.getItem('c'), "undefined"); - assert.strictEqual(localStorage.length, 3); - - localStorage.removeItem('c'); - assert.strictEqual(localStorage.getItem('c'), null); - assert.strictEqual(localStorage.length, 2); - - localStorage.clear(); - assert.strictEqual(localStorage.getItem('a'), null); - assert.strictEqual(localStorage.getItem('b'), null); - assert.strictEqual(localStorage.length, 0); - - console.log('All tests passed'); -}());