diff options
Diffstat (limited to 'lib/util.js')
-rw-r--r-- | lib/util.js | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/util.js b/lib/util.js index c6a4aa2..fb0b13f 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1,6 +1,7 @@ var pull = require('pull-stream') var cat = require('pull-cat') var h = require('hyperscript') +var b64url = require('base64-url') var u = exports u.ssbRefRegex = /((?:@|%|&|ssb:\/\/%)[A-Za-z0-9\/+]{43}=\.[\w\d]+)/g @@ -206,3 +207,13 @@ u.mergeOpts = function (a, b) { } return obj } + +u.escapeId = function (id) { + return b64url.escape(id) +} + +u.unescapeId = function (str) { + var m = /^(.)(.*)(\..*)$/.exec(str) + if (!m) return b64url.unescape(str) + return m[1] + b64url.unescape(m[2]) + m[3] +} |