@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/ts3.1/fp.d.ts CHANGED
@@ -1387,35 +1387,66 @@ declare namespace _ {
1387
1387
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey];
1388
1388
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashGet2x2<TObject>;
1389
1389
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined;
1390
- (path: number): LodashGet3x1;
1391
- <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashGet3x2<T>;
1390
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashGet3x1<TObject, TKey1, TKey2>;
1391
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject): TObject[TKey1][TKey2];
1392
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
1393
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashGet5x1<TObject, TKey1, TKey2, TKey3>;
1394
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject): TObject[TKey1][TKey2][TKey3];
1395
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
1396
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashGet7x1<TObject, TKey1, TKey2, TKey3, TKey4>;
1397
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
1398
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
1399
+ (path: number): LodashGet9x1;
1400
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashGet9x2<T>;
1392
1401
  <T>(path: number, object: lodash.NumericDictionary<T>): T;
1393
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGet4x2<T>;
1402
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGet10x2<T>;
1394
1403
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
1395
- (path: lodash.PropertyPath): LodashGet5x1;
1396
- (path: lodash.__, object: null | undefined): LodashGet5x2;
1404
+ (path: lodash.PropertyPath): LodashGet11x1;
1405
+ (path: lodash.__, object: null | undefined): LodashGet11x2;
1397
1406
  (path: lodash.PropertyPath, object: null | undefined): undefined;
1398
- (path: lodash.__, object: any): LodashGet6x2;
1407
+ (path: lodash.__, object: any): LodashGet12x2;
1399
1408
  (path: lodash.PropertyPath, object: any): any;
1400
1409
  }
1401
1410
  interface LodashGet1x1<TObject, TKey extends keyof TObject> {
1402
1411
  (object: TObject): TObject[TKey];
1403
1412
  (object: TObject | null | undefined): TObject[TKey] | undefined;
1404
1413
  }
1405
- type LodashGet1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey];
1406
- type LodashGet2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined;
1407
- interface LodashGet3x1 {
1414
+ interface LodashGet1x2<TObject> {
1415
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey];
1416
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2];
1417
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3];
1418
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4];
1419
+ }
1420
+ interface LodashGet2x2<TObject> {
1421
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey] | undefined;
1422
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined;
1423
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined;
1424
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
1425
+ }
1426
+ interface LodashGet3x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
1427
+ (object: TObject): TObject[TKey1][TKey2];
1428
+ (object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
1429
+ }
1430
+ interface LodashGet5x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
1431
+ (object: TObject): TObject[TKey1][TKey2][TKey3];
1432
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
1433
+ }
1434
+ interface LodashGet7x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
1435
+ (object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
1436
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
1437
+ }
1438
+ interface LodashGet9x1 {
1408
1439
  <T>(object: lodash.NumericDictionary<T>): T;
1409
1440
  <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
1410
1441
  }
1411
- type LodashGet3x2<T> = (path: number) => T;
1412
- type LodashGet4x2<T> = (path: number) => T | undefined;
1413
- interface LodashGet5x1 {
1442
+ type LodashGet9x2<T> = (path: number) => T;
1443
+ type LodashGet10x2<T> = (path: number) => T | undefined;
1444
+ interface LodashGet11x1 {
1414
1445
  (object: null | undefined): undefined;
1415
1446
  (object: any): any;
1416
1447
  }
1417
- type LodashGet5x2 = (path: lodash.PropertyPath) => undefined;
1418
- type LodashGet6x2 = (path: lodash.PropertyPath) => any;
1448
+ type LodashGet11x2 = (path: lodash.PropertyPath) => undefined;
1449
+ type LodashGet12x2 = (path: lodash.PropertyPath) => any;
1419
1450
  interface LodashGetOr {
1420
1451
  <TDefault>(defaultValue: TDefault): LodashGetOr1x1<TDefault>;
1421
1452
  <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashGetOr1x2<TObject, TKey>;
@@ -1424,34 +1455,52 @@ declare namespace _ {
1424
1455
  <TObject extends object, TDefault>(defaultValue: TDefault, path: lodash.__, object: TObject | null | undefined): LodashGetOr1x5<TObject, TDefault>;
1425
1456
  <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey], object: TObject | null | undefined): LodashGetOr1x6<TObject, TKey>;
1426
1457
  <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey], object: TObject | null | undefined): Exclude<TObject[TKey], undefined> | TDefault;
1427
- (defaultValue: lodash.__, path: number): LodashGetOr2x2;
1428
- <TDefault>(defaultValue: TDefault, path: number): LodashGetOr2x3<TDefault>;
1429
- <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x4<T>;
1430
- <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x5<T, TDefault>;
1431
- <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x6<T>;
1458
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2]): LodashGetOr2x2<TObject, TKey1, TKey2>;
1459
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2]): LodashGetOr2x3<TObject, TKey1, TKey2, TDefault>;
1460
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2], object: TObject | null | undefined): LodashGetOr2x6<TObject, TKey1, TKey2>;
1461
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1462
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3]): LodashGetOr3x2<TObject, TKey1, TKey2, TKey3>;
1463
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3]): LodashGetOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
1464
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): LodashGetOr3x6<TObject, TKey1, TKey2, TKey3>;
1465
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1466
+ <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]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4]): LodashGetOr4x2<TObject, TKey1, TKey2, TKey3, TKey4>;
1467
+ <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>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4]): LodashGetOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
1468
+ <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]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): LodashGetOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
1469
+ <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>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1470
+ (defaultValue: lodash.__, path: number): LodashGetOr5x2;
1471
+ <TDefault>(defaultValue: TDefault, path: number): LodashGetOr5x3<TDefault>;
1472
+ <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr5x4<T>;
1473
+ <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr5x5<T, TDefault>;
1474
+ <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr5x6<T>;
1432
1475
  <T, TDefault>(defaultValue: TDefault, path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
1433
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr3x2;
1434
- <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashGetOr3x3<TDefault>;
1435
- (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashGetOr3x4;
1436
- <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashGetOr3x5<TDefault>;
1437
- (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashGetOr3x6;
1476
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr6x2;
1477
+ <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashGetOr6x3<TDefault>;
1478
+ (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashGetOr6x4;
1479
+ <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashGetOr6x5<TDefault>;
1480
+ (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashGetOr6x6;
1438
1481
  <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath, object: null | undefined): TDefault;
1439
- (defaultValue: any): LodashGetOr4x1;
1440
- (defaultValue: any, path: lodash.PropertyPath): LodashGetOr4x3;
1441
- (defaultValue: lodash.__, path: lodash.__, object: any): LodashGetOr4x4;
1442
- (defaultValue: any, path: lodash.__, object: any): LodashGetOr4x5;
1443
- (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashGetOr4x6;
1482
+ (defaultValue: any): LodashGetOr7x1;
1483
+ (defaultValue: any, path: lodash.PropertyPath): LodashGetOr7x3;
1484
+ (defaultValue: lodash.__, path: lodash.__, object: any): LodashGetOr7x4;
1485
+ (defaultValue: any, path: lodash.__, object: any): LodashGetOr7x5;
1486
+ (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashGetOr7x6;
1444
1487
  (defaultValue: any, path: lodash.PropertyPath, object: any): any;
1445
1488
  }
1446
1489
  interface LodashGetOr1x1<TDefault> {
1447
1490
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashGetOr1x3<TObject, TKey, TDefault>;
1448
1491
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashGetOr1x5<TObject, TDefault>;
1449
1492
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): Exclude<TObject[TKey], undefined> | TDefault;
1450
- (path: number): LodashGetOr2x3<TDefault>;
1451
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x5<T, TDefault>;
1493
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashGetOr2x3<TObject, TKey1, TKey2, TDefault>;
1494
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1495
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashGetOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
1496
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1497
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashGetOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
1498
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1499
+ (path: number): LodashGetOr5x3<TDefault>;
1500
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr5x5<T, TDefault>;
1452
1501
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
1453
- (path: lodash.PropertyPath): LodashGetOr3x3<TDefault>;
1454
- (path: lodash.__, object: null | undefined): LodashGetOr3x5<TDefault>;
1502
+ (path: lodash.PropertyPath): LodashGetOr6x3<TDefault>;
1503
+ (path: lodash.__, object: null | undefined): LodashGetOr6x5<TDefault>;
1455
1504
  (path: lodash.PropertyPath, object: null | undefined): TDefault;
1456
1505
  }
1457
1506
  interface LodashGetOr1x2<TObject, TKey extends keyof TObject> {
@@ -1464,51 +1513,83 @@ declare namespace _ {
1464
1513
  <TDefault>(defaultValue: TDefault): LodashGetOr1x5<TObject, TDefault>;
1465
1514
  <TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashGetOr1x6<TObject, TKey>;
1466
1515
  <TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): Exclude<TObject[TKey], undefined> | TDefault;
1516
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2]): LodashGetOr2x6<TObject, TKey1, TKey2>;
1517
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2]): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1518
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3]): LodashGetOr3x6<TObject, TKey1, TKey2, TKey3>;
1519
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3]): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1520
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4]): LodashGetOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
1521
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4]): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1522
+ }
1523
+ interface LodashGetOr1x5<TObject, TDefault> {
1524
+ <TKey extends keyof TObject>(path: TKey | [TKey]): Exclude<TObject[TKey], undefined> | TDefault;
1525
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1526
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1527
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1467
1528
  }
