@types/lodash 4.17.5 → 4.17.6
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 +89 -32
- 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: Thu, 27 Jun 2024 16:07:29 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
|
/**
|
lodash/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/lodash",
|
|
3
|
-
"version": "4.17.
|
|
3
|
+
"version": "4.17.6",
|
|
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": "7b3079d1429e9e75e2d4c67aa9a96e2b37b73f32ccc26b1d4f25bf72d7b27f0f",
|
|
59
|
+
"typeScriptVersion": "4.8"
|
|
60
60
|
}
|