@ou-imdt/utils
Version:
Utility library for interactive media development
15 lines (13 loc) • 593 B
JavaScript
import isProduction from '../isProduction.js';
export default function devProxy(target, map = {}) {
const { development = 'development', production = 'production', flag = 'isDevelopment' } = map;
const isProd = isProduction();
return new Proxy(target, {
get(module, key, receiver) {
const { [development]: dev, [production]: prod, [flag]: isDev = !isProd } = module;
const target = (isDev && dev[key]) ? dev[key] : prod[key];
if (isDev && isProd) console.warn('using development utils in production environment');
return target.bind(receiver);
}
});
}