A lightweight and fast text variable replacement
npm install pigeon-lft
!GitHub CI


Using Yarn
> yarn add pigeon-lft
Using NPM
> npm i pigeon-lft
pigeon is an alias for a message-delivering microservice we build at work, so since we need a replacement text for variables with formatter... we need a Pigeon-LFT
!meme what originated the name of the library
``javascript
const { formatTextValues } = require('pigeon-lft');
let message = 'hello, my name is {{name}} this library name is {{lib}}';
const variables = {
name: 'Victor',
lib: 'pigeon-lft',
};
message = formatTextValues(message, {variables});
// hello, my name is Victor this library name is pigeon-lft
`
`javascript
const { formatTextValues } = require('pigeon-lft');
let message = 'hello, my name is {{name}} this library name is {{lib}}';
const variables = {
name: ' Victor ',
lib: 'PIGEON-LFT',
};
const transform = {
name: (text) => text.trim(),
lib: (text) => text.toLowerCase(),
};
message = formatTextValues(message, {variables, transform});
// hello, my name is Victor this library name is pigeon-lft
`
`javascript
const { formatTextValues } = require('pigeon-lft');
let message1 = 'hello, my name is {{name}} this library name is {{lib}}';
let message2 = 'hello, my name is {[name]} this library name is {[lib]}';
let message3 = 'hello, my name is [name] this library name is [lib]';
const variables = {
name: 'Victor',
lib: 'pigeon-lft',
};
const match = /\[[^\d!"#$%&'()*+,\-.\/:;<=>?@[\]^{|}~][\w]+\]/;
message1 = formatTextValues(message1, {variables, match});
// hello, my name is {{name}} this library name is {{lib}}
message2 = formatTextValues(message2, {variables, match});
// hello, my name is {Victor} this library name is {pigeon-lft}
message3 = formatTextValues(message3, {variables, match});
// hello, my name is Victor this library name is pigeon-lft
``
`javascript
const { formatTextValues } = require('pigeon-lft');
let message = 'hello, my name is {{name}} this library name is {{lib}}';
const variables = {
name: 'Victor',
lib: 'pigeon-lft',
};
const defaultValues = {
lib: 'pigeon-lft',
};
const match = /\[[^\d!"#$%&'()*+,\-.\/:;<=>?@[\]^{|}~][\w]+\]/;
message = formatTextValues(message, {variables, defaultValues});
// hello, my name is Victor this library name is pigeon-lft
message = formatTextValues(message, {defaultValues: 'default'});
// hello, my name is default this library name is default
message = formatTextValues(message, {defaultValues: {name: 'Pigeon-LFT', lib: "Victor"}});
// hello, my name is Pigeon-LFT this library name is Victor
```