dist/amd.riotx+riot.js
function componentMixin(tag$$1) {
      var mixins = [], len = arguments.length - 1;
      while ( len-- > 0 ) mixins[ len ] = arguments[ len + 1 ];

      each(mixins, function (mix) {
        var instance;
        var obj;
        var props = [];

        // properties blacklisted and will not be bound to the tag instance
        var propsBlacklist = ['init', '__proto__'];

        mix = isString(mix) ? mixin(mix) : mix;

        // check if the mixin is a function
        if (isFunction$1(mix)) {
          // create the new mixin instance
          instance = new mix();
        } else { instance = mix; }

        var proto = Object.getPrototypeOf(instance);

        // build multilevel prototype inheritance chain property list
        do { props = props.concat(Object.getOwnPropertyNames(obj || instance)); }
        while (obj = Object.getPrototypeOf(obj || instance))

        // loop the keys in the function prototype or the all object keys
        each(props, function (key) {
          // bind methods to tag
          // allow mixins to override other properties/parent mixins
          if (!contains(propsBlacklist, key)) {
            // check for getters/setters
            var descriptor = getPropDescriptor(instance, key) || getPropDescriptor(proto, key);
            var hasGetterSetter = descriptor && (descriptor.get || descriptor.set);

            // apply method only if it does not already exist on the instance
            if (!tag$$1.hasOwnProperty(key) && hasGetterSetter) {
              Object.defineProperty(tag$$1, key, descriptor);
            } else {
              tag$$1[key] = isFunction$1(instance[key]) ?
                instance[key].bind(tag$$1) :
                instance[key];
            }
          }
        });

        // init method will be called automatically
        if (instance.init)
          { instance.init.bind(tag$$1)(tag$$1.opts); }
      });

      return tag$$1
    }
function componentMixin(tag$$1) {
      var mixins = [], len = arguments.length - 1;
      while ( len-- > 0 ) mixins[ len ] = arguments[ len + 1 ];

      each(mixins, function (mix) {
        var instance;
        var obj;
        var props = [];

        // properties blacklisted and will not be bound to the tag instance
        var propsBlacklist = ['init', '__proto__'];

        mix = isString(mix) ? mixin(mix) : mix;

        // check if the mixin is a function
        if (isFunction$1(mix)) {
          // create the new mixin instance
          instance = new mix();
        } else { instance = mix; }

        var proto = Object.getPrototypeOf(instance);

        // build multilevel prototype inheritance chain property list
        do { props = props.concat(Object.getOwnPropertyNames(obj || instance)); }
        while (obj = Object.getPrototypeOf(obj || instance))

        // loop the keys in the function prototype or the all object keys
        each(props, function (key) {
          // bind methods to tag
          // allow mixins to override other properties/parent mixins
          if (!contains(propsBlacklist, key)) {
            // check for getters/setters
            var descriptor = getPropDescriptor(instance, key) || getPropDescriptor(proto, key);
            var hasGetterSetter = descriptor && (descriptor.get || descriptor.set);

            // apply method only if it does not already exist on the instance
            if (!tag$$1.hasOwnProperty(key) && hasGetterSetter) {
              Object.defineProperty(tag$$1, key, descriptor);
            } else {
              tag$$1[key] = isFunction$1(instance[key]) ?
                instance[key].bind(tag$$1) :
                instance[key];
            }
          }
        });

        // init method will be called automatically
        if (instance.init)
          { instance.init.bind(tag$$1)(tag$$1.opts); }
      });

      return tag$$1
    }
function componentMixin ( tag$$1 ) { var mixins = [ ] , len = arguments . length - 1 ; while ( len -- > 0 ) mixins [ len ] = arguments [ len + 1 ] ; each ( mixins , function ( mix ) { var instance ; var obj ; var props = [ ] ; // properties blacklisted and will not be bound to the tag instance var propsBlacklist = [ 'init' , '__proto__' ] ; mix = isString ( mix ) ? mixin ( mix ) : mix ; // check if the mixin is a function if ( isFunction$1 ( mix ) ) { // create the new mixin instance instance = new mix ( ) ; } else { instance = mix ; } var proto = Object . getPrototypeOf ( instance ) ; // build multilevel prototype inheritance chain property list do { props = props . concat ( Object . getOwnPropertyNames ( obj || instance ) ) ; } while ( obj = Object . getPrototypeOf ( obj || instance ) ) // loop the keys in the function prototype or the all object keys each ( props , function ( key ) { // bind methods to tag // allow mixins to override other properties/parent mixins if ( ! contains ( propsBlacklist , key ) ) { // check for getters/setters var descriptor = getPropDescriptor ( instance , key ) || getPropDescriptor ( proto , key ) ; var hasGetterSetter = descriptor && ( descriptor . get || descriptor . set ) ; // apply method only if it does not already exist on the instance if ( ! tag$$1 . hasOwnProperty ( key ) && hasGetterSetter ) { Object . defineProperty ( tag$$1 , key , descriptor ) ; } else { tag$$1 [ key ] = isFunction$1 ( instance [ key ] ) ? instance [ key ] . bind ( tag$$1 ) : instance [ key ] ; } } } ) ; // init method will be called automatically if ( instance . init ) { instance . init . bind ( tag$$1 ) ( tag$$1 . opts ) ; } } ) ; return tag$$1 }
Add a mixin to this tag
@returns { Tag } the current tag instance
Add a mixin to this tag