easy_client library

Imperative Lanis client without Riverpod providers.

Import this instead of package:liblanis/liblanis.dart when you want session management and parsers without a ProviderContainer.

Classes

AccountSummary
Account row without password (safe for lists).
AppletContext
Runtime context for applet parsers (session + account-scoped settings).
AppletMeta
Dart-only applet metadata (no Flutter icons/widgets).
AppletParser<T>
Base class for SPH applet parsers (Dart-only, no Flutter).
AppletResponseStream<T>
Applets
Built-in applet identifiers and defaults used by parsers.
CalendarEvent
CalendarEventCategory
CalendarParser
ChatCreationData
ClearTextAccount
Account credentials with plaintext password (in-memory / just decrypted).
ConnectionChecker
Probes SPH reachability and tracks session Dio outcomes.
Conversation
ConversationsParser
ConversationsRefreshResult
CourseFolderDetails
CourseFolderHistoryEntry
CourseFolderHistoryEntryFile
CourseFolderNewEntryConstraints
CourseFolderStartPage
CourseFolderStartPageEntryInformation
CreationResponse
CurrentEntry
DataStorageParser
DetailedLesson
EasyAccounts
Account CRUD for EasyLanisClient (no Riverpod).
EasyConnection
Connection status wrapper for EasyLanisClient.
EasyLanisClient
Imperative Lanis client without Riverpod.
EasyParsers
Lazy registry of applet parsers for EasyLanisClient.
EasySettings
Shared and per-account settings for EasyLanisClient.
ExceptionWithStackTrace
FetcherResponse<T>
FileInfo
Lightweight file descriptor used by lessons and related applets.
FileNode
FileStatus
FolderNode
Homework
KnownParticipant
LanisClient
Thin bootstrap for the liblanis Riverpod graph.
LanisConfig
Immutable configuration produced by LanisClient.configure.
LanisDatabase
Unified SPH client database (file or in-memory).
LanisSession
Authenticated SPH HTTP session for one account.
Lesson
LessonExam
LessonMark
LessonsStudentParser
LessonsTeacherHome
LessonsTeacherParser
LessonTeacher
LessonUpload
MemorySecretStore
In-process SecretStore for tests and in-memory database mode.
OverviewEntry
OverviewFiltering
A useful class to directly modify the most recent downloaded overview stream, so it's fast.
OwnFile
PublicFile
ReceiverEntry
ReplyToConversationResult
SecretStore
Host-provided secure storage for account secrets (passwords).
SphTimeOfDay
Dart-only replacement for Flutter's TimeOfDay.
StorageManager
Configurable document/file cache backed by the session Dio client.
StudentStudyGroup
StudentStudyGroupExam
StudentStudyGroups
StudentStudyGroupTeacher
StudyGroupsStudentParser
Substitution
A data class to store a single substitution information
SubstitutionDay
A data class to store all substitution information for a single day
SubstitutionInfo
A data class to store all information that is available to every user for a single substitution day This value is plain html
SubstitutionPlan
A data class to store all substitution information available
SubstitutionsParser
TimeTable
TimeTableData
TimeTableRow
TimetableStudentParser
TimetableSubject
TypedSettings
Typed key-value helpers over JSON-encoded settings rows.
UnparsedMessage
UploadFile

Enums

AccountType
ChatType
ConnectionStatus
ContentStatus
FetcherStatus
FileActions
PersonType
SearchFunction
Collection of filter functions for the search.
TimeTableRowType
TimeTableType
Week plan container. Naming stays TimeTable (not Timetable) to avoid a wide rename across app + package; new types should use the Timetable* prefix.

Extensions

AccountTypeX on AccountType
AppletParserFetch on AppletParser<T>
Convenience wrapper around AppletParser.fetchData.

Properties

getUsernameInsideHTML RegExp
final

Functions

isUnexpectedParserError(Object error) bool
Whether error should be forwarded to LanisConfig.onUnexpectedError.

Typedefs

EntryFilter = Map<String, dynamic>
{"strict": Bool, "filter": List<String>}
Lessons = List<Lesson>
StoragePathLayout = String Function({required int accountId, required String cacheRoot, required String filename, required String urlHash})
SubstitutionFilter = Map<String, EntryFilter>
TimetableDay = List<TimetableSubject>
UnexpectedErrorHandler = void Function(Object error, StackTrace stackTrace, {required String appletPhpUrl})
Host-supplied hook for unexpected applet fetch failures.