JSPM

  • Created
  • Published
  • Downloads 77
  • Score
    100M100P100Q83368F
  • License Apache-2.0

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

Package Exports

  • @daiso-tech/core/async
  • @daiso-tech/core/cache
  • @daiso-tech/core/cache/adapters
  • @daiso-tech/core/cache/contracts
  • @daiso-tech/core/cache/test-utilities
  • @daiso-tech/core/collection
  • @daiso-tech/core/collection/contracts
  • @daiso-tech/core/event-bus
  • @daiso-tech/core/event-bus/adapters
  • @daiso-tech/core/event-bus/contracts
  • @daiso-tech/core/event-bus/test-utilities
  • @daiso-tech/core/lock
  • @daiso-tech/core/lock/adapters
  • @daiso-tech/core/lock/contracts
  • @daiso-tech/core/lock/test-utilities
  • @daiso-tech/core/serde
  • @daiso-tech/core/serde/adapters
  • @daiso-tech/core/serde/contracts
  • @daiso-tech/core/serde/test-utilities
  • @daiso-tech/core/utilities

Readme

@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!