Packages
event_bus
1.3.3
1.7.0
1.6.2
1.6.1
1.6.0
retired
1.5.2
retired
1.5.1
retired
1.5.0
retired
1.4.4
retired
1.4.3
retired
1.4.2
retired
1.4.1
retired
1.4.0
retired
1.3.8
retired
1.3.7
retired
1.3.6
retired
1.3.5
retired
1.3.4
retired
1.3.3
retired
1.3.2
retired
1.3.1
retired
1.3.0
retired
1.2.0
retired
1.1.3
retired
1.1.2
retired
1.1.1
retired
1.1.0
retired
1.0.0
retired
1.0.0-beta4
retired
1.0.0-beta3
retired
1.0.0-beta2
retired
1.0.0-beta1
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.1
retired
0.6.0
retired
0.5.0
retired
0.4.1
retired
0.4.0
retired
0.3.1
retired
0.3.0
retired
0.2.1
retired
0.2.0
retired
0.1.0
retired
Traceable, extendable and minimalist event bus implementation for Elixir with built-in event store and event watcher based on ETS
Retired package: Deprecated - Please prefer always latest minor
Current section
Files
Jump to
Current section
Files
lib/event_bus/utils/regex.ex
defmodule EventBus.Util.Regex do
@moduledoc """
Regex util for event bus
"""
@doc """
It checks if the given list of keys includes the key
"""
@spec superset?(list(String.t() | atom()), String.t() | atom()) :: boolean()
def superset?(keys, key) do
regex_pattern = build_regex_pattern(keys)
case Regex.compile(regex_pattern) do
{:ok, pattern} -> Regex.match?(pattern, "#{key}")
_ -> false
end
end
@spec build_regex_pattern(list(String.t() | atom())) :: String.t()
defp build_regex_pattern(keys) do
keys
|> Enum.map(fn key -> "^(#{key})" end)
|> Enum.join("|")
end
end