1.0.0 • Published 6 years ago
formatter-enhancer v1.0.0
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
1.0.0
6 years ago