1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -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 .entries
.iter() .iter()
.map(|entry| FsDirEntry { .map(|entry| FsDirEntry {
parent_path: path.to_string_lossy().into_owned(),
name: entry.name().to_string(), name: entry.name().to_string(),
is_file: matches!(entry, VfsEntry::File(_)), is_file: matches!(entry, VfsEntry::File(_)),
is_directory: matches!(entry, VfsEntry::Dir(_)), is_directory: matches!(entry, VfsEntry::Dir(_)),

View file

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

View file

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

View file

@ -2,7 +2,7 @@
import { notImplemented } from "ext:deno_node/_utils.ts"; import { notImplemented } from "ext:deno_node/_utils.ts";
export default class Dirent { export default class Dirent {
constructor(private entry: Deno.DirEntry) {} constructor(private entry: Deno.DirEntry & { parentPath: string }) {}
isBlockDevice(): boolean { isBlockDevice(): boolean {
notImplemented("Deno does not yet support identification of block devices"); 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 { Buffer } from "node:buffer";
import { promisify } from "ext:deno_node/internal/util.mjs"; 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); return new Dirent(val);
} }
@ -67,13 +67,15 @@ export function readdir(
} }
try { try {
asyncIterableToCallback(Deno.readDir(path.toString()), (val, done) => { path = path.toString();
asyncIterableToCallback(Deno.readDir(path), (val, done) => {
if (typeof path !== "string") return; if (typeof path !== "string") return;
if (done) { if (done) {
callback(null, result); callback(null, result);
return; return;
} }
if (options?.withFileTypes) { if (options?.withFileTypes) {
val.parentPath = path;
result.push(toDirent(val)); result.push(toDirent(val));
} else result.push(decode(val.name)); } else result.push(decode(val.name));
}, (e) => { }, (e) => {
@ -130,8 +132,10 @@ export function readdirSync(
} }
try { try {
for (const file of Deno.readDirSync(path.toString())) { path = path.toString();
for (const file of Deno.readDirSync(path)) {
if (options?.withFileTypes) { if (options?.withFileTypes) {
file.parentPath = path;
result.push(toDirent(file)); result.push(toDirent(file));
} else result.push(decode(file.name)); } else result.push(decode(file.name));
} }