@michaelhartmayer/string-theory

1.0.1 • Public • Published

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 next if statement.
  • each(prefix, lines, suffix, delimiter): Iterates over the lines array, adding a prefix and suffix to each line, and joining them with the delimiter.
  • clear(): Clears the current string.
  • json(o, spaces): Converts an object to a JSON string and adds it to the current context.
  • n(n): Adds n 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.

License

MIT

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @michaelhartmayer/string-theory

      Weekly Downloads

      0

      Version

      1.0.1

      License

      ISC

      Unpacked Size

      5.95 kB

      Total Files

      4

      Last publish

      Collaborators

      • michaelhartmayer