(sources: Record<string, DiffSource>, descriptors?: DiffSourceDescriptor[])
| 17 | } |
| 18 | |
| 19 | function make(sources: Record<string, DiffSource>, descriptors?: DiffSourceDescriptor[]) { |
| 20 | const posted: unknown[] = [] |
| 21 | const controller = new SourceController( |
| 22 | (id) => { |
| 23 | const src = sources[id] |
| 24 | if (!src) throw new Error(`no source: ${id}`) |
| 25 | return src |
| 26 | }, |
| 27 | () => descriptors ?? Object.values(sources).map((s) => s.descriptor), |
| 28 | (m) => posted.push(m), |
| 29 | ) |
| 30 | return { controller, posted } |
| 31 | } |
| 32 | |
| 33 | const byType = (posted: unknown[], type: string) => |
| 34 | posted.filter((m): m is Record<string, unknown> => { |
no test coverage detected