diff options
Diffstat (limited to 'runtime/ops/fs.rs')
-rw-r--r-- | runtime/ops/fs.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/runtime/ops/fs.rs b/runtime/ops/fs.rs index 8d719393f..b661c6ea8 100644 --- a/runtime/ops/fs.rs +++ b/runtime/ops/fs.rs @@ -222,14 +222,18 @@ async fn op_open_async( } #[inline] -fn write_open_options(create: bool, append: bool) -> OpenOptions { +fn write_open_options( + create: bool, + append: bool, + create_new: bool, +) -> OpenOptions { OpenOptions { read: false, write: true, create, truncate: !append, append, - create_new: false, + create_new, } } @@ -240,13 +244,14 @@ fn op_write_file_sync( mode: Option<u32>, append: bool, create: bool, + create_new: bool, data: ZeroCopyBuf, ) -> Result<(), AnyError> { let (path, open_options) = open_helper( state, &path, mode, - Some(&write_open_options(create, append)), + Some(&write_open_options(create, append, create_new)), "Deno.writeFileSync()", )?; write_file(&path, open_options, mode, data) @@ -259,6 +264,7 @@ async fn op_write_file_async( mode: Option<u32>, append: bool, create: bool, + create_new: bool, data: ZeroCopyBuf, cancel_rid: Option<ResourceId>, ) -> Result<(), AnyError> { @@ -274,7 +280,7 @@ async fn op_write_file_async( &mut state.borrow_mut(), &path, mode, - Some(&write_open_options(create, append)), + Some(&write_open_options(create, append, create_new)), "Deno.writeFile()", )?; let write_future = tokio::task::spawn_blocking(move || { |