{"version":3,"file":"qr-keyring-scanner-bridge.cjs","sourceRoot":"","sources":["../src/qr-keyring-scanner-bridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAgBA;;;GAGG;AACH,MAAa,sBAAsB;IAGjC,YAAY,EAAE,WAAW,EAAiC;QAFjD,sDAA2D;QAGlE,uBAAA,IAAI,uCAAgB,WAAW,MAAA,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAAsB;QACtC,OAAO,uBAAA,IAAI,2CAAa,MAAjB,IAAI,EAAc,OAAO,CAAC,CAAC;IACpC,CAAC;CACF;AAhBD,wDAgBC","sourcesContent":["import type {\n  QrKeyringBridge,\n  QrScanRequest,\n  SerializedUR,\n} from './qr-keyring';\n\n/**\n * Options for the QrKeyringScannerBridge.\n */\nexport type QrKeyringScannerBridgeOptions = {\n  /**\n   * The function that the bridge will use to initiate a QR scan request.\n   */\n  requestScan: (request: QrScanRequest) => Promise<SerializedUR>;\n};\n\n/**\n * A generic transport bridge that allows the consumer to inject a scan\n * request hook at construction time.\n */\nexport class QrKeyringScannerBridge implements QrKeyringBridge {\n  readonly #requestScan: QrKeyringScannerBridgeOptions['requestScan'];\n\n  constructor({ requestScan }: QrKeyringScannerBridgeOptions) {\n    this.#requestScan = requestScan;\n  }\n\n  /**\n   * Request a QR code scan, obtaining a CBOR and a type as response.\n   *\n   * @param request - The type of QR scan request.\n   * @returns The scanned data as a serialized UR.\n   */\n  async requestScan(request: QrScanRequest): Promise<SerializedUR> {\n    return this.#requestScan(request);\n  }\n}\n"]}