summaryrefslogtreecommitdiffstats
path: root/src/memory.js
diff options
context:
space:
mode:
authorwout <wout@impinc.co.uk>2013-07-02 14:36:09 +0100
committerwout <wout@impinc.co.uk>2013-07-02 14:36:09 +0100
commitc30c718d904dc35bd99595ab37d5bb8cac796570 (patch)
tree58774563c7cc8393e21774fae98dc730115efca2 /src/memory.js
parentf492d5d57790e4f3606a3370b1e676a38a9fd7a9 (diff)
downloadsvg.js-c30c718d904dc35bd99595ab37d5bb8cac796570.tar.gz
svg.js-c30c718d904dc35bd99595ab37d5bb8cac796570.zip
Added memory module
Diffstat (limited to 'src/memory.js')
-rw-r--r--src/memory.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/memory.js b/src/memory.js
new file mode 100644
index 0000000..336716a
--- /dev/null
+++ b/src/memory.js
@@ -0,0 +1,34 @@
+SVG.extend(SVG.Element, {
+ // Initialize local memory object
+ _memory: {}
+
+ // Remember arbitrary data
+, remember: function(k, v) {
+ /* remember every item in an object individually */
+ if (typeof arguments[0] == 'object')
+ for (var v in k)
+ this.remember(v, k[v])
+
+ /* retrieve memory */
+ else if (arguments.length == 1)
+ return this._memory[k]
+
+ /* store memory */
+ else
+ this._memory[k] = v
+
+ return this
+ }
+
+ // Erase a given memory
+, forget: function() {
+ if (arguments.length == 0)
+ this._memory = {}
+ else
+ for (var i = arguments.length - 1; i >= 0; i--)
+ delete this._memory[arguments[i]]
+
+ return this
+ }
+
+}) \ No newline at end of file