pub fn checkpoint() -> Checkpoint
Expand description

Create a new checkpoint, for the current environment of the process, at a later date a checkpoint can be restored using [Checkpoint::restore], which will rollback the environment to all values present at the time this function was called.

Example

fn main() {
    envmnt::set("ENV_VAR", "123");
    envmnt::set("ENV_VAR2", "345");

    assert!(envmnt::is_equal("ENV_VAR", "123"));
    assert!(envmnt::is_equal("ENV_VAR2", "345"));
    assert!(!envmnt::exists("ENV_VAR3"));
     
    let chk = envmnt::checkpoint();

    envmnt::set("ENV_VAR", "1234");
    envmnt::remove("ENV_VAR2");
    envmnt::set("ENV_VAR3", "654");

    assert!(envmnt::is_equal("ENV_VAR", "1234"));
    assert!(!envmnt::exists("ENV_VAR2"));
    assert!(envmnt::is_equal("ENV_VAR3", "654"));
     
    chk.restore();

    assert!(envmnt::is_equal("ENV_VAR", "123"));
    assert!(envmnt::is_equal("ENV_VAR2", "345"));
    assert!(!envmnt::exists("ENV_VAR3"));
}