UNPKG

@ceramicnetwork/codecs

Version:

Ceramic Codecs

14 lines 543 B
import { refinement, string } from 'codeco'; const PCT_ENCODED = '(?:%[0-9a-fA-F]{2})'; const ID_CHAR = `(?:[a-zA-Z0-9._-]|${PCT_ENCODED})`; const METHOD = '([a-z0-9]+)'; const METHOD_ID = `((?:${ID_CHAR}*:)*(${ID_CHAR}+))`; const DID_MATCHER = new RegExp(`^did:${METHOD}:${METHOD_ID}$`); export function isDIDString(input) { return Boolean(input && input.match(DID_MATCHER)); } export function asDIDString(input) { return input; } export const didString = refinement(string, isDIDString, 'did-string'); //# sourceMappingURL=did.js.map