made with requirebin
Created
August 10, 2015 13:16
-
-
Save edjafarov/457d4802d82122d0bf53 to your computer and use it in GitHub Desktop.
requirebin sketch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var console = require("consoleit"); | |
var PromisePipe = require("promise-pipe")(); | |
var action = PromisePipe(); | |
action(1).then(showResult); | |
function showResult(result){ | |
console.log(result) | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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)} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "requirebin-sketch", | |
"version": "1.0.0", | |
"dependencies": { | |
"promise-pipe": "0.1.5", | |
"consoleit": "0.0.6" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- contents of this file will be placed inside the <body> --> | |
<div id="content"></div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- 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