Spaces:
Sleeping
Sleeping
Download gui/frontend/node_modules/eslint/lib/shared/string-utils.js from BrianLov/guiBackend: direct link, hf CLI and curl.
- Browser
- Download file 1.55 kB
-
https://huggingface.co/spaces/BrianLov/guiBackend/resolve/main/gui/frontend/node_modules/eslint/lib/shared/string-utils.js
- Command line
-
hf download hf://spaces/BrianLov/guiBackend/gui/frontend/node_modules/eslint/lib/shared/string-utils.js
-
curl -L -o string-utils.js https://huggingface.co/spaces/BrianLov/guiBackend/resolve/main/gui/frontend/node_modules/eslint/lib/shared/string-utils.js
1.55 kB
| /** | |
| * @fileoverview Utilities to operate on strings. | |
| * @author Stephen Wade | |
| */ | |
| ; | |
| //------------------------------------------------------------------------------ | |
| // Helpers | |
| //------------------------------------------------------------------------------ | |
| // eslint-disable-next-line no-control-regex -- intentionally including control characters | |
| const ASCII_REGEX = /^[\u0000-\u007f]*$/u; | |
| /** @type {Intl.Segmenter | undefined} */ | |
| let segmenter; | |
| //------------------------------------------------------------------------------ | |
| // Public Interface | |
| //------------------------------------------------------------------------------ | |
| /** | |
| * Converts the first letter of a string to uppercase. | |
| * @param {string} string The string to operate on | |
| * @returns {string} The converted string | |
| */ | |
| function upperCaseFirst(string) { | |
| if (string.length <= 1) { | |
| return string.toUpperCase(); | |
| } | |
| return string[0].toUpperCase() + string.slice(1); | |
| } | |
| /** | |
| * Counts graphemes in a given string. | |
| * @param {string} value A string to count graphemes. | |
| * @returns {number} The number of graphemes in `value`. | |
| */ | |
| function getGraphemeCount(value) { | |
| if (ASCII_REGEX.test(value)) { | |
| return value.length; | |
| } | |
| segmenter ??= new Intl.Segmenter("en-US"); // en-US locale should be supported everywhere | |
| let graphemeCount = 0; | |
| // eslint-disable-next-line no-unused-vars -- for-of needs a variable | |
| for (const unused of segmenter.segment(value)) { | |
| graphemeCount++; | |
| } | |
| return graphemeCount; | |
| } | |
| module.exports = { | |
| upperCaseFirst, | |
| getGraphemeCount, | |
| }; | |