Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
node_modules
output
test/temp
__transpiled
44 changes: 44 additions & 0 deletions helper/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const _ = require('lodash');
const sanitizeFilename = require('sanitize-filename');

function camelCase(string) {
return _.camelCase(string);
}

function pascalCase(string) {
string = _.camelCase(string);
return string.charAt(0).toUpperCase() + string.slice(1);
}

function kebabCase(string) {
return _.kebabCase(string);
}

function capitalize(string) {
return _.capitalize(string);
}

function oneLine(string) {
return string.replace(/\n/g, ' ').trim();
}

function convertToFilename(string, options = { replacement: '-', maxLength: 255 }) {
let sanitizedString = sanitizeFilename(string);

sanitizedString = sanitizedString.replace(/[\s]+/g, options.replacement);

if (sanitizedString.length > options.maxLength) {
sanitizedString = sanitizedString.slice(0, options.maxLength);
}

return sanitizedString;
}

module.exports = {
camelCase,
pascalCase,
kebabCase,
capitalize,
oneLine,
convertToFilename
};
Loading
Loading