@michaelhartmayer/string-theory
v1.0.1
Published
StringTheory is a JavaScript library for building strings dynamically. It provides a fluent interface to add, modify, and manipulate strings in a more readable and maintainable way. It supports conditional addition, iteration over arrays, and more.
Downloads
1
Maintainers
Readme
StringTheory
NOTE: GPT made this README.md 😆 It was late. Grain of salt.
StringTheory is a JavaScript library for building strings dynamically. It provides a fluent interface to add, modify, and manipulate strings in a more readable and maintainable way. It supports conditional addition, iteration over arrays, and more.
Installation
Use the package manager npm to install StringTheory.
npm install @michaelhartmayer/string-theory
# or
yarn add @michaelhartmayer/string-theory
Usage
StringTheory provides a context that contains several methods to manipulate strings:
add(s)
: Adds a string or a function that returns a string to the current context.render()
: Returns the final string.if(condition)
: If the condition is true, returns the main context, otherwise returns a fake context that ignores all method calls until the nextif
statement.each(prefix, lines, suffix, delimiter)
: Iterates over thelines
array, adding aprefix
andsuffix
to each line, and joining them with thedelimiter
.clear()
: Clears the current string.json(o, spaces)
: Converts an object to a JSON string and adds it to the current context.n(n)
: Addsn
new lines to the current context.
Here is an example of how to use StringTheory:
const StringTheory = require('@michaelhartmayer/string-theory')
const prompt = new StringTheory()
const people = ['peter', 'paul', 'mary']
const places = {
state: 'california',
city: 'escondido'
}
const smile = cx => {
cx.n().add(';(')
cx.add(';)').n()
}
prompt.add('hello')
prompt.add('how are you')
prompt.if(true).add('nice').n()
prompt.if(false).add('shouldnt be here')
prompt.json(places).n(1)
prompt.each('- ', people, ',')
prompt.add(smile)
const r = prompt.render()
console.log(r)
This will output:
hello
how are you
nice
{
"state": "california",
"city": "escondido"
}
- peter,
- paul,
- mary,
;(
;)
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.