michangarrito/apps/whatsapp-service/node_modules/@nestjs/cli/lib/readers/file-system.reader.js
rckrdmrd 48dea7a5d0 feat: Initial commit - michangarrito
Marketplace móvil para negocios locales mexicanos.

Estructura inicial:
- apps/backend (NestJS API)
- apps/frontend (React Web)
- apps/mobile (Expo/React Native)
- apps/mcp-server (Claude MCP Server)
- apps/whatsapp-service (WhatsApp Business API)
- database/ (PostgreSQL DDL)
- docs/ (Documentación)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:41:02 -06:00

47 lines
1.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileSystemReader = void 0;
const fs = require("fs");
const path = require("path");
const reader_1 = require("./reader");
class FileSystemReader {
constructor(directory) {
this.directory = directory;
}
list() {
return fs.readdirSync(this.directory);
}
read(name) {
return fs.readFileSync(path.join(this.directory, name), 'utf8');
}
readAnyOf(filenames) {
let firstFilePathFoundButWithInsufficientPermissions;
for (let id = 0; id < filenames.length; id++) {
const file = filenames[id];
try {
return this.read(file);
}
catch (readErr) {
if (!firstFilePathFoundButWithInsufficientPermissions &&
typeof readErr?.code === 'string') {
const isInsufficientPermissionsError = readErr.code === 'EACCES' || readErr.code === 'EPERM';
if (isInsufficientPermissionsError) {
firstFilePathFoundButWithInsufficientPermissions = readErr.path;
}
}
const isLastFileToLookFor = id === filenames.length - 1;
if (!isLastFileToLookFor) {
continue;
}
if (firstFilePathFoundButWithInsufficientPermissions) {
return new reader_1.ReaderFileLackPermissionsError(firstFilePathFoundButWithInsufficientPermissions, readErr.code);
}
else {
return undefined;
}
}
}
}
}
exports.FileSystemReader = FileSystemReader;