Packages

Bindings for Erlang's ETS tables. Forked and updated from gts.

Current section

Files

Jump to
carpenter src carpenter@internal@ets_bindings.erl
Raw

src/carpenter@internal@ets_bindings.erl

-module(carpenter@internal@ets_bindings).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([all/0, drop/1, delete_key/2, delete_all_objects/1, delete_object/2, insert/2, insert_new/2, lookup/2, give_away/3, new_table/2, member/2, take/2]).
-spec all() -> list(gleam@erlang@atom:atom_()).
all() ->
ets:all().
-spec drop(gleam@erlang@atom:atom_()) -> nil.
drop(Table) ->
ets:delete(Table).
-spec delete_key(gleam@erlang@atom:atom_(), any()) -> nil.
delete_key(Table, Key) ->
ets:delete(Table, Key).
-spec delete_all_objects(gleam@erlang@atom:atom_()) -> nil.
delete_all_objects(Table) ->
ets:delete_all_objects(Table).
-spec delete_object(gleam@erlang@atom:atom_(), {any(), any()}) -> nil.
delete_object(Table, Object) ->
ets:delete_object(Table, Object).
-spec insert(gleam@erlang@atom:atom_(), list({any(), any()})) -> nil.
insert(Table, Tuple) ->
ets:insert(Table, Tuple).
-spec insert_new(gleam@erlang@atom:atom_(), list({any(), any()})) -> boolean().
insert_new(Table, Tuple) ->
ets:insert_new(Table, Tuple).
-spec lookup(gleam@erlang@atom:atom_(), FXA) -> list({FXA, any()}).
lookup(Table, Key) ->
ets:lookup(Table, Key).
-spec give_away(gleam@erlang@atom:atom_(), any(), any()) -> nil.
give_away(Table, Pid, Gift_data) ->
ets:give_way(Table, Pid, Gift_data).
-spec new_table(gleam@erlang@atom:atom_(), list(gleam@dynamic:dynamic_())) -> {ok,
gleam@erlang@atom:atom_()} |
{error, nil}.
new_table(Name, Props) ->
carpenter:new_table(Name, Props).
-spec member(gleam@erlang@atom:atom_(), any()) -> boolean().
member(Table, Key) ->
ets:member(Table, Key).
-spec take(gleam@erlang@atom:atom_(), FXJ) -> list({FXJ, any()}).
take(Table, Key) ->
ets:take(Table, Key).