MCPcopy Index your code
hub / github.com/cargo-lambda/cargo-lambda / package_metadata

Function package_metadata

crates/cargo-lambda-metadata/src/config.rs:229–260  ·  view source on GitHub ↗
(metadata: &CargoMetadata, name: &FunctionNames)

Source from the content-addressed store, hash-verified

227}
228
229fn package_metadata(metadata: &CargoMetadata, name: &FunctionNames) -> Result<Option<Config>> {
230 let kind_condition = |pkg: &Package, target: &Target| {
231 target.kind.iter().any(|kind| kind == "bin") && pkg.metadata.is_object()
232 };
233
234 if name.is_empty() {
235 if metadata.packages.len() == 1 {
236 return get_config_from_root(metadata);
237 }
238
239 let targets = binary_targets_from_metadata(metadata, false);
240 trace!(
241 ?targets,
242 "inspecting targets for a command without package name"
243 );
244 if targets.len() == 1 {
245 let name = targets
246 .into_iter()
247 .next()
248 .ok_or(MetadataError::MissingBinaryInProject)?;
249 return get_config_from_packages(
250 metadata,
251 kind_condition,
252 &FunctionNames::from_package(&name),
253 );
254 }
255
256 return Ok(None);
257 };
258
259 get_config_from_packages(metadata, kind_condition, name)
260}
261
262fn get_config_from_packages(
263 metadata: &CargoMetadata,

Callers 1

general_config_figmentFunction · 0.85

Calls 4

get_config_from_rootFunction · 0.85
get_config_from_packagesFunction · 0.85
is_emptyMethod · 0.45

Tested by

no test coverage detected