guardia-messenger/node_modules/minipass-flush/index.js
DESKTOP-TKLFCPRython f29f525c77 refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 10:09:17 +09:00

40 lines
1011 B
JavaScript

const Minipass = require('minipass')
const _flush = Symbol('_flush')
const _flushed = Symbol('_flushed')
const _flushing = Symbol('_flushing')
class Flush extends Minipass {
constructor (opt = {}) {
if (typeof opt === 'function')
opt = { flush: opt }
super(opt)
// or extend this class and provide a 'flush' method in your subclass
if (typeof opt.flush !== 'function' && typeof this.flush !== 'function')
throw new TypeError('must provide flush function in options')
this[_flush] = opt.flush || this.flush
}
emit (ev, ...data) {
if ((ev !== 'end' && ev !== 'finish') || this[_flushed])
return super.emit(ev, ...data)
if (this[_flushing])
return
this[_flushing] = true
const afterFlush = er => {
this[_flushed] = true
er ? super.emit('error', er) : super.emit('end')
}
const ret = this[_flush](afterFlush)
if (ret && ret.then)
ret.then(() => afterFlush(), er => afterFlush(er))
}
}
module.exports = Flush