The constructor contract every registered MyAnimeList operation class
must satisfy: the shared BaseOperation constructor shape the wiring
invokes with (authToken, options, stateOwner).
Constraining the return type to BaseOperation (rather than
unknown) lets the wiring track constructed instances for the
token-refresh lifecycle without a cast, and makes the compiler enforce
the contract at registry-definition time. An operation class that does
not extend BaseOperation fails typecheck here instead of silently
losing updateAuth/getAuth at runtime.
The constructor contract every registered MyAnimeList operation class must satisfy: the shared
BaseOperationconstructor shape the wiring invokes with(authToken, options, stateOwner).Constraining the return type to BaseOperation (rather than
unknown) lets the wiring track constructed instances for the token-refresh lifecycle without a cast, and makes the compiler enforce the contract at registry-definition time. An operation class that does not extendBaseOperationfails typecheck here instead of silently losingupdateAuth/getAuthat runtime.