UNPKG

guardz-event

Version:

Type-safe event handling with runtime validation using guardz for unsafe data from 3rd parties

74 lines 3.87 kB
import type { EventResult, SafeEventConfig } from './safe-event-never-throws'; /** * Safe Intersection Observer handler * Usage: const safeIntersectionHandler = safeIntersectionObserver({ guard: isIntersectionData }); * observer.observe(element); */ export declare function safeIntersectionObserver<T>(config: SafeEventConfig<T>): (entries: IntersectionObserverEntry[]) => EventResult<T>[]; /** * Safe Resize Observer handler * Usage: const safeResizeHandler = safeResizeObserver({ guard: isResizeData }); * observer.observe(element); */ export declare function safeResizeObserver<T>(config: SafeEventConfig<T>): (entries: ResizeObserverEntry[]) => EventResult<T>[]; /** * Safe Mutation Observer handler * Usage: const safeMutationHandler = safeMutationObserver({ guard: isMutationData }); * observer.observe(target, config); */ export declare function safeMutationObserver<T>(config: SafeEventConfig<T>): (mutations: MutationRecord[]) => EventResult<T>[]; /** * Safe Performance Observer handler * Usage: const safePerformanceHandler = safePerformanceObserver({ guard: isPerformanceData }); * observer.observe({ entryTypes: ['navigation'] }); */ export declare function safePerformanceObserver<T>(config: SafeEventConfig<T>): (list: PerformanceObserverEntryList) => EventResult<T>[]; /** * Safe Geolocation handler * Usage: const safeGeoHandler = safeGeolocation({ guard: isGeoData }); * navigator.geolocation.getCurrentPosition(safeGeoHandler); */ export declare function safeGeolocation<T>(config: SafeEventConfig<T>): (position: GeolocationPosition) => EventResult<T>; /** * Safe Device Orientation handler * Usage: const safeOrientationHandler = safeDeviceOrientation({ guard: isOrientationData }); * window.addEventListener('deviceorientation', safeOrientationHandler); */ export declare function safeDeviceOrientation<T>(config: SafeEventConfig<T>): (event: DeviceOrientationEvent) => EventResult<T>; /** * Safe Device Motion handler * Usage: const safeMotionHandler = safeDeviceMotion({ guard: isMotionData }); * window.addEventListener('devicemotion', safeMotionHandler); */ export declare function safeDeviceMotion<T>(config: SafeEventConfig<T>): (event: DeviceMotionEvent) => EventResult<T>; /** * Safe Service Worker Message handler * Usage: const safeSWHandler = safeServiceWorkerMessage({ guard: isSWMessageData }); * self.addEventListener('message', safeSWHandler); */ export declare function safeServiceWorkerMessage<T>(config: SafeEventConfig<T>): (event: MessageEvent) => EventResult<T>; /** * Safe Broadcast Channel handler * Usage: const safeBCHandler = safeBroadcastChannel({ guard: isBCData }); * channel.addEventListener('message', safeBCHandler); */ export declare function safeBroadcastChannel<T>(config: SafeEventConfig<T>): (event: MessageEvent) => EventResult<T>; /** * Safe Payment Request handler * Usage: const safePaymentHandler = safePaymentRequest({ guard: isPaymentData }); * paymentRequest.addEventListener('paymentmethodchange', safePaymentHandler); */ export declare function safePaymentRequest<T>(config: SafeEventConfig<T>): (event: PaymentMethodChangeEvent) => EventResult<T>; /** * Safe Battery Status handler * Usage: const safeBatteryHandler = safeBatteryStatus({ guard: isBatteryData }); * battery.addEventListener('levelchange', safeBatteryHandler); */ export declare function safeBatteryStatus<T>(config: SafeEventConfig<T>): () => Promise<EventResult<T>>; /** * Safe Network Information handler * Usage: const safeNetworkHandler = safeNetworkInformation({ guard: isNetworkData }); * connection.addEventListener('change', safeNetworkHandler); */ export declare function safeNetworkInformation<T>(config: SafeEventConfig<T>): () => EventResult<T>; //# sourceMappingURL=additional-sources.d.ts.map