0.2.1 • Published 2 years ago

file-mapping v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

File Mapping

NPM

A library that maps JSON file and in-memory data, and using lazy-writing strategy to reduce disk I/O.

Usage

Simple Usage

import { mapping } from "file-mapping";

const data = mapping("./data.json", {});

data.name = "Jacob";
data.age = 19;

// Then, the file should be written automatically and only once.

Nested Data

import { mapping } from "file-mapping";

const data = mapping("./data.json", {});

data.collection = {};
data.collection.document = {};
data.collection.document.something = "something";
// Nested data are also supported.

Listen to file write

import { mapping } from "file-mapping";

const data = mapping("./data.json", {}, (data, changes) => {
    console.log(`write ${changes} changes into disk`, data);
});

for (let i = 0; i < 1000; i++) {
    data[`key-${i}`] = `value-${i}`;
}

Event Emitter style

Mapping also count the number of write operations internally, and you can use .data, .file, .written to get the informations.

import { Mapping } from "file-mapping";

const mapping = new Mapping("./data.json", {});
const data = mapping.data;

mapping.on("write", (data, changes) => {
    console.log(`write ${changes} changes into disk`, data);
});

for (let i = 0; i < 1000; i++) {
    data[`key-${i}`] = `value-${i}`;
}

Links

0.2.1

2 years ago

0.2.0

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago