Skip to content

Commit a79d1c7

Browse files
author
Mark Lagendijk
committed
Merge pull request #6 from andrewluetgers/master
Shorter function names
2 parents 5346d2e + 4dbc651 commit a79d1c7

File tree

6 files changed

+135
-126
lines changed

6 files changed

+135
-126
lines changed

README.md

Lines changed: 97 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ Lodash mixins for (deep) object accessing / manipulation.
1818

1919
## Docs
2020
The following mixins are included in `lodash-deep`:
21+
- [_.deepSet](#_deepsetobject-propertypath-value)
22+
- [_.deepGet](#_deepgetobject-propertypath)
23+
- [_.deepOwn](#_deepownobject-propertypath)
24+
- [_.deepPluck](#_deeppluckcollection-propertypath)
2125
- [_.deepIn](#_deepinobject-propertypath)
2226
- [_.deepHas](#_deephasobject-propertypath)
23-
- [_.deepGetValue](#_deepgetvalueobject-propertypath)
24-
- [_.deepGetOwnValue](#_deepgetownvalueobject-propertypath)
25-
- [_.deepSetValue](#_deepsetvalueobject-propertypath-value)
26-
- [_.deepPluck](#_deeppluckcollection-propertypath)
2727

28-
### _.deepIn(object, propertyPath)
29-
Executes a deep check for the existence of a property in an object tree.
28+
### _.deepSet(object, propertyPath, value)
29+
Sets a value of a property in an object tree. Any missing objects will be created.
3030

3131
#### object
3232
Type: `Object`
@@ -38,31 +38,24 @@ Type: `string`
3838

3939
The dot separated propertyPath.
4040

41+
#### value
42+
Type: `*`
43+
44+
The value to set.
45+
4146
#### returns
42-
Type: `boolean`
47+
Type: `Object`
4348

4449
``` javascript
45-
var object = {
46-
level1: {
47-
level2: Object.create({
48-
level3: {
49-
value: 'value 3'
50-
}
51-
})
52-
}
53-
};
54-
_.deepIn(object, 'level1');
55-
// -> true
56-
_.deepIn(object, 'level1.level2');
57-
// -> true
58-
_.deepIn(object, 'level1.level2.level3');
59-
// -> true
60-
_.deepIn(object, 'level1.level2.level3.value');
61-
// -> true
50+
var object = {};
51+
_.deepSet(object, 'level1.level2.level3.value', 'value 3');
52+
// -> { level1: { level2: { level3: { value: 'value 3' }}}}
53+
_.deepSet(object, 'level1.level2.level3.value', 'foo');
54+
// -> { level1: { level2: { level3: { value: 'foo' }}}}
6255
```
6356

64-
### _.deepHas(object, propertyPath)
65-
Executes a deep check for the existence of a *own* property in an object tree.
57+
### _.deepGet(object, propertyPath)
58+
Retreives the value of a property in an object tree.
6659

6760
#### object
6861
Type: `Object`
@@ -75,30 +68,31 @@ Type: `string`
7568
The dot separated propertyPath.
7669

7770
#### returns
78-
Type: `boolean`
71+
Type: `*|undefined`
72+
73+
The value, or undefined if it doesn't exists.
7974
8075
``` javascript
8176
var object = {
8277
level1: {
78+
value: 'value 1',
8379
level2: Object.create({
8480
level3: {
8581
value: 'value 3'
8682
}
8783
})
8884
}
8985
};
90-
_.deepHas(object, 'level1');
91-
// -> true
92-
_.deepHas(object, 'level1.level2');
93-
// -> true
94-
_.deepHas(object, 'level1.level2.level3');
95-
// -> false
96-
_.deepHas(object, 'level1.level2.level3.value');
97-
// -> false
86+
_.deepGet(object, 'level1.value');
87+
// -> 'value 1'
88+
_.deepGet(object, 'level1.level2.level3.value');
89+
// -> 'value 3'
90+
_.deepGet(object, 'foo.bar.baz');
91+
// -> undefined
9892
```
9993
100-
### _.deepGetValue(object, propertyPath)
101-
Retreives the value of a property in an object tree.
94+
### _.deepOwn(object, propertyPath)
95+
Retreives the value of a *own* property in an object tree.
10296
10397
#### object
10498
Type: `Object`
@@ -126,53 +120,45 @@ var object = {
126120
})
127121
}
128122
};
129-
_.deepGetValue(object, 'level1.value');
123+
_.deepOwn(object, 'level1.value');
130124
// -> 'value 1'
131-
_.deepGetValue(object, 'level1.level2.level3.value');
132-
// -> 'value 3'
133-
_.deepGetValue(object, 'foo.bar.baz');
125+
_.deepOwn(object, 'level1.level2.level3.value');
126+
// -> undefined
127+
_.deepOwn(object, 'foo.bar.baz');
134128
// -> undefined
135129
```
136130

137-
### _.deepGetOwnValue(object, propertyPath)
138-
Retreives the value of a *own* property in an object tree.
131+
### _.deepPluck(collection, propertyPath)
132+
Executes a deep pluck on an collection of object trees.
139133

140-
#### object
141-
Type: `Object`
134+
#### collection
135+
Type: `Object|Array`
142136

143-
The root object of the object tree.
137+
The collection of object trees.
144138

145139
#### propertyPath
146140
Type: `string`
147141

148142
The dot separated propertyPath.
149143

150144
#### returns
151-
Type: `*|undefined`
152-
153-
The value, or undefined if it doesn't exists.
145+
Type: `Array`
154146

155147
``` javascript
156-
var object = {
157-
level1: {
158-
value: 'value 1',
159-
level2: Object.create({
160-
level3: {
161-
value: 'value 3'
162-
}
163-
})
164-
}
165-
};
166-
_.deepGetOwnValue(object, 'level1.value');
167-
// -> 'value 1'
168-
_.deepGetOwnValue(object, 'level1.level2.level3.value');
169-
// -> undefined
170-
_.deepGetOwnValue(object, 'foo.bar.baz');
171-
// -> undefined
148+
var collection = [
149+
{ level1: { level2: { level3: { value: 1 }}}},
150+
{ level1: { level2: { level3: { value: 2 }}}},
151+
{ level1: { level2: { level3: { value: 3 }}}},
152+
{ level1: { level2: { level3: { value: 4 }}}},
153+
{ level1: { level2: {} }},
154+
{}
155+
];
156+
_.deepPluck(collection, 'level1.level2.level3.value');
157+
// -> [ 1, 2, 3, 4, undefined, undefined ]
172158
```
173159

174-
### _.deepSetValue(object, propertyPath, value)
175-
Sets a value of a property in an object tree. Any missing objects will be created.
160+
### _.deepIn(object, propertyPath)
161+
Executes a deep check for the existence of a property in an object tree.
176162

177163
#### object
178164
Type: `Object`
@@ -184,47 +170,64 @@ Type: `string`
184170

185171
The dot separated propertyPath.
186172

187-
#### value
188-
Type: `*`
189-
190-
The value to set.
191-
192173
#### returns
193-
Type: `Object`
174+
Type: `boolean`
194175

195176
``` javascript
196-
var object = {};
197-
_.deepSetValue(object, 'level1.level2.level3.value', 'value 3');
198-
// -> { level1: { level2: { level3: { value: 'value 3' }}}}
199-
_.deepSetValue(object, 'level1.level2.level3.value', 'foo');
200-
// -> { level1: { level2: { level3: { value: 'foo' }}}}
177+
var object = {
178+
level1: {
179+
level2: Object.create({
180+
level3: {
181+
value: 'value 3'
182+
}
183+
})
184+
}
185+
};
186+
_.deepIn(object, 'level1');
187+
// -> true
188+
_.deepIn(object, 'level1.level2');
189+
// -> true
190+
_.deepIn(object, 'level1.level2.level3');
191+
// -> true
192+
_.deepIn(object, 'level1.level2.level3.value');
193+
// -> true
201194
```
202195

203-
### _.deepPluck(collection, propertyPath)
204-
Executes a deep pluck on an collection of object trees.
196+
### _.deepHas(object, propertyPath)
197+
Executes a deep check for the existence of a *own* property in an object tree.
205198

206-
#### collection
207-
Type: `Object|Array`
199+
#### object
200+
Type: `Object`
208201

209-
The collection of object trees.
202+
The root object of the object tree.
210203

211204
#### propertyPath
212205
Type: `string`
213206

214207
The dot separated propertyPath.
215208

216209
#### returns
217-
Type: `Array`
210+
Type: `boolean`
218211

219212
``` javascript
220-
var collection = [
221-
{ level1: { level2: { level3: { value: 1 }}}},
222-
{ level1: { level2: { level3: { value: 2 }}}},
223-
{ level1: { level2: { level3: { value: 3 }}}},
224-
{ level1: { level2: { level3: { value: 4 }}}},
225-
{ level1: { level2: {} }},
226-
{}
227-
];
228-
_.deepPluck(collection, 'level1.level2.level3.value');
229-
// -> [ 1, 2, 3, 4, undefined, undefined ]
213+
var object = {
214+
level1: {
215+
level2: Object.create({
216+
level3: {
217+
value: 'value 3'
218+
}
219+
})
220+
}
221+
};
222+
_.deepHas(object, 'level1');
223+
// -> true
224+
_.deepHas(object, 'level1.level2');
225+
// -> true
226+
_.deepHas(object, 'level1.level2.level3');
227+
// -> false
228+
_.deepHas(object, 'level1.level2.level3.value');
229+
// -> false
230230
```
231+
232+
### Function name change
233+
In version 1.2.0 function names were simplified. Backward compatibility with the old names remains in place.

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "lodash-deep",
33
"main": "lodash-deep.js",
4-
"version": "1.1.0",
4+
"version": "1.2.0",
55
"homepage": "https://github.com/marklagendijk/lodash-deep",
66
"authors": [
77
"Mark Lagendijk <[email protected]>"

lodash-deep.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
* @param {string} propertyPath - The dot separated propertyPath.
6464
* @returns {*} - The value, or undefined if it doesn't exists.
6565
*/
66-
deepGetValue: function(object, propertyPath){
66+
deepGet: function(object, propertyPath){
6767
if(_.deepIn(object, propertyPath)){
6868
return _.reduce(propertyPath.split('.'), function(object, property){
6969
return object[property];
@@ -74,12 +74,12 @@
7474
}
7575
},
7676
/**
77-
* Retreives the own value of a property in an object tree.
77+
* Retrieves the own value of a property in an object tree.
7878
* @param {Object} object - The root object of the object tree.
7979
* @param {string} propertyPath - The dot separated propertyPath.
8080
* @returns {*} - The value, or undefined if it doesn't exists.
8181
*/
82-
deepGetOwnValue: function(object, propertyPath){
82+
deepOwn: function(object, propertyPath){
8383
if(_.deepHas(object, propertyPath)){
8484
return _.reduce(propertyPath.split('.'), function(object, property){
8585
return object[property];
@@ -96,7 +96,7 @@
9696
* @param {*} value - The value to set.
9797
* @returns {Object} The object.
9898
*/
99-
deepSetValue: function(object, propertyPath, value){
99+
deepSet: function(object, propertyPath, value){
100100
var properties, property, currentObject;
101101

102102
properties = propertyPath.split('.');
@@ -126,5 +126,11 @@
126126
});
127127
}
128128
});
129+
130+
// support pre 1.2.0 function names
131+
mixins.deepSetValue = mixins.deepSet;
132+
mixins.deepGetValue = mixins.deepGet;
133+
mixins.deepGetOwnValue = mixins.deepOwn;
134+
129135
_.mixin(mixins);
130136
})();

lodash-deep.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lodash-deep",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "Lodash mixins for (deep) object accessing / manipulation.",
55
"main": "lodash-deep.js",
66
"directories": {

0 commit comments

Comments
 (0)