Skip to content

Commit

Permalink
chore(fs): remove Deno.futime[Sync]() (#25252)
Browse files Browse the repository at this point in the history
  • Loading branch information
iuioiua authored Aug 31, 2024
1 parent c29e5b9 commit b536ed1
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 136 deletions.
1 change: 0 additions & 1 deletion cli/tools/test/fmt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,6 @@ pub const OP_DETAILS: phf::Map<&'static str, [&'static str; 2]> = phf_map! {
"op_fs_ftruncate_async" => ["truncate a file", "awaiting the result of a `Deno.ftruncate` or `Deno.FsFile.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_futime_async" => ["change file timestamps", "awaiting the result of a `Deno.futime` or `Deno.FsFile.utime` call"],
"op_fs_link_async" => ["create a hard link", "awaiting the result of a `Deno.link` call"],
"op_fs_lstat_async" => ["get file metadata", "awaiting the result of a `Deno.lstat` call"],
"op_fs_make_temp_dir_async" => ["create a temporary directory", "awaiting the result of a `Deno.makeTempDir` call"],
Expand Down
44 changes: 0 additions & 44 deletions cli/tsc/dts/lib.deno.ns.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5439,50 +5439,6 @@ declare namespace Deno {
*/
export function ftruncateSync(rid: number, len?: number): void;

/**
* Synchronously changes the access (`atime`) and modification (`mtime`) times
* of a file stream resource referenced by `rid`. Given times are either in
* seconds (UNIX epoch time) or as `Date` objects.
*
* ```ts
* const file = Deno.openSync("file.txt", { create: true, write: true });
* Deno.futimeSync(file.rid, 1556495550, new Date());
* ```
*
* @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 futimeSync(
rid: number,
atime: number | Date,
mtime: number | Date,
): void;

/**
* Changes the access (`atime`) and modification (`mtime`) times of a file
* stream resource referenced by `rid`. Given times are either in seconds
* (UNIX epoch time) or as `Date` objects.
*
* ```ts
* const file = await Deno.open("file.txt", { create: true, write: true });
* await Deno.futime(file.rid, 1556495550, new Date());
* ```
*
* @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 futime(
rid: number,
atime: number | Date,
mtime: number | Date,
): Promise<void>;

/**
* Returns a `Deno.FileInfo` for the given file stream.
*
Expand Down
42 changes: 12 additions & 30 deletions ext/fs/30_fs.js
Original file line number Diff line number Diff line change
Expand Up @@ -482,32 +482,6 @@ function toUnixTimeFromEpoch(value) {
];
}

function futimeSync(
rid,
atime,
mtime,
) {
const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime);
const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime);
op_fs_futime_sync(rid, atimeSec, atimeNsec, mtimeSec, mtimeNsec);
}

async function futime(
rid,
atime,
mtime,
) {
const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime);
const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime);
await op_fs_futime_async(
rid,
atimeSec,
atimeNsec,
mtimeSec,
mtimeNsec,
);
}

function utimeSync(
path,
atime,
Expand Down Expand Up @@ -766,11 +740,21 @@ class FsFile {
}

async utime(atime, mtime) {
await futime(this.#rid, atime, mtime);
const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime);
const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime);
await op_fs_futime_async(
this.#rid,
atimeSec,
atimeNsec,
mtimeSec,
mtimeNsec,
);
}

utimeSync(atime, mtime) {
futimeSync(this.#rid, atime, mtime);
const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime);
const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime);
op_fs_futime_sync(this.#rid, atimeSec, atimeNsec, mtimeSec, mtimeNsec);
}

isTerminal() {
Expand Down Expand Up @@ -1004,8 +988,6 @@ export {
ftruncateSync,
funlock,
funlockSync,
futime,
futimeSync,
link,
linkSync,
lstat,
Expand Down
16 changes: 0 additions & 16 deletions runtime/js/90_deno_ns.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,22 +93,6 @@ const denoNs = {
);
return fs.ftruncate(rid, len);
},
async futime(rid, atime, mtime) {
internals.warnOnDeprecatedApi(
"Deno.futime()",
new Error().stack,
"Use `Deno.FsFile.utime()` instead.",
);
await fs.futime(rid, atime, mtime);
},
futimeSync(rid, atime, mtime) {
internals.warnOnDeprecatedApi(
"Deno.futimeSync()",
new Error().stack,
"Use `Deno.FsFile.utimeSync()` instead.",
);
fs.futimeSync(rid, atime, mtime);
},
errors: errors.errors,
inspect: console.inspect,
env: os.env,
Expand Down
45 changes: 0 additions & 45 deletions tests/unit/utime_test.ts
Original file line number Diff line number Diff line change
@@ -1,36 +1,12 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.

// deno-lint-ignore-file no-deprecated-deno-api

import {
assertEquals,
assertRejects,
assertThrows,
DENO_FUTURE,
pathToAbsoluteFileUrl,
} from "./test_util.ts";

Deno.test(
{ ignore: DENO_FUTURE, permissions: { read: true, write: true } },
async function futimeSyncSuccess() {
const testDir = await Deno.makeTempDir();
const filename = testDir + "/file.txt";
using file = await Deno.open(filename, {
create: true,
write: true,
});

const atime = 1000;
const mtime = 50000;
await Deno.futime(file.rid, atime, mtime);
await file.syncData();

const fileInfo = Deno.statSync(filename);
assertEquals(fileInfo.atime, new Date(atime * 1000));
assertEquals(fileInfo.mtime, new Date(mtime * 1000));
},
);

Deno.test(
{ permissions: { read: true, write: true } },
async function fsFileUtimeSyncSuccess() {
Expand All @@ -52,27 +28,6 @@ Deno.test(
},
);

Deno.test(
{ ignore: DENO_FUTURE, permissions: { read: true, write: true } },
function futimeSyncSuccess() {
const testDir = Deno.makeTempDirSync();
const filename = testDir + "/file.txt";
using file = Deno.openSync(filename, {
create: true,
write: true,
});

const atime = 1000;
const mtime = 50000;
Deno.futimeSync(file.rid, atime, mtime);
file.syncDataSync();

const fileInfo = Deno.statSync(filename);
assertEquals(fileInfo.atime, new Date(atime * 1000));
assertEquals(fileInfo.mtime, new Date(mtime * 1000));
},
);

Deno.test(
{ permissions: { read: true, write: true } },
function futimeSyncSuccess() {
Expand Down

0 comments on commit b536ed1

Please sign in to comment.