ig-types 6.25.0 → 6.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Promise.js +14 -18
- package/package.json +1 -1
- package/test.js +15 -1
package/Promise.js
CHANGED
|
@@ -851,33 +851,29 @@ object.Constructor('IterablePromise', Promise, {
|
|
|
851
851
|
// NOTE: this is needed for self-resolve...
|
|
852
852
|
writable: true,
|
|
853
853
|
})
|
|
854
|
+
|
|
854
855
|
// handle promise state...
|
|
855
856
|
try{
|
|
856
857
|
var res = obj.__unpack(list)
|
|
857
858
|
}catch(err){
|
|
858
859
|
promise.reject(err) }
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
/*/ XXX use selfResolve(..)
|
|
872
|
-
: selfResolve(list) }
|
|
873
|
-
/*/
|
|
874
|
-
: list.forEach(function(elem, i){
|
|
860
|
+
|
|
861
|
+
if(res instanceof Promise){
|
|
862
|
+
res.then(
|
|
863
|
+
function(list){
|
|
864
|
+
promise.resolve(list)
|
|
865
|
+
// self-resolve...
|
|
866
|
+
obj.__packed = list },
|
|
867
|
+
handleError)
|
|
868
|
+
} else {
|
|
869
|
+
promise.resolve(res)
|
|
870
|
+
// self-resolve...
|
|
871
|
+
res.forEach(function(elem, i){
|
|
875
872
|
elem instanceof Promise
|
|
876
873
|
&& elem.then(function(elem){
|
|
877
874
|
lst = obj.__packed.slice()
|
|
878
875
|
lst[i] = elem
|
|
879
|
-
obj.__packed = lst }) }) }
|
|
880
|
-
//*/
|
|
876
|
+
obj.__packed = lst }) }) } }
|
|
881
877
|
return obj },
|
|
882
878
|
})
|
|
883
879
|
|
package/package.json
CHANGED
package/test.js
CHANGED
|
@@ -495,7 +495,21 @@ var cases = test.Cases({
|
|
|
495
495
|
function(err){
|
|
496
496
|
return 'done' })
|
|
497
497
|
== 'done',
|
|
498
|
-
`.${iter}(..): late onerror(..)`)
|
|
498
|
+
`.${iter}(..): late onerror(..)`)
|
|
499
|
+
assert(
|
|
500
|
+
await Promise[iter](
|
|
501
|
+
(function*(){
|
|
502
|
+
yield* [1,2,3]
|
|
503
|
+
throw 'ERROR' })(),
|
|
504
|
+
function(e){
|
|
505
|
+
if(e == 4){
|
|
506
|
+
throw 'ERROR' }
|
|
507
|
+
return e },
|
|
508
|
+
function(err){
|
|
509
|
+
return 'done' })
|
|
510
|
+
== 'done',
|
|
511
|
+
`.${iter}(..): late onerror(..)`)
|
|
512
|
+
}
|
|
499
513
|
},
|
|
500
514
|
|
|
501
515
|
// Date.js
|