UNPKG

laravel-i18n-react

Version:

A Vite plugin to load Laravel localization files and provide them to React applications.

28 lines (27 loc) 925 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = replacer; /** * Make the place-holder replacements on a line. * * @param message * @param replacements */ function replacer(message, replacements) { if (!replacements) return message; const patterns = Object.entries(replacements).flatMap(([key, value]) => [ { pattern: new RegExp(`:${key}`, 'g'), replacement: value.toString() }, { pattern: new RegExp(`:${key.toUpperCase()}`, 'g'), replacement: value.toString().toUpperCase() }, { pattern: new RegExp(`:${capitalize(key)}`, 'g'), replacement: capitalize(value.toString()) } ]); return patterns.reduce((result, { pattern, replacement }) => result.replace(pattern, replacement), message); } /** * Capitalizing string. * * @param str */ function capitalize(str) { return str ? str[0].toUpperCase() + str.slice(1) : ''; }