Typescript has recently released using keyword feature.
I am trying the following code but not able to compile
import fs from "node:fs";
class TempFile implements Disposable {
#path: string;
#handle: number;
constructor(path: string) {
this.#path = path;
this.#handle = fs.openSync(path, "w+");
}
// other methods
[Symbol.dispose]() {
// Close the file and delete it.
fs.closeSync(this.#handle);
fs.unlinkSync(this.#path);
}
}
It is giving this error.
src/index.ts:2:27 - error TS2304: Cannot find name 'Disposable'.
2 class TempFile implements Disposable {
~~~~~~~~~~
src/index.ts:13:11 - error TS2339: Property 'dispose' does not exist on type 'SymbolConstructor'.
13 [Symbol.dispose]() {
~~~~~~~
Any ideas ?
Here we go again.