UNPKG

@webdevarif/notifications

Version:

A customizable, framework-agnostic notifications system with pluggable storage and WebSocket adapters

1 lines 116 kB
{"version":3,"sources":["../src/Notifications.ts","../src/adapters/storage.ts","../src/adapters/websocket.ts","../src/client/sdk.ts","../src/client/hooks.tsx","../src/components/NotificationDropdown.tsx"],"names":["EventEmitter","WebSocket","error","useState","useCallback","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\r\n * Core Notifications service\r\n */\r\n\r\nimport { EventEmitter } from 'eventemitter3';\r\nimport { \r\n NotificationService,\r\n NotificationPayload,\r\n CreateNotificationInput,\r\n NotificationFilters,\r\n NotificationCount,\r\n NotificationConfig,\r\n NotificationHooks,\r\n NotificationEvents,\r\n NotificationType,\r\n NotificationTypeConfig\r\n} from './types';\r\nimport { StorageAdapter, WebSocketAdapter } from './types';\r\n\r\nexport class Notifications extends EventEmitter implements NotificationService {\r\n private storageAdapter: StorageAdapter;\r\n private websocketAdapter?: WebSocketAdapter;\r\n private hooks?: NotificationHooks;\r\n private defaultType: string;\r\n private maxRetries: number;\r\n private retryDelay: number;\r\n private notificationTypes: Map<string, NotificationTypeConfig> = new Map();\r\n\r\n constructor(config: NotificationConfig) {\r\n super();\r\n this.storageAdapter = config.storageAdapter;\r\n this.websocketAdapter = config.websocketAdapter;\r\n this.hooks = config.hooks;\r\n this.defaultType = config.defaultType || 'info';\r\n this.maxRetries = config.maxRetries || 3;\r\n this.retryDelay = config.retryDelay || 1000;\r\n\r\n // Register default notification types\r\n this.registerDefaultTypes();\r\n }\r\n\r\n /**\r\n * Register a notification type with its configuration\r\n */\r\n registerType(type: string, config: NotificationTypeConfig): void {\r\n this.notificationTypes.set(type, config);\r\n }\r\n\r\n /**\r\n * Get notification type configuration\r\n */\r\n getTypeConfig(type: string): NotificationTypeConfig | undefined {\r\n return this.notificationTypes.get(type);\r\n }\r\n\r\n /**\r\n * Create a new notification\r\n */\r\n async create(input: CreateNotificationInput): Promise<NotificationPayload> {\r\n try {\r\n // Apply before create hook\r\n let processedInput = input;\r\n if (this.hooks?.onBeforeCreate) {\r\n processedInput = await this.hooks.onBeforeCreate(input);\r\n }\r\n\r\n // Generate ID\r\n const id = this.generateId();\r\n const now = new Date();\r\n\r\n // Create notification payload\r\n const notification: NotificationPayload = {\r\n id,\r\n ...processedInput,\r\n type: processedInput.type || this.defaultType,\r\n read: false,\r\n createdAt: now,\r\n updatedAt: now,\r\n };\r\n\r\n // Save to storage\r\n const savedNotification = await this.storageAdapter.save(notification);\r\n\r\n // Apply after create hook\r\n if (this.hooks?.onAfterCreate) {\r\n await this.hooks.onAfterCreate(savedNotification);\r\n }\r\n\r\n // Emit events\r\n this.emit('notification:created', savedNotification);\r\n\r\n // Broadcast via WebSocket if available\r\n if (this.websocketAdapter) {\r\n try {\r\n await this.websocketAdapter.broadcastToRecipient(\r\n savedNotification.recipientId,\r\n savedNotification\r\n );\r\n } catch (error) {\r\n console.warn('Failed to broadcast notification via WebSocket:', error);\r\n }\r\n }\r\n\r\n return savedNotification;\r\n } catch (error) {\r\n console.error('Error in notifications service:', error);\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Get notifications with optional filters\r\n */\r\n async get(filters?: NotificationFilters): Promise<NotificationPayload[]> {\r\n try {\r\n return await this.storageAdapter.find(filters || {});\r\n } catch (error) {\