UNPKG

@ou-imdt/utils

Version:

Utility library for interactive media development

15 lines (13 loc) 593 B
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); } }); }