Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

@thi.ng/strings

1.9.6 • Public • Published

strings

npm version npm downloads Twitter Follow

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
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/strings?module" crossorigin></script>
 
// UMD
<script src="https://unpkg.com/@thi.ng/strings/lib/index.umd.js" crossorigin></script>

Package sizes (gzipped, pre-treeshake): ESM: 2.44 KB / CJS: 2.67 KB / UMD: 2.55 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

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)

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 presets
  • U8 / 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 & suffixes
  • bits
  • bytes
  • grams
  • meters
  • seconds

String creation & editing

  • charRange
  • repeat
  • splice

Authors

Karsten Schmidt

License

© 2015 - 2020 Karsten Schmidt // Apache Software License 2.0

Install

npm i @thi.ng/strings

DownloadsWeekly Downloads

2,630

Version

1.9.6

License

Apache-2.0

Unpacked Size

106 kB

Total Files

60

Last publish

Collaborators

  • avatar