1extern crate self as syncular_runtime;
2
3#[path = "core/app_schema.rs"]
4pub mod app_schema;
5#[path = "core/auth_lease_selection.rs"]
6pub mod auth_lease_selection;
7#[path = "core/binary_snapshot.rs"]
8pub mod binary_snapshot;
9#[path = "core/binary_sync_pack.rs"]
10pub mod binary_sync_pack;
11#[cfg(all(feature = "boltffi-bindings", feature = "native"))]
12#[path = "bindings/boltffi.rs"]
13pub mod boltffi_bindings;
14#[path = "core/client.rs"]
15pub mod client;
16#[path = "core/command_history.rs"]
17pub mod command_history;
18#[path = "storage/compaction.rs"]
19pub mod compaction;
20#[path = "core/crdt_field.rs"]
21pub mod crdt_field;
22#[path = "core/crdt_yjs.rs"]
23pub mod crdt_yjs;
24#[cfg(feature = "native")]
25#[path = "storage/diesel_sqlite.rs"]
26pub mod diesel_sqlite;
27#[cfg(feature = "e2ee")]
28#[path = "core/encrypted_crdt.rs"]
29pub mod encrypted_crdt;
30#[cfg(not(feature = "e2ee"))]
31#[path = "core/encrypted_crdt_disabled.rs"]
32pub mod encrypted_crdt;
33#[cfg(feature = "e2ee")]
34#[path = "core/encryption.rs"]
35pub mod encryption;
36#[cfg(not(feature = "e2ee"))]
37#[path = "core/encryption_disabled.rs"]
38pub mod encryption;
39#[path = "core/error.rs"]
40pub mod error;
41#[cfg(feature = "demo-todo-fixture")]
42pub mod fixtures;
43#[path = "core/health.rs"]
44pub mod health;
45#[path = "core/limits.rs"]
46pub mod limits;
47#[cfg(feature = "native")]
48#[path = "native/facade.rs"]
49pub mod native;
50#[cfg(feature = "native")]
51#[path = "native/ffi.rs"]
52pub mod native_ffi;
53#[path = "core/protocol.rs"]
54pub mod protocol;
55#[path = "core/runtime_schema.rs"]
56pub mod runtime_schema;
57#[cfg(feature = "native")]
58#[path = "storage/diesel_schema.rs"]
59mod schema;
60#[cfg(feature = "native")]
61#[path = "storage/sqlite_query.rs"]
62pub mod sqlite_query;
63#[path = "storage/traits.rs"]
64pub mod store;
65pub mod transport;
66#[cfg(all(feature = "web-client", target_arch = "wasm32"))]
67#[path = "web/client.rs"]
68pub mod web_client;
69#[cfg(all(feature = "web-owned-sqlite-core", target_arch = "wasm32"))]
70#[path = "web/sqlite_wasm_store.rs"]
71pub mod web_sqlite_wasm_store;
72#[cfg(feature = "web-client")]
73#[path = "web/store.rs"]
74pub mod web_store;
75#[path = "core/worker.rs"]
76pub mod worker;
77
78#[cfg(all(target_arch = "wasm32", feature = "web-client"))]
79#[wasm_bindgen::prelude::wasm_bindgen(start)]
80pub fn syncular_wasm_start() {
81 use std::sync::Once;
82
83 static INIT: Once = Once::new();
84 INIT.call_once(|| {
85 std::panic::set_hook(Box::new(|info| {
86 let location = info
87 .location()
88 .map(|location| {
89 format!(
90 " at {}:{}:{}",
91 location.file(),
92 location.line(),
93 location.column()
94 )
95 })
96 .unwrap_or_default();
97 web_sys::console::error_1(&wasm_bindgen::JsValue::from_str(&format!(
98 "Syncular WASM panic: {info}{location}"
99 )));
100 }));
101 });
102}