1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /* 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);
- };
- /**
- * Warning if condition not match.
- * @param valid Condition
- * @param message Warning message
- * @example
- * ```js
- * warning(false, 'some error'); // print some error
- * warning(true, 'some error'); // print nothing
- * warning(1 === 2, 'some error'); // print some error
- * ```
- */
- export function warning(valid, message) {
- 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));
- }
- }
- }
- /** @see Similar to {@link warning} */
- export function note(valid, message) {
- 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;
- }
- }
- /** @see Same as {@link warning}, but only warn once for the same message */
- export function warningOnce(valid, message) {
- call(warning, valid, message);
- }
- /** @see Same as {@link warning}, but only warn once for the same message */
- export function noteOnce(valid, message) {
- call(note, valid, message);
- }
- warningOnce.preMessage = preMessage;
- warningOnce.resetWarned = resetWarned;
- warningOnce.noteOnce = noteOnce;
- export default warningOnce;
|