Description
consistently use Horde Streams instead of raw stream handles
use union and intersection types instead of classes which try to be two things at once
stream-first interface, to-string on demand rather than conditional return type
Config class rather than options array
PSR-14 EventListener interface for observability
Horde Stream for imap connection dump instead of "debug" option
PSR-16 SimpleCache interface for caching concerns (probably implement PSR-6 interface later as a better fit)
All optional collaborators default to Noop/Null implementations rather than "null" to avoid need to check on every step
lazy implementation, i.e. only connect once we really need to. No connection on construct or deserialization
Feature parity with old implementation except "deprecated"
Keep lib/ as-is for now but will deprecate in Horde 6 lifecycle and abandon later
Keep all attribution to @slusarz and other original authors - we didn't invent this thing, we just repackage it
Prerequisite for #39
Reactions are currently unavailable
You can’t perform that action at this time.
Prerequisite for #39