{"version":3,"file":"didJwkDidDocument.mjs","names":[],"sources":["../../../../../src/modules/dids/methods/jwk/didJwkDidDocument.ts"],"sourcesContent":["import { CredoError } from '../../../../error'\nimport { SECURITY_JWS_CONTEXT_URL } from '../../../vc/constants'\nimport { DidDocumentBuilder, getJsonWebKey2020 } from '../../domain'\nimport type { DidJwk } from './DidJwk'\n\nexport function getDidJwkDocument(didJwk: DidJwk) {\n  if (!didJwk.allowsEncrypting && !didJwk.allowsSigning) {\n    throw new CredoError('At least one of allowsSigning or allowsEncrypting must be enabled')\n  }\n\n  const verificationMethod = getJsonWebKey2020({\n    did: didJwk.did,\n    publicJwk: didJwk.publicJwk,\n    verificationMethodId: didJwk.verificationMethodId,\n  })\n\n  const didDocumentBuilder = new DidDocumentBuilder(didJwk.did)\n    .addContext(SECURITY_JWS_CONTEXT_URL)\n    .addVerificationMethod(verificationMethod)\n\n  if (didJwk.allowsSigning) {\n    didDocumentBuilder\n      .addAuthentication(verificationMethod.id)\n      .addAssertionMethod(verificationMethod.id)\n      .addCapabilityDelegation(verificationMethod.id)\n      .addCapabilityInvocation(verificationMethod.id)\n  }\n\n  if (didJwk.allowsEncrypting) {\n    didDocumentBuilder.addKeyAgreement(verificationMethod.id)\n  }\n\n  return didDocumentBuilder.build()\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,kBAAkB,QAAgB;CAChD,IAAI,CAAC,OAAO,oBAAoB,CAAC,OAAO,eACtC,MAAM,IAAI,WAAW,mEAAmE;CAG1F,MAAM,qBAAqB,kBAAkB;EAC3C,KAAK,OAAO;EACZ,WAAW,OAAO;EAClB,sBAAsB,OAAO;CAC/B,CAAC;CAED,MAAM,qBAAqB,IAAI,mBAAmB,OAAO,GAAG,CAAC,CAC1D,WAAW,wBAAwB,CAAC,CACpC,sBAAsB,kBAAkB;CAE3C,IAAI,OAAO,eACT,mBACG,kBAAkB,mBAAmB,EAAE,CAAC,CACxC,mBAAmB,mBAAmB,EAAE,CAAC,CACzC,wBAAwB,mBAAmB,EAAE,CAAC,CAC9C,wBAAwB,mBAAmB,EAAE;CAGlD,IAAI,OAAO,kBACT,mBAAmB,gBAAgB,mBAAmB,EAAE;CAG1D,OAAO,mBAAmB,MAAM;AAClC"}