luaur_require/functions/
validate_config.rs1use crate::records::luarequire_configuration::luarequire_Configuration;
2use luaur_vm::macros::lua_l_error::luaL_error;
3use luaur_vm::records::lua_state::lua_State;
4
5pub fn validate_config(l: *mut lua_State, config: &luarequire_Configuration) {
6 if config.is_require_allowed.is_none() {
7 luaL_error!(
8 l,
9 "require configuration is missing required function pointer: is_require_allowed"
10 );
11 return;
12 }
13 if config.reset.is_none() {
14 luaL_error!(
15 l,
16 "require configuration is missing required function pointer: reset"
17 );
18 return;
19 }
20 if config.jump_to_alias.is_none() {
21 luaL_error!(
22 l,
23 "require configuration is missing required function pointer: jump_to_alias"
24 );
25 return;
26 }
27 if config.to_parent.is_none() {
28 luaL_error!(
29 l,
30 "require configuration is missing required function pointer: to_parent"
31 );
32 return;
33 }
34 if config.to_child.is_none() {
35 luaL_error!(
36 l,
37 "require configuration is missing required function pointer: to_child"
38 );
39 return;
40 }
41 if config.is_module_present.is_none() {
42 luaL_error!(
43 l,
44 "require configuration is missing required function pointer: is_module_present"
45 );
46 return;
47 }
48 if config.get_chunkname.is_none() {
49 luaL_error!(
50 l,
51 "require configuration is missing required function pointer: get_chunkname"
52 );
53 return;
54 }
55 if config.get_loadname.is_none() {
56 luaL_error!(
57 l,
58 "require configuration is missing required function pointer: get_loadname"
59 );
60 return;
61 }
62 if config.get_cache_key.is_none() {
63 luaL_error!(
64 l,
65 "require configuration is missing required function pointer: get_cache_key"
66 );
67 return;
68 }
69 if config.get_config_status.is_none() {
70 luaL_error!(
71 l,
72 "require configuration is missing required function pointer: get_config_status"
73 );
74 return;
75 }
76 if config.get_alias.is_some() && config.get_config.is_some() {
77 luaL_error!(
78 l,
79 "require configuration cannot define both get_alias and get_config"
80 );
81 return;
82 }
83 if config.get_alias.is_none() && config.get_config.is_none() {
84 luaL_error!(
85 l,
86 "require configuration is missing required function pointer: either get_alias or get_config (not both)"
87 );
88 return;
89 }
90 if config.load.is_none() {
91 luaL_error!(
92 l,
93 "require configuration is missing required function pointer: load"
94 );
95 }
96}