UNPKG

react-native-filament

Version:

A real-time physically based 3D rendering engine for React Native

29 lines (22 loc) 577 B
import { LoggerInterface } from './LoggingInterface' let loggerInstance: LoggerInterface | null = null export const setLogger = (logger: LoggerInterface) => { loggerInstance = logger } const noopLogger: LoggerInterface = { debug: () => {}, info: () => {}, warn: () => {}, error: () => {}, } export const getLogger = (): LoggerInterface => { if (loggerInstance == null) { return noopLogger } return loggerInstance } export const Logger = new Proxy(noopLogger, { get: (_target, prop) => { return getLogger()[prop as keyof LoggerInterface] }, })