mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -05:00
BREAKING(fs): remove Deno.fstat[Sync]()
(#25351)
Towards #22079 Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
This commit is contained in:
parent
105c571fb6
commit
b72d1a7256
8 changed files with 5 additions and 113 deletions
|
@ -319,7 +319,7 @@ pub const OP_DETAILS: phf::Map<&'static str, [&'static str; 2]> = phf_map! {
|
|||
"op_fs_copy_file_async" => ["copy a file", "awaiting the result of a `Deno.copyFile` call"],
|
||||
"op_fs_events_poll" => ["get the next file system event", "breaking out of a for await loop looping over `Deno.FsEvents`"],
|
||||
"op_fs_fdatasync_async" => ["flush pending data operations for a file to disk", "awaiting the result of a `Deno.fdatasync` or `Deno.FsFile.syncData` call"],
|
||||
"op_fs_file_stat_async" => ["get file metadata", "awaiting the result of a `Deno.fstat` or `Deno.FsFile.stat` call"],
|
||||
"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"],
|
||||
|
|
39
cli/tsc/dts/lib.deno.ns.d.ts
vendored
39
cli/tsc/dts/lib.deno.ns.d.ts
vendored
|
@ -5326,45 +5326,6 @@ declare namespace Deno {
|
|||
*/
|
||||
export function ftruncateSync(rid: number, len?: number): void;
|
||||
|
||||
/**
|
||||
* Returns a `Deno.FileInfo` for the given file stream.
|
||||
*
|
||||
* ```ts
|
||||
* import { assert } from "jsr:@std/assert";
|
||||
*
|
||||
* const file = await Deno.open("file.txt", { read: true });
|
||||
* const fileInfo = await Deno.fstat(file.rid);
|
||||
* assert(fileInfo.isFile);
|
||||
* ```
|
||||
*
|
||||
* @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 fstat(rid: number): Promise<FileInfo>;
|
||||
|
||||
/**
|
||||
* Synchronously returns a {@linkcode Deno.FileInfo} for the given file
|
||||
* stream.
|
||||
*
|
||||
* ```ts
|
||||
* import { assert } from "jsr:@std/assert";
|
||||
*
|
||||
* const file = Deno.openSync("file.txt", { read: true });
|
||||
* const fileInfo = Deno.fstatSync(file.rid);
|
||||
* assert(fileInfo.isFile);
|
||||
* ```
|
||||
*
|
||||
* @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 fstatSync(rid: number): FileInfo;
|
||||
|
||||
/**
|
||||
* Synchronously changes the access (`atime`) and modification (`mtime`) times
|
||||
* of a file system object referenced by `path`. Given times are either in
|
||||
|
|
|
@ -395,15 +395,6 @@ function parseFileInfo(response) {
|
|||
};
|
||||
}
|
||||
|
||||
function fstatSync(rid) {
|
||||
op_fs_file_stat_sync(rid, statBuf);
|
||||
return statStruct(statBuf);
|
||||
}
|
||||
|
||||
async function fstat(rid) {
|
||||
return parseFileInfo(await op_fs_file_stat_async(rid));
|
||||
}
|
||||
|
||||
async function lstat(path) {
|
||||
const res = await op_fs_lstat_async(pathFromURL(path));
|
||||
return parseFileInfo(res);
|
||||
|
@ -687,12 +678,13 @@ class FsFile {
|
|||
return seekSync(this.#rid, offset, whence);
|
||||
}
|
||||
|
||||
stat() {
|
||||
return fstat(this.#rid);
|
||||
async stat() {
|
||||
return parseFileInfo(await op_fs_file_stat_async(this.#rid));
|
||||
}
|
||||
|
||||
statSync() {
|
||||
return fstatSync(this.#rid);
|
||||
op_fs_file_stat_sync(this.#rid, statBuf);
|
||||
return statStruct(statBuf);
|
||||
}
|
||||
|
||||
async syncData() {
|
||||
|
@ -968,8 +960,6 @@ export {
|
|||
fdatasyncSync,
|
||||
File,
|
||||
FsFile,
|
||||
fstat,
|
||||
fstatSync,
|
||||
fsync,
|
||||
fsyncSync,
|
||||
ftruncate,
|
||||
|
|
|
@ -168,22 +168,6 @@ const denoNs = {
|
|||
connectTls: tls.connectTls,
|
||||
listenTls: tls.listenTls,
|
||||
startTls: tls.startTls,
|
||||
fstatSync(rid) {
|
||||
internals.warnOnDeprecatedApi(
|
||||
"Deno.fstatSync()",
|
||||
new Error().stack,
|
||||
"Use `Deno.FsFile.statSync()` instead.",
|
||||
);
|
||||
return fs.fstatSync(rid);
|
||||
},
|
||||
fstat(rid) {
|
||||
internals.warnOnDeprecatedApi(
|
||||
"Deno.fstat()",
|
||||
new Error().stack,
|
||||
"Use `Deno.FsFile.stat()` instead.",
|
||||
);
|
||||
return fs.fstat(rid);
|
||||
},
|
||||
fsyncSync: fs.fsyncSync,
|
||||
fsync: fs.fsync,
|
||||
fdatasyncSync: fs.fdatasyncSync,
|
||||
|
|
|
@ -802,8 +802,6 @@ function bootstrapMainRuntime(runtimeOptions, warmup = false) {
|
|||
delete globalThis.window;
|
||||
delete Deno.Buffer;
|
||||
delete Deno.File;
|
||||
delete Deno.fstat;
|
||||
delete Deno.fstatSync;
|
||||
delete Deno.ftruncate;
|
||||
delete Deno.ftruncateSync;
|
||||
delete Deno.FsFile.prototype.rid;
|
||||
|
@ -979,8 +977,6 @@ function bootstrapWorkerRuntime(
|
|||
if (future) {
|
||||
delete Deno.Buffer;
|
||||
delete Deno.File;
|
||||
delete Deno.fstat;
|
||||
delete Deno.fstatSync;
|
||||
delete Deno.ftruncate;
|
||||
delete Deno.ftruncateSync;
|
||||
delete Deno.FsFile.prototype.rid;
|
||||
|
|
|
@ -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.fstat is", Deno.fstat);
|
||||
console.log("Deno.fstatSync is", Deno.fstatSync);
|
||||
console.log("Deno.ftruncate is", Deno.ftruncate);
|
||||
console.log("Deno.ftruncateSync is", Deno.ftruncateSync);
|
||||
console.log(
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
window is undefined
|
||||
Deno.Buffer is undefined
|
||||
Deno.File is undefined
|
||||
Deno.fstat is undefined
|
||||
Deno.fstatSync is undefined
|
||||
Deno.ftruncate is undefined
|
||||
Deno.ftruncateSync is undefined
|
||||
Deno.FsFile.prototype.rid is undefined
|
||||
|
|
|
@ -1,48 +1,13 @@
|
|||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||
|
||||
// deno-lint-ignore-file no-deprecated-deno-api
|
||||
|
||||
import {
|
||||
assert,
|
||||
assertEquals,
|
||||
assertRejects,
|
||||
assertThrows,
|
||||
DENO_FUTURE,
|
||||
pathToAbsoluteFileUrl,
|
||||
} from "./test_util.ts";
|
||||
|
||||
Deno.test(
|
||||
{ ignore: DENO_FUTURE, permissions: { read: true } },
|
||||
function fstatSyncSuccess() {
|
||||
using file = Deno.openSync("README.md");
|
||||
const fileInfo = Deno.fstatSync(file.rid);
|
||||
assert(fileInfo.isFile);
|
||||
assert(!fileInfo.isSymlink);
|
||||
assert(!fileInfo.isDirectory);
|
||||
assert(fileInfo.size);
|
||||
assert(fileInfo.atime);
|
||||
assert(fileInfo.mtime);
|
||||
// The `birthtime` field is not available on Linux before kernel version 4.11.
|
||||
assert(fileInfo.birthtime || Deno.build.os === "linux");
|
||||
},
|
||||
);
|
||||
|
||||
Deno.test(
|
||||
{ ignore: DENO_FUTURE, permissions: { read: true } },
|
||||
async function fstatSuccess() {
|
||||
using file = await Deno.open("README.md");
|
||||
const fileInfo = await Deno.fstat(file.rid);
|
||||
assert(fileInfo.isFile);
|
||||
assert(!fileInfo.isSymlink);
|
||||
assert(!fileInfo.isDirectory);
|
||||
assert(fileInfo.size);
|
||||
assert(fileInfo.atime);
|
||||
assert(fileInfo.mtime);
|
||||
// The `birthtime` field is not available on Linux before kernel version 4.11.
|
||||
assert(fileInfo.birthtime || Deno.build.os === "linux");
|
||||
},
|
||||
);
|
||||
|
||||
Deno.test(
|
||||
{ permissions: { read: true, write: true } },
|
||||
function statSyncSuccess() {
|
||||
|
|
Loading…
Reference in a new issue