1468
- type LodashGetOr1x5<TObject, TDefault> = <TKey extends keyof TObject>(path: TKey | [TKey]) => Exclude<TObject[TKey], undefined> | TDefault;
1469
1529
  type LodashGetOr1x6<TObject, TKey extends keyof TObject> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey], undefined> | TDefault;
1470
- interface LodashGetOr2x2 {
1471
- <TDefault>(defaultValue: TDefault): LodashGetOr2x3<TDefault>;
1472
- <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x6<T>;
1530
+ interface LodashGetOr2x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
1531
+ <TDefault>(defaultValue: TDefault): LodashGetOr2x3<TObject, TKey1, TKey2, TDefault>;
1532
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashGetOr2x6<TObject, TKey1, TKey2>;
1533
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1534
+ }
1535
+ type LodashGetOr2x3<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault> = (object: TObject | null | undefined) => Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1536
+ type LodashGetOr2x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
1537
+ interface LodashGetOr3x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
1538
+ <TDefault>(defaultValue: TDefault): LodashGetOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
1539
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashGetOr3x6<TObject, TKey1, TKey2, TKey3>;
1540
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1541
+ }
1542
+ type LodashGetOr3x3<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault> = (object: TObject | null | undefined) => Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1543
+ type LodashGetOr3x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
1544
+ interface LodashGetOr4x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
1545
+ <TDefault>(defaultValue: TDefault): LodashGetOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
1546
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashGetOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
1547
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1548
+ }
1549
+ type LodashGetOr4x3<TObject, 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) => Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1550
+ type LodashGetOr4x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
1551
+ interface LodashGetOr5x2 {
1552
+ <TDefault>(defaultValue: TDefault): LodashGetOr5x3<TDefault>;
1553
+ <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr5x6<T>;
1473
1554
  <T, TDefault>(defaultValue: TDefault, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
1474
1555
  }
1475
- type LodashGetOr2x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault;
1476
- interface LodashGetOr2x4<T> {
1477
- <TDefault>(defaultValue: TDefault): LodashGetOr2x5<T, TDefault>;
1478
- (defaultValue: lodash.__, path: number): LodashGetOr2x6<T>;
1556
+ type LodashGetOr5x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault;
1557
+ interface LodashGetOr5x4<T> {
1558
+ <TDefault>(defaultValue: TDefault): LodashGetOr5x5<T, TDefault>;
1559
+ (defaultValue: lodash.__, path: number): LodashGetOr5x6<T>;
1479
1560
  <TDefault>(defaultValue: TDefault, path: number): T | TDefault;
1480
1561
  }
1481
- type LodashGetOr2x5<T, TDefault> = (path: number) => T | TDefault;
1482
- type LodashGetOr2x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault;
1483
- interface LodashGetOr3x2 {
1484
- <TDefault>(defaultValue: TDefault): LodashGetOr3x3<TDefault>;
1485
- (defaultValue: lodash.__, object: null | undefined): LodashGetOr3x6;
1562
+ type LodashGetOr5x5<T, TDefault> = (path: number) => T | TDefault;
1563
+ type LodashGetOr5x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault;
1564
+ interface LodashGetOr6x2 {
1565
+ <TDefault>(defaultValue: TDefault): LodashGetOr6x3<TDefault>;
1566
+ (defaultValue: lodash.__, object: null | undefined): LodashGetOr6x6;
1486
1567
  <TDefault>(defaultValue: TDefault, object: null | undefined): TDefault;
1487
- (defaultValue: any): LodashGetOr4x3;
1488
- (defaultValue: lodash.__, object: any): LodashGetOr4x6;
1568
+ (defaultValue: any): LodashGetOr7x3;
1569
+ (defaultValue: lodash.__, object: any): LodashGetOr7x6;
1489
1570
  (defaultValue: any, object: any): any;
1490
1571
  }
1491
- type LodashGetOr3x3<TDefault> = (object: null | undefined) => TDefault;
1492
- interface LodashGetOr3x4 {
1493
- <TDefault>(defaultValue: TDefault): LodashGetOr3x5<TDefault>;
1494
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr3x6;
1572
+ type LodashGetOr6x3<TDefault> = (object: null | undefined) => TDefault;
1573
+ interface LodashGetOr6x4 {
1574
+ <TDefault>(defaultValue: TDefault): LodashGetOr6x5<TDefault>;
1575
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr6x6;
1495
1576
  <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): TDefault;
1496
1577
  }
1497
- type LodashGetOr3x5<TDefault> = (path: lodash.PropertyPath) => TDefault;
1498
- type LodashGetOr3x6 = <TDefault>(defaultValue: TDefault) => TDefault;
1499
- interface LodashGetOr4x1 {
1500
- (path: lodash.PropertyPath): LodashGetOr4x3;
1501
- (path: lodash.__, object: any): LodashGetOr4x5;
1578
+ type LodashGetOr6x5<TDefault> = (path: lodash.PropertyPath) => TDefault;
1579
+ type LodashGetOr6x6 = <TDefault>(defaultValue: TDefault) => TDefault;
1580
+ interface LodashGetOr7x1 {
1581
+ (path: lodash.PropertyPath): LodashGetOr7x3;
1582
+ (path: lodash.__, object: any): LodashGetOr7x5;
1502
1583
  (path: lodash.PropertyPath, object: any): any;
1503
1584
  }
1504
- type LodashGetOr4x3 = (object: any) => any;
1505
- interface LodashGetOr4x4 {
1506
- (defaultValue: any): LodashGetOr4x5;
1507
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr4x6;
1585
+ type LodashGetOr7x3 = (object: any) => any;
1586
+ interface LodashGetOr7x4 {
1587
+ (defaultValue: any): LodashGetOr7x5;
1588
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr7x6;
1508
1589
  (defaultValue: any, path: lodash.PropertyPath): any;
1509
1590
  }
1510
- type LodashGetOr4x5 = (path: lodash.PropertyPath) => any;
1511
- type LodashGetOr4x6 = (defaultValue: any) => any;
1591
+ type LodashGetOr7x5 = (path: lodash.PropertyPath) => any;
1592
+ type LodashGetOr7x6 = (defaultValue: any) => any;
1512
1593
  interface LodashGroupBy {
1513
1594
  <T>(iteratee: lodash.ValueIteratee<T>): LodashGroupBy1x1<T>;
1514
1595
  <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashGroupBy1x2<T>;
@@ -1831,7 +1912,6 @@ declare namespace _ {
1831
1912
  }
1832
1913
  interface LodashIsArrayLikeObject {
1833
1914
  <T extends { __lodashAnyHack: any }>(value: T): boolean;
1834
- // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the lodash.Function type)
1835
1915
  (value: ((...args: any[]) => any) | lodash.FunctionBase | string | boolean | number | null | undefined): value is never;
1836
1916
  (value: any): value is object & { length: number };
1837
1917
  }
@@ -2604,50 +2684,87 @@ declare namespace _ {
2604
2684
  type LodashPartialRight27x1 = (args: ReadonlyArray<any>) => (...args: any[]) => any;
2605
2685
  type LodashPartialRight27x2 = (func: (...args: any[]) => any) => (...args: any[]) => any;
2606
2686
  interface LodashPartition {
2607
- <T>(callback: lodash.ValueIteratee<T>): LodashPartition1x1<T>;
2687
+ <T, U extends T>(callback: lodash.ValueIteratorTypeGuard<T, U>): LodashPartition1x1<T, U>;
2608
2688
  <T>(callback: lodash.__, collection: lodash.List<T> | null | undefined): LodashPartition1x2<T>;
2689
+ <T, U extends T>(callback: lodash.ValueIteratorTypeGuard<T, U>, collection: lodash.List<T> | null | undefined): [U[], Array<Exclude<T, U>>];
2690
+ <T>(callback: lodash.ValueIteratee<T>): LodashPartition2x1<T>;
2609
2691
  <T>(callback: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): [T[], T[]];
2610
- <T extends object>(callback: lodash.__, collection: T | null | undefined): LodashPartition2x2<T>;
2692
+ <T extends object>(callback: lodash.__, collection: T | null | undefined): LodashPartition3x2<T>;
2611
2693
  <T extends object>(callback: lodash.ValueIteratee<T[keyof T]>, collection: T | null | undefined): [Array<T[keyof T]>, Array<T[keyof T]>];
2612
2694
  }
2613
- type LodashPartition1x1<T> = (collection: lodash.List<T> | object | null | undefined) => [T[], T[]];
2614
- type LodashPartition1x2<T> = (callback: lodash.ValueIteratee<T>) => [T[], T[]];
2615
- type LodashPartition2x2<T> = (callback: lodash.ValueIteratee<T[keyof T]>) => [Array<T[keyof T]>, Array<T[keyof T]>];
2695
+ type LodashPartition1x1<T, U> = (collection: lodash.List<T> | null | undefined) => [U[], Array<Exclude<T, U>>];
2696
+ interface LodashPartition1x2<T> {
2697
+ <U extends T>(callback: lodash.ValueIteratorTypeGuard<T, U>): [U[], Array<Exclude<T, U>>];
2698
+ (callback: lodash.ValueIteratee<T>): [T[], T[]];
2699
+ }
2700
+ type LodashPartition2x1<T> = (collection: lodash.List<T> | object | null | undefined) => [T[], T[]];
2701
+ type LodashPartition3x2<T> = (callback: lodash.ValueIteratee<T[keyof T]>) => [Array<T[keyof T]>, Array<T[keyof T]>];
2616
2702
  interface LodashPath {
2617
2703
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPath1x1<TObject, TKey>;
2618
2704
  <TObject extends object>(path: lodash.__, object: TObject): LodashPath1x2<TObject>;
2619
2705
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey];
2620
2706
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPath2x2<TObject>;
2621
2707
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined;
2622
- (path: number): LodashPath3x1;
2623
- <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashPath3x2<T>;
2708
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashPath3x1<TObject, TKey1, TKey2>;
2709
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject): TObject[TKey1][TKey2];
2710
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
2711
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashPath5x1<TObject, TKey1, TKey2, TKey3>;
2712
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject): TObject[TKey1][TKey2][TKey3];
2713
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
2714
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashPath7x1<TObject, TKey1, TKey2, TKey3, TKey4>;
2715
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
2716
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
2717
+ (path: number): LodashPath9x1;
2718
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashPath9x2<T>;
2624
2719
  <T>(path: number, object: lodash.NumericDictionary<T>): T;
2625
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPath4x2<T>;
2720
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPath10x2<T>;
2626
2721
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2627
- (path: lodash.PropertyPath): LodashPath5x1;
2628
- (path: lodash.__, object: null | undefined): LodashPath5x2;
2722
+ (path: lodash.PropertyPath): LodashPath11x1;
2723
+ (path: lodash.__, object: null | undefined): LodashPath11x2;
2629
2724
  (path: lodash.PropertyPath, object: null | undefined): undefined;
2630
- (path: lodash.__, object: any): LodashPath6x2;
2725
+ (path: lodash.__, object: any): LodashPath12x2;
2631
2726
  (path: lodash.PropertyPath, object: any): any;
2632
2727
  }
2633
2728
  interface LodashPath1x1<TObject, TKey extends keyof TObject> {
2634
2729
  (object: TObject): TObject[TKey];
2635
2730
  (object: TObject | null | undefined): TObject[TKey] | undefined;
2636
2731
  }
2637
- type LodashPath1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey];
2638
- type LodashPath2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined;
2639
- interface LodashPath3x1 {
2732
+ interface LodashPath1x2<TObject> {
2733
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey];
2734
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2];
2735
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3];
2736
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4];
2737
+ }
2738
+ interface LodashPath2x2<TObject> {
2739
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey] | undefined;
2740
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined;
2741
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined;
2742
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
2743
+ }
2744
+ interface LodashPath3x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
2745
+ (object: TObject): TObject[TKey1][TKey2];
2746
+ (object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
2747
+ }
2748
+ interface LodashPath5x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
2749
+ (object: TObject): TObject[TKey1][TKey2][TKey3];
2750
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
2751
+ }
2752
+ interface LodashPath7x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
2753
+ (object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
2754
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
2755
+ }
2756
+ interface LodashPath9x1 {
2640
2757
  <T>(object: lodash.NumericDictionary<T>): T;
2641
2758
  <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2642
2759
  }
