aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-01 03:21:55 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-01 03:21:55 -0700
commitf2569c8c6ed7ce10451005dcc61e4a2d8807e869 (patch)
tree04a91a3ac7970393a816a91517ae1ee04ce8ffdf /src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
parent4aec5151e54a328a9507e4cf48fc26e76d12a35f (diff)
downloadbun-f2569c8c6ed7ce10451005dcc61e4a2d8807e869.tar.gz
bun-f2569c8c6ed7ce10451005dcc61e4a2d8807e869.tar.zst
bun-f2569c8c6ed7ce10451005dcc61e4a2d8807e869.zip
Move ImportMeta into it's own object
Diffstat (limited to 'src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp')
-rw-r--r--src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp129
1 files changed, 28 insertions, 101 deletions
diff --git a/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp b/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
index 3ce80f2f9..8bfc7da7a 100644
--- a/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
@@ -128,7 +128,7 @@ const char* const s_readableStreamInitializeReadableStreamCode =
const JSC::ConstructAbility s_readableStreamReadableStreamToArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamReadableStreamToArrayCodeConstructorKind = JSC::ConstructorKind::None;
-const int s_readableStreamReadableStreamToArrayCodeLength = 1366;
+const int s_readableStreamReadableStreamToArrayCodeLength = 294;
static const JSC::Intrinsic s_readableStreamReadableStreamToArrayCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamReadableStreamToArrayCode =
"(function (stream) {\n" \
@@ -136,59 +136,17 @@ const char* const s_readableStreamReadableStreamToArrayCode =
"\n" \
" //\n" \
" var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n" \
- " if (underlyingSource !== @undefined) { \n" \
- " const promise = @initializeArrayStream.@call(stream, underlyingSource, @undefined);\n" \
- " var reader = stream.getReader();\n" \
- " return (async function() {\n" \
- " while (@getByIdDirectPrivate(stream, \"state\") === @streamReadable) {\n" \
- " var thisResult = await reader.read();\n" \
- " if (thisResult.done) {\n" \
- " break;\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " try {\n" \
- " reader.releaseLock();\n" \
- " } catch(e) {\n" \
- " }\n" \
- "\n" \
- " return await promise;\n" \
- " })();\n" \
- " }\n" \
- "\n" \
- " var reader = stream.getReader();\n" \
- " var manyResult = reader.readMany();\n" \
- " \n" \
- " async function processManyResult(result) {\n" \
- " \n" \
- " if (result.done) {\n" \
- " return [];\n" \
- " }\n" \
- "\n" \
- " var chunks = result.value || [];\n" \
- " \n" \
- " while (true) {\n" \
- " var thisResult = await reader.read();\n" \
- " if (thisResult.done) {\n" \
- " break;\n" \
- " }\n" \
- " chunks = chunks.concat(thisResult.value);\n" \
- " }\n" \
- "\n" \
- " return chunks;\n" \
- " }\n" \
- "\n" \
- " if (manyResult && @isPromise(manyResult)) {\n" \
- " return manyResult.@then(processManyResult);\n" \
+ " if (underlyingSource !== @undefined) {\n" \
+ " return @readableStreamToArrayDirect(stream, underlyingSource);\n" \
" }\n" \
"\n" \
- " return processManyResult(manyResult);\n" \
+ " return @readableStreamIntoArray(stream);\n" \
"})\n" \
;
const JSC::ConstructAbility s_readableStreamReadableStreamToTextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamReadableStreamToTextCodeConstructorKind = JSC::ConstructorKind::None;
-const int s_readableStreamReadableStreamToTextCodeLength = 1080;
+const int s_readableStreamReadableStreamToTextCodeLength = 292;
static const JSC::Intrinsic s_readableStreamReadableStreamToTextCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamReadableStreamToTextCode =
"(function (stream) {\n" \
@@ -197,83 +155,52 @@ const char* const s_readableStreamReadableStreamToTextCode =
" //\n" \
" var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n" \
" if (underlyingSource !== @undefined) {\n" \
- " \n" \
- " const promise = @initializeTextStream.@call(stream, underlyingSource, @undefined);\n" \
- " var reader = stream.getReader();\n" \
- " return (async function() {\n" \
- " while (@getByIdDirectPrivate(stream, \"state\") === @streamReadable) {\n" \
- " var thisResult = await reader.read();\n" \
- " if (thisResult.done) {\n" \
- " break;\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " try {\n" \
- " reader.releaseLock();\n" \
- " } catch(e) {\n" \
- " }\n" \
- " \n" \
- " return await promise;\n" \
- " })();\n" \
+ " return @readableStreamToTextDirect(stream, underlyingSource);\n" \
" }\n" \
"\n" \
+ " return @readableStreamIntoText(stream);\n" \
+ "})\n" \
+;
+
+const JSC::ConstructAbility s_readableStreamReadableStreamToArrayBufferCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
+const JSC::ConstructorKind s_readableStreamReadableStreamToArrayBufferCodeConstructorKind = JSC::ConstructorKind::None;
+const int s_readableStreamReadableStreamToArrayBufferCodeLength = 354;
+static const JSC::Intrinsic s_readableStreamReadableStreamToArrayBufferCodeIntrinsic = JSC::NoIntrinsic;
+const char* const s_readableStreamReadableStreamToArrayBufferCode =
+ "(function (stream) {\n" \
+ " \"use strict\";\n" \
+ "\n" \
" //\n" \
- " var toArrayBuffer = globalThis.Bun.readableStreamToArrayBuffer(stream);\n" \
- " if (toArrayBuffer && @isPromise(toArrayBuffer)) {\n" \
- " return toArrayBuffer.@then(function(arrayBuffer) {\n" \
- " return new globalThis.TextDecoder().decode(arrayBuffer);\n" \
- " });\n" \
+ " var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n" \
+ "\n" \
+ " if (underlyingSource !== @undefined) {\n" \
+ " return @readableStreamToArrayBufferDirect(stream, underlyingSource);\n" \
" }\n" \
"\n" \
- " return new globalThis.TextDecoder().decode(arrayBuffer);\n" \
+ " return globalThis.Bun.readableStreamToArray(stream).@then(globalThis.Bun.concatArrayBuffers);\n" \
"})\n" \
;
const JSC::ConstructAbility s_readableStreamReadableStreamToJSONCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamReadableStreamToJSONCodeConstructorKind = JSC::ConstructorKind::None;
-const int s_readableStreamReadableStreamToJSONCodeLength = 114;
+const int s_readableStreamReadableStreamToJSONCodeLength = 128;
static const JSC::Intrinsic s_readableStreamReadableStreamToJSONCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamReadableStreamToJSONCode =
"(function (stream) {\n" \
" \"use strict\";\n" \
"\n" \
- " return @readableStreamToText(stream).@then(globalThis.JSON.parse);\n" \
+ " return globalThis.Bun.readableStreamToText(stream).@then(globalThis.JSON.parse);\n" \
"})\n" \
;
const JSC::ConstructAbility s_readableStreamReadableStreamToBlobCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamReadableStreamToBlobCodeConstructorKind = JSC::ConstructorKind::None;
-const int s_readableStreamReadableStreamToBlobCodeLength = 834;
+const int s_readableStreamReadableStreamToBlobCodeLength = 149;
static const JSC::Intrinsic s_readableStreamReadableStreamToBlobCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamReadableStreamToBlobCode =
"(function (stream) {\n" \
" \"use strict\";\n" \
- "\n" \
- " var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n" \
- " if (underlyingSource != @undefined) {\n" \
- " var toArrayBuffer = globalThis.Bun.readableStreamToArrayBuffer(stream);\n" \
- " if (toArrayBuffer && @isPromise(toArrayBuffer)) {\n" \
- " return toArrayBuffer.@then(function(arrayBuffer) {\n" \
- " return new globalThis.Blob([arrayBuffer]);\n" \
- " });\n" \
- " }\n" \
- "\n" \
- " return new globalThis.Blob([toArrayBuffer]);\n" \
- " }\n" \
- "\n" \
- " \n" \
- " const array = @readableStreamToArray(stream);\n" \
- " if (array === null) {\n" \
- " return new globalThis.Blob();\n" \
- " }\n" \
- "\n" \
- " return array.@then(function(chunks) {\n" \
- " if (chunks === null || chunks.length === 0) {\n" \
- " return new globalThis.Blob();\n" \
- " }\n" \
- "\n" \
- " return new globalThis.Blob(chunks);\n" \
- " });\n" \
+ " return @Promise.resolve(globalThis.Bun.readableStreamToArray(stream)).@then(array => new Blob(array));\n" \
"})\n" \
;
@@ -545,7 +472,7 @@ const char* const s_readableStreamPipeToCode =
"\n" \
" //\n" \
" //\n" \
- " let options = arguments[1];\n" \
+ " let options = @argument(1);\n" \
"\n" \
" let preventClose = false;\n" \
" let preventAbort = false;\n" \