0 | module Web.Internal.FilePrim
  1 |
  2 | import JS
  3 | import Web.Internal.Types
  4 |
  5 | %default total
  6 |
  7 |
  8 | --------------------------------------------------------------------------------
  9 | --          Interfaces
 10 | --------------------------------------------------------------------------------
 11 |
 12 | namespace Blob
 13 |
 14 |   export
 15 |   %foreign "browser:lambda:(a,b)=> new Blob(a,b)"
 16 |   prim__new :
 17 |        UndefOr
 18 |          (Array
 19 |             (Union13
 20 |                Int8Array
 21 |                Int16Array
 22 |                Int32Array
 23 |                UInt8Array
 24 |                UInt8Array
 25 |                UInt8Array
 26 |                UInt8ClampedArray
 27 |                Float32Array
 28 |                Float64Array
 29 |                DataView
 30 |                ArrayBuffer
 31 |                Blob
 32 |                String))
 33 |     -> UndefOr BlobPropertyBag
 34 |     -> PrimIO Blob
 35 |
 36 |
 37 |   export
 38 |   %foreign "browser:lambda:x=>x.size"
 39 |   prim__size : Blob -> PrimIO JSBits64
 40 |
 41 |
 42 |   export
 43 |   %foreign "browser:lambda:x=>x.type"
 44 |   prim__type : Blob -> PrimIO String
 45 |
 46 |
 47 |   export
 48 |   %foreign "browser:lambda:x=>x.arrayBuffer()"
 49 |   prim__arrayBuffer : Blob -> PrimIO (Promise ArrayBuffer)
 50 |
 51 |
 52 |   export
 53 |   %foreign "browser:lambda:(x,a,b,c)=>x.slice(a,b,c)"
 54 |   prim__slice :
 55 |        Blob
 56 |     -> UndefOr JSInt64
 57 |     -> UndefOr JSInt64
 58 |     -> UndefOr String
 59 |     -> PrimIO Blob
 60 |
 61 |
 62 |   export
 63 |   %foreign "browser:lambda:x=>x.stream()"
 64 |   prim__stream : Blob -> PrimIO ReadableStream
 65 |
 66 |
 67 |   export
 68 |   %foreign "browser:lambda:x=>x.text()"
 69 |   prim__text : Blob -> PrimIO (Promise String)
 70 |
 71 |
 72 |
 73 | namespace File
 74 |
 75 |   export
 76 |   %foreign "browser:lambda:(a,b,c)=> new File(a,b,c)"
 77 |   prim__new :
 78 |        Array
 79 |          (Union13
 80 |             Int8Array
 81 |             Int16Array
 82 |             Int32Array
 83 |             UInt8Array
 84 |             UInt8Array
 85 |             UInt8Array
 86 |             UInt8ClampedArray
 87 |             Float32Array
 88 |             Float64Array
 89 |             DataView
 90 |             ArrayBuffer
 91 |             Blob
 92 |             String)
 93 |     -> String
 94 |     -> UndefOr FilePropertyBag
 95 |     -> PrimIO File
 96 |
 97 |
 98 |   export
 99 |   %foreign "browser:lambda:x=>x.lastModified"
