// Do not edit. This file is generated.
// MoonBit type: FileReader
// Specifications: FileAPI.idl
///|
/// [FileReader](https://developer.mozilla.org/en-US/docs/Web/API/FileReader)
#external
pub type FileReader
///|
pub impl TJsValue for FileReader with to_js(self : FileReader) -> JsValue = "%identity"
///|
pub impl FromJsAny for FileReader with from_js_any(value : JsAny) -> FileReader = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// Prefer `try_into()` for checked downcasts.
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TFileReader] FileReader::into(self : FileReader) -> T = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// WARNING: If the underlying JS value is not of type T, this will silently
/// produce a value with incorrect type, leading to undefined behavior.
pub fn[T : TFileReader] FileReader::unsafe_into(self : FileReader) -> T = "%identity"
///|
pub impl HasConstructor for FileReader with constructor_name() {
"FileReader"
}
///|
/// Checked downcast — returns None if the JS value is not an instance of T.
pub fn[T : TFileReader + HasConstructor] FileReader::try_into(
self : FileReader,
) -> T? {
if js_instanceof(TJsValue::to_js(self), T::constructor_name()) {
Some(self.unsafe_into())
} else {
None
}
}
///|
pub impl TFileReader for FileReader
///|
pub impl TEventTarget for FileReader
///|
pub fn FileReader::new() -> FileReader {
file_reader_new_ffi()
}
///|
pub const FILE_READER_EMPTY : UInt = 0
///|
pub const FILE_READER_LOADING : UInt = 1
///|
pub const FILE_READER_DONE : UInt = 2
///|
pub(open) trait TFileReaderResult: TJsValue {}
///|
pub impl TFileReaderResult for String
///|
pub impl TFileReaderResult for ArrayBuffer
///|
#external
pub type FileReaderResult
///|
pub impl TJsValue for FileReaderResult with to_js(self : FileReaderResult) -> JsValue = "%identity"
///|
pub impl FromJsAny for FileReaderResult with from_js_any(value : JsAny) -> FileReaderResult = "%identity"
///|
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TFileReaderResult + FromJsAny] FileReaderResult::into(
self : FileReaderResult,
) -> T {
FromJsAny::from_js_any(jsvalue_to_jsany(TJsValue::to_js(self)))
}
///|
pub fn[T : TFileReaderResult + FromJsAny] FileReaderResult::unsafe_into(
self : FileReaderResult,
) -> T {
FromJsAny::from_js_any(jsvalue_to_jsany(TJsValue::to_js(self)))
}
///|
pub fn[T : TFileReaderResult] FileReaderResult::from(
value : T,
) -> FileReaderResult = "%identity"
///|
pub impl TFileReaderResult for FileReaderResult
///|
/// [FileReader](https://developer.mozilla.org/en-US/docs/Web/API/FileReader) interface.
pub trait TFileReader: TEventTarget {
read_as_array_buffer(self : Self, blob : &TBlob) -> Unit = _
read_as_binary_string(self : Self, blob : &TBlob) -> Unit = _
read_as_text(self : Self, blob : &TBlob, encoding? : String) -> Unit = _
read_as_data_url(self : Self, blob : &TBlob) -> Unit = _
abort(self : Self) -> Unit = _
ready_state(self : Self) -> UInt = _
result(self : Self) -> FileReaderResult = _
error(self : Self) -> DOMException = _
onloadstart(self : Self) -> EventHandler = _
set_onloadstart(self : Self, onloadstart : (Event) -> JsValue) -> Unit = _
onprogress(self : Self) -> EventHandler = _
set_onprogress(self : Self, onprogress : (Event) -> JsValue) -> Unit = _
onload(self : Self) -> EventHandler = _
set_onload(self : Self, onload : (Event) -> JsValue) -> Unit = _
onabort(self : Self) -> EventHandler = _
set_onabort(self : Self, onabort : (Event) -> JsValue) -> Unit = _
onerror(self : Self) -> EventHandler = _
set_onerror(self : Self, onerror : (Event) -> JsValue) -> Unit = _
onloadend(self : Self) -> EventHandler = _
set_onloadend(self : Self, onloadend : (Event) -> JsValue) -> Unit = _
}
///|
/// [FileReader.readAsArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsArrayBuffer)
impl TFileReader with read_as_array_buffer(self : Self, blob : &TBlob) -> Unit {
file_reader_read_as_array_buffer_ffi(
TJsValue::to_js(self),
TJsValue::to_js(blob),
)
}
///|
/// [FileReader.readAsBinaryString](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsBinaryString)
impl TFileReader with read_as_binary_string(self : Self, blob : &TBlob) -> Unit {
file_reader_read_as_binary_string_ffi(
TJsValue::to_js(self),
TJsValue::to_js(blob),
)
}
///|
/// [FileReader.readAsText](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsText)
impl TFileReader with read_as_text(
self : Self,
blob : &TBlob,
encoding? : String,
) -> Unit {
file_reader_read_as_text_ffi(
TJsValue::to_js(self),
TJsValue::to_js(blob),
opt_to_js(encoding),
)
}
///|
/// [FileReader.readAsDataURL](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL)
impl TFileReader with read_as_data_url(self : Self, blob : &TBlob) -> Unit {
file_reader_read_as_data_url_ffi(TJsValue::to_js(self), TJsValue::to_js(blob))
}
///|
/// [FileReader.abort](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/abort)
impl TFileReader with abort(self : Self) -> Unit {
file_reader_abort_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.readyState](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readyState)
impl TFileReader with ready_state(self : Self) -> UInt {
file_reader_ready_state_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.result](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/result)
impl TFileReader with result(self : Self) -> FileReaderResult {
file_reader_result_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.error](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/error)
impl TFileReader with error(self : Self) -> DOMException {
file_reader_error_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onloadstart](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onloadstart)
impl TFileReader with onloadstart(self : Self) -> EventHandler {
file_reader_onloadstart_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onloadstart](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onloadstart)
impl TFileReader with set_onloadstart(
self : Self,
onloadstart : (Event) -> JsValue,
) -> Unit {
file_reader_set_onloadstart_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onloadstart)),
)
}
///|
/// [FileReader.onprogress](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onprogress)
impl TFileReader with onprogress(self : Self) -> EventHandler {
file_reader_onprogress_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onprogress](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onprogress)
impl TFileReader with set_onprogress(
self : Self,
onprogress : (Event) -> JsValue,
) -> Unit {
file_reader_set_onprogress_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onprogress)),
)
}
///|
/// [FileReader.onload](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onload)
impl TFileReader with onload(self : Self) -> EventHandler {
file_reader_onload_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onload](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onload)
impl TFileReader with set_onload(self : Self, onload : (Event) -> JsValue) -> Unit {
file_reader_set_onload_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onload)),
)
}
///|
/// [FileReader.onabort](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onabort)
impl TFileReader with onabort(self : Self) -> EventHandler {
file_reader_onabort_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onabort](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onabort)
impl TFileReader with set_onabort(self : Self, onabort : (Event) -> JsValue) -> Unit {
file_reader_set_onabort_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onabort)),
)
}
///|
/// [FileReader.onerror](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onerror)
impl TFileReader with onerror(self : Self) -> EventHandler {
file_reader_onerror_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onerror](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onerror)
impl TFileReader with set_onerror(self : Self, onerror : (Event) -> JsValue) -> Unit {
file_reader_set_onerror_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onerror)),
)
}
///|
/// [FileReader.onloadend](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onloadend)
impl TFileReader with onloadend(self : Self) -> EventHandler {
file_reader_onloadend_ffi(TJsValue::to_js(self))
}
///|
/// [FileReader.onloadend](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onloadend)
impl TFileReader with set_onloadend(self : Self, onloadend : (Event) -> JsValue) -> Unit {
file_reader_set_onloadend_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onloadend)),
)
}
///|
#cfg(target="js")
extern "js" fn file_reader_new_ffi() -> FileReader = "() => new FileReader()"
///|
#cfg(target="js")
extern "js" fn file_reader_read_as_array_buffer_ffi(
obj : JsValue,
blob : JsValue,
) -> Unit = "(obj, blob) => obj.readAsArrayBuffer(blob)"
///|
#cfg(target="js")
extern "js" fn file_reader_read_as_binary_string_ffi(
obj : JsValue,
blob : JsValue,
) -> Unit = "(obj, blob) => obj.readAsBinaryString(blob)"
///|
#cfg(target="js")
extern "js" fn file_reader_read_as_text_ffi(
obj : JsValue,
blob : JsValue,
encoding : JsValue,
) -> Unit = "(obj, blob, encoding) => obj.readAsText(blob, encoding)"
///|
#cfg(target="js")
extern "js" fn file_reader_read_as_data_url_ffi(
obj : JsValue,
blob : JsValue,
) -> Unit = "(obj, blob) => obj.readAsDataURL(blob)"
///|
#cfg(target="js")
extern "js" fn file_reader_abort_ffi(obj : JsValue) -> Unit = "(obj) => obj.abort()"
///|
#cfg(target="js")
extern "js" fn file_reader_ready_state_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.readyState"
///|
#cfg(target="js")
fn file_reader_ready_state_ffi(obj : JsValue) -> UInt {
file_reader_ready_state_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_result_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.result"
///|
#cfg(target="js")
fn file_reader_result_ffi(obj : JsValue) -> FileReaderResult {
file_reader_result_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_error_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.error"
///|
#cfg(target="js")
fn file_reader_error_ffi(obj : JsValue) -> DOMException {
file_reader_error_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_onloadstart_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onloadstart"
///|
#cfg(target="js")
fn file_reader_onloadstart_ffi(obj : JsValue) -> EventHandler {
file_reader_onloadstart_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_set_onloadstart_ffi(
obj : JsValue,
onloadstart : JsValue,
) -> Unit = "(obj, onloadstart) => { obj.onloadstart = onloadstart; }"
///|
#cfg(target="js")
extern "js" fn file_reader_onprogress_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onprogress"
///|
#cfg(target="js")
fn file_reader_onprogress_ffi(obj : JsValue) -> EventHandler {
file_reader_onprogress_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_set_onprogress_ffi(
obj : JsValue,
onprogress : JsValue,
) -> Unit = "(obj, onprogress) => { obj.onprogress = onprogress; }"
///|
#cfg(target="js")
extern "js" fn file_reader_onload_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onload"
///|
#cfg(target="js")
fn file_reader_onload_ffi(obj : JsValue) -> EventHandler {
file_reader_onload_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_set_onload_ffi(
obj : JsValue,
onload : JsValue,
) -> Unit = "(obj, onload) => { obj.onload = onload; }"
///|
#cfg(target="js")
extern "js" fn file_reader_onabort_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onabort"
///|
#cfg(target="js")
fn file_reader_onabort_ffi(obj : JsValue) -> EventHandler {
file_reader_onabort_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_set_onabort_ffi(
obj : JsValue,
onabort : JsValue,
) -> Unit = "(obj, onabort) => { obj.onabort = onabort; }"
///|
#cfg(target="js")
extern "js" fn file_reader_onerror_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onerror"
///|
#cfg(target="js")
fn file_reader_onerror_ffi(obj : JsValue) -> EventHandler {
file_reader_onerror_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_set_onerror_ffi(
obj : JsValue,
onerror : JsValue,
) -> Unit = "(obj, onerror) => { obj.onerror = onerror; }"
///|
#cfg(target="js")
extern "js" fn file_reader_onloadend_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onloadend"
///|
#cfg(target="js")
fn file_reader_onloadend_ffi(obj : JsValue) -> EventHandler {
file_reader_onloadend_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn file_reader_set_onloadend_ffi(
obj : JsValue,
onloadend : JsValue,
) -> Unit = "(obj, onloadend) => { obj.onloadend = onloadend; }"
///|
#cfg(target="wasm-gc")
fn file_reader_new_ffi() -> FileReader = "webapi_FileReader" "new"
///|
#cfg(target="wasm-gc")
fn file_reader_read_as_array_buffer_ffi(obj : JsValue, blob : JsValue) -> Unit = "webapi_FileReader" "readAsArrayBuffer"
///|
#cfg(target="wasm-gc")
fn file_reader_read_as_binary_string_ffi(obj : JsValue, blob : JsValue) -> Unit = "webapi_FileReader" "readAsBinaryString"
///|
#cfg(target="wasm-gc")
fn file_reader_read_as_text_ffi(
obj : JsValue,
blob : JsValue,
encoding : JsValue,
) -> Unit = "webapi_FileReader" "readAsText"
///|
#cfg(target="wasm-gc")
fn file_reader_read_as_data_url_ffi(obj : JsValue, blob : JsValue) -> Unit = "webapi_FileReader" "readAsDataURL"
///|
#cfg(target="wasm-gc")
fn file_reader_abort_ffi(obj : JsValue) -> Unit = "webapi_FileReader" "abort"
///|
#cfg(target="wasm-gc")
fn file_reader_ready_state_ffi(obj : JsValue) -> UInt = "webapi_FileReader" "get_readyState"
///|
#cfg(target="wasm-gc")
fn file_reader_result_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_result"
///|
#cfg(target="wasm-gc")
fn file_reader_result_ffi(obj : JsValue) -> FileReaderResult {
file_reader_result_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_error_ffi(obj : JsValue) -> DOMException = "webapi_FileReader" "get_error"
///|
#cfg(target="wasm-gc")
fn file_reader_onloadstart_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_onloadstart"
///|
#cfg(target="wasm-gc")
fn file_reader_onloadstart_ffi(obj : JsValue) -> EventHandler {
file_reader_onloadstart_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_set_onloadstart_ffi(
obj : JsValue,
onloadstart : JsValue,
) -> Unit = "webapi_FileReader" "set_onloadstart"
///|
#cfg(target="wasm-gc")
fn file_reader_onprogress_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_onprogress"
///|
#cfg(target="wasm-gc")
fn file_reader_onprogress_ffi(obj : JsValue) -> EventHandler {
file_reader_onprogress_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_set_onprogress_ffi(obj : JsValue, onprogress : JsValue) -> Unit = "webapi_FileReader" "set_onprogress"
///|
#cfg(target="wasm-gc")
fn file_reader_onload_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_onload"
///|
#cfg(target="wasm-gc")
fn file_reader_onload_ffi(obj : JsValue) -> EventHandler {
file_reader_onload_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_set_onload_ffi(obj : JsValue, onload : JsValue) -> Unit = "webapi_FileReader" "set_onload"
///|
#cfg(target="wasm-gc")
fn file_reader_onabort_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_onabort"
///|
#cfg(target="wasm-gc")
fn file_reader_onabort_ffi(obj : JsValue) -> EventHandler {
file_reader_onabort_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_set_onabort_ffi(obj : JsValue, onabort : JsValue) -> Unit = "webapi_FileReader" "set_onabort"
///|
#cfg(target="wasm-gc")
fn file_reader_onerror_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_onerror"
///|
#cfg(target="wasm-gc")
fn file_reader_onerror_ffi(obj : JsValue) -> EventHandler {
file_reader_onerror_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_set_onerror_ffi(obj : JsValue, onerror : JsValue) -> Unit = "webapi_FileReader" "set_onerror"
///|
#cfg(target="wasm-gc")
fn file_reader_onloadend_ffi_wasm(obj : JsValue) -> JsValue = "webapi_FileReader" "get_onloadend"
///|
#cfg(target="wasm-gc")
fn file_reader_onloadend_ffi(obj : JsValue) -> EventHandler {
file_reader_onloadend_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn file_reader_set_onloadend_ffi(obj : JsValue, onloadend : JsValue) -> Unit = "webapi_FileReader" "set_onloadend"