MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / get_or_create

Method get_or_create

packages/server/src/simulators/registry.rs:31–42  ·  view source on GitHub ↗
(&self, key: &str, create: F)

Source from the content-addressed store, hash-verified

29 }
30
31 fn get_or_create<F, E>(&self, key: &str, create: F) -> Result<T, E>
32 where
33 F: FnOnce() -> Result<T, E>,
34 {
35 let mut guard = self.sessions.lock().unwrap();
36 if let Some(value) = guard.get(key) {
37 return Ok(value.clone());
38 }
39 let value = create()?;
40 guard.insert(key.to_owned(), value.clone());
41 Ok(value)
42 }
43
44 fn remove(&self, key: &str) {
45 self.sessions.lock().unwrap().remove(key);

Callers 1

get_or_create_asyncMethod · 0.80

Calls 4

createFunction · 0.85
insertMethod · 0.80
getMethod · 0.65
cloneMethod · 0.65

Tested by

no test coverage detected