0.4.1 โข Published 4 months ago
mynt-handler v0.4.1
Mynt Handler
A fast and efficient binary file format for storing notes, images, and audio.
This package provides tools to create, read, and manage .mynt
files with support for both stream-based and non-stream-based operations.
๐ Features
- Custom Binary Format: Optimized for speed and limited storage.
- Supports Multiple Data Types: Stores notes, images, and audio efficiently.
- Default Compression: Reduces file size for faster reading and writing.
- TypeScript Support: Includes type definitions for better development experience.
- Version 2 Support: Introduces a structured notebook format with titles and improved organization.
๐ฆ Installation
Install via NPM:
npm install mynt-handler
๐ API Usage
๐ฅ Writing a Mynt File (V1)
Supports both text and binary data (images, audio).
import { Writer } from "mynt-handler";
import { readFileSync } from "fs";
const imageBuffer = readFileSync("image.png");
const audioBuffer = readFileSync("audio.mp3");
const notes = [
{ type: "word", content: "ใใใซใกใฏ", sequenceNumber: 1, answer: true },
{ type: "description", content: "Japanese greeting", sequenceNumber: 2, answer: false },
{ type: "image", content: imageBuffer, sequenceNumber: 3, answer: false },
{ type: "audio", content: audioBuffer, sequenceNumber: 4, answer: false }
];
await Writer.writeMyntFile("example.mynt", notes);
๐ฅ Writing a Mynt File (V2)
Supports structured notebooks with note titles.
import { Writer } from "mynt-handler";
import { readFileSync } from "fs";
const imageBuffer = readFileSync("image.png");
const notebook = {
title: "Japanese Vocabulary",
notes: [
{
title: "Basic Words",
noteBlocks: [
{ type: "word", content: "ใใใซใกใฏ", sequenceNumber: 1, answer: true },
{ type: "image", content: imageBuffer, sequenceNumber: 2, answer: false }
]
}
]
};
await Writer.writeMyntFileV2("example_v2.mynt", notebook);
๐ค Reading a Mynt File (V1)
Automatically decompresses and parses binary data.
import { Reader } from "mynt-handler";
const myntData = await Reader.readMyntFile("example.mynt");
console.log(myntData);
๐ค Reading a Mynt File (V2)
Parses the structured notebook format.
import { Reader } from "mynt-handler";
const notebookData = await Reader.readMyntFileV2("example_v2.mynt");
console.log(notebookData);
๐ฅ Reading a Mynt File from Buffer
Parses an in-memory buffer without requiring a file path.
import { Reader } from "mynt-handler";
import { readFileSync } from "fs";
const fileBuffer = readFileSync("example.mynt");
const myntData = await Reader.readMyntFileFromBuffer(fileBuffer);
console.log(myntData);
๐ฅ Reading a Mynt File from Buffer (V2)
Parses a notebook format from a buffer.
import { Reader } from "mynt-handler";
import { readFileSync } from "fs";
const fileBuffer = readFileSync("example_v2.mynt");
const notebookData = await Reader.readMyntFileFromBufferV2(fileBuffer);
console.log(notebookData);