luda
Version:
A library helps to build cross-framework UI components.
32 lines (26 loc) • 874 B
text/coffeescript
import luda from '../base/luda.coffee'
import camelCase from '../base/camel-case.coffee'
import Type from '../base/type.coffee'
import {access, _access} from './helpers/access.coffee'
import './remove-cache.coffee'
luda.extend
cache: (isPrivate) -> if isPrivate then _access() else access()
luda.include
cache: (key, value) ->
unless key
return unless [0]
return access( [0]) or access( [0], {})
if Type.isString key
key = camelCase key
if arguments.length < 2
return unless [0]
access( [0], {}) unless access( [0])
return access [0], key
return this if value is undefined
return key if value is null
.forEach (el) ->
access(el, {}) unless access(el)
access el, key, value
return this
k, v for k, v of key
this