// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/translation-api
///|
/// TranslatorCreateCoreOptions dictionary
pub(all) struct TranslatorCreateCoreOptions {
sourceLanguage : String
targetLanguage : String
}
///|
/// Create a new TranslatorCreateCoreOptions with default values
pub fn TranslatorCreateCoreOptions::default() -> TranslatorCreateCoreOptions {
TranslatorCreateCoreOptions::{ sourceLanguage: "", targetLanguage: "" }
}
///|
extern "js" fn TranslatorCreateCoreOptions::to_js_ffi(
self : TranslatorCreateCoreOptions,
) -> JsValue =
#| (self) => ({
#| sourceLanguage: self.sourceLanguage,
#| targetLanguage: self.targetLanguage
#| })
///|
/// Convert to JsValue
pub fn TranslatorCreateCoreOptions::to_js(
self : TranslatorCreateCoreOptions,
) -> JsValue {
TranslatorCreateCoreOptions::to_js_ffi(self)
}
///|
extern "js" fn TranslatorCreateCoreOptions::from_js_ffi(
value : JsValue,
) -> TranslatorCreateCoreOptions =
#| (v) => ({
#| sourceLanguage: v.sourceLanguage,
#| targetLanguage: v.targetLanguage
#| })
///|
/// Convert from JsValue
pub fn TranslatorCreateCoreOptions::from_js(
value : JsValue,
) -> TranslatorCreateCoreOptions {
TranslatorCreateCoreOptions::from_js_ffi(value)
}
///|
/// TranslatorCreateOptions dictionary
pub(all) struct TranslatorCreateOptions {
sourceLanguage : String
targetLanguage : String
signal : AbortSignal?
monitor : CreateMonitorCallback?
}
///|
/// Create a new TranslatorCreateOptions with default values
pub fn TranslatorCreateOptions::default() -> TranslatorCreateOptions {
TranslatorCreateOptions::{
sourceLanguage: "",
targetLanguage: "",
signal: None,
monitor: None,
}
}
///|
extern "js" fn TranslatorCreateOptions::to_js_ffi(
self : TranslatorCreateOptions,
) -> JsValue =
#| (self) => ({
#| sourceLanguage: self.sourceLanguage,
#| targetLanguage: self.targetLanguage,
#| signal: ((() => { const v = self.signal; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| monitor: ((() => { const v = self.monitor; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn TranslatorCreateOptions::to_js(
self : TranslatorCreateOptions,
) -> JsValue {
TranslatorCreateOptions::to_js_ffi(self)
}
///|
extern "js" fn TranslatorCreateOptions::from_js_ffi(
value : JsValue,
) -> TranslatorCreateOptions =
#| (v) => ({
#| sourceLanguage: v.sourceLanguage,
#| targetLanguage: v.targetLanguage,
#| signal: (v.signal === undefined ? { $tag: 0 } : { $tag: 1, _0: v.signal }),
#| monitor: (v.monitor === undefined ? { $tag: 0 } : { $tag: 1, _0: v.monitor })
#| })
///|
/// Convert from JsValue
pub fn TranslatorCreateOptions::from_js(
value : JsValue,
) -> TranslatorCreateOptions {
TranslatorCreateOptions::from_js_ffi(value)
}
///|
/// TranslatorTranslateOptions dictionary
pub(all) struct TranslatorTranslateOptions {
signal : AbortSignal?
}
///|
/// Create a new TranslatorTranslateOptions with default values
pub fn TranslatorTranslateOptions::default() -> TranslatorTranslateOptions {
TranslatorTranslateOptions::{ signal: None }
}
///|
extern "js" fn TranslatorTranslateOptions::to_js_ffi(
self : TranslatorTranslateOptions,
) -> JsValue =
#| (self) => ({
#| signal: ((() => { const v = self.signal; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn TranslatorTranslateOptions::to_js(
self : TranslatorTranslateOptions,
) -> JsValue {
TranslatorTranslateOptions::to_js_ffi(self)
}
///|
extern "js" fn TranslatorTranslateOptions::from_js_ffi(
value : JsValue,
) -> TranslatorTranslateOptions =
#| (v) => ({
#| signal: (v.signal === undefined ? { $tag: 0 } : { $tag: 1, _0: v.signal })
#| })
///|
/// Convert from JsValue
pub fn TranslatorTranslateOptions::from_js(
value : JsValue,
) -> TranslatorTranslateOptions {
TranslatorTranslateOptions::from_js_ffi(value)
}
///|
/// LanguageDetectorCreateCoreOptions dictionary
pub(all) struct LanguageDetectorCreateCoreOptions {
expectedInputLanguages : Array[String]?
}
///|
/// Create a new LanguageDetectorCreateCoreOptions with default values
pub fn LanguageDetectorCreateCoreOptions::default() -> LanguageDetectorCreateCoreOptions {
LanguageDetectorCreateCoreOptions::{ expectedInputLanguages: None }
}
///|
extern "js" fn LanguageDetectorCreateCoreOptions::to_js_ffi(
self : LanguageDetectorCreateCoreOptions,
) -> JsValue =
#| (self) => ({
#| expectedInputLanguages: ((() => { const v = self.expectedInputLanguages; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn LanguageDetectorCreateCoreOptions::to_js(
self : LanguageDetectorCreateCoreOptions,
) -> JsValue {
LanguageDetectorCreateCoreOptions::to_js_ffi(self)
}
///|
extern "js" fn LanguageDetectorCreateCoreOptions::from_js_ffi(
value : JsValue,
) -> LanguageDetectorCreateCoreOptions =
#| (v) => ({
#| expectedInputLanguages: (v.expectedInputLanguages === undefined ? { $tag: 0 } : { $tag: 1, _0: v.expectedInputLanguages })
#| })
///|
/// Convert from JsValue
pub fn LanguageDetectorCreateCoreOptions::from_js(
value : JsValue,
) -> LanguageDetectorCreateCoreOptions {
LanguageDetectorCreateCoreOptions::from_js_ffi(value)
}
///|
/// LanguageDetectorCreateOptions dictionary
pub(all) struct LanguageDetectorCreateOptions {
expectedInputLanguages : Array[String]?
signal : AbortSignal?
monitor : CreateMonitorCallback?
}
///|
/// Create a new LanguageDetectorCreateOptions with default values
pub fn LanguageDetectorCreateOptions::default() -> LanguageDetectorCreateOptions {
LanguageDetectorCreateOptions::{
expectedInputLanguages: None,
signal: None,
monitor: None,
}
}
///|
extern "js" fn LanguageDetectorCreateOptions::to_js_ffi(
self : LanguageDetectorCreateOptions,
) -> JsValue =
#| (self) => ({
#| expectedInputLanguages: ((() => { const v = self.expectedInputLanguages; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| signal: ((() => { const v = self.signal; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| monitor: ((() => { const v = self.monitor; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn LanguageDetectorCreateOptions::to_js(
self : LanguageDetectorCreateOptions,
) -> JsValue {
LanguageDetectorCreateOptions::to_js_ffi(self)
}
///|
extern "js" fn LanguageDetectorCreateOptions::from_js_ffi(
value : JsValue,
) -> LanguageDetectorCreateOptions =
#| (v) => ({
#| expectedInputLanguages: (v.expectedInputLanguages === undefined ? { $tag: 0 } : { $tag: 1, _0: v.expectedInputLanguages }),
#| signal: (v.signal === undefined ? { $tag: 0 } : { $tag: 1, _0: v.signal }),
#| monitor: (v.monitor === undefined ? { $tag: 0 } : { $tag: 1, _0: v.monitor })
#| })
///|
/// Convert from JsValue
pub fn LanguageDetectorCreateOptions::from_js(
value : JsValue,
) -> LanguageDetectorCreateOptions {
LanguageDetectorCreateOptions::from_js_ffi(value)
}
///|
/// LanguageDetectorDetectOptions dictionary
pub(all) struct LanguageDetectorDetectOptions {
signal : AbortSignal?
}
///|
/// Create a new LanguageDetectorDetectOptions with default values
pub fn LanguageDetectorDetectOptions::default() -> LanguageDetectorDetectOptions {
LanguageDetectorDetectOptions::{ signal: None }
}
///|
extern "js" fn LanguageDetectorDetectOptions::to_js_ffi(
self : LanguageDetectorDetectOptions,
) -> JsValue =
#| (self) => ({
#| signal: ((() => { const v = self.signal; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn LanguageDetectorDetectOptions::to_js(
self : LanguageDetectorDetectOptions,
) -> JsValue {
LanguageDetectorDetectOptions::to_js_ffi(self)
}
///|
extern "js" fn LanguageDetectorDetectOptions::from_js_ffi(
value : JsValue,
) -> LanguageDetectorDetectOptions =
#| (v) => ({
#| signal: (v.signal === undefined ? { $tag: 0 } : { $tag: 1, _0: v.signal })
#| })
///|
/// Convert from JsValue
pub fn LanguageDetectorDetectOptions::from_js(
value : JsValue,
) -> LanguageDetectorDetectOptions {
LanguageDetectorDetectOptions::from_js_ffi(value)
}
///|
/// LanguageDetectionResult dictionary
pub(all) struct LanguageDetectionResult {
detectedLanguage : String?
confidence : Double?
}
///|
/// Create a new LanguageDetectionResult with default values
pub fn LanguageDetectionResult::default() -> LanguageDetectionResult {
LanguageDetectionResult::{ detectedLanguage: None, confidence: None }
}
///|
extern "js" fn LanguageDetectionResult::to_js_ffi(
self : LanguageDetectionResult,
) -> JsValue =
#| (self) => ({
#| detectedLanguage: self.detectedLanguage,
#| confidence: ((() => { const v = self.confidence; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn LanguageDetectionResult::to_js(
self : LanguageDetectionResult,
) -> JsValue {
LanguageDetectionResult::to_js_ffi(self)
}
///|
extern "js" fn LanguageDetectionResult::from_js_ffi(
value : JsValue,
) -> LanguageDetectionResult =
#| (v) => ({
#| detectedLanguage: v.detectedLanguage,
#| confidence: (v.confidence === undefined ? { $tag: 0 } : { $tag: 1, _0: v.confidence })
#| })
///|
/// Convert from JsValue
pub fn LanguageDetectionResult::from_js(
value : JsValue,
) -> LanguageDetectionResult {
LanguageDetectionResult::from_js_ffi(value)
}
///|
/// Translator interface
pub type Translator
///|
pub extern "js" fn Translator::to_js_value(self : Translator) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to Translator (unchecked)
pub extern "js" fn Translator::from_js_value(v : JsValue) -> Translator =
#| (v) => v
///|
/// Safely cast JsValue to Translator (checked with instanceof)
pub extern "js" fn Translator::from_js_value_opt(v : JsValue) -> Translator? =
#| (v) => (v instanceof Translator) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to Translator (checked with instanceof)
pub extern "js" fn JsValue::as_translator(self : JsValue) -> Translator? =
#| (self) => (self instanceof Translator) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to Translator (unchecked)
pub extern "js" fn JsValue::to_translator(self : JsValue) -> Translator =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum TranslatorCreateError {
NetworkError(JsError)
OperationError(JsError)
NotAllowedError(JsError)
InvalidStateError(JsError)
NotSupportedError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum TranslatorAvailabilityError {
UnknownError(JsError)
OperationError(JsError)
InvalidStateError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum TranslatorTranslateError {
AbortError(JsError)
InvalidStateError(JsError)
QuotaExceededError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum TranslatorTranslateStreamingError {
AbortError(JsError)
InvalidStateError(JsError)
QuotaExceededError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum TranslatorMeasureInputUsageError {
UnknownError(JsError)
NotAllowedError(JsError)
NotReadableError(JsError)
OtherError(JsError)
} derive(Show)
///|
extern "js" fn Translator::create_ffi(
options : JsValue,
) -> Promise[Result[Translator, TranslatorCreateError]] =
#| (options) => Translator.create(options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'NetworkError') return { $tag: 0, _0: e }; if (n === 'OperationError') return { $tag: 1, _0: e }; if (n === 'NotAllowedError') return { $tag: 2, _0: e }; if (n === 'InvalidStateError') return { $tag: 3, _0: e }; if (n === 'NotSupportedError') return { $tag: 4, _0: e }; return { $tag: 5, _0: e }; })() }))
///|
pub fn Translator::create(
options : TranslatorCreateOptions,
) -> Promise[Result[Translator, TranslatorCreateError]] {
Translator::create_ffi(options.to_js())
}
///|
extern "js" fn Translator::availability_ffi(
options : JsValue,
) -> Promise[Result[Availability, TranslatorAvailabilityError]] =
#| (options) => Translator.availability(options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'OperationError') return { $tag: 1, _0: e }; if (n === 'InvalidStateError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub fn Translator::availability(
options : TranslatorCreateCoreOptions,
) -> Promise[Result[Availability, TranslatorAvailabilityError]] {
Translator::availability_ffi(options.to_js())
}
///|
pub extern "js" fn Translator::translate(
self : Translator,
input : String,
) -> Promise[Result[String, TranslatorTranslateError]] =
#| (self, input) => self.translate(input).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'AbortError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; if (n === 'QuotaExceededError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
extern "js" fn Translator::translate_with_options_ffi(
self : Translator,
input : String,
options : JsValue,
) -> Promise[Result[String, TranslatorTranslateError]] =
#| (self, input, options) => self.translate(input, options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'AbortError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; if (n === 'QuotaExceededError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub fn Translator::translate_with_options(
self : Translator,
input : String,
options : TranslatorTranslateOptions,
) -> Promise[Result[String, TranslatorTranslateError]] {
Translator::translate_with_options_ffi(self, input, options.to_js())
}
///|
pub extern "js" fn Translator::translate_streaming(
self : Translator,
input : String,
) -> Result[ReadableStream, TranslatorTranslateStreamingError] =
#| (self, input) => (() => { try { return { $tag: 1, _0: self.translateStreaming(input) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'AbortError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; if (n === 'QuotaExceededError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }; } })()
///|
extern "js" fn Translator::translate_streaming_with_options_ffi(
self : Translator,
input : String,
options : JsValue,
) -> Result[ReadableStream, TranslatorTranslateStreamingError] =
#| (self, input, options) => (() => { try { return { $tag: 1, _0: self.translateStreaming(input, options) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'AbortError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; if (n === 'QuotaExceededError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }; } })()
///|
pub fn Translator::translate_streaming_with_options(
self : Translator,
input : String,
options : TranslatorTranslateOptions,
) -> Result[ReadableStream, TranslatorTranslateStreamingError] {
Translator::translate_streaming_with_options_ffi(self, input, options.to_js())
}
///|
pub extern "js" fn Translator::get_source_language(self : Translator) -> String =
#| (self) => self.sourceLanguage
///|
pub extern "js" fn Translator::get_target_language(self : Translator) -> String =
#| (self) => self.targetLanguage
///|
pub extern "js" fn Translator::measure_input_usage(
self : Translator,
input : String,
) -> Promise[Result[Double, TranslatorMeasureInputUsageError]] =
#| (self, input) => self.measureInputUsage(input).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'NotAllowedError') return { $tag: 1, _0: e }; if (n === 'NotReadableError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
extern "js" fn Translator::measure_input_usage_with_options_ffi(
self : Translator,
input : String,
options : JsValue,
) -> Promise[Result[Double, TranslatorMeasureInputUsageError]] =
#| (self, input, options) => self.measureInputUsage(input, options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'NotAllowedError') return { $tag: 1, _0: e }; if (n === 'NotReadableError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub fn Translator::measure_input_usage_with_options(
self : Translator,
input : String,
options : TranslatorTranslateOptions,
) -> Promise[Result[Double, TranslatorMeasureInputUsageError]] {
Translator::measure_input_usage_with_options_ffi(self, input, options.to_js())
}
///|
pub extern "js" fn Translator::get_input_quota(self : Translator) -> Double =
#| (self) => self.inputQuota
///|
pub extern "js" fn Translator::destroy(self : Translator) -> Unit =
#| (self) => self.destroy()
///|
/// LanguageDetector interface
pub type LanguageDetector
///|
pub extern "js" fn LanguageDetector::to_js_value(
self : LanguageDetector,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to LanguageDetector (unchecked)
pub extern "js" fn LanguageDetector::from_js_value(
v : JsValue,
) -> LanguageDetector =
#| (v) => v
///|
/// Safely cast JsValue to LanguageDetector (checked with instanceof)
pub extern "js" fn LanguageDetector::from_js_value_opt(
v : JsValue,
) -> LanguageDetector? =
#| (v) => (v instanceof LanguageDetector) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to LanguageDetector (checked with instanceof)
pub extern "js" fn JsValue::as_language_detector(
self : JsValue,
) -> LanguageDetector? =
#| (self) => (self instanceof LanguageDetector) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to LanguageDetector (unchecked)
pub extern "js" fn JsValue::to_language_detector(
self : JsValue,
) -> LanguageDetector =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum LanguageDetectorCreateError {
NetworkError(JsError)
OperationError(JsError)
NotAllowedError(JsError)
InvalidStateError(JsError)
NotSupportedError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum LanguageDetectorAvailabilityError {
UnknownError(JsError)
OperationError(JsError)
InvalidStateError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum LanguageDetectorDetectError {
AbortError(JsError)
InvalidStateError(JsError)
QuotaExceededError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum LanguageDetectorMeasureInputUsageError {
UnknownError(JsError)
NotAllowedError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn LanguageDetector::create() -> Promise[
Result[LanguageDetector, LanguageDetectorCreateError],
] =
#| () => LanguageDetector.create().then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'NetworkError') return { $tag: 0, _0: e }; if (n === 'OperationError') return { $tag: 1, _0: e }; if (n === 'NotAllowedError') return { $tag: 2, _0: e }; if (n === 'InvalidStateError') return { $tag: 3, _0: e }; if (n === 'NotSupportedError') return { $tag: 4, _0: e }; return { $tag: 5, _0: e }; })() }))
///|
extern "js" fn LanguageDetector::create_with_options_ffi(
options : JsValue,
) -> Promise[Result[LanguageDetector, LanguageDetectorCreateError]] =
#| (options) => LanguageDetector.create(options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'NetworkError') return { $tag: 0, _0: e }; if (n === 'OperationError') return { $tag: 1, _0: e }; if (n === 'NotAllowedError') return { $tag: 2, _0: e }; if (n === 'InvalidStateError') return { $tag: 3, _0: e }; if (n === 'NotSupportedError') return { $tag: 4, _0: e }; return { $tag: 5, _0: e }; })() }))
///|
pub fn LanguageDetector::create_with_options(
options : LanguageDetectorCreateOptions,
) -> Promise[Result[LanguageDetector, LanguageDetectorCreateError]] {
LanguageDetector::create_with_options_ffi(options.to_js())
}
///|
pub extern "js" fn LanguageDetector::availability() -> Promise[
Result[Availability, LanguageDetectorAvailabilityError],
] =
#| () => LanguageDetector.availability().then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'OperationError') return { $tag: 1, _0: e }; if (n === 'InvalidStateError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
extern "js" fn LanguageDetector::availability_with_options_ffi(
options : JsValue,
) -> Promise[Result[Availability, LanguageDetectorAvailabilityError]] =
#| (options) => LanguageDetector.availability(options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'OperationError') return { $tag: 1, _0: e }; if (n === 'InvalidStateError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub fn LanguageDetector::availability_with_options(
options : LanguageDetectorCreateCoreOptions,
) -> Promise[Result[Availability, LanguageDetectorAvailabilityError]] {
LanguageDetector::availability_with_options_ffi(options.to_js())
}
///|
pub extern "js" fn LanguageDetector::detect(
self : LanguageDetector,
input : String,
) -> Promise[
Result[Array[LanguageDetectionResult], LanguageDetectorDetectError],
] =
#| (self, input) => self.detect(input).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'AbortError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; if (n === 'QuotaExceededError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
extern "js" fn LanguageDetector::detect_with_options_ffi(
self : LanguageDetector,
input : String,
options : JsValue,
) -> Promise[
Result[Array[LanguageDetectionResult], LanguageDetectorDetectError],
] =
#| (self, input, options) => self.detect(input, options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'AbortError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; if (n === 'QuotaExceededError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub fn LanguageDetector::detect_with_options(
self : LanguageDetector,
input : String,
options : LanguageDetectorDetectOptions,
) -> Promise[
Result[Array[LanguageDetectionResult], LanguageDetectorDetectError],
] {
LanguageDetector::detect_with_options_ffi(self, input, options.to_js())
}
///|
pub extern "js" fn LanguageDetector::get_expected_input_languages(
self : LanguageDetector,
) -> Array[String] =
#| (self) => self.expectedInputLanguages
///|
pub extern "js" fn LanguageDetector::measure_input_usage(
self : LanguageDetector,
input : String,
) -> Promise[Result[Double, LanguageDetectorMeasureInputUsageError]] =
#| (self, input) => self.measureInputUsage(input).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'NotAllowedError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }))
///|
extern "js" fn LanguageDetector::measure_input_usage_with_options_ffi(
self : LanguageDetector,
input : String,
options : JsValue,
) -> Promise[Result[Double, LanguageDetectorMeasureInputUsageError]] =
#| (self, input, options) => self.measureInputUsage(input, options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'UnknownError') return { $tag: 0, _0: e }; if (n === 'NotAllowedError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }))
///|
pub fn LanguageDetector::measure_input_usage_with_options(
self : LanguageDetector,
input : String,
options : LanguageDetectorDetectOptions,
) -> Promise[Result[Double, LanguageDetectorMeasureInputUsageError]] {
LanguageDetector::measure_input_usage_with_options_ffi(
self,
input,
options.to_js(),
)
}
///|
pub extern "js" fn LanguageDetector::get_input_quota(
self : LanguageDetector,
) -> Double =
#| (self) => self.inputQuota
///|
pub extern "js" fn LanguageDetector::destroy(self : LanguageDetector) -> Unit =
#| (self) => self.destroy()