1.0.0 • Published 6 years ago

formatter-enhancer v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

Formatter Enhancer

A tiny utility used to enhance a formatter (e.g. an i18n formatter).

Installation

npm install formatter-enhancer

Usage

Basic Usage

import enhanceFormatter from 'formatter-enhancer';

const formatter = (message, values) => message.replace(/\{(.+?)\}/g, (_, p) => values[p]);
const enhancedFormatter = enhanceFormatter(formatter);

const message = 'Hi, {name}.';
// Hi, Lucy.
const formattedMessage1 = formatter(message, { name: 'Lucy' });
// ["Hi, ", {value: "Lucy"}, "."]
const formattedMessage2 = enhancedFormatter(message, { name: { value: 'Lucy' } });

Usage with React

import enhanceFormatter from 'formatter-enhancer';
import React from 'react';

const formatter = (message, values) => message.replace(/\{(.+?)\}/g, (_, p) => values[p]);
const enhancedFormatter = enhanceFormatter(formatter);

const message = 'Hi, {name}.';
const formattedMessage = enhancedFormatter(message, { name: <b>Lucy</b> });

// <span>Hi, <b>Lucy</b>.</span>
const element = React.createElement('span', null, ...formattedMessage);

Credits

Adapted from react-intl's FormattedMessage component.

License

MIT