Socket
Socket
Sign inDemoInstall

change-case

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

change-case - npm Package Compare versions

Comparing version 5.0.2 to 5.1.0

9

dist/index.d.ts

@@ -8,7 +8,4 @@ /**

locale?: Locale;
prefixCharacters?: string;
}
/**
* Convert a string to space separated lower case (`foo bar`).
*/
export declare function noCase(input: string, options?: Options): string;
export interface SplitOptions {

@@ -22,2 +19,6 @@ separateNumbers?: boolean;

/**
* Convert a string to space separated lower case (`foo bar`).
*/
export declare function noCase(input: string, options?: Options): string;
/**
* Convert a string to camel case (`fooBar`).

@@ -24,0 +25,0 @@ */

@@ -1,9 +0,1 @@

/**
* Convert a string to space separated lower case (`foo bar`).
*/
export function noCase(input, options) {
return split(input, options)
.map(lowerFactory(options?.locale))
.join(" ");
}
// Regexps involved with splitting words in various case formats.

@@ -18,2 +10,4 @@ const SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;

const SPLIT_REPLACE_VALUE = "$1\0$2";
// The default characters to keep after transforming case.
const DEFAULT_PREFIX_CHARACTERS = "";
/**

@@ -23,6 +17,8 @@ * Split any cased input strings into an array of words.

export function split(input, options = {}) {
let result = input
const { separateNumbers } = options;
let result = input.trim();
result = result
.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)
.replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
if (options.separateNumbers) {
if (separateNumbers) {
result = result

@@ -42,19 +38,30 @@ .replace(SPLIT_NUMBER_LOWER_RE, SPLIT_REPLACE_VALUE)

end--;
// Transform each token independently.
return result.slice(start, end).split(/\0/g);
}
/**
* Convert a string to space separated lower case (`foo bar`).
*/
export function noCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
return (prefix +
split(input, options)
.map(lowerFactory(options?.locale))
.join(" "));
}
/**
* Convert a string to camel case (`fooBar`).
*/
export function camelCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
const upper = upperFactory(options?.locale);
const transform = pascalCaseTransformFactory(lower, upper);
return split(input, options)
.map((word, index) => {
if (index === 0)
return lower(word);
return transform(word, index);
})
.join("");
return (prefix +
split(input, options)
.map((word, index) => {
if (index === 0)
return lower(word);
return transform(word, index);
})
.join(""));
}

@@ -65,7 +72,7 @@ /**

export function pascalCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
const upper = upperFactory(options?.locale);
return split(input, options)
.map(pascalCaseTransformFactory(lower, upper))
.join("");
return (prefix +
split(input, options).map(pascalCaseTransformFactory(lower, upper)).join(""));
}

@@ -76,7 +83,9 @@ /**

export function pascalSnakeCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
const upper = upperFactory(options?.locale);
return split(input, options)
.map(capitalCaseTransformFactory(lower, upper))
.join("_");
return (prefix +
split(input, options)
.map(capitalCaseTransformFactory(lower, upper))
.join("_"));
}

@@ -87,7 +96,9 @@ /**

export function capitalCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
const upper = upperFactory(options?.locale);
return split(input, options)
.map(capitalCaseTransformFactory(lower, upper))
.join(" ");
return (prefix +
split(input, options)
.map(capitalCaseTransformFactory(lower, upper))
.join(" "));
}

@@ -98,4 +109,5 @@ /**

export function constantCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const upper = upperFactory(options?.locale);
return split(input, options).map(upper).join("_");
return prefix + split(input, options).map(upper).join("_");
}

@@ -106,4 +118,5 @@ /**

export function dotCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
return split(input, options).map(lower).join(".");
return prefix + split(input, options).map(lower).join(".");
}

@@ -114,4 +127,5 @@ /**

export function kebabCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
return split(input, options).map(lower).join("-");
return prefix + split(input, options).map(lower).join("-");
}

@@ -122,4 +136,5 @@ /**

export function pathCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
return split(input, options).map(lower).join("/");
return prefix + split(input, options).map(lower).join("/");
}

@@ -130,12 +145,14 @@ /**

export function sentenceCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
const upper = upperFactory(options?.locale);
const transform = capitalCaseTransformFactory(lower, upper);
return split(input, options)
.map((word, index) => {
if (index === 0)
return transform(word);
return lower(word);
})
.join(" ");
return (prefix +
split(input, options)
.map((word, index) => {
if (index === 0)
return transform(word);
return lower(word);
})
.join(" "));
}

@@ -146,4 +163,5 @@ /**

export function snakeCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
return split(input, options).map(lower).join("_");
return prefix + split(input, options).map(lower).join("_");
}

@@ -154,7 +172,9 @@ /**

export function trainCase(input, options) {
const prefix = getPrefix(input, options?.prefixCharacters);
const lower = lowerFactory(options?.locale);
const upper = upperFactory(options?.locale);
return split(input, options)
.map(capitalCaseTransformFactory(lower, upper))
.join("-");
return (prefix +
split(input, options)
.map(capitalCaseTransformFactory(lower, upper))
.join("-"));
}

@@ -181,2 +201,15 @@ function lowerFactory(locale) {

}
function getPrefix(input, prefixCharacters = DEFAULT_PREFIX_CHARACTERS) {
let prefix = "";
for (let i = 0; i < input.length; i++) {
const char = input.charAt(i);
if (prefixCharacters.includes(char)) {
prefix += char;
}
else {
break;
}
}
return prefix;
}
//# sourceMappingURL=index.js.map
{
"name": "change-case",
"version": "5.0.2",
"version": "5.1.0",
"description": "Transform a string between `camelCase`, `PascalCase`, `Capital Case`, `snake_case`, `kebab-case`, `CONSTANT_CASE` and others",

@@ -5,0 +5,0 @@ "type": "module",

@@ -34,4 +34,5 @@ # Change Case

- `locale?: string[] | string | false` - lower/upper according to specified locale, defaults to host environment. Set to `false` to disable.
- `locale?: string[] | string | false` Lower/upper according to specified locale, defaults to host environment. Set to `false` to disable.
- `separateNumbers?: boolean` Splits `foo123` into `foo 123` instead of keeping them together. Defaults to `true`.
- `prefixCharacters?: string` Retain at the beginning of the string. Defaults to `""`. Example: use `"_"` to keep the underscores in `__typename`.

@@ -38,0 +39,0 @@ ### Split

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc