UNPKG

@dvcol/neo-svelte

Version:

Neomorphic ui library for svelte 5

19 lines (18 loc) 781 B
import { getContext, setContext } from 'svelte'; import { NeoErrorNotificationServiceNotFound } from '../../utils/error.utils.js'; const NeoNotificationProviderContextSymbol = Symbol('NeoNotificationProviderContext'); export function setNeoNotificationProviderContext(context) { return setContext(NeoNotificationProviderContextSymbol, context); } export function getNeoNotificationProviderContext() { return getContext(NeoNotificationProviderContextSymbol); } export function useNotificationService(id) { const context = getNeoNotificationProviderContext(); if (!context) throw new NeoErrorNotificationServiceNotFound(); const service = context.get(id); if (!service) throw new NeoErrorNotificationServiceNotFound(id); return service; }