import{RecordType,TimelineModelImpl}from"./TimelineModel.js";export class TimelineModelFilter{accept(e){return!0}}export class TimelineVisibleEventsFilter extends TimelineModelFilter{constructor(e){super(),this._visibleTypes=new Set(e)}accept(e){return this._visibleTypes.has(TimelineVisibleEventsFilter._eventType(e))}static _eventType(e){return e.hasCategory(TimelineModelImpl.Category.Console)?RecordType.ConsoleTime:e.hasCategory(TimelineModelImpl.Category.UserTiming)?RecordType.UserTiming:e.hasCategory(TimelineModelImpl.Category.LatencyInfo)?RecordType.LatencyInfo:e.name}}export class TimelineInvisibleEventsFilter extends TimelineModelFilter{constructor(e){super(),this._invisibleTypes=new Set(e)}accept(e){return!this._invisibleTypes.has(TimelineVisibleEventsFilter._eventType(e))}}export class ExclusiveNameFilter extends TimelineModelFilter{constructor(e){super(),this._excludeNames=new Set(e)}accept(e){return!this._excludeNames.has(e.name)}}