steno
Specialized fast async file writer
Last updated 2 years ago by typicode .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install steno 
SYNC missed versions from official npm registry.

Steno Node.js CI

Specialized fast async file writer

Steno makes writing to the same file often/concurrently fast and safe.

Used in lowdb.

https://en.wikipedia.org/wiki/Stenotype

Features

  • ⚡ Fast (see benchmark)
  • ???? Lightweight (~6kb)
  • ???? ⚛️ Safe: No partial writes (writes are atomic)
  • ???? ???? Safe: No race conditions (writes are ordered even if they're async)

Usage

import { Writer } from 'steno'

// Create a singleton writer
const file = new Writer('file.txt')

// Use it in the rest of your code
async function save() {
  await file.write('some data')
}

Benchmark

npm run benchmark (see src/benchmark.ts)

Write 1KB data to the same file x 1000
  fs     :   62ms
  steno  :    1ms

Write 1MB data to the same file x 1000
  fs     : 2300ms
  steno  :    5ms

Steno uses a smart queue and avoids unnecessary writes.

License

MIT - Typicode

Current Tags

  • 4.0.2                                ...           latest (2 years ago)

24 Versions

  • 4.0.2                                ...           2 years ago
  • 4.0.1                                ...           2 years ago
  • 4.0.0                                ...           2 years ago
  • 3.2.0                                ...           2 years ago
  • 3.1.1                                ...           2 years ago
  • 3.1.0                                ...           3 years ago
  • 3.0.0                                ...           3 years ago
  • 2.1.0                                ...           5 years ago
  • 2.0.0                                ...           5 years ago
  • 1.0.0                                ...           5 years ago
  • 0.5.0                                ...           6 years ago
  • 0.4.4                                ...           10 years ago
  • 0.4.3                                ...           10 years ago
  • 0.4.2                                ...           11 years ago
  • 0.4.1                                ...           11 years ago
  • 0.4.0                                ...           11 years ago
  • 0.3.2                                ...           11 years ago
  • 0.3.1                                ...           11 years ago
  • 0.3.0                                ...           11 years ago
  • 0.2.1                                ...           11 years ago
  • 0.2.0                                ...           11 years ago
  • 0.1.2                                ...           11 years ago
  • 0.1.1                                ...           11 years ago
  • 0.1.0                                ...           11 years ago
Maintainers (1)
Downloads
Today 1
This Week 3
This Month 26
Last Day 0
Last Week 23
Last Month 8
Dependencies (0)
None
Dev Dependencies (11)
Dependents (2)

Copyright 2013 - present © cnpmjs.org | Home |