conditional-paths-action API Documentation - v1.0.0
    Preparing search index...

    Class Filter

    Main filter class that handles parsing YAML filter rules and matching files against them.

    The Filter class supports:

    • Glob pattern matching using picomatch
    • Change type filtering (added, modified, deleted, etc.)
    • Multiple patterns per filter with AND/OR logic
    • YAML anchor references for rule reuse
    const filter = new Filter(`
    src:
    - 'src/**'
    - '!**/*.test.ts'
    docs:
    - added|modified: '*.md'
    `)

    const results = filter.match(files)
    console.log(results.src) // Files matching src filter
    Index

    Constructors

    Properties

    Methods

    Constructors

    • Creates instance of Filter and loads rules from YAML if provided.

      Parameters

      • Optionalyaml: string

        Optional YAML string containing filter definitions

      • OptionalfilterConfig: FilterConfig

        Optional configuration for filter behavior

      Returns Filter

    Properties

    rules: { [key: string]: FilterRuleItem[] } = {}

    Internal storage for parsed filter rules

    filterConfig?: FilterConfig

    Optional configuration for filter behavior

    Methods

    • Load rules from YAML string.

      Parses the YAML and converts it into internal FilterRuleItem format. Supports complex rule definitions with change type restrictions and pattern arrays.

      Parameters

      • yaml: string

        YAML string containing filter definitions

      Returns void

      When YAML is invalid or has incorrect format

    • Matches files against all loaded filter rules.

      Parameters

      • files: File[]

        Array of files to test against the filters

      Returns FilterResults

      Object mapping filter names to arrays of matching files