@ceramicnetwork/codecs
Version:
Ceramic Codecs
14 lines • 543 B
JavaScript
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