UNPKG

uuid-stream

Version:

A Transform stream that generates RFC-compliant UUID v5.

21 lines (20 loc) 628 B
import { Transform } from 'stream'; import { createHash as createUuidHash } from 'uuid-hash'; export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; export default class UuidStream extends Transform { hash; constructor(namespace = URL, version = 0x50) { super(); this.hash = createUuidHash(namespace, version); } _write(chunk, _encoding, callback) { this.hash.update(chunk); this.push(chunk); callback(); } _flush(callback) { this.emit('uuid', this.hash.digest()); callback(); } }