summaryrefslogtreecommitdiffstats
path: root/src/util/env.rs
blob: c6d0fd12b57516b31fdecd5534cba7d7c518a70d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//
// Copyright (c) 2020-2022 science+computing ag and other contributors
//
// This program and the accompanying materials are made
// available under the terms of the Eclipse Public License 2.0
// which is available at https://www.eclipse.org/legal/epl-2.0/
//
// SPDX-License-Identifier: EPL-2.0
//

use anyhow::anyhow;
use anyhow::Result;

use crate::util::EnvironmentVariableName;

pub fn parse_to_env(s: &str) -> Result<(EnvironmentVariableName, String)> {
    let v = s.split('=').collect::<Vec<_>>();
    Ok((
        EnvironmentVariableName::from(
            *v.get(0)
                .ok_or_else(|| anyhow!("Environment variable has no key: {}", s))?,
        ),
        String::from(
            *v.get(1)
                .ok_or_else(|| anyhow!("Environment variable has no key: {}", s))?,
        ),
    ))
}