1pub mod collections;
6pub mod prelude;
7
8use swamp_script_semantic::{modules::ResolvedModule, ResolvedRustType, TypeNumber};
9pub const SPARSE_TYPE_ID: TypeNumber = 999;
10pub const SPARSE_ID_TYPE_ID: TypeNumber = 998;
11
12#[must_use]
13pub fn create_std_module() -> ResolvedModule {
14 let std_module = ResolvedModule::new(&["std".to_string()]);
15
16 {
17 let mut borrowed_namespace = std_module.namespace.borrow_mut();
18
19 let sparse_rust_type = ResolvedRustType {
20 type_name: "Sparse".to_string(),
21 number: SPARSE_TYPE_ID,
22 };
23 borrowed_namespace
24 .add_built_in_rust_type(sparse_rust_type)
25 .expect("could not register Sparse type");
26
27 let rust_type_ref_for_id = ResolvedRustType {
28 type_name: "SparseId".to_string(),
29 number: SPARSE_ID_TYPE_ID,
30 };
31 borrowed_namespace
32 .add_built_in_rust_type(rust_type_ref_for_id)
33 .expect("could not register SparseId type");
34 }
35
36 std_module
37}