All files / client block.js

100% Statements 12/12
100% Branches 4/4
100% Functions 1/1
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 461x 1x 1x 1x 1x 1x     39x         11x 8x 1x     8x                                                      
import { caller } from 'postmsg-rpc'
import callbackify from 'callbackify'
import { pre, post } from 'prepost'
import { preBlockToJson, blockFromJson } from '../serialization/block'
import { preCidToJson, cidToJson } from '../serialization/cid'
import { preBufferToJson } from '../serialization/buffer'
 
export default function (opts) {
  return {
    put: callbackify.variadic(
      pre(
        preBufferToJson(0),
        preBlockToJson(0),
        (...args) => {
          if (args[1] && args[1].cid) {
            args[1].cid = cidToJson(args[1].cid)
          }
 
          return args
        },
        post(
          caller('ipfs.block.put', opts),
          blockFromJson
        )
      )
    ),
    get: callbackify.variadic(
      pre(
        preBufferToJson(0),
        preCidToJson(0),
        post(
          caller('ipfs.block.get', opts),
          blockFromJson
        )
      )
    ),
    stat: callbackify.variadic(
      pre(
        preBufferToJson(0),
        preCidToJson(0),
        caller('ipfs.block.stat', opts)
      )
    )
  }
}