UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

36 lines (32 loc) • 1.78 kB
import { CredoError } from "../../../../error/CredoError.mjs"; import "../../../../error/index.mjs"; import { getAlternativeDidsForNumAlgo4Did } from "./peerDidNumAlgo4.mjs"; //#region src/modules/dids/methods/peer/didPeer.ts const PEER_DID_REGEX = /^did:peer:(([01](z)([1-9a-km-zA-HJ-NP-Z]{5,200}))|(2((.[AEVID](z)([1-9a-km-zA-HJ-NP-Z]{5,200}))+(.(S)[0-9a-zA-Z=]*)*))|([4](z[1-9a-km-zA-HJ-NP-Z]{46})(:z[1-9a-km-zA-HJ-NP-Z]{6,}){0,1}))$/; function isValidPeerDid(did) { return PEER_DID_REGEX.test(did); } let PeerDidNumAlgo = /* @__PURE__ */ function(PeerDidNumAlgo) { PeerDidNumAlgo[PeerDidNumAlgo["InceptionKeyWithoutDoc"] = 0] = "InceptionKeyWithoutDoc"; PeerDidNumAlgo[PeerDidNumAlgo["GenesisDoc"] = 1] = "GenesisDoc"; PeerDidNumAlgo[PeerDidNumAlgo["MultipleInceptionKeyWithoutDoc"] = 2] = "MultipleInceptionKeyWithoutDoc"; PeerDidNumAlgo[PeerDidNumAlgo["ShortFormAndLongForm"] = 4] = "ShortFormAndLongForm"; return PeerDidNumAlgo; }({}); function getNumAlgoFromPeerDid(did) { const numAlgo = Number(did[9]); if (numAlgo !== PeerDidNumAlgo.InceptionKeyWithoutDoc && numAlgo !== PeerDidNumAlgo.GenesisDoc && numAlgo !== PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc && numAlgo !== PeerDidNumAlgo.ShortFormAndLongForm) throw new CredoError(`Invalid peer did numAlgo: ${numAlgo}`); return numAlgo; } /** * Given a peer did, returns any alternative forms equivalent to it. * * @param did * @returns array of alternative dids or undefined if not applicable */ function getAlternativeDidsForPeerDid(did) { if (getNumAlgoFromPeerDid(did) === PeerDidNumAlgo.ShortFormAndLongForm) return getAlternativeDidsForNumAlgo4Did(did); } //#endregion export { PeerDidNumAlgo, getAlternativeDidsForPeerDid, getNumAlgoFromPeerDid, isValidPeerDid }; //# sourceMappingURL=didPeer.mjs.map