Options
All
  • Public
  • Public/Protected
  • All
Menu

texting-squirrel - v1.1.0

Texting Squirrel

Module to format texts with variables and functions. It supports multiple dictionaries.

Installation

$ npm install texting-squirrel

Usage

import Text from 'texting-squirrel';

console.log(Text.format('Hi, {0}!', 'developer')); // will output Hi, developer!

Text.addDictionary('test', { module_name: 'Texting Squirrel' });
Text.setDictionary('test');

console.log(Text.get('module_name')); // will output Texting Squirrel
console.log(Text.format('I am using {module_name} module')); // will output I am using Texting Squirrel module

Mode

The text module can be set in two modes production or dev with setMode method. In the dev mode warnings are logged in console and if the text is not found in dictionary the key is returned instead of empty string.

Text functions

Functions can be registered to the module. The texts can be updated with those functions.

count(index, a, b, c)

Param Type Description
index number Index in the args of the format function
a string Text which will be returned if the value is equal to 1
b string Text which will be returned if the value is equal to 2, 3 or 4
c string Text which will be returned if the value is equal to 0 or bigger than 4

gender(index, a, b, c)

Param Type Description
index number Index in the args of the format function
a string Text which will be returned if the value is equal to male
b string Text which will be returned if the value is equal to female
c string Text which will be returned if the value is not defined or something else than male or female
import Text from 'texting-squirrel';

console.log(Text.format('{count(0, script, scripts, scripts)}', 5)); // will output 5 scripts
console.log(Text.format('{gender(0, He, She, He/She)} codes', 'female')); // will output She codes

Custom functions

Custom functions can be registered and called

Text.addFunction('date', () => new Date().toISOString());
console.log(Text.format('{date()}')); // will output [actual date in iso format]

Docs

Checkout the documentation here.

TODO

  • passing JSON in the text -> every text in braces is cleared

Generated using TypeDoc