保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
declare const dotProp: {
    /**
    @param object - Object to get the `path` value.
    @param path - Path of the property in the object, using `.` to separate each nested key. Use `\\.` if you have a `.` in the key.
    @param defaultValue - Default value.
 
    @example
    ```
    import dotProp = require('dot-prop');
 
    dotProp.get({foo: {bar: 'unicorn'}}, 'foo.bar');
    //=> 'unicorn'
 
    dotProp.get({foo: {bar: 'a'}}, 'foo.notDefined.deep');
    //=> undefined
 
    dotProp.get({foo: {bar: 'a'}}, 'foo.notDefined.deep', 'default value');
    //=> 'default value'
 
    dotProp.get({foo: {'dot.dot': 'unicorn'}}, 'foo.dot\\.dot');
    //=> 'unicorn'
    ```
    */
    get<T>(
        object: {[key: string]: any} | undefined,
        path: string
    ): T | undefined;
    get<T>(
        object: {[key: string]: any} | undefined,
        path: string,
        defaultValue: T
    ): T;
 
    /**
    @param object - Object to set the `path` value.
    @param path - Path of the property in the object, using `.` to separate each nested key. Use `\\.` if you have a `.` in the key.
    @param value - Value to set at `path`.
    @returns The object.
 
    @example
    ```
    import dotProp = require('dot-prop');
 
    const object = {foo: {bar: 'a'}};
    dotProp.set(object, 'foo.bar', 'b');
    console.log(object);
    //=> {foo: {bar: 'b'}}
 
    const foo = dotProp.set({}, 'foo.bar', 'c');
    console.log(foo);
    //=> {foo: {bar: 'c'}}
 
    dotProp.set(object, 'foo.baz', 'x');
    console.log(object);
    //=> {foo: {bar: 'b', baz: 'x'}}
    ```
    */
    set<T extends {[key: string]: any}>(
        object: T,
        path: string,
        value: unknown
    ): T;
 
    /**
    @param object - Object to test the `path` value.
    @param path - Path of the property in the object, using `.` to separate each nested key. Use `\\.` if you have a `.` in the key.
 
    @example
    ```
    import dotProp = require('dot-prop');
 
    dotProp.has({foo: {bar: 'unicorn'}}, 'foo.bar');
    //=> true
    ```
    */
    has(object: {[key: string]: any} | undefined, path: string): boolean;
 
    /**
    @param object - Object to delete the `path` value.
    @param path - Path of the property in the object, using `.` to separate each nested key. Use `\\.` if you have a `.` in the key.
    @returns A boolean of whether the property existed before being deleted.
 
    @example
    ```
    import dotProp = require('dot-prop');
 
    const object = {foo: {bar: 'a'}};
    dotProp.delete(object, 'foo.bar');
    console.log(object);
    //=> {foo: {}}
 
    object.foo.bar = {x: 'y', y: 'x'};
    dotProp.delete(object, 'foo.bar.x');
    console.log(object);
    //=> {foo: {bar: {y: 'x'}}}
    ```
    */
    delete(object: {[key: string]: any}, path: string): boolean;
};
 
export = dotProp;