Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit d5e3eb3

Browse files
refactor(config): use lodash.get .set
1 parent b14e22f commit d5e3eb3

File tree

2 files changed

+15
-40
lines changed

2 files changed

+15
-40
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@
6868
"fs-blob-store": "^5.2.1",
6969
"glob": "^7.0.3",
7070
"hapi": "^13.4.1",
71-
"ipfs-bitswap": "^0.6.0",
7271
"ipfs-api": "ipfs/js-ipfs-api#ebb7996",
72+
"ipfs-bitswap": "^0.6.0",
7373
"ipfs-block": "^0.3.0",
7474
"ipfs-block-service": "^0.4.0",
7575
"ipfs-merkle-dag": "^0.6.0",
@@ -84,8 +84,8 @@
8484
"lodash.get": "^4.3.0",
8585
"lodash.set": "^4.2.0",
8686
"mafmt": "^2.1.1",
87-
"multihashes": "^0.2.2",
8887
"multiaddr": "^2.0.2",
88+
"multihashes": "^0.2.2",
8989
"path-exists": "^3.0.0",
9090
"peer-book": "^0.3.0",
9191
"peer-id": "^0.7.0",

src/core/ipfs/config.js

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict'
22

33
const promisify = require('promisify-es6')
4+
const get = require('lodash.get')
5+
const set = require('lodash.set')
46

57
module.exports = function config (self) {
68
return {
@@ -22,22 +24,14 @@ module.exports = function config (self) {
2224
if (err) {
2325
return callback(err)
2426
}
25-
const keys = key.split('.')
26-
let finished = false
27-
keys.forEach((key) => {
28-
if (finished) {
29-
return
30-
}
31-
if (config[key]) {
32-
config = config[key]
33-
} else {
34-
finished = true
35-
callback(new Error(('Key does not exist in config')))
36-
}
37-
})
38-
if (!finished) {
39-
callback(null, config)
27+
28+
const val = get(config, key)
29+
30+
if (val === undefined) {
31+
return callback(new Error('Key does not exist in config'))
4032
}
33+
34+
callback(null, val)
4135
})
4236
}),
4337
set: promisify((key, value, callback) => {
@@ -50,33 +44,14 @@ module.exports = function config (self) {
5044
}
5145

5246
self._repo.config.get((err, config) => {
53-
const configBak = config
5447
if (err) {
5548
return callback(err)
5649
}
57-
const keys = key.split('.')
58-
let finished = false
59-
keys.forEach((key, index) => {
60-
if (finished) {
61-
return
62-
}
63-
if (config[key]) {
64-
if (index === keys.length - 1) {
65-
finished = true
66-
config[key] = value
67-
}
68-
config = config[key]
69-
} else {
70-
if (index === keys.length - 1) {
71-
finished = true
72-
config[key] = value
73-
} else {
74-
config = config[key] = {}
75-
}
76-
}
77-
})
7850

79-
self.config.replace(configBak, callback)
51+
self.config.replace(
52+
set(config, key, value),
53+
callback
54+
)
8055
})
8156
}),
8257
replace: promisify((config, callback) => {

0 commit comments

Comments
 (0)