aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-06-01 19:48:37 -0400
committerGravatar GitHub <noreply@github.com> 2023-06-01 16:48:37 -0700
commit42d8b7183ca55e546d207124e01ba01603a5f07b (patch)
treeb325d2bc70b1c06f49be951dc22453b2445ec5e3 /src/bun.js/builtins
parentf9809f0044e59de10c9d64a89715c6008608358c (diff)
downloadbun-42d8b7183ca55e546d207124e01ba01603a5f07b.tar.gz
bun-42d8b7183ca55e546d207124e01ba01603a5f07b.tar.zst
bun-42d8b7183ca55e546d207124e01ba01603a5f07b.zip
random fixes that help vite/sveltekit (#3140)
* existsSync with invalid paths should return false * partially support file urls (does not do percent encoding) * add utf16 support for Path.isAbsoluteString * Update src/resolver/resolver.zig Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * fixups * revert * prettier format --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Diffstat (limited to 'src/bun.js/builtins')
-rw-r--r--src/bun.js/builtins/WebCoreJSBuiltins.cpp4
-rw-r--r--src/bun.js/builtins/builtins.d.ts4
-rw-r--r--src/bun.js/builtins/ts/ReadableStream.ts17
-rw-r--r--src/bun.js/builtins/ts/ReadableStreamInternals.ts2
4 files changed, 13 insertions, 14 deletions
diff --git a/src/bun.js/builtins/WebCoreJSBuiltins.cpp b/src/bun.js/builtins/WebCoreJSBuiltins.cpp
index 1e270f1ce..614c34a1a 100644
--- a/src/bun.js/builtins/WebCoreJSBuiltins.cpp
+++ b/src/bun.js/builtins/WebCoreJSBuiltins.cpp
@@ -2420,9 +2420,9 @@ const char* const s_readableStreamReadableStreamToTextCode = "(function (_){\"us
const JSC::ConstructAbility s_readableStreamReadableStreamToArrayBufferCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamReadableStreamToArrayBufferCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_readableStreamReadableStreamToArrayBufferCodeImplementationVisibility = JSC::ImplementationVisibility::Private;
-const int s_readableStreamReadableStreamToArrayBufferCodeLength = 212;
+const int s_readableStreamReadableStreamToArrayBufferCodeLength = 271;
static const JSC::Intrinsic s_readableStreamReadableStreamToArrayBufferCodeIntrinsic = JSC::NoIntrinsic;
-const char* const s_readableStreamReadableStreamToArrayBufferCode = "(function (_){\"use strict\";var p=@getByIdDirectPrivate(_,\"underlyingSource\");if(p!==@undefined)return @readableStreamToArrayBufferDirect(_,p);return @Bun.readableStreamToArray(_).@then(@Bun.concatArrayBuffers)})\n";
+const char* const s_readableStreamReadableStreamToArrayBufferCode = "(function (_){\"use strict\";var f=@getByIdDirectPrivate(_,\"underlyingSource\");if(f!==@undefined)return @readableStreamToArrayBufferDirect(_,f);var A=@Bun.readableStreamToArray(_);if(@isPromise(A))return A.@then(@Bun.concatArrayBuffers);return @Bun.concatArrayBuffers(A)})\n";
// readableStreamToJSON
const JSC::ConstructAbility s_readableStreamReadableStreamToJSONCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
diff --git a/src/bun.js/builtins/builtins.d.ts b/src/bun.js/builtins/builtins.d.ts
index da92c18bd..7bd3e4fae 100644
--- a/src/bun.js/builtins/builtins.d.ts
+++ b/src/bun.js/builtins/builtins.d.ts
@@ -441,10 +441,6 @@ declare class OutOfMemoryError {
constructor();
}
-declare class ReadableStream {
- constructor(stream: unknown, view?: unknown);
- values(options?: unknown): AsyncIterableIterator<unknown>;
-}
declare class ReadableStreamDefaultController {
constructor(
stream: unknown,
diff --git a/src/bun.js/builtins/ts/ReadableStream.ts b/src/bun.js/builtins/ts/ReadableStream.ts
index e86b14f89..613f869e5 100644
--- a/src/bun.js/builtins/ts/ReadableStream.ts
+++ b/src/bun.js/builtins/ts/ReadableStream.ts
@@ -102,7 +102,7 @@ export function initializeReadableStream(this: any, underlyingSource: Underlying
}
$linkTimeConstant;
-export function readableStreamToArray(stream) {
+export function readableStreamToArray(stream: ReadableStream): Promise<unknown[]> {
// this is a direct stream
var underlyingSource = $getByIdDirectPrivate(stream, "underlyingSource");
if (underlyingSource !== undefined) {
@@ -113,7 +113,7 @@ export function readableStreamToArray(stream) {
}
$linkTimeConstant;
-export function readableStreamToText(stream) {
+export function readableStreamToText(stream: ReadableStream): Promise<string> {
// this is a direct stream
var underlyingSource = $getByIdDirectPrivate(stream, "underlyingSource");
if (underlyingSource !== undefined) {
@@ -124,7 +124,7 @@ export function readableStreamToText(stream) {
}
$linkTimeConstant;
-export function readableStreamToArrayBuffer(stream) {
+export function readableStreamToArrayBuffer(stream: ReadableStream<ArrayBuffer>): Promise<ArrayBuffer> | ArrayBuffer {
// this is a direct stream
var underlyingSource = $getByIdDirectPrivate(stream, "underlyingSource");
@@ -132,16 +132,21 @@ export function readableStreamToArrayBuffer(stream) {
return $readableStreamToArrayBufferDirect(stream, underlyingSource);
}
- return Promise.resolve(Bun.readableStreamToArray(stream)).$then(Bun.concatArrayBuffers);
+ var array = Bun.readableStreamToArray(stream);
+ if ($isPromise(array)) {
+ return array.$then(Bun.concatArrayBuffers);
+ }
+
+ return Bun.concatArrayBuffers(array);
}
$linkTimeConstant;
-export function readableStreamToJSON(stream) {
+export function readableStreamToJSON(stream: ReadableStream): unknown {
return Bun.readableStreamToText(stream).$then(globalThis.JSON.parse);
}
$linkTimeConstant;
-export function readableStreamToBlob(stream) {
+export function readableStreamToBlob(stream: ReadableStream): Promise<Blob> {
return Promise.resolve(Bun.readableStreamToArray(stream)).$then(array => new Blob(array));
}
diff --git a/src/bun.js/builtins/ts/ReadableStreamInternals.ts b/src/bun.js/builtins/ts/ReadableStreamInternals.ts
index c0867445f..0c4e816f4 100644
--- a/src/bun.js/builtins/ts/ReadableStreamInternals.ts
+++ b/src/bun.js/builtins/ts/ReadableStreamInternals.ts
@@ -1750,8 +1750,6 @@ export async function readableStreamToArrayDirect(stream, underlyingSource) {
stream = undefined;
reader = undefined;
}
-
- return capability.$promise;
}
export function readableStreamDefineLazyIterators(prototype) {