From bdefd5fe251ad413b4951e57808eabdbb2e497e6 Mon Sep 17 00:00:00 2001 From: Boris Petrov Date: Mon, 3 Jul 2023 11:02:39 +0300 Subject: [PATCH] Fix the types for the mutation-methods of `NativeArray` --- packages/@ember/array/index.ts | 2 +- packages/@ember/array/type-tests/index.test.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/@ember/array/index.ts b/packages/@ember/array/index.ts index 65a649e5a8b..4d49c9ae270 100644 --- a/packages/@ember/array/index.ts +++ b/packages/@ember/array/index.ts @@ -1899,7 +1899,7 @@ const MutableArray = Mixin.create(EmberArray, MutableEnumerable, { @module ember */ -type AnyArray = EmberArray | Array; +type AnyArray = EmberArray | Array | ReadonlyArray; /** * The final definition of NativeArray removes all native methods. This is the list of removed methods diff --git a/packages/@ember/array/type-tests/index.test.ts b/packages/@ember/array/type-tests/index.test.ts index 7e890a44587..e7ee89b26ac 100644 --- a/packages/@ember/array/type-tests/index.test.ts +++ b/packages/@ember/array/type-tests/index.test.ts @@ -205,6 +205,10 @@ expectTypeOf(arr.without(foo)).toEqualTypeOf>(); // @ts-expect-error invalid type arr.without(1); +expectTypeOf(arr.pushObjects(arr)).toEqualTypeOf>(); +expectTypeOf(arr.pushObjects([foo] as Foo[])).toEqualTypeOf>(); +expectTypeOf(arr.pushObjects([foo] as readonly Foo[])).toEqualTypeOf>(); + expectTypeOf(isArray(arr)).toEqualTypeOf(); expectTypeOf(makeArray(arr)).toEqualTypeOf>();