pigeon-lft
TypeScript icon, indicating that this package has built-in type declarations

1.3.4 • Public • Published

Pigeon Light Fast Transformer

semantic-release: javascript GitHub CI codecov contributions welcome

Get started

Installation

Using Yarn

yarn add pigeon-lft

Using NPM

npm i pigeon-lft

Why?

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

Basic using

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

Using with transform

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

Using custom regex

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

Using default values ( version: +1.3.0 )

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

After thinking more about my library's purpose, I think it doesn't need validation, if you need more features, send me an email.

Looking for performance gaps, if you find one, email me

Versions

Current Tags

Version History

Package Sidebar

Install

npm i pigeon-lft

Weekly Downloads

4

Version

1.3.4

License

ISC

Unpacked Size

14.8 kB

Total Files

15

Last publish

Collaborators

  • victorportize