1.0.2 • Published 1 month ago

@jamilservices/sb-module-notify v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

@jamilservices/sb-module-notify

The @jamilservices/sb-module-notify provides a robust solution for managing event-driven notifications. This module encapsulates the functionality required to create, manage, and destroy notifications, ensuring a clean and maintainable interface for event handling.

SimplyBuilder SimplyBuilder SimplyBuilder - sb-module-notify GitHub License

Features

  • Centralized Event Management: Centralizes the creation and management of event listeners, allowing for systematic handling of cross-component communication.
  • Simplified API: Offers a simple API to subscribe to events, emit events, and clean up listeners with minimal code.
  • Module Integrity: The API is frozen to prevent modifications at runtime, ensuring the reliability and security of the module.

Installation

Install this module using pnpm, npm or yarn:

pnpm

pnpm add @jamilservices/sb-module-notify

yarn

npm install @jamilservices/sb-module-notify

yarn

yarn add @jamilservices/sb-module-notify

!NOTE This will add the @jamilservices/sb-module-notify as a development dependency in your project.

ESM Import Module

CDN:

You can use the following CDN links to include the module:

https://cdn.skypack.dev/@jamilservices/sb-module-notify@latest/lib/main.min.js

https://cdn.jsdelivr.net/npm/@jamilservices/sb-module-notify@latest/lib/main.min.js

https://unpkg.com/@jamilservices/sb-module-notify@latest/lib/main.min.js

Usage

Importing the Module

  • from install (pnpm/npm/yarn):
import { NotifyModule } from '@jamilservices/sb-module-notify';
  • from cdn:
import { NotifyModule } from 'https://cdn.jsdelivr.net/npm/@jamilservices/sb-module-notify@latest/lib/main.min.js';

Creating/Retrieving a notification instance

const notify = NotifyModule.instance("myEventName");

Subscribing to an Event

notify.subscribe({
    id: "uniqueListenerId",
    fn: data => console.log("Event data:", data)
});

UnSubscribing to an Event

notify.unsubscribe("uniqueListenerId");

Emitting an Event

notify.emit({ key: "value" });

Destroying All Notifications

NotifyModule.destroy();

API Documentation

instance(name: string): SimplyBuilderNotifyStoreInterface

  • Description: Creates/retrieves and returns a new/existing notification instance associated with the specified event name.
  • Parameters:
    • name: The name of the event channel.

destroy(): void

  • Description: Cleans up and removes all event listeners created through any instance of the notification module.

Contribution Guidelines

Interested in contributing? We welcome your contributions to enhance the backend capabilities of @jamilservices/sb-module-notify.
Please check our Contribution Guidelines for more details.

License

@jamilservices/sb-module-notify is available under the MIT License by @jamilservicos.

  • You are free to modify and reuse the code.
  • The original license must be included with copies of this software.
  • We encourage linking back to this repository if you use a significant portion of the source code.