code-to-title

A function for formatting code style text for display.

Usage no npm install needed!

<script type="module">
  import codeToTitle from 'https://cdn.skypack.dev/code-to-title';
</script>

README

Code To Title

This is an extremely small, zero-dependency package for formatting code-style strings to a form more suitable for being displayed.

Formatting

With all options left on default, the function in this package will:

  • Replace dashes and underscores with spaces
  • Break up instances of 'camelCase' with spaces
  • Capitalize the first letter of every word
codeToTitle("camelCase"); // "Camel Case"
codeToTitle("dash-be-gone"); // "Dash Be Gone"
codeToTitle("underscore_be_gone"); // "Underscore Be Gone"
codeToTitle("camelCase-dash_underscore"); // "Camel Case Dash Underscore"

Usage

Install the package with your preferred package manager:

yarn add code-to-title

OR

npm install code-to-title

Import/require the 'codeToTitle' function:

import codeToTitle from "code-to-title";

OR

const codeToTitle = require("code-to-title");

Then pass a string to the function

const label = codeToTitle("codeFormattedName");

Options

Extra options can be specified via an optional object second parameter:

replaceWithSpace: If provided a string or list of strings, replaces all occurrences of those strings with spaces. If given boolean true, the default value is used. If given boolean false, no characters will be replaced with spaces.

  • Expected Type(s):string | string[] | boolean
  • Default Value: ["-", "_"]
codeToTitle("space@between", { replaceWithSpace: "@" }); // "Space Between"
codeToTitle("one@two-three", { replaceWithSpace: ["@", "-"] }); // "One Two Three"
codeToTitle("hello-world", { replaceWithSpace: false }); // "Hello%world"

breakupCamelCase: If provided a string, that string will be used to breakup instances of camelCase. If provided boolean true, the default value is used. If provided boolean false instances of camelCase will be preserved.

  • Expected Type(s): string | boolean
  • Default Value:" "
codeToTitle("camelCase", { breakupCamelCase: "_" }); // "Camel_Case"
codeToTitle("varName", { breakupCamelCase: false }); // "VarName"

capitalizeWords: Whether or not to capitalize the first letter of every word. Words are defined by spaces only.

  • Expected Type(s):boolean
  • Default Value:true
codeToTitle("no caps for me", { capitalizeWords: false }); // "no caps for me"

Typescript

This package was written in typescript and type declarations are included.