@stryke/string-format 0.6.1 → 0.7.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/acronyms.cjs +1 -1
- package/dist/acronyms.mjs +1 -1
- package/dist/camel-case.cjs +2 -1
- package/dist/camel-case.mjs +1 -1
- package/dist/pascal-case.cjs +3 -2
- package/dist/pascal-case.mjs +1 -1
- package/dist/period-split.cjs +8 -3
- package/dist/period-split.d.ts +10 -0
- package/dist/period-split.mjs +1 -1
- package/dist/title-case.cjs +2 -1
- package/dist/title-case.mjs +1 -1
- package/package.json +3 -3
package/dist/acronyms.cjs
CHANGED
|
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ACRONYMS = void 0;
|
|
7
|
-
const ACRONYMS = exports.ACRONYMS = ["3D", "4D", "5G", "6G", "7G", "8G", "ACID", "AES", "AI", "AJAX", "API", "AR", "ASCII", "B2B", "B2C", "BFF", "BI", "BIOS", "BGP", "BOM", "BYOD", "C2C", "CAGR", "CAPTCHA", "CD", "CDN", "CDP", "CI", "CI/CD", "CIAM", "CICD", "CLI", "CMDB", "CORS", "CPU", "CRUD", "CSR", "CSS", "CX", "DAG", "DBMS", "DDoS", "DNS", "DNSSEC", "DOM", "DSN", "DR", "DRM", "DWH", "E2E", "EAI", "EKS", "EOF", "EOD", "ETC", "ETL", "EULA", "FIDO", "FQDN", "FTP", "FaaS", "GDPR", "GCP", "GPU", "GUID", "GUI", "GZIP", "HCI", "HDD", "HDFS", "HIPAA", "HMAC", "HOTP", "HSM", "HTML", "HTTP", "HTTP/2", "HTTP/2.0", "HTTP/3", "HTTP/3.0", "HTTP2", "HTTPS", "HTTPS/2", "HTTPS/3", "HTTPS3", "IAM", "IAMM", "IAMT", "IaaS", "ID", "IMAP", "IP", "IPFS", "IoT", "JSON", "JSONP", "JWT", "K8s", "KMS", "KPI", "KV", "LAN", "LHS", "LXC", "MFA", "ML", "MLOps", "MVC", "MVP", "NAS", "NAT", "NDA", "NFS", "NIST", "NLP", "NPS", "OCR", "OEM", "OKR", "OLAP", "OLTP", "OOP", "ORM", "OS", "OSS", "OSINT", "OTP", "P2P", "PDP", "PaaS", "PCI", "PKI", "PP", "PWA", "PX", "QA", "R2", "RAID", "RAM", "RDS", "REST", "RHS", "RPC", "RPA", "RUM", "RSS", "S3", "SAN", "SASE", "SDLC", "SDK", "SEO", "SFTP", "SIEM", "SLA", "SMB", "SMTP", "SOAP", "SOC", "SOA", "SPDY", "SPF", "SQL", "SRV", "SRE", "SSH", "SSDL", "SSO", "SSL", "SSR", "TDD", "TLD", "TLS", "TLS1.3", "TOTP", "TRPC", "TTL", "UDP", "UI", "UID", "URI", "URL", "UTF", "UUID", "UX", "VM", "VLAN", "VPN", "VR", "WAF", "WAN", "WLAN", "WPA", "XACML", "XML", "XSRF", "XSS", "XR", "YAML", "ZTA"];
|
|
7
|
+
const ACRONYMS = exports.ACRONYMS = ["3D", "4D", "5G", "6G", "7G", "8G", "ACID", "AES", "AI", "AJAX", "API", "AR", "ASCII", "B2B", "B2C", "BFF", "BI", "BIOS", "BGP", "BOM", "BYOD", "C2C", "CAGR", "CAPTCHA", "CD", "CDN", "CDP", "CI", "CI/CD", "CIAM", "CICD", "CLI", "CMDB", "CORS", "CPU", "CRUD", "CSR", "CSS", "CX", "DAG", "DBMS", "DDoS", "DNS", "DNSSEC", "DOM", "DSN", "DR", "DRM", "DWH", "E2E", "EAI", "EKS", "EOF", "EOD", "ETC", "ETL", "EULA", "FIDO", "FQDN", "FTP", "FaaS", "GDPR", "GCP", "GPU", "GUID", "GUI", "GZIP", "HCI", "HDD", "HDFS", "HIPAA", "HMAC", "HOTP", "HSM", "HTML", "HTTP", "HTTP/2", "HTTP/2.0", "HTTP/3", "HTTP/3.0", "HTTP2", "HTTPS", "HTTPS/2", "HTTPS/3", "HTTPS3", "IAM", "IAMM", "IAMT", "IaaS", "ID", "IMAP", "IP", "IPFS", "IoT", "JSON", "JSONP", "JWT", "K8s", "KMS", "KPI", "KV", "LAN", "LHS", "LXC", "MFA", "ML", "MLOps", "MVC", "MVP", "NAS", "NAT", "NDA", "NFS", "NIST", "NLP", "NPS", "OCR", "OEM", "OKR", "OLAP", "OLTP", "OOP", "ORM", "OS", "OSS", "OSINT", "OTP", "P2P", "PDP", "PaaS", "PCI", "PKI", "PP", "PWA", "PX", "QA", "R2", "RAID", "RAM", "RDS", "REST", "RHS", "RPC", "RPA", "RUM", "RSS", "S3", "SAN", "SASE", "SDLC", "SDK", "SEO", "SFTP", "SIEM", "SLA", "SMB", "SMTP", "SOAP", "SOC", "SOA", "SPDY", "SPF", "SQL", "SRV", "SRE", "SSH", "SSDL", "SSO", "SSL", "SSR", "TDD", "TLD", "TLS", "TLS1.3", "TOTP", "TRPC", "TTL", "UDP", "UI", "UID", "URI", "URL", "UTF", "UUID", "UX", "VM", "VLAN", "VPN", "VR", "WAF", "WAN", "WLAN", "WPA", "XACML", "XDG", "XML", "XSRF", "XSS", "XR", "YAML", "ZTA"];
|
package/dist/acronyms.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const ACRONYMS=["3D","4D","5G","6G","7G","8G","ACID","AES","AI","AJAX","API","AR","ASCII","B2B","B2C","BFF","BI","BIOS","BGP","BOM","BYOD","C2C","CAGR","CAPTCHA","CD","CDN","CDP","CI","CI/CD","CIAM","CICD","CLI","CMDB","CORS","CPU","CRUD","CSR","CSS","CX","DAG","DBMS","DDoS","DNS","DNSSEC","DOM","DSN","DR","DRM","DWH","E2E","EAI","EKS","EOF","EOD","ETC","ETL","EULA","FIDO","FQDN","FTP","FaaS","GDPR","GCP","GPU","GUID","GUI","GZIP","HCI","HDD","HDFS","HIPAA","HMAC","HOTP","HSM","HTML","HTTP","HTTP/2","HTTP/2.0","HTTP/3","HTTP/3.0","HTTP2","HTTPS","HTTPS/2","HTTPS/3","HTTPS3","IAM","IAMM","IAMT","IaaS","ID","IMAP","IP","IPFS","IoT","JSON","JSONP","JWT","K8s","KMS","KPI","KV","LAN","LHS","LXC","MFA","ML","MLOps","MVC","MVP","NAS","NAT","NDA","NFS","NIST","NLP","NPS","OCR","OEM","OKR","OLAP","OLTP","OOP","ORM","OS","OSS","OSINT","OTP","P2P","PDP","PaaS","PCI","PKI","PP","PWA","PX","QA","R2","RAID","RAM","RDS","REST","RHS","RPC","RPA","RUM","RSS","S3","SAN","SASE","SDLC","SDK","SEO","SFTP","SIEM","SLA","SMB","SMTP","SOAP","SOC","SOA","SPDY","SPF","SQL","SRV","SRE","SSH","SSDL","SSO","SSL","SSR","TDD","TLD","TLS","TLS1.3","TOTP","TRPC","TTL","UDP","UI","UID","URI","URL","UTF","UUID","UX","VM","VLAN","VPN","VR","WAF","WAN","WLAN","WPA","XACML","XML","XSRF","XSS","XR","YAML","ZTA"];
|
|
1
|
+
export const ACRONYMS=["3D","4D","5G","6G","7G","8G","ACID","AES","AI","AJAX","API","AR","ASCII","B2B","B2C","BFF","BI","BIOS","BGP","BOM","BYOD","C2C","CAGR","CAPTCHA","CD","CDN","CDP","CI","CI/CD","CIAM","CICD","CLI","CMDB","CORS","CPU","CRUD","CSR","CSS","CX","DAG","DBMS","DDoS","DNS","DNSSEC","DOM","DSN","DR","DRM","DWH","E2E","EAI","EKS","EOF","EOD","ETC","ETL","EULA","FIDO","FQDN","FTP","FaaS","GDPR","GCP","GPU","GUID","GUI","GZIP","HCI","HDD","HDFS","HIPAA","HMAC","HOTP","HSM","HTML","HTTP","HTTP/2","HTTP/2.0","HTTP/3","HTTP/3.0","HTTP2","HTTPS","HTTPS/2","HTTPS/3","HTTPS3","IAM","IAMM","IAMT","IaaS","ID","IMAP","IP","IPFS","IoT","JSON","JSONP","JWT","K8s","KMS","KPI","KV","LAN","LHS","LXC","MFA","ML","MLOps","MVC","MVP","NAS","NAT","NDA","NFS","NIST","NLP","NPS","OCR","OEM","OKR","OLAP","OLTP","OOP","ORM","OS","OSS","OSINT","OTP","P2P","PDP","PaaS","PCI","PKI","PP","PWA","PX","QA","R2","RAID","RAM","RDS","REST","RHS","RPC","RPA","RUM","RSS","S3","SAN","SASE","SDLC","SDK","SEO","SFTP","SIEM","SLA","SMB","SMTP","SOAP","SOC","SOA","SPDY","SPF","SQL","SRV","SRE","SSH","SSDL","SSO","SSL","SSR","TDD","TLD","TLS","TLS1.3","TOTP","TRPC","TTL","UDP","UI","UID","URI","URL","UTF","UUID","UX","VM","VLAN","VPN","VR","WAF","WAN","WLAN","WPA","XACML","XDG","XML","XSRF","XSS","XR","YAML","ZTA"];
|
package/dist/camel-case.cjs
CHANGED
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.camelCase = camelCase;
|
|
7
7
|
exports.isCamelCase = isCamelCase;
|
|
8
|
+
var _acronyms = require("./acronyms.cjs");
|
|
8
9
|
var _lowerCaseFirst = require("./lower-case-first.cjs");
|
|
9
10
|
var _pascalCase = require("./pascal-case.cjs");
|
|
10
11
|
function isCamelCase(e) {
|
|
11
|
-
return e ? /^[a-z][a-
|
|
12
|
+
return e ? /^[a-z][a-z0-9]*$/.test(e) && _acronyms.ACRONYMS.includes(e) || /^(?:[a-z][a-z0-9]*[A-Z]+)*$/.test(e) : !1;
|
|
12
13
|
}
|
|
13
14
|
function camelCase(e) {
|
|
14
15
|
return isCamelCase(e) || e === void 0 ? e : (0, _lowerCaseFirst.lowerCaseFirst)((0, _pascalCase.pascalCase)(e));
|
package/dist/camel-case.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ACRONYMS as r}from"./acronyms";import{lowerCaseFirst as a}from"./lower-case-first";import{pascalCase as s}from"./pascal-case";export function isCamelCase(e){return e?/^[a-z][a-z0-9]*$/.test(e)&&r.includes(e)||/^(?:[a-z][a-z0-9]*[A-Z]+)*$/.test(e):!1}export function camelCase(e){return isCamelCase(e)||e===void 0?e:a(s(e))}
|
package/dist/pascal-case.cjs
CHANGED
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.isPascalCase = isPascalCase;
|
|
7
7
|
exports.pascalCase = pascalCase;
|
|
8
|
+
var _acronyms = require("./acronyms.cjs");
|
|
8
9
|
var _getWords = require("./get-words.cjs");
|
|
9
10
|
function isPascalCase(e) {
|
|
10
|
-
return e ? /^[A-Z][
|
|
11
|
+
return e ? /^[A-Z][A-Z0-9]*$/.test(e) && _acronyms.ACRONYMS.includes(e) || /^(?:[A-Z][A-Z0-9]*[a-z]+)*$/.test(e) : !1;
|
|
11
12
|
}
|
|
12
13
|
function pascalCase(e) {
|
|
13
|
-
return e === void 0 ? e : (0, _getWords.getWords)(e).map(
|
|
14
|
+
return isPascalCase(e) || e === void 0 ? e : (0, _getWords.getWords)(e).map(r => r.length > 0 ? r.trim().charAt(0).toUpperCase() + r.trim().slice(1).toLowerCase() : "").join("");
|
|
14
15
|
}
|
package/dist/pascal-case.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getWords as
|
|
1
|
+
import{ACRONYMS as s}from"./acronyms";import{getWords as t}from"./get-words";export function isPascalCase(e){return e?/^[A-Z][A-Z0-9]*$/.test(e)&&s.includes(e)||/^(?:[A-Z][A-Z0-9]*[a-z]+)*$/.test(e):!1}export function pascalCase(e){return isPascalCase(e)||e===void 0?e:t(e).map(r=>r.length>0?r.trim().charAt(0).toUpperCase()+r.trim().slice(1).toLowerCase():"").join("")}
|
package/dist/period-split.cjs
CHANGED
|
@@ -3,10 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.isPeriodSplit = isPeriodSplit;
|
|
6
7
|
exports.periodSplit = periodSplit;
|
|
7
8
|
var _types = require("@stryke/types");
|
|
8
9
|
var _upperCaseFirst = require("./upper-case-first.cjs");
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
function isPeriodSplit(e) {
|
|
11
|
+
return e ? /^[a-z]+(?:\.[a-z0-9]+)*$/.test(e) : !1;
|
|
12
|
+
}
|
|
13
|
+
function periodSplit(e) {
|
|
14
|
+
if (!e || isPeriodSplit(e)) return e;
|
|
15
|
+
const t = e?.replace(/[A-Z]+/g, r => (0, _upperCaseFirst.upperCaseFirst)(r) ?? _types.EMPTY_STRING)?.split(/(?=[A-Z])|[\s._-]/).map(r => r.toLowerCase()) ?? [];
|
|
16
|
+
return t.length === 0 ? "" : t.length === 1 ? t[0] : t.reduce((r, s) => `${r}.${s.toLowerCase()}`.toLowerCase());
|
|
12
17
|
}
|
package/dist/period-split.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the input string is in snake case.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Snake case is defined as all lowercase letters with underscores separating words - "this_is_an_example"
|
|
6
|
+
*
|
|
7
|
+
* @param input - The input string to check.
|
|
8
|
+
* @returns True if the input is in snake case, false otherwise.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isPeriodSplit(input: string | undefined): boolean;
|
|
1
11
|
/**
|
|
2
12
|
* Make all characters lowercase and add a period in between each word
|
|
3
13
|
*
|
package/dist/period-split.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EMPTY_STRING as n}from"@stryke/types";import{upperCaseFirst as
|
|
1
|
+
import{EMPTY_STRING as n}from"@stryke/types";import{upperCaseFirst as o}from"./upper-case-first";export function isPeriodSplit(e){return e?/^[a-z]+(?:\.[a-z0-9]+)*$/.test(e):!1}export function periodSplit(e){if(!e||isPeriodSplit(e))return e;const t=e?.replace(/[A-Z]+/g,r=>o(r)??n)?.split(/(?=[A-Z])|[\s._-]/).map(r=>r.toLowerCase())??[];return t.length===0?"":t.length===1?t[0]:t.reduce((r,s)=>`${r}.${s.toLowerCase()}`.toLowerCase())}
|
package/dist/title-case.cjs
CHANGED
|
@@ -7,6 +7,7 @@ exports.LOWER_CASE_WHEN_NOT_FIRST = exports.FORMAT_MAPPING = void 0;
|
|
|
7
7
|
exports.isTitleCase = isTitleCase;
|
|
8
8
|
exports.titleCase = titleCase;
|
|
9
9
|
var _acronyms = require("./acronyms.cjs");
|
|
10
|
+
var _getWords = require("./get-words.cjs");
|
|
10
11
|
var _upperCaseFirst = require("./upper-case-first.cjs");
|
|
11
12
|
const FORMAT_MAPPING = exports.FORMAT_MAPPING = _acronyms.ACRONYMS.reduce((e, t) => (e[t.toLowerCase()] = t, e), {
|
|
12
13
|
cspell: "CSpell",
|
|
@@ -19,6 +20,6 @@ function isTitleCase(e) {
|
|
|
19
20
|
}
|
|
20
21
|
function titleCase(e, t = {}) {
|
|
21
22
|
if (isTitleCase(e) || e === void 0) return e;
|
|
22
|
-
const s = n =>
|
|
23
|
+
const s = n => (0, _getWords.getWords)(n).filter(Boolean).map(r => r.toLowerCase()).map((r, i) => !t.skipLowerCaseWhenNotFirst && LOWER_CASE_WHEN_NOT_FIRST.includes(r.toLowerCase()) && i > 0 ? r.toLowerCase() : !t.skipFormatMapping && Object.keys(FORMAT_MAPPING).includes(r.toLowerCase()) ? FORMAT_MAPPING[r.toLowerCase()] : t.mapping && Object.keys(t.mapping).includes(r.toLowerCase()) ? t.mapping[r.toLowerCase()] : `${(0, _upperCaseFirst.upperCaseFirst)(r.toLowerCase())}`).join(" ");
|
|
23
24
|
return e.split(/\s+-\s+/).map(n => s(n)).join(" - ");
|
|
24
25
|
}
|
package/dist/title-case.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ACRONYMS as o}from"./acronyms";import{
|
|
1
|
+
import{ACRONYMS as o}from"./acronyms";import{getWords as a}from"./get-words";import{upperCaseFirst as p}from"./upper-case-first";export const FORMAT_MAPPING=o.reduce((e,t)=>(e[t.toLowerCase()]=t,e),{cspell:"CSpell",eslint:"ESLint",nx:"Nx"}),LOWER_CASE_WHEN_NOT_FIRST=["a","an","the","is","are","of","and","to","in","for","on","with","as","at","by"];export function isTitleCase(e){return e?e.split(/[\s\-_]+/).filter(Boolean).every((s,n)=>Object.values(FORMAT_MAPPING).includes(s)||n>0&&LOWER_CASE_WHEN_NOT_FIRST.includes(s.toLowerCase())&&s===s.toLowerCase()?!0:/^[A-Z][a-z0-9]*$/.test(s)):!1}export function titleCase(e,t={}){if(isTitleCase(e)||e===void 0)return e;const s=n=>a(n).filter(Boolean).map(r=>r.toLowerCase()).map((r,i)=>!t.skipLowerCaseWhenNotFirst&&LOWER_CASE_WHEN_NOT_FIRST.includes(r.toLowerCase())&&i>0?r.toLowerCase():!t.skipFormatMapping&&Object.keys(FORMAT_MAPPING).includes(r.toLowerCase())?FORMAT_MAPPING[r.toLowerCase()]:t.mapping&&Object.keys(t.mapping).includes(r.toLowerCase())?t.mapping[r.toLowerCase()]:`${p(r.toLowerCase())}`).join(" ");return e.split(/\s+-\s+/).map(n=>s(n)).join(" - ")}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/string-format",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A package containing utility functions to transform strings into various formats.",
|
|
6
6
|
"repository": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"private": false,
|
|
12
12
|
"publishConfig": { "access": "public" },
|
|
13
|
-
"dependencies": { "@stryke/helpers": "^0.7.
|
|
13
|
+
"dependencies": { "@stryke/helpers": "^0.7.2", "@stryke/types": "^0.8.8" },
|
|
14
14
|
"devDependencies": {},
|
|
15
15
|
"sideEffects": false,
|
|
16
16
|
"files": ["dist/**/*"],
|
|
@@ -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": "0f8bd54096208a17eede855ea5dfdc00ed3b2566"
|
|
337
337
|
}
|