These classes add the following features which the native
- Can accept tokens with spaces. Instead of throwing an error, will instead consider such input to be a space-separated list.
- Can accept multiple tokens by means of multiple parameters, arrays, nested arrays, space-separated lists, or any combination thereof.
- Supports toggling, replacing, and checking the existence of multiple tokens at once.
- Permits chained function calls when possible.
Requires Node.js 8.3.0 or above.
npm i tokenlists
The module exports an object containing three classes:
const ClassList RelList TokenList =
Each class can also be
const ClassList =const RelList =const TokenList =
TokenList is the class on which the other two are based. You probably won’t need to use
The constructors for all of the classes each accept one argument:
TokenListconstructor accepts a
ClassListconstructor accepts an
RelListconstructor accepts a DOM element with
relListsupport (such as
All three classes have the same methods.
In the function definitions below, the
...tokens parameter is a rest parameter that will accept any number of arguments. These arguments can be strings (including space-separated strings) or string arrays (including nested arrays).
- has (...tokens)
- Will return true only if all tokens are present.
- hasAny (...tokens)
- Will return true if at least one token is present.
- add (...tokens)
- remove (...tokens)
- removeIf (callback)
- removeAllExcept (...permittedTokens)
- replace (oldItems, newItems)
oldItems: A string or array of tokens.
newItems: A string or array of tokens.
- If all the
oldItemsare present, they are removed and replaced with
- toggle (...tokens)
- For each given item, removes it if it’s present, and adds it if not. Each item is toggled independently of the others.
- toggleTogether (...tokens)
- If all given tokens are present, removes all of them. Otherwise adds any that are not present. Ensures that no item is present or absent without the others.
- if (condition, thenItems, [elseItems])
condition: A boolean that determines whether or not the tokens should be present.
thenItems: A string or array of tokens.
elseItems: A string or array of tokens.
thenItems. Otherwise removes
- item (index)