/
githubmirror
/
tauri
Обзор
Документация
Войти
/
githubmirror
/
tauri
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
crates/tauri-cli/src/helpers/plist.rs
42 строки
1014 B
Lucas Fernandes Nogueira
feat(core): add config for Info.plist extensions, closes #13667 (#14108)
06 окт 2025, 20:05
Не верифицирован
06 окт 2025, 20:05
ed7c9a4
Код
Авторство
О чём код?
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT use std::path::PathBuf; use crate::error::Context; pub enum PlistKind { Path(PathBuf), Plist(plist::Value), } impl From<PathBuf> for PlistKind { fn from(p: PathBuf) -> Self { Self::Path(p) } } impl From<plist::Value> for PlistKind { fn from(p: plist::Value) -> Self { Self::Plist(p) } } pub fn merge_plist(src: Vec<PlistKind>) -> crate::Result<plist::Value> { let mut merged_plist = plist::Dictionary::new(); for plist_kind in src { let src_plist = match plist_kind { PlistKind::Path(p) => plist::Value::from_file(&p) .with_context(|| format!("failed to parse plist from {}", p.display()))?, PlistKind::Plist(v) => v, }; if let Some(dict) = src_plist.into_dictionary() { for (key, value) in dict { merged_plist.insert(key, value); } } } Ok(plist::Value::Dictionary(merged_plist)) }