Files
webstudio/apps/builder/app/shared/string-utils.ts
T
Oleg IsonenandIvan Starkov 84c06569b9 Condense settings and properties tabs into one (#1902)
Closes #1880
Mostly also #1905

## Description

Merging Settings and properties


## Code Review

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-builder/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `builder/env-check.js` if mandatory

---------

Co-authored-by: Ivan Starkov <istarkov@gmail.com>
2023-07-11 22:50:26 +02:00

15 lines
416 B
TypeScript

import { noCase } from "no-case";
import { titleCase } from "title-case";
// Initialize the cache with abbreviations that don't follow the title case rules.
const cache: Map<string, string> = new Map([
["id", "ID"],
["url", "URL"],
]);
export const humanizeString = (string: string): string => {
const result = cache.get(string) ?? titleCase(noCase(string));
cache.set(string, result);
return result;
};