diff --git a/snippets/convert-string-from-camelcase.md b/snippets/convert-string-from-camelcase.md new file mode 100644 index 000000000..969be904d --- /dev/null +++ b/snippets/convert-string-from-camelcase.md @@ -0,0 +1,13 @@ +### Convert string from camelcase + +Use `replace()` to remove underscores, hyphens and spaces and convert words to camelcase. +Omit the scond argument to use a default separator of '_'. + +```js +const fromCamelCase = (str, separator = '_') => + str.replace(/([a-z\d])([A-Z])/g, '$1' + separator + '$2') + .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + separator + '$2').toLowerCase(); +// decamelize('someDatabaseFieldName', ' ') -> 'some database field name' +// decamelize('someLabelThatNeedsToBeCamelized', '-') -> 'some-label-that-needs-to-be-camelized' +// decamelize('someJavascriptProperty', '_') -> 'some_javascript_property' +``` diff --git a/snippets/decamelize.md b/snippets/decamelize.md deleted file mode 100644 index ab5ac6fa7..000000000 --- a/snippets/decamelize.md +++ /dev/null @@ -1,16 +0,0 @@ -### decamelize - -Decamelizes a string with/without a custom separator (underscore by default). - -```js -const decamelize = (str, separator) => { - separator = typeof separator === 'undefined' ? '_' : separator; - return str - .replace(/([a-z\d])([A-Z])/g, '$1' + separator + '$2') - .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + separator + '$2') - .toLowerCase(); -} -// decamelize('someDatabaseFieldName', ' ') -> 'some database field name' -// decamelize('someLabelThatNeedsToBeCamelized', '-') -> 'some-label-that-needs-to-be-camelized' -// decamelize('someJavascriptProperty', '_') -> 'some_javascript_property' -```