0.0.9 • Published 3 months ago

@dr.pogodin/js-utils v0.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

JS Utils

Latest NPM Release NPM Downloads CircleCI GitHub repo stars Dr. Pogodin Studio

The aim for this repo/package is to move in from the React Utils the pieces which are not React-specific, thus are also useful cross non-React projects, and thus having them in a dedicated package will faciliate their re-use in generic JavaScript (and TypeScript) projects.

At least for the first time, all stuff moved in here will still be exposed from React Utils the same way as before, and the documentation for these pieces will be still kept at https://dr.pogodin.studio/docs/react-utils/index.html. Maybe later, time permitting, this will be documented as a stand-alone library, but prior to that it will be maintained and used as a stand-alone lib, but not very well documented as such.

Yeah, the source code will be written in TypeScript, and for the library version released to NPM it will be also compiled into plain JavaScript. Consumers of that NPM package thus will have access to both TS (/src folder) and JS (/build folder) version of the library.

Sponsor

Content

The library currently exports (links below lead to React Utils docs, but the same stuff can be imported from this @dr.pogodin/js-utils, and used in the same way):

Constants

  • SEC_MS One second expressed in milliseconds.
  • MIN_MS One minute expressed in milliseconds.
  • HOUR_MS One hour expressed in milliseconds.
  • DAY_MS One day expressed in milliseconds.
  • YEAR_MS One year expressed in milliseconds.

Functions

  • timer() Creates a Barrier which resolves after the specified timeout.
  • withRetries() Attempts a given action multiple times until its succeeds.

Classes

  • Barrier A Promise with resolve() and reject() exposed as instance methods.
  • Emitter Simple listeneable data emitter.
  • Semaphore Synchronization primitive.
  • Timer The core implementation of timer() functionality, allowing to create further customized timer objects. To be documented.