Package Exports
- @basd/formatter
- @basd/formatter/lib/formatter.js
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 (@basd/formatter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Formatter
A comprehensive text formatting and manipulation library written in JS. It aims to offer a simple and efficient way to format, normalize, tokenize, and filter text in various scenarios.
Installation
Install the package with:
npm install @basd/formatterUsage
First, import the Formatter library.
import Formatter from '@basd/formatter'or
const Formatter = require('@basd/formatter')Or import TextFormatter and StopWordFilter classes like this:
const { TextFormatter, StopWordFilter } = require('@basd/formatter')TextFormatter
const formatter = new TextFormatter()
console.log(formatter.normalizeSearchQuery('hello & world | earth'))
// Output: 'HELLO AND WORLD OR EARTH'
console.log(formatter.toUpperCase('hello world'))
// Output: 'HELLO WORLD'
console.log(formatter.toLowerCase('HELLO WORLD'))
// Output: 'hello world'
console.log(formatter.stripPunctuation('hello, world!'))
// Output: 'hello world'
const tokens = formatter.tokenize('This is an example.')
console.log(tokens)
// Output: ['this', 'is', 'an', 'example']StopWordFilter
const stopWordFilter = new StopWordFilter(['a', 'an', 'the'])
console.log(stopWordFilter.filter(['this', 'is', 'a', 'test']))
// Output: ['this', 'is', 'test']Documentation
TextFormatter
Methods
- normalizeSearchQuery(text: string): string
- stripPunctuation(text: string): string
- toUpperCase(text: string): string
- toLowerCase(text: string): string
- splitWords(text: string): Array<string>
- filterStopWords(words: Array<string>): Array<string>
- normalize(text: string, upper: boolean = false): string
- tokenize(text: string, filterStopWords: boolean = true): Array<string>
- setStopWords(stopWords: Array<string>): Set a new list of stop words.
StopWordFilter
Methods
- filter(words: Array<string>): Array<string>
- setStopWords(stopWords: Array<string>): Set a new list of stop words.
Static Methods
- get defaultStopWords(): Array<string>: Get the default list of stop words.
- get extendedStopWords(): Array<string>: Get an extended list of stop words. (- extendedStopWordsmust be imported or defined.)
Tests
In order to run the test suite, simply clone the repository and install its dependencies:
git clone https://gitlab.com/frenware/utils/formatter.git
cd formatter
npm installTo run the tests:
npm testContributing
Thank you! Please see our contributing guidelines for details.
Donations
If you find this project useful and want to help support further development, please send us some coin. We greatly appreciate any and all contributions. Thank you!
Bitcoin (BTC):
1JUb1yNFH6wjGekRUW6Dfgyg4J4h6wKKdFMonero (XMR):
46uV2fMZT3EWkBrGUgszJCcbqFqEvqrB4bZBJwsbx7yA8e2WBakXzJSUK8aqT4GoqERzbg4oKT2SiPeCgjzVH6VpSQ5y7KQLicense
@basd/formatter is MIT licensed.