Apep-std-vars
Common generators and combinators for working with variables in Apep Javascript text generation library.
Usage
$ npm install apep-std-vars
You can either use apep-std-vars
as its own include:
const pep = ;const pep_vars = ; const p = pep_vars;
Or by extending an Apep instance:
let pep = ;pep = pep; const p = pep;
Extension does not alter the original Apep include but creates a simple proxy that also has the std-var functionality.
Documentation
clear(name)
Delete a variable.
name
- Variable name.
setFrom(name, generator)
Set the variable name
to the result of generator.
name
- Variable name.generator
- Generator run to produce the value.
const name = pep_vars const p = pep; p === "Affirmative, Dave. I read you. Im sorry Dave. Im afraid I cant do that."p === "Affirmative, Alice. I read you. Im sorry Alice. Im afraid I cant do that."
Always stores value as strings. The output of multiple
yielding generators are joined together into a single string value. setFrom
yields this combined value as its result.
use setFromCombined
if you need to store non-string values.
setFromCombined(f, z, name, generator)
Same behavior as setFrom
, but combines multiple yielded values with an accumulator function.
f
- Accumulator function to reduce multiple yields fromgenerator
to a single value.z
- Initial value for accumulator.name
- Variable name.generator
- Generator run to produce the value.
store(name, generator)
Get the currently stored value of a variable or compute it with a generator.
name
- Variable name.generator
- Generator run to produce the value.
// Make sure we always use the same name after computing it.const name = pep_vars const p = pep; p === "Affirmative, Dave. I read you. Im sorry Dave. Im afraid I cant do that."p === "Affirmative, Alice. I read you. Im sorry Alice. Im afraid I cant do that."
Always stores value as strings. The output of multiple
yielding generators are joined together into a single string value. store
yields this combined value as its result.
const v = pep_vars; const p = pep Array === '1.2[Object object]null' '1.2[Object object]null';
Use storeCombined
if you need to store non-string values.
storeCombined(f, z, name, generator)
Same behavior as store
, but combines multiple yielded values with an accumulator function.
f
- Accumulator function to reduce multiple yields fromgenerator
to a single value.z
- Initial value for accumulator.name
- Variable name.generator
- Generator run to produce the value.