mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-02 07:43:42 +08:00
A method value of a web stream class, such as a saved WritableStream.prototype.close, called on an instance whose own property of the same name wraps it, ran the own property again, so the wrapper recursed. The classes' method values now call the class's method directly (ScrDynHandleClass.method_invoke); member calls still look at own properties first. TransformStream resolved its start promise with a transformer start's result without adopting a thenable, so both sides started at once and a rejection was lost. The start promise now resolves as a promise's resolve function does (scr_dyn_promise_resolve_with): a thenable adopts through its resolve job, a throwing `then` read rejects, and the stream starts or errors when it settles, in Node's order. Lowerer.namesWebStreamClass, a cache made when first needed, is listed in Lowerer.unjournaled.