<?php
declare(strict_types=1);

namespace FreshCloud\Mail\Sieve;

use FreshCloud\Mail\Sieve\SieveException;

final class SieveParser
{
    public function parse(string $script, string $name = 'unnamed'): SieveScript
    {
        $rules = array_filter(
            array_map('trim', explode("\n", $script)),
            fn ($line) => $line !== '' && !str_starts_with($line, '#')
        );

        return new SieveScript($name, $script, $rules);
    }
}