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

1 lines • 2.3 kB
{"version":3,"file":"DidJwk.mjs","names":[],"sources":["../../../../../src/modules/dids/methods/jwk/DidJwk.ts"],"sourcesContent":["import { JsonEncoder } from '../../../../utils'\nimport { PublicJwk } from '../../../kms'\nimport { parseDid } from '../../domain/parse'\nimport { getDidJwkDocument } from './didJwkDidDocument'\n\nexport class DidJwk {\n private constructor(\n public readonly did: string,\n public readonly publicJwk: PublicJwk\n ) {}\n\n public get allowsEncrypting() {\n return this.publicJwk.toJson().use === 'enc' || this.publicJwk.supportedEncryptionKeyAgreementAlgorithms.length > 0\n }\n\n public get allowsSigning() {\n return this.publicJwk.toJson().use === 'sig' || this.publicJwk.supportedSignatureAlgorithms.length > 0\n }\n\n public static fromDid(did: string) {\n const parsed = parseDid(did)\n const jwkJson = JsonEncoder.fromBase64Url(parsed.id)\n\n // This validates the jwk\n const publicJwk = PublicJwk.fromUnknown(jwkJson)\n\n return new DidJwk(did, publicJwk)\n }\n\n /**\n * A did:jwk DID can only have one verification method, and the verification method\n * id will always be `<did>#0`.\n */\n public get verificationMethodId() {\n return `${this.did}#0`\n }\n\n public static fromPublicJwk(publicJwk: PublicJwk) {\n const did = `did:jwk:${JsonEncoder.toBase64Url(publicJwk.toJson({ includeKid: false }))}`\n\n return new DidJwk(did, publicJwk)\n }\n\n public get jwkJson() {\n return this.publicJwk.toJson()\n }\n\n public get didDocument() {\n return getDidJwkDocument(this)\n }\n}\n"],"mappings":";;;;;;;AAKA,IAAa,SAAb,MAAa,OAAO;CAClB,YACE,KACA,WACA;EAFgB,KAAA,MAAA;EACA,KAAA,YAAA;CACf;CAEH,IAAW,mBAAmB;EAC5B,OAAO,KAAK,UAAU,OAAO,CAAC,CAAC,QAAQ,SAAS,KAAK,UAAU,0CAA0C,SAAS;CACpH;CAEA,IAAW,gBAAgB;EACzB,OAAO,KAAK,UAAU,OAAO,CAAC,CAAC,QAAQ,SAAS,KAAK,UAAU,6BAA6B,SAAS;CACvG;CAEA,OAAc,QAAQ,KAAa;EACjC,MAAM,SAAS,SAAS,GAAG;EAC3B,MAAM,UAAU,YAAY,cAAc,OAAO,EAAE;EAGnD,MAAM,YAAY,UAAU,YAAY,OAAO;EAE/C,OAAO,IAAI,OAAO,KAAK,SAAS;CAClC;;;;;CAMA,IAAW,uBAAuB;EAChC,OAAO,GAAG,KAAK,IAAI;CACrB;CAEA,OAAc,cAAc,WAAsB;EAChD,MAAM,MAAM,WAAW,YAAY,YAAY,UAAU,OAAO,EAAE,YAAY,MAAM,CAAC,CAAC;EAEtF,OAAO,IAAI,OAAO,KAAK,SAAS;CAClC;CAEA,IAAW,UAAU;EACnB,OAAO,KAAK,UAAU,OAAO;CAC/B;CAEA,IAAW,cAAc;EACvB,OAAO,kBAAkB,IAAI;CAC/B;AACF"}