A resource whose lifetime is owned explicitly (§83).
Not TC39's Disposable. The member is the plain dispose() below, never
[Symbol.dispose](). Implementing both is harmless; implementing only
[Symbol.dispose] does not satisfy this interface, and disposeAll
then throws TypeError: item.dispose is not a function — in a minified
build, with the parameter renamed and no §83 marker to search for.
The warning is repeated on this symbol rather than left in the module header
above, because the header does not travel: measured 2026-09-19 from an
installed tarball with the TypeScript API, the documentation attached to
this symbol — what an editor shows a consumer who hovers Disposable — was
the one-line summary alone. A collision note one file away from the name it
is about is a note nobody reads.
A resource whose lifetime is owned explicitly (§83).
Not TC39's
Disposable. The member is the plaindispose()below, never[Symbol.dispose](). Implementing both is harmless; implementing only[Symbol.dispose]does not satisfy this interface, and disposeAll then throwsTypeError: item.dispose is not a function— in a minified build, with the parameter renamed and no §83 marker to search for.The warning is repeated on this symbol rather than left in the module header above, because the header does not travel: measured 2026-09-19 from an installed tarball with the TypeScript API, the documentation attached to this symbol — what an editor shows a consumer who hovers
Disposable— was the one-line summary alone. A collision note one file away from the name it is about is a note nobody reads.