Skip to content

0.2.0: Refining SDK for Abstraction Usage (#6)

Choose a tag to compare

@BlankDev117 BlankDev117 released this 19 Apr 18:33
· 4 commits to main since this release
768587c
Motivation
----
The current implementation couples a bunch of shared logic/interfaces to
the main messaging implementation in `OSK.Messages.Messaging`. While
this works, it's not ideal for projects that don't necessarily need or
want to add a dependency on the core implementation for OSK (i.e.
courier integrations, recipient-only libraries, etc.) where the core
logic would add extra cruft that isn't required for the project.

Modifications
----
* Moved the main interfaces and data structures related to the Courier
and Message Recipient integrations into the abstraction layer, so the
core implementation for messaging can be ignored when not needed
* Refactored the system to drop the requirement of message <T> types for
the interfaces and instead use generic non-typed interfaces/data
structures for the integration and usage of the library. Only when
messages are sent will <T> types be used

Result
----
The library is a bit easier to integrate with in certain scenarios not
requiring the usage of the main message implementation

Fixes #5