@vonovak/react-native-theme-control
Version:
control the platform theme from react native
19 lines (15 loc) • 434 B
text/typescript
import { ThemePreference } from './types';
export class ThemeEventEmitter {
private listeners = new Set<(theme: ThemePreference) => void>();
addListener(callback: (theme: ThemePreference) => void) {
this.listeners.add(callback);
return {
remove: () => {
this.listeners.delete(callback);
},
};
}
emit(theme: ThemePreference) {
this.listeners.forEach((callback) => callback(theme));
}
}