Package Exports
- @thi.ng/strings
- @thi.ng/strings/float
- @thi.ng/strings/pad-left
- @thi.ng/strings/pad-right
- @thi.ng/strings/repeat
- @thi.ng/strings/wrap
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@thi.ng/strings) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
This project is part of the @thi.ng/umbrella monorepo.
About
Various higher-order, configurable string formatting & utility functions, some memoized. Please sources / docstrings for now.
Partially based on Clojure version of thi.ng/strf.
Status
STABLE - used in production
Installation
yarn add @thi.ng/strings
Package sizes (gzipped, pre-treeshake): ESM: 2.32 KB / CJS: 2.55 KB / UMD: 2.42 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)
General
defFormat
format
hstr
ignore
interpolate
str
Case
camel
capitalize
kebab
lower
snake
slugify
upper
Numeric & radix-based
float
floatFixedWidth
maybeParseFloat
maybeParseInt
percent
radix
uuid
B8
/B16
/B32
- binary / bitstring presetsU8
/U16
/U24
/U32
/U64
- hex format presets (unsigned values)
Padding / truncation
center
padLeft
padRight
truncate
truncateLeft
wrap
Z2
/Z3
/Z4
- zero-pad presets
Units
units
- define new unit w/ magnitudes & suffixesbits
bytes
grams
meters
seconds
String creation & editing
charRange
repeat
splice
Authors
Karsten Schmidt
License
© 2015 - 2020 Karsten Schmidt // Apache Software License 2.0