(event: TableEvent)
| 190 | } |
| 191 | |
| 192 | function appendMemory(event: TableEvent): TableEventEntry { |
| 193 | const stream = getMemoryStream(event.tableId) |
| 194 | const entry: TableEventEntry = { |
| 195 | eventId: stream.nextEventId++, |
| 196 | tableId: event.tableId, |
| 197 | event, |
| 198 | } |
| 199 | stream.events.push(entry) |
| 200 | if (stream.events.length > TABLE_EVENT_CAP) { |
| 201 | stream.events = stream.events.slice(-TABLE_EVENT_CAP) |
| 202 | stream.earliestEventId = stream.events[0]?.eventId |
| 203 | } |
| 204 | stream.expiresAt = Date.now() + TABLE_EVENT_TTL_SECONDS * 1000 |
| 205 | return entry |
| 206 | } |
| 207 | |
| 208 | function readMemory(tableId: string, afterEventId: number): TableEventsReadResult { |
| 209 | pruneExpiredMemoryStreams() |
no test coverage detected