1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-25 16:49:18 -05:00

fix: revert accidentally added parentPath on DirEntry (#24438)

Reverts the accidentally added `.parentPath` on dir entries in
https://github.com/denoland/deno/pull/24257/files

This should not have been added to the public api and is not documented.
This commit is contained in:
David Sherret 2024-07-04 20:58:30 -04:00 committed by GitHub
parent f396b3d1c8
commit d91215d418
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 9 additions and 7 deletions

View file

@ -787,7 +787,6 @@ impl FileBackedVfs {
.entries
.iter()
.map(|entry| FsDirEntry {
parent_path: path.to_string_lossy().into_owned(),
name: entry.name().to_string(),
is_file: matches!(entry, VfsEntry::File(_)),
is_directory: matches!(entry, VfsEntry::Dir(_)),

View file

@ -69,10 +69,10 @@ pub enum FsFileType {
Junction,
}
/// WARNING: This is part of the public JS Deno API.
#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
pub struct FsDirEntry {
pub parent_path: String,
pub name: String,
pub is_file: bool,
pub is_directory: bool,

View file

@ -814,7 +814,6 @@ fn read_dir(path: &Path) -> FsResult<Vec<FsDirEntry>> {
};
}
Some(FsDirEntry {
parent_path: path.to_string_lossy().to_string(),
name,
is_file: method_or_false!(is_file),
is_directory: method_or_false!(is_dir),

View file

@ -2,7 +2,7 @@
import { notImplemented } from "ext:deno_node/_utils.ts";
export default class Dirent {
constructor(private entry: Deno.DirEntry) {}
constructor(private entry: Deno.DirEntry & { parentPath: string }) {}
isBlockDevice(): boolean {
notImplemented("Deno does not yet support identification of block devices");

View file

@ -11,7 +11,7 @@ import { getValidatedPath } from "ext:deno_node/internal/fs/utils.mjs";
import { Buffer } from "node:buffer";
import { promisify } from "ext:deno_node/internal/util.mjs";
function toDirent(val: Deno.DirEntry): Dirent {
function toDirent(val: Deno.DirEntry & { parentPath: string }): Dirent {
return new Dirent(val);
}
@ -67,13 +67,15 @@ export function readdir(
}
try {
asyncIterableToCallback(Deno.readDir(path.toString()), (val, done) => {
path = path.toString();
asyncIterableToCallback(Deno.readDir(path), (val, done) => {
if (typeof path !== "string") return;
if (done) {
callback(null, result);
return;
}
if (options?.withFileTypes) {
val.parentPath = path;
result.push(toDirent(val));
} else result.push(decode(val.name));
}, (e) => {
@ -130,8 +132,10 @@ export function readdirSync(
}
try {
for (const file of Deno.readDirSync(path.toString())) {
path = path.toString();
for (const file of Deno.readDirSync(path)) {
if (options?.withFileTypes) {
file.parentPath = path;
result.push(toDirent(file));
} else result.push(decode(file.name));
}