Для того чтобы экспортировать константы из Rust в JavaScript с использованием WebAssembly и Wasm-Pack, вам потребуется немного изменить ваш Rust-код с использованием `#[wasm_bindgen]` для создания статических методов или свойств.
Если вы хотите экспортировать константы, такие как в вашем примере с `FLAGS`, вы можете сделать это следующим образом:
1. Откройте ваш файл `lib.rs` или созданный Rust-файл.
2. Импортируйте нужные библиотеки и создайте структуру, используя `#[wasm_bindgen]`.
Вот пример, как это можно сделать:
```rust
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn enable_tables() -> u32 {
1 << 1 // 2
}
#[wasm_bindgen]
pub fn enable_footnotes() -> u32 {
1 << 2 // 4
}
#[wasm_bindgen]
pub fn enable_strikethrough() -> u32 {
1 << 3 // 8
}
#[wasm_bindgen]
pub fn get_flags() -> JsValue {
let flags = js_sys::Object::new();
js_sys::Reflect::set(&flags, &"ENABLE_TABLES".into(), &enable_tables().into()).unwrap();
js_sys::Reflect::set(&flags, &"ENABLE_FOOTNOTES".into(), &enable_footnotes().into()).unwrap();
js_sys::Reflect::set(&flags, &"ENABLE_STRIKETHROUGH".into(), &enable_strikethrough().into()).unwrap();
JsValue::from(flags)
}
```
### Использование
После компиляции Rust-кода в WebAssembly с помощью `wasm-pack`, в JavaScript вы сможете использовать экспортированные функции следующим образом:
```javascript
import { get_flags } from './your_project'; // Путь к вашему скомпилированному файлу
const FLAGS = get_flags();
// Теперь вы можете использовать FLAGS
console.log(FLAGS.ENABLE_TABLES); // 2
console.log(FLAGS.ENABLE_FOOTNOTES); // 4
console.log(FLAGS.ENABLE_STRIKETHROUGH); // 8
```
### Примечание
В этом коде мы создаем три функции для каждой константы, возвращая значения, соответствующие флагам. Также можно создать объект `flags`, в который добавляем все ваши константы, и возвращаем этот объект.
Таким образом, при использовании WebAssembly вы можете из Rust экспортировать константы в очень удобном формате для JavaScript, который соответствует вашим требованиям.