Typed references over mutable and immutable maps of dynamically typed values
///|
test {
let request_id : @any_collection.AnyRef[String, String] =
@any_collection.AnyRef::AnyRef("request_id")
let values = @any_collection.AnyMutableMap::AnyMutableMap([
request_id.entry("request-1"),
])
debug_inspect(values.get(request_id), content="Some(\"request-1\")")
}moon add totto2727/any-collection@0.2.2///|
test {
let request_id : AnyRef[String, String] = AnyRef::AnyRef("request_id")
let retry_count : AnyRef[String, Int] = AnyRef::AnyRef("retry_count")
let mutable = AnyMutableMap::AnyMutableMap(
[request_id.entry("request-1"), retry_count.entry(2)],
capacity=8,
)
debug_inspect(mutable.get(request_id), content="Some(\"request-1\")")
mutable.set(retry_count, 3)
inspect(mutable.get_or(retry_count, 0), content="3")
inspect(mutable.map.length(), content="2")
let immutable = AnyImmutableHashMap::AnyImmutableHashMap([
request_id.entry("request-2"),
])
let updated = immutable.added(request_id, "request-3")
debug_inspect(immutable.get(request_id), content="Some(\"request-2\")")
debug_inspect(updated.get(request_id), content="Some(\"request-3\")")
inspect(updated.map.contains(request_id.key), content="true")
}moon add totto2727/any-collection@0.2.2fn[K : Hash + Eq] AnyImmutableHashMap::AnyImmutableHashMap(entries : ArrayView[(K, Any)]) -> AnyImmutableHashMap[K]fn[K : Hash + Eq, T] AnyImmutableHashMap::added(self : AnyImmutableHashMap[K], reference : AnyRef[K, T], value : T) -> AnyImmutableHashMap[K]fn[K : Hash + Eq, T] AnyImmutableHashMap::get(self : AnyImmutableHashMap[K], reference : AnyRef[K, T]) -> T? raisefn[K : Hash + Eq, T] AnyImmutableHashMap::get_or(self : AnyImmutableHashMap[K], reference : AnyRef[K, T], default : T) -> Tfn[K : Hash + Eq, T] AnyImmutableHashMap::get_or_none(self : AnyImmutableHashMap[K], reference : AnyRef[K, T]) -> T?fn[K : Hash + Eq] AnyMutableMap::AnyMutableMap(entries : ArrayView[(K, Any)], capacity? : Int) -> AnyMutableMap[K]fn[K : Hash + Eq, T] AnyMutableMap::get(self : AnyMutableMap[K], reference : AnyRef[K, T]) -> T? raisefn[K : Hash + Eq, T] AnyMutableMap::get_or(self : AnyMutableMap[K], reference : AnyRef[K, T], default : T) -> Tfn[K : Hash + Eq, T] AnyMutableMap::get_or_none(self : AnyMutableMap[K], reference : AnyRef[K, T]) -> T?fn[K : Hash + Eq, T] AnyMutableMap::set(self : AnyMutableMap[K], reference : AnyRef[K, T], value : T) -> Unitpub struct AnyRef[K, T] {
key : K
// private fields
}Install
Download zipTyped references over mutable and immutable maps of dynamically typed values