aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/node/node_fs_binding.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/node/node_fs_binding.zig')
-rw-r--r--src/bun.js/node/node_fs_binding.zig19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/bun.js/node/node_fs_binding.zig b/src/bun.js/node/node_fs_binding.zig
index dfc47b2ce..16128be44 100644
--- a/src/bun.js/node/node_fs_binding.zig
+++ b/src/bun.js/node/node_fs_binding.zig
@@ -108,9 +108,12 @@ fn call(comptime FunctionEnum: NodeFSFunctionEnum) NodeFSFunction {
globalObject: *JSC.JSGlobalObject,
callframe: *JSC.CallFrame,
) callconv(.C) JSC.JSValue {
- if (comptime FunctionEnum != .readdir and FunctionEnum != .lstat and FunctionEnum != .stat and FunctionEnum != .readFile and FunctionEnum != .realpath) {
- globalObject.throw("Not implemented yet", .{});
- return .zero;
+ switch (comptime FunctionEnum) {
+ .readdir, .lstat, .stat, .readFile, .realpath, .copyFile, .cp => {},
+ else => {
+ globalObject.throw("Not implemented yet", .{});
+ return .zero;
+ },
}
var arguments = callframe.arguments(8);
@@ -155,6 +158,14 @@ fn call(comptime FunctionEnum: NodeFSFunctionEnum) NodeFSFunction {
return JSC.Node.AsyncStatTask.create(globalObject, args, slice.vm, FunctionEnum == .lstat, slice.arena);
}
+ if (comptime FunctionEnum == .copyFile) {
+ return JSC.Node.AsyncCopyFileTask.create(globalObject, args, slice.vm, slice.arena);
+ }
+
+ if (comptime FunctionEnum == .cp) {
+ return JSC.Node.AsyncCpTask.create(globalObject, args, slice.vm, slice.arena);
+ }
+
// defer {
// for (arguments.len) |arg| {
// JSC.C.JSValueUnprotect(ctx, arg);
@@ -201,6 +212,7 @@ pub const NodeJSFS = struct {
pub const appendFile = call(.appendFile);
pub const close = call(.close);
pub const copyFile = call(.copyFile);
+ pub const cp = call(.cp);
pub const exists = call(.exists);
pub const chown = call(.chown);
pub const chmod = call(.chmod);
@@ -236,6 +248,7 @@ pub const NodeJSFS = struct {
pub const accessSync = callSync(.access);
pub const appendFileSync = callSync(.appendFile);
pub const closeSync = callSync(.close);
+ pub const cpSync = callSync(.cp);
pub const copyFileSync = callSync(.copyFile);
pub const existsSync = callSync(.exists);
pub const chownSync = callSync(.chown);