()
| 215 | } |
| 216 | |
| 217 | get stream(): Stream.Stream<Uint8Array, E> { |
| 218 | return Stream.async<Uint8Array, E>((emit) => { |
| 219 | let offset = 0 |
| 220 | const onReadyStateChange = () => { |
| 221 | if (this.source.readyState === 3) { |
| 222 | emit.single(encoder.encode(this.source.responseText.slice(offset))) |
| 223 | offset = this.source.responseText.length |
| 224 | } else if (this.source.readyState === 4) { |
| 225 | if (offset < this.source.responseText.length) { |
| 226 | emit.single(encoder.encode(this.source.responseText.slice(offset))) |
| 227 | } |
| 228 | emit.end() |
| 229 | } |
| 230 | } |
| 231 | const onError = () => { |
| 232 | emit.fail(this.onError(this.source.statusText)) |
| 233 | } |
| 234 | this.source.addEventListener("readystatechange", onReadyStateChange) |
| 235 | this.source.addEventListener("error", onError) |
| 236 | onReadyStateChange() |
| 237 | return Effect.sync(() => { |
| 238 | this.source.removeEventListener("readystatechange", onReadyStateChange) |
| 239 | this.source.removeEventListener("error", onError) |
| 240 | }) |
| 241 | }) |
| 242 | } |
| 243 | |
| 244 | _arrayBufferEffect: Effect.Effect<ArrayBuffer, E> | undefined |
| 245 | get arrayBuffer(): Effect.Effect<ArrayBuffer, E> { |
nothing calls this directly
no test coverage detected