@types/lodash 4.14.134 → 4.14.138

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/multiply.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { multiply } from './index';
2
+ export = multiply;
lodash/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/lodash",
3
- "version": "4.14.134",
3
+ "version": "4.14.138",
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": "fc91a5081a7ad5b77fe61deac05b6221e53c85402571e0fef723bd7fb5bf9e4f",
69
+ "typesPublisherContentHash": "a51ce794b49155dce831934945705ec16734a3fdee4af6d53e01f00767fd8f40",
65
70
  "typeScriptVersion": "2.8"
66
71
  }
@@ -488,6 +488,7 @@ declare module "../index" {
488
488
  */
489
489
  flatten(): T extends Many<infer U> ? CollectionChain<U> : CollectionChain<T>;
490
490
  }
491
+ type Flat<T> = (T extends List<any> ? never : T);
491
492
  interface LoDashStatic {
492
493
  /**
493
494
  * Recursively flattens a nested array.
@@ -495,19 +496,19 @@ declare module "../index" {
495
496
  * @param array The array to recursively flatten.
496
497
  * @return Returns the new flattened array.
497
498
  */
498
- flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined): T[];
499
+ flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined): Array<Flat<T>>;
499
500
  }
500
501
  interface Collection<T> {
501
502
  /**
502
503
  * @see _.flattenDeep
503
504
  */
504
- flattenDeep(): Collection<T>;
505
+ flattenDeep(): T extends ListOfRecursiveArraysOrValues<infer U> ? Collection<Flat<U>> : Collection<T>;
505
506
  }
506
507
  interface CollectionChain<T> {
507
508
  /**
508
509
  * @see _.flattenDeep
509
510
  */
510
- flattenDeep(): CollectionChain<T>;
511
+ flattenDeep(): T extends ListOfRecursiveArraysOrValues<infer U> ? CollectionChain<Flat<U>> : CollectionChain<T>;
511
512
  }
512
513
  interface LoDashStatic {
513
514
  /**
@@ -713,6 +714,10 @@ declare module "../index" {
713
714
  * @see _.intersectionBy
714
715
  */
715
716
  intersectionBy<T>(array?: List<T> | null, ...values: Array<List<T>>): T[];
717
+ /**
718
+ * @see _.intersectionBy
719
+ */
720
+ intersectionBy<T>(...values: Array<List<T> | ValueIteratee<T>>): T[];
716
721
  }
717
722
  interface Collection<T> {
718
723
  /**
@@ -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
  */