You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: reconcile abort-signal with type-safety and efficiency refactors
Layers the type-safety helpers from copilot/harden-implementation-type-safety
and the perf cleanup from copilot/improve-code-efficiency on top of
claude/add-abort-signal-support-j2Mmx (now the abort-signal feature commits
already on this branch).
- Use isType from @voxpelli/typed-utils for callback/bufferSize/result guards
- Use guardedArrayIncludes for isPartOfArray (lib/type-checks.js)
- Extract isValueObject helper used by isIterable/isAsyncIterable
- Extract normalizeError helper (lib/misc.js); use it in fillQueue catches
and the fail-fast / capturedErrors path
- Replace [...subIterators, asyncIterator] spread with yieldArrayWithItem
generator in fillQueue's unordered branch
- Add bounds check to ordered-insertion while loop in fillQueue
- Add @voxpelli/typed-utils as runtime dependency
Copy file name to clipboardExpand all lines: index.js
+27-11Lines changed: 27 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,9 @@
5
5
// TODO: See "iteratorKind" in https://tc39.es/ecma262/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset – see how it loops and validates the returned values
6
6
// TODO: THERE'S ACTUALLY A "throw" method MENTION IN https://tc39.es/ecma262/#sec-generator-function-definitions-runtime-semantics-evaluation: "NOTE: Exceptions from the inner iterator throw method are propagated. Normal completions from an inner throw method are processed similarly to an inner next." THOUGH NOT SURE HOW TO TRIGGER IT IN PRACTICE, SEE yield.spec.js
0 commit comments