tc39 / proposal-explicit-resource-management

ECMAScript Explicit Resource Management

Home Page:https://arai-a.github.io/ecma262-compare/?pr=3000

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

In the spec draft, missing exposing of `Symbol.{ dispose, asyncDispose }`

zloirock opened this issue · comments

Like here:

image

That causes such issues: nodejs/node#48699

I don't think this is the cause of node having the wrong descriptors here, to be fair, but it's certainly an omission.

The current spec has nothing about the descriptors of those symbols (but it should be for consistency with all the rest), so it seems it's the cause of this issue.

The original implementer in node wasn't looking at the spec either way, they were just adding the Symbols.

As an option.

I can add these to the proposal spec, though the intent was to emulate the exact same behavior we specify for every other built-in symbol on Symbol.

Maybe this is related to typechecking the Playwright project by using tsc --noEmit. I get a bunch of errors:

node_modules/playwright-core/types/types.d.ts:16639:11 - error TS2339: Property 'asyncDispose' does not exist on type 'SymbolConstructor'.

16639   [Symbol.asyncDispose](): Promise<void>;