Nefarious Planetary Meddling

    name-styles
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    name-styles

    Author: James Fan (jamesfancy)

    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.

    Installation

    Install by npm/yarn

    npm add name-styles
    yarn add name-styles

    Quick Start

    Normal styles

    • camel(s), camel case
    • pascal(s), pascal case
    • kebab(s), kebab case, alias hypen()
    • snake(s), snake case
    import {
        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

    Special underscore style

    underscore style is similar to snake style, except that

    • it persists leading underscores
    • it does NOT merge middle underscores

    Note that all spaces or kebabs should be tranformed 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

    Special constant style

    CONSTANT style matchs 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 paramters? Currying can help.

    For example:

    import { constant } from "name-styles";
    const myConstant = s => constant(s, true);
    
    myConverters.push(myConstant);

    Q&A

    1. How to get a sentence style result

    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

    Install

    npm i name-styles

    DownloadsWeekly Downloads

    21

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    16.4 kB

    Total Files

    36

    Last publish

    Collaborators

    • jamesfancy