@thi.ng/strings v3.9.7
This project is part of the @thi.ng/umbrella monorepo.
About
Various (80+) string formatting, word wrapping & utility functions, some higher-order, some memoized.
Partially based on Clojure version of thi.ng/strf.
General
defFormat/formatinterpolate/interpolateKeysescape/unescapejoin/splice/splitrepeatstringify
Numeric formatters
radixint/intLocalefloat/floatFixedWidthmaybeParseFloat/maybeParseIntpercentuuidvectorB8/B16/B32- fixed size binary formattersU8/U16/U24/U32/U64- fixed size hex formattersZ2/Z3/Z4- fixed sized zero padded number formatters
Casing
lower/upper/capitalizecamel/kebab/snake/upperSnake
Slugify
slugify/slugifyGH
ANSI
isAnsi/isAnsiEnd/isAnsiStartstripAnsilengthAnsi
Word wrapping
wordWrap/wordWrapLine/wordWrapLinesSPLIT_PLAIN/SPLIT_ANSI
Padding / wrapping
centerpadLeft/padRighttruncate/truncateLeft/truncateRighttrimwrap
Indentation
spacesToTabs/spacesToTabsLinetabsToSpaces/tabsToSpacesLine
Char range presets / lookup tables
charRangeALPHA/ALPHA_NUM/DIGITS/LOWER/UPPER/HEXBOM/ESCAPES/ESCAPES_REVWS/PUNCTUATION
Units
unitsbits/bytesgramsmeterssecondsruler/grid
Miscellaneous
hstr- Hollerith stringscomputeCursorPos
Status
STABLE - used in production
Search or submit any issues for this package
Installation
yarn add @thi.ng/stringsES module import:
<script type="module" src="https://cdn.skypack.dev/@thi.ng/strings"></script>For Node.js REPL:
# with flag only for < v16
node --experimental-repl-await
> const strings = await import("@thi.ng/strings");Package sizes (gzipped, pre-treeshake): ESM: 4.38 KB
Dependencies
Usage examples
Several demos in this repo's /examples directory are using this package.
A selection:
| Screenshot | Description | Live demo | Source |
|---|---|---|---|
| Basic crypto-currency candle chart with multiple moving averages plots | Demo | Source | |
| Basic SPA example with atom-based UI router | Demo | Source | |
| rstream based spreadsheet w/ S-expression formula DSL | Demo | Source | |
| XML/HTML/SVG to hiccup/JS conversion | Demo | Source |
API
Basic usage examples
// create a custom string formatter
const fmt = defFormat([
"Price: ",
{ usd: "$", gbp: "£", eur: "€" },
float(2),
" (",
percent(2),
" off)"
]);
// use format
fmt("usd", 1.2345, 0.5);
// Price: $1.23 (50.00% off)
fmt("eur", 1.2345, 0.25)
// Price: €1.23 (25.00% off)Authors
Karsten Schmidt
If this project contributes to an academic publication, please cite it as:
@misc{thing-strings,
title = "@thi.ng/strings",
author = "Karsten Schmidt",
note = "https://thi.ng/strings",
year = 2015
}License
© 2015 - 2021 Karsten Schmidt // Apache Software License 2.0
10 months ago
10 months ago
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago