Files
reflector/aws/lambda-nodejs18.x/UpdateZulipStreams/node_modules/decamelize/index.js
2023-11-20 21:39:33 +07:00

13 lines
446 B
JavaScript

'use strict';
module.exports = (text, separator = '_') => {
if (!(typeof text === 'string' && typeof separator === 'string')) {
throw new TypeError('The `text` and `separator` arguments should be of type `string`');
}
return text
.replace(/([\p{Lowercase_Letter}\d])(\p{Uppercase_Letter})/gu, `$1${separator}$2`)
.replace(/(\p{Uppercase_Letter}+)(\p{Uppercase_Letter}\p{Lowercase_Letter}+)/gu, `$1${separator}$2`)
.toLowerCase();
};