mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-08 08:44:37 +08:00
- lowerForOfEmptyArrayArm binds the `Set | Map | string | never[]` source to a hidden local before the tag test, so a call or getter in the loop head runs once and the loop walks the value the test saw. - markTarget marks a structural view as a collection view when its source is already one, and reruns the fixpoint when a view marked earlier becomes a collection view, so a Map or Set handed through two views keeps answering through the collection. - Promise.all in a JavaScript source whose call types as Promise<any[]> (an unannotated parameter) runs the engine's Promise.all over the entries as checked-dynamic values when they are typed promises. A merged `Promise<number | string>[]` argument reaches that call since union promise arms merge. Corpus 8419 and 6956 and the js-own-tostring npm fixture cover each case.