Skip to content

Commit 6510eac

Browse files
committed
removed some dependencies with ~3x performance improvement
1 parent bda3498 commit 6510eac

File tree

4 files changed

+2475
-19
lines changed

4 files changed

+2475
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ node benchmark.js
5252

5353
### Results
5454
```shell
55-
$set x 26,479 ops/sec ±6.34% (78 runs sampled)
55+
$set x 84,383 ops/sec ±1.60% (81 runs sampled)
5656
```
5757

5858
## License

index.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
var assign = require('lodash.assign')
21
var merge = require('lodash.merge')
3-
var reduce = require('lodash.reduce')
4-
var concat = require('lodash.concat')
52
var traverse = require('traverse')
63

74
// List of available operations
@@ -13,12 +10,12 @@ var operations = [{
1310
}, {
1411
key: '$push',
1512
run: function (node, source) {
16-
return (source)? concat(source, [node]): [node]
13+
return (source)? source.concat(node): [node]
1714
}
1815
}, {
1916
key: '$unshift',
2017
run: function (node, source) {
21-
return (source)? concat([node], source): [node]
18+
return (source)? [node].concat(source): [node]
2219
}
2320
}, {
2421
key: '$filter',
@@ -38,7 +35,7 @@ var operations = [{
3835
}, {
3936
key: '$merge',
4037
run: function (node, source) {
41-
return merge(source, node)
38+
return merge({}, source, node)
4239
}
4340
}]
4441

@@ -66,9 +63,9 @@ module.exports = function (input, patches) {
6663
}
6764
return result
6865
}
69-
return reduce(operations, reduceOperations, node)
66+
return operations.reduce(reduceOperations, node)
7067
}
71-
return assign({}, source, tpatch.map(transformNode))
68+
return Object.assign({}, source, tpatch.map(transformNode))
7269
}
73-
return reduce(patches, apply, input)
70+
return patches.reduce(apply, input)
7471
}

0 commit comments

Comments
 (0)