@untemps/read-per-minute
v3.0.0
Published
Class to parse a string and return an estimated reading time based on a lang rate
Downloads
21
Maintainers
Readme
@untemps/read-per-minute
Class to parse a long text and return an estimated reading time based on a lang rate.
Installation
yarn add @untemps/read-per-minute
Usage
Import ReadPerMinute
:
import { ReadPerMinute } from '@untemps/read-per-minute'
Create an instance of ReadPerMinute
:
const rpm = new ReadPerMinute()
Call the parse
method with a string and a lang:
rpm.parse('Long text', 'en')
Get the parsed values:
const estimatedReadingTime = rpm.time
const numberOfWords = rpm.words
const langRate = rpm.rate
Alternative Use with Custom Rates
Override all the values
You can specify an entire custom rates object in the constructor of an instance:
const customRates = {
default: 220,
ar: 191,
zh: 255,
nl: 234,
en: 244,
}
const rpm = new ReadPerMinute(customRates)
NOTE: Set a default
property in the object if you want the parsing to fallback to a specific value.
Otherwise, the static value will be used (ReadPerMinute.rates.default
).
Override the value for a one-time parsing
Simply pass the desired custom reading rate in words per minute instead of a language code:
// For very fast readers: 425 words per minute.
rpm.parse('Long text', 425)
NOTE: The custom reading rate must be greater than zero or the default value will be used.
Rates
Reading rates by lang come from "How many words do we read per minute? A review and meta-analysis of reading rate" by Marc Brysbaert - Department of Experimental Psychology Ghent University
| Lang | Rate | | ------- | ---- | | default | 200 | | ar | 181 | | zh | 260 | | nl | 228 | | en | 236 | | fi | 195 | | fr | 214 | | de | 260 | | he | 224 | | it | 285 | | ko | 226 | | es | 278 | | sv | 218 |
If the lang is not listed or is undefined, the default value will be used.