from Copilot.numericLayer.Core.SignalInsight import SignalInsight
from Copilot.numericLayer.Filters.Signal.signalBaseFilter import baseSignalFilter

class SignalFilterPipeline:

    def __init__(self, filters:list[baseSignalFilter]):
        self.filters = filters

    def should_emit(self, signal:SignalInsight):
        _should_submit = True
        for f in self.filters:
            ret = f.should_pass(signal)
            _should_submit = _should_submit and ret
    
        return _should_submit