1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00

BREAKING(fs): remove Deno.ftruncate[Sync]() (#25412)

Towards #22079

Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
This commit is contained in:
Asher Gomez 2024-09-04 18:53:43 +10:00 committed by GitHub
parent ac33fc2892
commit 3d36cbd056
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 6 additions and 131 deletions

View file

@ -322,7 +322,7 @@ pub const OP_DETAILS: phf::Map<&'static str, [&'static str; 2]> = phf_map! {
"op_fs_file_stat_async" => ["get file metadata", "awaiting the result of a `Deno.FsFile.prototype.stat` call"],
"op_fs_flock_async" => ["lock a file", "awaiting the result of a `Deno.FsFile.lock` call"],
"op_fs_fsync_async" => ["flush pending data operations for a file to disk", "awaiting the result of a `Deno.fsync` or `Deno.FsFile.sync` call"],
"op_fs_ftruncate_async" => ["truncate a file", "awaiting the result of a `Deno.ftruncate` or `Deno.FsFile.truncate` call"],
"op_fs_file_truncate_async" => ["truncate a file", "awaiting the result of a `Deno.FsFile.prototype.truncate` call"],
"op_fs_funlock_async_unstable" => ["unlock a file", "awaiting the result of a `Deno.funlock` call"],
"op_fs_funlock_async" => ["unlock a file", "awaiting the result of a `Deno.FsFile.unlock` call"],
"op_fs_link_async" => ["create a hard link", "awaiting the result of a `Deno.link` call"],

View file

@ -5193,97 +5193,6 @@ declare namespace Deno {
options?: SymlinkOptions,
): void;
/**
* Truncates or extends the specified file stream, to reach the specified
* `len`.
*
* If `len` is not specified then the entire file contents are truncated as if
* `len` was set to `0`.
*
* If the file previously was larger than this new length, the extra data is
* lost.
*
* If the file previously was shorter, it is extended, and the extended part
* reads as null bytes ('\0').
*
* ### Truncate the entire file
*
* ```ts
* const file = await Deno.open(
* "my_file.txt",
* { read: true, write: true, create: true }
* );
* await Deno.ftruncate(file.rid);
* ```
*
* ### Truncate part of the file
*
* ```ts
* const file = await Deno.open(
* "my_file.txt",
* { read: true, write: true, create: true }
* );
* await file.write(new TextEncoder().encode("Hello World"));
* await Deno.ftruncate(file.rid, 7);
* const data = new Uint8Array(32);
* await Deno.read(file.rid, data);
* console.log(new TextDecoder().decode(data)); // Hello W
* ```
*
* @deprecated This will be removed in Deno 2.0. See the
* {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
* for migration instructions.
*
* @category File System
*/
export function ftruncate(rid: number, len?: number): Promise<void>;
/**
* Synchronously truncates or extends the specified file stream, to reach the
* specified `len`.
*
* If `len` is not specified then the entire file contents are truncated as if
* `len` was set to `0`.
*
* If the file previously was larger than this new length, the extra data is
* lost.
*
* If the file previously was shorter, it is extended, and the extended part
* reads as null bytes ('\0').
*
* ### Truncate the entire file
*
* ```ts
* const file = Deno.openSync(
* "my_file.txt",
* { read: true, write: true, truncate: true, create: true }
* );
* Deno.ftruncateSync(file.rid);
* ```
*
* ### Truncate part of the file
*
* ```ts
* const file = Deno.openSync(
* "my_file.txt",
* { read: true, write: true, create: true }
* );
* file.writeSync(new TextEncoder().encode("Hello World"));
* Deno.ftruncateSync(file.rid, 7);
* Deno.seekSync(file.rid, 0, Deno.SeekMode.Start);
* const data = new Uint8Array(32);
* Deno.readSync(file.rid, data);
* console.log(new TextDecoder().decode(data)); // Hello W
* ```
*
* @deprecated This will be removed in Deno 2.0. See the
* {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
* for migration instructions.
*
* @category File System
*/
export function ftruncateSync(rid: number, len?: number): void;
/**
* Synchronously changes the access (`atime`) and modification (`mtime`) times
* of a file system object referenced by `path`. Given times are either in

View file

@ -19,11 +19,11 @@ import {
op_fs_fdatasync_sync,
op_fs_file_stat_async,
op_fs_file_stat_sync,
op_fs_file_truncate_async,
op_fs_flock_async,
op_fs_flock_sync,
op_fs_fsync_async,
op_fs_fsync_sync,
op_fs_ftruncate_async,
op_fs_ftruncate_sync,
op_fs_funlock_async,
op_fs_funlock_async_unstable,
@ -422,14 +422,6 @@ function coerceLen(len) {
return len;
}
function ftruncateSync(rid, len) {
op_fs_ftruncate_sync(rid, coerceLen(len));
}
async function ftruncate(rid, len) {
await op_fs_ftruncate_async(rid, coerceLen(len));
}
function truncateSync(path, len) {
op_fs_truncate_sync(path, coerceLen(len));
}
@ -655,11 +647,11 @@ class FsFile {
}
truncate(len) {
return ftruncate(this.#rid, len);
return op_fs_file_truncate_async(this.#rid, coerceLen(len));
}
truncateSync(len) {
return ftruncateSync(this.#rid, len);
return op_fs_ftruncate_sync(this.#rid, coerceLen(len));
}
read(p) {
@ -962,8 +954,6 @@ export {
FsFile,
fsync,
fsyncSync,
ftruncate,
ftruncateSync,
funlock,
funlockSync,
link,

View file

@ -242,7 +242,7 @@ deno_core::extension!(deno_fs,
op_fs_funlock_async,
op_fs_funlock_sync,
op_fs_ftruncate_sync,
op_fs_ftruncate_async,
op_fs_file_truncate_async,
op_fs_futime_sync,
op_fs_futime_async,

View file

@ -1569,7 +1569,7 @@ pub fn op_fs_ftruncate_sync(
}
#[op2(async)]
pub async fn op_fs_ftruncate_async(
pub async fn op_fs_file_truncate_async(
state: Rc<RefCell<OpState>>,
#[smi] rid: ResourceId,
#[number] len: u64,

View file

@ -77,22 +77,6 @@ const denoNs = {
lstat: fs.lstat,
truncateSync: fs.truncateSync,
truncate: fs.truncate,
ftruncateSync(rid, len) {
internals.warnOnDeprecatedApi(
"Deno.ftruncateSync()",
new Error().stack,
"Use `Deno.FsFile.truncateSync()` instead.",
);
return fs.ftruncateSync(rid, len);
},
ftruncate(rid, len) {
internals.warnOnDeprecatedApi(
"Deno.ftruncate()",
new Error().stack,
"Use `Deno.FsFile.truncate()` instead.",
);
return fs.ftruncate(rid, len);
},
errors: errors.errors,
inspect: console.inspect,
env: os.env,

View file

@ -802,8 +802,6 @@ function bootstrapMainRuntime(runtimeOptions, warmup = false) {
delete globalThis.window;
delete Deno.Buffer;
delete Deno.File;
delete Deno.ftruncate;
delete Deno.ftruncateSync;
delete Deno.FsFile.prototype.rid;
delete Deno.funlock;
delete Deno.funlockSync;
@ -975,8 +973,6 @@ function bootstrapWorkerRuntime(
if (future) {
delete Deno.Buffer;
delete Deno.File;
delete Deno.ftruncate;
delete Deno.ftruncateSync;
delete Deno.FsFile.prototype.rid;
delete Deno.funlock;
delete Deno.funlockSync;

View file

@ -1,8 +1,6 @@
console.log("window is", globalThis.window);
console.log("Deno.Buffer is", Deno.Buffer);
console.log("Deno.File is", Deno.File);
console.log("Deno.ftruncate is", Deno.ftruncate);
console.log("Deno.ftruncateSync is", Deno.ftruncateSync);
console.log(
"Deno.FsFile.prototype.rid is",
Deno.openSync(import.meta.filename).rid,

View file

@ -1,8 +1,6 @@
window is undefined
Deno.Buffer is undefined
Deno.File is undefined
Deno.ftruncate is undefined
Deno.ftruncateSync is undefined
Deno.FsFile.prototype.rid is undefined
Deno.funlock is undefined
Deno.funlockSync is undefined