{:uriI"Åfile:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins.js?type=application/javascript&pipeline=self&id=5ca35d8c5ac57c782cef8992a7139dfd79d064c16f8f081f1e62fd0ffec0c61e:ET:load_pathI"8/Users/joel/src/revelry_core/app/assets/javascripts;F: filenameI"U/Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins.js;T: nameI"revelry/extensions/mixins;T:logical_pathI"&revelry/extensions/mixins.self.js;T:content_typeI"application/javascript;T: sourceI"J /* This optional extension re-enables the React mixin system for plain JS * classes, e.g. ES6 classes, Backbone classes, ES3 module pattern classes * You require the extension like `//= require revelry/extensions/mixins` and * then you just use appComponent and revComponent like normal. * Internally, this works by wrapping the appComponent and revComponent methods * in a function closure which actually does the mixing in, since React punts. */ (function(Rev) { function mixinListForObject(object) { var mixinList = object.mixins || []; mixinList.push(Rev.Mixins.Core); return _.uniq(mixinList); } function forEachMixin(object, fn) { var mixin, i, l; var mixinList = mixinListForObject(object); l = mixinList.length; for(i = 0; i < l; i++) { mixin = mixinList[i]; fn(mixin); } } function decorateComponentMethod(componentMethod) { return function(name, object) { var componentClass = (componentMethod.bind(Rev))(name, object); if(typeof object === 'function') { // ES6 class forEachMixin(object, function(mixin){ Rev.__mixSpecIntoComponent(componentClass, mixin); }); } } } Rev.appComponent = decorateComponentMethod(Rev.appComponent); Rev.registerComponent = decorateComponentMethod(Rev.registerComponent); })(Rev); ;T: metadata{ :dependencieso:Set: @hash{ I"environment-version;TTI"environment-paths;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"cfile-digest:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins.js;TTI"`file-digest:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins;TTI"xfile-digest:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins/mix_spec_into_component;TTI"{file-digest:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins/mix_spec_into_component.js;TT: requiredo;;{I"™file:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/extensions/mixins/mix_spec_into_component.js?type=application/javascript&pipeline=self;TT: stubbedo;;{: linkso;;{: charsetI" utf-8;F: digest"%3ÁÌæ(]^ §Ô×";è'÷ËøwÑýz†¸_Ûol{Ó>ê: lengthiJ:integrityI"Xni:///sha-256;M8HM5ihdXg2n1NciO-gn98v4d9H9eoa4X9tvbHvTPuo?ct=application/javascript;T:dependencies_digest"%ÂöÂ1U šØ™Ÿí¿”$`äóR cµ¨\/öhÜ:idI"E5ca35d8c5ac57c782cef8992a7139dfd79d064c16f8f081f1e62fd0ffec0c61e;F: mtimel+æl_U