2643
- type LodashPath3x2<T> = (path: number) => T;
2644
- type LodashPath4x2<T> = (path: number) => T | undefined;
2645
- interface LodashPath5x1 {
2760
+ type LodashPath9x2<T> = (path: number) => T;
2761
+ type LodashPath10x2<T> = (path: number) => T | undefined;
2762
+ interface LodashPath11x1 {
2646
2763
  (object: null | undefined): undefined;
2647
2764
  (object: any): any;
2648
2765
  }
2649
- type LodashPath5x2 = (path: lodash.PropertyPath) => undefined;
2650
- type LodashPath6x2 = (path: lodash.PropertyPath) => any;
2766
+ type LodashPath11x2 = (path: lodash.PropertyPath) => undefined;
2767
+ type LodashPath12x2 = (path: lodash.PropertyPath) => any;
2651
2768
  interface LodashPathOr {
2652
2769
  <TDefault>(defaultValue: TDefault): LodashPathOr1x1<TDefault>;
2653
2770
  <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPathOr1x2<TObject, TKey>;
@@ -2656,34 +2773,52 @@ declare namespace _ {
2656
2773
  <TObject extends object, TDefault>(defaultValue: TDefault, path: lodash.__, object: TObject | null | undefined): LodashPathOr1x5<TObject, TDefault>;
2657
2774
  <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey], object: TObject | null | undefined): LodashPathOr1x6<TObject, TKey>;
2658
2775
  <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey], object: TObject | null | undefined): Exclude<TObject[TKey], undefined> | TDefault;
2659
- (defaultValue: lodash.__, path: number): LodashPathOr2x2;
2660
- <TDefault>(defaultValue: TDefault, path: number): LodashPathOr2x3<TDefault>;
2661
- <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x4<T>;
2662
- <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x5<T, TDefault>;
2663
- <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x6<T>;
2776
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2]): LodashPathOr2x2<TObject, TKey1, TKey2>;
2777
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2]): LodashPathOr2x3<TObject, TKey1, TKey2, TDefault>;
2778
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2], object: TObject | null | undefined): LodashPathOr2x6<TObject, TKey1, TKey2>;
2779
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2780
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3]): LodashPathOr3x2<TObject, TKey1, TKey2, TKey3>;
2781
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3]): LodashPathOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
2782
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): LodashPathOr3x6<TObject, TKey1, TKey2, TKey3>;
2783
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2784
+ <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]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4]): LodashPathOr4x2<TObject, TKey1, TKey2, TKey3, TKey4>;
2785
+ <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>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4]): LodashPathOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
2786
+ <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]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): LodashPathOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
2787
+ <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>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2788
+ (defaultValue: lodash.__, path: number): LodashPathOr5x2;
2789
+ <TDefault>(defaultValue: TDefault, path: number): LodashPathOr5x3<TDefault>;
2790
+ <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr5x4<T>;
2791
+ <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr5x5<T, TDefault>;
2792
+ <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr5x6<T>;
2664
2793
  <T, TDefault>(defaultValue: TDefault, path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
2665
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr3x2;
2666
- <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashPathOr3x3<TDefault>;
2667
- (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashPathOr3x4;
2668
- <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashPathOr3x5<TDefault>;
2669
- (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashPathOr3x6;
2794
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr6x2;
2795
+ <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashPathOr6x3<TDefault>;
2796
+ (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashPathOr6x4;
2797
+ <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashPathOr6x5<TDefault>;
2798
+ (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashPathOr6x6;
2670
2799
  <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath, object: null | undefined): TDefault;
2671
- (defaultValue: any): LodashPathOr4x1;
2672
- (defaultValue: any, path: lodash.PropertyPath): LodashPathOr4x3;
2673
- (defaultValue: lodash.__, path: lodash.__, object: any): LodashPathOr4x4;
2674
- (defaultValue: any, path: lodash.__, object: any): LodashPathOr4x5;
2675
- (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashPathOr4x6;
2800
+ (defaultValue: any): LodashPathOr7x1;
2801
+ (defaultValue: any, path: lodash.PropertyPath): LodashPathOr7x3;
2802
+ (defaultValue: lodash.__, path: lodash.__, object: any): LodashPathOr7x4;
2803
+ (defaultValue: any, path: lodash.__, object: any): LodashPathOr7x5;
2804
+ (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashPathOr7x6;
2676
2805
  (defaultValue: any, path: lodash.PropertyPath, object: any): any;
2677
2806
  }
2678
2807
  interface LodashPathOr1x1<TDefault> {
2679
2808
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPathOr1x3<TObject, TKey, TDefault>;
2680
2809
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPathOr1x5<TObject, TDefault>;
2681
2810
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): Exclude<TObject[TKey], undefined> | TDefault;
2682
- (path: number): LodashPathOr2x3<TDefault>;
2683
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x5<T, TDefault>;
2811
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashPathOr2x3<TObject, TKey1, TKey2, TDefault>;
2812
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2813
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashPathOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
2814
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2815
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashPathOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
2816
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2817
+ (path: number): LodashPathOr5x3<TDefault>;
2818
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr5x5<T, TDefault>;
2684
2819
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
2685
- (path: lodash.PropertyPath): LodashPathOr3x3<TDefault>;
2686
- (path: lodash.__, object: null | undefined): LodashPathOr3x5<TDefault>;
2820
+ (path: lodash.PropertyPath): LodashPathOr6x3<TDefault>;
2821
+ (path: lodash.__, object: null | undefined): LodashPathOr6x5<TDefault>;
2687
2822
  (path: lodash.PropertyPath, object: null | undefined): TDefault;
2688
2823
  }
2689
2824
  interface LodashPathOr1x2<TObject, TKey extends keyof TObject> {
@@ -2696,63 +2831,95 @@ declare namespace _ {
2696
2831
  <TDefault>(defaultValue: TDefault): LodashPathOr1x5<TObject, TDefault>;
2697
2832
  <TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPathOr1x6<TObject, TKey>;
2698
2833
  <TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): Exclude<TObject[TKey], undefined> | TDefault;
2834
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2]): LodashPathOr2x6<TObject, TKey1, TKey2>;
2835
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2]): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2836
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3]): LodashPathOr3x6<TObject, TKey1, TKey2, TKey3>;
2837
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3]): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2838
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4]): LodashPathOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
2839
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4]): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2840
+ }
2841
+ interface LodashPathOr1x5<TObject, TDefault> {
2842
+ <TKey extends keyof TObject>(path: TKey | [TKey]): Exclude<TObject[TKey], undefined> | TDefault;
2843
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2844
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2845
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2699
2846
  }
2700
- type LodashPathOr1x5<TObject, TDefault> = <TKey extends keyof TObject>(path: TKey | [TKey]) => Exclude<TObject[TKey], undefined> | TDefault;
2701
2847
  type LodashPathOr1x6<TObject, TKey extends keyof TObject> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey], undefined> | TDefault;
2702
- interface LodashPathOr2x2 {
2703
- <TDefault>(defaultValue: TDefault): LodashPathOr2x3<TDefault>;
2704
- <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x6<T>;
2848
+ interface LodashPathOr2x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
2849
+ <TDefault>(defaultValue: TDefault): LodashPathOr2x3<TObject, TKey1, TKey2, TDefault>;
2850
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashPathOr2x6<TObject, TKey1, TKey2>;
2851
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2852
+ }
2853
+ type LodashPathOr2x3<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault> = (object: TObject | null | undefined) => Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2854
+ type LodashPathOr2x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
2855
+ interface LodashPathOr3x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
2856
+ <TDefault>(defaultValue: TDefault): LodashPathOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
2857
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashPathOr3x6<TObject, TKey1, TKey2, TKey3>;
2858
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2859
+ }
2860
+ type LodashPathOr3x3<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault> = (object: TObject | null | undefined) => Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2861
+ type LodashPathOr3x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
2862
+ interface LodashPathOr4x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
2863
+ <TDefault>(defaultValue: TDefault): LodashPathOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
2864
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashPathOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
2865
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2866
+ }
2867
+ type LodashPathOr4x3<TObject, 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) => Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2868
+ type LodashPathOr4x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2869
+ interface LodashPathOr5x2 {
2870
+ <TDefault>(defaultValue: TDefault): LodashPathOr5x3<TDefault>;
2871
+ <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr5x6<T>;
2705
2872
  <T, TDefault>(defaultValue: TDefault, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
2706
2873
  }
2707
- type LodashPathOr2x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault;
2708
- interface LodashPathOr2x4<T> {
2709
- <TDefault>(defaultValue: TDefault): LodashPathOr2x5<T, TDefault>;
2710
- (defaultValue: lodash.__, path: number): LodashPathOr2x6<T>;
2874
+ type LodashPathOr5x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault;
2875
+ interface LodashPathOr5x4<T> {
2876
+ <TDefault>(defaultValue: TDefault): LodashPathOr5x5<T, TDefault>;
2877
+ (defaultValue: lodash.__, path: number): LodashPathOr5x6<T>;
2711
2878
  <TDefault>(defaultValue: TDefault, path: number): T | TDefault;
2712
2879
  }
2713
- type LodashPathOr2x5<T, TDefault> = (path: number) => T | TDefault;
2714
- type LodashPathOr2x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault;
2715
- interface LodashPathOr3x2 {
2716
- <TDefault>(defaultValue: TDefault): LodashPathOr3x3<TDefault>;
2717
- (defaultValue: lodash.__, object: null | undefined): LodashPathOr3x6;
2880
+ type LodashPathOr5x5<T, TDefault> = (path: number) => T | TDefault;
2881
+ type LodashPathOr5x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault;
2882
+ interface LodashPathOr6x2 {
2883
+ <TDefault>(defaultValue: TDefault): LodashPathOr6x3<TDefault>;
2884
+ (defaultValue: lodash.__, object: null | undefined): LodashPathOr6x6;
2718
2885
  <TDefault>(defaultValue: TDefault, object: null | undefined): TDefault;
2719
- (defaultValue: any): LodashPathOr4x3;
2720
- (defaultValue: lodash.__, object: any): LodashPathOr4x6;
2886
+ (defaultValue: any): LodashPathOr7x3;
2887
+ (defaultValue: lodash.__, object: any): LodashPathOr7x6;
2721
2888
  (defaultValue: any, object: any): any;
2722
2889
  }
2723
- type LodashPathOr3x3<TDefault> = (object: null | undefined) => TDefault;
2724
- interface LodashPathOr3x4 {
2725
- <TDefault>(defaultValue: TDefault): LodashPathOr3x5<TDefault>;
2726
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr3x6;
2890
+ type LodashPathOr6x3<TDefault> = (object: null | undefined) => TDefault;
2891
+ interface LodashPathOr6x4 {
2892
+ <TDefault>(defaultValue: TDefault): LodashPathOr6x5<TDefault>;
2893
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr6x6;
2727
2894
  <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): TDefault;
2728
2895
  }
2729
- type LodashPathOr3x5<TDefault> = (path: lodash.PropertyPath) => TDefault;
2730
- type LodashPathOr3x6 = <TDefault>(defaultValue: TDefault) => TDefault;
2731
- interface LodashPathOr4x1 {
2732
- (path: lodash.PropertyPath): LodashPathOr4x3;
2733
- (path: lodash.__, object: any): LodashPathOr4x5;
2896
+ type LodashPathOr6x5<TDefault> = (path: lodash.PropertyPath) => TDefault;
2897
+ type LodashPathOr6x6 = <TDefault>(defaultValue: TDefault) => TDefault;
2898
+ interface LodashPathOr7x1 {
2899
+ (path: lodash.PropertyPath): LodashPathOr7x3;
2900
+ (path: lodash.__, object: any): LodashPathOr7x5;
2734
2901
  (path: lodash.PropertyPath, object: any): any;
2735
2902
  }
2736
- type LodashPathOr4x3 = (object: any) => any;
2737
- interface LodashPathOr4x4 {
2738
- (defaultValue: any): LodashPathOr4x5;
2739
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr4x6;
2903
+ type LodashPathOr7x3 = (object: any) => any;
2904
+ interface LodashPathOr7x4 {
2905
+ (defaultValue: any): LodashPathOr7x5;
2906
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr7x6;
2740
2907
  (defaultValue: any, path: lodash.PropertyPath): any;
2741
2908
  }
2742
- type LodashPathOr4x5 = (path: lodash.PropertyPath) => any;
2743
- type LodashPathOr4x6 = (defaultValue: any) => any;
2909
+ type LodashPathOr7x5 = (path: lodash.PropertyPath) => any;
2910
+ type LodashPathOr7x6 = (defaultValue: any) => any;
2744
2911
  interface LodashPick {
2745
2912
  <T extends object, U extends keyof T>(props: lodash.Many<U>): LodashPick1x1<T, U>;
2746
2913
  <T extends object>(props: lodash.__, object: T): LodashPick1x2<T>;
2747
2914
  <T extends object, U extends keyof T>(props: lodash.Many<U>, object: T): Pick<T, U>;
2748
2915
  (props: lodash.PropertyPath): LodashPick2x1;
2749
2916
  <T>(props: lodash.__, object: T | null | undefined): LodashPick2x2<T>;
2750
- <T>(props: lodash.PropertyPath, object: T | null | undefined): lodash.PartialDeep<T>;
2917
+ <T>(props: lodash.PropertyPath, object: T | null | undefined): lodash.PartialObject<T>;
2751
2918
  }
2752
2919
  type LodashPick1x1<T, U extends keyof T> = (object: T) => Pick<T, U>;
2753
2920
  type LodashPick1x2<T> = <U extends keyof T>(props: lodash.Many<U>) => Pick<T, U>;
2754
- type LodashPick2x1 = <T>(object: T | null | undefined) => lodash.PartialDeep<T>;
2755
- type LodashPick2x2<T> = (props: lodash.PropertyPath) => lodash.PartialDeep<T>;
2921
+ type LodashPick2x1 = <T>(object: T | null | undefined) => lodash.PartialObject<T>;
2922
+ type LodashPick2x2<T> = (props: lodash.PropertyPath) => lodash.PartialObject<T>;
2756
2923
  interface LodashPickBy {
2757
2924
  <T, S extends T>(predicate: lodash.ValueKeyIterateeTypeGuard<T, S>): LodashPickBy1x1<T, S>;
2758
2925
  <T>(predicate: lodash.__, object: lodash.Dictionary<T> | null | undefined): LodashPickBy1x2<T>;
@@ -2789,105 +2956,198 @@ declare namespace _ {
2789
2956
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey];
2790
2957
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashProp2x2<TObject>;
2791
2958
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined;
2792
- (path: number): LodashProp3x1;
2793
- <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashProp3x2<T>;
2959
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashProp3x1<TObject, TKey1, TKey2>;
2960
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject): TObject[TKey1][TKey2];
2961
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
2962
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashProp5x1<TObject, TKey1, TKey2, TKey3>;
2963
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject): TObject[TKey1][TKey2][TKey3];
2964
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
2965
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashProp7x1<TObject, TKey1, TKey2, TKey3, TKey4>;
2966
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
2967
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
2968
+ (path: number): LodashProp9x1;
2969
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashProp9x2<T>;
2794
2970
  <T>(path: number, object: lodash.NumericDictionary<T>): T;
2795
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashProp4x2<T>;
2971
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashProp10x2<T>;
2796
2972
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2797
- (path: lodash.PropertyPath): LodashProp5x1;
2798
- (path: lodash.__, object: null | undefined): LodashProp5x2;
2973
+ (path: lodash.PropertyPath): LodashProp11x1;
2974
+ (path: lodash.__, object: null | undefined): LodashProp11x2;
2799
2975
  (path: lodash.PropertyPath, object: null | undefined): undefined;
2800
- (path: lodash.__, object: any): LodashProp6x2;
2976
+ (path: lodash.__, object: any): LodashProp12x2;
2801
2977
  (path: lodash.PropertyPath, object: any): any;
2802
2978
  }
2803
2979
  interface LodashProp1x1<TObject, TKey extends keyof TObject> {
2804
2980
  (object: TObject): TObject[TKey];
2805
2981
  (object: TObject | null | undefined): TObject[TKey] | undefined;
2806
2982
  }
2807
- type LodashProp1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey];
2808
- type LodashProp2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined;
2809
- interface LodashProp3x1 {
2983
+ interface LodashProp1x2<TObject> {
2984
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey];
2985
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2];
2986
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3];
2987
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4];
2988
+ }
2989
+ interface LodashProp2x2<TObject> {
2990
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey] | undefined;
2991
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined;
2992
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined;
2993
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
2994
+ }
2995
+ interface LodashProp3x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
2996
+ (object: TObject): TObject[TKey1][TKey2];
2997
+ (object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
2998
+ }
2999
+ interface LodashProp5x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
3000
+ (object: TObject): TObject[TKey1][TKey2][TKey3];
3001
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
3002
+ }
3003
+ interface LodashProp7x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
3004
+ (object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
3005
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3006
+ }
3007
+ interface LodashProp9x1 {
2810
3008
  <T>(object: lodash.NumericDictionary<T>): T;
2811
3009
  <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2812
3010
  }
2813
- type LodashProp3x2<T> = (path: number) => T;
2814
- type LodashProp4x2<T> = (path: number) => T | undefined;
2815
- interface LodashProp5x1 {
3011
+ type LodashProp9x2<T> = (path: number) => T;
3012
+ type LodashProp10x2<T> = (path: number) => T | undefined;
3013
+ interface LodashProp11x1 {
2816
3014
  (object: null | undefined): undefined;
2817
3015
  (object: any): any;
2818
3016
  }
2819
- type LodashProp5x2 = (path: lodash.PropertyPath) => undefined;
2820
- type LodashProp6x2 = (path: lodash.PropertyPath) => any;
3017
+ type LodashProp11x2 = (path: lodash.PropertyPath) => undefined;
3018
+ type LodashProp12x2 = (path: lodash.PropertyPath) => any;
2821
3019
  interface LodashProperty {
2822
3020
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashProperty1x1<TObject, TKey>;
2823
3021
  <TObject extends object>(path: lodash.__, object: TObject): LodashProperty1x2<TObject>;
2824
3022
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey];
2825
3023
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashProperty2x2<TObject>;
2826
3024
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined;
2827
- (path: number): LodashProperty3x1;
2828
- <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashProperty3x2<T>;
3025
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashProperty3x1<TObject, TKey1, TKey2>;
3026
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject): TObject[TKey1][TKey2];
3027
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
3028
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashProperty5x1<TObject, TKey1, TKey2, TKey3>;
3029
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject): TObject[TKey1][TKey2][TKey3];
3030
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
3031
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashProperty7x1<TObject, TKey1, TKey2, TKey3, TKey4>;
3032
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
3033
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3034
+ (path: number): LodashProperty9x1;
3035
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashProperty9x2<T>;
2829
3036
  <T>(path: number, object: lodash.NumericDictionary<T>): T;
2830
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashProperty4x2<T>;
3037
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashProperty10x2<T>;
2831
3038
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2832
- (path: lodash.PropertyPath): LodashProperty5x1;
2833
- (path: lodash.__, object: null | undefined): LodashProperty5x2;
3039
+ (path: lodash.PropertyPath): LodashProperty11x1;
3040
+ (path: lodash.__, object: null | undefined): LodashProperty11x2;
2834
3041
  (path: lodash.PropertyPath, object: null | undefined): undefined;
2835
- (path: lodash.__, object: any): LodashProperty6x2;
3042
+ (path: lodash.__, object: any): LodashProperty12x2;
2836
3043
  (path: lodash.PropertyPath, object: any): any;
2837
3044
  }
2838
3045
  interface LodashProperty1x1<TObject, TKey extends keyof TObject> {
2839
3046
  (object: TObject): TObject[TKey];
2840
3047
  (object: TObject | null | undefined): TObject[TKey] | undefined;
2841
3048
  }
2842
- type LodashProperty1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey];
2843
- type LodashProperty2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined;
2844
- interface LodashProperty3x1 {
3049
+ interface LodashProperty1x2<TObject> {
3050
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey];
3051
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2];
3052
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3];
3053
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4];
3054
+ }
3055
+ interface LodashProperty2x2<TObject> {
3056
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey] | undefined;
3057
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined;
3058
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined;
3059
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3060
+ }
3061
+ interface LodashProperty3x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
3062
+ (object: TObject): TObject[TKey1][TKey2];
3063
+ (object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
3064
+ }
3065
+ interface LodashProperty5x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
3066
+ (object: TObject): TObject[TKey1][TKey2][TKey3];
3067
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
3068
+ }
3069
+ interface LodashProperty7x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
3070
+ (object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
3071
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3072
+ }
3073
+ interface LodashProperty9x1 {
2845
3074
  <T>(object: lodash.NumericDictionary<T>): T;
2846
3075
  <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2847
3076
  }
2848
- type LodashProperty3x2<T> = (path: number) => T;
2849
- type LodashProperty4x2<T> = (path: number) => T | undefined;
2850
- interface LodashProperty5x1 {
3077
+ type LodashProperty9x2<T> = (path: number) => T;
3078
+ type LodashProperty10x2<T> = (path: number) => T | undefined;
3079
+ interface LodashProperty11x1 {
2851
3080
  (object: null | undefined): undefined;
2852
3081
  (object: any): any;
2853
3082
  }
2854
- type LodashProperty5x2 = (path: lodash.PropertyPath) => undefined;
2855
- type LodashProperty6x2 = (path: lodash.PropertyPath) => any;
3083
+ type LodashProperty11x2 = (path: lodash.PropertyPath) => undefined;
3084
+ type LodashProperty12x2 = (path: lodash.PropertyPath) => any;
2856
3085
  interface LodashPropertyOf {
2857
3086
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPropertyOf1x1<TObject, TKey>;
2858
3087
  <TObject extends object>(path: lodash.__, object: TObject): LodashPropertyOf1x2<TObject>;
2859
3088
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey];
2860
3089
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPropertyOf2x2<TObject>;
2861
3090
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined;
2862
- (path: number): LodashPropertyOf3x1;
2863
- <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashPropertyOf3x2<T>;
3091
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashPropertyOf3x1<TObject, TKey1, TKey2>;
3092
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject): TObject[TKey1][TKey2];
3093
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
3094
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashPropertyOf5x1<TObject, TKey1, TKey2, TKey3>;
3095
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject): TObject[TKey1][TKey2][TKey3];
3096
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
3097
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashPropertyOf7x1<TObject, TKey1, TKey2, TKey3, TKey4>;
3098
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
3099
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3100
+ (path: number): LodashPropertyOf9x1;
3101
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashPropertyOf9x2<T>;
2864
3102
  <T>(path: number, object: lodash.NumericDictionary<T>): T;
2865
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropertyOf4x2<T>;
3103
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropertyOf10x2<T>;
2866
3104
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2867
- (path: lodash.PropertyPath): LodashPropertyOf5x1;
2868
- (path: lodash.__, object: null | undefined): LodashPropertyOf5x2;
3105
+ (path: lodash.PropertyPath): LodashPropertyOf11x1;
3106
+ (path: lodash.__, object: null | undefined): LodashPropertyOf11x2;
2869
3107
  (path: lodash.PropertyPath, object: null | undefined): undefined;
2870
- (path: lodash.__, object: any): LodashPropertyOf6x2;
3108
+ (path: lodash.__, object: any): LodashPropertyOf12x2;
2871
3109
  (path: lodash.PropertyPath, object: any): any;
2872
3110
  }
2873
3111
  interface LodashPropertyOf1x1<TObject, TKey extends keyof TObject> {
2874
3112
  (object: TObject): TObject[TKey];
2875
3113
  (object: TObject | null | undefined): TObject[TKey] | undefined;
2876
3114
  }
2877
- type LodashPropertyOf1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey];
2878
- type LodashPropertyOf2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined;
2879
- interface LodashPropertyOf3x1 {
3115
+ interface LodashPropertyOf1x2<TObject> {
3116
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey];
3117
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2];
3118
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3];
3119
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4];
3120
+ }
3121
+ interface LodashPropertyOf2x2<TObject> {
3122
+ <TKey extends keyof TObject>(path: TKey | [TKey]): TObject[TKey] | undefined;
3123
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined;
3124
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined;
3125
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3126
+ }
3127
+ interface LodashPropertyOf3x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
3128
+ (object: TObject): TObject[TKey1][TKey2];
3129
+ (object: TObject | null | undefined): TObject[TKey1][TKey2] | undefined;
3130
+ }
3131
+ interface LodashPropertyOf5x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
3132
+ (object: TObject): TObject[TKey1][TKey2][TKey3];
3133
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3] | undefined;
3134
+ }
3135
+ interface LodashPropertyOf7x1<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
3136
+ (object: TObject): TObject[TKey1][TKey2][TKey3][TKey4];
3137
+ (object: TObject | null | undefined): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;
3138
+ }
3139
+ interface LodashPropertyOf9x1 {
2880
3140
  <T>(object: lodash.NumericDictionary<T>): T;
2881
3141
  <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined;
2882
3142
  }
2883
- type LodashPropertyOf3x2<T> = (path: number) => T;
2884
- type LodashPropertyOf4x2<T> = (path: number) => T | undefined;
2885
- interface LodashPropertyOf5x1 {
3143
+ type LodashPropertyOf9x2<T> = (path: number) => T;
3144
+ type LodashPropertyOf10x2<T> = (path: number) => T | undefined;
3145
+ interface LodashPropertyOf11x1 {
2886
3146
  (object: null | undefined): undefined;
2887
3147
  (object: any): any;
2888
3148
  }
2889
- type LodashPropertyOf5x2 = (path: lodash.PropertyPath) => undefined;
2890
- type LodashPropertyOf6x2 = (path: lodash.PropertyPath) => any;
3149
+ type LodashPropertyOf11x2 = (path: lodash.PropertyPath) => undefined;
3150
+ type LodashPropertyOf12x2 = (path: lodash.PropertyPath) => any;
2891
3151
  interface LodashPropOr {
2892
3152
  <TDefault>(defaultValue: TDefault): LodashPropOr1x1<TDefault>;
2893
3153
  <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPropOr1x2<TObject, TKey>;
@@ -2896,34 +3156,52 @@ declare namespace _ {
2896
3156
  <TObject extends object, TDefault>(defaultValue: TDefault, path: lodash.__, object: TObject | null | undefined): LodashPropOr1x5<TObject, TDefault>;
2897
3157
  <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey], object: TObject | null | undefined): LodashPropOr1x6<TObject, TKey>;
2898
3158
  <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey], object: TObject | null | undefined): Exclude<TObject[TKey], undefined> | TDefault;
2899
- (defaultValue: lodash.__, path: number): LodashPropOr2x2;
2900
- <TDefault>(defaultValue: TDefault, path: number): LodashPropOr2x3<TDefault>;
2901
- <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x4<T>;
2902
- <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x5<T, TDefault>;
2903
- <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x6<T>;
3159
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2]): LodashPropOr2x2<TObject, TKey1, TKey2>;
3160
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2]): LodashPropOr2x3<TObject, TKey1, TKey2, TDefault>;
3161
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2], object: TObject | null | undefined): LodashPropOr2x6<TObject, TKey1, TKey2>;
3162
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3163
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3]): LodashPropOr3x2<TObject, TKey1, TKey2, TKey3>;
3164
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3]): LodashPropOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
3165
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): LodashPropOr3x6<TObject, TKey1, TKey2, TKey3>;
3166
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3167
+ <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]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4]): LodashPropOr4x2<TObject, TKey1, TKey2, TKey3, TKey4>;
3168
+ <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>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4]): LodashPropOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
3169
+ <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]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): LodashPropOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
3170
+ <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>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
3171
+ (defaultValue: lodash.__, path: number): LodashPropOr5x2;
3172
+ <TDefault>(defaultValue: TDefault, path: number): LodashPropOr5x3<TDefault>;
3173
+ <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr5x4<T>;
3174
+ <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr5x5<T, TDefault>;
3175
+ <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr5x6<T>;
2904
3176
  <T, TDefault>(defaultValue: TDefault, path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
2905
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr3x2;
2906
- <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashPropOr3x3<TDefault>;
2907
- (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashPropOr3x4;
2908
- <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashPropOr3x5<TDefault>;
2909
- (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashPropOr3x6;
3177
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr6x2;
3178
+ <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashPropOr6x3<TDefault>;
3179
+ (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashPropOr6x4;
3180
+ <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashPropOr6x5<TDefault>;
3181
+ (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashPropOr6x6;
2910
3182
  <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath, object: null | undefined): TDefault;
2911
- (defaultValue: any): LodashPropOr4x1;
2912
- (defaultValue: any, path: lodash.PropertyPath): LodashPropOr4x3;
2913
- (defaultValue: lodash.__, path: lodash.__, object: any): LodashPropOr4x4;
2914
- (defaultValue: any, path: lodash.__, object: any): LodashPropOr4x5;
2915
- (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashPropOr4x6;
3183
+ (defaultValue: any): LodashPropOr7x1;
3184
+ (defaultValue: any, path: lodash.PropertyPath): LodashPropOr7x3;
3185
+ (defaultValue: lodash.__, path: lodash.__, object: any): LodashPropOr7x4;
3186
+ (defaultValue: any, path: lodash.__, object: any): LodashPropOr7x5;
3187
+ (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashPropOr7x6;
2916
3188
  (defaultValue: any, path: lodash.PropertyPath, object: any): any;
2917
3189
  }
2918
3190
  interface LodashPropOr1x1<TDefault> {
2919
3191
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPropOr1x3<TObject, TKey, TDefault>;
2920
3192
  <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPropOr1x5<TObject, TDefault>;
2921
3193
  <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): Exclude<TObject[TKey], undefined> | TDefault;
2922
- (path: number): LodashPropOr2x3<TDefault>;
2923
- <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x5<T, TDefault>;
3194
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): LodashPropOr2x3<TObject, TKey1, TKey2, TDefault>;
3195
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3196
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): LodashPropOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
3197
+ <TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3198
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4]): LodashPropOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
3199
+ <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]>(path: [TKey1, TKey2, TKey3, TKey4], object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
3200
+ (path: number): LodashPropOr5x3<TDefault>;
3201
+ <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr5x5<T, TDefault>;
2924
3202
  <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
2925
- (path: lodash.PropertyPath): LodashPropOr3x3<TDefault>;
2926
- (path: lodash.__, object: null | undefined): LodashPropOr3x5<TDefault>;
3203
+ (path: lodash.PropertyPath): LodashPropOr6x3<TDefault>;
3204
+ (path: lodash.__, object: null | undefined): LodashPropOr6x5<TDefault>;
2927
3205
  (path: lodash.PropertyPath, object: null | undefined): TDefault;
2928
3206
  }
