UNPKG

brogue

Version:

A Grammar based generative text library based on Tracery.

34 lines (33 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Brogue = void 0; const expand_1 = require("./expand"); const parse_1 = require("./parse"); class Brogue { loadGrammar(grammarFileName) { this.grammar = parse_1.parseGrammarFile(grammarFileName); parse_1.postParseGrammar(this.grammar); } parseGrammar(grammar) { if (typeof grammar === 'string') { this.grammar = parse_1.parseGrammarString(grammar); } else { this.grammar = parse_1.parseGrammarObject(grammar); } parse_1.postParseGrammar(this.grammar); } registerModifier(name, modifier) { if (!this.grammar) { throw new Error('No grammar loaded.'); } this.grammar.modifiers.set(name, modifier); } expand(text) { if (!this.grammar) { throw new Error('No grammar loaded.'); } return expand_1.expand(this.grammar, text); } } exports.Brogue = Brogue;