0.4.1 โ€ข Published 4 months ago

mynt-handler v0.4.1

Weekly downloads
-
License
GPL-3.0-only
Repository
github
Last release
4 months ago

Mynt Handler

npm version npm downloads license

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);
0.4.1

4 months ago

0.4.0

4 months ago

0.3.0

4 months ago

0.2.0

4 months ago

0.1.1

4 months ago

0.1.0

4 months ago

0.0.1

5 months ago