Skip to content

Instantly share code, notes, and snippets.

@edjafarov
Created August 10, 2015 13:16
Show Gist options
  • Save edjafarov/457d4802d82122d0bf53 to your computer and use it in GitHub Desktop.
Save edjafarov/457d4802d82122d0bf53 to your computer and use it in GitHub Desktop.
requirebin sketch
var console = require("consoleit");
var PromisePipe = require("promise-pipe")();
var action = PromisePipe();
action(1).then(showResult);
function showResult(result){
console.log(result)
}
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){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canMutationObserver=typeof window!=="undefined"&&window.MutationObserver;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}var queue=[];if(canMutationObserver){var hiddenDiv=document.createElement("div");var observer=new MutationObserver(function(){var queueList=queue.slice();queue.length=0;queueList.forEach(function(fn){fn()})});observer.observe(hiddenDiv,{attributes:true});return function nextTick(fn){if(!queue.length){hiddenDiv.setAttribute("yes","no")}queue.push(fn)}}if(canPost){window.addEventListener("message",function(ev){var source=ev.source;if((source===window||source===null)&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],2:[function(require,module,exports){(function(process,global){(function(){"use strict";function $$utils$$objectOrFunction(x){return typeof x==="function"||typeof x==="object"&&x!==null}function $$utils$$isFunction(x){return typeof x==="function"}function $$utils$$isMaybeThenable(x){return typeof x==="object"&&x!==null}var $$utils$$_isArray;if(!Array.isArray){$$utils$$_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}else{$$utils$$_isArray=Array.isArray}var $$utils$$isArray=$$utils$$_isArray;var $$utils$$now=Date.now||function(){return(new Date).getTime()};function $$utils$$F(){}var $$utils$$o_create=Object.create||function(o){if(arguments.length>1){throw new Error("Second argument not supported")}if(typeof o!=="object"){throw new TypeError("Argument must be an object")}$$utils$$F.prototype=o;return new $$utils$$F};var $$asap$$len=0;var $$asap$$default=function asap(callback,arg){$$asap$$queue[$$asap$$len]=callback;$$asap$$queue[$$asap$$len+1]=arg;$$asap$$len+=2;if($$asap$$len===2){$$asap$$scheduleFlush()}};var $$asap$$browserGlobal=typeof window!=="undefined"?window:{};var $$asap$$BrowserMutationObserver=$$asap$$browserGlobal.MutationObserver||$$asap$$browserGlobal.WebKitMutationObserver;var $$asap$$isWorker=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function $$asap$$useNextTick(){return function(){process.nextTick($$asap$$flush)}}function $$asap$$useMutationObserver(){var iterations=0;var observer=new $$asap$$BrowserMutationObserver($$asap$$flush);var node=document.createTextNode("");observer.observe(node,{characterData:true});return function(){node.data=iterations=++iterations%2}}function $$asap$$useMessageChannel(){var channel=new MessageChannel;channel.port1.onmessage=$$asap$$flush;return function(){channel.port2.postMessage(0)}}function $$asap$$useSetTimeout(){return function(){setTimeout($$asap$$flush,1)}}var $$asap$$queue=new Array(1e3);function $$asap$$flush(){for(var i=0;i<$$asap$$len;i+=2){var callback=$$asap$$queue[i];var arg=$$asap$$queue[i+1];callback(arg);$$asap$$queue[i]=undefined;$$asap$$queue[i+1]=undefined}$$asap$$len=0}var $$asap$$scheduleFlush;if(typeof process!=="undefined"&&{}.toString.call(process)==="[object process]"){$$asap$$scheduleFlush=$$asap$$useNextTick()}else if($$asap$$BrowserMutationObserver){$$asap$$scheduleFlush=$$asap$$useMutationObserver()}else if($$asap$$isWorker){$$asap$$scheduleFlush=$$asap$$useMessageChannel()}else{$$asap$$scheduleFlush=$$asap$$useSetTimeout()}function $$$internal$$noop(){}var $$$internal$$PENDING=void 0;var $$$internal$$FULFILLED=1;var $$$internal$$REJECTED=2;var $$$internal$$GET_THEN_ERROR=new $$$internal$$ErrorObject;function $$$internal$$selfFullfillment(){return new TypeError("You cannot resolve a promise with itself")}function $$$internal$$cannotReturnOwn(){return new TypeError("A promises callback cannot return that same promise.")}function $$$internal$$getThen(promise){try{return promise.then}catch(error){$$$internal$$GET_THEN_ERROR.error=error;return $$$internal$$GET_THEN_ERROR}}function $$$internal$$tryThen(then,value,fulfillmentHandler,rejectionHandler){try{then.call(value,fulfillmentHandler,rejectionHandler)}catch(e){return e}}function $$$internal$$handleForeignThenable(promise,thenable,then){$$asap$$default(function(promise){var sealed=false;var error=$$$internal$$tryThen(then,thenable,function(value){if(sealed){return}sealed=true;if(thenable!==value){$$$internal$$resolve(promise,value)}else{$$$internal$$fulfill(promise,value)}},function(reason){if(sealed){return}sealed=true;$$$internal$$reject(promise,reason)},"Settle: "+(promise._label||" unknown promise"));if(!sealed&&error){sealed=true;$$$internal$$reject(promise,error)}},promise)}function $$$internal$$handleOwnThenable(promise,thenable){if(thenable._state===$$$internal$$FULFILLED){$$$internal$$fulfill(promise,thenable._result)}else if(promise._state===$$$internal$$REJECTED){$$$internal$$reject(promise,thenable._result)}else{$$$internal$$subscribe(thenable,undefined,function(value){$$$internal$$resolve(promise,value)},function(reason){$$$internal$$reject(promise,reason)})}}function $$$internal$$handleMaybeThenable(promise,maybeThenable){if(maybeThenable.constructor===promise.constructor){$$$internal$$handleOwnThenable(promise,maybeThenable)}else{var then=$$$internal$$getThen(maybeThenable);if(then===$$$internal$$GET_THEN_ERROR){$$$internal$$reject(promise,$$$internal$$GET_THEN_ERROR.error)}else if(then===undefined){$$$internal$$fulfill(promise,maybeThenable)}else if($$utils$$isFunction(then)){$$$internal$$handleForeignThenable(promise,maybeThenable,then)}else{$$$internal$$fulfill(promise,maybeThenable)}}}function $$$internal$$resolve(promise,value){if(promise===value){$$$internal$$reject(promise,$$$internal$$selfFullfillment())}else if($$utils$$objectOrFunction(value)){$$$internal$$handleMaybeThenable(promise,value)}else{$$$internal$$fulfill(promise,value)}}function $$$internal$$publishRejection(promise){if(promise._onerror){promise._onerror(promise._result)}$$$internal$$publish(promise)}function $$$internal$$fulfill(promise,value){if(promise._state!==$$$internal$$PENDING){return}promise._result=value;promise._state=$$$internal$$FULFILLED;if(promise._subscribers.length===0){}else{$$asap$$default($$$internal$$publish,promise)}}function $$$internal$$reject(promise,reason){if(promise._state!==$$$internal$$PENDING){return}promise._state=$$$internal$$REJECTED;promise._result=reason;$$asap$$default($$$internal$$publishRejection,promise)}function $$$internal$$subscribe(parent,child,onFulfillment,onRejection){var subscribers=parent._subscribers;var length=subscribers.length;parent._onerror=null;subscribers[length]=child;subscribers[length+$$$internal$$FULFILLED]=onFulfillment;subscribers[length+$$$internal$$REJECTED]=onRejection;if(length===0&&parent._state){$$asap$$default($$$internal$$publish,parent)}}function $$$internal$$publish(promise){var subscribers=promise._subscribers;var settled=promise._state;if(subscribers.length===0){return}var child,callback,detail=promise._result;for(var i=0;i<subscribers.length;i+=3){child=subscribers[i];callback=subscribers[i+settled];if(child){$$$internal$$invokeCallback(settled,child,callback,detail)}else{callback(detail)}}promise._subscribers.length=0}function $$$internal$$ErrorObject(){this.error=null}var $$$internal$$TRY_CATCH_ERROR=new $$$internal$$ErrorObject;function $$$internal$$tryCatch(callback,detail){try{return callback(detail)}catch(e){$$$internal$$TRY_CATCH_ERROR.error=e;return $$$internal$$TRY_CATCH_ERROR}}function $$$internal$$invokeCallback(settled,promise,callback,detail){var hasCallback=$$utils$$isFunction(callback),value,error,succeeded,failed;if(hasCallback){value=$$$internal$$tryCatch(callback,detail);if(value===$$$internal$$TRY_CATCH_ERROR){failed=true;error=value.error;value=null}else{succeeded=true}if(promise===value){$$$internal$$reject(promise,$$$internal$$cannotReturnOwn());return}}else{value=detail;succeeded=true}if(promise._state!==$$$internal$$PENDING){}else if(hasCallback&&succeeded){$$$internal$$resolve(promise,value)}else if(failed){$$$internal$$reject(promise,error)}else if(settled===$$$internal$$FULFILLED){$$$internal$$fulfill(promise,value)}else if(settled===$$$internal$$REJECTED){$$$internal$$reject(promise,value)}}function $$$internal$$initializePromise(promise,resolver){try{resolver(function resolvePromise(value){$$$internal$$resolve(promise,value)},function rejectPromise(reason){$$$internal$$reject(promise,reason)})}catch(e){$$$internal$$reject(promise,e)}}function $$$enumerator$$makeSettledResult(state,position,value){if(state===$$$internal$$FULFILLED){return{state:"fulfilled",value:value}}else{return{state:"rejected",reason:value}}}function $$$enumerator$$Enumerator(Constructor,input,abortOnReject,label){this._instanceConstructor=Constructor;this.promise=new Constructor($$$internal$$noop,label);this._abortOnReject=abortOnReject;if(this._validateInput(input)){this._input=input;this.length=input.length;this._remaining=input.length;this._init();if(this.length===0){$$$internal$$fulfill(this.promise,this._result)}else{this.length=this.length||0;this._enumerate();if(this._remaining===0){$$$internal$$fulfill(this.promise,this._result)}}}else{$$$internal$$reject(this.promise,this._validationError())}}$$$enumerator$$Enumerator.prototype._validateInput=function(input){return $$utils$$isArray(input)};$$$enumerator$$Enumerator.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")};$$$enumerator$$Enumerator.prototype._init=function(){this._result=new Array(this.length)};var $$$enumerator$$default=$$$enumerator$$Enumerator;$$$enumerator$$Enumerator.prototype._enumerate=function(){var length=this.length;var promise=this.promise;var input=this._input;for(var i=0;promise._state===$$$internal$$PENDING&&i<length;i++){this._eachEntry(input[i],i)}};$$$enumerator$$Enumerator.prototype._eachEntry=function(entry,i){var c=this._instanceConstructor;if($$utils$$isMaybeThenable(entry)){if(entry.constructor===c&&entry._state!==$$$internal$$PENDING){entry._onerror=null;this._settledAt(entry._state,i,entry._result)}else{this._willSettleAt(c.resolve(entry),i)}}else{this._remaining--;this._result[i]=this._makeResult($$$internal$$FULFILLED,i,entry)}};$$$enumerator$$Enumerator.prototype._settledAt=function(state,i,value){var promise=this.promise;if(promise._state===$$$internal$$PENDING){this._remaining--;if(this._abortOnReject&&state===$$$internal$$REJECTED){$$$internal$$reject(promise,value)}else{this._result[i]=this._makeResult(state,i,value)}}if(this._remaining===0){$$$internal$$fulfill(promise,this._result)}};$$$enumerator$$Enumerator.prototype._makeResult=function(state,i,value){return value};$$$enumerator$$Enumerator.prototype._willSettleAt=function(promise,i){var enumerator=this;$$$internal$$subscribe(promise,undefined,function(value){enumerator._settledAt($$$internal$$FULFILLED,i,value)},function(reason){enumerator._settledAt($$$internal$$REJECTED,i,reason)})};var $$promise$all$$default=function all(entries,label){return new $$$enumerator$$default(this,entries,true,label).promise};var $$promise$race$$default=function race(entries,label){var Constructor=this;var promise=new Constructor($$$internal$$noop,label);if(!$$utils$$isArray(entries)){$$$internal$$reject(promise,new TypeError("You must pass an array to race."));return promise}var length=entries.length;function onFulfillment(value){$$$internal$$resolve(promise,value)}function onRejection(reason){$$$internal$$reject(promise,reason)}for(var i=0;promise._state===$$$internal$$PENDING&&i<length;i++){$$$internal$$subscribe(Constructor.resolve(entries[i]),undefined,onFulfillment,onRejection)}return promise};var $$promise$resolve$$default=function resolve(object,label){var Constructor=this;if(object&&typeof object==="object"&&object.constructor===Constructor){return object}var promise=new Constructor($$$internal$$noop,label);$$$internal$$resolve(promise,object);return promise};var $$promise$reject$$default=function reject(reason,label){var Constructor=this;var promise=new Constructor($$$internal$$noop,label);$$$internal$$reject(promise,reason);return promise};var $$es6$promise$promise$$counter=0;function $$es6$promise$promise$$needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function $$es6$promise$promise$$needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var $$es6$promise$promise$$default=$$es6$promise$promise$$Promise;function $$es6$promise$promise$$Promise(resolver){this._id=$$es6$promise$promise$$counter++;this._state=undefined;this._result=undefined;this._subscribers=[];if($$$internal$$noop!==resolver){if(!$$utils$$isFunction(resolver)){$$es6$promise$promise$$needsResolver()}if(!(this instanceof $$es6$promise$promise$$Promise)){$$es6$promise$promise$$needsNew()}$$$internal$$initializePromise(this,resolver)}}$$es6$promise$promise$$Promise.all=$$promise$all$$default;$$es6$promise$promise$$Promise.race=$$promise$race$$default;$$es6$promise$promise$$Promise.resolve=$$promise$resolve$$default;$$es6$promise$promise$$Promise.reject=$$promise$reject$$default;$$es6$promise$promise$$Promise.prototype={constructor:$$es6$promise$promise$$Promise,then:function(onFulfillment,onRejection){var parent=this;var state=parent._state;if(state===$$$internal$$FULFILLED&&!onFulfillment||state===$$$internal$$REJECTED&&!onRejection){return this}var child=new this.constructor($$$internal$$noop);var result=parent._result;if(state){var callback=arguments[state-1];$$asap$$default(function(){$$$internal$$invokeCallback(state,child,callback,result)})}else{$$$internal$$subscribe(parent,child,onFulfillment,onRejection)}return child},"catch":function(onRejection){return this.then(null,onRejection)}};var $$es6$promise$polyfill$$default=function polyfill(){var local;if(typeof global!=="undefined"){local=global}else if(typeof window!=="undefined"&&window.document){local=window}else{local=self}var es6PromiseSupport="Promise"in local&&"resolve"in local.Promise&&"reject"in local.Promise&&"all"in local.Promise&&"race"in local.Promise&&function(){var resolve;new local.Promise(function(r){resolve=r});return $$utils$$isFunction(resolve)}();if(!es6PromiseSupport){local.Promise=$$es6$promise$promise$$default}};var es6$promise$umd$$ES6Promise={Promise:$$es6$promise$promise$$default,polyfill:$$es6$promise$polyfill$$default};if(typeof define==="function"&&define["amd"]){define(function(){return es6$promise$umd$$ES6Promise})}else if(typeof module!=="undefined"&&module["exports"]){module["exports"]=es6$promise$umd$$ES6Promise}else if(typeof this!=="undefined"){this["ES6Promise"]=es6$promise$umd$$ES6Promise}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{_process:1}],3:[function(require,module,exports){exports=module.exports=stringify;exports.getSerialize=serializer;function stringify(obj,replacer,spaces,cycleReplacer){return JSON.stringify(obj,serializer(replacer,cycleReplacer),spaces)}function serializer(replacer,cycleReplacer){var stack=[],keys=[];if(cycleReplacer==null)cycleReplacer=function(key,value){if(stack[0]===value)return"[Circular ~]";return"[Circular ~."+keys.slice(0,stack.indexOf(value)).join(".")+"]"};return function(key,value){if(stack.length>0){var thisPos=stack.indexOf(this);~thisPos?stack.splice(thisPos+1):stack.push(this);~thisPos?keys.splice(thisPos,Infinity,key):keys.push(key);if(~stack.indexOf(value))value=cycleReplacer.call(this,key,value)}else stack.push(value);return replacer==null?value:replacer.call(this,key,value)}}},{}],4:[function(require,module,exports){(function(global,factory){if(typeof exports==="object"){module.exports=factory()}else if(typeof define==="function"&&define.amd){define(factory)}else{global.printStackTrace=factory()}})(this,function(){function printStackTrace(options){options=options||{guess:true};var ex=options.e||null,guess=!!options.guess,mode=options.mode||null;var p=new printStackTrace.implementation,result=p.run(ex,mode);return guess?p.guessAnonymousFunctions(result):result}printStackTrace.implementation=function(){};printStackTrace.implementation.prototype={run:function(ex,mode){ex=ex||this.createException();mode=mode||this.mode(ex);if(mode==="other"){return this.other(arguments.callee)}else{return this[mode](ex)}},createException:function(){try{this.undef()}catch(e){return e}},mode:function(e){if(typeof window!=="undefined"&&window.navigator.userAgent.indexOf("PhantomJS")>-1){return"phantomjs"}if(e["arguments"]&&e.stack){return"chrome"}if(e.stack&&e.sourceURL){return"safari"}if(e.stack&&e.number){return"ie"}if(e.stack&&e.fileName){return"firefox"}if(e.message&&e["opera#sourceloc"]){if(!e.stacktrace){return"opera9"}if(e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length){return"opera9"}return"opera10a"}if(e.message&&e.stack&&e.stacktrace){if(e.stacktrace.indexOf("called from line")<0){return"opera10b"}return"opera11"}if(e.stack&&!e.fileName){return"chrome"}return"other"},instrumentFunction:function(context,functionName,callback){context=context||window;var original=context[functionName];context[functionName]=function instrumented(){callback.call(this,printStackTrace().slice(4));return context[functionName]._instrumented.apply(this,arguments)};context[functionName]._instrumented=original},deinstrumentFunction:function(context,functionName){if(context[functionName].constructor===Function&&context[functionName]._instrumented&&context[functionName]._instrumented.constructor===Function){context[functionName]=context[functionName]._instrumented}},chrome:function(e){return(e.stack+"\n").replace(/^[\s\S]+?\s+at\s+/," at ").replace(/^\s+(at eval )?at\s+/gm,"").replace(/^([^\(]+?)([\n$])/gm,"{anonymous}() ($1)$2").replace(/^Object.<anonymous>\s*\(([^\)]+)\)/gm,"{anonymous}() ($1)").replace(/^(.+) \((.+)\)$/gm,"$1@$2").split("\n").slice(0,-1)},safari:function(e){return e.stack.replace(/\[native code\]\n/m,"").replace(/^(?=\w+Error\:).*$\n/m,"").replace(/^@/gm,"{anonymous}()@").split("\n")},ie:function(e){return e.stack.replace(/^\s*at\s+(.*)$/gm,"$1").replace(/^Anonymous function\s+/gm,"{anonymous}() ").replace(/^(.+)\s+\((.+)\)$/gm,"$1@$2").split("\n").slice(1)},firefox:function(e){return e.stack.replace(/(?:\n@:0)?\s+$/m,"").replace(/^(?:\((\S*)\))?@/gm,"{anonymous}($1)@").split("\n")},opera11:function(e){var ANON="{anonymous}",lineRE=/^.*line (\d+), column (\d+)(?: in (.+))? in (\S+):$/;var lines=e.stacktrace.split("\n"),result=[];for(var i=0,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);if(match){var location=match[4]+":"+match[1]+":"+match[2];var fnName=match[3]||"global code";fnName=fnName.replace(/<anonymous function: (\S+)>/,"$1").replace(/<anonymous function>/,ANON);result.push(fnName+"@"+location+" -- "+lines[i+1].replace(/^\s+/,""))}}return result},opera10b:function(e){var lineRE=/^(.*)@(.+):(\d+)$/;var lines=e.stacktrace.split("\n"),result=[];for(var i=0,len=lines.length;i<len;i++){var match=lineRE.exec(lines[i]);if(match){var fnName=match[1]?match[1]+"()":"global code";result.push(fnName+"@"+match[2]+":"+match[3])}}return result},opera10a:function(e){var ANON="{anonymous}",lineRE=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i;var lines=e.stacktrace.split("\n"),result=[];for(var i=0,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);if(match){var fnName=match[3]||ANON;result.push(fnName+"()@"+match[2]+":"+match[1]+" -- "+lines[i+1].replace(/^\s+/,""))}}return result},opera9:function(e){var ANON="{anonymous}",lineRE=/Line (\d+).*script (?:in )?(\S+)/i;var lines=e.message.split("\n"),result=[];for(var i=2,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);if(match){result.push(ANON+"()@"+match[2]+":"+match[1]+" -- "+lines[i+1].replace(/^\s+/,""))}}return result},phantomjs:function(e){var ANON="{anonymous}",lineRE=/(\S+) \((\S+)\)/i;var lines=e.stack.split("\n"),result=[];for(var i=1,len=lines.length;i<len;i++){lines[i]=lines[i].replace(/^\s+at\s+/gm,"");var match=lineRE.exec(lines[i]);if(match){result.push(match[1]+"()@"+match[2])}else{result.push(ANON+"()@"+lines[i])}}return result},other:function(curr){var ANON="{anonymous}",fnRE=/function(?:\s+([\w$]+))?\s*\(/,stack=[],fn,args,maxStackSize=10;var slice=Array.prototype.slice;while(curr&&stack.length<maxStackSize){fn=fnRE.test(curr.toString())?RegExp.$1||ANON:ANON;try{args=slice.call(curr["arguments"]||[])}catch(e){args=["Cannot access arguments: "+e]}stack[stack.length]=fn+"("+this.stringifyArguments(args)+")";try{curr=curr.caller}catch(e){stack[stack.length]="Cannot access caller: "+e;break}}return stack},stringifyArguments:function(args){var result=[];var slice=Array.prototype.slice;for(var i=0;i<args.length;++i){var arg=args[i];if(arg===undefined){result[i]="undefined"}else if(arg===null){result[i]="null"}else if(arg.constructor){if(arg.constructor===Array){if(arg.length<3){result[i]="["+this.stringifyArguments(arg)+"]"}else{result[i]="["+this.stringifyArguments(slice.call(arg,0,1))+"..."+this.stringifyArguments(slice.call(arg,-1))+"]"}}else if(arg.constructor===Object){result[i]="#object"}else if(arg.constructor===Function){result[i]="#function"}else if(arg.constructor===String){result[i]='"'+arg+'"'}else if(arg.constructor===Number){result[i]=arg}else{result[i]="?"}}}return result.join(",")},sourceCache:{},ajax:function(url){var req=this.createXMLHTTPObject();if(req){try{req.open("GET",url,false);req.send(null);return req.responseText}catch(e){}}return""},createXMLHTTPObject:function(){var xmlhttp,XMLHttpFactories=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}];for(var i=0;i<XMLHttpFactories.length;i++){try{xmlhttp=XMLHttpFactories[i]();this.createXMLHTTPObject=XMLHttpFactories[i];return xmlhttp}catch(e){}}},isSameDomain:function(url){return typeof location!=="undefined"&&url.indexOf(location.hostname)!==-1},getSource:function(url){if(!(url in this.sourceCache)){this.sourceCache[url]=this.ajax(url).split("\n")}return this.sourceCache[url]},guessAnonymousFunctions:function(stack){for(var i=0;i<stack.length;++i){var reStack=/\{anonymous\}\(.*\)@(.*)/,reRef=/^(.*?)(?::(\d+))(?::(\d+))?(?: -- .+)?$/,frame=stack[i],ref=reStack.exec(frame);if(ref){var m=reRef.exec(ref[1]);if(m){var file=m[1],lineno=m[2],charno=m[3]||0;if(file&&this.isSameDomain(file)&&lineno){var functionName=this.guessAnonymousFunction(file,lineno,charno);stack[i]=frame.replace("{anonymous}",functionName)}}}}return stack},guessAnonymousFunction:function(url,lineNo,charNo){var ret;try{ret=this.findFunctionName(this.getSource(url),lineNo)}catch(e){ret="getSource failed with url: "+url+", exception: "+e.toString()}return ret},findFunctionName:function(source,lineNo){var reFunctionDeclaration=/function\s+([^(]*?)\s*\(([^)]*)\)/;var reFunctionExpression=/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/;var reFunctionEvaluation=/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/;var code="",line,maxLines=Math.min(lineNo,20),m,commentPos;for(var i=0;i<maxLines;++i){line=source[lineNo-i-1];commentPos=line.indexOf("//");if(commentPos>=0){line=line.substr(0,commentPos)}if(line){code=line+code;m=reFunctionExpression.exec(code);if(m&&m[1]){return m[1]}m=reFunctionDeclaration.exec(code);if(m&&m[1]){return m[1]}m=reFunctionEvaluation.exec(code);if(m&&m[1]){return m[1]}}}return"(?)"}};return printStackTrace})},{}],"promise-pipe":[function(require,module,exports){var Promise=Promise||require("es6-promise").Promise;var stackTrace=require("stacktrace-js");var serialize=require("json-stringify-safe");function augumentContext(context,property,value){Object.defineProperty(context,property,{configurable:true,enumerable:false,writable:false,value:value})}function PromisePipeFactory(){function cleanup(data,context){delete context._pipecallId;delete context._env;return data}function PromisePipe(sequence){sequence=sequence||[];function result(data,context){context=context||{};augumentContext(context,"_pipecallId",Math.ceil(Math.random()*Math.pow(10,16)));augumentContext(context,"_env",PromisePipe.env);var _trace={};_trace[context._pipecallId]=[];augumentContext(context,"_trace",_trace);var toConcat=[sequence];if(PromisePipe._mode==="DEBUG"){var debugChain={func:printDebug,_id:ID(),_env:PromisePipe.env};toConcat.push(debugChain)}var cleanupChain={func:cleanup,_id:ID(),_env:PromisePipe.env};toConcat.push(cleanupChain);var chain=[].concat.apply([],toConcat);chain=chain.map(bindTo(context).bindIt.bind(result)).map(function(fn){if(!fn._env){fn._env=PromisePipe.env}return fn});return doit(chain,data,result,context)}function printDebug(data,context){var ln=context._trace[context._pipecallId].length;printDebugChain(context._trace[context._pipecallId].slice(0,ln-1));return data}function printDebugChain(traceLog){var seqIds=sequence.map(function(fn){return fn._id});function showLevel(i,traceLog){var item=traceLog[i];var fnId=seqIds.indexOf(item.chainId);var name="";if(!!~fnId){name=sequence[fnId].name||sequence[fnId]._name}console.group(".then("+name+")["+item.env+"]");console.log("data",item.data&&JSON.parse(item.data));console.log("context",JSON.parse(item.context));if(traceLog[i+1]){showLevel(i+1,traceLog)}console.groupEnd(".then("+name+")")}if(console.group){showLevel(0,traceLog)}else{traceLog.forEach(function(item,i){var shift=new Array(i*4+1).join("");var fnId=seqIds.indexOf(item.chainId);var name="";if(!!~fnId){name=sequence[fnId].name}console.log(shift+".then("+name+")["+item.env+"]");console.log(shift+" data : "+JSON.stringify(item.data));console.log(shift+" context : "+item.context);return result})}}result._id=ID();PromisePipe.pipes[result._id]=sequence;result.then=function(fn){var chain={func:fn,_id:ID(),name:fn.name,_env:fn._env};sequence.push(chain);return result};result.catch=function(fn){var chain={func:fn,_id:ID(),isCatch:true,name:fn.name,_env:fn._env};sequence.push(chain);return result};result.join=function(){var pipers=[].slice.call(arguments);var sequences=pipers.map(function(pipe){return pipe._getSequence()});var newSequence=sequence.concat.apply(sequence,sequences);return PromisePipe(newSequence)};result._getSequence=function(){return sequence};result=Object.keys(PromisePipe.transformations).reduce(function(thePipe,name){var customApi=PromisePipe.transformations[name];customApi._name=name;if(typeof customApi==="object"){thePipe[name]=wrapObjectPromise(customApi,sequence,result)}else{thePipe[name]=wrapPromise(customApi,sequence,result)}return thePipe},result);return result}function wrapObjectPromise(customApi,sequence,result){return Object.keys(customApi).reduce(function(api,apiname){if(apiname.charAt(0)==="_")return api;customApi[apiname]._env=customApi._env;customApi[apiname]._name=customApi._name+"."+apiname;if(typeof customApi[apiname]==="object"){api[apiname]=wrapObjectPromise(customApi[apiname],sequence,result)}else{api[apiname]=wrapPromise(customApi[apiname],sequence,result)}return api},{})}function wrapPromise(transObject,sequence,result){return function(){var args=[].slice.call(arguments);var wrappedFunction=function(data,context){var argumentsToPassInside=[data,context].concat(args);return transObject.apply(result,argumentsToPassInside)};var chain={func:wrappedFunction,_id:ID(),name:transObject._name,_env:transObject._env,isCatch:transObject.isCatch};sequence.push(chain);return result}}PromisePipe.pipes={};PromisePipe._mode="PROD";PromisePipe.setMode=function(mode){PromisePipe._mode=mode};PromisePipe.setEnv=function(env){PromisePipe.env=env};PromisePipe.setEnv("client");PromisePipe.in=function(env){if(!env)throw new Error("You should explicitly specify env");var result=function makeEnv(fn){var ret=fn.bind(null);ret._env=env;return ret};result.do=function doIn(fn){var ret=fn.bind(null);ret._env=env;return ret};return result};PromisePipe.envTransitions={};PromisePipe.envTransition=function(from,to,transition){if(!PromisePipe.envTransitions[from]){PromisePipe.envTransitions[from]={}}PromisePipe.envTransitions[from][to]=transition};PromisePipe.envContextTransformations=function(from,to,transformation){if(!PromisePipe.contextTransformations[from]){PromisePipe.contextTransformations[from]={}}PromisePipe.contextTransformations[from][to]=transformation};PromisePipe.transformations={};PromisePipe.use=function(name,transformation,options){options=options||{};if(!options._env){options._env=PromisePipe.env}PromisePipe.transformations[name]=transformation;Object.keys(options).forEach(function(optname){PromisePipe.transformations[name][optname]=options[optname]})};PromisePipe.messageResolvers={};PromisePipe.stream=function(from,to,processor){return{connector:function(strm){PromisePipe.envTransition(from,to,function(message){strm.send(message);console.log("SENT:",message);return PromisePipe.promiseMessage(message)});strm.listen(function(message){console.log("GOT:",message);var context=message.context;var data=message.data;function end(data){message.context=context;message.data=data;console.log("PROCESSED:",message);strm.send(message)}if(processor){function executor(data,context){message.data=data;message.context=context;return PromisePipe.execTransitionMessage(message)}var localContext={};localContext.__proto__=context;return processor(data,localContext,executor,end)}return PromisePipe.execTransitionMessage(message).then(end)})}}};PromisePipe.promiseMessage=function(message){return new Promise(function(resolve,reject){PromisePipe.messageResolvers[message.call]={resolve:resolve,reject:reject,context:message.context}})};PromisePipe.execTransitionMessage=function execTransitionMessage(message){if(PromisePipe.messageResolvers[message.call]){Object.keys(message.context).reduce(function(ctx,name){ctx[name]=message.context[name];return ctx},PromisePipe.messageResolvers[message.call].context);PromisePipe.messageResolvers[message.call].context._trace[message.call]=message._trace[message.call];if(message.unhandledFail){PromisePipe.messageResolvers[message.call].reject(message.data);delete PromisePipe.messageResolvers[message.call];return{then:function(){}}}PromisePipe.messageResolvers[message.call].resolve(message.data);delete PromisePipe.messageResolvers[message.call];return{then:function(){}}}var context=message.context;context._env=PromisePipe.env;delete context._passChains;augumentContext(context,"_pipecallId",message.call);augumentContext(context,"_trace",message._trace);var sequence=PromisePipe.pipes[message.pipe];var chain=[].concat(sequence);var ids=chain.map(function(el){return el._id});var firstChainIndex=ids.indexOf(message.chains[0]);if(firstChainIndex>0&&sequence[firstChainIndex]._env===sequence[firstChainIndex-1]._env){
console.error("Non-consistent pipe call, message is trying to omit chains");return Promise.reject({error:"Non-consistent pipe call, message is trying to omit chains"}).catch(unhandledCatch)}var newChain=chain.slice(firstChainIndex,ids.indexOf(message.chains[1])+1);newChain=newChain.map(bindTo(context).bindIt);function unhandledCatch(data){message.unhandledFail=data;return data}return doit(newChain,message.data,{_id:message.pipe},context).catch(unhandledCatch)};PromisePipe.createTransitionMessage=function createTransitionMessage(data,context,pipeId,chainId,envBackChainId,callId){return{data:data,context:context,pipe:pipeId,chains:[chainId,envBackChainId],call:callId,_trace:context._trace}};PromisePipe.localContext=function(context){return{execTransitionMessage:function(message){var origContext=message.context;context.__proto__=origContext;message.context=context;return PromisePipe.execTransitionMessage(message).then(function(data){message.context=origContext;return data})},wrap:function(fn){return function(data,origContext){context.__proto__=origContext;return fn(data,context)}}}};function doit(sequence,data,pipe,ctx){return sequence.reduce(function(doWork,funcArr,funcIndex){var systemEnvs={both:{predicate:function(){return funcArr._env==="both"},handler:function(){var toNextEnv=getNameNextEnv(PromisePipe.env);if(!toNextEnv){return function(data){return funcArr(data)}}return function(){return doWork.then(funcArr).then(function(){var msg=PromisePipe.createTransitionMessage(data,ctx,pipe._id,funcArr._id,funcArr._id,ctx._pipecallId);var range=rangeChain(funcArr._id,sequence);ctx._passChains=passChains(range[0]-1,range[0]-1);return PromisePipe.envTransitions[ctx._env][toNextEnv].call(this,msg)})}}},inherit:{predicate:function(){return funcArr._env==="inherit"},handler:function(){funcArr._env=sequence[funcIndex]._env;return funcArr}}};function getNameNextEnv(env){if(!PromisePipe.envTransitions[ctx._env]){return null}return Object.keys(PromisePipe.envTransitions[ctx._env]).reduce(function(nextEnv,name){if(nextEnv){return nextEnv}if(name===env){return nextEnv}if(name!==env){return name}},null)}function getIndexOfNextEnvAppearance(fromIndex,env){return sequence.map(function(el){return el._env}).indexOf(env,fromIndex)}function isSystemTransition(env){return!!systemEnvs[env]}function isValidTransition(funcArr,ctx){var isValid=true;if(!(PromisePipe.envTransitions[ctx._env]&&PromisePipe.envTransitions[ctx._env][funcArr._env])){if(!isSystemTransition(funcArr._env)){isValid=false}}return isValid}function passChains(first,last){return sequence.map(function(el){return el._id}).slice(first,last+1)}function lastChain(first){var index=getIndexOfNextEnvAppearance(first,PromisePipe.env,sequence);return index===-1?sequence.length-1:index-1}function rangeChain(id){var first=getChainIndexById(id,sequence);return[first,lastChain(first,sequence)]}function getChainIndexById(id){return sequence.map(function(el){return el._id}).indexOf(id)}function jump(range){return function(data){var msg=PromisePipe.createTransitionMessage(data,ctx,pipe._id,funcArr._id,sequence[range[1]]._id,ctx._pipecallId);return PromisePipe.envTransitions[ctx._env][funcArr._env].call(this,msg)}}function toNextEnv(){var range=rangeChain(funcArr._id,sequence);ctx._passChains=passChains(range[0],range[1]);if(!isValidTransition(funcArr,ctx)){throw Error("there is no transition "+ctx._env+" to "+funcArr._env)}return jump(range)}function goToNextEnv(){return ctx._env!==funcArr._env}function errorEnhancer(data){if(data instanceof Error&&!data.caughtOnChainId){data.caughtOnChainId=funcArr._id;var trace=stackTrace({e:data});if(funcArr._name){console.log("Failed inside "+funcArr._name)}console.log(data.toString());console.log(trace.join("\n"))}return Promise.reject(data)}function toNextChain(){return function(data){return data}}function skipChain(){if(!ctx._passChains){return false}if(!!~ctx._passChains.indexOf(funcArr._id)){return true}return false}function doOnPropEnv(){return Object.keys(systemEnvs).reduce(function(chain,name){if(chain!==funcArr){return chain}if(systemEnvs[name].predicate(sequence,funcArr)){return systemEnvs[name].handler(sequence,funcArr,funcIndex,ctx)}if(goToNextEnv()&&!skipChain()){return toNextEnv()}if(goToNextEnv()&&skipChain()){return toNextChain()}return chain},funcArr)}if(funcArr&&funcArr.isCatch){return doWork.catch(funcArr)}return doWork.then(doOnPropEnv()).catch(errorEnhancer)},Promise.resolve(data))}function bindTo(that){return{bindIt:function bindIt(chain){var handler=chain.func;var newArgFunc=function(data){if(PromisePipe._mode==="DEBUG"){if(that._pipecallId&&that._trace){var joinedContext=getProtoChain(that).reverse().reduce(join,{});var cleanContext=JSON.parse(serialize(joinedContext));delete cleanContext._passChains;that._trace[that._pipecallId].push({chainId:chain._id,data:serialize(data),context:JSON.stringify(cleanContext),timestamp:Date.now(),env:that._env})}}return handler.call(that,data,that)};newArgFunc._name=chain.name;Object.keys(chain).reduce(function(funObj,key){funObj[key]=chain[key];return funObj},newArgFunc);return newArgFunc}}}function join(result,obj){Object.keys(obj).forEach(function(key){result[key]=obj[key]});return result}function getProtoChain(obj,result){if(!result)result=[];result.push(obj);if(obj.__proto__)return getProtoChain(obj.__proto__,result);return result}var counter=1234567890987;function ID(){counter++;return counter.toString(36).substr(-8)}return PromisePipe}module.exports=PromisePipeFactory},{"es6-promise":2,"json-stringify-safe":3,"stacktrace-js":4}]},{},[]);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 serializeObject(obj){var str;try{str=" "+JSON.stringify(obj)}catch(ex){str=""}return"Object"+str}module.exports=function substituteStrings(args){var results=[];var sub=args[0];if(typeof sub==="string"&&sub.match(/%[idsf]/)){args.shift();while(args.length&&/%[idsf]/.test(sub)){var pos=/%[idsf]/.exec(sub).index;var match=args.shift();var replacement;switch(sub[pos+1]){case"i":case"d":replacement=parseInt(match,10);break;case"s":replacement=match;break;case"f":replacement=parseFloat(match);break}sub=sub.substr(0,pos)+replacement+sub.substr(pos+2)}results.push(sub)}args.forEach(function(arg){if(typeof arg==="object"){results.push(serializeObject(arg))}else{results.push(arg)}});return results.join(" ")}},{}],2:[function(require,module,exports){var inserted={};module.exports=function(css,options){if(inserted[css])return;inserted[css]=true;var elem=document.createElement("style");elem.setAttribute("type","text/css");if("textContent"in elem){elem.textContent=css}else{elem.styleSheet.cssText=css}var head=document.getElementsByTagName("head")[0];if(options&&options.prepend){head.insertBefore(elem,head.childNodes[0])}else{head.appendChild(elem)}}},{}],consoleit:[function(require,module,exports){"use strict";var insertCss=require("insert-css");var substituteStrings=require("./substituteStrings");var element;var elementName;var console=function(name){elementName=name;return console};function actuallyAppendChild(el){element.appendChild(el);element.scrollTop=element.scrollHeight}function insertStyle(){var css="pre.consoleit {margin:0 0 0 20px; position:relative}"+"pre.consoleit:before {position:absolute; left:-15px}"+'pre.consoleit.info:before {content:"\\25CF"; color:#4072B4}'+'pre.consoleit.warn:before {content:"\\25B2"; color:#ffcc09}'+'pre.consoleit.error:before {content:"\\25A0"; color:#ff0909}';insertCss(css)}function determineElement(el){insertStyle();element=elementName?document.getElementById(elementName):document.body;appendChild=actuallyAppendChild;appendChild(el)}var appendChild=determineElement;function outputCommon(method){var args=Array.prototype.slice.call(arguments,1);var text=substituteStrings(args)||" ";var el=document.createElement("pre");el.className="consoleit "+method;el.textContent=text;appendChild(el)}["log","info","warn","error"].forEach(function(method){console[method]=outputCommon.bind(null,method)});module.exports=console},{"./substituteStrings":1,"insert-css":2}]},{},[]);var console=require("consoleit");var PromisePipe=require("promise-pipe")();var action=PromisePipe();action(1).then(showResult);function showResult(result){console.log(result)}
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"promise-pipe": "0.1.5",
"consoleit": "0.0.6"
}
}
<!-- contents of this file will be placed inside the <body> -->
<div id="content"></div>
<!-- contents of this file will be placed inside the <head> -->
<script src="https://fb.me/react-with-addons-0.13.2.js"></script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment