The initializer of an 'await using' declaration must be either an object with...
Production Risk
Build will fail; resolve before shipping.
A type-checking error (TS2851): The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'.. This diagnostic is emitted by the TypeScript compiler when the initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'..
- 1await used outside an async function, or async/await return type mismatch
TypeScript compiler reports TS2851 during type checking.
// Triggers TS2851 // The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'.
expected output
error TS2851: The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'.
Fix
Address the TypeScript diagnostic
WHEN When this error is reported by the compiler
// Run the TypeScript compiler for details: npx tsc --noEmit // Use the TypeScript playground to test your code: // https://www.typescriptlang.org/play
Why this works
Review the full error message and location; the TypeScript handbook provides guidance on each error category.
TypeScript Compiler Diagnostics
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev