@stryke/string-format 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/camel-case.cjs +1 -1
- package/dist/camel-case.mjs +1 -1
- package/dist/get-words.cjs +6 -5
- package/dist/get-words.d.ts +16 -1
- package/dist/get-words.mjs +1 -1
- package/package.json +2 -2
package/dist/camel-case.cjs
CHANGED
|
@@ -11,5 +11,5 @@ function isCamelCase(e) {
|
|
|
11
11
|
return e ? /^[a-z][a-z0-9]*$/.test(e) && _acronyms.ACRONYMS.includes(e.trim().toUpperCase()) || /^(?:[a-z][a-z0-9]*[A-Z]+)*$/.test(e) : !1;
|
|
12
12
|
}
|
|
13
13
|
function camelCase(e) {
|
|
14
|
-
return isCamelCase(e) || e === void 0 ? e : (0, _getWords.getWords)(e).map((t, s) => s === 0 ? t.trim().toLowerCase() : _acronyms.ACRONYMS.includes(t.trim().toUpperCase()) ? t.trim().toUpperCase() : t.trim().charAt(0).
|
|
14
|
+
return isCamelCase(e) || e === void 0 ? e : (0, _getWords.getWords)(e).map((t, s) => s === 0 ? t.trim().toLowerCase() : _acronyms.ACRONYMS.includes(t.trim().toUpperCase()) ? t.trim().toUpperCase() : t.trim().charAt(0).toUpperCase() + t.trim().slice(1).toLowerCase()).join("");
|
|
15
15
|
}
|
package/dist/camel-case.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ACRONYMS as r}from"./acronyms";import{getWords as a}from"./get-words";export function isCamelCase(e){return e?/^[a-z][a-z0-9]*$/.test(e)&&r.includes(e.trim().toUpperCase())||/^(?:[a-z][a-z0-9]*[A-Z]+)*$/.test(e):!1}export function camelCase(e){return isCamelCase(e)||e===void 0?e:a(e).map((t,s)=>s===0?t.trim().toLowerCase():r.includes(t.trim().toUpperCase())?t.trim().toUpperCase():t.trim().charAt(0).
|
|
1
|
+
import{ACRONYMS as r}from"./acronyms";import{getWords as a}from"./get-words";export function isCamelCase(e){return e?/^[a-z][a-z0-9]*$/.test(e)&&r.includes(e.trim().toUpperCase())||/^(?:[a-z][a-z0-9]*[A-Z]+)*$/.test(e):!1}export function camelCase(e){return isCamelCase(e)||e===void 0?e:a(e).map((t,s)=>s===0?t.trim().toLowerCase():r.includes(t.trim().toUpperCase())?t.trim().toUpperCase():t.trim().charAt(0).toUpperCase()+t.trim().slice(1).toLowerCase()).join("")}
|
package/dist/get-words.cjs
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CASE_SPLIT_PATTERN = void 0;
|
|
6
|
+
exports.RELAXED_SPLIT_PATTERN = exports.CASE_SPLIT_PATTERN = void 0;
|
|
7
7
|
exports.getWords = getWords;
|
|
8
|
-
const CASE_SPLIT_PATTERN = exports.CASE_SPLIT_PATTERN = /[A-Z]?[a-z]+|\d+|[A-Z]+(?![a-z])/g
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const CASE_SPLIT_PATTERN = exports.CASE_SPLIT_PATTERN = /[A-Z]?[a-z]+|\d+|[A-Z]+(?![a-z])/g,
|
|
9
|
+
RELAXED_SPLIT_PATTERN = exports.RELAXED_SPLIT_PATTERN = /[A-Z/.-]?[a-z/.-]+|\d+|[A-Z/.-]+(?![a-z/.-])/g;
|
|
10
|
+
function getWords(e, r = {}) {
|
|
11
|
+
if (e.length > 5e3) throw new Error("The regular expression parameter of `get-words` can't handle strings longer than 2000 characters");
|
|
12
|
+
return [...(e.match(r.split ?? (r.relaxed ? RELAXED_SPLIT_PATTERN : CASE_SPLIT_PATTERN)) ?? [])];
|
|
12
13
|
}
|
package/dist/get-words.d.ts
CHANGED
|
@@ -15,6 +15,20 @@
|
|
|
15
15
|
* // matches: ['camel', 'Case', 'HTTP', 'Request']
|
|
16
16
|
*/
|
|
17
17
|
export declare const CASE_SPLIT_PATTERN: RegExp;
|
|
18
|
+
export declare const RELAXED_SPLIT_PATTERN: RegExp;
|
|
19
|
+
/**
|
|
20
|
+
* Options for splitting a string into words
|
|
21
|
+
*/
|
|
22
|
+
export interface GetWordsOptions {
|
|
23
|
+
/**
|
|
24
|
+
* Whether to use a relaxed splitting pattern
|
|
25
|
+
*/
|
|
26
|
+
relaxed?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Custom regular expression for splitting the string
|
|
29
|
+
*/
|
|
30
|
+
split?: RegExp;
|
|
31
|
+
}
|
|
18
32
|
/**
|
|
19
33
|
* Splits a string into words using a regular expression pattern
|
|
20
34
|
*
|
|
@@ -23,6 +37,7 @@ export declare const CASE_SPLIT_PATTERN: RegExp;
|
|
|
23
37
|
* // words: ['camel', 'Case', 'HTTP', 'Request']
|
|
24
38
|
*
|
|
25
39
|
* @param str - The string to split into words
|
|
40
|
+
* @param options - Options for splitting the string
|
|
26
41
|
* @returns An array of words
|
|
27
42
|
*/
|
|
28
|
-
export declare function getWords(str: string): string[];
|
|
43
|
+
export declare function getWords(str: string, options?: GetWordsOptions): string[];
|
package/dist/get-words.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const CASE_SPLIT_PATTERN=/[A-Z]?[a-z]+|\d+|[A-Z]+(?![a-z])/g;export function getWords(r){if(
|
|
1
|
+
export const CASE_SPLIT_PATTERN=/[A-Z]?[a-z]+|\d+|[A-Z]+(?![a-z])/g,RELAXED_SPLIT_PATTERN=/[A-Z/.-]?[a-z/.-]+|\d+|[A-Z/.-]+(?![a-z/.-])/g;export function getWords(e,r={}){if(e.length>5e3)throw new Error("The regular expression parameter of `get-words` can't handle strings longer than 2000 characters");return[...e.match(r.split??(r.relaxed?RELAXED_SPLIT_PATTERN:CASE_SPLIT_PATTERN))??[]]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/string-format",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A package containing utility functions to transform strings into various formats.",
|
|
6
6
|
"repository": {
|
|
@@ -333,5 +333,5 @@
|
|
|
333
333
|
"main": "./dist/index.cjs",
|
|
334
334
|
"module": "./dist/index.mjs",
|
|
335
335
|
"types": "./dist/index.d.ts",
|
|
336
|
-
"gitHead": "
|
|
336
|
+
"gitHead": "f19ec64d220a861067c35ef848cfc858ac210b94"
|
|
337
337
|
}
|