UNPKG

@thi.ng/proctext

Version:

Extensible procedural text generation engine with dynamic, mutable state, indirection, randomizable & recursive variable expansions

84 lines 3.97 kB
import type { GeneratorContext } from "./api.js"; export declare const CyclicReferenceError: { new (msg?: string | undefined): { origMessage: string; name: string; message: string; stack?: string; cause?: unknown; }; captureStackTrace(targetObject: object, constructorOpt?: Function): void; prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any; stackTraceLimit: number; }; export declare const UnknownModifierError: { new (msg?: string | undefined): { origMessage: string; name: string; message: string; stack?: string; cause?: unknown; }; captureStackTrace(targetObject: object, constructorOpt?: Function): void; prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any; stackTraceLimit: number; }; export declare const UnknownVariableError: { new (msg?: string | undefined): { origMessage: string; name: string; message: string; stack?: string; cause?: unknown; }; captureStackTrace(targetObject: object, constructorOpt?: Function): void; prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any; stackTraceLimit: number; }; /** * Default variable modifiers * * @remarks * Current list: * * - `cap`: capitalize body * - `uc`: uppercase * - `lc`: lowercase * - `isAre`: append `is` or `are` verb (naive, english only) * - `withArticle`: prepend `a` or `an` article (naive, english only) */ export declare const DEFAULT_MODIFIERS: GeneratorContext["mods"]; /** * Parser grammar rules for the custom text/DSL format used for this text * generator. These rules were created with & exported from this playground URL: * * Source: * https://demo.thi.ng/umbrella/parse-playground/#l9oCWyMgbWFpbiBwYXJzZXIgcnVsZQptYWluOiA8U1RBUlQ-ICggPGRlZj4gfCA8Y29tbWVudD4gfCA8YmluZGluZz4gfCA8d29yZD4gKSogPEVORD4gPT4gaG9pc3QgOwoKIyB2YXJpYWJsZSBkZWZpbml0aW9uCmRlZjogPFdTMD4gPExTVEFSVD4gJ1snISA8aWQ-ICddJyEgPEROTD4gKDxjb21tZW50PiB8IDx2YWx1ZT4pKyA8RE5MPiA7CmlkOiAoIDxBTFBIQV9OVU0-IHwgWy5cdTAwMmRdICkrID0-IGpvaW4gOwp2YWx1ZTogLig_KzxETkw-KSA9PiBqb2luIDsKCiMgdmFyaWFibGUgYmluZGluZ3MKYmluZGluZzogJzwnISAoPHNldHZhcj4gfCA8dmFyPikgJz4nISA9PiBob2lzdCA7CnZhcjogPGlkPiA8bW9kaWZpZXI-PyA7Cm1vZGlmaWVyOiA8bW9kaWQ-KyA7Cm1vZGlkOiAnOychIDxBTFBIQV9OVU0-KyA9PiBqb2luIDsKc2V0dmFyOiAnISc_IDxpZD4gJz0nISA8dmFyPiA7CgojIGxpbmUgY29tbWVudApjb21tZW50OiA8TFNUQVJUPiAnIycgLig_KzxETkw-KSA9PiBkaXNjYXJkIDsKCiMgdmVyYmF0aW0gdGV4dAp3b3JkOiAoIDxBTFBIQV9OVU0-IHwgWyA_IS4sJyJAIyQlJigpe307Oi8qPStcdTAwMmRcdTAwNWJcdTAwNWRcdTAwMGFdICkrID0-IGpvaW4gO6RtYWlu2gETW25hbWVdCkFsaWNlCiMgY29tbWVudCBpbnNpZGUgbGlzdApCb2IKCltwbGFjZV0KdG93bgp0aGUgd29vZHMKCiMgQ29tbWVudCBsaW5lClthY3Rpdml0eV0KY3ljbGluZyBhbmQgPGFjdC5hbHQ-Cmhpa2luZwoKT25jZSB1cG9uIGEgdGltZSwgPGhlcm8xPW5hbWU-IGFuZCA8aGVybzI9bmFtZT4gd2VudCB0byA8cGxhY2U-LiA8aGVybzE-IHRoZW4gZGlkIHNvbWUgPGFjdGl2aXR5PiwgYnV0IDxoZXJvMj4gY2hvc2UgdG8gZG8gPGFjdGl2aXR5O3VjPiBpbnN0ZWFkLgoKVGhlIGVuZC6goKCg */ export declare const GRAMMAR: import("@thi.ng/parse").Language | undefined; /** * Main text generation function. First parses input string, then (if there were * no parse errors) traverses the document AST and generates text according to * the rules and provided options (e.g. predefined vars, modifiers etc). Returns * promise to an object with resulting text and processing status/error. * * @remarks * If the generation was successful, the result object will also contain the * update {@link GeneratorContext}, which can then be re-used for future * invocations (i.e. to retain state between multiple generations). * * @param src * @param ctx */ export declare const generate: (src: string, ctx?: Partial<GeneratorContext>) => Promise<{ type: string; result: string; ctx: GeneratorContext; err?: undefined; } | { type: string; err: Error; result?: undefined; ctx?: undefined; }>; //# sourceMappingURL=generate.d.ts.map