UNPKG

@ryuuji3/react-mask-hook

Version:

A simple masking library as a react hook

51 lines (50 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); function useDebugMode(debug, values) { var hasDisplayedDebugInfo = react_1.useRef(false); // Add debugging in inspector react_1.useDebugValue(debug && values); if (debug && hasDisplayedDebugInfo.current === false) { console.log(displayDebugInfo(values)); hasDisplayedDebugInfo.current = true; } return { log: log(debug), }; } function getMask(mask) { return typeof mask === 'string' ? "\"" + mask + "\"" : mask.join(','); } function displayDebugInfo(values) { return ("useMask Debug Info:\n\nMask: " + getMask(values.mask) + "\nDisplay Mask: \"" + values.placeholder + "\"\n"); } var LogLevel; (function (LogLevel) { LogLevel["INFO"] = "log"; LogLevel["WARN"] = "warn"; LogLevel["ERROR"] = "error"; })(LogLevel || (LogLevel = {})); function log(debug) { return function (message, level) { if (level === void 0) { level = LogLevel.INFO; } if (!debug) { return; } switch (level) { case LogLevel.WARN: console.warn(message); break; case LogLevel.ERROR: console.error(message); break; case LogLevel.INFO: default: console.log(message); break; } }; } exports.default = useDebugMode;