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

Commit 920e399

Browse files
author
Alan Shaw
authored
refactor: convert object API to async/await (#2666)
* refactor: convert object API to async/await * fix: object export
1 parent ed5e9ef commit 920e399

File tree

15 files changed

+383
-306
lines changed

15 files changed

+383
-306
lines changed

src/core/components/index.js

+14-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,20 @@ exports.bitswap = {
99
exports.config = require('./config')
1010
exports.id = require('./id')
1111
exports.init = require('./init')
12+
exports.object = {
13+
data: require('./object/data'),
14+
get: require('./object/get'),
15+
links: require('./object/links'),
16+
new: require('./object/new'),
17+
patch: {
18+
addLink: require('./object/patch/add-link'),
19+
appendData: require('./object/patch/append-data'),
20+
rmLink: require('./object/patch/rm-link'),
21+
setData: require('./object/patch/set-data')
22+
},
23+
put: require('./object/put'),
24+
stat: require('./object/stat')
25+
}
1226
exports.ping = require('./ping')
1327
exports.start = require('./start')
1428
exports.stop = require('./stop')
@@ -17,6 +31,5 @@ exports.version = require('./version')
1731
exports.legacy = { // TODO: these will be removed as the new API is completed
1832
dag: require('./dag'),
1933
libp2p: require('./libp2p'),
20-
object: require('./object'),
2134
pin: require('./pin')
2235
}

src/core/components/init.js

+17-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,20 @@ module.exports = ({
102102
})
103103

104104
const dag = Commands.legacy.dag({ _ipld: ipld, _preload: preload })
105-
const object = Commands.legacy.object({ _ipld: ipld, _preload: preload, dag, _gcLock: gcLock })
105+
const object = {
106+
data: Commands.object.data({ ipld, preload }),
107+
get: Commands.object.get({ ipld, preload }),
108+
links: Commands.object.links({ dag }),
109+
new: Commands.object.new({ ipld, preload }),
110+
patch: {
111+
addLink: Commands.object.patch.addLink({ ipld, gcLock, preload }),
112+
appendData: Commands.object.patch.appendData({ ipld, gcLock, preload }),
113+
rmLink: Commands.object.patch.rmLink({ ipld, gcLock, preload }),
114+
setData: Commands.object.patch.setData({ ipld, gcLock, preload })
115+
},
116+
put: Commands.object.put({ ipld, gcLock, preload }),
117+
stat: Commands.object.stat({ ipld, preload })
118+
}
106119

107120
const pinManager = new PinManager(repo, dag)
108121
await pinManager.load()
@@ -134,6 +147,7 @@ module.exports = ({
134147
initOptions: options,
135148
ipld,
136149
keychain,
150+
object,
137151
peerInfo,
138152
pinManager,
139153
preload,
@@ -276,6 +290,7 @@ function createApi ({
276290
initOptions,
277291
ipld,
278292
keychain,
293+
object,
279294
peerInfo,
280295
pinManager,
281296
preload,
@@ -302,6 +317,7 @@ function createApi ({
302317
config: Commands.config({ repo }),
303318
id: Commands.id({ peerInfo }),
304319
init: () => { throw new AlreadyInitializedError() },
320+
object,
305321
start,
306322
version: Commands.version({ repo })
307323
}

src/core/components/object.js

-302
This file was deleted.

src/core/components/object/data.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
'use strict'
2+
3+
module.exports = ({ ipld, preload }) => {
4+
const get = require('./get')({ ipld, preload })
5+
return async function data (multihash, options) {
6+
const node = await get(multihash, options)
7+
return node.Data
8+
}
9+
}

0 commit comments

Comments
 (0)