Blame view

node_modules/when/lib/decorators/fold.js 699 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  /** @license MIT License (c) copyright 2010-2014 original author or authors */
  /** @author Brian Cavalier */
  /** @author John Hann */
  /** @author Jeff Escalante */
  
  (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(); }));