mirror of
https://github.com/denoland/deno.git
synced 2025-08-03 10:33:54 +00:00
Move writeFileSync to write_file.ts, add writeFile and tests (#728)
This commit is contained in:
parent
c2663e1d82
commit
05f87a0cf2
10 changed files with 192 additions and 83 deletions
32
js/os.ts
32
js/os.ts
|
@ -274,38 +274,6 @@ function statSyncInner(filename: string, lstat: boolean): FileInfo {
|
|||
return new FileInfo(res);
|
||||
}
|
||||
|
||||
/**
|
||||
* Write a new file.
|
||||
* import { writeFileSync } from "deno";
|
||||
*
|
||||
* const encoder = new TextEncoder("utf-8");
|
||||
* const data = encoder.encode("Hello world\n");
|
||||
* writeFileSync("hello.txt", data);
|
||||
*/
|
||||
export function writeFileSync(
|
||||
filename: string,
|
||||
data: Uint8Array,
|
||||
perm = 0o666
|
||||
): void {
|
||||
/* Ideally we could write:
|
||||
const res = sendSync({
|
||||
command: fbs.Command.WRITE_FILE_SYNC,
|
||||
writeFileSyncFilename: filename,
|
||||
writeFileSyncData: data,
|
||||
writeFileSyncPerm: perm
|
||||
});
|
||||
*/
|
||||
const builder = new flatbuffers.Builder();
|
||||
const filename_ = builder.createString(filename);
|
||||
const dataOffset = fbs.WriteFileSync.createDataVector(builder, data);
|
||||
fbs.WriteFileSync.startWriteFileSync(builder);
|
||||
fbs.WriteFileSync.addFilename(builder, filename_);
|
||||
fbs.WriteFileSync.addData(builder, dataOffset);
|
||||
fbs.WriteFileSync.addPerm(builder, perm);
|
||||
const msg = fbs.WriteFileSync.endWriteFileSync(builder);
|
||||
sendSync(builder, fbs.Any.WriteFileSync, msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renames (moves) oldpath to newpath.
|
||||
* import { renameSync } from "deno";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue