taraskevizer
Version:
Канвэртацыя акадэмічнага правапісу ў клясычны
10 lines (9 loc) • 418 B
JavaScript
import { alphabets } from '../dict/index.js';
const toJ = (shortU) => 'й ' + (shortU ? 'у' : '');
export const replaceIbyJ = (ctx) => {
const { abc, j } = ctx.cfg;
if (j !== 'never' && abc !== alphabets.latinJi)
ctx.text = ctx.text.replace(/(?<=[аеёіоуыэюя] )і (ў?)/g, j === 'always'
? (_$0, $1) => toJ($1)
: ($0, $1) => (Math.random() >= 0.5 ? toJ($1) : $0));
};