3.7.30 • Published 8 days ago

@thi.ng/strings v3.7.30

Weekly downloads
2,964
License
Apache-2.0
Repository
github
Last release
8 days ago

strings

npm version npm downloads Twitter Follow

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 / format
  • interpolate / interpolateKeys
  • escape / unescape
  • join / splice / split
  • repeat
  • stringify

Numeric formatters

  • radix
  • int / intLocale
  • float / floatFixedWidth
  • maybeParseFloat / maybeParseInt
  • percent
  • uuid
  • vector
  • B8 / B16 / B32 - fixed size binary formatters
  • U8 / U16 / U24 / U32 / U64 - fixed size hex formatters
  • Z2 / Z3 / Z4 - fixed sized zero padded number formatters

Casing

  • lower / upper / capitalize
  • camel / kebab / snake / upperSnake

Slugify

  • slugify / slugifyGH

ANSI

  • isAnsi / isAnsiEnd / isAnsiStart
  • stripAnsi
  • lengthAnsi

Word wrapping

  • wordWrap / wordWrapLine / wordWrapLines
  • SPLIT_PLAIN / SPLIT_ANSI

Padding / wrapping

  • center
  • padLeft / padRight
  • truncate / truncateLeft / truncateRight
  • trim
  • wrap

Indentation

  • spacesToTabs / spacesToTabsLine
  • tabsToSpaces / tabsToSpacesLine

Char range presets / lookup tables

  • charRange
  • ALPHA / ALPHA_NUM / DIGITS / LOWER / UPPER / HEX
  • BOM / ESCAPES / ESCAPES_REV
  • WS / PUNCTUATION

Units

  • units
  • bits / bytes
  • grams
  • meters
  • seconds
  • ruler / grid

Miscellaneous

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/strings

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/strings"></script>

Skypack documentation

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:

ScreenshotDescriptionLive demoSource
Basic crypto-currency candle chart with multiple moving averages plotsDemoSource
Basic SPA example with atom-based UI routerDemoSource
rstream based spreadsheet w/ S-expression formula DSLDemoSource
XML/HTML/SVG to hiccup/JS conversionDemoSource

API

Generated API docs

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

3.7.30

8 days ago

3.7.29

11 days ago

3.7.28

23 days ago

3.7.27

28 days ago

3.7.26

29 days ago

3.7.25

1 month ago

3.7.24

1 month ago

3.7.23

1 month ago

3.7.22

1 month ago

3.7.21

1 month ago

3.7.20

2 months ago

3.7.19

2 months ago

3.7.18

2 months ago

3.7.16

2 months ago

3.7.17

2 months ago

3.7.15

2 months ago

3.7.14

2 months ago

3.7.13

3 months ago

3.7.11

3 months ago

3.7.12

3 months ago

3.7.10

3 months ago

3.7.9

3 months ago

3.7.8

3 months ago

3.7.7

4 months ago

3.7.6

4 months ago

3.7.5

4 months ago

3.7.4

4 months ago

3.7.3

4 months ago

3.7.2

4 months ago

3.6.2

6 months ago

3.6.1

6 months ago

3.6.0

7 months ago

3.6.6

5 months ago

3.6.5

5 months ago

3.6.4

6 months ago

3.6.3

6 months ago

3.5.0

7 months ago

3.4.10

8 months ago

3.4.11

8 months ago

3.4.12

8 months ago

3.4.13

8 months ago

3.4.8

9 months ago

3.4.9

8 months ago

3.7.1

5 months ago

3.7.0

5 months ago

3.4.7

10 months ago

3.4.6

11 months ago

3.4.5

1 year ago

3.4.4

1 year ago

3.4.3

1 year ago

3.4.2

1 year ago

3.4.0

1 year ago

3.4.1

1 year ago

3.3.24

1 year ago

3.3.25

1 year ago

3.3.26

1 year ago

3.3.20

1 year ago

3.3.21

1 year ago

3.3.22

1 year ago

3.3.23

1 year ago

3.3.13

2 years ago

3.3.14

2 years ago

3.3.15

1 year ago

3.3.16

1 year ago

3.3.17

1 year ago

3.3.18

1 year ago

3.3.19

1 year ago

3.3.12

2 years ago

3.3.11

2 years ago

3.3.9

2 years ago

3.3.8

2 years ago

3.3.7

2 years ago

3.3.6

2 years ago

3.3.10

2 years ago

3.3.5

2 years ago

3.3.4

2 years ago

3.3.3

2 years ago

3.3.2

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.1.4

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.0

2 years ago

3.0.3

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.1.7

3 years ago

2.1.6

3 years ago

2.1.4

3 years ago

2.1.5

3 years ago

2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.15.6

3 years ago

1.15.5

3 years ago

1.15.4

3 years ago

1.15.3

3 years ago

1.15.2

3 years ago

1.15.0

3 years ago

1.14.0

3 years ago

1.13.0

3 years ago

1.12.0

3 years ago

1.11.4

3 years ago

1.11.3

3 years ago

1.11.2

3 years ago

1.11.1

3 years ago

1.11.0

3 years ago

1.10.0

4 years ago

1.9.6

4 years ago

1.9.5

4 years ago

1.9.4

4 years ago

1.9.3

4 years ago

1.9.2

4 years ago

1.9.1

4 years ago

1.9.0

4 years ago

1.8.13

4 years ago

1.8.12

4 years ago

1.8.11

4 years ago

1.8.10

4 years ago

1.8.9

4 years ago

1.8.8

4 years ago

1.8.7

4 years ago

1.8.6

4 years ago

1.8.5

4 years ago

1.8.4

4 years ago

1.8.3

4 years ago

1.8.2

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.7.0

4 years ago

1.6.0

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.2

5 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago