UNPKG

@v4fire/core

Version:
42 lines (32 loc) 1.05 kB
/*! * V4Fire Core * https://github.com/V4Fire/Core * * Released under the MIT license * https://github.com/V4Fire/Core/blob/master/LICENSE */ /** * [[include:core/perf/README.md]] * @packageDocumentation */ import config from 'config'; import { getTimerFactory } from 'core/perf/timer'; import { mergeConfigs, PerfConfig } from 'core/perf/config'; import type { Perf } from 'core/perf/interface'; export * from 'core/perf/interface'; export * from 'core/perf/timer/impl/interface'; /** * Returns a configured instance of the `Perf` class * @param [perfConfig] - config that overrides the default performance config fields {@see config.perf} */ export function perf(perfConfig?: Partial<PerfConfig>): Perf { const workingConfig = perfConfig == null ? config.perf : mergeConfigs(config.perf, perfConfig), factory = getTimerFactory(workingConfig.timer); return { getTimer: factory.getTimer.bind(factory), getScopedTimer: factory.getScopedTimer.bind(factory) }; } const defaultPerf = perf(); export default defaultPerf;