harp_apps.rules.models.compilers

Inheritance diagram of harp_apps.rules.models.compilers

class BaseRuleSetCompiler[source]

Bases: object

__init__(*, levels=('default',))[source]
compile(source, /, *, target=None, level=0, _levels=None)[source]

Recursively compile a dictionary of rules.

{ pattern: … } where “…” can be another dict or a sequence of scripts (str, list of str or other things we decide can be executed (maybe strings are only a shortcut for {type: script, src: …}, we may want to have an extended dict base syntax later that can use custom implementations)).

Parameters:
classmethod compile_pattern(level, pattern)[source]
Parameters:
compile_scripts(source, /, *, level=0)[source]
Parameters:

source (list | str | Callable)

property levels