const validate = (message = '') => {
if (!(message || '').trim()) {
throw new SyntaxError('Message is Empty.');
}
if (typeof message !== 'string') {
throw new TypeError('Message must be a String.');
}
if (
(message.includes('{') || message.includes('}')) &&
!/{{ ?(?:- |\w+?)(, ?)?\w+? ?}}/g.test(message)
) {
throw new SyntaxError(
'Interpolation error. See: https://www.i18next.com/misc/json-format'
);
}
if (message.includes('$t(') && !/\$t\([\w]+:\w+(?:\.\w+)*\)/g.test(message)) {
throw new SyntaxError(
'Nesting error. See: https://www.i18next.com/misc/json-format'
);
}
};
module.exports = validate;