Spaces:
Runtime error
Runtime error
const { webidl } = require('../fetch/webidl') | |
const kState = Symbol('ProgressEvent state') | |
/** | |
* @see https://xhr.spec.whatwg.org/#progressevent | |
*/ | |
class ProgressEvent extends Event { | |
constructor (type, eventInitDict = {}) { | |
type = webidl.converters.DOMString(type) | |
eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}) | |
super(type, eventInitDict) | |
this[kState] = { | |
lengthComputable: eventInitDict.lengthComputable, | |
loaded: eventInitDict.loaded, | |
total: eventInitDict.total | |
} | |
} | |
get lengthComputable () { | |
webidl.brandCheck(this, ProgressEvent) | |
return this[kState].lengthComputable | |
} | |
get loaded () { | |
webidl.brandCheck(this, ProgressEvent) | |
return this[kState].loaded | |
} | |
get total () { | |
webidl.brandCheck(this, ProgressEvent) | |
return this[kState].total | |
} | |
} | |
webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ | |
{ | |
key: 'lengthComputable', | |
converter: webidl.converters.boolean, | |
defaultValue: false | |
}, | |
{ | |
key: 'loaded', | |
converter: webidl.converters['unsigned long long'], | |
defaultValue: 0 | |
}, | |
{ | |
key: 'total', | |
converter: webidl.converters['unsigned long long'], | |
defaultValue: 0 | |
}, | |
{ | |
key: 'bubbles', | |
converter: webidl.converters.boolean, | |
defaultValue: false | |
}, | |
{ | |
key: 'cancelable', | |
converter: webidl.converters.boolean, | |
defaultValue: false | |
}, | |
{ | |
key: 'composed', | |
converter: webidl.converters.boolean, | |
defaultValue: false | |
} | |
]) | |
module.exports = { | |
ProgressEvent | |
} | |