(url)
| 490 | } |
| 491 | |
| 492 | static getReader(url) { |
| 493 | const reader = new ChunkedStreamReader(url) |
| 494 | const parseToString = reader.parse |
| 495 | reader.parse = function (value) { |
| 496 | value = parseToString.call(this, value) |
| 497 | if (!value || value.length <= 0) { |
| 498 | return |
| 499 | } |
| 500 | return reader.readStreamAsJSON(value.join("")) |
| 501 | } |
| 502 | reader.onNext = function ({ done, value }) { |
| 503 | // By default is completed when the return value has a status defined. |
| 504 | if (typeof value === "object" && "status" in value) { |
| 505 | done = true |
| 506 | } |
| 507 | return { done, value } |
| 508 | } |
| 509 | return reader |
| 510 | } |
| 511 | _setReader(reader) { |
| 512 | if (typeof this.#reader !== "undefined") { |
| 513 | throw new Error("The task reader can only be set once.") |
no test coverage detected