@dvcol/neo-svelte
Version:
Neomorphic ui library for svelte 5
19 lines (18 loc) • 781 B
JavaScript
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;
}