KaranGauswami

joined 1 year ago
MODERATOR OF
 
 
2
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

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 ?

[–] [email protected] 3 points 1 year ago

Here we go again.