teo_runtime/stdlib/
load.rs

1use crate::namespace;
2use crate::stdlib::admin::load_admin_library;
3use crate::stdlib::decorators::enum_decorators::load_enum_decorators;
4use crate::stdlib::decorators::enum_member_decorators::load_enum_member_decorators;
5use crate::stdlib::decorators::handler_decorators::load_handler_decorators;
6use crate::stdlib::decorators::interface_decorators::load_interface_decorators;
7use crate::stdlib::decorators::model_decorators::load_model_decorators;
8use crate::stdlib::decorators::model_field_decorators::load_model_field_decorators;
9use crate::stdlib::decorators::model_property_decorators::load_model_property_decorators;
10use crate::stdlib::decorators::model_relation_decorators::load_model_relation_decorators;
11use crate::stdlib::middlewares::log_request::load_log_request_middleware;
12use crate::stdlib::pipeline_items::logical::load_pipeline_logical_items;
13use crate::stdlib::pipeline_items::math::load_pipeline_math_items;
14use crate::stdlib::pipeline_items::model_object::load_pipeline_model_object_items;
15use crate::stdlib::pipeline_items::number::load_pipeline_number_items;
16use crate::stdlib::pipeline_items::string::generation::load_pipeline_string_generation_items;
17use crate::stdlib::pipeline_items::string::transform::load_pipeline_string_transform_items;
18use crate::stdlib::pipeline_items::string::validation::load_pipeline_string_validation_items;
19use crate::stdlib::pipeline_items::value::load_pipeline_value_items;
20use crate::stdlib::pipeline_items::array::load_pipeline_array_items;
21use crate::stdlib::pipeline_items::bcrypt::load_bcrypt_items;
22use crate::stdlib::pipeline_items::vector::load_pipeline_vector_items;
23use crate::stdlib::pipeline_items::datetime::load_pipeline_datetime_items;
24use crate::stdlib::pipeline_items::debug::load_debug_items;
25use crate::stdlib::structs::load_structs;
26use crate::stdlib::identity::load_identity_library;
27use crate::stdlib::middlewares::cors::load_cors_middleware;
28use crate::stdlib::pipeline_items::request::load_pipeline_request_items;
29
30pub fn load(namespace_builder: &namespace::Builder) {
31    if !namespace_builder.path().is_empty() {
32        panic!("Please load standard library in the main namespace.")
33    }
34    let std_namespace_builder = namespace_builder.child_namespace_or_create("std");
35    // structs
36    load_structs(&std_namespace_builder);
37    // decorators
38    load_model_decorators(&std_namespace_builder);
39    load_model_field_decorators(&std_namespace_builder);
40    load_model_relation_decorators(&std_namespace_builder);
41    load_model_property_decorators(&std_namespace_builder);
42    load_enum_decorators(&std_namespace_builder);
43    load_enum_member_decorators(&std_namespace_builder);
44    load_interface_decorators(&std_namespace_builder);
45    load_handler_decorators(&std_namespace_builder);
46    // pipeline items
47    load_pipeline_math_items(&std_namespace_builder);
48    load_pipeline_number_items(&std_namespace_builder);
49    load_pipeline_string_generation_items(&std_namespace_builder);
50    load_pipeline_string_transform_items(&std_namespace_builder);
51    load_pipeline_string_validation_items(&std_namespace_builder);
52    load_pipeline_value_items(&std_namespace_builder);
53    load_pipeline_model_object_items(&std_namespace_builder);
54    load_pipeline_logical_items(&std_namespace_builder);
55    load_pipeline_array_items(&std_namespace_builder);
56    load_pipeline_vector_items(&std_namespace_builder);
57    load_pipeline_datetime_items(&std_namespace_builder);
58    load_pipeline_request_items(&std_namespace_builder);
59    load_debug_items(&std_namespace_builder);
60    load_bcrypt_items(&std_namespace_builder);
61    // middlewares
62    load_cors_middleware(&std_namespace_builder);
63    load_log_request_middleware(&std_namespace_builder);
64    // libraries
65    load_identity_library(&std_namespace_builder);
66    load_admin_library(&std_namespace_builder);
67}