19 lines
756 B
TypeScript
19 lines
756 B
TypeScript
/** Entscheidung des Benutzers zu einem Duplikat bei der Aktion „An Paperless senden“. */
|
||
export type PaperlessEntscheidung =
|
||
| { aktion: 'version'; documentId: number }
|
||
| { aktion: 'verwerfen' };
|
||
|
||
/**
|
||
* Aktionen eines Abschnitts, die nach einer Duplikat-Entscheidung noch laufen:
|
||
* alles ab der ersten PAPERLESS-Aktion – die davor liefen schon beim ersten
|
||
* Durchlauf. Ohne Entscheidung oder ohne PAPERLESS-Aktion laufen alle.
|
||
*/
|
||
export function aktionenAbEntscheidung<T extends { ActionType: string }>(
|
||
aktionen: T[],
|
||
entscheidung?: PaperlessEntscheidung,
|
||
): T[] {
|
||
if (!entscheidung) return aktionen;
|
||
const start = aktionen.findIndex((a) => a.ActionType === 'PAPERLESS');
|
||
return start === -1 ? aktionen : aktionen.slice(start);
|
||
}
|