@daiso-tech/core

0.31.0 • Public • Published

@daiso-tech/core

Installation

npm install @daiso-tech/core

Description

The library provides modular solutions for the essential features needed in modern web applications. Stop wasting time searching for packages or reinventing the wheel — this framework-agnostic library, built on adaptable components, works well with popular frameworks like Express.js, Fastify, Next.js, Nuxt.js, SvelteKit, and Remix.

Current Library Features:

  • Immutable collection components:
    • Immutable IterableCollection that simplifies working with Iterable.
    • Immutable ListCollection that simplifies working with Array.
    • Immutable AsyncIterableCollection that simplifies working with AsyncIterable.
  • LazyPromise with support for:
    • Aborting it manually by using AbortSignal.
    • Aborting it by timeout.
    • Easily retrying when it fails
  • Cache component with support for pluggable adapters.
  • Lock component with supports for pluggable adapters.
  • EventBus component with support for pluggable adapters.

In the future the following components will be added:

  • Command bus
  • Semaphore component
  • SharedLock (ReaderWriterLock) component
  • RateLimter component
  • CircuitBreaker component
  • MessageQueue component
  • TaskScheduler component
  • Notification component
  • Abstract file system component

NOTE !!: This library only supports ESM (ecmascript) module.

NOTE !!: This library is under construction and breaking changes can occur.

Inspiration

This library is inspired by Laravel and built with a modular design, so you can use only the parts you need.

It also integrates ideas from other libraries:

Visit the docs for more information!

Package Sidebar

Install

npm i @daiso-tech/core

Weekly Downloads

334

Version

0.31.0

License

Apache-2.0

Unpacked Size

1.85 MB

Total Files

831

Last publish

Collaborators

  • yousif.khalil.abdulkarim