-
Notifications
You must be signed in to change notification settings - Fork 162
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added FileReaderSync to dom.experimental
- Loading branch information
Showing
1 changed file
with
48 additions
and
0 deletions.
There are no files selected for viewing
48 changes: 48 additions & 0 deletions
48
src/main/scala/org/scalajs/dom/experimental/FileReaderSync.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package org.scalajs.dom.experimental | ||
|
||
import org.scalajs.dom.raw.Blob | ||
|
||
import scala.scalajs.js | ||
import scala.scalajs.js.annotation._ | ||
import scala.scalajs.js.typedarray.ArrayBuffer | ||
|
||
/** | ||
* The FileReaderSync interface allows to read File or Blob objects synchronously. | ||
* | ||
* This interface is only available in workers as it enables synchronous I/O that could potentially block. | ||
* | ||
* MDN | ||
*/ | ||
@js.native | ||
@JSGlobal | ||
class FileReaderSync() extends js.Object { | ||
|
||
/** | ||
* The readAsArrayBuffer method is used to starts reading the contents of the | ||
* specified Blob or File. When the read operation is finished, the readyState | ||
* becomes DONE, and the loadend is triggered. At that time, the result attribute | ||
* contains an ArrayBuffer representing the file's data. | ||
* | ||
* MDN | ||
*/ | ||
def readAsArrayBuffer(blob: Blob): ArrayBuffer = js.native | ||
|
||
/** | ||
* The readAsDataURL method is used to starts reading the contents of the specified | ||
* Blob or File. When the read operation is finished, the readyState becomes DONE, and | ||
* the loadend is triggered. At that time, the result attribute contains a data: URL | ||
* representing the file's data as base64 encoded string. | ||
* | ||
* MDN | ||
*/ | ||
def readAsDataURL(blob: Blob): URL = js.native | ||
|
||
/** | ||
* The readAsText method is used to read the contents of the specified Blob or File. | ||
* When the read operation is complete, the readyState is changed to DONE, the loadend | ||
* is triggered, and the result attribute contains the contents of the file as a text string. | ||
* | ||
* MDN | ||
*/ | ||
def readAsText(blob: Blob, encoding: String = "UTF-8"): String = js.native | ||
} |