Skip to content

Commit 8b4f986

Browse files
authored
🤖 Merge PR DefinitelyTyped#73063 [@types/lodash] Revert "🤖 Merge PR DefinitelyTyped#72536 Make sure readonly arrays can't be modified by @kevinsar
1 parent 36f0759 commit 8b4f986

File tree

2 files changed

+11
-53
lines changed

2 files changed

+11
-53
lines changed

‎types/lodash/common/array.d.ts‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -342,15 +342,15 @@ declare module "../index" {
342342
/**
343343
* @see _.fill
344344
*/
345-
fill<T, AnyList extends List<any>>(array: AnyList extends readonly any[] ? never : AnyList | null | undefined, value: T): List<T>;
345+
fill<T>(array: List<any> | null | undefined, value: T): List<T>;
346346
/**
347347
* @see _.fill
348348
*/
349349
fill<T, U>(array: U[] | null | undefined, value: T, start?: number, end?: number): Array<T | U>;
350350
/**
351351
* @see _.fill
352352
*/
353-
fill<T, UList extends List<any>>(array: UList extends readonly any[] ? never : UList | null | undefined, value: T, start?: number, end?: number): List<T | UList[0]>;
353+
fill<T, U>(array: List<U> | null | undefined, value: T, start?: number, end?: number): List<T | U>;
354354
}
355355
interface Collection<T> {
356356
/**
@@ -932,7 +932,7 @@ declare module "../index" {
932932
/**
933933
* @see _.pull
934934
*/
935-
pull<TList extends List<any>>(array: TList extends readonly any[] ? never : TList, ...values: TList[0][]): TList;
935+
pull<T>(array: List<T>, ...values: T[]): List<T>;
936936
}
937937
interface Collection<T> {
938938
/**
@@ -968,7 +968,7 @@ declare module "../index" {
968968
/**
969969
* @see _.pullAll
970970
*/
971-
pullAll<TList extends List<any>>(array: TList extends readonly any[] ? never : TList, values?: List<TList[0]>): TList;
971+
pullAll<T>(array: List<T>, values?: List<T>): List<T>;
972972
}
973973
interface Collection<T> {
974974
/**
@@ -1007,15 +1007,15 @@ declare module "../index" {
10071007
/**
10081008
* @see _.pullAllBy
10091009
*/
1010-
pullAllBy<TList extends List<any>>(array: TList extends readonly any[] ? never : TList, values?: List<TList[0]>, iteratee?: ValueIteratee<TList[0]>): TList;
1010+
pullAllBy<T>(array: List<T>, values?: List<T>, iteratee?: ValueIteratee<T>): List<T>;
10111011
/**
10121012
* @see _.pullAllBy
10131013
*/
10141014
pullAllBy<T1, T2>(array: T1[], values: List<T2>, iteratee: ValueIteratee<T1 | T2>): T1[];
10151015
/**
10161016
* @see _.pullAllBy
10171017
*/
1018-
pullAllBy<T1List extends List<any>, T2>(array: T1List extends readonly any[] ? never : T1List, values: List<T2>, iteratee: ValueIteratee<T1List[0] | T2>): T1List;
1018+
pullAllBy<T1, T2>(array: List<T1>, values: List<T2>, iteratee: ValueIteratee<T1 | T2>): List<T1>;
10191019
}
10201020
interface Collection<T> {
10211021
/**
@@ -1054,15 +1054,15 @@ declare module "../index" {
10541054
/**
10551055
* @see _.pullAllWith
10561056
*/
1057-
pullAllWith<TList extends List<any>>(array: TList extends readonly any[] ? never : TList, values?: List<TList[0]>, comparator?: Comparator<TList[0]>): TList;
1057+
pullAllWith<T>(array: List<T>, values?: List<T>, comparator?: Comparator<T>): List<T>;
10581058
/**
10591059
* @see _.pullAllWith
10601060
*/
10611061
pullAllWith<T1, T2>(array: T1[], values: List<T2>, comparator: Comparator2<T1, T2>): T1[];
10621062
/**
10631063
* @see _.pullAllWith
10641064
*/
1065-
pullAllWith<T1List extends List<any>, T2>(array: T1List extends readonly any[] ? never : T1List, values: List<T2>, comparator: Comparator2<T1List[0], T2>): T1List;
1065+
pullAllWith<T1, T2>(array: List<T1>, values: List<T2>, comparator: Comparator2<T1, T2>): List<T1>;
10661066
}
10671067
interface Collection<T> {
10681068
/**
@@ -1091,7 +1091,7 @@ declare module "../index" {
10911091
/**
10921092
* @see _.pullAt
10931093
*/
1094-
pullAt<TList extends List<any>>(array: TList extends readonly any[] ? never : TList, ...indexes: Array<Many<number>>): TList;
1094+
pullAt<T>(array: List<T>, ...indexes: Array<Many<number>>): List<T>;
10951095
}
10961096
interface Collection<T> {
10971097
/**
@@ -1116,7 +1116,7 @@ declare module "../index" {
11161116
* @param predicate The function invoked per iteration.
11171117
* @return Returns the new array of removed elements.
11181118
*/
1119-
remove<TList extends List<any>>(array: TList extends readonly any[] ? never : TList, predicate?: ListIteratee<TList[0]>): TList[0][];
1119+
remove<T>(array: List<T>, predicate?: ListIteratee<T>): T[];
11201120
}
11211121
interface Collection<T> {
11221122
/**
@@ -1150,7 +1150,7 @@ declare module "../index" {
11501150
* console.log(array);
11511151
* // => [3, 2, 1]
11521152
*/
1153-
reverse<TList extends List<any>>(array: TList extends readonly any[] ? never : TList): TList;
1153+
reverse<TList extends List<any>>(array: TList): TList;
11541154
}
11551155
interface LoDashStatic {
11561156
/**

‎types/lodash/lodash-tests.ts‎

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ interface AbcObject {
2222

2323
const abcObject: AbcObject = anything;
2424
const array: AbcObject[] | null | undefined = anything;
25-
const readonlyArray: readonly AbcObject[] = anything;
2625
const list: _.List<AbcObject> | null | undefined = anything;
2726
const dictionary: _.Dictionary<AbcObject> | null | undefined = anything;
2827
const numericDictionary: _.NumericDictionary<AbcObject> | null | undefined = anything;
@@ -393,13 +392,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
393392
_.fill(array, abcObject, 0); // $ExpectType AbcObject[]
394393
_.fill(array, abcObject, 0, 10); // $ExpectType AbcObject[]
395394

396-
// @ts-expect-error
397-
_.fill(readonlyArray, abcObject);
398-
// @ts-expect-error
399-
_.fill(readonlyArray, abcObject, 0);
400-
// @ts-expect-error
401-
_.fill(readonlyArray, abcObject, 0, 10);
402-
403395
_.fill(list, abcObject); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
404396
_.fill(list, abcObject, 0); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
405397
_.fill(list, abcObject, 0, 10); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
@@ -891,12 +883,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
891883
_.pull(array); // $ExpectType AbcObject[]
892884
_.pull(array, abcObject); // $ExpectType AbcObject[]
893885
_.pull(array, abcObject, abcObject, abcObject); // $ExpectType AbcObject[]
894-
// @ts-expect-error
895-
_.pull(readonlyArray);
896-
// @ts-expect-error
897-
_.pull(readonlyArray, abcObject);
898-
// @ts-expect-error
899-
_.pull(readonlyArray, abcObject, abcObject, abcObject);
900886
_.pull(list); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
901887
_.pull(list, abcObject); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
902888
_.pull(list, abcObject, abcObject, abcObject); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
@@ -927,12 +913,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
927913
_.pullAt(array); // $ExpectType AbcObject[]
928914
_.pullAt(array, 1); // $ExpectType AbcObject[]
929915
_.pullAt(array, [2, 3], 4); // $ExpectType AbcObject[]
930-
// @ts-expect-error
931-
_.pullAt(readonlyArray);
932-
// @ts-expect-error
933-
_.pullAt(readonlyArray, 1);
934-
// @ts-expect-error
935-
_.pullAt(readonlyArray, [2, 3], 4);
936916
_.pullAt(list); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
937917
_.pullAt(list, 1); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
938918
_.pullAt(list, [2, 3], 4); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
@@ -966,10 +946,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
966946

967947
_.pullAll(array); // $ExpectType AbcObject[]
968948
_.pullAll(array, values); // $ExpectType AbcObject[]
969-
// @ts-expect-error
970-
_.pullAll(readonlyArray);
971-
// @ts-expect-error
972-
_.pullAll(readonlyArray, values);
973949
_.pullAll(list); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
974950
_.pullAll(list, values); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
975951

@@ -1003,11 +979,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
1003979
return [];
1004980
});
1005981

1006-
// @ts-expect-error
1007-
_.pullAllBy(readonlyArray);
1008-
// @ts-expect-error
1009-
_.pullAllBy(readonlyArray, values, "a");
1010-
1011982
_.pullAllBy(list); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
1012983
_.pullAllBy(list, values); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
1013984
_.pullAllBy(list, values, "a"); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
@@ -1101,10 +1072,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
11011072
b; // $ExpectType AbcObject
11021073
return true;
11031074
});
1104-
// @ts-expect-error
1105-
_.pullAllWith(readonlyArray);
1106-
// @ts-expect-error
1107-
_.pullAllWith(readonlyArray, values);
11081075
_.pullAllWith(list); // $ExpectType ArrayLike<AbcObject> || List<AbcObject>
11091076
// $ExpectType ArrayLike<AbcObject> || List<AbcObject>
11101077
_.pullAllWith(list, values, (a, b) => {
@@ -1196,15 +1163,6 @@ _.chain([1, 2, 3, 4]).unshift(5, 6); // $ExpectType CollectionChain<number>
11961163
fp.remove(valueIterator)(list); // $ExpectType AbcObject[]
11971164
fp.remove("", list); // $ExpectType AbcObject[]
11981165
fp.remove({ a: 42 }, list); // $ExpectType AbcObject[]
1199-
1200-
// @ts-expect-error
1201-
_.remove(readonlyArray);
1202-
// @ts-expect-error
1203-
_.remove(readonlyArray, listIterator);
1204-
// @ts-expect-error
1205-
_.remove(readonlyArray, "");
1206-
// @ts-expect-error
1207-
_.remove(readonlyArray, { a: 42 });
12081166
}
12091167

12101168
// _.tail

0 commit comments

Comments
 (0)