pulse/interfaces/dedup.interface.ts

20 lines
455 B
TypeScript

import type { FeedItem } from './feed.types.js';
export interface DedupError {
code: 'CACHE_ERROR' | 'UNKNOWN';
message: string;
}
export interface IDedup {
/**
* Returns only items that have not been seen before.
* Does NOT mark them as seen - call markSeen() separately.
*/
filter(items: FeedItem[]): Promise<FeedItem[]>;
/**
* Marks items as seen for future deduplication.
*/
markSeen(items: FeedItem[]): Promise<void>;
}