def to_toml()

in experimental/piranha_playground/rule_inference/utils/rule_utils.py [0:0]


    def to_toml(self):
        str_reprs = [f'name = "{self.name}"']
        if self.query:
            str_reprs.append(f'query = """{self.query}"""')
        if self.replace_node:
            str_reprs.append(f'replace_node = "{self.replace_node}"')
        if self.replace:
            str_reprs.append(f'replace = """{self.replace}"""')
        if self.groups:
            str_reprs.append(f"groups = {json.dumps(self.groups)}")
        if self.holes:
            str_reprs.append(f"holes = {json.dumps(self.holes)}")
        if self.filters:
            str_reprs.append(self._filters_to_toml())
        if not self.is_seed_rule:
            str_reprs.append(f"is_seed_rule = {str(self.is_seed_rule).lower()}")
        return "[[rules]]\n" + "\n".join(str_reprs)