-type state() :: #{buffer := string(), original := string()}.
-spec init(string()) -> ok.
-spec loop(state()) -> ok.
-spec new(string() | binary()) -> pid().
-spec skip(string() | {cont, integer(), string()}, integer()) -> {more, {cont, integer(), string()}} | {done, integer(), string()}.
-spec skip(string() | {cont, integer(), string()}, term(), integer()) -> {more, {cont, integer(), string()}} | {done, integer(), string()}.
-spec start_link(string()) -> pid().