UNPKG

react-native-unistyles

Version:
42 lines (35 loc) 1.38 kB
import { UnistylesListener } from './listener' import { UnistylesRegistry } from './registry' import { UnistylesRuntime } from './runtime' import { UnistylesShadowRegistry } from './shadowRegistry' import { UnistylesState } from './state' import { isServer } from './utils' class UnistylesServices { runtime: UnistylesRuntime registry: UnistylesRegistry shadowRegistry: UnistylesShadowRegistry state: UnistylesState listener: UnistylesListener private services = {} as UnistylesServices constructor() { this.runtime = new UnistylesRuntime(this.services) this.registry = new UnistylesRegistry(this.services) this.shadowRegistry = new UnistylesShadowRegistry(this.services) this.state = new UnistylesState(this.services) this.listener = new UnistylesListener(this.services) this.services.runtime = this.runtime this.services.registry = this.registry this.services.shadowRegistry = this.shadowRegistry this.services.state = this.state this.services.listener = this.listener } } declare global { // @ts-ignore var __unistyles__: UnistylesServices } if (isServer() && !globalThis.__unistyles__) { // @ts-ignore globalThis.__unistyles__ = new UnistylesServices() } export const services = isServer() ? globalThis.__unistyles__ : new UnistylesServices()