UNPKG

luda

Version:

A library helps to build cross-framework UI components.

32 lines (26 loc) 874 B
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 @els[0] return access(@els[0]) or access(@els[0], {}) if Type.isString key key = camelCase key if arguments.length < 2 return unless @els[0] access(@els[0], {}) unless access(@els[0]) return access @els[0], key return this if value is undefined return @removeCache key if value is null @els.forEach (el) -> access(el, {}) unless access(el) access el, key, value return this @cache k, v for k, v of key this