mirror of
https://github.com/oven-sh/bun
synced 2026-02-11 11:29:02 +00:00
[bun.js] Implement Bun.write()
This commit is contained in:
@@ -297,9 +297,11 @@ pub fn IOTask(comptime Context: type) type {
|
||||
};
|
||||
}
|
||||
|
||||
const CopyFilePromiseTask = WebCore.Blob.Store.CopyFile.CopyFilePromiseTask;
|
||||
const AsyncTransformTask = @import("./api/transpiler.zig").TransformTask.AsyncTransformTask;
|
||||
const BunTimerTimeoutTask = Bun.Timer.Timeout.TimeoutTask;
|
||||
const ReadFileTask = WebCore.Blob.Store.ReadFile.ReadFileTask;
|
||||
const WriteFileTask = WebCore.Blob.Store.WriteFile.WriteFileTask;
|
||||
const OpenAndStatFileTask = WebCore.Blob.Store.OpenAndStatFile.OpenAndStatFileTask;
|
||||
// const PromiseTask = JSInternalPromise.Completion.PromiseTask;
|
||||
pub const Task = TaggedPointerUnion(.{
|
||||
@@ -309,6 +311,8 @@ pub const Task = TaggedPointerUnion(.{
|
||||
BunTimerTimeoutTask,
|
||||
ReadFileTask,
|
||||
OpenAndStatFileTask,
|
||||
CopyFilePromiseTask,
|
||||
WriteFileTask,
|
||||
// PromiseTask,
|
||||
// TimeoutTasklet,
|
||||
});
|
||||
@@ -527,6 +531,13 @@ pub const VirtualMachine = struct {
|
||||
finished += 1;
|
||||
vm_.active_tasks -|= 1;
|
||||
},
|
||||
@field(Task.Tag, @typeName(CopyFilePromiseTask)) => {
|
||||
var transform_task: *CopyFilePromiseTask = task.get(CopyFilePromiseTask).?;
|
||||
transform_task.*.runFromJS();
|
||||
transform_task.deinit();
|
||||
finished += 1;
|
||||
vm_.active_tasks -|= 1;
|
||||
},
|
||||
@field(Task.Tag, @typeName(BunTimerTimeoutTask)) => {
|
||||
var transform_task: *BunTimerTimeoutTask = task.get(BunTimerTimeoutTask).?;
|
||||
transform_task.*.runFromJS();
|
||||
@@ -542,6 +553,11 @@ pub const VirtualMachine = struct {
|
||||
transform_task.*.runFromJS();
|
||||
finished += 1;
|
||||
},
|
||||
@field(Task.Tag, @typeName(WriteFileTask)) => {
|
||||
var transform_task: *WriteFileTask = task.get(WriteFileTask).?;
|
||||
transform_task.*.runFromJS();
|
||||
finished += 1;
|
||||
},
|
||||
else => unreachable,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user