Skip to content

Instantly share code, notes, and snippets.

@angus-c
Last active August 29, 2015 14:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save angus-c/39c7331fee5bacf7ef7b to your computer and use it in GitHub Desktop.
Save angus-c/39c7331fee5bacf7ef7b to your computer and use it in GitHub Desktop.
requirebin sketch
var reflux = require('reflux');
console.log(reflux.createAction);
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function EE(fn,context,once){this.fn=fn;this.context=context;this.once=once||false}function EventEmitter(){}EventEmitter.prototype._events=undefined;EventEmitter.prototype.listeners=function listeners(event){if(!this._events||!this._events[event])return[];for(var i=0,l=this._events[event].length,ee=[];i<l;i++){ee.push(this._events[event][i].fn)}return ee};EventEmitter.prototype.emit=function emit(event,a1,a2,a3,a4,a5){if(!this._events||!this._events[event])return false;var listeners=this._events[event],length=listeners.length,len=arguments.length,ee=listeners[0],args,i,j;if(1===length){if(ee.once)this.removeListener(event,ee.fn,true);switch(len){case 1:return ee.fn.call(ee.context),true;case 2:return ee.fn.call(ee.context,a1),true;case 3:return ee.fn.call(ee.context,a1,a2),true;case 4:return ee.fn.call(ee.context,a1,a2,a3),true;case 5:return ee.fn.call(ee.context,a1,a2,a3,a4),true;case 6:return ee.fn.call(ee.context,a1,a2,a3,a4,a5),true}for(i=1,args=new Array(len-1);i<len;i++){args[i-1]=arguments[i]}ee.fn.apply(ee.context,args)}else{for(i=0;i<length;i++){if(listeners[i].once)this.removeListener(event,listeners[i].fn,true);switch(len){case 1:listeners[i].fn.call(listeners[i].context);break;case 2:listeners[i].fn.call(listeners[i].context,a1);break;case 3:listeners[i].fn.call(listeners[i].context,a1,a2);break;default:if(!args)for(j=1,args=new Array(len-1);j<len;j++){args[j-1]=arguments[j]}listeners[i].fn.apply(listeners[i].context,args)}}}return true};EventEmitter.prototype.on=function on(event,fn,context){if(!this._events)this._events={};if(!this._events[event])this._events[event]=[];this._events[event].push(new EE(fn,context||this));return this};EventEmitter.prototype.once=function once(event,fn,context){if(!this._events)this._events={};if(!this._events[event])this._events[event]=[];this._events[event].push(new EE(fn,context||this,true));return this};EventEmitter.prototype.removeListener=function removeListener(event,fn,once){if(!this._events||!this._events[event])return this;var listeners=this._events[event],events=[];if(fn)for(var i=0,length=listeners.length;i<length;i++){if(listeners[i].fn!==fn&&listeners[i].once!==once){events.push(listeners[i])}}if(events.length)this._events[event]=events;else this._events[event]=null;return this};EventEmitter.prototype.removeAllListeners=function removeAllListeners(event){if(!this._events)return this;if(event)this._events[event]=null;else this._events={};return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.addListener=EventEmitter.prototype.on;EventEmitter.prototype.setMaxListeners=function setMaxListeners(){return this};EventEmitter.EventEmitter=EventEmitter;EventEmitter.EventEmitter2=EventEmitter;EventEmitter.EventEmitter3=EventEmitter;if("object"===typeof module&&module.exports){module.exports=EventEmitter}},{}],2:[function(require,module,exports){exports.createdStores=[];exports.createdActions=[];exports.reset=function(){while(exports.createdStores.length){exports.createdStores.pop()}while(exports.createdActions.length){exports.createdActions.pop()}}},{}],3:[function(require,module,exports){var _=require("./utils"),maker=require("./joins").instanceJoinCreator;module.exports={hasListener:function(listenable){var i=0,listener;for(;i<(this.subscriptions||[]).length;++i){listener=this.subscriptions[i].listenable;if(listener===listenable||listener.hasListener&&listener.hasListener(listenable)){return true}}return false},listenToMany:function(listenables){for(var key in listenables){var cbname=_.callbackName(key),localname=this[cbname]?cbname:this[key]?key:undefined;if(localname){this.listenTo(listenables[key],localname,this[cbname+"Default"]||this[localname+"Default"]||localname)}}},validateListening:function(listenable){if(listenable===this){return"Listener is not able to listen to itself"}if(!_.isFunction(listenable.listen)){return listenable+" is missing a listen method"}if(listenable.hasListener&&listenable.hasListener(this)){return"Listener cannot listen to this listenable because of circular loop"}},listenTo:function(listenable,callback,defaultCallback){var desub,unsubscriber,subscriptionobj,subs=this.subscriptions=this.subscriptions||[];_.throwIf(this.validateListening(listenable));this.fetchDefaultData(listenable,defaultCallback);desub=listenable.listen(this[callback]||callback,this);unsubscriber=function(){var index=subs.indexOf(subscriptionobj);_.throwIf(index===-1,"Tried to remove listen already gone from subscriptions list!");subs.splice(index,1);desub()};subscriptionobj={stop:unsubscriber,listenable:listenable};subs.push(subscriptionobj);return subscriptionobj},stopListeningTo:function(listenable){var sub,i=0,subs=this.subscriptions||[];for(;i<subs.length;i++){sub=subs[i];if(sub.listenable===listenable){sub.stop();_.throwIf(subs.indexOf(sub)!==-1,"Failed to remove listen from subscriptions list!");return true}}return false},stopListeningToAll:function(){var remaining,subs=this.subscriptions||[];while(remaining=subs.length){subs[0].stop();_.throwIf(subs.length!==remaining-1,"Failed to remove listen from subscriptions list!")}},fetchDefaultData:function(listenable,defaultCallback){defaultCallback=defaultCallback&&this[defaultCallback]||defaultCallback;var me=this;if(_.isFunction(defaultCallback)&&_.isFunction(listenable.getDefaultData)){data=listenable.getDefaultData();if(data&&_.isFunction(data.then)){data.then(function(){defaultCallback.apply(me,arguments)})}else{defaultCallback.call(this,data)}}},joinTrailing:maker("last"),joinLeading:maker("first"),joinConcat:maker("all"),joinStrict:maker("strict")}},{"./joins":9,"./utils":12}],4:[function(require,module,exports){var _=require("./utils"),ListenerMethods=require("./ListenerMethods");module.exports=_.extend({componentWillUnmount:ListenerMethods.stopListeningToAll},ListenerMethods)},{"./ListenerMethods":3,"./utils":12}],5:[function(require,module,exports){var _=require("./utils");module.exports={preEmit:function(){},shouldEmit:function(){return true},listen:function(callback,bindContext){var eventHandler=function(args){callback.apply(bindContext,args)},me=this;this.emitter.addListener(this.eventLabel,eventHandler);return function(){me.emitter.removeListener(me.eventLabel,eventHandler)}},trigger:function(){var args=arguments,pre=this.preEmit.apply(this,args);args=pre===undefined?args:_.isArguments(pre)?pre:[].concat(pre);if(this.shouldEmit.apply(this,args)){this.emitter.emit(this.eventLabel,args)}},triggerAsync:function(){var args=arguments,me=this;_.nextTick(function(){me.trigger.apply(me,args)})}}},{"./utils":12}],6:[function(require,module,exports){var Reflux=require("../src"),_=require("./utils");module.exports=function(listenable,key){return{componentDidMount:function(){for(var m in Reflux.ListenerMethods){if(this[m]!==Reflux.ListenerMethods[m]){if(this[m]){throw"Can't have other property '"+m+"' when using Reflux.listenTo!"}this[m]=Reflux.ListenerMethods[m]}}var me=this,cb=key===undefined?this.setState:function(v){me.setState(_.object([key],[v]))};this.listenTo(listenable,cb,cb)},componentWillUnmount:Reflux.ListenerMixin.componentWillUnmount}}},{"../src":undefined,"./utils":12}],7:[function(require,module,exports){var _=require("./utils"),Reflux=require("../src"),Keep=require("./Keep"),allowed={preEmit:1,shouldEmit:1};module.exports=function(definition){definition=definition||{};for(var d in definition){if(!allowed[d]&&Reflux.PublisherMethods[d]){throw new Error("Cannot override API method "+d+" in action creation. Use another method name or override it on Reflux.PublisherMethods instead.")}}var context=_.extend({eventLabel:"action",emitter:new _.EventEmitter,_isAction:true},Reflux.PublisherMethods,definition);var functor=function(){functor[functor.sync?"trigger":"triggerAsync"].apply(functor,arguments)};_.extend(functor,context);Keep.createdActions.push(functor);return functor}},{"../src":undefined,"./Keep":2,"./utils":12}],8:[function(require,module,exports){var _=require("./utils"),Reflux=require("../src"),Keep=require("./Keep"),allowed={preEmit:1,shouldEmit:1};module.exports=function(definition){definition=definition||{};for(var d in definition){if(!allowed[d]&&(Reflux.PublisherMethods[d]||Reflux.ListenerMethods[d])){throw new Error("Cannot override API method "+d+" in store creation. Use another method name or override it on Reflux.PublisherMethods / Reflux.ListenerMethods instead.")}}function Store(){var i=0,arr;this.subscriptions=[];this.emitter=new _.EventEmitter;this.eventLabel="change";if(this.init&&_.isFunction(this.init)){this.init()}if(this.listenables){arr=[].concat(this.listenables);for(;i<arr.length;i++){this.listenToMany(arr[i])}}}_.extend(Store.prototype,Reflux.ListenerMethods,Reflux.PublisherMethods,definition);var store=new Store;Keep.createdStores.push(store);return store}},{"../src":undefined,"./Keep":2,"./utils":12}],9:[function(require,module,exports){var slice=Array.prototype.slice,createStore=require("./createStore"),strategyMethodNames={strict:"joinStrict",first:"joinLeading",last:"joinTrailing",all:"joinConcat"};exports.staticJoinCreator=function(strategy){return function(){var listenables=slice.call(arguments);return createStore({init:function(){this[strategyMethodNames[strategy]].apply(this,listenables.concat("triggerAsync"))}})}};exports.instanceJoinCreator=function(strategy){return function(){var listenables=slice.call(arguments),callback=listenables.pop(),numberOfListenables=listenables.length,join={numberOfListenables:numberOfListenables,callback:this[callback]||callback,listener:this,strategy:strategy};for(var i=0;i<numberOfListenables;i++){this.listenTo(listenables[i],newListener(i,join))}reset(join)}};function reset(join){join.listenablesEmitted=new Array(join.numberOfListenables);join.args=new Array(join.numberOfListenables)}function newListener(i,join){return function(){var callargs=slice.call(arguments);if(join.listenablesEmitted[i]){switch(join.strategy){case"strict":throw new Error("Strict join failed because listener triggered twice.");case"last":join.args[i]=callargs;break;case"all":join.args[i].push(callargs)}}else{join.listenablesEmitted[i]=true;join.args[i]=join.strategy==="all"?[callargs]:callargs}emitIfAllListenablesEmitted(join)}}function emitIfAllListenablesEmitted(join){for(var i=0;i<join.numberOfListenables;i++){if(!join.listenablesEmitted[i]){return}}join.callback.apply(join.listener,join.args);reset(join)}},{"./createStore":8}],10:[function(require,module,exports){var Reflux=require("../src");module.exports=function(listenable,callback,initial){return{componentDidMount:function(){for(var m in Reflux.ListenerMethods){if(this[m]!==Reflux.ListenerMethods[m]){if(this[m]){throw"Can't have other property '"+m+"' when using Reflux.listenTo!"}this[m]=Reflux.ListenerMethods[m]}}this.listenTo(listenable,callback,initial)},componentWillUnmount:Reflux.ListenerMethods.stopListeningToAll}}},{"../src":undefined}],11:[function(require,module,exports){var Reflux=require("../src");module.exports=function(listenables){return{componentDidMount:function(){for(var m in Reflux.ListenerMethods){if(this[m]!==Reflux.ListenerMethods[m]){if(this[m]){throw"Can't have other property '"+m+"' when using Reflux.listenToMany!"}this[m]=Reflux.ListenerMethods[m]}}this.listenToMany(listenables)},componentWillUnmount:Reflux.ListenerMethods.stopListeningToAll}}},{"../src":undefined}],12:[function(require,module,exports){var isObject=exports.isObject=function(obj){var type=typeof obj;return type==="function"||type==="object"&&!!obj};exports.extend=function(obj){if(!isObject(obj)){return obj}var source,prop;for(var i=1,length=arguments.length;i<length;i++){source=arguments[i];for(prop in source){obj[prop]=source[prop]}}return obj};exports.isFunction=function(value){return typeof value==="function"};exports.EventEmitter=require("eventemitter3");exports.nextTick=function(callback){setTimeout(callback,0)};exports.callbackName=function(string){return"on"+string.charAt(0).toUpperCase()+string.slice(1)};exports.object=function(keys,vals){var o={},i=0;for(;i<keys.length;i++){o[keys[i]]=vals[i]}return o};exports.isArguments=function(value){return value&&typeof value=="object"&&typeof value.length=="number"&&(toString.call(value)==="[object Arguments]"||hasOwnProperty.call(value,"callee"&&!propertyIsEnumerable.call(value,"callee")))||false};exports.throwIf=function(val,msg){if(val){throw Error(msg||val)}}},{eventemitter3:1}],reflux:[function(require,module,exports){exports.ListenerMethods=require("./ListenerMethods");exports.PublisherMethods=require("./PublisherMethods");exports.createAction=require("./createAction");exports.createStore=require("./createStore");exports.connect=require("./connect");exports.ListenerMixin=require("./ListenerMixin");exports.listenTo=require("./listenTo");exports.listenToMany=require("./listenToMany");var maker=require("./joins").staticJoinCreator;exports.joinTrailing=exports.all=maker("last");exports.joinLeading=maker("first");exports.joinStrict=maker("strict");exports.joinConcat=maker("all");exports.createActions=function(actionNames){var i=0,actions={};for(;i<actionNames.length;i++){actions[actionNames[i]]=exports.createAction()}return actions};exports.setEventEmitter=function(ctx){var _=require("./utils");_.EventEmitter=ctx};exports.nextTick=function(nextTick){var _=require("./utils");_.nextTick=nextTick};exports.__keep=require("./Keep")},{"./Keep":2,"./ListenerMethods":3,"./ListenerMixin":4,"./PublisherMethods":5,"./connect":6,"./createAction":7,"./createStore":8,"./joins":9,"./listenTo":10,"./listenToMany":11,"./utils":12}]},{},[]);var reflux=require("reflux");console.log(reflux.createAction);
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"reflux": "0.1.13"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment