@types/lodash 4.17.5 → 4.17.7
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/README.md +1 -1
- lodash/common/object.d.ts +95 -38
- lodash/package.json +3 -3
lodash/README.md
CHANGED
|
@@ -8,7 +8,7 @@ This package contains type definitions for lodash (https://lodash.com).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated:
|
|
11
|
+
* Last updated: Tue, 16 Jul 2024 02:21:33 GMT
|
|
12
12
|
* Dependencies: none
|
|
13
13
|
|
|
14
14
|
# Credits
|
lodash/common/object.d.ts
CHANGED
|
@@ -1021,41 +1021,98 @@ declare module "../index" {
|
|
|
1021
1021
|
functionsIn(): CollectionChain<string>;
|
|
1022
1022
|
}
|
|
1023
1023
|
|
|
1024
|
-
type
|
|
1025
|
-
? T[K]
|
|
1026
|
-
: K extends `${number}`
|
|
1027
|
-
|
|
1028
|
-
? number extends T['length']
|
|
1029
|
-
? number extends keyof T
|
|
1030
|
-
? T[number]
|
|
1031
|
-
: undefined
|
|
1032
|
-
: undefined
|
|
1033
|
-
: undefined
|
|
1034
|
-
: undefined;
|
|
1024
|
+
type GetFieldTypeOfArrayLikeByKey<T extends unknown[], K> =
|
|
1025
|
+
K extends number ? T[K]
|
|
1026
|
+
: K extends `${infer N extends number}` ? T[N]
|
|
1027
|
+
: K extends keyof T ? T[K] : undefined;
|
|
1035
1028
|
|
|
1036
|
-
type
|
|
1037
|
-
|
|
1038
|
-
|
|
1029
|
+
type GetFieldTypeOfStringByKey<T extends string, K> =
|
|
1030
|
+
K extends number ? T[K]
|
|
1031
|
+
: K extends `${infer N extends number}` ? T[N]
|
|
1032
|
+
: K extends keyof T ? T[K]
|
|
1033
|
+
: undefined;
|
|
1039
1034
|
|
|
1040
|
-
type
|
|
1041
|
-
|
|
1042
|
-
|
|
1035
|
+
type GetFieldTypeOfNarrowedByKey<T, K> =
|
|
1036
|
+
T extends unknown[] ? GetFieldTypeOfArrayLikeByKey<T, K>
|
|
1037
|
+
: T extends string ? GetFieldTypeOfStringByKey<T, K>
|
|
1038
|
+
: K extends keyof T ? T[K]
|
|
1039
|
+
: K extends number
|
|
1040
|
+
? `${K}` extends keyof T ? T[`${K}`] : undefined
|
|
1041
|
+
: K extends `${infer N extends number}`
|
|
1042
|
+
? N extends keyof T ? T[N] : undefined
|
|
1043
|
+
: undefined;
|
|
1043
1044
|
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1045
|
+
/** Internal. Assumes P is a dot-delimited path. */
|
|
1046
|
+
type GetFieldTypeOfNarrowedByDotPath<T, P> =
|
|
1047
|
+
P extends `${infer L}.${infer R}`
|
|
1048
|
+
? GetFieldType<GetFieldTypeOfNarrowedByKey<T, L>, R, 'DotPath'>
|
|
1049
|
+
: GetFieldTypeOfNarrowedByKey<T, P>;
|
|
1050
|
+
|
|
1051
|
+
/** Internal. This is a piece of GetFieldTypeOfNarrowedByLKR logic,
|
|
1052
|
+
* assuming that Lc isn't to be ignored, and does not end with dot. */
|
|
1053
|
+
type GetFieldTypeOfNarrowedByLcKR<T, Lc, K, R> =
|
|
1054
|
+
'' extends R
|
|
1055
|
+
? GetFieldType<GetFieldTypeOfNarrowedByDotPath<T, Lc>, K, 'Key'>
|
|
1056
|
+
: R extends `.${infer Rc}`
|
|
1057
|
+
? GetFieldType<GetFieldType<GetFieldTypeOfNarrowedByDotPath<T, Lc>, K, 'Key'>, Rc>
|
|
1058
|
+
: GetFieldType<GetFieldType<GetFieldTypeOfNarrowedByDotPath<T, Lc>, K, 'Key'>, R>
|
|
1059
|
+
|
|
1060
|
+
/** Internal. Assumes T has been narrowed; L is a dot-delimited path,
|
|
1061
|
+
* and should be ignored if an empty string; K is a key name; and R is
|
|
1062
|
+
* a dot-delimetered path, to be ignored if an empty string. Also if
|
|
1063
|
+
* L has a tail dot, or R has a front dot, these dots should be discarded,
|
|
1064
|
+
* however when L or R is just a dot, they should be interpreted as empty
|
|
1065
|
+
* key name (rather than ignored). */
|
|
1066
|
+
type GetFieldTypeOfNarrowedByLKR<T, L, K, R> =
|
|
1067
|
+
'' extends L
|
|
1068
|
+
? '' extends R
|
|
1069
|
+
? GetFieldTypeOfNarrowedByKey<T, K>
|
|
1070
|
+
: R extends `.${infer Rc}`
|
|
1071
|
+
? GetFieldType<GetFieldTypeOfNarrowedByKey<T, K>, Rc>
|
|
1072
|
+
: GetFieldType<GetFieldTypeOfNarrowedByKey<T, K>, R>
|
|
1073
|
+
: L extends `${infer Lc}.`
|
|
1074
|
+
? GetFieldTypeOfNarrowedByLcKR<T, Lc, K, R>
|
|
1075
|
+
: GetFieldTypeOfNarrowedByLcKR<T, L, K, R>
|
|
1076
|
+
|
|
1077
|
+
/** Internal. Assumes T has been narrowed. */
|
|
1078
|
+
type GetFieldTypeOfNarrowed<T, X, XT extends 'DotPath' | 'Key' | 'Path'> =
|
|
1079
|
+
XT extends 'Key' ? GetFieldTypeOfNarrowedByKey<T, X>
|
|
1080
|
+
: XT extends 'DotPath' ? GetFieldTypeOfNarrowedByDotPath<T, X>
|
|
1081
|
+
: X extends `${infer L}['${infer K}']${infer R}`
|
|
1082
|
+
? GetFieldTypeOfNarrowedByLKR<T, L, K, R>
|
|
1083
|
+
: X extends `${infer L}["${infer K}"]${infer R}`
|
|
1084
|
+
? GetFieldTypeOfNarrowedByLKR<T, L, K, R>
|
|
1085
|
+
: X extends `${infer L}[${infer K}]${infer R}`
|
|
1086
|
+
? GetFieldTypeOfNarrowedByLKR<T, L, K, R>
|
|
1087
|
+
: GetFieldTypeOfNarrowedByDotPath<T, X>;
|
|
1088
|
+
|
|
1089
|
+
/** Internal. Assumes T has been narrowed to an object type. */
|
|
1090
|
+
type GetFieldTypeOfObject<T, X, XT extends 'DotPath' | 'Key' | 'Path'> =
|
|
1091
|
+
Extract<T, unknown[]> extends never
|
|
1092
|
+
? GetFieldTypeOfNarrowed<T, X, XT>
|
|
1093
|
+
: GetFieldTypeOfNarrowed<Exclude<T, unknown[]>, X, XT>
|
|
1094
|
+
| GetFieldTypeOfNarrowed<Extract<T, unknown[]>, X, XT>;
|
|
1095
|
+
|
|
1096
|
+
/** Internal. Assumes T has been narrowed to a primitive type. */
|
|
1097
|
+
type GetFieldTypeOfPrimitive<T, X, XT extends 'DotPath' | 'Key' | 'Path'> =
|
|
1098
|
+
Extract<T, string> extends never
|
|
1099
|
+
? T extends never ? never : undefined
|
|
1100
|
+
: (Exclude<T, string> extends never ? never : undefined)
|
|
1101
|
+
| GetFieldTypeOfNarrowed<Extract<T, string>, X, XT>;
|
|
1102
|
+
|
|
1103
|
+
/**
|
|
1104
|
+
* Deduces the type of value at the path P of type T,
|
|
1105
|
+
* so that _.get<T, P>(t: T, p: P): GetFieldType<T, P>.
|
|
1106
|
+
* XT specifies the exact meaning of X:
|
|
1107
|
+
* - 'Path' (default) - X is a path type to be fully parsed;
|
|
1108
|
+
* - 'DotPath - X is a dot-delimitered path, without square (indexing) brackets;
|
|
1109
|
+
* - 'Key' - X is a simple key, and needs no parsing.
|
|
1110
|
+
*/
|
|
1111
|
+
type GetFieldType<T, X, XT extends 'DotPath' | 'Key' | 'Path' = 'Path'> =
|
|
1112
|
+
Extract<T, object> extends never
|
|
1113
|
+
? GetFieldTypeOfPrimitive<T, X, XT>
|
|
1114
|
+
: GetFieldTypeOfPrimitive<Exclude<T, object>, X, XT>
|
|
1115
|
+
| GetFieldTypeOfObject<Extract<T, object>, X, XT>;
|
|
1059
1116
|
|
|
1060
1117
|
interface LoDashStatic {
|
|
1061
1118
|
/**
|
|
@@ -1083,11 +1140,11 @@ declare module "../index" {
|
|
|
1083
1140
|
/**
|
|
1084
1141
|
* @see _.get
|
|
1085
1142
|
*/
|
|
1086
|
-
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]
|
|
1143
|
+
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof NonNullable<TObject[TKey1]>>(object: TObject | null | undefined, path: [TKey1, TKey2]): NonNullable<TObject[TKey1]>[TKey2] | undefined;
|
|
1087
1144
|
/**
|
|
1088
1145
|
* @see _.get
|
|
1089
1146
|
*/
|
|
1090
|
-
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]
|
|
1147
|
+
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof NonNullable<TObject[TKey1]>, TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2], defaultValue: TDefault): Exclude<NonNullable<TObject[TKey1]>[TKey2], undefined> | TDefault;
|
|
1091
1148
|
/**
|
|
1092
1149
|
* @see _.get
|
|
1093
1150
|
*/
|
|
@@ -1095,11 +1152,11 @@ declare module "../index" {
|
|
|
1095
1152
|
/**
|
|
1096
1153
|
* @see _.get
|
|
1097
1154
|
*/
|
|
1098
|
-
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]
|
|
1155
|
+
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof NonNullable<TObject[TKey1]>, TKey3 extends keyof NonNullable<NonNullable<TObject[TKey1]>[TKey2]>>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3]): NonNullable<NonNullable<TObject[TKey1]>[TKey2]>[TKey3] | undefined;
|
|
1099
1156
|
/**
|
|
1100
1157
|
* @see _.get
|
|
1101
1158
|
*/
|
|
1102
|
-
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]
|
|
1159
|
+
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof NonNullable<TObject[TKey1]>, TKey3 extends keyof NonNullable<NonNullable<TObject[TKey1]>[TKey2]>, TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3], defaultValue: TDefault): Exclude<NonNullable<NonNullable<TObject[TKey1]>[TKey2]>[TKey3], undefined> | TDefault;
|
|
1103
1160
|
/**
|
|
1104
1161
|
* @see _.get
|
|
1105
1162
|
*/
|
|
@@ -1107,11 +1164,11 @@ declare module "../index" {
|
|
|
1107
1164
|
/**
|
|
1108
1165
|
* @see _.get
|
|
1109
1166
|
*/
|
|
1110
|
-
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]
|
|
1167
|
+
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof NonNullable<TObject[TKey1]>, TKey3 extends keyof NonNullable<NonNullable<TObject[TKey1]>[TKey2]>, TKey4 extends keyof NonNullable<NonNullable<NonNullable<TObject[TKey1]>[TKey2]>[TKey3]>>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3, TKey4]): NonNullable<NonNullable<NonNullable<TObject[TKey1]>[TKey2]>[TKey3]>[TKey4] | undefined;
|
|
1111
1168
|
/**
|
|
1112
1169
|
* @see _.get
|
|
1113
1170
|
*/
|
|
1114
|
-
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]
|
|
1171
|
+
get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof NonNullable<TObject[TKey1]>, TKey3 extends keyof NonNullable<NonNullable<TObject[TKey1]>[TKey2]>, TKey4 extends keyof NonNullable<NonNullable<NonNullable<TObject[TKey1]>[TKey2]>[TKey3]>, TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): Exclude<NonNullable<NonNullable<NonNullable<TObject[TKey1]>[TKey2]>[TKey3]>[TKey4], undefined> | TDefault;
|
|
1115
1172
|
/**
|
|
1116
1173
|
* @see _.get
|
|
1117
1174
|
*/
|
lodash/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/lodash",
|
|
3
|
-
"version": "4.17.
|
|
3
|
+
"version": "4.17.7",
|
|
4
4
|
"description": "TypeScript definitions for lodash",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash",
|
|
6
6
|
"license": "MIT",
|
|
@@ -55,6 +55,6 @@
|
|
|
55
55
|
},
|
|
56
56
|
"scripts": {},
|
|
57
57
|
"dependencies": {},
|
|
58
|
-
"typesPublisherContentHash": "
|
|
59
|
-
"typeScriptVersion": "4.
|
|
58
|
+
"typesPublisherContentHash": "bfe2463828cc30244e31ef7b2555c36d16c840d293fe58f7533b2804c9fd409d",
|
|
59
|
+
"typeScriptVersion": "4.8"
|
|
60
60
|
}
|