From f3f70eb58e65b727def8ef2c284ea0b44f598a96 Mon Sep 17 00:00:00 2001 From: Chip Morningstar Date: Tue, 13 May 2025 17:49:40 -0700 Subject: [PATCH] Use `defineProperty` instead of assignment, to evade the JS Override Mistake when primordials are frozen --- src/decode.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/decode.ts b/src/decode.ts index dccb75d..46fac93 100644 --- a/src/decode.ts +++ b/src/decode.ts @@ -127,13 +127,13 @@ export class Decoder { export function returnlessSource (source: Source): Source { if ((source as Iterable)[Symbol.iterator] !== undefined) { const iterator = (source as Iterable)[Symbol.iterator]() - iterator.return = undefined + Object.defineProperty(iterator, 'return', {}) return { [Symbol.iterator] () { return iterator } } } else if ((source as AsyncIterable)[Symbol.asyncIterator] !== undefined) { const iterator = (source as AsyncIterable)[Symbol.asyncIterator]() - iterator.return = undefined + Object.defineProperty(iterator, 'return', {}) return { [Symbol.asyncIterator] () { return iterator } }