// test.ts import * as fs from 'node:fs'; import mmap from './lib/index.js'; const FILE_PATH = './test_mmap.bin'; const FILE_SIZE = 4096; // 파일 생성 const fd = fs.openSync(FILE_PATH, 'w+'); fs.ftruncateSync(fd, FILE_SIZE); // mmap 매핑 const buffer = mmap.map( FILE_SIZE, mmap.PROT_READ | mmap.PROT_WRITE, mmap.MAP_SHARED, fd, 0 ); console.log('Mapped buffer length:', buffer.length); console.log('Page size:', mmap.pageSize()); // 데이터 쓰기 buffer.write('Hello, mmap!', 0, 'utf8'); buffer.writeUInt32LE(12345, 100); // msync mmap.sync(buffer, 0, FILE_SIZE, mmap.MS_SYNC); console.log('Data synced to disk'); // 데이터 읽기 console.log('String:', buffer.toString('utf8', 0, 12)); console.log('Number:', buffer.readUInt32LE(100)); // 정리 fs.closeSync(fd); fs.unlinkSync(FILE_PATH); console.log('Test passed!');