Comment

Comment by batat

Yea, let's bury jQuery again and make more "helpers.js" [1]

    export function extend(src) {
      var obj, args = arguments
      
      for (let i = 1; i < args.length; ++i) {
        if (obj = args[i]) {
          for (let key in obj) {
            // check if this property of the source object could be overridden
            if (isWritable(src, key))
              src[key] = obj[key]
          }
        }
      }
     }
or just add super-unique stuff to our classes [2]

    DragSelect.prototype.removeClass = function( element, classname ) {    
      var cn = element.className;
      var rxp = new RegExp( classname + \'\\b\', \'g\' );
      cn = cn.replace( rxp, \'\' );
      element.className = cn;
      return element;    
    };
    
    DragSelect.prototype.hasClass = function( element, classname ) {    
      var cn = element.className;
      if( cn.indexOf( classname ) > -1 ) { return true; }
      else { return false; }    
    };
or write tons of boilerplate code like

    if (typeof element === 'string') {
        owner.element = document.querySelector(element);
    } else {
        owner.element = ((typeof element.length !== 'undefined') && element.length > 0) ? element[0] : element;
    }
(mmm, it's so vanilla)

[1] https://github.com/oncode/handorgel/blob/master/src/helpers....

[2] https://github.com/ThibaultJanBeyer/DragSelect/blob/master/s...

parent batat 9 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton