@types/lodash 4.14.132 → 4.14.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
lodash/index.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  // Georgii Dolzhykov <https://github.com/thorn0>,
9
9
  // Jack Moore <https://github.com/jtmthf>,
10
10
  // Dominique Rau <https://github.com/DomiR>
11
+ // William Chelman <https://github.com/WilliamChelman>
11
12
  // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
12
13
  // TypeScript Version: 2.8
13
14
 
lodash/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/lodash",
3
- "version": "4.14.132",
3
+ "version": "4.14.136",
4
4
  "description": "TypeScript definitions for Lo-Dash",
5
5
  "license": "MIT",
6
6
  "contributors": [
@@ -43,6 +43,11 @@
43
43
  "name": "Dominique Rau",
44
44
  "url": "https://github.com/DomiR",
45
45
  "githubUsername": "DomiR"
46
+ },
47
+ {
48
+ "name": "William Chelman",
49
+ "url": "https://github.com/WilliamChelman",
50
+ "githubUsername": "WilliamChelman"
46
51
  }
47
52
  ],
48
53
  "main": "",
@@ -61,6 +66,6 @@
61
66
  },
62
67
  "scripts": {},
63
68
  "dependencies": {},
64
- "typesPublisherContentHash": "6a4d5479e8c9e0e438f922938cea02a376071c487fa829b4abbb2c6453724fd4",
69
+ "typesPublisherContentHash": "49e57de9b1c4abec20efef9e4801bfc90a748adc96d2e58ee947a3874cd4d552",
65
70
  "typeScriptVersion": "2.8"
66
71
  }
@@ -713,6 +713,10 @@ declare module "../index" {
713
713
  * @see _.intersectionBy
714
714
  */
715
715
  intersectionBy<T>(array?: List<T> | null, ...values: Array<List<T>>): T[];
716
+ /**
717
+ * @see _.intersectionBy
718
+ */
719
+ intersectionBy<T>(...values: Array<List<T> | ValueIteratee<T>>): T[];
716
720
  }
717
721
  interface Collection<T> {
718
722
  /**
@@ -1342,7 +1342,7 @@ declare module "../index" {
1342
1342
  /**
1343
1343
  * @see _.orderBy
1344
1344
  */
1345
- orderBy(iteratees?: Many<ListIterator<T, NotVoid> | PropertyName | PartialDeep<T>>, orders?: Many<boolean|"asc"|"desc">): Collection<T>;
1345
+ orderBy(iteratees?: Many<ListIterator<T, NotVoid> | PropertyName | PartialShallow<T>>, orders?: Many<boolean|"asc"|"desc">): Collection<T>;
1346
1346
  }
1347
1347
  interface Object<T> {
1348
1348
  /**
@@ -1354,7 +1354,7 @@ declare module "../index" {
1354
1354
  /**
1355
1355
  * @see _.orderBy
1356
1356
  */
1357
- orderBy(iteratees?: Many<ListIterator<T, NotVoid> | PropertyName | PartialDeep<T>>, orders?: Many<boolean|"asc"|"desc">): CollectionChain<T>;
1357
+ orderBy(iteratees?: Many<ListIterator<T, NotVoid> | PropertyName | PartialShallow<T>>, orders?: Many<boolean|"asc"|"desc">): CollectionChain<T>;
1358
1358
  }
1359
1359
  interface ObjectChain<T> {
1360
1360
  /**
@@ -210,7 +210,7 @@ declare module "../index" {
210
210
  interface PrimitiveChain<T> extends LoDashExplicitWrapper<T> {
211
211
  }
212
212
  type NotVoid = unknown;
213
- type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialDeep<T>;
213
+ type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialShallow<T>;
214
214
  type ArrayIterator<T, TResult> = (value: T, index: number, collection: T[]) => TResult;
215
215
  type ListIterator<T, TResult> = (value: T, index: number, collection: List<T>) => TResult;
216
216
  type ListIteratee<T> = ListIterator<T, NotVoid> | IterateeShorthand<T>;
@@ -258,8 +258,8 @@ declare module "../index" {
258
258
  cancel(): void;
259
259
  flush(): void;
260
260
  }
261
- type PartialDeep<T> = {
262
- [P in keyof T]?: PartialDeep<T[P]>;
261
+ type PartialShallow<T> = {
262
+ [P in keyof T]?: T[P] extends object ? object : T[P]
263
263
  };
264
264
  // For backwards compatibility
265
265
  type LoDashImplicitArrayWrapper<T> = LoDashImplicitWrapper<T[]>;
@@ -1038,6 +1038,42 @@ declare module "../index" {
1038
1038
  * @see _.get
1039
1039
  */
1040
1040
  get<TObject extends object, TKey extends keyof TObject, TDefault>(object: TObject | null | undefined, path: TKey | [TKey], defaultValue: TDefault): Exclude<TObject[TKey], undefined> | TDefault;
1041
+ /**
1042
+ * @see _.get
1043
+ */
1044
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(object: TObject, path: [TKey1, TKey2]): TObject[TKey1][TKey2];
1045
+ /**
1046
+ * @see _.get
1047
+ */
1048
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(object: TObject | null | undefined, path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined;
1049
+ /**
1050
+ * @see _.get
1051
+ */
1052
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2], defaultValue: TDefault): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1053
+ /**
1054
+ * @see _.get
1055
+ */
1056
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(object: TObject, path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3];
1057
+ /**
1058
+ * @see _.get
1059
+ */
1060
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined;
1061
+ /**
1062
+ * @see _.get
1063
+ */
1064
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3], defaultValue: TDefault): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1065
+ /**
1066
+ * @see _.get
1067
+ */
1068
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(object: TObject, path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4];
1069
+ /**
1070
+ * @see _.get
1071
+ */
1072
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
1073
+ /**
1074
+ * @see _.get
1075
+ */
1076
+ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3], TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1041
1077
  /**
1042
1078
  * @see _.get
1043
1079
  */
