UNPKG

eslint-plugin-ferramentas

Version:
40 lines (39 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isPathRelative = exports.createDebugger = exports.createExecuteOnce = void 0; const path_1 = require("path"); const createExecuteOnce = (valueGenerator) => { let aux = null; return () => { if (aux === null) { try { aux = { value: valueGenerator(), error: false }; } catch (error) { aux = { value: error, error: true }; } } if (aux.error) { throw aux.value; } return aux.value; }; }; exports.createExecuteOnce = createExecuteOnce; const createDebugger = (debugging) => { if (!debugging) { return () => { }; } // eslint-disable-next-line no-console return (...args) => { console.debug(...args); }; }; exports.createDebugger = createDebugger; /** * Based on the node implementation * @see https://github.com/nodejs/node/blob/main/lib/internal/modules/cjs/loader.js#L1956C10-L1956C20 */ const isPathRelativePattern = new RegExp(`^(\\.\\.{0,1}|\\.\\.{0,1}\\${path_1.sep}.*)$`); const isPathRelative = (path) => isPathRelativePattern.test(path); exports.isPathRelative = isPathRelative;