UNPKG

6.16 kBSource Map (JSON)View Raw
1{"version":3,"sources":["AssemblyWatcher.js"],"names":["Emitter","require","TransloaditAssemblyWatcher","uppy","assemblyIDs","_uppy","_assemblyIDs","_remaining","length","promise","Promise","resolve","reject","_resolve","_reject","_onAssemblyComplete","bind","_onAssemblyCancel","_onAssemblyError","_onImportError","_addListeners","_watching","id","indexOf","assembly","assembly_id","log","emit","_checkAllComplete","error","fileID","_removeListeners","off","on","module","exports"],"mappings":"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","sourcesContent":["const Emitter = require('component-emitter')\n\n/**\n * Track completion of multiple assemblies.\n *\n * Emits 'assembly-complete' when an assembly completes.\n * Emits 'assembly-error' when an assembly fails.\n * Exposes a `.promise` property that resolves when all assemblies have\n * completed (or failed).\n */\nclass TransloaditAssemblyWatcher extends Emitter {\n constructor (uppy, assemblyIDs) {\n super()\n\n this._uppy = uppy\n this._assemblyIDs = assemblyIDs\n this._remaining = assemblyIDs.length\n\n this.promise = new Promise((resolve, reject) => {\n this._resolve = resolve\n this._reject = reject\n })\n\n this._onAssemblyComplete = this._onAssemblyComplete.bind(this)\n this._onAssemblyCancel = this._onAssemblyCancel.bind(this)\n this._onAssemblyError = this._onAssemblyError.bind(this)\n this._onImportError = this._onImportError.bind(this)\n\n this._addListeners()\n }\n\n /**\n * Are we watching this assembly ID?\n */\n _watching (id) {\n return this._assemblyIDs.indexOf(id) !== -1\n }\n\n _onAssemblyComplete (assembly) {\n if (!this._watching(assembly.assembly_id)) {\n return\n }\n\n this._uppy.log(`[Transloadit] AssemblyWatcher: Got Assembly finish ${assembly.assembly_id}`)\n\n this.emit('assembly-complete', assembly.assembly_id)\n\n this._checkAllComplete()\n }\n\n _onAssemblyCancel (assembly) {\n if (!this._watching(assembly.assembly_id)) {\n return\n }\n\n this._checkAllComplete()\n }\n\n _onAssemblyError (assembly, error) {\n if (!this._watching(assembly.assembly_id)) {\n return\n }\n\n this._uppy.log(`[Transloadit] AssemblyWatcher: Got Assembly error ${assembly.assembly_id}`)\n this._uppy.log(error)\n\n this.emit('assembly-error', assembly.assembly_id, error)\n\n this._checkAllComplete()\n }\n\n _onImportError (assembly, fileID, error) {\n if (!this._watching(assembly.assembly_id)) {\n return\n }\n\n // Not sure if we should be doing something when it's just one file failing.\n // ATM, the only options are 1) ignoring or 2) failing the entire upload.\n // I think failing the upload is better than silently ignoring.\n // In the future we should maybe have a way to resolve uploads with some failures,\n // like returning an object with `{ successful, failed }` uploads.\n this._onAssemblyError(assembly, error)\n }\n\n _checkAllComplete () {\n this._remaining -= 1\n if (this._remaining === 0) {\n // We're done, these listeners can be removed\n this._removeListeners()\n this._resolve()\n }\n }\n\n _removeListeners () {\n this._uppy.off('transloadit:complete', this._onAssemblyComplete)\n this._uppy.off('transloadit:assembly-cancel', this._onAssemblyCancel)\n this._uppy.off('transloadit:assembly-error', this._onAssemblyError)\n this._uppy.off('transloadit:import-error', this._onImportError)\n }\n\n _addListeners () {\n this._uppy.on('transloadit:complete', this._onAssemblyComplete)\n this._uppy.on('transloadit:assembly-cancel', this._onAssemblyCancel)\n this._uppy.on('transloadit:assembly-error', this._onAssemblyError)\n this._uppy.on('transloadit:import-error', this._onImportError)\n }\n}\n\nmodule.exports = TransloaditAssemblyWatcher\n"]}
\No newline at end of file