summaryrefslogtreecommitdiffstats
path: root/intl/icu_capi/js/package/lib/ICU4XLocaleFallbackConfig.js
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu_capi/js/package/lib/ICU4XLocaleFallbackConfig.js')
-rw-r--r--intl/icu_capi/js/package/lib/ICU4XLocaleFallbackConfig.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/intl/icu_capi/js/package/lib/ICU4XLocaleFallbackConfig.js b/intl/icu_capi/js/package/lib/ICU4XLocaleFallbackConfig.js
new file mode 100644
index 0000000000..f327a084be
--- /dev/null
+++ b/intl/icu_capi/js/package/lib/ICU4XLocaleFallbackConfig.js
@@ -0,0 +1,15 @@
+import wasm from "./diplomat-wasm.mjs"
+import * as diplomatRuntime from "./diplomat-runtime.js"
+import { ICU4XLocaleFallbackPriority_js_to_rust, ICU4XLocaleFallbackPriority_rust_to_js } from "./ICU4XLocaleFallbackPriority.js"
+import { ICU4XLocaleFallbackSupplement_js_to_rust, ICU4XLocaleFallbackSupplement_rust_to_js } from "./ICU4XLocaleFallbackSupplement.js"
+
+export class ICU4XLocaleFallbackConfig {
+ constructor(underlying, edges_a) {
+ this.priority = ICU4XLocaleFallbackPriority_rust_to_js[diplomatRuntime.enumDiscriminant(wasm, underlying)];
+ this.extension_key = (() => {
+ const [ptr, size] = new Uint32Array(wasm.memory.buffer, underlying + 4, 2);
+ return diplomatRuntime.readString(wasm, ptr, size);
+ })();
+ this.fallback_supplement = ICU4XLocaleFallbackSupplement_rust_to_js[diplomatRuntime.enumDiscriminant(wasm, underlying + 12)];
+ }
+}