api.hrl 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. -include("wf.hrl").
  2. % n2o types
  3. -type name() :: atom() | binary() | string().
  4. -type render() :: list() | binary() | tuple() | list(tuple()).
  5. -type wire_answer() :: undefined | list(tuple()).
  6. -type wiring() :: string() | tuple().
  7. % update
  8. -spec update(name(), render()) -> wire_answer().
  9. -spec insert_top(name(), render()) -> wire_answer().
  10. -spec insert_bottom(name(), render()) -> wire_answer().
  11. -spec insert_before(name(), render()) -> wire_answer().
  12. -spec insert_after(name(), render()) -> wire_answer().
  13. -spec remove(name()) -> wire_answer().
  14. % wire
  15. -spec wire(wiring()) -> wire_answer().
  16. % async
  17. -spec async(name(),fun()) -> {pid(),{async,{name(),any()}}}.
  18. -spec start(#handler{}) -> {pid(),{name(),any()}}.
  19. -spec stop(name()) -> any().
  20. -spec restart(name()) -> any().
  21. -spec flush() -> any().
  22. -spec flush(any()) -> any().
  23. % pickle
  24. -spec pickle(any()) -> binary().
  25. -spec depickle(binary()) -> any().
  26. % session
  27. -spec session(name()) -> any().
  28. -spec session(name(), any()) -> any().
  29. -spec user() -> any().
  30. -spec user(any()) -> any().
  31. % mq
  32. -spec send(name(), any()) -> {ok,pid()}.
  33. -spec reg(name(), any()) -> defined | undefined | any().
  34. -spec unreg(name()) -> skip | undefined | any().
  35. % query
  36. -spec q(name()) -> any().
  37. -spec qc(name()) -> any().
  38. -spec qp(name()) -> any().