{"version":3,"file":"WebDidResolver.mjs","names":[],"sources":["../../../../../src/modules/dids/methods/web/WebDidResolver.ts"],"sourcesContent":["import { Resolver } from 'did-resolver'\nimport * as didWeb from 'web-did-resolver'\nimport type { AgentContext } from '../../../../agent'\nimport { JsonTransformer } from '../../../../utils/JsonTransformer'\nimport { DidDocument } from '../../domain'\nimport type { DidResolver } from '../../domain/DidResolver'\nimport type { DidResolutionOptions, DidResolutionResult, ParsedDid } from '../../types'\n\nexport class WebDidResolver implements DidResolver {\n  public readonly supportedMethods\n\n  public readonly allowsCaching = true\n  public readonly allowsLocalDidRecord = true\n\n  private resolver = didWeb.getResolver()\n  private didResolver = new Resolver(this.resolver)\n\n  public constructor() {\n    this.supportedMethods = Object.keys(this.resolver)\n  }\n\n  public async resolve(\n    _agentContext: AgentContext,\n    did: string,\n    _parsed: ParsedDid,\n    didResolutionOptions: DidResolutionOptions\n  ): Promise<DidResolutionResult> {\n    const result = await this.didResolver.resolve(did, didResolutionOptions)\n\n    let didDocument = null\n\n    // If the did document uses the deprecated publicKey property\n    // we map it to the newer verificationMethod property\n    if (!result.didDocument?.verificationMethod && result.didDocument?.publicKey) {\n      result.didDocument.verificationMethod = result.didDocument.publicKey\n    }\n\n    if (result.didDocument) {\n      didDocument = JsonTransformer.fromJSON(result.didDocument, DidDocument)\n    }\n\n    return {\n      ...result,\n      didDocument,\n    }\n  }\n}\n"],"mappings":";;;;;;AAQA,IAAa,iBAAb,MAAmD;CASjD,cAAqB;EANrB,KAAgB,gBAAgB;EAChC,KAAgB,uBAAuB;EAEvC,KAAQ,WAAW,OAAO,YAAY;EACtC,KAAQ,cAAc,IAAI,SAAS,KAAK,QAAQ;EAG9C,KAAK,mBAAmB,OAAO,KAAK,KAAK,QAAQ;CACnD;CAEA,MAAa,QACX,eACA,KACA,SACA,sBAC8B;EAC9B,MAAM,SAAS,MAAM,KAAK,YAAY,QAAQ,KAAK,oBAAoB;EAEvE,IAAI,cAAc;EAIlB,IAAI,CAAC,OAAO,aAAa,sBAAsB,OAAO,aAAa,WACjE,OAAO,YAAY,qBAAqB,OAAO,YAAY;EAG7D,IAAI,OAAO,aACT,cAAc,gBAAgB,SAAS,OAAO,aAAa,WAAW;EAGxE,OAAO;GACL,GAAG;GACH;EACF;CACF;AACF"}