UNPKG

@danielkalen/simplybind

Version:

Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.

33 lines (23 loc) 927 B
isIterable = subject isnt window and checkIf.isIterable(subject) sampleItem = if isIterable then subject[0] else subject if not sampleItem throwWarning('emptyElList',3) if isIterable and checkIf.isElCollection(subject) else if @isDom = checkIf.isDom(sampleItem) if @property is 'checked' isDomRadio = sampleItem and checkIf.isDomRadio(sampleItem) isDomCheckbox = not isDomRadio and sampleItem and checkIf.isDomCheckbox(sampleItem) else if @property is 'value' isDomInput = checkIf.isDomInput(sampleItem) if isIterable and @descriptor isnt 'multi' if subject.length is 1 subject = subject[0] else if (isDomRadio or isDomCheckbox) and not checkIf.domElsAreSame(subject) return throwWarning('mixedElList',3) else if isDomRadio or isDomCheckbox @isMultiChoice = true subject = [].slice.call(subject) else subject = subject[0] throwWarning('onlyOneDOMElement',3)