Socket
Socket
Sign inDemoInstall

extend-promise

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

extend-promise - npm Package Compare versions

Comparing version 0.0.2 to 0.0.5

src/utils.js

195

dist/extend-promise.js
/*!
* extend-promise v0.0.2
* extend-promise v0.0.3
* Homepage https://github.com/cnwhy/extend-promise#readme
* License BSD
* License BSD-2-Clause
*/

@@ -33,14 +33,14 @@ (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);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.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){

},{"./src/extendClass":3,"./src/extendPrototype":4}],3:[function(require,module,exports){
function isPlainObject(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
function extendClass(Promise,obj){
var QClass;
'use strict';
var utils = require('./utils')
var isArray = utils.isArray
,isEmpty = utils.isEmpty
,isFunction = utils.isFunction
,isPlainObject = utils.isPlainObject
,arg2arr = utils.arg2arr
function extendClass(Promise,obj,funnames){
var QClass,source;
if(obj){
source = true
QClass = obj;

@@ -51,8 +51,25 @@ }else{

function asbind(name){
if(isArray(funnames)){
var nomark = false;
for(var i = 0; i<funnames.length; i++){
if(funnames[i] == name){
nomark = true;
break;
}
}
if(!nomark) return false;
}
if(source){
return !isFunction(QClass[name]);
}
return true;
}
if(!QClass.Promise && Promise != obj) QClass.Promise = Promise;
//defer
if(typeof Promise.defer == "function"){
if(isFunction(Promise.defer)){
QClass.defer = Promise.defer
}else if(typeof Promise.deferred == "function"){
}else if(isFunction(Promise.deferred)){
QClass.defer = Promise.deferred

@@ -75,5 +92,3 @@ }else{

//delay
if(typeof Promise.delay == "function"){
QClass.delay = Promise.delay;
}else{
if(asbind("delay")){
QClass.delay = function(ms,value){

@@ -87,5 +102,3 @@ var defer = QClass.defer();

//resolve
if(typeof Promise.resolve == "function"){
QClass.resolve = Promise.resolve;
}else{
if(asbind("resolve")){
QClass.resolve = function(obj){

@@ -99,5 +112,3 @@ var defer = QClass.defer();

//reject
if(typeof Promise.reject == "function"){
QClass.reject = Promise.reject;
}else{
if(asbind("reject")){
QClass.reject = function(obj){

@@ -111,3 +122,5 @@ var defer = QClass.defer();

function getall(map,count){
count = +count > 0 ? +count : 0;
if(!isEmpty(count)){
count = +count > 0 ? +count : 0;
}
return function(promises) {

@@ -119,3 +132,3 @@ var defer = QClass.defer();

QClass.resolve(_p).then(function(d) {
if(map || !count (count && data.length<count)) data[i] = d;
data[i] = d;
if (--_tempI == 0 || (!map && count && data.length>=count)) {

@@ -125,3 +138,3 @@ defer.resolve(data);

}, function(err) {
if (typeof count == "undefined") {
if (isEmpty(count)) {
defer.reject(err);

@@ -134,3 +147,3 @@ }else if(--_tempI == 0){

}
if(Object.prototype.toString.call(promises) === '[object Array]'){
if(isArray(promises)){
data = [];

@@ -153,22 +166,18 @@ for(var i = 0; i<promises.length; i++){

//all
if(typeof Promise.all == "function"){
QClass.all = Promise.all;
}else{
if(asbind("all")){
QClass.all = getall()
}
if (typeof Promise.allMap == "function") {
QClass.allMap = Promise.allMap;
} else {
if(asbind("allMap")){
QClass.allMap = getall(true);
}
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
if(asbind("some")){
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
}
}
//map
if(typeof Promise.map == "function"){
QClass.map = Promise.map;
}else{
if(asbind("map")){
QClass.map = function(data,mapfun,options){

@@ -216,27 +225,28 @@ var defer = QClass.defer();

//any | race
if(typeof Promise.race == "function"){
QClass.race = QClass.any = Promise.race;
}else if(typeof Promise.any == "function"){
QClass.race = QClass.any = Promise.any
}else{
QClass.race = QClass.any = function(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
function race(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
}
//any | race
if(asbind("race")){
QClass.race = race;
}
if(asbind("any")){
QClass.any = race;
}
/*封装CPS*/

@@ -250,21 +260,27 @@ //callback Adapter

}
QClass.nfcall = function(f){
function nfcall(f){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
var argsArray = Array.prototype.slice.call(arguments,1)
var argsArray = arg2arr(arguments,1)
argsArray.push(cbAdapter(defer))
f.apply(_this,argsArray)
return defer.promise;
}
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(Object.prototype.toString.call(args) === '[object Array]'){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
if(asbind("nfcall")){
QClass.nfcall = nfcall;
}
if(asbind("nfapply")){
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(isArray(args)){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
}
return defer.promise;
}
return defer.promise;
}

@@ -275,3 +291,3 @@

return function(){
return QClass.nfapply.call(_this,f,Array.prototype.slice.call(arguments))
return nfcall.call(_this,f,arg2arr(arguments))
}

@@ -282,3 +298,3 @@ }

module.exports = extendClass;
},{}],4:[function(require,module,exports){
},{"./utils":5}],4:[function(require,module,exports){
function extendPrototype(Promise){

@@ -309,3 +325,3 @@ var prototype = Promise.prototype;

*/
Prototype.catchOf = function(errType,fn){
prototype.catchOf = function(errType,fn){
fn = fn || errType;

@@ -347,2 +363,29 @@ return this.then(null,function(err){

module.exports = extendPrototype;
},{}],5:[function(require,module,exports){
'use strict';
exports.isPlainObject = function(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
exports.isArray = function(obj){
return Object.prototype.toString.call(obj) == "[objece Array]"
}
exports.isFunction = function(obj){
return typeof obj == "function"
}
exports.isEmpty = function(obj){
return typeof obj == 'undefined' || obj === null;
}
exports.arg2arr = function(arg,b,s){
return Array.prototype.slice.call(arg,b,s);
}
},{}]},{},[1])
/*!
* extend-promise v0.0.2
* extend-promise v0.0.3
* Homepage https://github.com/cnwhy/extend-promise#readme
* License BSD
* License BSD-2-Clause
*/
!function e(n,r,t){function o(i,u){if(!r[i]){if(!n[i]){var c="function"==typeof require&&require;if(!u&&c)return c(i,!0);if(f)return f(i,!0);throw new Error("Cannot find module '"+i+"'")}var l=r[i]={exports:{}};n[i][0].call(l.exports,function(e){var r=n[i][1][e];return o(r?r:e)},l,l.exports,e,n,r,t)}return r[i].exports}for(var f="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}({1:[function(e,n,r){!function(e,n){if("function"==typeof define&&(define.amd||define.cmd))define([],n);else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("加载 "+e+" 模块失败!,请检查您的环境!");var r="undefined"!=typeof window?window:self;r[e]=n(),"function"==typeof r.Promise&&r[e].auto(r.Promise)}}("extendPromise",function(){var n=e("../index");return n.auto=function(e){n.extendClass(e),n.extendPrototype(e)},n})},{"../index":2}],2:[function(e,n,r){n.exports={extendClass:e("./src/extendClass"),extendPrototype:e("./src/extendPrototype")}},{"./src/extendClass":3,"./src/extendPrototype":4}],3:[function(e,n,r){function t(e){return null!==e&&"object"==typeof e&&!e.nodeType&&e!==e.window&&!(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))}function o(e,n){function r(e,n){return n=+n>0?+n:0,function(r){var o,i=f.defer(),u=0,c=function(t){var c=r[t];f.resolve(c).then(function(r){!e&&n(n&&o.length<n)||(o[t]=r),(0==--u||!e&&n&&o.length>=n)&&i.resolve(o)},function(e){"undefined"==typeof n?i.reject(e):0==--u&&i.resolve(o)}),u++};if("[object Array]"===Object.prototype.toString.call(r)){o=[];for(var l=0;l<r.length;l++)c(l)}else if(e&&t(r)){o={};for(var l in r)c(l)}else i.reject(new TypeError);return i.promise}}function o(e){return function(n,r){return n?e.reject(n):void e.resolve(r)}}var f;return f=n?n:e,f.Promise||e==n||(f.Promise=e),"function"==typeof e.defer?f.defer=e.defer:"function"==typeof e.deferred?f.defer=e.deferred:f.defer=function(){var n,r,t=new e(function(e,t){n=e,r=t});return{promise:t,resolve:n,reject:r}},"function"==typeof e.delay?f.delay=e.delay:f.delay=function(e,n){var r=f.defer();return setTimeout(r.resolve,e,n),r.promise},"function"==typeof e.resolve?f.resolve=e.resolve:f.resolve=function(e){var n=f.defer();return n.resolve(e),n.promise},"function"==typeof e.reject?f.reject=e.reject:f.reject=function(e){var n=f.defer();return n.reject(e),n.promise},"function"==typeof e.all?f.all=e.all:f.all=r(),"function"==typeof e.allMap?f.allMap=e.allMap:f.allMap=r(!0),f.some=function(e,n){return r(!1,n||0)(e)},"function"==typeof e.map?f.map=e.map:f.map=function(e,n,r){function t(){if(l<a.length){var r=a[l],c=f.resolve(n(e[r],r,e)).then(function(e){return t(),e},o.reject);i.push(c),u--,l++}else f.all(i).then(o.resolve,o.reject)}var o=f.defer(),i=[],u=r?+r.concurrency:0;if(0==u||u!=u){for(var c in e)i.push(n(e[c],c,e));return f.all(i).then(o.resolve,o.reject),o.promise}var l=0,a=function(){var n=[];for(var r in e)n.push(r);return n}();do t();while(u>0&&l<a.length);return o.promise},"function"==typeof e.race?f.race=f.any=e.race:"function"==typeof e.any?f.race=f.any=e.any:f.race=f.any=function(e){for(var n=f.defer(),r=0;r<e.length;r++)+function(){var t=r,o=e[t];f.resolve(o).then(function(e){n.resolve(e)},function(e){n.reject(e)})}();return n.promise},f.nfcall=function(e){var n=this===f?null:this,r=f.defer(),t=Array.prototype.slice.call(arguments,1);return t.push(o(r)),e.apply(n,t),r.promise},f.nfapply=function(e,n){var r=this===f?null:this,t=f.defer();if("[object Array]"!==Object.prototype.toString.call(n))throw"args TypeError";return n.push(o(t)),e.apply(r,n),t.promise},f.denodeify=function(e){var n=this===f?null:this;return function(){return f.nfapply.call(n,e,Array.prototype.slice.call(arguments))}},f}n.exports=o},{}],4:[function(e,n,r){function t(e){var n=e.prototype;return n.done=function(e,n){this.then(function(n){"function"==typeof e&&setTimeout(function(){e(n)},0)},function(e){if("function"!=typeof n)throw e;setTimeout(function(){n(e)},0)})},n.spread=function(e,n){return this.then(function(n){return e.apply(null,n)},n)},n.fail=n.catch=function(e){return this.then(null,e)},Prototype.catchOf=function(e,n){return n=n||e,this.then(null,function(r){var t=typeof n;if("function"!=t)throw r;if(e===n)return n(r);if(e===r||"function"==typeof e&&r instanceof e)return n(r);throw r})},n.error=function(e){return this.catchOf(Error,e)},n.fin=n.finally=function(e){var n=function(n,r){try{e(n,r)}catch(e){}};return this.then(function(e){return n(e),e},function(e){throw n(null,e),e})},e}n.exports=t},{}]},{},[1]);
!function e(n,r,t){function o(u,f){if(!r[u]){if(!n[u]){var c="function"==typeof require&&require;if(!f&&c)return c(u,!0);if(i)return i(u,!0);throw new Error("Cannot find module '"+u+"'")}var s=r[u]={exports:{}};n[u][0].call(s.exports,function(e){var r=n[u][1][e];return o(r?r:e)},s,s.exports,e,n,r,t)}return r[u].exports}for(var i="function"==typeof require&&require,u=0;u<t.length;u++)o(t[u]);return o}({1:[function(e,n,r){!function(e,n){if("function"==typeof define&&(define.amd||define.cmd))define([],n);else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("加载 "+e+" 模块失败!,请检查您的环境!");var r="undefined"!=typeof window?window:self;r[e]=n(),"function"==typeof r.Promise&&r[e].auto(r.Promise)}}("extendPromise",function(){var n=e("../index");return n.auto=function(e){n.extendClass(e),n.extendPrototype(e)},n})},{"../index":2}],2:[function(e,n,r){n.exports={extendClass:e("./src/extendClass"),extendPrototype:e("./src/extendPrototype")}},{"./src/extendClass":3,"./src/extendPrototype":4}],3:[function(e,n,r){"use strict";function t(e,n,r){function t(e){if(i(r)){for(var n=!1,t=0;t<r.length;t++)if(r[t]==e){n=!0;break}if(!n)return!1}return!h||!f(d[e])}function o(e,n){return u(n)||(n=+n>0?+n:0),function(r){var t,o=d.defer(),f=0,s=function(i){var c=r[i];d.resolve(c).then(function(r){t[i]=r,(0==--f||!e&&n&&t.length>=n)&&o.resolve(t)},function(e){u(n)?o.reject(e):0==--f&&o.resolve(t)}),f++};if(i(r)){t=[];for(var l=0;l<r.length;l++)s(l)}else if(e&&c(r)){t={};for(var l in r)s(l)}else o.reject(new TypeError);return o.promise}}function l(e){for(var n=d.defer(),r=0;r<e.length;r++)+function(){var t=r,o=e[t];d.resolve(o).then(function(e){n.resolve(e)},function(e){n.reject(e)})}();return n.promise}function a(e){return function(n,r){return n?e.reject(n):void e.resolve(r)}}function p(e){var n=this===d?null:this,r=d.defer(),t=s(arguments,1);t.push(a(r)),e.apply(n,t)}var d,h;return n?(h=!0,d=n):d=e,d.Promise||e==n||(d.Promise=e),f(e.defer)?d.defer=e.defer:f(e.deferred)?d.defer=e.deferred:d.defer=function(){var n,r,t=new e(function(e,t){n=e,r=t});return{promise:t,resolve:n,reject:r}},t("delay")&&(d.delay=function(e,n){var r=d.defer();return setTimeout(r.resolve,e,n),r.promise}),t("resolve")&&(d.resolve=function(e){var n=d.defer();return n.resolve(e),n.promise}),t("reject")&&(d.reject=function(e){var n=d.defer();return n.reject(e),n.promise}),t("all")&&(d.all=o()),t("allMap")&&(d.allMap=o(!0)),t("some")&&(d.some=function(e,n){return o(!1,n||0)(e)}),t("map")&&(d.map=function(e,n,r){function t(){if(c<s.length){var r=s[c],f=d.resolve(n(e[r],r,e)).then(function(e){return t(),e},o.reject);i.push(f),u--,c++}else d.all(i).then(o.resolve,o.reject)}var o=d.defer(),i=[],u=r?+r.concurrency:0;if(0==u||u!=u){for(var f in e)i.push(n(e[f],f,e));return d.all(i).then(o.resolve,o.reject),o.promise}var c=0,s=function(){var n=[];for(var r in e)n.push(r);return n}();do t();while(u>0&&c<s.length);return o.promise}),t("race")&&(d.race=l),t("any")&&(d.any=l),t("nfcall")&&(d.nfcall=p),t("nfapply")&&(d.nfapply=function(e,n){var r=this===d?null:this,t=d.defer();if(!i(n))throw"args TypeError";return n.push(a(t)),e.apply(r,n),t.promise}),d.denodeify=function(e){var n=this===d?null:this;return function(){return p.call(n,e,s(arguments))}},d}var o=e("./utils"),i=o.isArray,u=o.isEmpty,f=o.isFunction,c=o.isPlainObject,s=o.arg2arr;n.exports=t},{"./utils":5}],4:[function(e,n,r){function t(e){var n=e.prototype;return n.done=function(e,n){this.then(function(n){"function"==typeof e&&setTimeout(function(){e(n)},0)},function(e){if("function"!=typeof n)throw e;setTimeout(function(){n(e)},0)})},n.spread=function(e,n){return this.then(function(n){return e.apply(null,n)},n)},n.fail=n.catch=function(e){return this.then(null,e)},n.catchOf=function(e,n){return n=n||e,this.then(null,function(r){var t=typeof n;if("function"!=t)throw r;if(e===n)return n(r);if(e===r||"function"==typeof e&&r instanceof e)return n(r);throw r})},n.error=function(e){return this.catchOf(Error,e)},n.fin=n.finally=function(e){var n=function(n,r){try{e(n,r)}catch(e){}};return this.then(function(e){return n(e),e},function(e){throw n(null,e),e})},e}n.exports=t},{}],5:[function(e,n,r){"use strict";r.isPlainObject=function(e){return null!==e&&"object"==typeof e&&!e.nodeType&&e!==e.window&&!(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))},r.isArray=function(e){return"[objece Array]"==Object.prototype.toString.call(e)},r.isFunction=function(e){return"function"==typeof e},r.isEmpty=function(e){return"undefined"==typeof e||null===e},r.arg2arr=function(e,n,r){return Array.prototype.slice.call(e,n,r)}},{}]},{},[1]);
/*!
* extend-promise v0.0.2
* extend-promise v0.0.3
* Homepage https://github.com/cnwhy/extend-promise#readme
* License BSD
* License BSD-2-Clause
*/

@@ -26,14 +26,14 @@ (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);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.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){

},{"../src/polyfills":4}],2:[function(require,module,exports){
function isPlainObject(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
function extendClass(Promise,obj){
var QClass;
'use strict';
var utils = require('./utils')
var isArray = utils.isArray
,isEmpty = utils.isEmpty
,isFunction = utils.isFunction
,isPlainObject = utils.isPlainObject
,arg2arr = utils.arg2arr
function extendClass(Promise,obj,funnames){
var QClass,source;
if(obj){
source = true
QClass = obj;

@@ -44,8 +44,25 @@ }else{

function asbind(name){
if(isArray(funnames)){
var nomark = false;
for(var i = 0; i<funnames.length; i++){
if(funnames[i] == name){
nomark = true;
break;
}
}
if(!nomark) return false;
}
if(source){
return !isFunction(QClass[name]);
}
return true;
}
if(!QClass.Promise && Promise != obj) QClass.Promise = Promise;
//defer
if(typeof Promise.defer == "function"){
if(isFunction(Promise.defer)){
QClass.defer = Promise.defer
}else if(typeof Promise.deferred == "function"){
}else if(isFunction(Promise.deferred)){
QClass.defer = Promise.deferred

@@ -68,5 +85,3 @@ }else{

//delay
if(typeof Promise.delay == "function"){
QClass.delay = Promise.delay;
}else{
if(asbind("delay")){
QClass.delay = function(ms,value){

@@ -80,5 +95,3 @@ var defer = QClass.defer();

//resolve
if(typeof Promise.resolve == "function"){
QClass.resolve = Promise.resolve;
}else{
if(asbind("resolve")){
QClass.resolve = function(obj){

@@ -92,5 +105,3 @@ var defer = QClass.defer();

//reject
if(typeof Promise.reject == "function"){
QClass.reject = Promise.reject;
}else{
if(asbind("reject")){
QClass.reject = function(obj){

@@ -104,3 +115,5 @@ var defer = QClass.defer();

function getall(map,count){
count = +count > 0 ? +count : 0;
if(!isEmpty(count)){
count = +count > 0 ? +count : 0;
}
return function(promises) {

@@ -112,3 +125,3 @@ var defer = QClass.defer();

QClass.resolve(_p).then(function(d) {
if(map || !count (count && data.length<count)) data[i] = d;
data[i] = d;
if (--_tempI == 0 || (!map && count && data.length>=count)) {

@@ -118,3 +131,3 @@ defer.resolve(data);

}, function(err) {
if (typeof count == "undefined") {
if (isEmpty(count)) {
defer.reject(err);

@@ -127,3 +140,3 @@ }else if(--_tempI == 0){

}
if(Object.prototype.toString.call(promises) === '[object Array]'){
if(isArray(promises)){
data = [];

@@ -146,22 +159,18 @@ for(var i = 0; i<promises.length; i++){

//all
if(typeof Promise.all == "function"){
QClass.all = Promise.all;
}else{
if(asbind("all")){
QClass.all = getall()
}
if (typeof Promise.allMap == "function") {
QClass.allMap = Promise.allMap;
} else {
if(asbind("allMap")){
QClass.allMap = getall(true);
}
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
if(asbind("some")){
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
}
}
//map
if(typeof Promise.map == "function"){
QClass.map = Promise.map;
}else{
if(asbind("map")){
QClass.map = function(data,mapfun,options){

@@ -209,27 +218,28 @@ var defer = QClass.defer();

//any | race
if(typeof Promise.race == "function"){
QClass.race = QClass.any = Promise.race;
}else if(typeof Promise.any == "function"){
QClass.race = QClass.any = Promise.any
}else{
QClass.race = QClass.any = function(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
function race(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
}
//any | race
if(asbind("race")){
QClass.race = race;
}
if(asbind("any")){
QClass.any = race;
}
/*封装CPS*/

@@ -243,21 +253,27 @@ //callback Adapter

}
QClass.nfcall = function(f){
function nfcall(f){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
var argsArray = Array.prototype.slice.call(arguments,1)
var argsArray = arg2arr(arguments,1)
argsArray.push(cbAdapter(defer))
f.apply(_this,argsArray)
return defer.promise;
}
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(Object.prototype.toString.call(args) === '[object Array]'){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
if(asbind("nfcall")){
QClass.nfcall = nfcall;
}
if(asbind("nfapply")){
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(isArray(args)){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
}
return defer.promise;
}
return defer.promise;
}

@@ -268,3 +284,3 @@

return function(){
return QClass.nfapply.call(_this,f,Array.prototype.slice.call(arguments))
return nfcall.call(_this,f,arg2arr(arguments))
}

@@ -275,3 +291,3 @@ }

module.exports = extendClass;
},{}],3:[function(require,module,exports){
},{"./utils":5}],3:[function(require,module,exports){
function extendPrototype(Promise){

@@ -302,3 +318,3 @@ var prototype = Promise.prototype;

*/
Prototype.catchOf = function(errType,fn){
prototype.catchOf = function(errType,fn){
fn = fn || errType;

@@ -346,2 +362,29 @@ return this.then(null,function(err){

}
},{"../src/extendClass":2,"../src/extendPrototype":3}]},{},[1])
},{"../src/extendClass":2,"../src/extendPrototype":3}],5:[function(require,module,exports){
'use strict';
exports.isPlainObject = function(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
exports.isArray = function(obj){
return Object.prototype.toString.call(obj) == "[objece Array]"
}
exports.isFunction = function(obj){
return typeof obj == "function"
}
exports.isEmpty = function(obj){
return typeof obj == 'undefined' || obj === null;
}
exports.arg2arr = function(arg,b,s){
return Array.prototype.slice.call(arg,b,s);
}
},{}]},{},[1])
/*!
* extend-promise v0.0.2
* extend-promise v0.0.3
* Homepage https://github.com/cnwhy/extend-promise#readme
* License BSD
* License BSD-2-Clause
*/
!function e(r,n,t){function o(i,u){if(!n[i]){if(!r[i]){var c="function"==typeof require&&require;if(!u&&c)return c(i,!0);if(f)return f(i,!0);throw new Error("Cannot find module '"+i+"'")}var l=n[i]={exports:{}};r[i][0].call(l.exports,function(e){var n=r[i][1][e];return o(n?n:e)},l,l.exports,e,r,n,t)}return n[i].exports}for(var f="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}({1:[function(e,r,n){!function(e,r){if("function"==typeof define&&(define.amd||define.cmd))define([],r);else if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("加载 "+e+" 模块失败!,请检查您的环境!")}("extendPromise",function(){var r="undefined"!=typeof window?window:self;if("function"!=typeof r.Promise)throw Error('需要Promise,但未找到,请尝试使用"promise-full.js"');var n=e("../src/polyfills")(r.Promise);return n})},{"../src/polyfills":4}],2:[function(e,r,n){function t(e){return null!==e&&"object"==typeof e&&!e.nodeType&&e!==e.window&&!(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))}function o(e,r){function n(e,r){return r=+r>0?+r:0,function(n){var o,i=f.defer(),u=0,c=function(t){var c=n[t];f.resolve(c).then(function(n){!e&&r(r&&o.length<r)||(o[t]=n),(0==--u||!e&&r&&o.length>=r)&&i.resolve(o)},function(e){"undefined"==typeof r?i.reject(e):0==--u&&i.resolve(o)}),u++};if("[object Array]"===Object.prototype.toString.call(n)){o=[];for(var l=0;l<n.length;l++)c(l)}else if(e&&t(n)){o={};for(var l in n)c(l)}else i.reject(new TypeError);return i.promise}}function o(e){return function(r,n){return r?e.reject(r):void e.resolve(n)}}var f;return f=r?r:e,f.Promise||e==r||(f.Promise=e),"function"==typeof e.defer?f.defer=e.defer:"function"==typeof e.deferred?f.defer=e.deferred:f.defer=function(){var r,n,t=new e(function(e,t){r=e,n=t});return{promise:t,resolve:r,reject:n}},"function"==typeof e.delay?f.delay=e.delay:f.delay=function(e,r){var n=f.defer();return setTimeout(n.resolve,e,r),n.promise},"function"==typeof e.resolve?f.resolve=e.resolve:f.resolve=function(e){var r=f.defer();return r.resolve(e),r.promise},"function"==typeof e.reject?f.reject=e.reject:f.reject=function(e){var r=f.defer();return r.reject(e),r.promise},"function"==typeof e.all?f.all=e.all:f.all=n(),"function"==typeof e.allMap?f.allMap=e.allMap:f.allMap=n(!0),f.some=function(e,r){return n(!1,r||0)(e)},"function"==typeof e.map?f.map=e.map:f.map=function(e,r,n){function t(){if(l<a.length){var n=a[l],c=f.resolve(r(e[n],n,e)).then(function(e){return t(),e},o.reject);i.push(c),u--,l++}else f.all(i).then(o.resolve,o.reject)}var o=f.defer(),i=[],u=n?+n.concurrency:0;if(0==u||u!=u){for(var c in e)i.push(r(e[c],c,e));return f.all(i).then(o.resolve,o.reject),o.promise}var l=0,a=function(){var r=[];for(var n in e)r.push(n);return r}();do t();while(u>0&&l<a.length);return o.promise},"function"==typeof e.race?f.race=f.any=e.race:"function"==typeof e.any?f.race=f.any=e.any:f.race=f.any=function(e){for(var r=f.defer(),n=0;n<e.length;n++)+function(){var t=n,o=e[t];f.resolve(o).then(function(e){r.resolve(e)},function(e){r.reject(e)})}();return r.promise},f.nfcall=function(e){var r=this===f?null:this,n=f.defer(),t=Array.prototype.slice.call(arguments,1);return t.push(o(n)),e.apply(r,t),n.promise},f.nfapply=function(e,r){var n=this===f?null:this,t=f.defer();if("[object Array]"!==Object.prototype.toString.call(r))throw"args TypeError";return r.push(o(t)),e.apply(n,r),t.promise},f.denodeify=function(e){var r=this===f?null:this;return function(){return f.nfapply.call(r,e,Array.prototype.slice.call(arguments))}},f}r.exports=o},{}],3:[function(e,r,n){function t(e){var r=e.prototype;return r.done=function(e,r){this.then(function(r){"function"==typeof e&&setTimeout(function(){e(r)},0)},function(e){if("function"!=typeof r)throw e;setTimeout(function(){r(e)},0)})},r.spread=function(e,r){return this.then(function(r){return e.apply(null,r)},r)},r.fail=r.catch=function(e){return this.then(null,e)},Prototype.catchOf=function(e,r){return r=r||e,this.then(null,function(n){var t=typeof r;if("function"!=t)throw n;if(e===r)return r(n);if(e===n||"function"==typeof e&&n instanceof e)return r(n);throw n})},r.error=function(e){return this.catchOf(Error,e)},r.fin=r.finally=function(e){var r=function(r,n){try{e(r,n)}catch(e){}};return this.then(function(e){return r(e),e},function(e){throw r(null,e),e})},e}r.exports=t},{}],4:[function(e,r,n){r.exports=function(r){return e("../src/extendClass")(r),e("../src/extendPrototype")(r),r}},{"../src/extendClass":2,"../src/extendPrototype":3}]},{},[1]);
!function e(r,n,t){function o(f,u){if(!n[f]){if(!r[f]){var c="function"==typeof require&&require;if(!u&&c)return c(f,!0);if(i)return i(f,!0);throw new Error("Cannot find module '"+f+"'")}var s=n[f]={exports:{}};r[f][0].call(s.exports,function(e){var n=r[f][1][e];return o(n?n:e)},s,s.exports,e,r,n,t)}return n[f].exports}for(var i="function"==typeof require&&require,f=0;f<t.length;f++)o(t[f]);return o}({1:[function(e,r,n){!function(e,r){if("function"==typeof define&&(define.amd||define.cmd))define([],r);else if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("加载 "+e+" 模块失败!,请检查您的环境!")}("extendPromise",function(){var r="undefined"!=typeof window?window:self;if("function"!=typeof r.Promise)throw Error('需要Promise,但未找到,请尝试使用"promise-full.js"');var n=e("../src/polyfills")(r.Promise);return n})},{"../src/polyfills":4}],2:[function(e,r,n){"use strict";function t(e,r,n){function t(e){if(i(n)){for(var r=!1,t=0;t<n.length;t++)if(n[t]==e){r=!0;break}if(!r)return!1}return!h||!u(d[e])}function o(e,r){return f(r)||(r=+r>0?+r:0),function(n){var t,o=d.defer(),u=0,s=function(i){var c=n[i];d.resolve(c).then(function(n){t[i]=n,(0==--u||!e&&r&&t.length>=r)&&o.resolve(t)},function(e){f(r)?o.reject(e):0==--u&&o.resolve(t)}),u++};if(i(n)){t=[];for(var l=0;l<n.length;l++)s(l)}else if(e&&c(n)){t={};for(var l in n)s(l)}else o.reject(new TypeError);return o.promise}}function l(e){for(var r=d.defer(),n=0;n<e.length;n++)+function(){var t=n,o=e[t];d.resolve(o).then(function(e){r.resolve(e)},function(e){r.reject(e)})}();return r.promise}function a(e){return function(r,n){return r?e.reject(r):void e.resolve(n)}}function p(e){var r=this===d?null:this,n=d.defer(),t=s(arguments,1);t.push(a(n)),e.apply(r,t)}var d,h;return r?(h=!0,d=r):d=e,d.Promise||e==r||(d.Promise=e),u(e.defer)?d.defer=e.defer:u(e.deferred)?d.defer=e.deferred:d.defer=function(){var r,n,t=new e(function(e,t){r=e,n=t});return{promise:t,resolve:r,reject:n}},t("delay")&&(d.delay=function(e,r){var n=d.defer();return setTimeout(n.resolve,e,r),n.promise}),t("resolve")&&(d.resolve=function(e){var r=d.defer();return r.resolve(e),r.promise}),t("reject")&&(d.reject=function(e){var r=d.defer();return r.reject(e),r.promise}),t("all")&&(d.all=o()),t("allMap")&&(d.allMap=o(!0)),t("some")&&(d.some=function(e,r){return o(!1,r||0)(e)}),t("map")&&(d.map=function(e,r,n){function t(){if(c<s.length){var n=s[c],u=d.resolve(r(e[n],n,e)).then(function(e){return t(),e},o.reject);i.push(u),f--,c++}else d.all(i).then(o.resolve,o.reject)}var o=d.defer(),i=[],f=n?+n.concurrency:0;if(0==f||f!=f){for(var u in e)i.push(r(e[u],u,e));return d.all(i).then(o.resolve,o.reject),o.promise}var c=0,s=function(){var r=[];for(var n in e)r.push(n);return r}();do t();while(f>0&&c<s.length);return o.promise}),t("race")&&(d.race=l),t("any")&&(d.any=l),t("nfcall")&&(d.nfcall=p),t("nfapply")&&(d.nfapply=function(e,r){var n=this===d?null:this,t=d.defer();if(!i(r))throw"args TypeError";return r.push(a(t)),e.apply(n,r),t.promise}),d.denodeify=function(e){var r=this===d?null:this;return function(){return p.call(r,e,s(arguments))}},d}var o=e("./utils"),i=o.isArray,f=o.isEmpty,u=o.isFunction,c=o.isPlainObject,s=o.arg2arr;r.exports=t},{"./utils":5}],3:[function(e,r,n){function t(e){var r=e.prototype;return r.done=function(e,r){this.then(function(r){"function"==typeof e&&setTimeout(function(){e(r)},0)},function(e){if("function"!=typeof r)throw e;setTimeout(function(){r(e)},0)})},r.spread=function(e,r){return this.then(function(r){return e.apply(null,r)},r)},r.fail=r.catch=function(e){return this.then(null,e)},r.catchOf=function(e,r){return r=r||e,this.then(null,function(n){var t=typeof r;if("function"!=t)throw n;if(e===r)return r(n);if(e===n||"function"==typeof e&&n instanceof e)return r(n);throw n})},r.error=function(e){return this.catchOf(Error,e)},r.fin=r.finally=function(e){var r=function(r,n){try{e(r,n)}catch(e){}};return this.then(function(e){return r(e),e},function(e){throw r(null,e),e})},e}r.exports=t},{}],4:[function(e,r,n){r.exports=function(r){return e("../src/extendClass")(r),e("../src/extendPrototype")(r),r}},{"../src/extendClass":2,"../src/extendPrototype":3}],5:[function(e,r,n){"use strict";n.isPlainObject=function(e){return null!==e&&"object"==typeof e&&!e.nodeType&&e!==e.window&&!(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))},n.isArray=function(e){return"[objece Array]"==Object.prototype.toString.call(e)},n.isFunction=function(e){return"function"==typeof e},n.isEmpty=function(e){return"undefined"==typeof e||null===e},n.arg2arr=function(e,r,n){return Array.prototype.slice.call(e,r,n)}},{}]},{},[1]);
/*!
* extend-promise v0.0.2
* extend-promise v0.0.3
* Homepage https://github.com/cnwhy/extend-promise#readme
* License BSD
* License BSD-2-Clause
*/

@@ -24,9 +24,8 @@ (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);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.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";
//参考官方代码示例改动
module.exports = function(nextTick){
var FUN = function(){};
function Resolve(promise, x) {
if(x instanceof Promise_){
if(isPromise(x)){
x.then(promise.resolve,promise.reject)
};
if (x && (typeof x === 'function' || typeof x === 'object')) {
}else if (x && (typeof x === 'function' || typeof x === 'object')) {
var called = false,then;

@@ -59,2 +58,13 @@ try {

function isPromise(obj){
return obj instanceof Promise_;
}
function bind(fun,self){
var arg = Array.prototype.slice.call(arguments,2);
return function(){
fun.apply(self,arg.concat(Array.prototype.slice.call(arguments)));
}
}
function Promise_(fun){

@@ -66,2 +76,3 @@ //var defer = this.defer = new Defer(this);

var lock = false;
function _resolve(value){

@@ -73,3 +84,4 @@ changeStatus.call(self,1,value)

}
this.resolve = function(value){
function resolve(value){
if(lock) return;

@@ -80,9 +92,5 @@ lock = true;

}
// if(value instanceof Promise_){
// value.then(_resolve,_reject)
// }else{
Resolve({resolve:_resolve,reject:_reject},value)
//}
}
this.reject = function(reason){
function reject(reason){
if(lock) return;

@@ -92,3 +100,7 @@ lock = true;

}
if(typeof fun == "function"){
this.resolve = resolve;
this.reject = reject;
if(fun !== FUN && typeof fun == "function"){
try{

@@ -103,11 +115,7 @@ fun(this.resolve,this.reject);

Promise_.defer = function(){
var _resolve,_reject;
var _promise = new Promise_(function(ok,no){
_resolve = ok;
_reject = no;
});
var _promise = new Promise_(FUN);
return {
promise: _promise,
resolve: _resolve,
reject: _reject
resolve: _promise.resolve,
reject: _promise.reject
}

@@ -117,3 +125,3 @@ }

Promise_.resolve = function(obj){
if(obj instanceof Promise_) return obj;
if(isPromise(obj)) return obj;
return new Promise_(function(ok,no){

@@ -130,2 +138,6 @@ ok(obj);

Promise.prototype.toString = function () {
return "[object Promise]";
}
Promise_.prototype.then = function(ok,no){

@@ -136,15 +148,15 @@ var status = this.status;

// if(!~status){
// this.events.push([ok,no,promise]);
// }else if(status && typeof ok == "function"){
// runThen(ok,this.value,promise,status);
// }else if(!status && typeof no == "function"){
// runThen(no,this.reason,promise,status)
// }else{
// if(status) defer.resolve(this.value)
// else defer.reject(this.reason);
// }
if(!~status){
this._events.push([ok,no,promise]);
}else if(status && typeof ok == "function"){
runThen(ok,this.value,promise,status);
}else if(!status && typeof no == "function"){
runThen(no,this.reason,promise,status)
}else{
if(status) defer.resolve(this.value)
else defer.reject(this.reason);
}
this._events.push([ok,no,promise]);
runThens.call(this)
// this._events.push([ok,no,promise]);
// runThens.call(this)
return promise;

@@ -162,5 +174,3 @@ }

}
nextTick(function(){
runThens.call(self)
})
runThens.call(self)
}

@@ -174,3 +184,4 @@

,FnNumb = self.status ? 0 : 1;
while(_event.length){
//while(_event.length){
for(var i=0; i<_event.length; i++){
(function(eArr){

@@ -181,12 +192,15 @@ var resolve,reject

runThen(fn,arg,nextQ,self.status);
})(_event.shift())
})(_event[i])
// })(_event.shift())
}
_event = [];
}
function runThen(fn,arg,nextQ,status){
var resolve,reject
if(nextQ){
resolve = nextQ.resolve
reject = nextQ.reject
}
var resolve = nextQ.resolve
,reject = nextQ.reject
// if(nextQ){
// resolve = nextQ.resolve
// reject = nextQ.reject
// }
if(typeof fn == 'function'){

@@ -198,9 +212,10 @@ nextTick(function(){

}catch(e){
if(reject) reject(e)
else throw e;
reject(e)
// if(reject)
// else throw e;
return;
}
if(resolve) resolve(nextPromise);
resolve(nextPromise);
})
}else if(nextQ){
}else{
if (status) resolve(arg)

@@ -216,14 +231,14 @@ else reject(arg)

},{"../src/polyfills":7,"easy-promise/setTimeout":2}],5:[function(require,module,exports){
function isPlainObject(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
function extendClass(Promise,obj){
var QClass;
'use strict';
var utils = require('./utils')
var isArray = utils.isArray
,isEmpty = utils.isEmpty
,isFunction = utils.isFunction
,isPlainObject = utils.isPlainObject
,arg2arr = utils.arg2arr
function extendClass(Promise,obj,funnames){
var QClass,source;
if(obj){
source = true
QClass = obj;

@@ -234,8 +249,25 @@ }else{

function asbind(name){
if(isArray(funnames)){
var nomark = false;
for(var i = 0; i<funnames.length; i++){
if(funnames[i] == name){
nomark = true;
break;
}
}
if(!nomark) return false;
}
if(source){
return !isFunction(QClass[name]);
}
return true;
}
if(!QClass.Promise && Promise != obj) QClass.Promise = Promise;
//defer
if(typeof Promise.defer == "function"){
if(isFunction(Promise.defer)){
QClass.defer = Promise.defer
}else if(typeof Promise.deferred == "function"){
}else if(isFunction(Promise.deferred)){
QClass.defer = Promise.deferred

@@ -258,5 +290,3 @@ }else{

//delay
if(typeof Promise.delay == "function"){
QClass.delay = Promise.delay;
}else{
if(asbind("delay")){
QClass.delay = function(ms,value){

@@ -270,5 +300,3 @@ var defer = QClass.defer();

//resolve
if(typeof Promise.resolve == "function"){
QClass.resolve = Promise.resolve;
}else{
if(asbind("resolve")){
QClass.resolve = function(obj){

@@ -282,5 +310,3 @@ var defer = QClass.defer();

//reject
if(typeof Promise.reject == "function"){
QClass.reject = Promise.reject;
}else{
if(asbind("reject")){
QClass.reject = function(obj){

@@ -294,3 +320,5 @@ var defer = QClass.defer();

function getall(map,count){
count = +count > 0 ? +count : 0;
if(!isEmpty(count)){
count = +count > 0 ? +count : 0;
}
return function(promises) {

@@ -302,3 +330,3 @@ var defer = QClass.defer();

QClass.resolve(_p).then(function(d) {
if(map || !count (count && data.length<count)) data[i] = d;
data[i] = d;
if (--_tempI == 0 || (!map && count && data.length>=count)) {

@@ -308,3 +336,3 @@ defer.resolve(data);

}, function(err) {
if (typeof count == "undefined") {
if (isEmpty(count)) {
defer.reject(err);

@@ -317,3 +345,3 @@ }else if(--_tempI == 0){

}
if(Object.prototype.toString.call(promises) === '[object Array]'){
if(isArray(promises)){
data = [];

@@ -336,22 +364,18 @@ for(var i = 0; i<promises.length; i++){

//all
if(typeof Promise.all == "function"){
QClass.all = Promise.all;
}else{
if(asbind("all")){
QClass.all = getall()
}
if (typeof Promise.allMap == "function") {
QClass.allMap = Promise.allMap;
} else {
if(asbind("allMap")){
QClass.allMap = getall(true);
}
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
if(asbind("some")){
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
}
}
//map
if(typeof Promise.map == "function"){
QClass.map = Promise.map;
}else{
if(asbind("map")){
QClass.map = function(data,mapfun,options){

@@ -399,27 +423,28 @@ var defer = QClass.defer();

//any | race
if(typeof Promise.race == "function"){
QClass.race = QClass.any = Promise.race;
}else if(typeof Promise.any == "function"){
QClass.race = QClass.any = Promise.any
}else{
QClass.race = QClass.any = function(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
function race(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
}
//any | race
if(asbind("race")){
QClass.race = race;
}
if(asbind("any")){
QClass.any = race;
}
/*封装CPS*/

@@ -433,21 +458,27 @@ //callback Adapter

}
QClass.nfcall = function(f){
function nfcall(f){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
var argsArray = Array.prototype.slice.call(arguments,1)
var argsArray = arg2arr(arguments,1)
argsArray.push(cbAdapter(defer))
f.apply(_this,argsArray)
return defer.promise;
}
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(Object.prototype.toString.call(args) === '[object Array]'){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
if(asbind("nfcall")){
QClass.nfcall = nfcall;
}
if(asbind("nfapply")){
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(isArray(args)){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
}
return defer.promise;
}
return defer.promise;
}

@@ -458,3 +489,3 @@

return function(){
return QClass.nfapply.call(_this,f,Array.prototype.slice.call(arguments))
return nfcall.call(_this,f,arg2arr(arguments))
}

@@ -465,3 +496,3 @@ }

module.exports = extendClass;
},{}],6:[function(require,module,exports){
},{"./utils":8}],6:[function(require,module,exports){
function extendPrototype(Promise){

@@ -492,3 +523,3 @@ var prototype = Promise.prototype;

*/
Prototype.catchOf = function(errType,fn){
prototype.catchOf = function(errType,fn){
fn = fn || errType;

@@ -536,2 +567,29 @@ return this.then(null,function(err){

}
},{"../src/extendClass":5,"../src/extendPrototype":6}]},{},[1])
},{"../src/extendClass":5,"../src/extendPrototype":6}],8:[function(require,module,exports){
'use strict';
exports.isPlainObject = function(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
exports.isArray = function(obj){
return Object.prototype.toString.call(obj) == "[objece Array]"
}
exports.isFunction = function(obj){
return typeof obj == "function"
}
exports.isEmpty = function(obj){
return typeof obj == 'undefined' || obj === null;
}
exports.arg2arr = function(arg,b,s){
return Array.prototype.slice.call(arg,b,s);
}
},{}]},{},[1])
/*!
* extend-promise v0.0.2
* extend-promise v0.0.3
* Homepage https://github.com/cnwhy/extend-promise#readme
* License BSD
* License BSD-2-Clause
*/
!function e(t,n,r){function o(f,u){if(!n[f]){if(!t[f]){var c="function"==typeof require&&require;if(!u&&c)return c(f,!0);if(i)return i(f,!0);throw new Error("Cannot find module '"+f+"'")}var s=n[f]={exports:{}};t[f][0].call(s.exports,function(e){var n=t[f][1][e];return o(n?n:e)},s,s.exports,e,t,n,r)}return n[f].exports}for(var i="function"==typeof require&&require,f=0;f<r.length;f++)o(r[f]);return o}({1:[function(e,t,n){!function(e,t){if("function"==typeof define&&(define.amd||define.cmd))define([],t);else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("加载 "+e+" 模块失败!,请检查您的环境!");var n="undefined"!=typeof window?window:self;n[e]=t()}}("Promise",function(){var t=e("../promise/setTimeout");return t})},{"../promise/setTimeout":4}],2:[function(e,t,n){t.exports=e("./src")(function(e){setTimeout(e,0)})},{"./src":3}],3:[function(e,t,n){"use strict";t.exports=function(e){function t(e,r){if(r instanceof n&&r.then(e.resolve,e.reject),!r||"function"!=typeof r&&"object"!=typeof r)e.resolve(r);else{var o,i=!1;try{o=r.then,"function"==typeof o?o.call(r,function(n){i||(i=!0,t(e,n))},function(t){i||(i=!0,e.reject(t))}):e.resolve(r)}catch(t){i||(i=!0,e.reject(t))}}}function n(e){function n(e){r.call(i,1,e)}function o(e){r.call(i,0,e)}var i=this;this.status=-1,this._events=[];var f=!1;if(this.resolve=function(e){if(!f)return f=!0,i===e?o(new TypeError("The promise and its value refer to the same object")):void t({resolve:n,reject:o},e)},this.reject=function(e){f||(f=!0,o(e))},"function"==typeof e)try{e(this.resolve,this.reject)}catch(e){this.reject(e)}}function r(t,n){var r=this;~this.status||(this.status=t,t?this.value=n:this.reason=n,e(function(){o.call(r)}))}function o(){if(~this.status)for(var e=this,t=e._events,n=e.status?e.value:e.reason,r=e.status?0:1;t.length;)!function(t){var o=t[r],f=t[2];i(o,n,f,e.status)}(t.shift())}function i(t,n,r,o){var i,f;r&&(i=r.resolve,f=r.reject),"function"==typeof t?e(function(){var e;try{e=t(n)}catch(e){if(!f)throw e;return void f(e)}i&&i(e)}):r&&(o?i(n):f(n))}return n.defer=function(){var e,t,r=new n(function(n,r){e=n,t=r});return{promise:r,resolve:e,reject:t}},n.resolve=function(e){return e instanceof n?e:new n(function(t,n){t(e)})},n.reject=function(e){return new n(function(t,n){n(e)})},n.prototype.then=function(e,t){var r=(this.status,n.defer()),i=r.promise;return this._events.push([e,t,i]),o.call(this),i},n}},{}],4:[function(e,t,n){var r=e("easy-promise/setTimeout");t.exports=e("../src/polyfills")(r)},{"../src/polyfills":7,"easy-promise/setTimeout":2}],5:[function(e,t,n){function r(e){return null!==e&&"object"==typeof e&&!e.nodeType&&e!==e.window&&!(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))}function o(e,t){function n(e,t){return t=+t>0?+t:0,function(n){var o,f=i.defer(),u=0,c=function(r){var c=n[r];i.resolve(c).then(function(n){!e&&t(t&&o.length<t)||(o[r]=n),(0==--u||!e&&t&&o.length>=t)&&f.resolve(o)},function(e){"undefined"==typeof t?f.reject(e):0==--u&&f.resolve(o)}),u++};if("[object Array]"===Object.prototype.toString.call(n)){o=[];for(var s=0;s<n.length;s++)c(s)}else if(e&&r(n)){o={};for(var s in n)c(s)}else f.reject(new TypeError);return f.promise}}function o(e){return function(t,n){return t?e.reject(t):void e.resolve(n)}}var i;return i=t?t:e,i.Promise||e==t||(i.Promise=e),"function"==typeof e.defer?i.defer=e.defer:"function"==typeof e.deferred?i.defer=e.deferred:i.defer=function(){var t,n,r=new e(function(e,r){t=e,n=r});return{promise:r,resolve:t,reject:n}},"function"==typeof e.delay?i.delay=e.delay:i.delay=function(e,t){var n=i.defer();return setTimeout(n.resolve,e,t),n.promise},"function"==typeof e.resolve?i.resolve=e.resolve:i.resolve=function(e){var t=i.defer();return t.resolve(e),t.promise},"function"==typeof e.reject?i.reject=e.reject:i.reject=function(e){var t=i.defer();return t.reject(e),t.promise},"function"==typeof e.all?i.all=e.all:i.all=n(),"function"==typeof e.allMap?i.allMap=e.allMap:i.allMap=n(!0),i.some=function(e,t){return n(!1,t||0)(e)},"function"==typeof e.map?i.map=e.map:i.map=function(e,t,n){function r(){if(s<a.length){var n=a[s],c=i.resolve(t(e[n],n,e)).then(function(e){return r(),e},o.reject);f.push(c),u--,s++}else i.all(f).then(o.resolve,o.reject)}var o=i.defer(),f=[],u=n?+n.concurrency:0;if(0==u||u!=u){for(var c in e)f.push(t(e[c],c,e));return i.all(f).then(o.resolve,o.reject),o.promise}var s=0,a=function(){var t=[];for(var n in e)t.push(n);return t}();do r();while(u>0&&s<a.length);return o.promise},"function"==typeof e.race?i.race=i.any=e.race:"function"==typeof e.any?i.race=i.any=e.any:i.race=i.any=function(e){for(var t=i.defer(),n=0;n<e.length;n++)+function(){var r=n,o=e[r];i.resolve(o).then(function(e){t.resolve(e)},function(e){t.reject(e)})}();return t.promise},i.nfcall=function(e){var t=this===i?null:this,n=i.defer(),r=Array.prototype.slice.call(arguments,1);return r.push(o(n)),e.apply(t,r),n.promise},i.nfapply=function(e,t){var n=this===i?null:this,r=i.defer();if("[object Array]"!==Object.prototype.toString.call(t))throw"args TypeError";return t.push(o(r)),e.apply(n,t),r.promise},i.denodeify=function(e){var t=this===i?null:this;return function(){return i.nfapply.call(t,e,Array.prototype.slice.call(arguments))}},i}t.exports=o},{}],6:[function(e,t,n){function r(e){var t=e.prototype;return t.done=function(e,t){this.then(function(t){"function"==typeof e&&setTimeout(function(){e(t)},0)},function(e){if("function"!=typeof t)throw e;setTimeout(function(){t(e)},0)})},t.spread=function(e,t){return this.then(function(t){return e.apply(null,t)},t)},t.fail=t.catch=function(e){return this.then(null,e)},Prototype.catchOf=function(e,t){return t=t||e,this.then(null,function(n){var r=typeof t;if("function"!=r)throw n;if(e===t)return t(n);if(e===n||"function"==typeof e&&n instanceof e)return t(n);throw n})},t.error=function(e){return this.catchOf(Error,e)},t.fin=t.finally=function(e){var t=function(t,n){try{e(t,n)}catch(e){}};return this.then(function(e){return t(e),e},function(e){throw t(null,e),e})},e}t.exports=r},{}],7:[function(e,t,n){t.exports=function(t){return e("../src/extendClass")(t),e("../src/extendPrototype")(t),t}},{"../src/extendClass":5,"../src/extendPrototype":6}]},{},[1]);
!function e(t,n,r){function o(u,f){if(!n[u]){if(!t[u]){var c="function"==typeof require&&require;if(!f&&c)return c(u,!0);if(i)return i(u,!0);throw new Error("Cannot find module '"+u+"'")}var s=n[u]={exports:{}};t[u][0].call(s.exports,function(e){var n=t[u][1][e];return o(n?n:e)},s,s.exports,e,t,n,r)}return n[u].exports}for(var i="function"==typeof require&&require,u=0;u<r.length;u++)o(r[u]);return o}({1:[function(e,t,n){!function(e,t){if("function"==typeof define&&(define.amd||define.cmd))define([],t);else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("加载 "+e+" 模块失败!,请检查您的环境!");var n="undefined"!=typeof window?window:self;n[e]=t()}}("Promise",function(){var t=e("../promise/setTimeout");return t})},{"../promise/setTimeout":4}],2:[function(e,t,n){t.exports=e("./src")(function(e){setTimeout(e,0)})},{"./src":3}],3:[function(e,t,n){"use strict";t.exports=function(e){function t(e,r){if(n(r))r.then(e.resolve,e.reject);else if(!r||"function"!=typeof r&&"object"!=typeof r)e.resolve(r);else{var o,i=!1;try{o=r.then,"function"==typeof o?o.call(r,function(n){i||(i=!0,t(e,n))},function(t){i||(i=!0,e.reject(t))}):e.resolve(r)}catch(t){i||(i=!0,e.reject(t))}}}function n(e){return e instanceof r}function r(e){function n(e){o.call(c,1,e)}function r(e){o.call(c,0,e)}function i(e){if(!s)return s=!0,c===e?r(new TypeError("The promise and its value refer to the same object")):void t({resolve:n,reject:r},e)}function u(e){s||(s=!0,r(e))}var c=this;this.status=-1,this._events=[];var s=!1;if(this.resolve=i,this.reject=u,e!==f&&"function"==typeof e)try{e(this.resolve,this.reject)}catch(e){this.reject(e)}}function o(e,t){var n=this;~this.status||(this.status=e,e?this.value=t:this.reason=t,i.call(n))}function i(){if(~this.status){for(var e=this,t=e._events,n=e.status?e.value:e.reason,r=e.status?0:1,o=0;o<t.length;o++)!function(t){var o=t[r],i=t[2];u(o,n,i,e.status)}(t[o]);t=[]}}function u(t,n,r,o){var i=r.resolve,u=r.reject;"function"==typeof t?e(function(){var e;try{e=t(n)}catch(e){return void u(e)}i(e)}):o?i(n):u(n)}var f=function(){};return r.defer=function(){var e=new r(f);return{promise:e,resolve:e.resolve,reject:e.reject}},r.resolve=function(e){return n(e)?e:new r(function(t,n){t(e)})},r.reject=function(e){return new r(function(t,n){n(e)})},Promise.prototype.toString=function(){return"[object Promise]"},r.prototype.then=function(e,t){var n=this.status,o=r.defer(),i=o.promise;return~n?n&&"function"==typeof e?u(e,this.value,i,n):n||"function"!=typeof t?n?o.resolve(this.value):o.reject(this.reason):u(t,this.reason,i,n):this._events.push([e,t,i]),i},r}},{}],4:[function(e,t,n){var r=e("easy-promise/setTimeout");t.exports=e("../src/polyfills")(r)},{"../src/polyfills":7,"easy-promise/setTimeout":2}],5:[function(e,t,n){"use strict";function r(e,t,n){function r(e){if(i(n)){for(var t=!1,r=0;r<n.length;r++)if(n[r]==e){t=!0;break}if(!t)return!1}return!h||!f(v[e])}function o(e,t){return u(t)||(t=+t>0?+t:0),function(n){var r,o=v.defer(),f=0,s=function(i){var c=n[i];v.resolve(c).then(function(n){r[i]=n,(0==--f||!e&&t&&r.length>=t)&&o.resolve(r)},function(e){u(t)?o.reject(e):0==--f&&o.resolve(r)}),f++};if(i(n)){r=[];for(var a=0;a<n.length;a++)s(a)}else if(e&&c(n)){r={};for(var a in n)s(a)}else o.reject(new TypeError);return o.promise}}function a(e){for(var t=v.defer(),n=0;n<e.length;n++)+function(){var r=n,o=e[r];v.resolve(o).then(function(e){t.resolve(e)},function(e){t.reject(e)})}();return t.promise}function l(e){return function(t,n){return t?e.reject(t):void e.resolve(n)}}function p(e){var t=this===v?null:this,n=v.defer(),r=s(arguments,1);r.push(l(n)),e.apply(t,r)}var v,h;return t?(h=!0,v=t):v=e,v.Promise||e==t||(v.Promise=e),f(e.defer)?v.defer=e.defer:f(e.deferred)?v.defer=e.deferred:v.defer=function(){var t,n,r=new e(function(e,r){t=e,n=r});return{promise:r,resolve:t,reject:n}},r("delay")&&(v.delay=function(e,t){var n=v.defer();return setTimeout(n.resolve,e,t),n.promise}),r("resolve")&&(v.resolve=function(e){var t=v.defer();return t.resolve(e),t.promise}),r("reject")&&(v.reject=function(e){var t=v.defer();return t.reject(e),t.promise}),r("all")&&(v.all=o()),r("allMap")&&(v.allMap=o(!0)),r("some")&&(v.some=function(e,t){return o(!1,t||0)(e)}),r("map")&&(v.map=function(e,t,n){function r(){if(c<s.length){var n=s[c],f=v.resolve(t(e[n],n,e)).then(function(e){return r(),e},o.reject);i.push(f),u--,c++}else v.all(i).then(o.resolve,o.reject)}var o=v.defer(),i=[],u=n?+n.concurrency:0;if(0==u||u!=u){for(var f in e)i.push(t(e[f],f,e));return v.all(i).then(o.resolve,o.reject),o.promise}var c=0,s=function(){var t=[];for(var n in e)t.push(n);return t}();do r();while(u>0&&c<s.length);return o.promise}),r("race")&&(v.race=a),r("any")&&(v.any=a),r("nfcall")&&(v.nfcall=p),r("nfapply")&&(v.nfapply=function(e,t){var n=this===v?null:this,r=v.defer();if(!i(t))throw"args TypeError";return t.push(l(r)),e.apply(n,t),r.promise}),v.denodeify=function(e){var t=this===v?null:this;return function(){return p.call(t,e,s(arguments))}},v}var o=e("./utils"),i=o.isArray,u=o.isEmpty,f=o.isFunction,c=o.isPlainObject,s=o.arg2arr;t.exports=r},{"./utils":8}],6:[function(e,t,n){function r(e){var t=e.prototype;return t.done=function(e,t){this.then(function(t){"function"==typeof e&&setTimeout(function(){e(t)},0)},function(e){if("function"!=typeof t)throw e;setTimeout(function(){t(e)},0)})},t.spread=function(e,t){return this.then(function(t){return e.apply(null,t)},t)},t.fail=t.catch=function(e){return this.then(null,e)},t.catchOf=function(e,t){return t=t||e,this.then(null,function(n){var r=typeof t;if("function"!=r)throw n;if(e===t)return t(n);if(e===n||"function"==typeof e&&n instanceof e)return t(n);throw n})},t.error=function(e){return this.catchOf(Error,e)},t.fin=t.finally=function(e){var t=function(t,n){try{e(t,n)}catch(e){}};return this.then(function(e){return t(e),e},function(e){throw t(null,e),e})},e}t.exports=r},{}],7:[function(e,t,n){t.exports=function(t){return e("../src/extendClass")(t),e("../src/extendPrototype")(t),t}},{"../src/extendClass":5,"../src/extendPrototype":6}],8:[function(e,t,n){"use strict";n.isPlainObject=function(e){return null!==e&&"object"==typeof e&&!e.nodeType&&e!==e.window&&!(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))},n.isArray=function(e){return"[objece Array]"==Object.prototype.toString.call(e)},n.isFunction=function(e){return"function"==typeof e},n.isEmpty=function(e){return"undefined"==typeof e||null===e},n.arg2arr=function(e,t,n){return Array.prototype.slice.call(e,t,n)}},{}]},{},[1]);
{
"name": "extend-promise",
"version": "0.0.2",
"version": "0.0.5",
"description": "基于promise扩展一些常用方法",

@@ -20,3 +20,3 @@ "main": "index.js",

},
"license": "BSD",
"license": "BSD-2-Clause",
"bugs": {

@@ -34,7 +34,7 @@ "url": "https://github.com/cnwhy/extend-promise/issues"

"istanbul": "^0.4.5",
"mocha": "^3.2.0"
"mocha": "^3.2.0",
"easy-promise": "0.0.3"
},
"dependencies": {
"easy-promise": "0.0.1"
}
}

@@ -1,13 +0,13 @@

function isPlainObject(obj) {
if (obj === null || typeof(obj) !== "object" || obj.nodeType || (obj === obj.window)) {
return false;
}
if (obj.constructor && !Object.prototype.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")) {
return false;
}
return true;
}
function extendClass(Promise,obj){
var QClass;
'use strict';
var utils = require('./utils')
var isArray = utils.isArray
,isEmpty = utils.isEmpty
,isFunction = utils.isFunction
,isPlainObject = utils.isPlainObject
,arg2arr = utils.arg2arr
function extendClass(Promise,obj,funnames){
var QClass,source;
if(obj){
source = true
QClass = obj;

@@ -18,10 +18,23 @@ }else{

function asbind(name){
if(isArray(funnames)){
var nomark = false;
for(var i = 0; i<funnames.length; i++){
if(funnames[i] == name){
nomark = true;
break;
}
}
if(!nomark) return false;
}
if(source){
return !isFunction(QClass[name]);
}
return true;
}
if(!QClass.Promise && Promise != obj) QClass.Promise = Promise;
//defer
if(typeof Promise.defer == "function"){
QClass.defer = Promise.defer
}else if(typeof Promise.deferred == "function"){
QClass.defer = Promise.deferred
}else{
if(isFunction(Promise) && isFunction(Promise.prototype.then)){
QClass.defer = function() {

@@ -39,11 +52,17 @@ var resolve, reject;

}
}else if(isFunction(Promise.defer)){
QClass.defer = function(){return Promise.defer();}
}else if(isFunction(Promise.deferred)){
QClass.defer = function(){return Promise.deferred();}
}else{
throw new TypeError("此类不支持扩展!")
}
//delay
if(typeof Promise.delay == "function"){
QClass.delay = Promise.delay;
}else{
if(asbind("delay")){
QClass.delay = function(ms,value){
var defer = QClass.defer();
setTimeout(defer.resolve,ms,value)
setTimeout(function(){
defer.resolve(value);
},ms)
return defer.promise;

@@ -54,5 +73,3 @@ }

//resolve
if(typeof Promise.resolve == "function"){
QClass.resolve = Promise.resolve;
}else{
if(asbind("resolve")){
QClass.resolve = function(obj){

@@ -66,5 +83,3 @@ var defer = QClass.defer();

//reject
if(typeof Promise.reject == "function"){
QClass.reject = Promise.reject;
}else{
if(asbind("reject")){
QClass.reject = function(obj){

@@ -78,3 +93,5 @@ var defer = QClass.defer();

function getall(map,count){
count = +count > 0 ? +count : 0;
if(!isEmpty(count)){
count = +count > 0 ? +count : 0;
}
return function(promises) {

@@ -86,3 +103,3 @@ var defer = QClass.defer();

QClass.resolve(_p).then(function(d) {
if(map || !count (count && data.length<count)) data[i] = d;
data[i] = d;
if (--_tempI == 0 || (!map && count && data.length>=count)) {

@@ -92,3 +109,3 @@ defer.resolve(data);

}, function(err) {
if (typeof count == "undefined") {
if (isEmpty(count)) {
defer.reject(err);

@@ -101,3 +118,3 @@ }else if(--_tempI == 0){

}
if(Object.prototype.toString.call(promises) === '[object Array]'){
if(isArray(promises)){
data = [];

@@ -113,3 +130,3 @@ for(var i = 0; i<promises.length; i++){

}else{
defer.reject(new TypeError());
defer.reject(new TypeError("参数错误"));
}

@@ -121,22 +138,18 @@ return defer.promise;

//all
if(typeof Promise.all == "function"){
QClass.all = Promise.all;
}else{
if(asbind("all")){
QClass.all = getall()
}
if (typeof Promise.allMap == "function") {
QClass.allMap = Promise.allMap;
} else {
if(asbind("allMap")){
QClass.allMap = getall(true);
}
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
if(asbind("some")){
QClass.some = function(proArr,count){
return getall(false,count||0)(proArr)
}
}
//map
if(typeof Promise.map == "function"){
QClass.map = Promise.map;
}else{
if(asbind("map")){
QClass.map = function(data,mapfun,options){

@@ -184,27 +197,28 @@ var defer = QClass.defer();

//any | race
if(typeof Promise.race == "function"){
QClass.race = QClass.any = Promise.race;
}else if(typeof Promise.any == "function"){
QClass.race = QClass.any = Promise.any
}else{
QClass.race = QClass.any = function(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
function race(proArr) {
var defer = QClass.defer();
for (var i = 0; i < proArr.length; i++) {
+ function() {
var _i = i;
//nextTick(function() {
var _p = proArr[_i];
QClass.resolve(_p).then(function(data) {
defer.resolve(data);
}, function(err) {
defer.reject(err);
})
//}, 0)
}()
}
return defer.promise;
}
//any | race
if(asbind("race")){
QClass.race = race;
}
if(asbind("any")){
QClass.any = race;
}
/*封装CPS*/

@@ -218,21 +232,27 @@ //callback Adapter

}
QClass.nfcall = function(f){
function nfcall(f){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
var argsArray = Array.prototype.slice.call(arguments,1)
var argsArray = arg2arr(arguments,1)
argsArray.push(cbAdapter(defer))
f.apply(_this,argsArray)
return defer.promise;
}
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(Object.prototype.toString.call(args) === '[object Array]'){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw "args TypeError"
if(asbind("nfcall")){
QClass.nfcall = nfcall;
}
if(asbind("nfapply")){
QClass.nfapply = function(f,args){
var _this = this === QClass ? null : this;
var defer = QClass.defer();
if(isArray(args)){
args.push(cbAdapter(defer));
f.apply(_this,args)
}else{
throw TypeError('"args" is not Array')
}
return defer.promise;
}
return defer.promise;
}

@@ -243,3 +263,3 @@

return function(){
return QClass.nfapply.call(_this,f,Array.prototype.slice.call(arguments))
return nfcall.call(_this,f,arg2arr(arguments))
}

@@ -246,0 +266,0 @@ }

@@ -26,3 +26,3 @@ function extendPrototype(Promise){

*/
Prototype.catchOf = function(errType,fn){
prototype.catchOf = function(errType,fn){
fn = fn || errType;

@@ -29,0 +29,0 @@ return this.then(null,function(err){

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc