X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpools%2Fabstract-pool.ts;h=3b79565e062aa7b1660e42eb506478ca07d79da4;hb=27469db4f589429f5dd309187b1de2aae0275cb0;hp=8dedf2052baa90603be809d488639f0e9cb256fd;hpb=88860dc62ddf62947b3b76703d4be7bf9137e401;p=poolifier.git diff --git a/src/pools/abstract-pool.ts b/src/pools/abstract-pool.ts index 8dedf205..3b79565e 100644 --- a/src/pools/abstract-pool.ts +++ b/src/pools/abstract-pool.ts @@ -1232,8 +1232,18 @@ export abstract class AbstractPool< name?: string, transferList?: readonly TransferListItem[] ): Promise { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (data == null) { + throw new TypeError('data argument must be a defined iterable') + } + if (typeof data[Symbol.iterator] !== 'function') { + throw new TypeError('data argument must be an iterable') + } + if (!Array.isArray(data)) { + data = [...data] + } return Promise.all( - [...data].map(data => this.execute(data, name, transferList)) + (data as Data[]).map(data => this.execute(data, name, transferList)) ) }