Skip to main content

wowlab_wasm/
lib.rs

1//! Non-engine browser bindings published in the `wowlab-common` npm package.
2
3#![cfg(feature = "wasm")]
4#![expect(
5    clippy::missing_errors_doc,
6    reason = "exported functions return named JavaScript Error objects through the crate's typed Wasm error contracts"
7)]
8
9mod analytics;
10#[cfg(all(test, target_arch = "wasm32"))]
11mod boundary_tests;
12mod dto;
13mod markdown;
14mod numeric;
15mod parcel;
16mod parsing;
17mod permutations;
18mod scaling;
19
20mod sim_config;
21
22pub use analytics::{
23    WasmAnalyticsError, wasm_compute_chart_overlay, wasm_compute_scatter_overlay,
24    wasm_compute_timeline_metrics, wasm_decode_and_derive, wasm_decode_job_result,
25    wasm_pan_timeline_by, wasm_zoom_timeline_at,
26};
27pub use dto::{
28    ExportKindDto, ParcelConfigDto, ParcelDecodeMetaDto, ParcelDecodedDto, ParcelLimitsDto,
29    ResultExportDto, ResultItemDto,
30};
31pub use markdown::{WasmMarkdownDoc, WasmMarkdownTable};
32pub use parcel::{
33    WasmParcelError, wasm_parcel_decode, wasm_parcel_decode_result_export,
34    wasm_parcel_default_limits, wasm_parcel_encode, wasm_parcel_encode_result_export,
35    wasm_parcel_inspect, wasm_parcel_result_export_prefix,
36};
37pub use parsing::{
38    WasmAnalyzeResult, WasmParsingError, wasm_analyze_spell_desc, wasm_decode_loadout,
39    wasm_encode_minimal_loadout, wasm_extract_spec_id_from_loadout, wasm_parse_simc,
40    wasm_parse_spell_desc, wasm_render_global_string, wasm_render_spell_desc_with_data,
41    wasm_tokenize_spell_desc,
42};
43pub use permutations::{
44    wasm_build_permutation_space, wasm_build_space_for_selection, wasm_compute_cost_analysis,
45    wasm_generate_permutation_rows, wasm_tournament_payload,
46};
47pub use scaling::wasm_resolve_item;
48pub use sim_config::{
49    WasmSimConfigError, wasm_build_sentinel_config, wasm_build_sim_config,
50    wasm_parse_implemented_specs, wasm_parse_job_meta,
51};
52pub use wowlab_types::wasm::WasmCommonError;
53
54#[cfg(feature = "crypto")]
55mod crypto;
56#[cfg(feature = "crypto")]
57pub use crypto::{
58    WasmCryptoError, wasm_build_sign_message, wasm_build_sign_message_bytes,
59    wasm_generate_node_keypair, wasm_sha256_hex, wasm_sign_message, wasm_verify_signature,
60};