1#![allow(unknown_lints)]
8#![deny(
9 clippy::await_holding_lock,
10 clippy::borrow_as_ptr,
11 clippy::branches_sharing_code,
12 clippy::cast_lossless,
13 clippy::clippy::collection_is_never_read,
14 clippy::cloned_instead_of_copied,
15 clippy::cognitive_complexity,
16 clippy::create_dir,
17 clippy::deref_by_slicing,
18 clippy::derivable_impls,
19 clippy::derive_partial_eq_without_eq,
20 clippy::equatable_if_let,
21 clippy::exhaustive_structs,
22 clippy::expect_used,
23 clippy::expl_impl_clone_on_copy,
24 clippy::explicit_deref_methods,
25 clippy::explicit_into_iter_loop,
26 clippy::explicit_iter_loop,
27 clippy::filetype_is_file,
28 clippy::flat_map_option,
29 clippy::format_push_string,
30 clippy::fn_params_excessive_bools,
31 clippy::future_not_send,
32 clippy::get_unwrap,
33 clippy::implicit_clone,
34 clippy::if_then_some_else_none,
35 clippy::impl_trait_in_params,
36 clippy::implicit_clone,
37 clippy::inefficient_to_string,
38 clippy::inherent_to_string,
39 clippy::iter_not_returning_iterator,
40 clippy::large_types_passed_by_value,
41 clippy::large_include_file,
42 clippy::let_and_return,
43 clippy::manual_assert,
44 clippy::manual_ok_or,
45 clippy::manual_split_once,
46 clippy::manual_let_else,
47 clippy::manual_string_new,
48 clippy::map_flatten,
49 clippy::map_unwrap_or,
50 clippy::missing_enforced_import_renames,
51 clippy::missing_assert_message,
52 clippy::missing_const_for_fn,
53 clippy::must_use_candidate,
54 clippy::mut_mut,
55 clippy::needless_for_each,
56 clippy::needless_option_as_deref,
57 clippy::needless_pass_by_value,
58 clippy::needless_collect,
59 clippy::needless_continue,
60 clippy::non_send_fields_in_send_ty,
61 clippy::nonstandard_macro_braces,
62 clippy::option_if_let_else,
63 clippy::option_option,
64 clippy::rc_mutex,
65 clippy::redundant_else,
66 clippy::same_name_method,
67 clippy::semicolon_if_nothing_returned,
68 clippy::str_to_string,
69 clippy::string_to_string,
70 clippy::too_many_lines,
71 clippy::trivially_copy_pass_by_ref,
72 clippy::trivial_regex,
73 clippy::try_err,
74 clippy::unnested_or_patterns,
75 clippy::unused_async,
76 clippy::unwrap_or_else_default,
77 clippy::useless_let_if_seq,
78 bad_style,
79 clashing_extern_declarations,
80 dead_code,
81 deprecated,
82 explicit_outlives_requirements,
83 improper_ctypes,
84 invalid_value,
85 missing_copy_implementations,
86 missing_debug_implementations,
87 mutable_transmutes,
88 no_mangle_generic_items,
89 non_shorthand_field_patterns,
90 overflowing_literals,
91 path_statements,
92 patterns_in_fns_without_body,
93 private_in_public,
94 trivial_bounds,
95 trivial_casts,
96 trivial_numeric_casts,
97 type_alias_bounds,
98 unconditional_recursion,
99 unreachable_pub,
100 unsafe_code,
101 unstable_features,
102 unused,
103 unused_allocation,
104 unused_comparisons,
105 unused_import_braces,
106 unused_parens,
107 unused_qualifications,
108 while_true,
109 missing_docs
110)]
111#![warn(clippy::exhaustive_enums)]
112#![allow(
113 unused_attributes,
114 clippy::derive_partial_eq_without_eq,
115 clippy::box_default,
116 clippy::exhaustive_enums
117)]
118#![allow()]
121
122#[cfg(feature = "config")]
124pub mod audit;
125mod helpers;
126mod traits;
127
128#[cfg(feature = "config")]
130pub mod lockdown;
131
132#[cfg(feature = "config")]
134pub mod config;
135pub mod error;
137mod utils;
138
139#[allow(unused)]
140pub(crate) use utils::impl_from_for;
141
142#[cfg(feature = "v0")]
144pub mod v0;
145
146#[cfg(feature = "v1")]
148pub mod v1;
149
150pub mod load;
152
153pub type Error = crate::error::ManifestError;
155
156#[cfg(feature = "config")]
157mod feature_config {
158 use crate::config::BoundIdentifier;
159 pub use crate::config::WickConfiguration;
160 use crate::error::ManifestError;
161 pub type Resolver =
163 dyn Fn(&BoundIdentifier) -> Result<crate::config::OwnedConfigurationItem, ManifestError> + Send + Sync;
164 pub use crate::traits::*;
165
166 #[doc(hidden)]
168 pub trait ConfigValidation {
169 type Config;
170 fn validate(config: &Self::Config, resolver: &Resolver) -> Result<(), flow_component::ComponentError>;
171 }
172 pub use wick_asset_reference::{
173 normalize_path,
174 AssetReference,
175 Error as AssetError,
176 FetchOptions,
177 FetchableAssetReference,
178 };
179}
180#[cfg(feature = "config")]
181pub use feature_config::*;
182
183pub(crate) type Result<T> = std::result::Result<T, Error>;