OrbitDBAddress = (address) => {
  if (address && address.protocol === 'orbitdb' && address.hash) {
    return address
  }

  const protocol = 'orbitdb'

  const hash = address.replace('/orbitdb/', '').replace('\\orbitdb\\', '')

  /**
   * Returns address as a string.
   * @typedef {Function} toString
   * @returns {string} Address as a string.
   */
  const toString = () => {
    return posixJoin('/', protocol, hash)
  }

  return {
    protocol,
    hash,
    address,
    toString
  }
}
@typedef {Object} OrbitDBAddress
@property {string} protocol Protocol prefix "/orbitdb/".
@property {string} hash The hash of the database manifest.
@property {string} address The full database address.