{"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  // FIXME: Would be nice if we don't have to provide a did resolver instance\n  private _resolverInstance = new Resolver()\n  private resolver = didWeb.getResolver()\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.resolver[parsed.method](did, parsed, this._resolverInstance, 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;CAUjD,AAAO,cAAc;OAPL,gBAAgB;OAChB,uBAAuB;OAG/B,oBAAoB,IAAI,UAAU;OAClC,WAAW,OAAO,aAAa;AAGrC,OAAK,mBAAmB,OAAO,KAAK,KAAK,SAAS;;CAGpD,MAAa,QACX,eACA,KACA,QACA,sBAC8B;EAC9B,MAAM,SAAS,MAAM,KAAK,SAAS,OAAO,QAAQ,KAAK,QAAQ,KAAK,mBAAmB,qBAAqB;EAE5G,IAAI,cAAc;AAIlB,MAAI,CAAC,OAAO,aAAa,sBAAsB,OAAO,aAAa,UACjE,QAAO,YAAY,qBAAqB,OAAO,YAAY;AAG7D,MAAI,OAAO,YACT,eAAc,gBAAgB,SAAS,OAAO,aAAa,YAAY;AAGzE,SAAO;GACL,GAAG;GACH;GACD"}