@@ -1082,6 +1118,30 @@ declare module "../index" {
1082
1118
  * @see _.get
1083
1119
  */
1084
1120
  get<TKey extends keyof T, TDefault>(path: TKey | [TKey], defaultValue: TDefault): Exclude<T[TKey], undefined> | TDefault;
1121
+ /**
1122
+ * @see _.get
1123
+ */
1124
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1]>(path: [TKey1, TKey2]): T[TKey1][TKey2];
1125
+ /**
1126
+ * @see _.get
1127
+ */
1128
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TDefault>(path: [TKey1, TKey2], defaultValue: TDefault): Exclude<T[TKey1][TKey2], undefined> | TDefault;
1129
+ /**
1130
+ * @see _.get
1131
+ */
1132
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): T[TKey1][TKey2][TKey3];
1133
+ /**
1134
+ * @see _.get
1135
+ */
1136
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TDefault>(path: [TKey1, TKey2, TKey3], defaultValue: TDefault): Exclude<T[TKey1][TKey2][TKey3], undefined> | TDefault;
1137
+ /**
1138
+ * @see _.get
1139
+ */
1140
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): T[TKey1][TKey2][TKey3][TKey4];
1141
+ /**
1142
+ * @see _.get
1143
+ */
1144
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3], TDefault>(path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1085
1145
  /**
1086
1146
  * @see _.get
1087
1147
  */
@@ -1130,6 +1190,42 @@ declare module "../index" {
1130
1190
  * @see _.get
1131
1191
  */
1132
1192
  get<TKey extends keyof T, TDefault>(path: TKey | [TKey], defaultValue: TDefault): ExpChain<Exclude<T[TKey], undefined> | TDefault>;
1193
+ /**
1194
+ * @see _.get
1195
+ */
1196
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1]>(path: [TKey1, TKey2]): ExpChain<T[TKey1][TKey2]>;
1197
+ /**
1198
+ * @see _.get
1199
+ */
1200
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1]>(path: [TKey1, TKey2], defaultValue: never[]): T[TKey1][TKey2] extends any[] ? ExpChain<Exclude<T[TKey1][TKey2], undefined>> : ExpChain<Exclude<T[TKey1][TKey2], undefined> | never[]>;
1201
+ /**
1202
+ * @see _.get
1203
+ */
1204
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TDefault>(path: [TKey1, TKey2], defaultValue: TDefault): ExpChain<Exclude<T[TKey1][TKey2], undefined> | TDefault>;
1205
+ /**
1206
+ * @see _.get
1207
+ */
1208
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): ExpChain<T[TKey1][TKey2][TKey3]>;
1209
+ /**
1210
+ * @see _.get
1211
+ */
1212
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], defaultValue: never[]): T[TKey1][TKey2][TKey3] extends any[] ? ExpChain<Exclude<T[TKey1][TKey2][TKey3], undefined>> : ExpChain<Exclude<T[TKey1][TKey2][TKey3], undefined> | never[]>;
1213
+ /**
1214
+ * @see _.get
1215
+ */
1216
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TDefault>(path: [TKey1, TKey2, TKey3], defaultValue: TDefault): ExpChain<Exclude<T[TKey1][TKey2][TKey3], undefined> | TDefault>;
1217
+ /**
1218
+ * @see _.get
1219
+ */
1220
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): ExpChain<T[TKey1][TKey2][TKey3][TKey4]>;
1221
+ /**
1222
+ * @see _.get
1223
+ */
1224
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4], defaultValue: never[]): T[TKey1][TKey2][TKey3][TKey4] extends any[] ? ExpChain<Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined>> : ExpChain<Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined> | never[]>;
1225
+ /**
1226
+ * @see _.get
1227
+ */
1228
+ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3], TDefault>(path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): ExpChain<Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault>;
1133
1229
  /**
1134
1230
  * @see _.get
1135
1231
  */
@@ -1902,7 +1998,7 @@ declare module "../index" {
1902
1998
  /**
1903
1999
  * @see _.pick
1904
2000
  */
1905
- pick<T>(object: T | null | undefined, ...props: PropertyPath[]): PartialDeep<T>;
2001
+ pick<T>(object: T | null | undefined, ...props: PropertyPath[]): PartialObject<T>;
1906
2002
  }
1907
2003
  interface Object<T> {
1908
2004
  /**