check if a string is a valid ssb-reference, also parses addresses

var ref = require('ssb-ref')

//check if a string is a link (sigil ++ base64, 44 chars ++ algo tag)

//check if a string is a feed id

//check if a string is a message id

//check if a string is a blob id

//extract a ref out of a url
 == '%pGzeEydYdHjKW1iIchR0Yumydsr3QSp8+FuYcwVwi8Q=.sha256'
//url-encoding is supported
 == '%pGzeEydYdHjKW1iIchR0Yumydsr3QSp8+FuYcwVwi8Q=.sha256'



returns true if string is a either a feed, message, or blob reference. it may also include a query string at the end.

isFeed (string), isMsg(string), isBlob(string)

returns true if string is a feed id, a message id or a blob id, respectively. id must not have a query string.

isFeedId (string), isMsgId(string), isBlobId(string)

Aliases to isFeed, isMsg, isBlob

return true is a link, but may also have a query string.

normalizeChannel (string)

removes punctuation to make a standard channel name

isAddress (string | object)

returns true if string is a multiserver address, or a legacy address, or if object is a parsed legacy address (with {host, port, key} properties).

getKeyFromAddress (addr)

returns a feed id of the address in this key. (assumes there is a shs: protocol in the address, including accepts future version of shs)


returns true if invite is a valid invite, either legacy or multiserver style.

type (string)

if string is one of the formats understood by ssb-ref, then return the name of the type. otherwise return false. output may be "feed", "msg", "blob", "address", "invite" or false.

extract (string)

if string contains a ref, return just the ref, ignoring anything else.


convert a legacy address object to a valid multiserver address. note, because toLegacyAddress may throw away portions of the multiserver address, toMultiServerAddress(toLegacyAddress(addr)) might not equal addr



convert a multiserver address to a legacy address object.

parseLegacyInvite (string)

return the components of a legacy invite, same output as parseInvite

parseMultiServerInvite (string)

return the components of a multiserver invite, same output as parseInvite


returns an object of data in the invite, returning {invite,remote,key,redirect}.

note, the invite in the output is the invite as a multiserver address.


takes a multiserver address and returns {host,port,key} if it is a websockets address, ws: is included in host, or wss: if it's a secure websocket.



results matching ""

    No results matching ""