From 7cd2db46e36f0670a2046d5e6786913f2ce89ff9 Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Thu, 25 Apr 2013 23:53:35 -0700 Subject: [PATCH] Fix Opera "$.get is not defined" --- builds/4chan-X.js | 102 +++++++++++++++++++++++----------------------- src/lib/$.coffee | 65 ++++++++++++++--------------- 2 files changed, 85 insertions(+), 82 deletions(-) diff --git a/builds/4chan-X.js b/builds/4chan-X.js index 5d3d9a14a..8315d0ef0 100644 --- a/builds/4chan-X.js +++ b/builds/4chan-X.js @@ -755,62 +755,64 @@ }; (function() { - var cb, items, key, keys, scriptStorage, _i, _len; + var scriptStorage; scriptStorage = opera.scriptStorage; - $["delete"] = function(keys) {}; - if (!(keys instanceof Array)) { - keys = [keys]; - } - for (_i = 0, _len = keys.length; _i < _len; _i++) { - key = keys[_i]; - key = g.NAMESPACE + key; - localStorage.removeItem(key); - delete scriptStorage[key]; - } - return; - $.get = function(key, val, cb) {}; - if (typeof cb === 'function') { - items = $.item(key, val); - } else { - items = key; - cb = val; - } - return $.queueTask(function() { - var val; + $["delete"] = function(keys) { + var key, _i, _len; - for (key in items) { - if (val = scriptStorage[g.NAMESPACE + key]) { - items[key] = JSON.parse(val); + if (!(keys instanceof Array)) { + keys = [keys]; + } + for (_i = 0, _len = keys.length; _i < _len; _i++) { + key = keys[_i]; + key = g.NAMESPACE + key; + localStorage.removeItem(key); + delete scriptStorage[key]; + } + }; + $.get = function(key, val, cb) { + var items; + + if (typeof cb === 'function') { + items = $.item(key, val); + } else { + items = key; + cb = val; + } + return $.queueTask(function() { + for (key in items) { + if (val = scriptStorage[g.NAMESPACE + key]) { + items[key] = JSON.parse(val); + } } - } - return cb(items); - }); - })(); - - $.set = (function() { - var set; - - set = function(key, val) { - key = g.NAMESPACE + key; - val = JSON.stringify(val); - if (key in $.syncing) { - localStorage.setItem(key, val); - } - return scriptStorage[key] = val; + return cb(items); + }); }; - return function(keys, val) { - var key; + $.set = (function() { + var set; - if (typeof keys === 'string') { - set(keys, val); - return; - } - for (key in keys) { - val = keys[key]; - set(key, val); - } - }; + set = function(key, val) { + key = g.NAMESPACE + key; + val = JSON.stringify(val); + if (key in $.syncing) { + localStorage.setItem(key, val); + } + return scriptStorage[key] = val; + }; + return function(keys, val) { + var key; + + if (typeof keys === 'string') { + set(keys, val); + return; + } + for (key in keys) { + val = keys[key]; + set(key, val); + } + }; + })(); })(); $$ = function(selector, root) { diff --git a/src/lib/$.coffee b/src/lib/$.coffee index 91daa0ae6..edb5ebd11 100644 --- a/src/lib/$.coffee +++ b/src/lib/$.coffee @@ -341,39 +341,40 @@ do -> # to the object. {scriptStorage} = opera $.delete = (keys) -> - unless keys instanceof Array - keys = [keys] - for key in keys - key = g.NAMESPACE + key - localStorage.removeItem key - delete scriptStorage[key] - return - $.get = (key, val, cb) -> - if typeof cb is 'function' - items = $.item key, val - else - items = key - cb = val - $.queueTask -> - for key of items - if val = scriptStorage[g.NAMESPACE + key] - items[key] = JSON.parse val - cb items -$.set = do -> - set = (key, val) -> - key = g.NAMESPACE + key - val = JSON.stringify val - if key of $.syncing - # for `storage` events - localStorage.setItem key, val - scriptStorage[key] = val - (keys, val) -> - if typeof keys is 'string' - set keys, val - return - for key, val of keys - set key, val + unless keys instanceof Array + keys = [keys] + for key in keys + key = g.NAMESPACE + key + localStorage.removeItem key + delete scriptStorage[key] return + $.get = (key, val, cb) -> + if typeof cb is 'function' + items = $.item key, val + else + items = key + cb = val + $.queueTask -> + for key of items + if val = scriptStorage[g.NAMESPACE + key] + items[key] = JSON.parse val + cb items + $.set = do -> + set = (key, val) -> + key = g.NAMESPACE + key + val = JSON.stringify val + if key of $.syncing + # for `storage` events + localStorage.setItem key, val + scriptStorage[key] = val + (keys, val) -> + if typeof keys is 'string' + set keys, val + return + for key, val of keys + set key, val + return + return <% } else { %> # http://wiki.greasespot.net/Main_Page