comma-separated-tokens v2.0.3
comma-separated-tokens
Parse and stringify comma-separated tokens.
Contents
What is this?
This is a tiny package that can parse and stringify comma-separated tokens, as
used for example in the HTML accept
attribute, according to the
WHATWG spec.
When should I use this?
This package is rather niche, it’s low-level and particularly useful when working with hast.
Install
This package is ESM only. In Node.js (version 14.14+, 16.0+), install with npm:
npm install comma-separated-tokens
In Deno with esm.sh
:
import {parse, stringify} from 'https://esm.sh/comma-separated-tokens@2'
In browsers with esm.sh
:
<script type="module">
import {parse, stringify} from 'https://esm.sh/comma-separated-tokens@2?bundle'
</script>
Use
import {parse, stringify} from 'comma-separated-tokens'
parse(' a ,b,,d d ') //=> ['a', 'b', '', 'd d']
stringify(['a', 'b', '', 'd d']) //=> 'a, b, , d d'
API
This package exports the identifier parse
and stringify
.
There is no default export.
parse(value)
Parse commma-separated tokens (string
) to an array of strings
(Array<string>
), according to the WHATWG spec.
stringify(values[, options])
Serialize an array of strings or numbers (Array<string|number>
) to
comma-separated tokens (string
).
Handles empty items at start or end correctly.
👉 Note: it’s not possible to specify initial or final whitespace per value.
options
Configuration (optional).
options.padLeft
Whether to pad a space before a token (boolean
, default: true
).
options.padRight
Whether to pad a space after a token (boolean
, default: false
).
Types
This package is fully typed with TypeScript.
It exports the additional type Options
.
Compatibility
This package is at least compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. It also works in Deno and modern browsers.
Related
space-separated-tokens
— parse/stringify space-separated tokenscollapse-white-space
— replace multiple white-space characters with a single spaceproperty-information
— info on HTML properties
Contribute
Yes please! See How to Contribute to Open Source.
Security
This package is safe.