improve typing in resource class
This commit is contained in:
parent
53c95f1a4e
commit
f4a9e82f4b
1 changed files with 5 additions and 5 deletions
|
@ -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);
|
||||
|
|
Reference in a new issue