UNPKG

burger

Version:

A lightweight turbolinks friendly JavaScript library

31 lines (23 loc) 623 B
$ = require('jquery') _ = require('lodash') Binding = require('./mixins/binding') getDeep = require('./util/get-deep') setDeep = require('./util/set-deep') class Data extends Binding constructor: (element) -> data = $(element).data() delete data.burger @__data = data super() get: (attrs) -> split = attrs?.split?('.') getDeep(split, @__data) set: (attrs, value) -> split = attrs.split('.') clone = _.cloneDeep(@__data) @__data = setDeep(split, value, clone) @emit(attrs, [value, @]) @__data isEqual: (dataObj) -> @get() == dataObj.get() module.exports = Data