Skip to content

Instantly share code, notes, and snippets.

@jakalada
Created November 8, 2011 14:56
Show Gist options
  • Save jakalada/1347947 to your computer and use it in GitHub Desktop.
Save jakalada/1347947 to your computer and use it in GitHub Desktop.
class Storage
constructor: ->
@init()
init: ->
@table = {}
@keys = []
@length = 0
clear: ->
@init()
undefined
getItem: (key) ->
key = key.toString()
if @table[key]? then @table[key] else null
key: (n) ->
if @keys[n]? then @keys[n] else null
removeItem: (key) ->
key = key.toString()
if @table[key]?
delete @table[key]
index = @keys.indexOf(key)
@keys[index..index] = []
@length--
undefined
setItem: (key, value) ->
key = key.toString()
@keys.unshift(key) unless @table[key]?
@table[key] = value
@length++
undefined
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment