MCPcopy Create free account
hub / github.com/ThatGuySam/doesitarm / FileReader

Class FileReader

helpers/scanner/file-api.ts:129–337  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127}
128
129export class FileReader {
130 readonly EMPTY = 0
131 readonly LOADING = 1
132 readonly DONE = 2
133
134 error?: Error
135 onabort?: FileReaderListener
136 onerror?: FileReaderListener
137 onload?: FileReaderListener
138 onloadend?: FileReaderListener
139 onloadstart?: FileReaderListener
140 onprogress?: FileReaderListener
141 readyState = this.EMPTY
142 result?: NodeBuffer | string
143
144 private readonly emitter = new EventEmitter()
145 private file?: NodeFile
146 private fileStream?: NodeFileStream
147 private format?: ReadFormat
148 private encoding?: BufferEncoding
149 private readonly registeredEvents = new Set<FileReaderEventName>()
150
151 nodeChunkedEncoding = false
152
153 addEventListener ( eventName: FileReaderEventName, callback: FileReaderListener ) {
154 this.emitter.on( eventName, callback )
155 }
156
157 removeEventListener ( eventName: FileReaderEventName, callback: FileReaderListener ) {
158 this.emitter.removeListener( eventName, callback )
159 }
160
161 dispatchEvent ( eventName: FileReaderEventName, payload?: FileReaderEventPayload ) {
162 this.emitter.emit( eventName, payload )
163 }
164
165 on ( eventName: string | symbol, listener: ( ...args: any[] ) => void ) {
166 this.emitter.on( eventName, listener )
167 }
168
169 setNodeChunkedEncoding ( value: boolean ) {
170 this.nodeChunkedEncoding = value
171 }
172
173 abort () {
174 if ( this.readyState === this.DONE ) {
175 return
176 }
177
178 this.readyState = this.DONE
179 this.dispatchEvent( 'abort' )
180 }
181
182 readAsArrayBuffer ( file: NodeFile ) {
183 this.readFile( file, 'buffer' )
184 }
185
186 readAsBinaryString ( file: NodeFile ) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected