uuid-stream
Version:
A Transform stream that generates RFC-compliant UUID v5.
21 lines (20 loc) • 628 B
JavaScript
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();
}
}