Dict
import { Dict } from "@swan-io/boxed";
Dict.entries(dict)
Returns the entries in the dict.
Contrary to the TS bindings for Object.entries
, the types are refined.
Examples
const index = Dict.entries({ foo: 1, bar: 2, baz: 3 });
// [["foo", 1], ["bar", 2], ["baz", 3]];
Dict.fromEntries(entries)
Returns a dict from the provided [key, value]
pairs.
Examples
const dict = Dict.fromEntries([
["foo", 1],
["bar", 2],
["baz", 3],
]);
// { foo: 1, bar: 2, baz: 3 };
Dict.keys(dict)
Returns the keys in the dict.
Contrary to the TS bindings for Object.keys
, the types are refined.
Examples
const index = Dict.keys({ foo: 1, bar: 2, baz: 3 });
// ["foo", "bar", "baz"];
Dict.values(dict)
Returns the values in the dict.
Contrary to the TS bindings for Object.values
, the types are refined.
Examples
const index = Dict.values({ foo: 1, bar: 2, baz: 3 });
// [1, 2, 3];
Dict.fromOptional(dictOfOptions)
Takes a dict whose values are Option<unknown>
and returns a dict containing only the values contained in Some
.
Examples
Dict.fromOptional({
foo: Option.Some(1),
bar: Option.None(),
baz: Option.None(),
});
// {foo: 1}
Dict.fromOptional({
foo: Option.Some(1),
bar: Option.Some(2),
baz: Option.None(),
});
// {foo: 1, bar: 2}
Dict.fromOptional({
foo: Option.None(),
bar: Option.None(),
baz: Option.None(),
});
// {}