Obscura.Recognizer behaviour (obscura v0.1.0)

Copy Markdown View Source

Behaviour for Obscura recognizers.

Summary

Callbacks

analyze(t, keyword)

@callback analyze(
  String.t(),
  keyword()
) ::
  [Obscura.Analyzer.Result.t()]
  | {:ok, [Obscura.Analyzer.Result.t()]}
  | {:error, term()}

analyze_many(list, keyword)

(optional)
@callback analyze_many(
  [String.t()],
  keyword()
) ::
  [[Obscura.Analyzer.Result.t()]]
  | {:ok, [[Obscura.Analyzer.Result.t()]]}
  | {:error, term()}

entity()

(optional)
@callback entity() :: atom()

name()

@callback name() :: atom()

supported_entities()

@callback supported_entities() :: [atom()]