Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nested tracery grammars #12

Open
OldStarchy opened this issue Mar 8, 2020 · 0 comments
Open

Nested tracery grammars #12

OldStarchy opened this issue Mar 8, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@OldStarchy
Copy link
Owner

OldStarchy commented Mar 8, 2020

A lot of responses from tracery come from a base grammar which is then cloned and the message specific details (like author) are added.

It would be a better API to be able to nest/extend the grammars per scope.

const rootTracery = new Tracery(grammar); // Compiled once

function someTimeLater(author: Author) {
    const subTracery = rootTracery.extend({ author }); // Only new grammar is compiled here
    return subTracery.generate('origin');
}

This also saves having to clone the original grammar for every response.

@OldStarchy OldStarchy added the enhancement New feature or request label Mar 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant