- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.BufferReader = void 0;
|
|
const emptyBuffer = Buffer.allocUnsafe(0);
|
|
class BufferReader {
|
|
constructor(offset = 0) {
|
|
this.offset = offset;
|
|
this.buffer = emptyBuffer;
|
|
// TODO(bmc): support non-utf8 encoding?
|
|
this.encoding = 'utf-8';
|
|
}
|
|
setBuffer(offset, buffer) {
|
|
this.offset = offset;
|
|
this.buffer = buffer;
|
|
}
|
|
int16() {
|
|
const result = this.buffer.readInt16BE(this.offset);
|
|
this.offset += 2;
|
|
return result;
|
|
}
|
|
byte() {
|
|
const result = this.buffer[this.offset];
|
|
this.offset++;
|
|
return result;
|
|
}
|
|
int32() {
|
|
const result = this.buffer.readInt32BE(this.offset);
|
|
this.offset += 4;
|
|
return result;
|
|
}
|
|
uint32() {
|
|
const result = this.buffer.readUInt32BE(this.offset);
|
|
this.offset += 4;
|
|
return result;
|
|
}
|
|
string(length) {
|
|
const result = this.buffer.toString(this.encoding, this.offset, this.offset + length);
|
|
this.offset += length;
|
|
return result;
|
|
}
|
|
cstring() {
|
|
const start = this.offset;
|
|
let end = start;
|
|
// eslint-disable-next-line no-empty
|
|
while (this.buffer[end++] !== 0) { }
|
|
this.offset = end;
|
|
return this.buffer.toString(this.encoding, start, end - 1);
|
|
}
|
|
bytes(length) {
|
|
const result = this.buffer.slice(this.offset, this.offset + length);
|
|
this.offset += length;
|
|
return result;
|
|
}
|
|
}
|
|
exports.BufferReader = BufferReader;
|
|
//# sourceMappingURL=buffer-reader.js.map
|