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.1.2 to 5.2.0

17

dist/index.d.ts

@@ -6,6 +6,19 @@ /**

export type Locale = string[] | string | false | undefined;
/**
* Options used for converting strings to pascal/camel case.
*/
export interface PascalCaseOptions extends Options {
mergeAmbiguousCharacters?: boolean;
}
/**
* Options used for converting strings to any case.
*/
export interface Options extends SplitOptions {
locale?: Locale;
delimiter?: string;
prefixCharacters?: string;
}
/**
* Options used for splitting strings into word segments.
*/
export interface SplitOptions {

@@ -25,7 +38,7 @@ separateNumbers?: boolean;

*/
export declare function camelCase(input: string, options?: Options): string;
export declare function camelCase(input: string, options?: PascalCaseOptions): string;
/**
* Convert a string to pascal case (`FooBar`).
*/
export declare function pascalCase(input: string, options?: Options): string;
export declare function pascalCase(input: string, options?: PascalCaseOptions): string;
/**

@@ -32,0 +45,0 @@ * Convert a string to pascal snake case (`Foo_Bar`).

62

dist/index.js

@@ -15,4 +15,3 @@ // Regexps involved with splitting words in various case formats.

*/
export function split(input, options = {}) {
const { separateNumbers } = options;
export function split(input, options) {
let result = input.trim();

@@ -22,3 +21,3 @@ result = result

.replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
if (separateNumbers) {
if (options?.separateNumbers) {
result = result

@@ -48,3 +47,3 @@ .replace(SPLIT_NUMBER_LOWER_RE, SPLIT_REPLACE_VALUE)

.map(lowerFactory(options?.locale))
.join(" "));
.join(options?.delimiter ?? " "));
}

@@ -58,3 +57,5 @@ /**

const upper = upperFactory(options?.locale);
const transform = pascalCaseTransformFactory(lower, upper);
const transform = options?.mergeAmbiguousCharacters
? capitalCaseTransformFactory(lower, upper)
: pascalCaseTransformFactory(lower, upper);
return (prefix +

@@ -67,3 +68,3 @@ split(input, options)

})
.join(""));
.join(options?.delimiter ?? ""));
}

@@ -77,4 +78,9 @@ /**

const upper = upperFactory(options?.locale);
const transform = options?.mergeAmbiguousCharacters
? capitalCaseTransformFactory(lower, upper)
: pascalCaseTransformFactory(lower, upper);
return (prefix +
split(input, options).map(pascalCaseTransformFactory(lower, upper)).join(""));
split(input, options)
.map(transform)
.join(options?.delimiter ?? ""));
}

@@ -85,9 +91,3 @@ /**

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

@@ -104,3 +104,3 @@ /**

.map(capitalCaseTransformFactory(lower, upper))
.join(" "));
.join(options?.delimiter ?? " "));
}

@@ -112,4 +112,6 @@ /**

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

@@ -120,5 +122,3 @@ /**

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

@@ -129,5 +129,3 @@ /**

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

@@ -138,5 +136,3 @@ /**

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

@@ -158,3 +154,3 @@ /**

})
.join(" "));
.join(options?.delimiter ?? " "));
}

@@ -165,5 +161,3 @@ /**

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

@@ -174,9 +168,3 @@ /**

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

@@ -183,0 +171,0 @@ function lowerFactory(locale) {

{
"name": "change-case",
"version": "5.1.2",
"version": "5.2.0",
"description": "Transform a string between `camelCase`, `PascalCase`, `Capital Case`, `snake_case`, `kebab-case`, `CONSTANT_CASE` and others",

@@ -5,0 +5,0 @@ "keywords": [

@@ -38,6 +38,9 @@ # Change Case

- `delimiter?: string` The character to use between words. Default depends on method, e.g. `_` in snake case.
- `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`.
- `separateNumbers?: boolean` Splits `foo123` into `foo 123` instead of keeping them together. Defaults to `false`.
- `prefixCharacters?: string` Retain at the beginning of the string. Defaults to `""`. Example: use `"_"` to keep the underscores in `__typename`.
By default, `pascalCase` and `snakeCase` separate ambiguous characters with `_`. For example, `V1.2` would become `V1_2` instead of `V12`. If you prefer them merged you can set `mergeAmbiguousCharacters` to `true`.
### Split

@@ -44,0 +47,0 @@

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