@danielkalen/simplybind
Version:
Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.
24 lines (17 loc) • 841 B
text/coffeescript
@eventMethods = listen:@optionsPassed.listenMethod, remove:@optionsPassed.removeMethod, emit:@optionsPassed.emitMethod
# simplyimport:if BUNDLE_TARGET = 'node'
if not subject[@eventMethods.listen]
@eventMethods.listen = 'on'
if not subject[@eventMethods.remove]
@eventMethods.remove = 'removeListener'
if not subject[@eventMethods.emit]
@eventMethods.emit = 'emit'
# simplyimport:end
# simplyimport:if BUNDLE_TARGET = 'browser'
if not subject[@eventMethods.listen]
@eventMethods.listen = if checkIf.isDomNode(subject) then 'addEventListener' else 'on'
if not subject[@eventMethods.remove]
@eventMethods.remove = if checkIf.isDomNode(subject) then 'removeEventListener' else 'removeListener'
if not subject[@eventMethods.emit]
@eventMethods.emit = if checkIf.isDomNode(subject) then 'dispatchEvent' else 'emit'
# simplyimport:end