// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type LoadingManager
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn LoadingManager::LoadingManager() -> LoadingManager = "loadingManager"
///|
pub extern "js" fn LoadingManager::set_on_load(
self : LoadingManager,
callback : () -> Unit,
) -> Unit =
#| (self, callback) => { self.onLoad = callback; }
///|
pub extern "js" fn LoadingManager::set_on_progress(
self : LoadingManager,
callback : (String, Int, Int) -> Unit,
) -> Unit =
#| (self, callback) => { self.onProgress = callback; }
///|
pub extern "js" fn LoadingManager::set_on_error(
self : LoadingManager,
callback : (String) -> Unit,
) -> Unit =
#| (self, callback) => { self.onError = callback; }
///|
pub extern "js" fn LoadingManager::set_url_modifier(
self : LoadingManager,
callback : (String) -> String,
) -> LoadingManager =
#| (self, callback) => self.setURLModifier(callback)
///|
pub extern "js" fn LoadingManager::set_on_start(
self : LoadingManager,
callback : (String, Int, Int) -> Unit,
) -> Unit =
#| (self, callback) => { self.onStart = callback; }
///|
pub extern "js" fn LoadingManager::item_start(
self : LoadingManager,
url : String,
) -> Unit =
#| (self, url) => self.itemStart(url)
///|
pub extern "js" fn LoadingManager::item_end(
self : LoadingManager,
url : String,
) -> Unit =
#| (self, url) => self.itemEnd(url)
///|
pub extern "js" fn LoadingManager::item_error(
self : LoadingManager,
url : String,
) -> Unit =
#| (self, url) => self.itemError(url)
///|
pub extern "js" fn LoadingManager::resolve_url(
self : LoadingManager,
url : String,
) -> String =
#| (self, url) => self.resolveURL(url)
///|
pub extern "js" fn LoadingManager::abort(
self : LoadingManager,
) -> LoadingManager =
#| (self) => self.abort()
///|
extern "js" fn LoadingManager::ffi_get_handler(
self : LoadingManager,
file : String,
) -> Nullable[Loader] =
#| (self, file) => self.getHandler(file)
///|
pub fn LoadingManager::get_handler(
self : LoadingManager,
file : String,
) -> Loader? {
self.ffi_get_handler(file).to_option()
}
///|
extern "js" fn LoadingManager::ffi_add_handler(
self : LoadingManager,
pattern : String,
flags : String,
loader : Loader,
) -> JsResult[LoadingHandler] =
#| (self, pattern, flags, loader) => { try { return { ok: true, value: (() => { const regex = new RegExp(pattern, flags); self.addHandler(regex, loader); return { manager: self, pattern: regex }; })() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn LoadingManager::add_handler(
self : LoadingManager,
pattern : String,
flags : String,
loader : Loader,
) -> LoadingHandler raise LoadError {
match self.ffi_add_handler(pattern, flags, loader).into_result() {
Ok(value) => value
Err(message) => raise LoadError(message)
}
}
///|
pub extern "js" fn LoadingManager::clear_url_modifier(
self : LoadingManager,
) -> LoadingManager =
#| (self) => self.setURLModifier(undefined)