response-iterator 0.2.4 → 0.2.5

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/dist/cjs/index.js CHANGED
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  module.exports = responseIterator;
6
- var _asyncJs = _interopRequireDefault(require("./iterators/async.js"));
7
- var _nodeStreamJs = _interopRequireDefault(require("./iterators/nodeStream.js"));
8
- var _promiseJs = _interopRequireDefault(require("./iterators/promise.js"));
9
- var _readerJs = _interopRequireDefault(require("./iterators/reader.js"));
6
+ var _asyncTs = _interopRequireDefault(require("./iterators/async.js"));
7
+ var _nodeStreamTs = _interopRequireDefault(require("./iterators/nodeStream.js"));
8
+ var _promiseTs = _interopRequireDefault(require("./iterators/promise.js"));
9
+ var _readerTs = _interopRequireDefault(require("./iterators/reader.js"));
10
10
  function responseIterator(response) {
11
11
  if (response === undefined) throw new Error("Missing response for responseIterator");
12
12
  // determine the body
@@ -15,11 +15,11 @@ function responseIterator(response) {
15
15
  else if (response.data) body = response.data;
16
16
  else if (response._bodyBlob) body = response._bodyBlob; // cross-fetch
17
17
  /* c8 ignore stop */ // adapt the body
18
- if (hasIterator && body[Symbol.asyncIterator]) return (0, _asyncJs).default(body);
19
- /* c8 ignore start */ if (body.getReader) return (0, _readerJs).default(body.getReader());
20
- if (body.stream) return (0, _readerJs).default(body.stream().getReader());
21
- if (body.arrayBuffer) return (0, _promiseJs).default(body.arrayBuffer());
22
- if (body.pipe) return (0, _nodeStreamJs).default(body);
18
+ if (hasIterator && body[Symbol.asyncIterator]) return (0, _asyncTs).default(body);
19
+ /* c8 ignore start */ if (body.getReader) return (0, _readerTs).default(body.getReader());
20
+ if (body.stream) return (0, _readerTs).default(body.stream().getReader());
21
+ if (body.arrayBuffer) return (0, _promiseTs).default(body.arrayBuffer());
22
+ if (body.pipe) return (0, _nodeStreamTs).default(body);
23
23
  /* c8 ignore stop */ throw new Error("Unknown body type for responseIterator. Maybe you are not passing a streamable response");
24
24
  }
25
25
  function _interopRequireDefault(obj) {
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["import { AxiosResponse } from 'axios';\nimport { Response as NodeResponse } from 'node-fetch';\nimport { Readable as NodeReadableStream } from 'stream';\n\nimport asyncIterator from './iterators/async.js';\nimport nodeStreamIterator from './iterators/nodeStream.js';\nimport promiseIterator from './iterators/promise.js';\nimport readerIterator from './iterators/reader.js';\n\ninterface CrossFetchResponse {\n _bodyBlob: Blob;\n}\n\nconst hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/**\n * @param response A response. Supports fetch, node-fetch, and cross-fetch\n */\nexport default function responseIterator<T>(response: unknown): AsyncIterableIterator<T> {\n if (response === undefined) throw new Error('Missing response for responseIterator');\n\n // determine the body\n let body: unknown = response;\n if ((response as NodeResponse).body) body = (response as NodeResponse).body;\n // node-fetch, browser fetch, undici\n else if ((response as AxiosResponse).data) body = (response as AxiosResponse).data;\n // axios\n /* c8 ignore start */ else if ((response as CrossFetchResponse)._bodyBlob) body = (response as CrossFetchResponse)._bodyBlob; // cross-fetch\n /* c8 ignore stop */\n\n // adapt the body\n if (hasIterator && body[Symbol.asyncIterator]) return asyncIterator<T>(body as AsyncIterableIterator<T>);\n /* c8 ignore start */\n if ((body as ReadableStream<T>).getReader) return readerIterator<T>((body as ReadableStream<T>).getReader());\n if ((body as Blob).stream) return readerIterator<T>(((body as Blob).stream() as unknown as ReadableStream<T>).getReader());\n if ((body as Blob).arrayBuffer) return promiseIterator<T>((body as Blob).arrayBuffer());\n if ((body as NodeReadableStream).pipe) return nodeStreamIterator<T>(body as NodeReadableStream);\n /* c8 ignore stop */\n\n throw new Error('Unknown body type for responseIterator. Maybe you are not passing a streamable response');\n}\n"],"names":["responseIterator","response","undefined","Error","body","data","_bodyBlob","hasIterator","Symbol","asyncIterator","getReader","readerIterator","stream","arrayBuffer","promiseIterator","pipe","nodeStreamIterator"],"mappings":"AAAA;;;;kBAkBwBA,gBAAgB;AAdd,IAAA,QAAsB,kCAAtB,sBAAsB,EAAA;AACjB,IAAA,aAA2B,kCAA3B,2BAA2B,EAAA;AAC9B,IAAA,UAAwB,kCAAxB,wBAAwB,EAAA;AACzB,IAAA,SAAuB,kCAAvB,uBAAuB,EAAA;AAWnC,SAASA,gBAAgB,CAAIC,QAAiB,EAA4B;IACvF,IAAIA,QAAQ,KAAKC,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAErF,qBAAqB;IACrB,IAAIC,IAAI,GAAYH,QAAQ,AAAC;IAC7B,IAAI,AAACA,QAAQ,CAAkBG,IAAI,EAAEA,IAAI,GAAG,AAACH,QAAQ,CAAkBG,IAAI,CAAC;SAEvE,IAAI,AAACH,QAAQ,CAAmBI,IAAI,EAAED,IAAI,GAAG,AAACH,QAAQ,CAAmBI,IAAI,CAAC;SAExD,IAAI,AAACJ,QAAQ,CAAwBK,SAAS,EAAEF,IAAI,GAAG,AAACH,QAAQ,CAAwBK,SAAS,CAAC,CAAC,cAAc;IAC5I,oBAAoB,CAEpB,iBAAiB;IACjB,IAAIC,WAAW,IAAIH,IAAI,CAACI,MAAM,CAACC,aAAa,CAAC,EAAE,OAAOA,CAAAA,GAAAA,QAAa,AAAqC,CAAA,QAArC,CAAIL,IAAI,CAA6B,CAAC;IACzG,qBAAqB,CACrB,IAAI,AAACA,IAAI,CAAuBM,SAAS,EAAE,OAAOC,CAAAA,GAAAA,SAAc,AAA4C,CAAA,QAA5C,CAAI,AAACP,IAAI,CAAuBM,SAAS,EAAE,CAAC,CAAC;IAC7G,IAAI,AAACN,IAAI,CAAUQ,MAAM,EAAE,OAAOD,CAAAA,GAAAA,SAAc,AAA0E,CAAA,QAA1E,CAAI,AAAC,AAACP,IAAI,CAAUQ,MAAM,EAAE,CAAkCF,SAAS,EAAE,CAAC,CAAC;IAC3H,IAAI,AAACN,IAAI,CAAUS,WAAW,EAAE,OAAOC,CAAAA,GAAAA,UAAe,AAAiC,CAAA,QAAjC,CAAI,AAACV,IAAI,CAAUS,WAAW,EAAE,CAAC,CAAC;IACxF,IAAI,AAACT,IAAI,CAAwBW,IAAI,EAAE,OAAOC,CAAAA,GAAAA,aAAkB,AAA+B,CAAA,QAA/B,CAAIZ,IAAI,CAAuB,CAAC;IAChG,oBAAoB,CAEpB,MAAM,IAAID,KAAK,CAAC,yFAAyF,CAAC,CAAC;CAC5G;;;;;;AA3BD,IAAMI,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["import { AxiosResponse } from 'axios';\nimport { Response as NodeResponse } from 'node-fetch';\nimport { Readable as NodeReadableStream } from 'stream';\n\n// @ts-ignore\nimport asyncIterator from './iterators/async.ts';\n// @ts-ignore\nimport nodeStreamIterator from './iterators/nodeStream.ts';\n// @ts-ignore\nimport promiseIterator from './iterators/promise.ts';\n// @ts-ignore\nimport readerIterator from './iterators/reader.ts';\n\ninterface CrossFetchResponse {\n _bodyBlob: Blob;\n}\n\nconst hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/**\n * @param response A response. Supports fetch, node-fetch, and cross-fetch\n */\nexport default function responseIterator<T>(response: unknown): AsyncIterableIterator<T> {\n if (response === undefined) throw new Error('Missing response for responseIterator');\n\n // determine the body\n let body: unknown = response;\n if ((response as NodeResponse).body) body = (response as NodeResponse).body;\n // node-fetch, browser fetch, undici\n else if ((response as AxiosResponse).data) body = (response as AxiosResponse).data;\n // axios\n /* c8 ignore start */ else if ((response as CrossFetchResponse)._bodyBlob) body = (response as CrossFetchResponse)._bodyBlob; // cross-fetch\n /* c8 ignore stop */\n\n // adapt the body\n if (hasIterator && body[Symbol.asyncIterator]) return asyncIterator<T>(body as AsyncIterableIterator<T>);\n /* c8 ignore start */\n if ((body as ReadableStream<T>).getReader) return readerIterator<T>((body as ReadableStream<T>).getReader());\n if ((body as Blob).stream) return readerIterator<T>(((body as Blob).stream() as unknown as ReadableStream<T>).getReader());\n if ((body as Blob).arrayBuffer) return promiseIterator<T>((body as Blob).arrayBuffer());\n if ((body as NodeReadableStream).pipe) return nodeStreamIterator<T>(body as NodeReadableStream);\n /* c8 ignore stop */\n\n throw new Error('Unknown body type for responseIterator. Maybe you are not passing a streamable response');\n}\n"],"names":["responseIterator","response","undefined","Error","body","data","_bodyBlob","hasIterator","Symbol","asyncIterator","getReader","readerIterator","stream","arrayBuffer","promiseIterator","pipe","nodeStreamIterator"],"mappings":"AAAA;;;;kBAsBwBA,gBAAgB;AAjBd,IAAA,QAAsB,kCAAtB,sBAAsB,EAAA;AAEjB,IAAA,aAA2B,kCAA3B,2BAA2B,EAAA;AAE9B,IAAA,UAAwB,kCAAxB,wBAAwB,EAAA;AAEzB,IAAA,SAAuB,kCAAvB,uBAAuB,EAAA;AAWnC,SAASA,gBAAgB,CAAIC,QAAiB,EAA4B;IACvF,IAAIA,QAAQ,KAAKC,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAErF,qBAAqB;IACrB,IAAIC,IAAI,GAAYH,QAAQ,AAAC;IAC7B,IAAI,AAACA,QAAQ,CAAkBG,IAAI,EAAEA,IAAI,GAAG,AAACH,QAAQ,CAAkBG,IAAI,CAAC;SAEvE,IAAI,AAACH,QAAQ,CAAmBI,IAAI,EAAED,IAAI,GAAG,AAACH,QAAQ,CAAmBI,IAAI,CAAC;SAExD,IAAI,AAACJ,QAAQ,CAAwBK,SAAS,EAAEF,IAAI,GAAG,AAACH,QAAQ,CAAwBK,SAAS,CAAC,CAAC,cAAc;IAC5I,oBAAoB,CAEpB,iBAAiB;IACjB,IAAIC,WAAW,IAAIH,IAAI,CAACI,MAAM,CAACC,aAAa,CAAC,EAAE,OAAOA,CAAAA,GAAAA,QAAa,AAAqC,CAAA,QAArC,CAAIL,IAAI,CAA6B,CAAC;IACzG,qBAAqB,CACrB,IAAI,AAACA,IAAI,CAAuBM,SAAS,EAAE,OAAOC,CAAAA,GAAAA,SAAc,AAA4C,CAAA,QAA5C,CAAI,AAACP,IAAI,CAAuBM,SAAS,EAAE,CAAC,CAAC;IAC7G,IAAI,AAACN,IAAI,CAAUQ,MAAM,EAAE,OAAOD,CAAAA,GAAAA,SAAc,AAA0E,CAAA,QAA1E,CAAI,AAAC,AAACP,IAAI,CAAUQ,MAAM,EAAE,CAAkCF,SAAS,EAAE,CAAC,CAAC;IAC3H,IAAI,AAACN,IAAI,CAAUS,WAAW,EAAE,OAAOC,CAAAA,GAAAA,UAAe,AAAiC,CAAA,QAAjC,CAAI,AAACV,IAAI,CAAUS,WAAW,EAAE,CAAC,CAAC;IACxF,IAAI,AAACT,IAAI,CAAwBW,IAAI,EAAE,OAAOC,CAAAA,GAAAA,aAAkB,AAA+B,CAAA,QAA/B,CAAIZ,IAAI,CAAuB,CAAC;IAChG,oBAAoB,CAEpB,MAAM,IAAID,KAAK,CAAC,yFAAyF,CAAC,CAAC;CAC5G;;;;;;AA3BD,IAAMI,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC"}
@@ -1,14 +1,18 @@
1
- import asyncIterator from './iterators/async.mjs';
2
- import nodeStreamIterator from './iterators/nodeStream.mjs';
3
- import promiseIterator from './iterators/promise.mjs';
4
- import readerIterator from './iterators/reader.mjs';
5
- const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
1
+ // @ts-ignore
2
+ import asyncIterator from "./iterators/async.mjs";
3
+ // @ts-ignore
4
+ import nodeStreamIterator from "./iterators/nodeStream.mjs";
5
+ // @ts-ignore
6
+ import promiseIterator from "./iterators/promise.mjs";
7
+ // @ts-ignore
8
+ import readerIterator from "./iterators/reader.mjs";
9
+ var hasIterator = typeof Symbol !== "undefined" && Symbol.asyncIterator;
6
10
  /**
7
11
  * @param response A response. Supports fetch, node-fetch, and cross-fetch
8
12
  */ export default function responseIterator(response) {
9
- if (response === undefined) throw new Error('Missing response for responseIterator');
13
+ if (response === undefined) throw new Error("Missing response for responseIterator");
10
14
  // determine the body
11
- let body = response;
15
+ var body = response;
12
16
  if (response.body) body = response.body;
13
17
  else if (response.data) body = response.data;
14
18
  else if (response._bodyBlob) body = response._bodyBlob; // cross-fetch
@@ -18,5 +22,5 @@ const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
18
22
  if (body.stream) return readerIterator(body.stream().getReader());
19
23
  if (body.arrayBuffer) return promiseIterator(body.arrayBuffer());
20
24
  if (body.pipe) return nodeStreamIterator(body);
21
- /* c8 ignore stop */ throw new Error('Unknown body type for responseIterator. Maybe you are not passing a streamable response');
25
+ /* c8 ignore stop */ throw new Error("Unknown body type for responseIterator. Maybe you are not passing a streamable response");
22
26
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["import { AxiosResponse } from 'axios';\nimport { Response as NodeResponse } from 'node-fetch';\nimport { Readable as NodeReadableStream } from 'stream';\n\nimport asyncIterator from './iterators/async.js';\nimport nodeStreamIterator from './iterators/nodeStream.js';\nimport promiseIterator from './iterators/promise.js';\nimport readerIterator from './iterators/reader.js';\n\ninterface CrossFetchResponse {\n _bodyBlob: Blob;\n}\n\nconst hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/**\n * @param response A response. Supports fetch, node-fetch, and cross-fetch\n */\nexport default function responseIterator<T>(response: unknown): AsyncIterableIterator<T> {\n if (response === undefined) throw new Error('Missing response for responseIterator');\n\n // determine the body\n let body: unknown = response;\n if ((response as NodeResponse).body) body = (response as NodeResponse).body;\n // node-fetch, browser fetch, undici\n else if ((response as AxiosResponse).data) body = (response as AxiosResponse).data;\n // axios\n /* c8 ignore start */ else if ((response as CrossFetchResponse)._bodyBlob) body = (response as CrossFetchResponse)._bodyBlob; // cross-fetch\n /* c8 ignore stop */\n\n // adapt the body\n if (hasIterator && body[Symbol.asyncIterator]) return asyncIterator<T>(body as AsyncIterableIterator<T>);\n /* c8 ignore start */\n if ((body as ReadableStream<T>).getReader) return readerIterator<T>((body as ReadableStream<T>).getReader());\n if ((body as Blob).stream) return readerIterator<T>(((body as Blob).stream() as unknown as ReadableStream<T>).getReader());\n if ((body as Blob).arrayBuffer) return promiseIterator<T>((body as Blob).arrayBuffer());\n if ((body as NodeReadableStream).pipe) return nodeStreamIterator<T>(body as NodeReadableStream);\n /* c8 ignore stop */\n\n throw new Error('Unknown body type for responseIterator. Maybe you are not passing a streamable response');\n}\n"],"names":["asyncIterator","nodeStreamIterator","promiseIterator","readerIterator","hasIterator","Symbol","responseIterator","response","undefined","Error","body","data","_bodyBlob","getReader","stream","arrayBuffer","pipe"],"mappings":"AAIA,OAAOA,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAOC,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAOC,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAOC,cAAc,MAAM,uBAAuB,CAAC;AAMnD,MAAMC,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACL,aAAa,AAAC;AAE1E;;GAEG,CACH,eAAe,SAASM,gBAAgB,CAAIC,QAAiB,EAA4B;IACvF,IAAIA,QAAQ,KAAKC,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAErF,qBAAqB;IACrB,IAAIC,IAAI,GAAYH,QAAQ,AAAC;IAC7B,IAAI,AAACA,QAAQ,CAAkBG,IAAI,EAAEA,IAAI,GAAG,AAACH,QAAQ,CAAkBG,IAAI,CAAC;SAEvE,IAAI,AAACH,QAAQ,CAAmBI,IAAI,EAAED,IAAI,GAAG,AAACH,QAAQ,CAAmBI,IAAI,CAAC;SAExD,IAAI,AAACJ,QAAQ,CAAwBK,SAAS,EAAEF,IAAI,GAAG,AAACH,QAAQ,CAAwBK,SAAS,CAAC,CAAC,cAAc;IAC5I,oBAAoB,CAEpB,iBAAiB;IACjB,IAAIR,WAAW,IAAIM,IAAI,CAACL,MAAM,CAACL,aAAa,CAAC,EAAE,OAAOA,aAAa,CAAIU,IAAI,CAA6B,CAAC;IACzG,qBAAqB,CACrB,IAAI,AAACA,IAAI,CAAuBG,SAAS,EAAE,OAAOV,cAAc,CAAI,AAACO,IAAI,CAAuBG,SAAS,EAAE,CAAC,CAAC;IAC7G,IAAI,AAACH,IAAI,CAAUI,MAAM,EAAE,OAAOX,cAAc,CAAI,AAAC,AAACO,IAAI,CAAUI,MAAM,EAAE,CAAkCD,SAAS,EAAE,CAAC,CAAC;IAC3H,IAAI,AAACH,IAAI,CAAUK,WAAW,EAAE,OAAOb,eAAe,CAAI,AAACQ,IAAI,CAAUK,WAAW,EAAE,CAAC,CAAC;IACxF,IAAI,AAACL,IAAI,CAAwBM,IAAI,EAAE,OAAOf,kBAAkB,CAAIS,IAAI,CAAuB,CAAC;IAChG,oBAAoB,CAEpB,MAAM,IAAID,KAAK,CAAC,yFAAyF,CAAC,CAAC;CAC5G,CAAA"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["import { AxiosResponse } from 'axios';\nimport { Response as NodeResponse } from 'node-fetch';\nimport { Readable as NodeReadableStream } from 'stream';\n\n// @ts-ignore\nimport asyncIterator from './iterators/async.ts';\n// @ts-ignore\nimport nodeStreamIterator from './iterators/nodeStream.ts';\n// @ts-ignore\nimport promiseIterator from './iterators/promise.ts';\n// @ts-ignore\nimport readerIterator from './iterators/reader.ts';\n\ninterface CrossFetchResponse {\n _bodyBlob: Blob;\n}\n\nconst hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/**\n * @param response A response. Supports fetch, node-fetch, and cross-fetch\n */\nexport default function responseIterator<T>(response: unknown): AsyncIterableIterator<T> {\n if (response === undefined) throw new Error('Missing response for responseIterator');\n\n // determine the body\n let body: unknown = response;\n if ((response as NodeResponse).body) body = (response as NodeResponse).body;\n // node-fetch, browser fetch, undici\n else if ((response as AxiosResponse).data) body = (response as AxiosResponse).data;\n // axios\n /* c8 ignore start */ else if ((response as CrossFetchResponse)._bodyBlob) body = (response as CrossFetchResponse)._bodyBlob; // cross-fetch\n /* c8 ignore stop */\n\n // adapt the body\n if (hasIterator && body[Symbol.asyncIterator]) return asyncIterator<T>(body as AsyncIterableIterator<T>);\n /* c8 ignore start */\n if ((body as ReadableStream<T>).getReader) return readerIterator<T>((body as ReadableStream<T>).getReader());\n if ((body as Blob).stream) return readerIterator<T>(((body as Blob).stream() as unknown as ReadableStream<T>).getReader());\n if ((body as Blob).arrayBuffer) return promiseIterator<T>((body as Blob).arrayBuffer());\n if ((body as NodeReadableStream).pipe) return nodeStreamIterator<T>(body as NodeReadableStream);\n /* c8 ignore stop */\n\n throw new Error('Unknown body type for responseIterator. Maybe you are not passing a streamable response');\n}\n"],"names":["asyncIterator","nodeStreamIterator","promiseIterator","readerIterator","hasIterator","Symbol","responseIterator","response","undefined","Error","body","data","_bodyBlob","getReader","stream","arrayBuffer","pipe"],"mappings":"AAIA,aAAa;AACb,OAAOA,aAAa,MAAM,sBAAsB,CAAC;AACjD,aAAa;AACb,OAAOC,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,aAAa;AACb,OAAOC,eAAe,MAAM,wBAAwB,CAAC;AACrD,aAAa;AACb,OAAOC,cAAc,MAAM,uBAAuB,CAAC;AAMnD,IAAMC,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACL,aAAa,AAAC;AAE1E;;GAEG,CACH,eAAe,SAASM,gBAAgB,CAAIC,QAAiB,EAA4B;IACvF,IAAIA,QAAQ,KAAKC,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAErF,qBAAqB;IACrB,IAAIC,IAAI,GAAYH,QAAQ,AAAC;IAC7B,IAAI,AAACA,QAAQ,CAAkBG,IAAI,EAAEA,IAAI,GAAG,AAACH,QAAQ,CAAkBG,IAAI,CAAC;SAEvE,IAAI,AAACH,QAAQ,CAAmBI,IAAI,EAAED,IAAI,GAAG,AAACH,QAAQ,CAAmBI,IAAI,CAAC;SAExD,IAAI,AAACJ,QAAQ,CAAwBK,SAAS,EAAEF,IAAI,GAAG,AAACH,QAAQ,CAAwBK,SAAS,CAAC,CAAC,cAAc;IAC5I,oBAAoB,CAEpB,iBAAiB;IACjB,IAAIR,WAAW,IAAIM,IAAI,CAACL,MAAM,CAACL,aAAa,CAAC,EAAE,OAAOA,aAAa,CAAIU,IAAI,CAA6B,CAAC;IACzG,qBAAqB,CACrB,IAAI,AAACA,IAAI,CAAuBG,SAAS,EAAE,OAAOV,cAAc,CAAI,AAACO,IAAI,CAAuBG,SAAS,EAAE,CAAC,CAAC;IAC7G,IAAI,AAACH,IAAI,CAAUI,MAAM,EAAE,OAAOX,cAAc,CAAI,AAAC,AAACO,IAAI,CAAUI,MAAM,EAAE,CAAkCD,SAAS,EAAE,CAAC,CAAC;IAC3H,IAAI,AAACH,IAAI,CAAUK,WAAW,EAAE,OAAOb,eAAe,CAAI,AAACQ,IAAI,CAAUK,WAAW,EAAE,CAAC,CAAC;IACxF,IAAI,AAACL,IAAI,CAAwBM,IAAI,EAAE,OAAOf,kBAAkB,CAAIS,IAAI,CAAuB,CAAC;IAChG,oBAAoB,CAEpB,MAAM,IAAID,KAAK,CAAC,yFAAyF,CAAC,CAAC;CAC5G,CAAA"}
@@ -1,11 +1,23 @@
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
1
14
  export default function asyncIterator(source) {
2
- const iterator = source[Symbol.asyncIterator]();
3
- return {
4
- next () {
15
+ var iterator = source[Symbol.asyncIterator]();
16
+ return _defineProperty({
17
+ next: function next() {
5
18
  return iterator.next();
6
- },
7
- [Symbol.asyncIterator] () {
8
- return this;
9
19
  }
10
- };
20
+ }, Symbol.asyncIterator, function() {
21
+ return this;
22
+ });
11
23
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["async.ts"],"sourcesContent":["export default function asyncIterator<T>(source): AsyncIterableIterator<T> {\n const iterator = source[Symbol.asyncIterator]();\n return {\n next(): Promise<IteratorResult<T, boolean>> {\n return iterator.next();\n },\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n },\n } as AsyncIterableIterator<T>;\n}\n"],"names":["asyncIterator","source","iterator","Symbol","next"],"mappings":"AAAA,eAAe,SAASA,aAAa,CAAIC,MAAM,EAA4B;IACzE,MAAMC,QAAQ,GAAGD,MAAM,CAACE,MAAM,CAACH,aAAa,CAAC,EAAE,AAAC;IAChD,OAAO;QACLI,IAAI,IAAwC;YAC1C,OAAOF,QAAQ,CAACE,IAAI,EAAE,CAAC;SACxB;QACD,CAACD,MAAM,CAACH,aAAa,CAAC,IAAqB;YACzC,OAAO,IAAI,CAAC;SACb;KACF,CAA6B;CAC/B,CAAA"}
1
+ {"version":3,"sources":["async.ts"],"sourcesContent":["export default function asyncIterator<T>(source): AsyncIterableIterator<T> {\n const iterator = source[Symbol.asyncIterator]();\n return {\n next(): Promise<IteratorResult<T, boolean>> {\n return iterator.next();\n },\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n },\n } as AsyncIterableIterator<T>;\n}\n"],"names":["asyncIterator","source","iterator","Symbol","next"],"mappings":"AAAA;;;;;;;;;;;;;AAAA,eAAe,SAASA,aAAa,CAAIC,MAAM,EAA4B;IACzE,IAAMC,QAAQ,GAAGD,MAAM,CAACE,MAAM,CAACH,aAAa,CAAC,EAAE,AAAC;IAChD,OAIE;QAHAI,IAAI,EAAJA,SAAAA,IAAI,GAAwC;YAC1C,OAAOF,QAAQ,CAACE,IAAI,EAAE,CAAC;SACxB;OACAD,MAAM,CAACH,aAAa,EAArB,WAA2C;QACzC,OAAO,IAAI,CAAC;KACb,CAAA,CAC2B;CAC/B,CAAA"}
@@ -1,29 +1,24 @@
1
- const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
1
+ var hasIterator = typeof Symbol !== "undefined" && Symbol.asyncIterator;
2
2
  /* c8 ignore start */ export default function nodeStreamIterator(stream) {
3
- let cleanup = null;
4
- let error = null;
5
- let done = false;
6
- const data = [];
7
- const waiting = [];
8
- function onData(chunk) {
3
+ var onData = function onData(chunk) {
9
4
  if (error) return;
10
5
  if (waiting.length) return waiting.shift()[0]({
11
6
  value: chunk,
12
7
  done: false
13
8
  });
14
9
  data.push(chunk);
15
- }
16
- function onError(err) {
10
+ };
11
+ var onError = function onError(err) {
17
12
  error = err;
18
- const all = waiting.slice();
13
+ var all = waiting.slice();
19
14
  all.forEach(function(pair) {
20
15
  pair[1](err);
21
16
  });
22
17
  !cleanup || cleanup();
23
- }
24
- function onEnd() {
18
+ };
19
+ var onEnd = function onEnd() {
25
20
  done = true;
26
- const all = waiting.slice();
21
+ var all = waiting.slice();
27
22
  all.forEach(function(pair) {
28
23
  pair[0]({
29
24
  value: undefined,
@@ -31,21 +26,8 @@ const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
31
26
  });
32
27
  });
33
28
  !cleanup || cleanup();
34
- }
35
- cleanup = function() {
36
- cleanup = null;
37
- stream.removeListener('data', onData);
38
- stream.removeListener('error', onError);
39
- stream.removeListener('end', onEnd);
40
- stream.removeListener('finish', onEnd);
41
- stream.removeListener('close', onEnd);
42
29
  };
43
- stream.on('data', onData);
44
- stream.on('error', onError);
45
- stream.on('end', onEnd);
46
- stream.on('finish', onEnd);
47
- stream.on('close', onEnd);
48
- function getNext() {
30
+ var getNext = function getNext() {
49
31
  return new Promise(function(resolve, reject) {
50
32
  if (error) return reject(error);
51
33
  if (data.length) return resolve({
@@ -61,9 +43,27 @@ const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
61
43
  reject
62
44
  ]);
63
45
  });
64
- }
65
- const iterator = {
66
- next () {
46
+ };
47
+ var cleanup = null;
48
+ var error = null;
49
+ var done = false;
50
+ var data = [];
51
+ var waiting = [];
52
+ cleanup = function() {
53
+ cleanup = null;
54
+ stream.removeListener("data", onData);
55
+ stream.removeListener("error", onError);
56
+ stream.removeListener("end", onEnd);
57
+ stream.removeListener("finish", onEnd);
58
+ stream.removeListener("close", onEnd);
59
+ };
60
+ stream.on("data", onData);
61
+ stream.on("error", onError);
62
+ stream.on("end", onEnd);
63
+ stream.on("finish", onEnd);
64
+ stream.on("close", onEnd);
65
+ var iterator = {
66
+ next: function next() {
67
67
  return getNext();
68
68
  }
69
69
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["nodeStream.ts"],"sourcesContent":["import { Readable as NodeReadableStream } from 'stream';\n\nconst hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/* c8 ignore start */\nexport default function nodeStreamIterator<T>(stream: NodeReadableStream): AsyncIterableIterator<T> {\n let cleanup = null;\n let error = null;\n let done = false;\n const data = [];\n const waiting = [];\n\n function onData(chunk) {\n if (error) return;\n if (waiting.length) return waiting.shift()[0]({ value: chunk, done: false });\n data.push(chunk);\n }\n function onError(err) {\n error = err;\n const all = waiting.slice();\n all.forEach(function (pair) {\n pair[1](err);\n });\n !cleanup || cleanup();\n }\n function onEnd() {\n done = true;\n const all = waiting.slice();\n all.forEach(function (pair) {\n pair[0]({ value: undefined, done: true });\n });\n !cleanup || cleanup();\n }\n\n cleanup = function () {\n cleanup = null;\n stream.removeListener('data', onData);\n stream.removeListener('error', onError);\n stream.removeListener('end', onEnd);\n stream.removeListener('finish', onEnd);\n stream.removeListener('close', onEnd);\n };\n stream.on('data', onData);\n stream.on('error', onError);\n stream.on('end', onEnd);\n stream.on('finish', onEnd);\n stream.on('close', onEnd);\n\n function getNext(): Promise<IteratorResult<T, boolean>> {\n return new Promise(function (resolve, reject) {\n if (error) return reject(error);\n if (data.length) return resolve({ value: data.shift(), done: false });\n if (done) return resolve({ value: undefined, done: true });\n waiting.push([resolve, reject]);\n });\n }\n\n const iterator = {\n next(): Promise<IteratorResult<T, boolean>> {\n return getNext();\n },\n };\n\n if (hasIterator) {\n iterator[Symbol.asyncIterator] = function (): AsyncIterator<T> {\n return this;\n };\n }\n\n return iterator as AsyncIterableIterator<T>;\n}\n/* c8 ignore stop */\n"],"names":["hasIterator","Symbol","asyncIterator","nodeStreamIterator","stream","cleanup","error","done","data","waiting","onData","chunk","length","shift","value","push","onError","err","all","slice","forEach","pair","onEnd","undefined","removeListener","on","getNext","Promise","resolve","reject","iterator","next"],"mappings":"AAEA,MAAMA,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC;AAE1E,qBAAqB,CACrB,eAAe,SAASC,kBAAkB,CAAIC,MAA0B,EAA4B;IAClG,IAAIC,OAAO,GAAG,IAAI,AAAC;IACnB,IAAIC,KAAK,GAAG,IAAI,AAAC;IACjB,IAAIC,IAAI,GAAG,KAAK,AAAC;IACjB,MAAMC,IAAI,GAAG,EAAE,AAAC;IAChB,MAAMC,OAAO,GAAG,EAAE,AAAC;IAEnB,SAASC,MAAM,CAACC,KAAK,EAAE;QACrB,IAAIL,KAAK,EAAE,OAAO;QAClB,IAAIG,OAAO,CAACG,MAAM,EAAE,OAAOH,OAAO,CAACI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAAEC,KAAK,EAAEH,KAAK;YAAEJ,IAAI,EAAE,KAAK;SAAE,CAAC,CAAC;QAC7EC,IAAI,CAACO,IAAI,CAACJ,KAAK,CAAC,CAAC;KAClB;IACD,SAASK,OAAO,CAACC,GAAG,EAAE;QACpBX,KAAK,GAAGW,GAAG,CAAC;QACZ,MAAMC,GAAG,GAAGT,OAAO,CAACU,KAAK,EAAE,AAAC;QAC5BD,GAAG,CAACE,OAAO,CAAC,SAAUC,IAAI,EAAE;YAC1BA,IAAI,CAAC,CAAC,CAAC,CAACJ,GAAG,CAAC,CAAC;SACd,CAAC,CAAC;QACH,CAACZ,OAAO,IAAIA,OAAO,EAAE,CAAC;KACvB;IACD,SAASiB,KAAK,GAAG;QACff,IAAI,GAAG,IAAI,CAAC;QACZ,MAAMW,GAAG,GAAGT,OAAO,CAACU,KAAK,EAAE,AAAC;QAC5BD,GAAG,CAACE,OAAO,CAAC,SAAUC,IAAI,EAAE;YAC1BA,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAEP,KAAK,EAAES,SAAS;gBAAEhB,IAAI,EAAE,IAAI;aAAE,CAAC,CAAC;SAC3C,CAAC,CAAC;QACH,CAACF,OAAO,IAAIA,OAAO,EAAE,CAAC;KACvB;IAEDA,OAAO,GAAG,WAAY;QACpBA,OAAO,GAAG,IAAI,CAAC;QACfD,MAAM,CAACoB,cAAc,CAAC,MAAM,EAAEd,MAAM,CAAC,CAAC;QACtCN,MAAM,CAACoB,cAAc,CAAC,OAAO,EAAER,OAAO,CAAC,CAAC;QACxCZ,MAAM,CAACoB,cAAc,CAAC,KAAK,EAAEF,KAAK,CAAC,CAAC;QACpClB,MAAM,CAACoB,cAAc,CAAC,QAAQ,EAAEF,KAAK,CAAC,CAAC;QACvClB,MAAM,CAACoB,cAAc,CAAC,OAAO,EAAEF,KAAK,CAAC,CAAC;KACvC,CAAC;IACFlB,MAAM,CAACqB,EAAE,CAAC,MAAM,EAAEf,MAAM,CAAC,CAAC;IAC1BN,MAAM,CAACqB,EAAE,CAAC,OAAO,EAAET,OAAO,CAAC,CAAC;IAC5BZ,MAAM,CAACqB,EAAE,CAAC,KAAK,EAAEH,KAAK,CAAC,CAAC;IACxBlB,MAAM,CAACqB,EAAE,CAAC,QAAQ,EAAEH,KAAK,CAAC,CAAC;IAC3BlB,MAAM,CAACqB,EAAE,CAAC,OAAO,EAAEH,KAAK,CAAC,CAAC;IAE1B,SAASI,OAAO,GAAwC;QACtD,OAAO,IAAIC,OAAO,CAAC,SAAUC,OAAO,EAAEC,MAAM,EAAE;YAC5C,IAAIvB,KAAK,EAAE,OAAOuB,MAAM,CAACvB,KAAK,CAAC,CAAC;YAChC,IAAIE,IAAI,CAACI,MAAM,EAAE,OAAOgB,OAAO,CAAC;gBAAEd,KAAK,EAAEN,IAAI,CAACK,KAAK,EAAE;gBAAEN,IAAI,EAAE,KAAK;aAAE,CAAC,CAAC;YACtE,IAAIA,IAAI,EAAE,OAAOqB,OAAO,CAAC;gBAAEd,KAAK,EAAES,SAAS;gBAAEhB,IAAI,EAAE,IAAI;aAAE,CAAC,CAAC;YAC3DE,OAAO,CAACM,IAAI,CAAC;gBAACa,OAAO;gBAAEC,MAAM;aAAC,CAAC,CAAC;SACjC,CAAC,CAAC;KACJ;IAED,MAAMC,QAAQ,GAAG;QACfC,IAAI,IAAwC;YAC1C,OAAOL,OAAO,EAAE,CAAC;SAClB;KACF,AAAC;IAEF,IAAI1B,WAAW,EAAE;QACf8B,QAAQ,CAAC7B,MAAM,CAACC,aAAa,CAAC,GAAG,WAA8B;YAC7D,OAAO,IAAI,CAAC;SACb,CAAC;KACH;IAED,OAAO4B,QAAQ,CAA6B;CAC7C,CAAA,CACD,oBAAoB"}
1
+ {"version":3,"sources":["nodeStream.ts"],"sourcesContent":["import { Readable as NodeReadableStream } from 'stream';\n\nconst hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/* c8 ignore start */\nexport default function nodeStreamIterator<T>(stream: NodeReadableStream): AsyncIterableIterator<T> {\n let cleanup = null;\n let error = null;\n let done = false;\n const data = [];\n const waiting = [];\n\n function onData(chunk) {\n if (error) return;\n if (waiting.length) return waiting.shift()[0]({ value: chunk, done: false });\n data.push(chunk);\n }\n function onError(err) {\n error = err;\n const all = waiting.slice();\n all.forEach(function (pair) {\n pair[1](err);\n });\n !cleanup || cleanup();\n }\n function onEnd() {\n done = true;\n const all = waiting.slice();\n all.forEach(function (pair) {\n pair[0]({ value: undefined, done: true });\n });\n !cleanup || cleanup();\n }\n\n cleanup = function () {\n cleanup = null;\n stream.removeListener('data', onData);\n stream.removeListener('error', onError);\n stream.removeListener('end', onEnd);\n stream.removeListener('finish', onEnd);\n stream.removeListener('close', onEnd);\n };\n stream.on('data', onData);\n stream.on('error', onError);\n stream.on('end', onEnd);\n stream.on('finish', onEnd);\n stream.on('close', onEnd);\n\n function getNext(): Promise<IteratorResult<T, boolean>> {\n return new Promise(function (resolve, reject) {\n if (error) return reject(error);\n if (data.length) return resolve({ value: data.shift(), done: false });\n if (done) return resolve({ value: undefined, done: true });\n waiting.push([resolve, reject]);\n });\n }\n\n const iterator = {\n next(): Promise<IteratorResult<T, boolean>> {\n return getNext();\n },\n };\n\n if (hasIterator) {\n iterator[Symbol.asyncIterator] = function (): AsyncIterator<T> {\n return this;\n };\n }\n\n return iterator as AsyncIterableIterator<T>;\n}\n/* c8 ignore stop */\n"],"names":["hasIterator","Symbol","asyncIterator","nodeStreamIterator","stream","onData","chunk","error","waiting","length","shift","value","done","data","push","onError","err","all","slice","forEach","pair","cleanup","onEnd","undefined","getNext","Promise","resolve","reject","removeListener","on","iterator","next"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
1
+ var hasIterator = typeof Symbol !== "undefined" && Symbol.asyncIterator;
2
2
  /* c8 ignore start */ export default function promiseIterator(promise) {
3
- let resolved = false;
4
- const iterator = {
5
- next () {
3
+ var resolved = false;
4
+ var iterator = {
5
+ next: function next() {
6
6
  if (resolved) return Promise.resolve({
7
7
  value: undefined,
8
8
  done: true
@@ -11,10 +11,10 @@ const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
11
11
  return new Promise(function(resolve, reject) {
12
12
  promise.then(function(value) {
13
13
  resolve({
14
- value,
14
+ value: value,
15
15
  done: false
16
16
  });
17
- }).catch(reject);
17
+ })["catch"](reject);
18
18
  });
19
19
  }
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["promise.ts"],"sourcesContent":["const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/* c8 ignore start */\nexport default function promiseIterator<T>(promise): AsyncIterableIterator<T> {\n let resolved = false;\n\n const iterator = {\n next(): Promise<IteratorResult<T, boolean>> {\n if (resolved) return Promise.resolve({ value: undefined, done: true });\n resolved = true;\n return new Promise(function (resolve, reject) {\n promise\n .then(function (value) {\n resolve({ value, done: false });\n })\n .catch(reject);\n });\n },\n };\n\n if (hasIterator) {\n iterator[Symbol.asyncIterator] = function (): AsyncIterator<T> {\n return this;\n };\n }\n\n return iterator as AsyncIterableIterator<T>;\n}\n/* c8 ignore stop */\n"],"names":["hasIterator","Symbol","asyncIterator","promiseIterator","promise","resolved","iterator","next","Promise","resolve","value","undefined","done","reject","then","catch"],"mappings":"AAAA,MAAMA,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC;AAE1E,qBAAqB,CACrB,eAAe,SAASC,eAAe,CAAIC,OAAO,EAA4B;IAC5E,IAAIC,QAAQ,GAAG,KAAK,AAAC;IAErB,MAAMC,QAAQ,GAAG;QACfC,IAAI,IAAwC;YAC1C,IAAIF,QAAQ,EAAE,OAAOG,OAAO,CAACC,OAAO,CAAC;gBAAEC,KAAK,EAAEC,SAAS;gBAAEC,IAAI,EAAE,IAAI;aAAE,CAAC,CAAC;YACvEP,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,IAAIG,OAAO,CAAC,SAAUC,OAAO,EAAEI,MAAM,EAAE;gBAC5CT,OAAO,CACJU,IAAI,CAAC,SAAUJ,KAAK,EAAE;oBACrBD,OAAO,CAAC;wBAAEC,KAAK;wBAAEE,IAAI,EAAE,KAAK;qBAAE,CAAC,CAAC;iBACjC,CAAC,CACDG,KAAK,CAACF,MAAM,CAAC,CAAC;aAClB,CAAC,CAAC;SACJ;KACF,AAAC;IAEF,IAAIb,WAAW,EAAE;QACfM,QAAQ,CAACL,MAAM,CAACC,aAAa,CAAC,GAAG,WAA8B;YAC7D,OAAO,IAAI,CAAC;SACb,CAAC;KACH;IAED,OAAOI,QAAQ,CAA6B;CAC7C,CAAA,CACD,oBAAoB"}
1
+ {"version":3,"sources":["promise.ts"],"sourcesContent":["const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/* c8 ignore start */\nexport default function promiseIterator<T>(promise): AsyncIterableIterator<T> {\n let resolved = false;\n\n const iterator = {\n next(): Promise<IteratorResult<T, boolean>> {\n if (resolved) return Promise.resolve({ value: undefined, done: true });\n resolved = true;\n return new Promise(function (resolve, reject) {\n promise\n .then(function (value) {\n resolve({ value, done: false });\n })\n .catch(reject);\n });\n },\n };\n\n if (hasIterator) {\n iterator[Symbol.asyncIterator] = function (): AsyncIterator<T> {\n return this;\n };\n }\n\n return iterator as AsyncIterableIterator<T>;\n}\n/* c8 ignore stop */\n"],"names":["hasIterator","Symbol","asyncIterator","promiseIterator","promise","resolved","iterator","next","Promise","resolve","value","undefined","done","reject","then","catch"],"mappings":"AAAA,IAAMA,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC;AAE1E,qBAAqB,CACrB,eAAe,SAASC,eAAe,CAAIC,OAAO,EAA4B;IAC5E,IAAIC,QAAQ,GAAG,KAAK,AAAC;IAErB,IAAMC,QAAQ,GAAG;QACfC,IAAI,EAAJA,SAAAA,IAAI,GAAwC;YAC1C,IAAIF,QAAQ,EAAE,OAAOG,OAAO,CAACC,OAAO,CAAC;gBAAEC,KAAK,EAAEC,SAAS;gBAAEC,IAAI,EAAE,IAAI;aAAE,CAAC,CAAC;YACvEP,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,IAAIG,OAAO,CAAC,SAAUC,OAAO,EAAEI,MAAM,EAAE;gBAC5CT,OAAO,CACJU,IAAI,CAAC,SAAUJ,KAAK,EAAE;oBACrBD,OAAO,CAAC;wBAAEC,KAAK,EAALA,KAAK;wBAAEE,IAAI,EAAE,KAAK;qBAAE,CAAC,CAAC;iBACjC,CAAC,AACDG,CAAAA,OAAK,CAAA,CAACF,MAAM,CAAC,CAAC;aAClB,CAAC,CAAC;SACJ;KACF,AAAC;IAEF,IAAIb,WAAW,EAAE;QACfM,QAAQ,CAACL,MAAM,CAACC,aAAa,CAAC,GAAG,WAA8B;YAC7D,OAAO,IAAI,CAAC;SACb,CAAC;KACH;IAED,OAAOI,QAAQ,CAA6B;CAC7C,CAAA,CACD,oBAAoB"}
@@ -1,7 +1,7 @@
1
- const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
1
+ var hasIterator = typeof Symbol !== "undefined" && Symbol.asyncIterator;
2
2
  /* c8 ignore start */ export default function readerIterator(reader) {
3
- const iterator = {
4
- next () {
3
+ var iterator = {
4
+ next: function next() {
5
5
  return reader.read();
6
6
  }
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["reader.ts"],"sourcesContent":["const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/* c8 ignore start */\nexport default function readerIterator<T>(reader): AsyncIterableIterator<T> {\n const iterator = {\n next(): Promise<IteratorResult<T, boolean>> {\n return reader.read();\n },\n };\n\n if (hasIterator) {\n iterator[Symbol.asyncIterator] = function (): AsyncIterator<T> {\n return this;\n };\n }\n\n return iterator as AsyncIterableIterator<T>;\n}\n/* c8 ignore stop */\n"],"names":["hasIterator","Symbol","asyncIterator","readerIterator","reader","iterator","next","read"],"mappings":"AAAA,MAAMA,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC;AAE1E,qBAAqB,CACrB,eAAe,SAASC,cAAc,CAAIC,MAAM,EAA4B;IAC1E,MAAMC,QAAQ,GAAG;QACfC,IAAI,IAAwC;YAC1C,OAAOF,MAAM,CAACG,IAAI,EAAE,CAAC;SACtB;KACF,AAAC;IAEF,IAAIP,WAAW,EAAE;QACfK,QAAQ,CAACJ,MAAM,CAACC,aAAa,CAAC,GAAG,WAA8B;YAC7D,OAAO,IAAI,CAAC;SACb,CAAC;KACH;IAED,OAAOG,QAAQ,CAA6B;CAC7C,CAAA,CACD,oBAAoB"}
1
+ {"version":3,"sources":["reader.ts"],"sourcesContent":["const hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;\n\n/* c8 ignore start */\nexport default function readerIterator<T>(reader): AsyncIterableIterator<T> {\n const iterator = {\n next(): Promise<IteratorResult<T, boolean>> {\n return reader.read();\n },\n };\n\n if (hasIterator) {\n iterator[Symbol.asyncIterator] = function (): AsyncIterator<T> {\n return this;\n };\n }\n\n return iterator as AsyncIterableIterator<T>;\n}\n/* c8 ignore stop */\n"],"names":["hasIterator","Symbol","asyncIterator","readerIterator","reader","iterator","next","read"],"mappings":"AAAA,IAAMA,WAAW,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,aAAa,AAAC;AAE1E,qBAAqB,CACrB,eAAe,SAASC,cAAc,CAAIC,MAAM,EAA4B;IAC1E,IAAMC,QAAQ,GAAG;QACfC,IAAI,EAAJA,SAAAA,IAAI,GAAwC;YAC1C,OAAOF,MAAM,CAACG,IAAI,EAAE,CAAC;SACtB;KACF,AAAC;IAEF,IAAIP,WAAW,EAAE;QACfK,QAAQ,CAACJ,MAAM,CAACC,aAAa,CAAC,GAAG,WAA8B;YAC7D,OAAO,IAAI,CAAC;SACb,CAAC;KACH;IAED,OAAOG,QAAQ,CAA6B;CAC7C,CAAA,CACD,oBAAoB"}
@@ -1,171 +1,173 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
- typeof define === 'function' && define.amd ? define(factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.responseIterator = factory());
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
+ typeof define === 'function' && define.amd ? define(factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.responseIterator = factory());
5
5
  })(this, (function () { 'use strict';
6
6
 
7
- function asyncIterator(source) {
8
- var _a;
9
- var iterator = source[Symbol.asyncIterator]();
10
- return _a = {
11
- next: function () {
12
- return iterator.next();
13
- }
14
- },
15
- _a[Symbol.asyncIterator] = function () {
16
- return this;
17
- },
18
- _a;
19
- }
7
+ function _defineProperty(obj, key, value) {
8
+ if (key in obj) {
9
+ Object.defineProperty(obj, key, {
10
+ value: value,
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true
14
+ });
15
+ } else {
16
+ obj[key] = value;
17
+ }
18
+ return obj;
19
+ }
20
+ function asyncIterator(source) {
21
+ var iterator = source[Symbol.asyncIterator]();
22
+ return _defineProperty({
23
+ next: function next() {
24
+ return iterator.next();
25
+ }
26
+ }, Symbol.asyncIterator, function() {
27
+ return this;
28
+ });
29
+ }
20
30
 
21
- var hasIterator$3 = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
22
- /* c8 ignore start */
23
- function nodeStreamIterator(stream) {
24
- var cleanup = null;
25
- var error = null;
26
- var done = false;
27
- var data = [];
28
- var waiting = [];
29
- function onData(chunk) {
30
- if (error)
31
- return;
32
- if (waiting.length)
33
- return waiting.shift()[0]({ value: chunk, done: false });
34
- data.push(chunk);
35
- }
36
- function onError(err) {
37
- error = err;
38
- var all = waiting.slice();
39
- all.forEach(function (pair) {
40
- pair[1](err);
41
- });
42
- !cleanup || cleanup();
43
- }
44
- function onEnd() {
45
- done = true;
46
- var all = waiting.slice();
47
- all.forEach(function (pair) {
48
- pair[0]({ value: undefined, done: true });
49
- });
50
- !cleanup || cleanup();
51
- }
52
- cleanup = function () {
53
- cleanup = null;
54
- stream.removeListener('data', onData);
55
- stream.removeListener('error', onError);
56
- stream.removeListener('end', onEnd);
57
- stream.removeListener('finish', onEnd);
58
- stream.removeListener('close', onEnd);
59
- };
60
- stream.on('data', onData);
61
- stream.on('error', onError);
62
- stream.on('end', onEnd);
63
- stream.on('finish', onEnd);
64
- stream.on('close', onEnd);
65
- function getNext() {
66
- return new Promise(function (resolve, reject) {
67
- if (error)
68
- return reject(error);
69
- if (data.length)
70
- return resolve({ value: data.shift(), done: false });
71
- if (done)
72
- return resolve({ value: undefined, done: true });
73
- waiting.push([resolve, reject]);
74
- });
75
- }
76
- var iterator = {
77
- next: function () {
78
- return getNext();
79
- },
80
- };
81
- if (hasIterator$3) {
82
- iterator[Symbol.asyncIterator] = function () {
83
- return this;
84
- };
85
- }
86
- return iterator;
87
- }
88
- /* c8 ignore stop */
31
+ var hasIterator$3 = typeof Symbol !== "undefined" && Symbol.asyncIterator;
32
+ /* c8 ignore start */ function nodeStreamIterator(stream) {
33
+ var onData = function onData(chunk) {
34
+ if (error) return;
35
+ if (waiting.length) return waiting.shift()[0]({
36
+ value: chunk,
37
+ done: false
38
+ });
39
+ data.push(chunk);
40
+ };
41
+ var onError = function onError(err) {
42
+ error = err;
43
+ var all = waiting.slice();
44
+ all.forEach(function(pair) {
45
+ pair[1](err);
46
+ });
47
+ !cleanup || cleanup();
48
+ };
49
+ var onEnd = function onEnd() {
50
+ done = true;
51
+ var all = waiting.slice();
52
+ all.forEach(function(pair) {
53
+ pair[0]({
54
+ value: undefined,
55
+ done: true
56
+ });
57
+ });
58
+ !cleanup || cleanup();
59
+ };
60
+ var getNext = function getNext() {
61
+ return new Promise(function(resolve, reject) {
62
+ if (error) return reject(error);
63
+ if (data.length) return resolve({
64
+ value: data.shift(),
65
+ done: false
66
+ });
67
+ if (done) return resolve({
68
+ value: undefined,
69
+ done: true
70
+ });
71
+ waiting.push([
72
+ resolve,
73
+ reject
74
+ ]);
75
+ });
76
+ };
77
+ var cleanup = null;
78
+ var error = null;
79
+ var done = false;
80
+ var data = [];
81
+ var waiting = [];
82
+ cleanup = function() {
83
+ cleanup = null;
84
+ stream.removeListener("data", onData);
85
+ stream.removeListener("error", onError);
86
+ stream.removeListener("end", onEnd);
87
+ stream.removeListener("finish", onEnd);
88
+ stream.removeListener("close", onEnd);
89
+ };
90
+ stream.on("data", onData);
91
+ stream.on("error", onError);
92
+ stream.on("end", onEnd);
93
+ stream.on("finish", onEnd);
94
+ stream.on("close", onEnd);
95
+ var iterator = {
96
+ next: function next() {
97
+ return getNext();
98
+ }
99
+ };
100
+ if (hasIterator$3) {
101
+ iterator[Symbol.asyncIterator] = function() {
102
+ return this;
103
+ };
104
+ }
105
+ return iterator;
106
+ }
89
107
 
90
- var hasIterator$2 = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
91
- /* c8 ignore start */
92
- function promiseIterator(promise) {
93
- var resolved = false;
94
- var iterator = {
95
- next: function () {
96
- if (resolved)
97
- return Promise.resolve({ value: undefined, done: true });
98
- resolved = true;
99
- return new Promise(function (resolve, reject) {
100
- promise
101
- .then(function (value) {
102
- resolve({ value: value, done: false });
103
- })
104
- .catch(reject);
105
- });
106
- },
107
- };
108
- if (hasIterator$2) {
109
- iterator[Symbol.asyncIterator] = function () {
110
- return this;
111
- };
112
- }
113
- return iterator;
114
- }
115
- /* c8 ignore stop */
108
+ var hasIterator$2 = typeof Symbol !== "undefined" && Symbol.asyncIterator;
109
+ /* c8 ignore start */ function promiseIterator(promise) {
110
+ var resolved = false;
111
+ var iterator = {
112
+ next: function next() {
113
+ if (resolved) return Promise.resolve({
114
+ value: undefined,
115
+ done: true
116
+ });
117
+ resolved = true;
118
+ return new Promise(function(resolve, reject) {
119
+ promise.then(function(value) {
120
+ resolve({
121
+ value: value,
122
+ done: false
123
+ });
124
+ })["catch"](reject);
125
+ });
126
+ }
127
+ };
128
+ if (hasIterator$2) {
129
+ iterator[Symbol.asyncIterator] = function() {
130
+ return this;
131
+ };
132
+ }
133
+ return iterator;
134
+ }
116
135
 
117
- var hasIterator$1 = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
118
- /* c8 ignore start */
119
- function readerIterator(reader) {
120
- var iterator = {
121
- next: function () {
122
- return reader.read();
123
- },
124
- };
125
- if (hasIterator$1) {
126
- iterator[Symbol.asyncIterator] = function () {
127
- return this;
128
- };
129
- }
130
- return iterator;
131
- }
132
- /* c8 ignore stop */
136
+ var hasIterator$1 = typeof Symbol !== "undefined" && Symbol.asyncIterator;
137
+ /* c8 ignore start */ function readerIterator(reader) {
138
+ var iterator = {
139
+ next: function next() {
140
+ return reader.read();
141
+ }
142
+ };
143
+ if (hasIterator$1) {
144
+ iterator[Symbol.asyncIterator] = function() {
145
+ return this;
146
+ };
147
+ }
148
+ return iterator;
149
+ }
133
150
 
134
- var hasIterator = typeof Symbol !== 'undefined' && Symbol.asyncIterator;
135
- /**
136
- * @param response A response. Supports fetch, node-fetch, and cross-fetch
137
- */
138
- function responseIterator(response) {
139
- if (response === undefined)
140
- throw new Error('Missing response for responseIterator');
141
- // determine the body
142
- var body = response;
143
- if (response.body)
144
- body = response.body;
145
- // node-fetch, browser fetch, undici
146
- else if (response.data)
147
- body = response.data;
148
- // axios
149
- /* c8 ignore start */ else if (response._bodyBlob)
150
- body = response._bodyBlob; // cross-fetch
151
- /* c8 ignore stop */
152
- // adapt the body
153
- if (hasIterator && body[Symbol.asyncIterator])
154
- return asyncIterator(body);
155
- /* c8 ignore start */
156
- if (body.getReader)
157
- return readerIterator(body.getReader());
158
- if (body.stream)
159
- return readerIterator(body.stream().getReader());
160
- if (body.arrayBuffer)
161
- return promiseIterator(body.arrayBuffer());
162
- if (body.pipe)
163
- return nodeStreamIterator(body);
164
- /* c8 ignore stop */
165
- throw new Error('Unknown body type for responseIterator. Maybe you are not passing a streamable response');
166
- }
151
+ // @ts-ignore
152
+ var hasIterator = typeof Symbol !== "undefined" && Symbol.asyncIterator;
153
+ /**
154
+ * @param response A response. Supports fetch, node-fetch, and cross-fetch
155
+ */ function responseIterator(response) {
156
+ if (response === undefined) throw new Error("Missing response for responseIterator");
157
+ // determine the body
158
+ var body = response;
159
+ if (response.body) body = response.body;
160
+ else if (response.data) body = response.data;
161
+ else if (response._bodyBlob) body = response._bodyBlob; // cross-fetch
162
+ /* c8 ignore stop */ // adapt the body
163
+ if (hasIterator && body[Symbol.asyncIterator]) return asyncIterator(body);
164
+ /* c8 ignore start */ if (body.getReader) return readerIterator(body.getReader());
165
+ if (body.stream) return readerIterator(body.stream().getReader());
166
+ if (body.arrayBuffer) return promiseIterator(body.arrayBuffer());
167
+ if (body.pipe) return nodeStreamIterator(body);
168
+ /* c8 ignore stop */ throw new Error("Unknown body type for responseIterator. Maybe you are not passing a streamable response");
169
+ }
167
170
 
168
- return responseIterator;
171
+ return responseIterator;
169
172
 
170
173
  }));
171
- //# sourceMappingURL=response-iterator.js.map
@@ -1,2 +1,173 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).responseIterator=n()}(this,(function(){"use strict";var e="undefined"!=typeof Symbol&&Symbol.asyncIterator;function n(n){var r=null,o=null,t=!1,i=[],a=[];function u(e){if(!o)return a.length?a.shift()[0]({value:e,done:!1}):void i.push(e)}function f(e){o=e,a.slice().forEach((function(n){n[1](e)})),!r||r()}function s(){t=!0,a.slice().forEach((function(e){e[0]({value:void 0,done:!0})})),!r||r()}r=function(){r=null,n.removeListener("data",u),n.removeListener("error",f),n.removeListener("end",s),n.removeListener("finish",s),n.removeListener("close",s)},n.on("data",u),n.on("error",f),n.on("end",s),n.on("finish",s),n.on("close",s);var d={next:function(){return new Promise((function(e,n){return o?n(o):i.length?e({value:i.shift(),done:!1}):t?e({value:void 0,done:!0}):void a.push([e,n])}))}};return e&&(d[Symbol.asyncIterator]=function(){return this}),d}var r="undefined"!=typeof Symbol&&Symbol.asyncIterator;var o="undefined"!=typeof Symbol&&Symbol.asyncIterator;function t(e){var n={next:function(){return e.read()}};return o&&(n[Symbol.asyncIterator]=function(){return this}),n}var i="undefined"!=typeof Symbol&&Symbol.asyncIterator;return function(e){if(void 0===e)throw new Error("Missing response for responseIterator");var o,a,u=e;if(e.body?u=e.body:e.data?u=e.data:e._bodyBlob&&(u=e._bodyBlob),i&&u[Symbol.asyncIterator])return a=u[Symbol.asyncIterator](),(o={next:function(){return a.next()}})[Symbol.asyncIterator]=function(){return this},o;if(u.getReader)return t(u.getReader());if(u.stream)return t(u.stream().getReader());if(u.arrayBuffer)return function(e){var n=!1,o={next:function(){return n?Promise.resolve({value:void 0,done:!0}):(n=!0,new Promise((function(n,r){e.then((function(e){n({value:e,done:!1})})).catch(r)})))}};return r&&(o[Symbol.asyncIterator]=function(){return this}),o}(u.arrayBuffer());if(u.pipe)return n(u);throw new Error("Unknown body type for responseIterator. Maybe you are not passing a streamable response")}}));
2
- //# sourceMappingURL=response-iterator.min.js.map
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
+ typeof define === 'function' && define.amd ? define(factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.responseIterator = factory());
5
+ })(this, (function () { 'use strict';
6
+
7
+ function _defineProperty(obj, key, value) {
8
+ if (key in obj) {
9
+ Object.defineProperty(obj, key, {
10
+ value: value,
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true
14
+ });
15
+ } else {
16
+ obj[key] = value;
17
+ }
18
+ return obj;
19
+ }
20
+ function asyncIterator(source) {
21
+ var iterator = source[Symbol.asyncIterator]();
22
+ return _defineProperty({
23
+ next: function next() {
24
+ return iterator.next();
25
+ }
26
+ }, Symbol.asyncIterator, function() {
27
+ return this;
28
+ });
29
+ }
30
+
31
+ var hasIterator$3 = typeof Symbol !== "undefined" && Symbol.asyncIterator;
32
+ /* c8 ignore start */ function nodeStreamIterator(stream) {
33
+ var onData = function onData(chunk) {
34
+ if (error) return;
35
+ if (waiting.length) return waiting.shift()[0]({
36
+ value: chunk,
37
+ done: false
38
+ });
39
+ data.push(chunk);
40
+ };
41
+ var onError = function onError(err) {
42
+ error = err;
43
+ var all = waiting.slice();
44
+ all.forEach(function(pair) {
45
+ pair[1](err);
46
+ });
47
+ !cleanup || cleanup();
48
+ };
49
+ var onEnd = function onEnd() {
50
+ done = true;
51
+ var all = waiting.slice();
52
+ all.forEach(function(pair) {
53
+ pair[0]({
54
+ value: undefined,
55
+ done: true
56
+ });
57
+ });
58
+ !cleanup || cleanup();
59
+ };
60
+ var getNext = function getNext() {
61
+ return new Promise(function(resolve, reject) {
62
+ if (error) return reject(error);
63
+ if (data.length) return resolve({
64
+ value: data.shift(),
65
+ done: false
66
+ });
67
+ if (done) return resolve({
68
+ value: undefined,
69
+ done: true
70
+ });
71
+ waiting.push([
72
+ resolve,
73
+ reject
74
+ ]);
75
+ });
76
+ };
77
+ var cleanup = null;
78
+ var error = null;
79
+ var done = false;
80
+ var data = [];
81
+ var waiting = [];
82
+ cleanup = function() {
83
+ cleanup = null;
84
+ stream.removeListener("data", onData);
85
+ stream.removeListener("error", onError);
86
+ stream.removeListener("end", onEnd);
87
+ stream.removeListener("finish", onEnd);
88
+ stream.removeListener("close", onEnd);
89
+ };
90
+ stream.on("data", onData);
91
+ stream.on("error", onError);
92
+ stream.on("end", onEnd);
93
+ stream.on("finish", onEnd);
94
+ stream.on("close", onEnd);
95
+ var iterator = {
96
+ next: function next() {
97
+ return getNext();
98
+ }
99
+ };
100
+ if (hasIterator$3) {
101
+ iterator[Symbol.asyncIterator] = function() {
102
+ return this;
103
+ };
104
+ }
105
+ return iterator;
106
+ }
107
+
108
+ var hasIterator$2 = typeof Symbol !== "undefined" && Symbol.asyncIterator;
109
+ /* c8 ignore start */ function promiseIterator(promise) {
110
+ var resolved = false;
111
+ var iterator = {
112
+ next: function next() {
113
+ if (resolved) return Promise.resolve({
114
+ value: undefined,
115
+ done: true
116
+ });
117
+ resolved = true;
118
+ return new Promise(function(resolve, reject) {
119
+ promise.then(function(value) {
120
+ resolve({
121
+ value: value,
122
+ done: false
123
+ });
124
+ })["catch"](reject);
125
+ });
126
+ }
127
+ };
128
+ if (hasIterator$2) {
129
+ iterator[Symbol.asyncIterator] = function() {
130
+ return this;
131
+ };
132
+ }
133
+ return iterator;
134
+ }
135
+
136
+ var hasIterator$1 = typeof Symbol !== "undefined" && Symbol.asyncIterator;
137
+ /* c8 ignore start */ function readerIterator(reader) {
138
+ var iterator = {
139
+ next: function next() {
140
+ return reader.read();
141
+ }
142
+ };
143
+ if (hasIterator$1) {
144
+ iterator[Symbol.asyncIterator] = function() {
145
+ return this;
146
+ };
147
+ }
148
+ return iterator;
149
+ }
150
+
151
+ // @ts-ignore
152
+ var hasIterator = typeof Symbol !== "undefined" && Symbol.asyncIterator;
153
+ /**
154
+ * @param response A response. Supports fetch, node-fetch, and cross-fetch
155
+ */ function responseIterator(response) {
156
+ if (response === undefined) throw new Error("Missing response for responseIterator");
157
+ // determine the body
158
+ var body = response;
159
+ if (response.body) body = response.body;
160
+ else if (response.data) body = response.data;
161
+ else if (response._bodyBlob) body = response._bodyBlob; // cross-fetch
162
+ /* c8 ignore stop */ // adapt the body
163
+ if (hasIterator && body[Symbol.asyncIterator]) return asyncIterator(body);
164
+ /* c8 ignore start */ if (body.getReader) return readerIterator(body.getReader());
165
+ if (body.stream) return readerIterator(body.stream().getReader());
166
+ if (body.arrayBuffer) return promiseIterator(body.arrayBuffer());
167
+ if (body.pipe) return nodeStreamIterator(body);
168
+ /* c8 ignore stop */ throw new Error("Unknown body type for responseIterator. Maybe you are not passing a streamable response");
169
+ }
170
+
171
+ return responseIterator;
172
+
173
+ }));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "response-iterator",
3
3
  "description": "Creates an async iterator for a variety of inputs in the browser and node. Supports fetch, node-fetch, and cross-fetch",
4
- "version": "0.2.4",
4
+ "version": "0.2.5",
5
5
  "author": {
6
6
  "email": "kmalakoff@gmail.com",
7
7
  "name": "Kevin Malakoff",
@@ -14,12 +14,11 @@
14
14
  "dist"
15
15
  ],
16
16
  "scripts": {
17
- "build": "tsds build:dist",
17
+ "build": "tsds build",
18
18
  "deploy": "tsds deploy",
19
19
  "format": "tsds format",
20
20
  "lint": "tsds lint",
21
- "test": "tsds test:node && tsds test:node \"test/**/*.test-node.*\" && tsds test:browser",
22
- "test:engines": "tsds test:engines"
21
+ "test": "tsds test:node && tsds test:node \"test/**/*.test-node.*\" && tsds test:browser"
23
22
  },
24
23
  "homepage": "https://github.com/kmalakoff/response-iterator#README.md",
25
24
  "repository": {
@@ -61,8 +60,8 @@
61
60
  "isomorphic-fetch": "^3.0.0",
62
61
  "readable-stream-2": "npm:readable-stream@2.3.7",
63
62
  "readable-stream-3": "npm:readable-stream@4.0.0",
64
- "ts-dev-stack": "^0.3.3",
65
- "undici": "^5.5.1"
63
+ "ts-dev-stack": "^0.5.1",
64
+ "undici": "^5.6.0"
66
65
  },
67
66
  "type": "module",
68
67
  "engines": {
@@ -76,7 +75,9 @@
76
75
  },
77
76
  "./*": "./*"
78
77
  },
79
- "source": "src/index.ts",
78
+ "tsds": {
79
+ "source": "src/index.ts"
80
+ },
80
81
  "types": "dist/types/index.d.ts",
81
82
  "unpkg": "dist/umd/response-iterator.js"
82
83
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"response-iterator.js","sources":["../../src/iterators/async.ts","../../src/iterators/nodeStream.ts","../../src/iterators/promise.ts","../../src/iterators/reader.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["hasIterator"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"response-iterator.min.js","sources":["../../src/iterators/nodeStream.ts","../../src/iterators/promise.ts","../../src/iterators/reader.ts","../../src/index.ts","../../src/iterators/async.ts"],"sourcesContent":[null,null,null,null,null],"names":["hasIterator","Symbol","asyncIterator","nodeStreamIterator","stream","cleanup","error","done","data","waiting","onData","chunk","length","shift","value","push","onError","err","slice","forEach","pair","onEnd","undefined","removeListener","on","iterator","next","Promise","resolve","reject","this","readerIterator","reader","read","response","Error","body","_bodyBlob","_a","getReader","arrayBuffer","promise","resolved","then","catch","promiseIterator","pipe"],"mappings":"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"}