@thi.ng/proctext
Version:
Extensible procedural text generation engine with dynamic, mutable state, indirection, randomizable & recursive variable expansions
84 lines • 3.97 kB
TypeScript
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