2929
3207
  interface LodashPropOr1x2<TObject, TKey extends keyof TObject> {
@@ -2936,51 +3214,83 @@ declare namespace _ {
2936
3214
  <TDefault>(defaultValue: TDefault): LodashPropOr1x5<TObject, TDefault>;
2937
3215
  <TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPropOr1x6<TObject, TKey>;
2938
3216
  <TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): Exclude<TObject[TKey], undefined> | TDefault;
3217
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(defaultValue: lodash.__, path: [TKey1, TKey2]): LodashPropOr2x6<TObject, TKey1, TKey2>;
3218
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2]): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3219
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3]): LodashPropOr3x6<TObject, TKey1, TKey2, TKey3>;
3220
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3]): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3221
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(defaultValue: lodash.__, path: [TKey1, TKey2, TKey3, TKey4]): LodashPropOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
3222
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3], TDefault>(defaultValue: TDefault, path: [TKey1, TKey2, TKey3, TKey4]): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
3223
+ }
3224
+ interface LodashPropOr1x5<TObject, TDefault> {
3225
+ <TKey extends keyof TObject>(path: TKey | [TKey]): Exclude<TObject[TKey], undefined> | TDefault;
3226
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(path: [TKey1, TKey2]): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3227
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3228
+ <TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
2939
3229
  }
2940
- type LodashPropOr1x5<TObject, TDefault> = <TKey extends keyof TObject>(path: TKey | [TKey]) => Exclude<TObject[TKey], undefined> | TDefault;
2941
3230
  type LodashPropOr1x6<TObject, TKey extends keyof TObject> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey], undefined> | TDefault;
2942
- interface LodashPropOr2x2 {
2943
- <TDefault>(defaultValue: TDefault): LodashPropOr2x3<TDefault>;
2944
- <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x6<T>;
3231
+ interface LodashPropOr2x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> {
3232
+ <TDefault>(defaultValue: TDefault): LodashPropOr2x3<TObject, TKey1, TKey2, TDefault>;
3233
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashPropOr2x6<TObject, TKey1, TKey2>;
3234
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3235
+ }
3236
+ type LodashPropOr2x3<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault> = (object: TObject | null | undefined) => Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3237
+ type LodashPropOr2x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2], undefined> | TDefault;
3238
+ interface LodashPropOr3x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> {
3239
+ <TDefault>(defaultValue: TDefault): LodashPropOr3x3<TObject, TKey1, TKey2, TKey3, TDefault>;
3240
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashPropOr3x6<TObject, TKey1, TKey2, TKey3>;
3241
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3242
+ }
3243
+ type LodashPropOr3x3<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault> = (object: TObject | null | undefined) => Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3244
+ type LodashPropOr3x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault;
3245
+ interface LodashPropOr4x2<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> {
3246
+ <TDefault>(defaultValue: TDefault): LodashPropOr4x3<TObject, TKey1, TKey2, TKey3, TKey4, TDefault>;
3247
+ (defaultValue: lodash.__, object: TObject | null | undefined): LodashPropOr4x6<TObject, TKey1, TKey2, TKey3, TKey4>;
3248
+ <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
3249
+ }
3250
+ type LodashPropOr4x3<TObject, 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) => Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
3251
+ type LodashPropOr4x6<TObject, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]> = <TDefault>(defaultValue: TDefault) => Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault;
3252
+ interface LodashPropOr5x2 {
3253
+ <TDefault>(defaultValue: TDefault): LodashPropOr5x3<TDefault>;
3254
+ <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr5x6<T>;
2945
3255
  <T, TDefault>(defaultValue: TDefault, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault;
2946
3256
  }
2947
- type LodashPropOr2x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault;
2948
- interface LodashPropOr2x4<T> {
2949
- <TDefault>(defaultValue: TDefault): LodashPropOr2x5<T, TDefault>;
2950
- (defaultValue: lodash.__, path: number): LodashPropOr2x6<T>;
3257
+ type LodashPropOr5x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault;
3258
+ interface LodashPropOr5x4<T> {
3259
+ <TDefault>(defaultValue: TDefault): LodashPropOr5x5<T, TDefault>;
3260
+ (defaultValue: lodash.__, path: number): LodashPropOr5x6<T>;
2951
3261
  <TDefault>(defaultValue: TDefault, path: number): T | TDefault;
2952
3262
  }
2953
- type LodashPropOr2x5<T, TDefault> = (path: number) => T | TDefault;
2954
- type LodashPropOr2x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault;
2955
- interface LodashPropOr3x2 {
2956
- <TDefault>(defaultValue: TDefault): LodashPropOr3x3<TDefault>;
2957
- (defaultValue: lodash.__, object: null | undefined): LodashPropOr3x6;
3263
+ type LodashPropOr5x5<T, TDefault> = (path: number) => T | TDefault;
3264
+ type LodashPropOr5x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault;
3265
+ interface LodashPropOr6x2 {
3266
+ <TDefault>(defaultValue: TDefault): LodashPropOr6x3<TDefault>;
3267
+ (defaultValue: lodash.__, object: null | undefined): LodashPropOr6x6;
2958
3268
  <TDefault>(defaultValue: TDefault, object: null | undefined): TDefault;
2959
- (defaultValue: any): LodashPropOr4x3;
2960
- (defaultValue: lodash.__, object: any): LodashPropOr4x6;
3269
+ (defaultValue: any): LodashPropOr7x3;
3270
+ (defaultValue: lodash.__, object: any): LodashPropOr7x6;
2961
3271
  (defaultValue: any, object: any): any;
2962
3272
  }
2963
- type LodashPropOr3x3<TDefault> = (object: null | undefined) => TDefault;
2964
- interface LodashPropOr3x4 {
2965
- <TDefault>(defaultValue: TDefault): LodashPropOr3x5<TDefault>;
2966
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr3x6;
3273
+ type LodashPropOr6x3<TDefault> = (object: null | undefined) => TDefault;
3274
+ interface LodashPropOr6x4 {
3275
+ <TDefault>(defaultValue: TDefault): LodashPropOr6x5<TDefault>;
3276
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr6x6;
2967
3277
  <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): TDefault;
2968
3278
  }
2969
- type LodashPropOr3x5<TDefault> = (path: lodash.PropertyPath) => TDefault;
2970
- type LodashPropOr3x6 = <TDefault>(defaultValue: TDefault) => TDefault;
2971
- interface LodashPropOr4x1 {
2972
- (path: lodash.PropertyPath): LodashPropOr4x3;
2973
- (path: lodash.__, object: any): LodashPropOr4x5;
3279
+ type LodashPropOr6x5<TDefault> = (path: lodash.PropertyPath) => TDefault;
3280
+ type LodashPropOr6x6 = <TDefault>(defaultValue: TDefault) => TDefault;
3281
+ interface LodashPropOr7x1 {
3282
+ (path: lodash.PropertyPath): LodashPropOr7x3;
3283
+ (path: lodash.__, object: any): LodashPropOr7x5;
2974
3284
  (path: lodash.PropertyPath, object: any): any;
2975
3285
  }
2976
- type LodashPropOr4x3 = (object: any) => any;
2977
- interface LodashPropOr4x4 {
2978
- (defaultValue: any): LodashPropOr4x5;
2979
- (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr4x6;
3286
+ type LodashPropOr7x3 = (object: any) => any;
3287
+ interface LodashPropOr7x4 {
3288
+ (defaultValue: any): LodashPropOr7x5;
3289
+ (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr7x6;
2980
3290
  (defaultValue: any, path: lodash.PropertyPath): any;
2981
3291
  }
2982
- type LodashPropOr4x5 = (path: lodash.PropertyPath) => any;
2983
- type LodashPropOr4x6 = (defaultValue: any) => any;
3292
+ type LodashPropOr7x5 = (path: lodash.PropertyPath) => any;
3293
+ type LodashPropOr7x6 = (defaultValue: any) => any;
2984
3294
  interface LodashPull {
2985
3295
  <T>(values: T): LodashPull1x1<T>;
2986
3296
  <T>(values: lodash.__, array: ReadonlyArray<T>): LodashPull1x2<T>;