Sha256: 4eacf6b527f2a06f775834e3eea75bdd82ca88efa4914a5e06a4c7776859391d

Contents?: true

Size: 1.23 KB

Versions: 3

Compression:

Stored size: 1.23 KB

Contents

###
  Store `any-theme` object in `localStorage`, LZ compressed to Base 64.
  @example
  // Get a key's value or whole object
  storage.get([key])
  @example
  // set a value for a key
  storage.set(key, value)
  @example
  // Remove a key value pair or clear whole object
  storage.clear([key])
###
storage = {
  init: () ->
    if !localStorage.getItem("any-theme")? then storage.store { "created": new Date().getTime() }
    $('a[href="Show"]').on "click", (e) ->
      e.preventDefault()
      console.log storage.get()
      true
    true
  clear: (key) ->
    obj = storage.get()
    if key?
      delete obj[key]
      storage.store obj
      true
    else
      localStorage.removeItem 'any-theme'
      true
  set: (key, value) ->
    if !localStorage.getItem("any-theme")? then storage.init()
    obj = storage.get()
    if key? and value?
      obj[key] = value
      storage.store obj
      return storage
    else
      false
  get: (key) ->
    if !localStorage.getItem("any-theme")? then storage.init()
    if key?
      storage.get()[key]
    else
      JSON.parse LZString.decompressFromBase64 localStorage.getItem "any-theme"
  store: (obj) ->
    localStorage.setItem 'any-theme', LZString.compressToBase64 JSON.stringify obj
}

storage.init()

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jekyll-any-theme-0.1.2 _includes/js/storage.coffee
jekyll-any-theme-0.1.1 assets/js/any_theme/storage.coffee
jekyll-any-theme-0.1.0 assets/js/any_theme/storage.coffee