(flowId: string, result: Result<void, string>)
| 707 | } |
| 708 | |
| 709 | private finishDeviceFlow(flowId: string, result: Result<void, string>): Promise<void> { |
| 710 | const flow = this.deviceFlows.get(flowId); |
| 711 | if (!flow || flow.settled) { |
| 712 | return Promise.resolve(); |
| 713 | } |
| 714 | |
| 715 | flow.settled = true; |
| 716 | clearTimeout(flow.timeout); |
| 717 | flow.abortController.abort(); |
| 718 | |
| 719 | try { |
| 720 | flow.resolveResult(result); |
| 721 | } finally { |
| 722 | if (flow.cleanupTimeout !== null) { |
| 723 | clearTimeout(flow.cleanupTimeout); |
| 724 | } |
| 725 | flow.cleanupTimeout = setTimeout(() => { |
| 726 | this.deviceFlows.delete(flowId); |
| 727 | }, COMPLETED_FLOW_TTL_MS); |
| 728 | } |
| 729 | |
| 730 | return Promise.resolve(); |
| 731 | } |
| 732 | } |
no test coverage detected