PR-URL: https://github.com/nodejs/node/pull/52767 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
16 lines
539 B
JavaScript
16 lines
539 B
JavaScript
exports.Client = require('./client.js')
|
|
exports.Tracker = require('./tracker.js')
|
|
|
|
const trackers = new Map()
|
|
exports.createTracker = (name, key, total) => {
|
|
const tracker = new exports.Tracker(name, key, total)
|
|
if (trackers.has(tracker.key)) {
|
|
const msg = `proggy: duplicate progress id ${JSON.stringify(tracker.key)}`
|
|
throw new Error(msg)
|
|
}
|
|
trackers.set(tracker.key, tracker)
|
|
tracker.on('done', () => trackers.delete(tracker.key))
|
|
return tracker
|
|
}
|
|
exports.createClient = (options = {}) => new exports.Client(options)
|