Author: James Fan (jamesfancy@126.com)
Source: name-styles on gitee.com
A utility to convert a string into some styles: camelCase, PascalCase, kebab-case, snake_case, _underscore_case preserving leading underscores, etc.
TypeScript supported.
npm add name-styles
yarn add name-styles
camel(s)
, camel casepascal(s)
, pascal casekebab(s)
, kebab case, alias hyphen()
snake(s)
, snake caseimport {
camel,
pascal,
kebab,
snake
} from "name-styles";
const s = "Hello Name-Styles";
camel(s);
// helloNameStyles
pascal(s);
// HelloNameStyles
kebab(s);
// hello-name-styles
snake(s);
// hello_name_styles
underscore style is similar to snake style, except that
Note that all spaces or kebabs should be transformed to underscore, and leading ones are kept.
For example:
import { snake, underscore } from "name-styles";
const s = "-hello-world by--james";
snake(s);
// hello_world_by_james
underscore(s);
// _hello_world_by__james
CONSTANT style matches C/C++ constant convention.
It support two style constant which predicate by the second parameter. The first style is like snake except all letters are upper case. Another style is like underscore except all letters are upper case. The first style is default style.
For example:
import { constant } from "name-styles";
const s = "-hello-world by--james";
constant(s);
// HELLO_WORLD_BY_JAMES
constant(s, true);
// _HELLO_WORLD_BY__JAMES
How can I use the second style in the uniform interface with only one parameters? Currying can help.
For example:
import { constant } from "name-styles";
const myConstant = s => constant(s, true);
myConverters.push(myConstant);
The string in kebab or snake style can be easily converted to sentence style
const { kebab } from "name-styles";
const s = "ThisIsASentence";
const sentence = kebab(s)
.replace(/-/g, " ")
.replace(/^./, ch => ch.toUpperCase());
// This is a sentence
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。