Source code for noisemaker.dsl

from __future__ import annotations

from typing import Any

from .builtins import defaultContext
from .evaluator import evaluate
from .parser import parse
from .tokenizer import tokenize


[docs] def parse_preset_dsl(source, context=defaultContext) -> dict[str, Any]: tokens = tokenize(source) ast = parse(tokens, enforce_preset_keys=False) result = evaluate(ast, context) assert isinstance(result, dict) return result
__all__ = [ "tokenize", "parse", "evaluate", "parse_preset_dsl", "defaultContext", ]