bowhead-js
v6.0.2
Published
Tiny string interpolation library
Downloads
11
Readme
bowhead-js
Tiny string interpolation library, written in TypeScript.
Installation
yarn add bowhead-js
Usage
import format from 'bowhead-js';
// Index-based arguments.
format('{1} {0} {1}', 1, 'haha'); // 'haha 1 haha'
// Custom functions.
format('{0|uppercase}', 'haha'); // 'HAHA'
// Plurals.
format('{0} {0|countable|fish|fishes}', '1'); // '1 fish';
format('{0} {0|countable|fish|fishes}', '2'); // '2 fishes'
format('{0} {0|countable|fish|fishes}', '0'); // '0 fishes'
// "deer" is both singular and plural.
format('{0} {0|countable|deer}', '1'); // '1 deer'
format('{0} {0|countable|deer}', '2'); // '2 deer'
Functions available
uppercase
to uppercaselowercase
to lowercasecapitalized
capitalizes first lettercountable
handles plurals
Error handling
By default, bowhead-js mutes index-out-of-range errors being thrown and returns error messages in resulting strings, you can disable this behavior by calling muteExceptions
:
import { muteExceptions } from 'bowhead-js';
format('{1} {7}', 23, 'haha'))
// Prints 'haha <7 is out of range>'
muteExceptions(false);
format('{1} {7}', 23, 'haha'))
// Error thrown.