source: node_modules/undici/lib/fileapi/progressevent.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.5 KB
Line 
1'use strict'
2
3const { webidl } = require('../fetch/webidl')
4
5const kState = Symbol('ProgressEvent state')
6
7/**
8 * @see https://xhr.spec.whatwg.org/#progressevent
9 */
10class ProgressEvent extends Event {
11 constructor (type, eventInitDict = {}) {
12 type = webidl.converters.DOMString(type)
13 eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {})
14
15 super(type, eventInitDict)
16
17 this[kState] = {
18 lengthComputable: eventInitDict.lengthComputable,
19 loaded: eventInitDict.loaded,
20 total: eventInitDict.total
21 }
22 }
23
24 get lengthComputable () {
25 webidl.brandCheck(this, ProgressEvent)
26
27 return this[kState].lengthComputable
28 }
29
30 get loaded () {
31 webidl.brandCheck(this, ProgressEvent)
32
33 return this[kState].loaded
34 }
35
36 get total () {
37 webidl.brandCheck(this, ProgressEvent)
38
39 return this[kState].total
40 }
41}
42
43webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
44 {
45 key: 'lengthComputable',
46 converter: webidl.converters.boolean,
47 defaultValue: false
48 },
49 {
50 key: 'loaded',
51 converter: webidl.converters['unsigned long long'],
52 defaultValue: 0
53 },
54 {
55 key: 'total',
56 converter: webidl.converters['unsigned long long'],
57 defaultValue: 0
58 },
59 {
60 key: 'bubbles',
61 converter: webidl.converters.boolean,
62 defaultValue: false
63 },
64 {
65 key: 'cancelable',
66 converter: webidl.converters.boolean,
67 defaultValue: false
68 },
69 {
70 key: 'composed',
71 converter: webidl.converters.boolean,
72 defaultValue: false
73 }
74])
75
76module.exports = {
77 ProgressEvent
78}
Note: See TracBrowser for help on using the repository browser.