Current section
Files
Jump to
Current section
Files
src/carpenter@table@set.erl
-module(carpenter@table@set).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([table/1, insert/3, lookup/2, delete/2]).
-spec table(carpenter@internal@table_type@set:set(FYH, FYI)) -> carpenter@table:table(FYH, FYI).
table(Set) ->
erlang:element(2, Set).
-spec insert(carpenter@internal@table_type@set:set(FYN, FYO), FYN, FYO) -> carpenter@internal@table_type@set:set(FYN, FYO).
insert(Set, Key, Value) ->
ets:insert(
begin
_pipe = erlang:element(2, Set),
carpenter@table:name(_pipe)
end,
{Key, Value}
),
Set.
-spec lookup(carpenter@internal@table_type@set:set(FYT, FYU), FYT) -> gleam@option:option(FYU).
lookup(Set, Key) ->
case ets:lookup(
begin
_pipe = erlang:element(2, Set),
carpenter@table:name(_pipe)
end,
Key
) of
[] ->
none;
[Value | _] ->
{some, erlang:element(2, Value)}
end.
-spec delete(carpenter@internal@table_type@set:set(FYY, FYZ), FYY) -> carpenter@internal@table_type@set:set(FYY, FYZ).
delete(Set, Key) ->
ets:delete(
begin
_pipe = erlang:element(2, Set),
carpenter@table:name(_pipe)
end,
Key
),
Set.