{"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;AAChD,KAAI,CAAC,OAAO,oBAAoB,CAAC,OAAO,cACtC,OAAM,IAAI,WAAW,oEAAoE;CAG3F,MAAM,qBAAqB,kBAAkB;EAC3C,KAAK,OAAO;EACZ,WAAW,OAAO;EAClB,sBAAsB,OAAO;EAC9B,CAAC;CAEF,MAAM,qBAAqB,IAAI,mBAAmB,OAAO,IAAI,CAC1D,WAAW,yBAAyB,CACpC,sBAAsB,mBAAmB;AAE5C,KAAI,OAAO,cACT,oBACG,kBAAkB,mBAAmB,GAAG,CACxC,mBAAmB,mBAAmB,GAAG,CACzC,wBAAwB,mBAAmB,GAAG,CAC9C,wBAAwB,mBAAmB,GAAG;AAGnD,KAAI,OAAO,iBACT,oBAAmB,gBAAgB,mBAAmB,GAAG;AAG3D,QAAO,mBAAmB,OAAO"}