Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2022-12-28 20:58:16 +03:00
parent e250a87ff4
commit 6a77aaab91

View File

@ -337,13 +337,20 @@ object.Constructor('IterablePromise', Promise, {
[map](function(elem){
//* XXX migrate code from old .__pack(..)...
// XXX these are not the same:
// await Promise.iter(['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])])
// await Promise.iter(
// ['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])])
// and:
// await Promise.iter(['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])], e => e)
// await Promise.iter(
// ['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])],
// e => e)
// this produces the correct result:
// await Promise.iter(['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])], e => [e])
// await Promise.iter(
// ['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])],
// e => [e])
// this does not flatten the promise:
// await Promise.iter(['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])]).flat()
// await Promise.iter(
// ['a', 'b', 'c', [3,2,1], Promise.all([1,2,3])])
// .flat()
// XXX need a strict spec...
return elem instanceof IterablePromise ?
(elem.isSync() ?