UNPKG

fs-extender

Version:
199 lines 6.39 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.replace = exports.equal = exports.toStringOrBuffer = exports.toBufferOrNotToBuffer = exports.fileURLToPath = exports.parseBoolean = exports.getItemTypeName = exports.getItemType = exports.ItemType = exports.getObjectOption = exports.getCallback = void 0; const NodeUrl = __importStar(require("url")); const utils_1 = require("@n3okill/utils"); /** @hidden */ function getCallback(opt, callback) { if (utils_1.Type.isFunction(opt) && !callback) { return opt; } return callback; } exports.getCallback = getCallback; //todo: validar o tipo de variavel fazendo entrar o tipo na funcao e usando o Type.is... function getObjectOption(options = {}, name, defaultValue) { if (name in options) { return options[name]; } return defaultValue; } exports.getObjectOption = getObjectOption; var ItemType; (function (ItemType) { ItemType[ItemType["file"] = 0] = "file"; ItemType[ItemType["dir"] = 1] = "dir"; ItemType[ItemType["blockDevice"] = 2] = "blockDevice"; ItemType[ItemType["characterDevice"] = 3] = "characterDevice"; ItemType[ItemType["symbolikLink"] = 4] = "symbolikLink"; ItemType[ItemType["socket"] = 5] = "socket"; ItemType[ItemType["fifo"] = 6] = "fifo"; ItemType[ItemType["unknown"] = 7] = "unknown"; })(ItemType = exports.ItemType || (exports.ItemType = {})); /* istanbul ignore next */ function getItemType(stat) { if (stat.isBlockDevice()) { return ItemType.blockDevice; } else if (stat.isCharacterDevice()) { return ItemType.characterDevice; } else if (stat.isDirectory()) { return ItemType.dir; } else if (stat.isFIFO()) { return ItemType.fifo; } else if (stat.isFile()) { return ItemType.file; } else if (stat.isSocket()) { return ItemType.socket; } else if (stat.isSymbolicLink()) { return ItemType.symbolikLink; } else { return ItemType.unknown; } } exports.getItemType = getItemType; /* istanbul ignore next */ function getItemTypeName(t) { switch (t) { case ItemType.blockDevice: return "BlockDevice"; case ItemType.characterDevice: return "CharacterDevice"; case ItemType.dir: return "Dir"; case ItemType.fifo: return "FIFO"; case ItemType.file: return "File"; case ItemType.socket: return "Socket"; case ItemType.symbolikLink: return "SymbolikLink"; default: return "Unknown"; } } exports.getItemTypeName = getItemTypeName; /* istanbul ignore next */ function parseBoolean(val = "false") { val = String(val).toLowerCase(); switch (val) { case "true": case "1": return true; default: return false; } } exports.parseBoolean = parseBoolean; /* istanbul ignore next */ function isURLInstance(fileURLOrPath) { return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin; } /* istanbul ignore next */ function fileURLToPath(str) { if ((typeof str === "string" && str.startsWith("file://")) || isURLInstance(str)) { try { return NodeUrl.fileURLToPath(str); } catch (err) { } } return str; } exports.fileURLToPath = fileURLToPath; /* istanbul ignore next */ function toBufferOrNotToBuffer(isBuffer, str) { return isBuffer ? (Buffer.isBuffer(str) ? str : Buffer.from(str)) : Buffer.isBuffer(str) ? str.toString() : str; } exports.toBufferOrNotToBuffer = toBufferOrNotToBuffer; /* istanbul ignore next */ function toStringOrBuffer(isBuffer, str) { if (isBuffer) { if (Buffer.isBuffer(str)) { return str; } else { return Buffer.from(fileURLToPath(str)); } } else { if (Buffer.isBuffer(str)) { return str.toString(); } else { return fileURLToPath(str); } } } exports.toStringOrBuffer = toStringOrBuffer; /* istanbul ignore next */ function equal(obj1, obj2) { if (Buffer.isBuffer(obj1)) { if (Buffer.isBuffer(obj2)) { return obj1.equals(obj2); } return false; } else { if (Buffer.isBuffer(obj2)) { return false; } return obj1 === obj2; } } exports.equal = equal; /** @internal */ /* istanbul ignore next */ function replace(str, searchValue, replaceValue) { if (utils_1.Type.isString(str)) { if (utils_1.Type.isBuffer(searchValue)) { searchValue = searchValue.toString(); } if (utils_1.Type.isBuffer(replaceValue)) { replaceValue = replaceValue.toString(); } return str.replace(searchValue, replaceValue); } else { if (utils_1.Type.isString(searchValue)) { searchValue = Buffer.from(searchValue); } if (utils_1.Type.isString(replaceValue)) { replaceValue = Buffer.from(replaceValue); } const idx = str.indexOf(searchValue); if (idx !== -1) { const after = replace(str.slice(idx + searchValue.length), searchValue, replaceValue); const len = idx + replaceValue.length + after.length; return Buffer.concat([str.slice(0, idx), replaceValue, after], len); } return str; } } exports.replace = replace; //# sourceMappingURL=util.js.map