From cb87caa2754ca7bb216683c564241b63b6fe9039 Mon Sep 17 00:00:00 2001 From: Matteo Colombo Date: Sat, 23 Aug 2025 16:48:38 +0200 Subject: [PATCH] fix(from): exclude from array-like objects not index-accessible iterable objects that also have length property are not considered array-like unless they also have index access (i.e. obj[0]) closes issue 7497 --- packages/observable/src/observable.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/observable/src/observable.ts b/packages/observable/src/observable.ts index 31f8403d15..0f094132f5 100644 --- a/packages/observable/src/observable.ts +++ b/packages/observable/src/observable.ts @@ -1319,7 +1319,13 @@ function isIterable(input: any): input is Iterable { } export function isArrayLike(x: any): x is ArrayLike { - return x && typeof x.length === 'number' && !isFunction(x); + return ( + x && + typeof x.length === 'number' && + !isFunction(x) && + x.length >= 0 && + (x.length === 0 || (typeof x !== 'string' && 0 in x)) + ); } /**