The PowerSync core module provides the core functionality for the PowerSync Kotlin Multiplatform SDK.
This is a Kotlin Multiplatform project targeting Android, iOS platforms, with the following structure:
commonMain- Shared code for all targets, which includes thePowerSyncBackendConnectorinterface andPowerSyncBuilderfor building aPowerSyncinstance. It also defines theDatabaseDriverFactoryclass to be implemented in each platform.commonJava- Common Java code including a Java SQLite driver using the Xerial JDBC Driver. This is used by both the Android and JVM drivers.androidMain- Android specific code, which includes an implementation ofDatabaseDriverFactory.jvmMain- JVM specific code which includes an implementation ofDatabaseDriverFactory.iosMain- iOS specific code, which includes am implementation ofDatabaseDriverFactoryclass that creates an instance ofapp.cash.sqldelight.driver.native.NativeSqliteDriverand also sets up native SQLite bindings for iOS.
The PowerSync core module, internally makes use of SQLDelight for it database API and typesafe database query generation.
The PowerSync core module does not currently support integrating with SQLDelight from client applications.
This module contains attachment helpers under the com.powersync.attachments package. See
the Attachment Helpers README