Skip to content

Instantly share code, notes, and snippets.

@n1k0
Created February 20, 2015 15:14
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 n1k0/69f38dad75bc1d248e88 to your computer and use it in GitHub Desktop.
Save n1k0/69f38dad75bc1d248e88 to your computer and use it in GitHub Desktop.
requirebin sketch
var client = require("rest").wrap(require("rest/interceptor/jsonp"));
client({path: 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0', params: { q: 'javascript' } }).then(function (response) {
console.log(response);
});
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(define,location){"use strict";var undef;define(function(require){var mixin,origin,urlRE,absoluteUrlRE,fullyQualifiedUrlRE;mixin=require("./util/mixin");urlRE=/([a-z][a-z0-9\+\-\.]*:)\/\/([^@]+@)?(([^:\/]+)(:([0-9]+))?)?(\/[^?#]*)?(\?[^#]*)?(#\S*)?/i;absoluteUrlRE=/^([a-z][a-z0-9\-\+\.]*:\/\/|\/)/i;fullyQualifiedUrlRE=/([a-z][a-z0-9\+\-\.]*:)\/\/([^@]+@)?(([^:\/]+)(:([0-9]+))?)?\//i;function buildUrl(template,params){var url,name,queryStringParams,re;url=template;queryStringParams={};if(params){for(name in params){re=new RegExp("\\{"+name+"\\}");if(re.test(url)){url=url.replace(re,encodeURIComponent(params[name]),"g")}else{queryStringParams[name]=params[name]}}for(name in queryStringParams){url+=url.indexOf("?")===-1?"?":"&";url+=encodeURIComponent(name);if(queryStringParams[name]!==null&&queryStringParams[name]!==undefined){url+="=";url+=encodeURIComponent(queryStringParams[name])}}}return url}function startsWith(str,test){return str.indexOf(test)===0}function UrlBuilder(template,params){if(!(this instanceof UrlBuilder)){return new UrlBuilder(template,params)}if(template instanceof UrlBuilder){this._template=template.template;this._params=mixin({},this._params,params)}else{this._template=(template||"").toString();this._params=params||{}}}UrlBuilder.prototype={append:function(template,params){return new UrlBuilder(this._template+template,mixin({},this._params,params))},fullyQualify:function(){if(!location){return this}if(this.isFullyQualified()){return this}var template=this._template;if(startsWith(template,"//")){template=origin.protocol+template}else if(startsWith(template,"/")){template=origin.origin+template}else if(!this.isAbsolute()){template=origin.origin+origin.pathname.substring(0,origin.pathname.lastIndexOf("/")+1)}if(template.indexOf("/",8)===-1){template=template+"/"}return new UrlBuilder(template,this._params)},isAbsolute:function(){return absoluteUrlRE.test(this.build())},isFullyQualified:function(){return fullyQualifiedUrlRE.test(this.build())},isCrossOrigin:function(){if(!origin){return true}var url=this.parts();return url.protocol!==origin.protocol||url.hostname!==origin.hostname||url.port!==origin.port},parts:function(){var url,parts;url=this.fullyQualify().build().match(urlRE);parts={href:url[0],protocol:url[1],host:url[3]||"",hostname:url[4]||"",port:url[6],pathname:url[7]||"",search:url[8]||"",hash:url[9]||""};parts.origin=parts.protocol+"//"+parts.host;parts.port=parts.port||(parts.protocol==="https:"?"443":parts.protocol==="http:"?"80":"");return parts},build:function(params){return buildUrl(this._template,mixin({},this._params,params))},toString:function(){return this.build()}};origin=location?new UrlBuilder(location.href).parts():undef;return UrlBuilder})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)},typeof window!=="undefined"?window.location:void 0)},{"./util/mixin":24}],3:[function(require,module,exports){(function(define){"use strict";define(function(){return function client(impl,target){if(target){impl.skip=function skip(){return target}}impl.wrap=function wrap(interceptor,config){return interceptor(impl,config)};impl.chain=function chain(){if(typeof console!=="undefined"){console.log("rest.js: client.chain() is deprecated, use client.wrap() instead")}return impl.wrap.apply(this,arguments)};return impl}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{}],4:[function(require,module,exports){(function(define){"use strict";var undef;define(function(require){var client,target,platformDefault;client=require("../client");function defaultClient(){return target.apply(undef,arguments)}defaultClient.setDefaultClient=function setDefaultClient(client){target=client};defaultClient.getDefaultClient=function getDefaultClient(){return target};defaultClient.resetDefaultClient=function resetDefaultClient(){target=platformDefault};defaultClient.setPlatformDefaultClient=function setPlatformDefaultClient(client){if(platformDefault){throw new Error("Unable to redefine platformDefaultClient")}target=platformDefault=client};return client(defaultClient)})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../client":3}],5:[function(require,module,exports){(function(define,global){"use strict";define(function(require){var when,UrlBuilder,normalizeHeaderName,responsePromise,client,headerSplitRE;when=require("when");UrlBuilder=require("../UrlBuilder");normalizeHeaderName=require("../util/normalizeHeaderName");responsePromise=require("../util/responsePromise");client=require("../client");headerSplitRE=/[\r|\n]+/;function parseHeaders(raw){var headers={};if(!raw){return headers}raw.trim().split(headerSplitRE).forEach(function(header){var boundary,name,value;boundary=header.indexOf(":");name=normalizeHeaderName(header.substring(0,boundary).trim());value=header.substring(boundary+1).trim();if(headers[name]){if(Array.isArray(headers[name])){headers[name].push(value)}else{headers[name]=[headers[name],value]}}else{headers[name]=value}});return headers}function safeMixin(target,source){Object.keys(source||{}).forEach(function(prop){if(source.hasOwnProperty(prop)&&prop in target){try{target[prop]=source[prop]}catch(e){}}});return target}return client(function xhr(request){return responsePromise.promise(function(resolve,reject){var client,method,url,headers,entity,headerName,response,XMLHttpRequest;request=typeof request==="string"?{path:request}:request||{};response={request:request};if(request.canceled){response.error="precanceled";reject(response);return}XMLHttpRequest=request.engine||global.XMLHttpRequest;if(!XMLHttpRequest){reject({request:request,error:"xhr-not-available"});return}entity=request.entity;request.method=request.method||(entity?"POST":"GET");method=request.method;url=new UrlBuilder(request.path||"",request.params).build();try{client=response.raw=new XMLHttpRequest;safeMixin(client,request.mixin);client.open(method,url,true);safeMixin(client,request.mixin);headers=request.headers;for(headerName in headers){if(headerName==="Content-Type"&&headers[headerName]==="multipart/form-data"){continue}client.setRequestHeader(headerName,headers[headerName])}request.canceled=false;request.cancel=function cancel(){request.canceled=true;client.abort();reject(response)};client.onreadystatechange=function(){if(request.canceled){return}if(client.readyState===(XMLHttpRequest.DONE||4)){response.status={code:client.status,text:client.statusText};response.headers=parseHeaders(client.getAllResponseHeaders());response.entity=client.responseText;if(response.status.code>0){resolve(response)}else{setTimeout(function(){resolve(response)},0)}}};try{client.onerror=function(){response.error="loaderror";reject(response)}}catch(e){}client.send(entity)}catch(e){response.error="loaderror";reject(response)}})})})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)},typeof window!=="undefined"?window:void 0)},{"../UrlBuilder":2,"../client":3,"../util/normalizeHeaderName":25,"../util/responsePromise":26,when:23}],6:[function(require,module,exports){(function(define){"use strict";define(function(require){var makePromise=require("./makePromise");var Scheduler=require("./Scheduler");var async=require("./env").asap;return makePromise({scheduler:new Scheduler(async)})})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./Scheduler":7,"./env":19,"./makePromise":21}],7:[function(require,module,exports){(function(define){"use strict";define(function(){function Scheduler(async){this._async=async;this._running=false;this._queue=this;this._queueLen=0;this._afterQueue={};this._afterQueueLen=0;var self=this;this.drain=function(){self._drain()}}Scheduler.prototype.enqueue=function(task){this._queue[this._queueLen++]=task;this.run()};Scheduler.prototype.afterQueue=function(task){this._afterQueue[this._afterQueueLen++]=task;this.run()};Scheduler.prototype.run=function(){if(!this._running){this._running=true;this._async(this.drain)}};Scheduler.prototype._drain=function(){var i=0;for(;i<this._queueLen;++i){this._queue[i].run();this._queue[i]=void 0}this._queueLen=0;this._running=false;for(i=0;i<this._afterQueueLen;++i){this._afterQueue[i].run();this._afterQueue[i]=void 0}this._afterQueueLen=0};return Scheduler})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],8:[function(require,module,exports){(function(define){"use strict";define(function(){function TimeoutError(message){Error.call(this);this.message=message;this.name=TimeoutError.name;if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,TimeoutError)}}TimeoutError.prototype=Object.create(Error.prototype);TimeoutError.prototype.constructor=TimeoutError;return TimeoutError})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],9:[function(require,module,exports){(function(define){"use strict";define(function(){makeApply.tryCatchResolve=tryCatchResolve;return makeApply;function makeApply(Promise,call){if(arguments.length<2){call=tryCatchResolve}return apply;function apply(f,thisArg,args){var p=Promise._defer();var l=args.length;var params=new Array(l);callAndResolve({f:f,thisArg:thisArg,args:args,params:params,i:l-1,call:call},p._handler);return p}function callAndResolve(c,h){if(c.i<0){return call(c.f,c.thisArg,c.params,h)}var handler=Promise._handler(c.args[c.i]);handler.fold(callAndResolveNext,c,void 0,h)}function callAndResolveNext(c,x,h){c.params[c.i]=x;c.i-=1;callAndResolve(c,h)}}function tryCatchResolve(f,thisArg,args,resolver){try{resolver.resolve(f.apply(thisArg,args))}catch(e){resolver.reject(e)}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],10:[function(require,module,exports){(function(define){"use strict";define(function(require){var state=require("../state");var applier=require("../apply");return function array(Promise){var applyFold=applier(Promise);var toPromise=Promise.resolve;var all=Promise.all;var ar=Array.prototype.reduce;var arr=Array.prototype.reduceRight;var slice=Array.prototype.slice;Promise.any=any;Promise.some=some;Promise.settle=settle;Promise.map=map;Promise.filter=filter;Promise.reduce=reduce;Promise.reduceRight=reduceRight;Promise.prototype.spread=function(onFulfilled){return this.then(all).then(function(array){return onFulfilled.apply(this,array)})};return Promise;function any(promises){var p=Promise._defer();var resolver=p._handler;var l=promises.length>>>0;var pending=l;var errors=[];for(var h,x,i=0;i<l;++i){x=promises[i];if(x===void 0&&!(i in promises)){--pending;continue}h=Promise._handler(x);if(h.state()>0){resolver.become(h);Promise._visitRemaining(promises,i,h);break}else{h.visit(resolver,handleFulfill,handleReject)}}if(pending===0){resolver.reject(new RangeError("any(): array must not be empty"))}return p;function handleFulfill(x){errors=null;this.resolve(x)}function handleReject(e){if(this.resolved){return}errors.push(e);if(--pending===0){this.reject(errors)}}}function some(promises,n){var p=Promise._defer();var resolver=p._handler;var results=[];var errors=[];var l=promises.length>>>0;var nFulfill=0;var nReject;var x,i;for(i=0;i<l;++i){x=promises[i];if(x===void 0&&!(i in promises)){continue}++nFulfill}n=Math.max(n,0);nReject=nFulfill-n+1;nFulfill=Math.min(n,nFulfill);if(n>nFulfill){resolver.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+nFulfill))}else if(nFulfill===0){resolver.resolve(results)}for(i=0;i<l;++i){x=promises[i];if(x===void 0&&!(i in promises)){continue}Promise._handler(x).visit(resolver,fulfill,reject,resolver.notify)}return p;function fulfill(x){if(this.resolved){return}results.push(x);if(--nFulfill===0){errors=null;this.resolve(results)}}function reject(e){if(this.resolved){return}errors.push(e);if(--nReject===0){results=null;this.reject(errors)}}}function map(promises,f){return Promise._traverse(f,promises)}function filter(promises,predicate){var a=slice.call(promises);return Promise._traverse(predicate,a).then(function(keep){return filterSync(a,keep)})}function filterSync(promises,keep){var l=keep.length;var filtered=new Array(l);for(var i=0,j=0;i<l;++i){if(keep[i]){filtered[j++]=Promise._handler(promises[i]).value}}filtered.length=j;return filtered}function settle(promises){return all(promises.map(settleOne))}function settleOne(p){var h=Promise._handler(p);if(h.state()===0){return toPromise(p).then(state.fulfilled,state.rejected)}h._unreport();return state.inspect(h)}function reduce(promises,f){return arguments.length>2?ar.call(promises,liftCombine(f),arguments[2]):ar.call(promises,liftCombine(f))}function reduceRight(promises,f){return arguments.length>2?arr.call(promises,liftCombine(f),arguments[2]):arr.call(promises,liftCombine(f))}function liftCombine(f){return function(z,x,i){return applyFold(f,void 0,[z,x,i])}}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../apply":9,"../state":22}],11:[function(require,module,exports){(function(define){"use strict";define(function(){return function flow(Promise){var resolve=Promise.resolve;var reject=Promise.reject;var origCatch=Promise.prototype["catch"];Promise.prototype.done=function(onResult,onError){this._handler.visit(this._handler.receiver,onResult,onError)};Promise.prototype["catch"]=Promise.prototype.otherwise=function(onRejected){if(arguments.length<2){return origCatch.call(this,onRejected)}if(typeof onRejected!=="function"){return this.ensure(rejectInvalidPredicate)}return origCatch.call(this,createCatchFilter(arguments[1],onRejected))};function createCatchFilter(handler,predicate){return function(e){return evaluatePredicate(e,predicate)?handler.call(this,e):reject(e)}}Promise.prototype["finally"]=Promise.prototype.ensure=function(handler){if(typeof handler!=="function"){return this}return this.then(function(x){return runSideEffect(handler,this,identity,x)},function(e){return runSideEffect(handler,this,reject,e)})};function runSideEffect(handler,thisArg,propagate,value){var result=handler.call(thisArg);return maybeThenable(result)?propagateValue(result,propagate,value):propagate(value)}function propagateValue(result,propagate,x){return resolve(result).then(function(){return propagate(x)})}Promise.prototype["else"]=Promise.prototype.orElse=function(defaultValue){return this.then(void 0,function(){return defaultValue})};Promise.prototype["yield"]=function(value){return this.then(function(){return value})};Promise.prototype.tap=function(onFulfilledSideEffect){return this.then(onFulfilledSideEffect)["yield"](this)};return Promise};function rejectInvalidPredicate(){throw new TypeError("catch predicate must be a function")}function evaluatePredicate(e,predicate){return isError(predicate)?e instanceof predicate:predicate(e)}function isError(predicate){return predicate===Error||predicate!=null&&predicate.prototype instanceof Error}function maybeThenable(x){return(typeof x==="object"||typeof x==="function")&&x!==null}function identity(x){return x}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],12:[function(require,module,exports){(function(define){"use strict";define(function(){return function fold(Promise){Promise.prototype.fold=function(f,z){var promise=this._beget();this._handler.fold(function(z,x,to){Promise._handler(z).fold(function(x,z,to){to.resolve(f.call(this,z,x))},x,this,to)},z,promise._handler.receiver,promise._handler);return promise};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],13:[function(require,module,exports){(function(define){"use strict";define(function(require){var inspect=require("../state").inspect;return function inspection(Promise){Promise.prototype.inspect=function(){return inspect(Promise._handler(this))};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../state":22}],14:[function(require,module,exports){(function(define){"use strict";define(function(){return function generate(Promise){var resolve=Promise.resolve;Promise.iterate=iterate;Promise.unfold=unfold;return Promise;function iterate(f,condition,handler,x){return unfold(function(x){return[x,f(x)]},condition,handler,x)}function unfold(unspool,condition,handler,x){return resolve(x).then(function(seed){return resolve(condition(seed)).then(function(done){return done?seed:resolve(unspool(seed)).spread(next)})});function next(item,newSeed){return resolve(handler(item)).then(function(){return unfold(unspool,condition,handler,newSeed)})}}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],15:[function(require,module,exports){(function(define){"use strict";define(function(){return function progress(Promise){Promise.prototype.progress=function(onProgress){return this.then(void 0,void 0,onProgress)};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],16:[function(require,module,exports){(function(define){"use strict";define(function(require){var env=require("../env");var TimeoutError=require("../TimeoutError");function setTimeout(f,ms,x,y){return env.setTimer(function(){f(x,y,ms)},ms)}return function timed(Promise){Promise.prototype.delay=function(ms){var p=this._beget();this._handler.fold(handleDelay,ms,void 0,p._handler);return p};function handleDelay(ms,x,h){setTimeout(resolveDelay,ms,x,h)}function resolveDelay(x,h){h.resolve(x)}Promise.prototype.timeout=function(ms,reason){var p=this._beget();var h=p._handler;var t=setTimeout(onTimeout,ms,reason,p._handler);this._handler.visit(h,function onFulfill(x){env.clearTimer(t);this.resolve(x)},function onReject(x){env.clearTimer(t);this.reject(x)},h.notify);return p};function onTimeout(reason,h,ms){var e=typeof reason==="undefined"?new TimeoutError("timed out after "+ms+"ms"):reason;h.reject(e)}return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../TimeoutError":8,"../env":19}],17:[function(require,module,exports){(function(define){"use strict";define(function(require){var setTimer=require("../env").setTimer;var format=require("../format");return function unhandledRejection(Promise){var logError=noop;var logInfo=noop;var localConsole;if(typeof console!=="undefined"){localConsole=console;logError=typeof localConsole.error!=="undefined"?function(e){localConsole.error(e)}:function(e){localConsole.log(e)};logInfo=typeof localConsole.info!=="undefined"?function(e){localConsole.info(e)}:function(e){localConsole.log(e)}}Promise.onPotentiallyUnhandledRejection=function(rejection){enqueue(report,rejection)};Promise.onPotentiallyUnhandledRejectionHandled=function(rejection){enqueue(unreport,rejection)};Promise.onFatalRejection=function(rejection){enqueue(throwit,rejection.value)};var tasks=[];var reported=[];var running=null;function report(r){if(!r.handled){reported.push(r);logError("Potentially unhandled rejection ["+r.id+"] "+format.formatError(r.value))}}function unreport(r){var i=reported.indexOf(r);if(i>=0){reported.splice(i,1);logInfo("Handled previous rejection ["+r.id+"] "+format.formatObject(r.value))}}function enqueue(f,x){tasks.push(f,x);if(running===null){running=setTimer(flush,0)}}function flush(){running=null;while(tasks.length>0){tasks.shift()(tasks.shift())}}return Promise};function throwit(e){throw e}function noop(){}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../env":19,"../format":20}],18:[function(require,module,exports){(function(define){"use strict";define(function(){return function addWith(Promise){Promise.prototype["with"]=Promise.prototype.withThis=function(receiver){var p=this._beget();var child=p._handler;child.receiver=receiver;this._handler.chain(child,receiver);return p};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],19:[function(require,module,exports){(function(process){(function(define){"use strict";define(function(require){var MutationObs;var capturedSetTimeout=typeof setTimeout!=="undefined"&&setTimeout;var setTimer=function(f,ms){return setTimeout(f,ms)};var clearTimer=function(t){return clearTimeout(t)};var asap=function(f){return capturedSetTimeout(f,0)};if(isNode()){asap=function(f){return process.nextTick(f)}}else if(MutationObs=hasMutationObserver()){asap=initMutationObserver(MutationObs)}else if(!capturedSetTimeout){var vertxRequire=require;var vertx=vertxRequire("vertx");setTimer=function(f,ms){return vertx.setTimer(ms,f)};clearTimer=vertx.cancelTimer;asap=vertx.runOnLoop||vertx.runOnContext}return{setTimer:setTimer,clearTimer:clearTimer,asap:asap};function isNode(){return typeof process!=="undefined"&&process!==null&&typeof process.nextTick==="function"}function hasMutationObserver(){return typeof MutationObserver==="function"&&MutationObserver||typeof WebKitMutationObserver==="function"&&WebKitMutationObserver}function initMutationObserver(MutationObserver){var scheduled;var node=document.createTextNode("");var o=new MutationObserver(run);o.observe(node,{characterData:true});function run(){var f=scheduled;scheduled=void 0;f()}var i=0;return function(f){scheduled=f;node.data=i^=1}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})}).call(this,require("_process"))},{_process:1}],20:[function(require,module,exports){(function(define){"use strict";define(function(){return{formatError:formatError,formatObject:formatObject,tryStringify:tryStringify};function formatError(e){var s=typeof e==="object"&&e!==null&&e.stack?e.stack:formatObject(e);return e instanceof Error?s:s+" (WARNING: non-Error used)"}function formatObject(o){var s=String(o);if(s==="[object Object]"&&typeof JSON!=="undefined"){s=tryStringify(o,s)}return s}function tryStringify(x,defaultValue){try{return JSON.stringify(x)}catch(e){return defaultValue}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],21:[function(require,module,exports){(function(process){(function(define){"use strict";define(function(){return function makePromise(environment){var tasks=environment.scheduler;var emitRejection=initEmitRejection();var objectCreate=Object.create||function(proto){function Child(){}Child.prototype=proto;return new Child};function Promise(resolver,handler){this._handler=resolver===Handler?handler:init(resolver)}function init(resolver){var handler=new Pending;try{resolver(promiseResolve,promiseReject,promiseNotify)}catch(e){promiseReject(e)}return handler;function promiseResolve(x){handler.resolve(x)}function promiseReject(reason){handler.reject(reason)}function promiseNotify(x){handler.notify(x)}}Promise.resolve=resolve;Promise.reject=reject;Promise.never=never;Promise._defer=defer;Promise._handler=getHandler;function resolve(x){return isPromise(x)?x:new Promise(Handler,new Async(getHandler(x)))}function reject(x){return new Promise(Handler,new Async(new Rejected(x)))}function never(){return foreverPendingPromise}function defer(){return new Promise(Handler,new Pending)}Promise.prototype.then=function(onFulfilled,onRejected,onProgress){var parent=this._handler;var state=parent.join().state();if(typeof onFulfilled!=="function"&&state>0||typeof onRejected!=="function"&&state<0){return new this.constructor(Handler,parent)}var p=this._beget();var child=p._handler;parent.chain(child,parent.receiver,onFulfilled,onRejected,onProgress);return p};Promise.prototype["catch"]=function(onRejected){return this.then(void 0,onRejected)};Promise.prototype._beget=function(){return begetFrom(this._handler,this.constructor)};function begetFrom(parent,Promise){var child=new Pending(parent.receiver,parent.join().context);return new Promise(Handler,child)}Promise.all=all;Promise.race=race;Promise._traverse=traverse;function all(promises){return traverseWith(snd,null,promises)}function traverse(f,promises){return traverseWith(tryCatch2,f,promises)}function traverseWith(tryMap,f,promises){var handler=typeof f==="function"?mapAt:settleAt;var resolver=new Pending;var pending=promises.length>>>0;var results=new Array(pending);for(var i=0,x;i<promises.length&&!resolver.resolved;++i){x=promises[i];if(x===void 0&&!(i in promises)){--pending;continue}traverseAt(promises,handler,i,x,resolver)}if(pending===0){resolver.become(new Fulfilled(results))}return new Promise(Handler,resolver);function mapAt(i,x,resolver){if(!resolver.resolved){traverseAt(promises,settleAt,i,tryMap(f,x,i),resolver)}}function settleAt(i,x,resolver){results[i]=x;if(--pending===0){resolver.become(new Fulfilled(results))}}}function traverseAt(promises,handler,i,x,resolver){if(maybeThenable(x)){var h=getHandlerMaybeThenable(x);var s=h.state();if(s===0){h.fold(handler,i,void 0,resolver)}else if(s>0){handler(i,h.value,resolver)}else{resolver.become(h);visitRemaining(promises,i+1,h)}}else{handler(i,x,resolver)}}Promise._visitRemaining=visitRemaining;function visitRemaining(promises,start,handler){for(var i=start;i<promises.length;++i){markAsHandled(getHandler(promises[i]),handler)}}function markAsHandled(h,handler){if(h===handler){return}var s=h.state();if(s===0){h.visit(h,void 0,h._unreport)}else if(s<0){h._unreport()}}function race(promises){if(typeof promises!=="object"||promises===null){return reject(new TypeError("non-iterable passed to race()"))}return promises.length===0?never():promises.length===1?resolve(promises[0]):runRace(promises)}function runRace(promises){var resolver=new Pending;var i,x,h;for(i=0;i<promises.length;++i){x=promises[i];if(x===void 0&&!(i in promises)){continue}h=getHandler(x);if(h.state()!==0){resolver.become(h);visitRemaining(promises,i+1,h);break}else{h.visit(resolver,resolver.resolve,resolver.reject)}}return new Promise(Handler,resolver)}function getHandler(x){if(isPromise(x)){return x._handler.join()}return maybeThenable(x)?getHandlerUntrusted(x):new Fulfilled(x)}function getHandlerMaybeThenable(x){return isPromise(x)?x._handler.join():getHandlerUntrusted(x)}function getHandlerUntrusted(x){try{var untrustedThen=x.then;return typeof untrustedThen==="function"?new Thenable(untrustedThen,x):new Fulfilled(x)}catch(e){return new Rejected(e)}}function Handler(){}Handler.prototype.when=Handler.prototype.become=Handler.prototype.notify=Handler.prototype.fail=Handler.prototype._unreport=Handler.prototype._report=noop;Handler.prototype._state=0;Handler.prototype.state=function(){return this._state};Handler.prototype.join=function(){var h=this;while(h.handler!==void 0){h=h.handler}return h};Handler.prototype.chain=function(to,receiver,fulfilled,rejected,progress){this.when({resolver:to,receiver:receiver,fulfilled:fulfilled,rejected:rejected,progress:progress})};Handler.prototype.visit=function(receiver,fulfilled,rejected,progress){this.chain(failIfRejected,receiver,fulfilled,rejected,progress)};Handler.prototype.fold=function(f,z,c,to){this.when(new Fold(f,z,c,to))};function FailIfRejected(){}inherit(Handler,FailIfRejected);FailIfRejected.prototype.become=function(h){h.fail()};var failIfRejected=new FailIfRejected;function Pending(receiver,inheritedContext){Promise.createContext(this,inheritedContext);this.consumers=void 0;this.receiver=receiver;this.handler=void 0;this.resolved=false}inherit(Handler,Pending);Pending.prototype._state=0;Pending.prototype.resolve=function(x){this.become(getHandler(x))};Pending.prototype.reject=function(x){if(this.resolved){return}this.become(new Rejected(x))};Pending.prototype.join=function(){if(!this.resolved){return this}var h=this;while(h.handler!==void 0){h=h.handler;if(h===this){return this.handler=cycle()}}return h};Pending.prototype.run=function(){var q=this.consumers;var handler=this.handler;this.handler=this.handler.join();this.consumers=void 0;for(var i=0;i<q.length;++i){handler.when(q[i])}};Pending.prototype.become=function(handler){if(this.resolved){return}this.resolved=true;this.handler=handler;if(this.consumers!==void 0){tasks.enqueue(this)}if(this.context!==void 0){handler._report(this.context)}};Pending.prototype.when=function(continuation){if(this.resolved){tasks.enqueue(new ContinuationTask(continuation,this.handler))}else{if(this.consumers===void 0){this.consumers=[continuation]}else{this.consumers.push(continuation)}}};Pending.prototype.notify=function(x){if(!this.resolved){tasks.enqueue(new ProgressTask(x,this))}};Pending.prototype.fail=function(context){var c=typeof context==="undefined"?this.context:context;this.resolved&&this.handler.join().fail(c)};Pending.prototype._report=function(context){this.resolved&&this.handler.join()._report(context)};Pending.prototype._unreport=function(){this.resolved&&this.handler.join()._unreport()};function Async(handler){this.handler=handler}inherit(Handler,Async);Async.prototype.when=function(continuation){tasks.enqueue(new ContinuationTask(continuation,this))};Async.prototype._report=function(context){this.join()._report(context)};Async.prototype._unreport=function(){this.join()._unreport()};function Thenable(then,thenable){Pending.call(this);tasks.enqueue(new AssimilateTask(then,thenable,this))}inherit(Pending,Thenable);function Fulfilled(x){Promise.createContext(this);this.value=x}inherit(Handler,Fulfilled);Fulfilled.prototype._state=1;Fulfilled.prototype.fold=function(f,z,c,to){runContinuation3(f,z,this,c,to)};Fulfilled.prototype.when=function(cont){runContinuation1(cont.fulfilled,this,cont.receiver,cont.resolver)};var errorId=0;function Rejected(x){Promise.createContext(this);this.id=++errorId;this.value=x;this.handled=false;this.reported=false;this._report()}inherit(Handler,Rejected);Rejected.prototype._state=-1;Rejected.prototype.fold=function(f,z,c,to){to.become(this)};Rejected.prototype.when=function(cont){if(typeof cont.rejected==="function"){this._unreport()
}runContinuation1(cont.rejected,this,cont.receiver,cont.resolver)};Rejected.prototype._report=function(context){tasks.afterQueue(new ReportTask(this,context))};Rejected.prototype._unreport=function(){if(this.handled){return}this.handled=true;tasks.afterQueue(new UnreportTask(this))};Rejected.prototype.fail=function(context){this.reported=true;emitRejection("unhandledRejection",this);Promise.onFatalRejection(this,context===void 0?this.context:context)};function ReportTask(rejection,context){this.rejection=rejection;this.context=context}ReportTask.prototype.run=function(){if(!this.rejection.handled&&!this.rejection.reported){this.rejection.reported=true;emitRejection("unhandledRejection",this.rejection)||Promise.onPotentiallyUnhandledRejection(this.rejection,this.context)}};function UnreportTask(rejection){this.rejection=rejection}UnreportTask.prototype.run=function(){if(this.rejection.reported){emitRejection("rejectionHandled",this.rejection)||Promise.onPotentiallyUnhandledRejectionHandled(this.rejection)}};Promise.createContext=Promise.enterContext=Promise.exitContext=Promise.onPotentiallyUnhandledRejection=Promise.onPotentiallyUnhandledRejectionHandled=Promise.onFatalRejection=noop;var foreverPendingHandler=new Handler;var foreverPendingPromise=new Promise(Handler,foreverPendingHandler);function cycle(){return new Rejected(new TypeError("Promise cycle"))}function ContinuationTask(continuation,handler){this.continuation=continuation;this.handler=handler}ContinuationTask.prototype.run=function(){this.handler.join().when(this.continuation)};function ProgressTask(value,handler){this.handler=handler;this.value=value}ProgressTask.prototype.run=function(){var q=this.handler.consumers;if(q===void 0){return}for(var c,i=0;i<q.length;++i){c=q[i];runNotify(c.progress,this.value,this.handler,c.receiver,c.resolver)}};function AssimilateTask(then,thenable,resolver){this._then=then;this.thenable=thenable;this.resolver=resolver}AssimilateTask.prototype.run=function(){var h=this.resolver;tryAssimilate(this._then,this.thenable,_resolve,_reject,_notify);function _resolve(x){h.resolve(x)}function _reject(x){h.reject(x)}function _notify(x){h.notify(x)}};function tryAssimilate(then,thenable,resolve,reject,notify){try{then.call(thenable,resolve,reject,notify)}catch(e){reject(e)}}function Fold(f,z,c,to){this.f=f;this.z=z;this.c=c;this.to=to;this.resolver=failIfRejected;this.receiver=this}Fold.prototype.fulfilled=function(x){this.f.call(this.c,this.z,x,this.to)};Fold.prototype.rejected=function(x){this.to.reject(x)};Fold.prototype.progress=function(x){this.to.notify(x)};function isPromise(x){return x instanceof Promise}function maybeThenable(x){return(typeof x==="object"||typeof x==="function")&&x!==null}function runContinuation1(f,h,receiver,next){if(typeof f!=="function"){return next.become(h)}Promise.enterContext(h);tryCatchReject(f,h.value,receiver,next);Promise.exitContext()}function runContinuation3(f,x,h,receiver,next){if(typeof f!=="function"){return next.become(h)}Promise.enterContext(h);tryCatchReject3(f,x,h.value,receiver,next);Promise.exitContext()}function runNotify(f,x,h,receiver,next){if(typeof f!=="function"){return next.notify(x)}Promise.enterContext(h);tryCatchReturn(f,x,receiver,next);Promise.exitContext()}function tryCatch2(f,a,b){try{return f(a,b)}catch(e){return reject(e)}}function tryCatchReject(f,x,thisArg,next){try{next.become(getHandler(f.call(thisArg,x)))}catch(e){next.become(new Rejected(e))}}function tryCatchReject3(f,x,y,thisArg,next){try{f.call(thisArg,x,y,next)}catch(e){next.become(new Rejected(e))}}function tryCatchReturn(f,x,thisArg,next){try{next.notify(f.call(thisArg,x))}catch(e){next.notify(e)}}function inherit(Parent,Child){Child.prototype=objectCreate(Parent.prototype);Child.prototype.constructor=Child}function snd(x,y){return y}function noop(){}function initEmitRejection(){if(typeof process!=="undefined"&&process!==null&&typeof process.emit==="function"){return function(type,rejection){return type==="unhandledRejection"?process.emit(type,rejection.value,rejection):process.emit(type,rejection)}}else if(typeof self!=="undefined"&&typeof CustomEvent==="function"){return function(noop,self,CustomEvent){var hasCustomEvent=false;try{var ev=new CustomEvent("unhandledRejection");hasCustomEvent=ev instanceof CustomEvent}catch(e){}return!hasCustomEvent?noop:function(type,rejection){var ev=new CustomEvent(type,{detail:{reason:rejection.value,key:rejection},bubbles:false,cancelable:true});return!self.dispatchEvent(ev)}}(noop,self,CustomEvent)}return noop}return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})}).call(this,require("_process"))},{_process:1}],22:[function(require,module,exports){(function(define){"use strict";define(function(){return{pending:toPendingState,fulfilled:toFulfilledState,rejected:toRejectedState,inspect:inspect};function toPendingState(){return{state:"pending"}}function toRejectedState(e){return{state:"rejected",reason:e}}function toFulfilledState(x){return{state:"fulfilled",value:x}}function inspect(handler){var state=handler.state();return state===0?toPendingState():state>0?toFulfilledState(handler.value):toRejectedState(handler.value)}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],23:[function(require,module,exports){(function(define){"use strict";define(function(require){var timed=require("./lib/decorators/timed");var array=require("./lib/decorators/array");var flow=require("./lib/decorators/flow");var fold=require("./lib/decorators/fold");var inspect=require("./lib/decorators/inspect");var generate=require("./lib/decorators/iterate");var progress=require("./lib/decorators/progress");var withThis=require("./lib/decorators/with");var unhandledRejection=require("./lib/decorators/unhandledRejection");var TimeoutError=require("./lib/TimeoutError");var Promise=[array,flow,fold,generate,progress,inspect,withThis,timed,unhandledRejection].reduce(function(Promise,feature){return feature(Promise)},require("./lib/Promise"));var apply=require("./lib/apply")(Promise);when.promise=promise;when.resolve=Promise.resolve;when.reject=Promise.reject;when.lift=lift;when["try"]=attempt;when.attempt=attempt;when.iterate=Promise.iterate;when.unfold=Promise.unfold;when.join=join;when.all=all;when.settle=settle;when.any=lift(Promise.any);when.some=lift(Promise.some);when.race=lift(Promise.race);when.map=map;when.filter=filter;when.reduce=lift(Promise.reduce);when.reduceRight=lift(Promise.reduceRight);when.isPromiseLike=isPromiseLike;when.Promise=Promise;when.defer=defer;when.TimeoutError=TimeoutError;function when(x,onFulfilled,onRejected,onProgress){var p=Promise.resolve(x);if(arguments.length<2){return p}return p.then(onFulfilled,onRejected,onProgress)}function promise(resolver){return new Promise(resolver)}function lift(f){return function(){for(var i=0,l=arguments.length,a=new Array(l);i<l;++i){a[i]=arguments[i]}return apply(f,this,a)}}function attempt(f){for(var i=0,l=arguments.length-1,a=new Array(l);i<l;++i){a[i]=arguments[i+1]}return apply(f,this,a)}function defer(){return new Deferred}function Deferred(){var p=Promise._defer();function resolve(x){p._handler.resolve(x)}function reject(x){p._handler.reject(x)}function notify(x){p._handler.notify(x)}this.promise=p;this.resolve=resolve;this.reject=reject;this.notify=notify;this.resolver={resolve:resolve,reject:reject,notify:notify}}function isPromiseLike(x){return x&&typeof x.then==="function"}function join(){return Promise.all(arguments)}function all(promises){return when(promises,Promise.all)}function settle(promises){return when(promises,Promise.settle)}function map(promises,mapFunc){return when(promises,function(promises){return Promise.map(promises,mapFunc)})}function filter(promises,predicate){return when(promises,function(promises){return Promise.filter(promises,predicate)})}return when})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./lib/Promise":6,"./lib/TimeoutError":8,"./lib/apply":9,"./lib/decorators/array":10,"./lib/decorators/flow":11,"./lib/decorators/fold":12,"./lib/decorators/inspect":13,"./lib/decorators/iterate":14,"./lib/decorators/progress":15,"./lib/decorators/timed":16,"./lib/decorators/unhandledRejection":17,"./lib/decorators/with":18}],24:[function(require,module,exports){(function(define){"use strict";define(function(){var empty={};function mixin(dest){var i,l,source,name;if(!dest){dest={}}for(i=1,l=arguments.length;i<l;i+=1){source=arguments[i];for(name in source){if(!(name in dest)||dest[name]!==source[name]&&(!(name in empty)||empty[name]!==source[name])){dest[name]=source[name]}}}return dest}return mixin})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{}],25:[function(require,module,exports){(function(define){"use strict";define(function(){function normalizeHeaderName(name){return name.toLowerCase().split("-").map(function(chunk){return chunk.charAt(0).toUpperCase()+chunk.slice(1)}).join("-")}return normalizeHeaderName})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{}],26:[function(require,module,exports){(function(define){"use strict";define(function(require){var when=require("when"),normalizeHeaderName=require("./normalizeHeaderName");function property(promise,name){return promise.then(function(value){return value&&value[name]},function(value){return when.reject(value&&value[name])})}function entity(){return property(this,"entity")}function status(){return property(property(this,"status"),"code")}function headers(){return property(this,"headers")}function header(headerName){headerName=normalizeHeaderName(headerName);return property(this.headers(),headerName)}function follow(rels){rels=[].concat(rels);return make(when.reduce(rels,function(response,rel){if(typeof rel==="string"){rel={rel:rel}}if(typeof response.entity.clientFor!=="function"){throw new Error("Hypermedia response expected")}var client=response.entity.clientFor(rel.rel);return client({params:rel.params})},this))}function make(promise){promise.status=status;promise.headers=headers;promise.header=header;promise.entity=entity;promise.follow=follow;return promise}function responsePromise(){return make(when.apply(when,arguments))}responsePromise.make=make;responsePromise.reject=function(val){return make(when.reject(val))};responsePromise.promise=function(func){return make(when.promise(func))};return responsePromise})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./normalizeHeaderName":25,when:23}],rest:[function(require,module,exports){(function(define){"use strict";define(function(require){var rest=require("./client/default"),browser=require("./client/xhr");rest.setPlatformDefaultClient(browser);return rest})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./client/default":4,"./client/xhr":5}]},{},[]);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(define,location){"use strict";var undef;define(function(require){var mixin,origin,urlRE,absoluteUrlRE,fullyQualifiedUrlRE;mixin=require("./util/mixin");urlRE=/([a-z][a-z0-9\+\-\.]*:)\/\/([^@]+@)?(([^:\/]+)(:([0-9]+))?)?(\/[^?#]*)?(\?[^#]*)?(#\S*)?/i;absoluteUrlRE=/^([a-z][a-z0-9\-\+\.]*:\/\/|\/)/i;fullyQualifiedUrlRE=/([a-z][a-z0-9\+\-\.]*:)\/\/([^@]+@)?(([^:\/]+)(:([0-9]+))?)?\//i;function buildUrl(template,params){var url,name,queryStringParams,re;url=template;queryStringParams={};if(params){for(name in params){re=new RegExp("\\{"+name+"\\}");if(re.test(url)){url=url.replace(re,encodeURIComponent(params[name]),"g")}else{queryStringParams[name]=params[name]}}for(name in queryStringParams){url+=url.indexOf("?")===-1?"?":"&";url+=encodeURIComponent(name);if(queryStringParams[name]!==null&&queryStringParams[name]!==undefined){url+="=";url+=encodeURIComponent(queryStringParams[name])}}}return url}function startsWith(str,test){return str.indexOf(test)===0}function UrlBuilder(template,params){if(!(this instanceof UrlBuilder)){return new UrlBuilder(template,params)}if(template instanceof UrlBuilder){this._template=template.template;this._params=mixin({},this._params,params)}else{this._template=(template||"").toString();this._params=params||{}}}UrlBuilder.prototype={append:function(template,params){return new UrlBuilder(this._template+template,mixin({},this._params,params))},fullyQualify:function(){if(!location){return this}if(this.isFullyQualified()){return this}var template=this._template;if(startsWith(template,"//")){template=origin.protocol+template}else if(startsWith(template,"/")){template=origin.origin+template}else if(!this.isAbsolute()){template=origin.origin+origin.pathname.substring(0,origin.pathname.lastIndexOf("/")+1)}if(template.indexOf("/",8)===-1){template=template+"/"}return new UrlBuilder(template,this._params)},isAbsolute:function(){return absoluteUrlRE.test(this.build())},isFullyQualified:function(){return fullyQualifiedUrlRE.test(this.build())},isCrossOrigin:function(){if(!origin){return true}var url=this.parts();return url.protocol!==origin.protocol||url.hostname!==origin.hostname||url.port!==origin.port},parts:function(){var url,parts;url=this.fullyQualify().build().match(urlRE);parts={href:url[0],protocol:url[1],host:url[3]||"",hostname:url[4]||"",port:url[6],pathname:url[7]||"",search:url[8]||"",hash:url[9]||""};parts.origin=parts.protocol+"//"+parts.host;parts.port=parts.port||(parts.protocol==="https:"?"443":parts.protocol==="http:"?"80":"");return parts},build:function(params){return buildUrl(this._template,mixin({},this._params,params))},toString:function(){return this.build()}};origin=location?new UrlBuilder(location.href).parts():undef;return UrlBuilder})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)},typeof window!=="undefined"?window.location:void 0)},{"./util/mixin":25}],3:[function(require,module,exports){(function(define){"use strict";define(function(){return function client(impl,target){if(target){impl.skip=function skip(){return target}}impl.wrap=function wrap(interceptor,config){return interceptor(impl,config)};impl.chain=function chain(){if(typeof console!=="undefined"){console.log("rest.js: client.chain() is deprecated, use client.wrap() instead")}return impl.wrap.apply(this,arguments)};return impl}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{}],4:[function(require,module,exports){(function(define){"use strict";var undef;define(function(require){var client,target,platformDefault;client=require("../client");function defaultClient(){return target.apply(undef,arguments)}defaultClient.setDefaultClient=function setDefaultClient(client){target=client};defaultClient.getDefaultClient=function getDefaultClient(){return target};defaultClient.resetDefaultClient=function resetDefaultClient(){target=platformDefault};defaultClient.setPlatformDefaultClient=function setPlatformDefaultClient(client){if(platformDefault){throw new Error("Unable to redefine platformDefaultClient")}target=platformDefault=client};return client(defaultClient)})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../client":3}],5:[function(require,module,exports){(function(define,global,document){"use strict";var undef;define(function(require){var when,UrlBuilder,responsePromise,client;when=require("when");UrlBuilder=require("../UrlBuilder");responsePromise=require("../util/responsePromise");client=require("../client");function clearProperty(scope,propertyName){try{delete scope[propertyName]}catch(e){if(propertyName in scope){scope[propertyName]=undef}}}function cleanupScriptNode(response){try{if(response.raw&&response.raw.parentNode){response.raw.parentNode.removeChild(response.raw)}}catch(e){}}function registerCallback(prefix,resolve,response,name){if(!name){do{name=prefix+Math.floor((new Date).getTime()*Math.random())}while(name in global)}global[name]=function jsonpCallback(data){response.entity=data;clearProperty(global,name);cleanupScriptNode(response);if(!response.request.canceled){resolve(response)}};return name}return client(function jsonp(request){return responsePromise.promise(function(resolve,reject){var callbackName,callbackParams,script,firstScript,response;request=typeof request==="string"?{path:request}:request||{};response={request:request};if(request.canceled){response.error="precanceled";reject(response);return}request.callback=request.callback||{};callbackName=registerCallback(request.callback.prefix||"jsonp",resolve,response,request.callback.name);callbackParams={};callbackParams[request.callback.param||"callback"]=callbackName;request.canceled=false;request.cancel=function cancel(){request.canceled=true;cleanupScriptNode(response);reject(response)};script=document.createElement("script");script.type="text/javascript";script.async=true;script.src=new UrlBuilder(request.path,request.params).build(callbackParams);function handlePossibleError(){if(typeof global[callbackName]==="function"){response.error="loaderror";clearProperty(global,callbackName);cleanupScriptNode(response);reject(response)}}script.onerror=function(){handlePossibleError()};script.onload=script.onreadystatechange=function(e){if(e&&(e.type==="load"||e.type==="error")||script.readyState==="loaded"){handlePossibleError()}};response.raw=script;firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(script,firstScript)})})})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)},typeof window!=="undefined"?window:void 0,typeof document!=="undefined"?document:void 0)},{"../UrlBuilder":2,"../client":3,"../util/responsePromise":27,when:24}],6:[function(require,module,exports){(function(define){"use strict";define(function(require){var defaultClient,mixin,responsePromise,client,when;defaultClient=require("./client/default");mixin=require("./util/mixin");responsePromise=require("./util/responsePromise");client=require("./client");when=require("when");function defaultInitHandler(config){return config}function defaultRequestHandler(request){return request}function defaultResponseHandler(response){return response}function race(promisesOrValues){return when.promise(function(resolve,reject){promisesOrValues.forEach(function(promiseOrValue){when(promiseOrValue,resolve,reject)})})}function ComplexRequest(properties){if(!(this instanceof ComplexRequest)){return new ComplexRequest(properties)}mixin(this,properties)}function interceptor(handlers){var initHandler,requestHandler,successResponseHandler,errorResponseHandler;handlers=handlers||{};initHandler=handlers.init||defaultInitHandler;requestHandler=handlers.request||defaultRequestHandler;successResponseHandler=handlers.success||handlers.response||defaultResponseHandler;errorResponseHandler=handlers.error||function(){return when((handlers.response||defaultResponseHandler).apply(this,arguments),when.reject,when.reject)};return function(target,config){if(typeof target==="object"){config=target}if(typeof target!=="function"){target=handlers.client||defaultClient}config=initHandler(config||{});function interceptedClient(request){var context,meta;context={};meta={arguments:Array.prototype.slice.call(arguments),client:interceptedClient};request=typeof request==="string"?{path:request}:request||{};request.originator=request.originator||interceptedClient;return responsePromise(requestHandler.call(context,request,config,meta),function(request){var response,abort,next;next=target;if(request instanceof ComplexRequest){abort=request.abort;next=request.client||next;response=request.response;request=request.request}response=response||when(request,function(request){return when(next(request),function(response){return successResponseHandler.call(context,response,config,meta)},function(response){return errorResponseHandler.call(context,response,config,meta)})});return abort?race([response,abort]):response},function(error){return when.reject({request:request,error:error})})}return client(interceptedClient,target)}}interceptor.ComplexRequest=ComplexRequest;return interceptor})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./client":3,"./client/default":4,"./util/mixin":25,"./util/responsePromise":27,when:24}],7:[function(require,module,exports){(function(define){"use strict";define(function(require){var makePromise=require("./makePromise");var Scheduler=require("./Scheduler");var async=require("./env").asap;return makePromise({scheduler:new Scheduler(async)})})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./Scheduler":8,"./env":20,"./makePromise":22}],8:[function(require,module,exports){(function(define){"use strict";define(function(){function Scheduler(async){this._async=async;this._running=false;this._queue=this;this._queueLen=0;this._afterQueue={};this._afterQueueLen=0;var self=this;this.drain=function(){self._drain()}}Scheduler.prototype.enqueue=function(task){this._queue[this._queueLen++]=task;this.run()};Scheduler.prototype.afterQueue=function(task){this._afterQueue[this._afterQueueLen++]=task;this.run()};Scheduler.prototype.run=function(){if(!this._running){this._running=true;this._async(this.drain)}};Scheduler.prototype._drain=function(){var i=0;for(;i<this._queueLen;++i){this._queue[i].run();this._queue[i]=void 0}this._queueLen=0;this._running=false;for(i=0;i<this._afterQueueLen;++i){this._afterQueue[i].run();this._afterQueue[i]=void 0}this._afterQueueLen=0};return Scheduler})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],9:[function(require,module,exports){(function(define){"use strict";define(function(){function TimeoutError(message){Error.call(this);this.message=message;this.name=TimeoutError.name;if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,TimeoutError)}}TimeoutError.prototype=Object.create(Error.prototype);TimeoutError.prototype.constructor=TimeoutError;return TimeoutError})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],10:[function(require,module,exports){(function(define){"use strict";define(function(){makeApply.tryCatchResolve=tryCatchResolve;return makeApply;function makeApply(Promise,call){if(arguments.length<2){call=tryCatchResolve}return apply;function apply(f,thisArg,args){var p=Promise._defer();var l=args.length;var params=new Array(l);callAndResolve({f:f,thisArg:thisArg,args:args,params:params,i:l-1,call:call},p._handler);return p}function callAndResolve(c,h){if(c.i<0){return call(c.f,c.thisArg,c.params,h)}var handler=Promise._handler(c.args[c.i]);handler.fold(callAndResolveNext,c,void 0,h)}function callAndResolveNext(c,x,h){c.params[c.i]=x;c.i-=1;callAndResolve(c,h)}}function tryCatchResolve(f,thisArg,args,resolver){try{resolver.resolve(f.apply(thisArg,args))}catch(e){resolver.reject(e)}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],11:[function(require,module,exports){(function(define){"use strict";define(function(require){var state=require("../state");var applier=require("../apply");return function array(Promise){var applyFold=applier(Promise);var toPromise=Promise.resolve;var all=Promise.all;var ar=Array.prototype.reduce;var arr=Array.prototype.reduceRight;var slice=Array.prototype.slice;Promise.any=any;Promise.some=some;Promise.settle=settle;Promise.map=map;Promise.filter=filter;Promise.reduce=reduce;Promise.reduceRight=reduceRight;Promise.prototype.spread=function(onFulfilled){return this.then(all).then(function(array){return onFulfilled.apply(this,array)})};return Promise;function any(promises){var p=Promise._defer();var resolver=p._handler;var l=promises.length>>>0;var pending=l;var errors=[];for(var h,x,i=0;i<l;++i){x=promises[i];if(x===void 0&&!(i in promises)){--pending;continue}h=Promise._handler(x);if(h.state()>0){resolver.become(h);Promise._visitRemaining(promises,i,h);break}else{h.visit(resolver,handleFulfill,handleReject)}}if(pending===0){resolver.reject(new RangeError("any(): array must not be empty"))}return p;function handleFulfill(x){errors=null;this.resolve(x)}function handleReject(e){if(this.resolved){return}errors.push(e);if(--pending===0){this.reject(errors)}}}function some(promises,n){var p=Promise._defer();var resolver=p._handler;var results=[];var errors=[];var l=promises.length>>>0;var nFulfill=0;var nReject;var x,i;for(i=0;i<l;++i){x=promises[i];if(x===void 0&&!(i in promises)){continue}++nFulfill}n=Math.max(n,0);nReject=nFulfill-n+1;nFulfill=Math.min(n,nFulfill);if(n>nFulfill){resolver.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+nFulfill))}else if(nFulfill===0){resolver.resolve(results)}for(i=0;i<l;++i){x=promises[i];if(x===void 0&&!(i in promises)){continue}Promise._handler(x).visit(resolver,fulfill,reject,resolver.notify)}return p;function fulfill(x){if(this.resolved){return}results.push(x);if(--nFulfill===0){errors=null;this.resolve(results)}}function reject(e){if(this.resolved){return}errors.push(e);if(--nReject===0){results=null;this.reject(errors)}}}function map(promises,f){return Promise._traverse(f,promises)}function filter(promises,predicate){var a=slice.call(promises);return Promise._traverse(predicate,a).then(function(keep){return filterSync(a,keep)})}function filterSync(promises,keep){var l=keep.length;var filtered=new Array(l);for(var i=0,j=0;i<l;++i){if(keep[i]){filtered[j++]=Promise._handler(promises[i]).value}}filtered.length=j;return filtered}function settle(promises){return all(promises.map(settleOne))}function settleOne(p){var h=Promise._handler(p);if(h.state()===0){return toPromise(p).then(state.fulfilled,state.rejected)}h._unreport();return state.inspect(h)}function reduce(promises,f){return arguments.length>2?ar.call(promises,liftCombine(f),arguments[2]):ar.call(promises,liftCombine(f))}function reduceRight(promises,f){return arguments.length>2?arr.call(promises,liftCombine(f),arguments[2]):arr.call(promises,liftCombine(f))}function liftCombine(f){return function(z,x,i){return applyFold(f,void 0,[z,x,i])}}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../apply":10,"../state":23}],12:[function(require,module,exports){(function(define){"use strict";define(function(){return function flow(Promise){var resolve=Promise.resolve;var reject=Promise.reject;var origCatch=Promise.prototype["catch"];Promise.prototype.done=function(onResult,onError){this._handler.visit(this._handler.receiver,onResult,onError)};Promise.prototype["catch"]=Promise.prototype.otherwise=function(onRejected){if(arguments.length<2){return origCatch.call(this,onRejected)}if(typeof onRejected!=="function"){return this.ensure(rejectInvalidPredicate)}return origCatch.call(this,createCatchFilter(arguments[1],onRejected))};function createCatchFilter(handler,predicate){return function(e){return evaluatePredicate(e,predicate)?handler.call(this,e):reject(e)}}Promise.prototype["finally"]=Promise.prototype.ensure=function(handler){if(typeof handler!=="function"){return this}return this.then(function(x){return runSideEffect(handler,this,identity,x)},function(e){return runSideEffect(handler,this,reject,e)})};function runSideEffect(handler,thisArg,propagate,value){var result=handler.call(thisArg);return maybeThenable(result)?propagateValue(result,propagate,value):propagate(value)}function propagateValue(result,propagate,x){return resolve(result).then(function(){return propagate(x)})}Promise.prototype["else"]=Promise.prototype.orElse=function(defaultValue){return this.then(void 0,function(){return defaultValue})};Promise.prototype["yield"]=function(value){return this.then(function(){return value})};Promise.prototype.tap=function(onFulfilledSideEffect){return this.then(onFulfilledSideEffect)["yield"](this)};return Promise};function rejectInvalidPredicate(){throw new TypeError("catch predicate must be a function")}function evaluatePredicate(e,predicate){return isError(predicate)?e instanceof predicate:predicate(e)}function isError(predicate){return predicate===Error||predicate!=null&&predicate.prototype instanceof Error}function maybeThenable(x){return(typeof x==="object"||typeof x==="function")&&x!==null}function identity(x){return x}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],13:[function(require,module,exports){(function(define){"use strict";define(function(){return function fold(Promise){Promise.prototype.fold=function(f,z){var promise=this._beget();this._handler.fold(function(z,x,to){Promise._handler(z).fold(function(x,z,to){to.resolve(f.call(this,z,x))},x,this,to)},z,promise._handler.receiver,promise._handler);return promise};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],14:[function(require,module,exports){(function(define){"use strict";define(function(require){var inspect=require("../state").inspect;return function inspection(Promise){Promise.prototype.inspect=function(){return inspect(Promise._handler(this))};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../state":23}],15:[function(require,module,exports){(function(define){"use strict";define(function(){return function generate(Promise){var resolve=Promise.resolve;Promise.iterate=iterate;Promise.unfold=unfold;return Promise;function iterate(f,condition,handler,x){return unfold(function(x){return[x,f(x)]},condition,handler,x)}function unfold(unspool,condition,handler,x){return resolve(x).then(function(seed){return resolve(condition(seed)).then(function(done){return done?seed:resolve(unspool(seed)).spread(next)})});function next(item,newSeed){return resolve(handler(item)).then(function(){return unfold(unspool,condition,handler,newSeed)
})}}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],16:[function(require,module,exports){(function(define){"use strict";define(function(){return function progress(Promise){Promise.prototype.progress=function(onProgress){return this.then(void 0,void 0,onProgress)};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],17:[function(require,module,exports){(function(define){"use strict";define(function(require){var env=require("../env");var TimeoutError=require("../TimeoutError");function setTimeout(f,ms,x,y){return env.setTimer(function(){f(x,y,ms)},ms)}return function timed(Promise){Promise.prototype.delay=function(ms){var p=this._beget();this._handler.fold(handleDelay,ms,void 0,p._handler);return p};function handleDelay(ms,x,h){setTimeout(resolveDelay,ms,x,h)}function resolveDelay(x,h){h.resolve(x)}Promise.prototype.timeout=function(ms,reason){var p=this._beget();var h=p._handler;var t=setTimeout(onTimeout,ms,reason,p._handler);this._handler.visit(h,function onFulfill(x){env.clearTimer(t);this.resolve(x)},function onReject(x){env.clearTimer(t);this.reject(x)},h.notify);return p};function onTimeout(reason,h,ms){var e=typeof reason==="undefined"?new TimeoutError("timed out after "+ms+"ms"):reason;h.reject(e)}return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../TimeoutError":9,"../env":20}],18:[function(require,module,exports){(function(define){"use strict";define(function(require){var setTimer=require("../env").setTimer;var format=require("../format");return function unhandledRejection(Promise){var logError=noop;var logInfo=noop;var localConsole;if(typeof console!=="undefined"){localConsole=console;logError=typeof localConsole.error!=="undefined"?function(e){localConsole.error(e)}:function(e){localConsole.log(e)};logInfo=typeof localConsole.info!=="undefined"?function(e){localConsole.info(e)}:function(e){localConsole.log(e)}}Promise.onPotentiallyUnhandledRejection=function(rejection){enqueue(report,rejection)};Promise.onPotentiallyUnhandledRejectionHandled=function(rejection){enqueue(unreport,rejection)};Promise.onFatalRejection=function(rejection){enqueue(throwit,rejection.value)};var tasks=[];var reported=[];var running=null;function report(r){if(!r.handled){reported.push(r);logError("Potentially unhandled rejection ["+r.id+"] "+format.formatError(r.value))}}function unreport(r){var i=reported.indexOf(r);if(i>=0){reported.splice(i,1);logInfo("Handled previous rejection ["+r.id+"] "+format.formatObject(r.value))}}function enqueue(f,x){tasks.push(f,x);if(running===null){running=setTimer(flush,0)}}function flush(){running=null;while(tasks.length>0){tasks.shift()(tasks.shift())}}return Promise};function throwit(e){throw e}function noop(){}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../env":20,"../format":21}],19:[function(require,module,exports){(function(define){"use strict";define(function(){return function addWith(Promise){Promise.prototype["with"]=Promise.prototype.withThis=function(receiver){var p=this._beget();var child=p._handler;child.receiver=receiver;this._handler.chain(child,receiver);return p};return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],20:[function(require,module,exports){(function(process){(function(define){"use strict";define(function(require){var MutationObs;var capturedSetTimeout=typeof setTimeout!=="undefined"&&setTimeout;var setTimer=function(f,ms){return setTimeout(f,ms)};var clearTimer=function(t){return clearTimeout(t)};var asap=function(f){return capturedSetTimeout(f,0)};if(isNode()){asap=function(f){return process.nextTick(f)}}else if(MutationObs=hasMutationObserver()){asap=initMutationObserver(MutationObs)}else if(!capturedSetTimeout){var vertxRequire=require;var vertx=vertxRequire("vertx");setTimer=function(f,ms){return vertx.setTimer(ms,f)};clearTimer=vertx.cancelTimer;asap=vertx.runOnLoop||vertx.runOnContext}return{setTimer:setTimer,clearTimer:clearTimer,asap:asap};function isNode(){return typeof process!=="undefined"&&process!==null&&typeof process.nextTick==="function"}function hasMutationObserver(){return typeof MutationObserver==="function"&&MutationObserver||typeof WebKitMutationObserver==="function"&&WebKitMutationObserver}function initMutationObserver(MutationObserver){var scheduled;var node=document.createTextNode("");var o=new MutationObserver(run);o.observe(node,{characterData:true});function run(){var f=scheduled;scheduled=void 0;f()}var i=0;return function(f){scheduled=f;node.data=i^=1}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})}).call(this,require("_process"))},{_process:1}],21:[function(require,module,exports){(function(define){"use strict";define(function(){return{formatError:formatError,formatObject:formatObject,tryStringify:tryStringify};function formatError(e){var s=typeof e==="object"&&e!==null&&e.stack?e.stack:formatObject(e);return e instanceof Error?s:s+" (WARNING: non-Error used)"}function formatObject(o){var s=String(o);if(s==="[object Object]"&&typeof JSON!=="undefined"){s=tryStringify(o,s)}return s}function tryStringify(x,defaultValue){try{return JSON.stringify(x)}catch(e){return defaultValue}}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],22:[function(require,module,exports){(function(process){(function(define){"use strict";define(function(){return function makePromise(environment){var tasks=environment.scheduler;var emitRejection=initEmitRejection();var objectCreate=Object.create||function(proto){function Child(){}Child.prototype=proto;return new Child};function Promise(resolver,handler){this._handler=resolver===Handler?handler:init(resolver)}function init(resolver){var handler=new Pending;try{resolver(promiseResolve,promiseReject,promiseNotify)}catch(e){promiseReject(e)}return handler;function promiseResolve(x){handler.resolve(x)}function promiseReject(reason){handler.reject(reason)}function promiseNotify(x){handler.notify(x)}}Promise.resolve=resolve;Promise.reject=reject;Promise.never=never;Promise._defer=defer;Promise._handler=getHandler;function resolve(x){return isPromise(x)?x:new Promise(Handler,new Async(getHandler(x)))}function reject(x){return new Promise(Handler,new Async(new Rejected(x)))}function never(){return foreverPendingPromise}function defer(){return new Promise(Handler,new Pending)}Promise.prototype.then=function(onFulfilled,onRejected,onProgress){var parent=this._handler;var state=parent.join().state();if(typeof onFulfilled!=="function"&&state>0||typeof onRejected!=="function"&&state<0){return new this.constructor(Handler,parent)}var p=this._beget();var child=p._handler;parent.chain(child,parent.receiver,onFulfilled,onRejected,onProgress);return p};Promise.prototype["catch"]=function(onRejected){return this.then(void 0,onRejected)};Promise.prototype._beget=function(){return begetFrom(this._handler,this.constructor)};function begetFrom(parent,Promise){var child=new Pending(parent.receiver,parent.join().context);return new Promise(Handler,child)}Promise.all=all;Promise.race=race;Promise._traverse=traverse;function all(promises){return traverseWith(snd,null,promises)}function traverse(f,promises){return traverseWith(tryCatch2,f,promises)}function traverseWith(tryMap,f,promises){var handler=typeof f==="function"?mapAt:settleAt;var resolver=new Pending;var pending=promises.length>>>0;var results=new Array(pending);for(var i=0,x;i<promises.length&&!resolver.resolved;++i){x=promises[i];if(x===void 0&&!(i in promises)){--pending;continue}traverseAt(promises,handler,i,x,resolver)}if(pending===0){resolver.become(new Fulfilled(results))}return new Promise(Handler,resolver);function mapAt(i,x,resolver){if(!resolver.resolved){traverseAt(promises,settleAt,i,tryMap(f,x,i),resolver)}}function settleAt(i,x,resolver){results[i]=x;if(--pending===0){resolver.become(new Fulfilled(results))}}}function traverseAt(promises,handler,i,x,resolver){if(maybeThenable(x)){var h=getHandlerMaybeThenable(x);var s=h.state();if(s===0){h.fold(handler,i,void 0,resolver)}else if(s>0){handler(i,h.value,resolver)}else{resolver.become(h);visitRemaining(promises,i+1,h)}}else{handler(i,x,resolver)}}Promise._visitRemaining=visitRemaining;function visitRemaining(promises,start,handler){for(var i=start;i<promises.length;++i){markAsHandled(getHandler(promises[i]),handler)}}function markAsHandled(h,handler){if(h===handler){return}var s=h.state();if(s===0){h.visit(h,void 0,h._unreport)}else if(s<0){h._unreport()}}function race(promises){if(typeof promises!=="object"||promises===null){return reject(new TypeError("non-iterable passed to race()"))}return promises.length===0?never():promises.length===1?resolve(promises[0]):runRace(promises)}function runRace(promises){var resolver=new Pending;var i,x,h;for(i=0;i<promises.length;++i){x=promises[i];if(x===void 0&&!(i in promises)){continue}h=getHandler(x);if(h.state()!==0){resolver.become(h);visitRemaining(promises,i+1,h);break}else{h.visit(resolver,resolver.resolve,resolver.reject)}}return new Promise(Handler,resolver)}function getHandler(x){if(isPromise(x)){return x._handler.join()}return maybeThenable(x)?getHandlerUntrusted(x):new Fulfilled(x)}function getHandlerMaybeThenable(x){return isPromise(x)?x._handler.join():getHandlerUntrusted(x)}function getHandlerUntrusted(x){try{var untrustedThen=x.then;return typeof untrustedThen==="function"?new Thenable(untrustedThen,x):new Fulfilled(x)}catch(e){return new Rejected(e)}}function Handler(){}Handler.prototype.when=Handler.prototype.become=Handler.prototype.notify=Handler.prototype.fail=Handler.prototype._unreport=Handler.prototype._report=noop;Handler.prototype._state=0;Handler.prototype.state=function(){return this._state};Handler.prototype.join=function(){var h=this;while(h.handler!==void 0){h=h.handler}return h};Handler.prototype.chain=function(to,receiver,fulfilled,rejected,progress){this.when({resolver:to,receiver:receiver,fulfilled:fulfilled,rejected:rejected,progress:progress})};Handler.prototype.visit=function(receiver,fulfilled,rejected,progress){this.chain(failIfRejected,receiver,fulfilled,rejected,progress)};Handler.prototype.fold=function(f,z,c,to){this.when(new Fold(f,z,c,to))};function FailIfRejected(){}inherit(Handler,FailIfRejected);FailIfRejected.prototype.become=function(h){h.fail()};var failIfRejected=new FailIfRejected;function Pending(receiver,inheritedContext){Promise.createContext(this,inheritedContext);this.consumers=void 0;this.receiver=receiver;this.handler=void 0;this.resolved=false}inherit(Handler,Pending);Pending.prototype._state=0;Pending.prototype.resolve=function(x){this.become(getHandler(x))};Pending.prototype.reject=function(x){if(this.resolved){return}this.become(new Rejected(x))};Pending.prototype.join=function(){if(!this.resolved){return this}var h=this;while(h.handler!==void 0){h=h.handler;if(h===this){return this.handler=cycle()}}return h};Pending.prototype.run=function(){var q=this.consumers;var handler=this.handler;this.handler=this.handler.join();this.consumers=void 0;for(var i=0;i<q.length;++i){handler.when(q[i])}};Pending.prototype.become=function(handler){if(this.resolved){return}this.resolved=true;this.handler=handler;if(this.consumers!==void 0){tasks.enqueue(this)}if(this.context!==void 0){handler._report(this.context)}};Pending.prototype.when=function(continuation){if(this.resolved){tasks.enqueue(new ContinuationTask(continuation,this.handler))}else{if(this.consumers===void 0){this.consumers=[continuation]}else{this.consumers.push(continuation)}}};Pending.prototype.notify=function(x){if(!this.resolved){tasks.enqueue(new ProgressTask(x,this))}};Pending.prototype.fail=function(context){var c=typeof context==="undefined"?this.context:context;this.resolved&&this.handler.join().fail(c)};Pending.prototype._report=function(context){this.resolved&&this.handler.join()._report(context)};Pending.prototype._unreport=function(){this.resolved&&this.handler.join()._unreport()};function Async(handler){this.handler=handler}inherit(Handler,Async);Async.prototype.when=function(continuation){tasks.enqueue(new ContinuationTask(continuation,this))};Async.prototype._report=function(context){this.join()._report(context)};Async.prototype._unreport=function(){this.join()._unreport()};function Thenable(then,thenable){Pending.call(this);tasks.enqueue(new AssimilateTask(then,thenable,this))}inherit(Pending,Thenable);function Fulfilled(x){Promise.createContext(this);this.value=x}inherit(Handler,Fulfilled);Fulfilled.prototype._state=1;Fulfilled.prototype.fold=function(f,z,c,to){runContinuation3(f,z,this,c,to)};Fulfilled.prototype.when=function(cont){runContinuation1(cont.fulfilled,this,cont.receiver,cont.resolver)};var errorId=0;function Rejected(x){Promise.createContext(this);this.id=++errorId;this.value=x;this.handled=false;this.reported=false;this._report()}inherit(Handler,Rejected);Rejected.prototype._state=-1;Rejected.prototype.fold=function(f,z,c,to){to.become(this)};Rejected.prototype.when=function(cont){if(typeof cont.rejected==="function"){this._unreport()}runContinuation1(cont.rejected,this,cont.receiver,cont.resolver)};Rejected.prototype._report=function(context){tasks.afterQueue(new ReportTask(this,context))};Rejected.prototype._unreport=function(){if(this.handled){return}this.handled=true;tasks.afterQueue(new UnreportTask(this))};Rejected.prototype.fail=function(context){this.reported=true;emitRejection("unhandledRejection",this);Promise.onFatalRejection(this,context===void 0?this.context:context)};function ReportTask(rejection,context){this.rejection=rejection;this.context=context}ReportTask.prototype.run=function(){if(!this.rejection.handled&&!this.rejection.reported){this.rejection.reported=true;emitRejection("unhandledRejection",this.rejection)||Promise.onPotentiallyUnhandledRejection(this.rejection,this.context)}};function UnreportTask(rejection){this.rejection=rejection}UnreportTask.prototype.run=function(){if(this.rejection.reported){emitRejection("rejectionHandled",this.rejection)||Promise.onPotentiallyUnhandledRejectionHandled(this.rejection)}};Promise.createContext=Promise.enterContext=Promise.exitContext=Promise.onPotentiallyUnhandledRejection=Promise.onPotentiallyUnhandledRejectionHandled=Promise.onFatalRejection=noop;var foreverPendingHandler=new Handler;var foreverPendingPromise=new Promise(Handler,foreverPendingHandler);function cycle(){return new Rejected(new TypeError("Promise cycle"))}function ContinuationTask(continuation,handler){this.continuation=continuation;this.handler=handler}ContinuationTask.prototype.run=function(){this.handler.join().when(this.continuation)};function ProgressTask(value,handler){this.handler=handler;this.value=value}ProgressTask.prototype.run=function(){var q=this.handler.consumers;if(q===void 0){return}for(var c,i=0;i<q.length;++i){c=q[i];runNotify(c.progress,this.value,this.handler,c.receiver,c.resolver)}};function AssimilateTask(then,thenable,resolver){this._then=then;this.thenable=thenable;this.resolver=resolver}AssimilateTask.prototype.run=function(){var h=this.resolver;tryAssimilate(this._then,this.thenable,_resolve,_reject,_notify);function _resolve(x){h.resolve(x)}function _reject(x){h.reject(x)}function _notify(x){h.notify(x)}};function tryAssimilate(then,thenable,resolve,reject,notify){try{then.call(thenable,resolve,reject,notify)}catch(e){reject(e)}}function Fold(f,z,c,to){this.f=f;this.z=z;this.c=c;this.to=to;this.resolver=failIfRejected;this.receiver=this}Fold.prototype.fulfilled=function(x){this.f.call(this.c,this.z,x,this.to)};Fold.prototype.rejected=function(x){this.to.reject(x)};Fold.prototype.progress=function(x){this.to.notify(x)};function isPromise(x){return x instanceof Promise}function maybeThenable(x){return(typeof x==="object"||typeof x==="function")&&x!==null}function runContinuation1(f,h,receiver,next){if(typeof f!=="function"){return next.become(h)}Promise.enterContext(h);tryCatchReject(f,h.value,receiver,next);Promise.exitContext()}function runContinuation3(f,x,h,receiver,next){if(typeof f!=="function"){return next.become(h)}Promise.enterContext(h);tryCatchReject3(f,x,h.value,receiver,next);Promise.exitContext()}function runNotify(f,x,h,receiver,next){if(typeof f!=="function"){return next.notify(x)}Promise.enterContext(h);tryCatchReturn(f,x,receiver,next);Promise.exitContext()}function tryCatch2(f,a,b){try{return f(a,b)}catch(e){return reject(e)}}function tryCatchReject(f,x,thisArg,next){try{next.become(getHandler(f.call(thisArg,x)))}catch(e){next.become(new Rejected(e))}}function tryCatchReject3(f,x,y,thisArg,next){try{f.call(thisArg,x,y,next)}catch(e){next.become(new Rejected(e))}}function tryCatchReturn(f,x,thisArg,next){try{next.notify(f.call(thisArg,x))}catch(e){next.notify(e)}}function inherit(Parent,Child){Child.prototype=objectCreate(Parent.prototype);Child.prototype.constructor=Child}function snd(x,y){return y}function noop(){}function initEmitRejection(){if(typeof process!=="undefined"&&process!==null&&typeof process.emit==="function"){return function(type,rejection){return type==="unhandledRejection"?process.emit(type,rejection.value,rejection):process.emit(type,rejection)}}else if(typeof self!=="undefined"&&typeof CustomEvent==="function"){return function(noop,self,CustomEvent){var hasCustomEvent=false;try{var ev=new CustomEvent("unhandledRejection");hasCustomEvent=ev instanceof CustomEvent}catch(e){}return!hasCustomEvent?noop:function(type,rejection){var ev=new CustomEvent(type,{detail:{reason:rejection.value,key:rejection},bubbles:false,cancelable:true});return!self.dispatchEvent(ev)}}(noop,self,CustomEvent)}return noop}return Promise}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})}).call(this,require("_process"))},{_process:1}],23:[function(require,module,exports){(function(define){"use strict";define(function(){return{pending:toPendingState,fulfilled:toFulfilledState,rejected:toRejectedState,inspect:inspect};function toPendingState(){return{state:"pending"}}function toRejectedState(e){return{state:"rejected",reason:e}}function toFulfilledState(x){return{state:"fulfilled",value:x}}function inspect(handler){var state=handler.state();return state===0?toPendingState():state>0?toFulfilledState(handler.value):toRejectedState(handler.value)}})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory()})},{}],24:[function(require,module,exports){(function(define){"use strict";define(function(require){var timed=require("./lib/decorators/timed");var array=require("./lib/decorators/array");var flow=require("./lib/decorators/flow");var fold=require("./lib/decorators/fold");var inspect=require("./lib/decorators/inspect");var generate=require("./lib/decorators/iterate");var progress=require("./lib/decorators/progress");var withThis=require("./lib/decorators/with");var unhandledRejection=require("./lib/decorators/unhandledRejection");var TimeoutError=require("./lib/TimeoutError");var Promise=[array,flow,fold,generate,progress,inspect,withThis,timed,unhandledRejection].reduce(function(Promise,feature){return feature(Promise)},require("./lib/Promise"));var apply=require("./lib/apply")(Promise);when.promise=promise;when.resolve=Promise.resolve;when.reject=Promise.reject;when.lift=lift;when["try"]=attempt;when.attempt=attempt;when.iterate=Promise.iterate;when.unfold=Promise.unfold;when.join=join;when.all=all;when.settle=settle;when.any=lift(Promise.any);when.some=lift(Promise.some);when.race=lift(Promise.race);when.map=map;when.filter=filter;when.reduce=lift(Promise.reduce);when.reduceRight=lift(Promise.reduceRight);when.isPromiseLike=isPromiseLike;when.Promise=Promise;when.defer=defer;when.TimeoutError=TimeoutError;function when(x,onFulfilled,onRejected,onProgress){var p=Promise.resolve(x);if(arguments.length<2){return p}return p.then(onFulfilled,onRejected,onProgress)}function promise(resolver){return new Promise(resolver)}function lift(f){return function(){for(var i=0,l=arguments.length,a=new Array(l);i<l;++i){a[i]=arguments[i]}return apply(f,this,a)}}function attempt(f){for(var i=0,l=arguments.length-1,a=new Array(l);i<l;++i){a[i]=arguments[i+1]}return apply(f,this,a)}function defer(){return new Deferred}function Deferred(){var p=Promise._defer();function resolve(x){p._handler.resolve(x)}function reject(x){p._handler.reject(x)}function notify(x){p._handler.notify(x)}this.promise=p;this.resolve=resolve;this.reject=reject;this.notify=notify;this.resolver={resolve:resolve,reject:reject,notify:notify}}function isPromiseLike(x){return x&&typeof x.then==="function"}function join(){return Promise.all(arguments)}function all(promises){return when(promises,Promise.all)}function settle(promises){return when(promises,Promise.settle)}function map(promises,mapFunc){return when(promises,function(promises){return Promise.map(promises,mapFunc)})}function filter(promises,predicate){return when(promises,function(promises){return Promise.filter(promises,predicate)})}return when})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./lib/Promise":7,"./lib/TimeoutError":9,"./lib/apply":10,"./lib/decorators/array":11,"./lib/decorators/flow":12,"./lib/decorators/fold":13,"./lib/decorators/inspect":14,"./lib/decorators/iterate":15,"./lib/decorators/progress":16,"./lib/decorators/timed":17,"./lib/decorators/unhandledRejection":18,"./lib/decorators/with":19}],25:[function(require,module,exports){(function(define){"use strict";define(function(){var empty={};function mixin(dest){var i,l,source,name;if(!dest){dest={}}for(i=1,l=arguments.length;i<l;i+=1){source=arguments[i];for(name in source){if(!(name in dest)||dest[name]!==source[name]&&(!(name in empty)||empty[name]!==source[name])){dest[name]=source[name]}}}return dest}return mixin})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{}],26:[function(require,module,exports){(function(define){"use strict";define(function(){function normalizeHeaderName(name){return name.toLowerCase().split("-").map(function(chunk){return chunk.charAt(0).toUpperCase()+chunk.slice(1)}).join("-")}return normalizeHeaderName})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{}],27:[function(require,module,exports){(function(define){"use strict";define(function(require){var when=require("when"),normalizeHeaderName=require("./normalizeHeaderName");function property(promise,name){return promise.then(function(value){return value&&value[name]},function(value){return when.reject(value&&value[name])})}function entity(){return property(this,"entity")}function status(){return property(property(this,"status"),"code")}function headers(){return property(this,"headers")}function header(headerName){headerName=normalizeHeaderName(headerName);return property(this.headers(),headerName)}function follow(rels){rels=[].concat(rels);return make(when.reduce(rels,function(response,rel){if(typeof rel==="string"){rel={rel:rel}}if(typeof response.entity.clientFor!=="function"){throw new Error("Hypermedia response expected")}var client=response.entity.clientFor(rel.rel);return client({params:rel.params})},this))}function make(promise){promise.status=status;promise.headers=headers;promise.header=header;promise.entity=entity;promise.follow=follow;return promise}function responsePromise(){return make(when.apply(when,arguments))}responsePromise.make=make;responsePromise.reject=function(val){return make(when.reject(val))};responsePromise.promise=function(func){return make(when.promise(func))};return responsePromise})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"./normalizeHeaderName":26,when:24}],"rest/interceptor/jsonp":[function(require,module,exports){(function(define){"use strict";define(function(require){var interceptor,jsonpClient;interceptor=require("../interceptor");jsonpClient=require("../client/jsonp");return interceptor({client:jsonpClient,init:function(config){config.callback=config.callback||{};return config},request:function(request,config){request.callback=request.callback||{};request.callback.param=request.callback.param||config.callback.param;request.callback.prefix=request.callback.prefix||config.callback.prefix;request.callback.name=request.callback.name||config.callback.name;return request}})})})(typeof define==="function"&&define.amd?define:function(factory){module.exports=factory(require)})},{"../client/jsonp":5,"../interceptor":6}]},{},[]);var client=require("rest").wrap(require("rest/interceptor/jsonp"));client({path:"http://ajax.googleapis.com/ajax/services/search/web?v=1.0",params:{q:"javascript"}}).then(function(response){console.log(response)});
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"rest": "1.3.0"
}
}
<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