aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-06-01 21:16:47 -0400
committerGravatar GitHub <noreply@github.com> 2023-06-01 18:16:47 -0700
commit4df1d37ddc54242c339765f22fb90ba2e9e3a99a (patch)
treed63ede76463e7ecba78a4d4b31e5e8158193552f /src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts
parent03ffd1c732aaaa30b5481f197221ce96da559e63 (diff)
downloadbun-4df1d37ddc54242c339765f22fb90ba2e9e3a99a.tar.gz
bun-4df1d37ddc54242c339765f22fb90ba2e9e3a99a.tar.zst
bun-4df1d37ddc54242c339765f22fb90ba2e9e3a99a.zip
Bundle and minify `.exports.js` files. (#3036)
* move all exports.js into src/js * finalize the sort of this * and it works * add test.ts to gitignore * okay * convert some to ts just to show * finish up * fixup makefile * minify syntax in dev * finish rebase * dont minify all modules * merge * finish rebase merge * flaky test that hangs
Diffstat (limited to 'src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts')
-rw-r--r--src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts185
1 files changed, 0 insertions, 185 deletions
diff --git a/src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts b/src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts
deleted file mode 100644
index ecd553ed5..000000000
--- a/src/bun.js/builtins/ts/ReadableStreamDefaultReader.ts
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (C) 2015 Canon Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-export function initializeReadableStreamDefaultReader(this, stream) {
- if (!$isReadableStream(stream)) throw new TypeError("ReadableStreamDefaultReader needs a ReadableStream");
- if ($isReadableStreamLocked(stream)) throw new TypeError("ReadableStream is locked");
-
- $readableStreamReaderGenericInitialize(this, stream);
- $putByIdDirectPrivate(this, "readRequests", $createFIFO());
-
- return this;
-}
-
-export function cancel(this, reason) {
- if (!$isReadableStreamDefaultReader(this))
- return Promise.$reject($makeThisTypeError("ReadableStreamDefaultReader", "cancel"));
-
- if (!$getByIdDirectPrivate(this, "ownerReadableStream"))
- return Promise.$reject(new TypeError("cancel() called on a reader owned by no readable stream"));
-
- return $readableStreamReaderGenericCancel(this, reason);
-}
-
-export function readMany(this) {
- if (!$isReadableStreamDefaultReader(this))
- throw new TypeError("ReadableStreamDefaultReader.readMany() should not be called directly");
-
- const stream = $getByIdDirectPrivate(this, "ownerReadableStream");
- if (!stream) throw new TypeError("readMany() called on a reader owned by no readable stream");
-
- const state = $getByIdDirectPrivate(stream, "state");
- $putByIdDirectPrivate(stream, "disturbed", true);
- if (state === $streamClosed) return { value: [], size: 0, done: true };
- else if (state === $streamErrored) {
- throw $getByIdDirectPrivate(stream, "storedError");
- }
-
- var controller = $getByIdDirectPrivate(stream, "readableStreamController");
- var queue = $getByIdDirectPrivate(controller, "queue");
-
- if (!queue) {
- // This is a ReadableStream direct controller implemented in JS
- // It hasn't been started yet.
- return controller.$pull(controller).$then(function ({ done, value }) {
- return done ? { done: true, value: [], size: 0 } : { value: [value], size: 1, done: false };
- });
- }
-
- const content = queue.content;
- var size = queue.size;
- var values = content.toArray(false);
-
- var length = values.length;
-
- if (length > 0) {
- var outValues = $newArrayWithSize(length);
- if ($isReadableByteStreamController(controller)) {
- {
- const buf = values[0];
- if (!(ArrayBuffer.$isView(buf) || buf instanceof ArrayBuffer)) {
- $putByValDirect(outValues, 0, new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));
- } else {
- $putByValDirect(outValues, 0, buf);
- }
- }
-
- for (var i = 1; i < length; i++) {
- const buf = values[i];
- if (!(ArrayBuffer.$isView(buf) || buf instanceof ArrayBuffer)) {
- $putByValDirect(outValues, i, new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));
- } else {
- $putByValDirect(outValues, i, buf);
- }
- }
- } else {
- $putByValDirect(outValues, 0, values[0].value);
- for (var i = 1; i < length; i++) {
- $putByValDirect(outValues, i, values[i].value);
- }
- }
-
- $resetQueue($getByIdDirectPrivate(controller, "queue"));
-
- if ($getByIdDirectPrivate(controller, "closeRequested"))
- $readableStreamClose($getByIdDirectPrivate(controller, "controlledReadableStream"));
- else if ($isReadableStreamDefaultController(controller))
- $readableStreamDefaultControllerCallPullIfNeeded(controller);
- else if ($isReadableByteStreamController(controller)) $readableByteStreamControllerCallPullIfNeeded(controller);
-
- return { value: outValues, size, done: false };
- }
-
- var onPullMany = result => {
- if (result.done) {
- return { value: [], size: 0, done: true };
- }
- var controller = $getByIdDirectPrivate(stream, "readableStreamController");
-
- var queue = $getByIdDirectPrivate(controller, "queue");
- var value = [result.value].concat(queue.content.toArray(false));
- var length = value.length;
-
- if ($isReadableByteStreamController(controller)) {
- for (var i = 0; i < length; i++) {
- const buf = value[i];
- if (!(ArrayBuffer.$isView(buf) || buf instanceof ArrayBuffer)) {
- const { buffer, byteOffset, byteLength } = buf;
- $putByValDirect(value, i, new Uint8Array(buffer, byteOffset, byteLength));
- }
- }
- } else {
- for (var i = 1; i < length; i++) {
- $putByValDirect(value, i, value[i].value);
- }
- }
-
- var size = queue.size;
- $resetQueue(queue);
-
- if ($getByIdDirectPrivate(controller, "closeRequested"))
- $readableStreamClose($getByIdDirectPrivate(controller, "controlledReadableStream"));
- else if ($isReadableStreamDefaultController(controller))
- $readableStreamDefaultControllerCallPullIfNeeded(controller);
- else if ($isReadableByteStreamController(controller)) $readableByteStreamControllerCallPullIfNeeded(controller);
-
- return { value: value, size: size, done: false };
- };
-
- var pullResult = controller.$pull(controller);
- if (pullResult && $isPromise(pullResult)) {
- return pullResult.$then(onPullMany);
- }
-
- return onPullMany(pullResult);
-}
-
-export function read(this) {
- if (!$isReadableStreamDefaultReader(this))
- return Promise.$reject($makeThisTypeError("ReadableStreamDefaultReader", "read"));
- if (!$getByIdDirectPrivate(this, "ownerReadableStream"))
- return Promise.$reject(new TypeError("read() called on a reader owned by no readable stream"));
-
- return $readableStreamDefaultReaderRead(this);
-}
-
-export function releaseLock(this) {
- if (!$isReadableStreamDefaultReader(this)) throw $makeThisTypeError("ReadableStreamDefaultReader", "releaseLock");
-
- if (!$getByIdDirectPrivate(this, "ownerReadableStream")) return;
-
- if ($getByIdDirectPrivate(this, "readRequests")?.isNotEmpty())
- throw new TypeError("There are still pending read requests, cannot release the lock");
-
- $readableStreamReaderGenericRelease(this);
-}
-
-$getter;
-export function closed(this) {
- if (!$isReadableStreamDefaultReader(this))
- return Promise.$reject($makeGetterTypeError("ReadableStreamDefaultReader", "closed"));
-
- return $getByIdDirectPrivate(this, "closedPromiseCapability").$promise;
-}