-
-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #31 from icebreaker-forked/master
- Loading branch information
Showing
2 changed files
with
52 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
export = get; | ||
|
||
declare function get<T>(obj: T): T; | ||
declare function get(obj: object, key: string | string[], options?: get.Options): any; | ||
|
||
declare namespace get { | ||
interface Options { | ||
/** | ||
* The default value to return when get-value cannot result a value from the given object. | ||
* | ||
* default: `undefined` | ||
*/ | ||
default?: any; | ||
/** | ||
* If defined, this function is called on each resolved value. | ||
* Useful if you want to do `.hasOwnProperty` or `Object.prototype.propertyIsEnumerable`. | ||
*/ | ||
isValid?: (<K extends string>(key: K, object: Record<K, any>) => boolean) | undefined; | ||
/** | ||
* Custom function to use for splitting the string into object path segments. | ||
* | ||
* default: `String.split` | ||
*/ | ||
split?: ((s: string) => string[]) | undefined; | ||
/** | ||
* The separator to use for spliting the string. | ||
* (this is probably not needed when `options.split` is used). | ||
* | ||
* default: `"."` | ||
*/ | ||
separator?: string | RegExp | undefined; | ||
/** | ||
* Customize how the object path is created when iterating over path segments. | ||
* | ||
* default: `Array.join` | ||
*/ | ||
join?: ((segs: string[]) => string) | undefined; | ||
/** | ||
* The character to use when re-joining the string to check for keys | ||
* with dots in them (this is probably not needed when `options.join` is used). | ||
* This can be a different value than the separator, since the separator can be a string or regex. | ||
* | ||
* default: `"."` | ||
*/ | ||
joinChar?: string | undefined; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters