improve typing in resource class

This commit is contained in:
cswimr 2025-02-08 08:51:23 -06:00
parent 53c95f1a4e
commit f4a9e82f4b
Signed by: cswimr
GPG key ID: 0EC431A8DA8F8087

View file

@ -5,11 +5,11 @@ import * as path from "path";
export default class Resource {
constructor(public readonly path: string) {}
toString() {
toString(): string {
return this.path;
}
get isUrl() {
get isUrl(): boolean {
try {
new URL(this.path);
return true;
@ -18,13 +18,13 @@ export default class Resource {
}
}
get name() {
get name(): string {
return this.isUrl
? new URL(this.path).pathname.split("/").pop() || ""
: path.basename(this.path);
}
get parent() {
get parent(): Resource {
if (this.isUrl) {
const url = new URL(this.path);
url.pathname = path.dirname(url.pathname);
@ -33,7 +33,7 @@ export default class Resource {
return new Resource(path.dirname(this.path));
}
get ext() {
get ext(): string {
return this.isUrl
? path.extname(new URL(this.path).pathname)
: path.extname(this.path);