(definitions: Definitions)
| 96 | } |
| 97 | |
| 98 | export function durable<const Definitions extends ReadonlyArray<Definition>>(definitions: Definitions) { |
| 99 | return readonlyMap( |
| 100 | definitions.reduce((result, definition) => { |
| 101 | if (!definition.durable) return result |
| 102 | const key = versionedType(definition.type, definition.durable.version) |
| 103 | if (result.has(key)) throw new Error(`Duplicate durable event definition for ${key}`) |
| 104 | result.set(key, definition) |
| 105 | return result |
| 106 | }, new Map<string, Definitions[number]>()), |
| 107 | ) |
| 108 | } |
| 109 | |
| 110 | function readonlyMap<Key, Value>(map: Map<Key, Value>): ReadonlyMap<Key, Value> { |
| 111 | const result: ReadonlyMap<Key, Value> = Object.freeze({ |
nothing calls this directly
no test coverage detected