100 |   prim__lastModified : File -> PrimIO JSInt64
101 |
102 |
103 |   export
104 |   %foreign "browser:lambda:x=>x.name"
105 |   prim__name : File -> PrimIO String
106 |
107 |
108 |
109 | namespace FileList
110 |
111 |   export
112 |   %foreign "browser:lambda:x=>x.length"
113 |   prim__length : FileList -> PrimIO Bits32
114 |
115 |
116 |   export
117 |   %foreign "browser:lambda:(x,a)=>x.item(a)"
118 |   prim__item : FileList -> Bits32 -> PrimIO (Nullable File)
119 |
120 |
121 |
122 | namespace FileReader
123 |
124 |   export
125 |   %foreign "browser:lambda:()=> new FileReader()"
126 |   prim__new : PrimIO FileReader
127 |
128 |
129 |   export
130 |   %foreign "browser:lambda:x=>x.error"
131 |   prim__error : FileReader -> PrimIO (Nullable DOMException)
132 |
133 |
134 |   export
135 |   %foreign "browser:lambda:x=>x.onabort"
136 |   prim__onabort : FileReader -> PrimIO (Nullable EventHandlerNonNull)
137 |
138 |
139 |
140 |   export
141 |   %foreign "browser:lambda:(x,v)=>{x.onabort = v}"
142 |   prim__setOnabort : FileReader -> Nullable EventHandlerNonNull -> PrimIO ()
143 |
144 |
145 |
146 |   export
147 |   %foreign "browser:lambda:x=>x.onerror"
148 |   prim__onerror : FileReader -> PrimIO (Nullable EventHandlerNonNull)
149 |
150 |
151 |
152 |   export
153 |   %foreign "browser:lambda:(x,v)=>{x.onerror = v}"
154 |   prim__setOnerror : FileReader -> Nullable EventHandlerNonNull -> PrimIO ()
155 |
156 |
157 |
158 |   export
159 |   %foreign "browser:lambda:x=>x.onload"
160 |   prim__onload : FileReader -> PrimIO (Nullable EventHandlerNonNull)
161 |
162 |
163 |
164 |   export
165 |   %foreign "browser:lambda:(x,v)=>{x.onload = v}"
166 |   prim__setOnload : FileReader -> Nullable EventHandlerNonNull -> PrimIO ()
167 |
168 |
169 |
170 |   export
171 |   %foreign "browser:lambda:x=>x.onloadend"
172 |   prim__onloadend : FileReader -> PrimIO (Nullable EventHandlerNonNull)
173 |
174 |
175 |
176 |   export
177 |   %foreign "browser:lambda:(x,v)=>{x.onloadend = v}"
178 |   prim__setOnloadend : FileReader -> Nullable EventHandlerNonNull -> PrimIO ()
179 |
180 |
181 |
182 |   export
183 |   %foreign "browser:lambda:x=>x.onloadstart"
184 |   prim__onloadstart : FileReader -> PrimIO (Nullable EventHandlerNonNull)
185 |
186 |
187 |
188 |   export
189 |   %foreign "browser:lambda:(x,v)=>{x.onloadstart = v}"
190 |   prim__setOnloadstart : FileReader -> Nullable EventHandlerNonNull -> PrimIO ()
191 |
192 |
193 |
194 |   export
195 |   %foreign "browser:lambda:x=>x.onprogress"
196 |   prim__onprogress : FileReader -> PrimIO (Nullable EventHandlerNonNull)
197 |
198 |
199 |
200 |   export
201 |   %foreign "browser:lambda:(x,v)=>{x.onprogress = v}"
202 |   prim__setOnprogress : FileReader -> Nullable EventHandlerNonNull -> PrimIO ()
203 |
204 |
205 |
206 |   export
207 |   %foreign "browser:lambda:x=>x.readyState"
208 |   prim__readyState : FileReader -> PrimIO Bits16
209 |
210 |
211 |   export
212 |   %foreign "browser:lambda:x=>x.result"
213 |   prim__result : FileReader -> PrimIO (Nullable (Union2 String ArrayBuffer))
214 |
215 |
216 |   export
217 |   %foreign "browser:lambda:x=>x.abort()"
218 |   prim__abort : FileReader -> PrimIO ()
219 |
220 |
221 |   export
222 |   %foreign "browser:lambda:(x,a)=>x.readAsArrayBuffer(a)"
223 |   prim__readAsArrayBuffer : FileReader -> Blob -> PrimIO ()
224 |
225 |
226 |   export
227 |   %foreign "browser:lambda:(x,a)=>x.readAsBinaryString(a)"
228 |   prim__readAsBinaryString : FileReader -> Blob -> PrimIO ()
229 |
230 |
231 |   export
232 |   %foreign "browser:lambda:(x,a)=>x.readAsDataURL(a)"
233 |   prim__readAsDataURL : FileReader -> Blob -> PrimIO ()
234 |
235 |
236 |   export
237 |   %foreign "browser:lambda:(x,a,b)=>x.readAsText(a,b)"
238 |   prim__readAsText : FileReader -> Blob -> UndefOr String -> PrimIO ()
239 |
240 |
241 |
242 | namespace FileReaderSync
243 |
244 |   export
245 |   %foreign "browser:lambda:()=> new FileReaderSync()"
246 |   prim__new : PrimIO FileReaderSync
247 |
248 |
249 |   export
250 |   %foreign "browser:lambda:(x,a)=>x.readAsArrayBuffer(a)"
251 |   prim__readAsArrayBuffer : FileReaderSync -> Blob -> PrimIO ArrayBuffer
252 |
253 |
254 |   export
255 |   %foreign "browser:lambda:(x,a)=>x.readAsBinaryString(a)"
256 |   prim__readAsBinaryString : FileReaderSync -> Blob -> PrimIO String
257 |
258 |
259 |   export
260 |   %foreign "browser:lambda:(x,a)=>x.readAsDataURL(a)"
261 |   prim__readAsDataURL : FileReaderSync -> Blob -> PrimIO String
262 |
263 |
264 |   export
265 |   %foreign "browser:lambda:(x,a,b)=>x.readAsText(a,b)"
266 |   prim__readAsText : FileReaderSync -> Blob -> UndefOr String -> PrimIO String
267 |
268 |
269 |
270 |
271 |
272 | --------------------------------------------------------------------------------
273 | --          Dictionaries
274 | --------------------------------------------------------------------------------
275 |
276 | namespace BlobPropertyBag
277 |
278 |   export
279 |   %foreign "browser:lambda:(a,b)=> ({type: a,endings: b})"
280 |   prim__new : UndefOr String -> UndefOr String -> PrimIO BlobPropertyBag
281 |
282 |
283 |   export
284 |   %foreign "browser:lambda:x=>x.endings"
285 |   prim__endings : BlobPropertyBag -> PrimIO (UndefOr String)
286 |
287 |
288 |
289 |   export
290 |   %foreign "browser:lambda:(x,v)=>{x.endings = v}"
291 |   prim__setEndings : BlobPropertyBag -> UndefOr String -> PrimIO ()
292 |
293 |
294 |
295 |   export
296 |   %foreign "browser:lambda:x=>x.type"
297 |   prim__type : BlobPropertyBag -> PrimIO (UndefOr String)
298 |
299 |
300 |
301 |   export
302 |   %foreign "browser:lambda:(x,v)=>{x.type = v}"
303 |   prim__setType : BlobPropertyBag -> UndefOr String -> PrimIO ()
304 |
305 |
306 |
307 |
308 | namespace FilePropertyBag
309 |
310 |   export
311 |   %foreign "browser:lambda:(a)=> ({lastModified: a})"
312 |   prim__new : UndefOr JSInt64 -> PrimIO FilePropertyBag
313 |
314 |
315 |   export
316 |   %foreign "browser:lambda:x=>x.lastModified"
317 |   prim__lastModified : FilePropertyBag -> PrimIO (UndefOr JSInt64)
318 |
319 |
320 |
321 |   export
322 |   %foreign "browser:lambda:(x,v)=>{x.lastModified = v}"
323 |   prim__setLastModified : FilePropertyBag -> UndefOr JSInt64 -> PrimIO ()
324 |