/* eslint-disable no-console */ var warned = {}; var preWarningFns = []; /** * Pre warning enable you to parse content before console.error. * Modify to null will prevent warning. */ export var preMessage = function preMessage(fn) { preWarningFns.push(fn); }; export function warning(valid, message) { // Support uglify if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) { var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) { return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning'); }, message); if (finalMessage) { console.error("Warning: ".concat(finalMessage)); } } } export function note(valid, message) { // Support uglify if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) { var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) { return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note'); }, message); if (finalMessage) { console.warn("Note: ".concat(finalMessage)); } } } export function resetWarned() { warned = {}; } export function call(method, valid, message) { if (!valid && !warned[message]) { method(false, message); warned[message] = true; } } export function warningOnce(valid, message) { call(warning, valid, message); } export function noteOnce(valid, message) { call(note, valid, message); } warningOnce.preMessage = preMessage; warningOnce.resetWarned = resetWarned; warningOnce.noteOnce = noteOnce; export default warningOnce; /* eslint-enable */