(resolve: (value: T) => void)
| 73 | } |
| 74 | |
| 75 | function createResolveOnce<T>(resolve: (value: T) => void): ResolveOnce<T> { |
| 76 | let claimed = false |
| 77 | let delivered = false |
| 78 | return { |
| 79 | resolve(value: T) { |
| 80 | if (delivered) return |
| 81 | delivered = true |
| 82 | claimed = true |
| 83 | resolve(value) |
| 84 | }, |
| 85 | isResolved() { |
| 86 | return claimed |
| 87 | }, |
| 88 | claim() { |
| 89 | if (claimed) return false |
| 90 | claimed = true |
| 91 | return true |
| 92 | }, |
| 93 | } |
| 94 | } |
| 95 | |
| 96 | function createPermissionContext( |
| 97 | tool: ToolType, |
no outgoing calls
no test coverage detected