( keys: Iterable<RequestExecutionLockKey>, )
| 73 | } |
| 74 | |
| 75 | function orderRequestExecutionLockKeys( |
| 76 | keys: Iterable<RequestExecutionLockKey>, |
| 77 | ): RequestExecutionLockKey[] { |
| 78 | return Array.from(keys).sort((left, right) => { |
| 79 | const categoryOrder = lockKeyCategoryOrder(left) - lockKeyCategoryOrder(right); |
| 80 | if (categoryOrder !== 0) return categoryOrder; |
| 81 | return left.localeCompare(right); |
| 82 | }); |
| 83 | } |
| 84 | |
| 85 | function lockKeyCategoryOrder(key: RequestExecutionLockKey): number { |
| 86 | return key.startsWith('session:') ? 0 : 1; |
no test coverage detected