diff --git a/docs/api/md/-internal-/README.md b/docs/api/md/-internal-/README.md index 9846c2e78..49b570d0a 100644 --- a/docs/api/md/-internal-/README.md +++ b/docs/api/md/-internal-/README.md @@ -88,10 +88,12 @@ ### Type Aliases +- [AdditionalColumns](type-aliases/AdditionalColumns.md) +- [AddJSONSchemaDefaults](type-aliases/AddJSONSchemaDefaults.md) +- [AddJSONSchemaRequired](type-aliases/AddJSONSchemaRequired.md) - [AddProjectQuery](type-aliases/AddProjectQuery.md) - [Attachment](type-aliases/Attachment.md) - [BitField](type-aliases/BitField.md) -- [BlobFilter](type-aliases/BlobFilter.md) - [BlobIdBase](type-aliases/BlobIdBase.md) - [BlobStoreEntriesStream](type-aliases/BlobStoreEntriesStream.md) - [BlobType](type-aliases/BlobType.md) @@ -105,18 +107,27 @@ - [DeviceInfoParam](type-aliases/DeviceInfoParam.md) - [ElementOf](type-aliases/ElementOf.md) - [Encoding](type-aliases/Encoding.md) +- [Enum](type-aliases/Enum.md) - [GenericBlobFilter](type-aliases/GenericBlobFilter.md) - [GenericBlobFilter](type-aliases/GenericBlobFilter.md) - [GetMapeoDocTables](type-aliases/GetMapeoDocTables.md) +- [HasJSONSchemaDefault](type-aliases/HasJSONSchemaDefault.md) - [HypercorePeer](type-aliases/HypercorePeer.md) - [HypercoreRemoteBitfield](type-aliases/HypercoreRemoteBitfield.md) - [HypercoreRemoteBitfieldPage](type-aliases/HypercoreRemoteBitfieldPage.md) - [IconVariant](type-aliases/IconVariant.md) - [IndexedDocIds](type-aliases/IndexedDocIds.md) - [InviteInternal](type-aliases/InviteInternal.md) +- [IsJSONSchemaRequired](type-aliases/IsJSONSchemaRequired.md) +- [JSONSchema7](type-aliases/JSONSchema7.md) +- [JSONSchema7Object](type-aliases/JSONSchema7Object.md) +- [JsonSchema7Properties](type-aliases/JsonSchema7Properties.md) +- [JsonSchemaToDrizzleColumns](type-aliases/JsonSchemaToDrizzleColumns.md) +- [JsonSchemaToDrizzleSqliteTable](type-aliases/JsonSchemaToDrizzleSqliteTable.md) - [Keypair](type-aliases/Keypair.md) - [KeyPair](type-aliases/KeyPair-1.md) - [ListedProject](type-aliases/ListedProject.md) +- [ListedProjectSettings](type-aliases/ListedProjectSettings.md) - [MapeoDocTableName](type-aliases/MapeoDocTableName.md) - [MapeoDocTables](type-aliases/MapeoDocTables.md) - [Namespace](type-aliases/Namespace.md) @@ -136,6 +147,7 @@ - [Readable](type-aliases/Readable.md) - [ReplicationStream](type-aliases/ReplicationStream.md) - [SchemaName](type-aliases/SchemaName.md) +- [SchemaToDrizzleColumnsBase](type-aliases/SchemaToDrizzleColumnsBase.md) - [SecretKey](type-aliases/SecretKey.md) - [State](type-aliases/State.md) - [SupportedBlobVariants](type-aliases/SupportedBlobVariants.md) @@ -143,6 +155,7 @@ - [SyncEnabledState](type-aliases/SyncEnabledState.md) - [SyncType](type-aliases/SyncType.md) - [ValidSizes](type-aliases/ValidSizes.md) +- [Writable](type-aliases/Writable.md) ### Variables diff --git a/docs/api/md/-internal-/classes/CoreManager.md b/docs/api/md/-internal-/classes/CoreManager.md index b07663159..3a656fbd7 100644 --- a/docs/api/md/-internal-/classes/CoreManager.md +++ b/docs/api/md/-internal-/classes/CoreManager.md @@ -24,7 +24,7 @@ Immediately start downloading cores - should only be set to false for tests -• **options.db**: `BetterSQLite3Database`\<`Record`\<`string`, `never`\>\> +• **options.db**: `BetterSQLite3Database`\<`Record`\<`string`, `never`\>, `any`\> Drizzle better-sqlite3 database instance @@ -249,7 +249,7 @@ Resolves when all cores have finished loading #### Parameters -• **blobFilter**: `null` \| [`BlobFilter`](../type-aliases/BlobFilter.md) +• **blobFilter**: `null` \| `_RequireAtLeastOne`\<`object`, `"photo"` \| `"video"` \| `"audio"`\> • **peer**: [`HypercorePeer`](../type-aliases/HypercorePeer.md) diff --git a/docs/api/md/-internal-/classes/CoreOwnership.md b/docs/api/md/-internal-/classes/CoreOwnership.md index 7db0bf6bb..2f08ce68a 100644 --- a/docs/api/md/-internal-/classes/CoreOwnership.md +++ b/docs/api/md/-internal-/classes/CoreOwnership.md @@ -22,7 +22,7 @@ • **opts.coreKeypairs**: `Record`\<`"auth"` \| `"config"` \| `"data"` \| `"blobIndex"` \| `"blob"`, [`KeyPair`](../type-aliases/KeyPair-1.md)\> -• **opts.dataType**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, `SQLiteTableWithColumns`\<`object`\>, `"coreOwnership"`, `object`, `object`\> +• **opts.dataType**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"coreOwnership"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"coreOwnership"`, `object`, `object`\> • **opts.identityKeypair**: [`KeyPair`](../type-aliases/KeyPair-1.md) diff --git a/docs/api/md/-internal-/classes/DataType.md b/docs/api/md/-internal-/classes/DataType.md index 22eb96c98..6cc525d08 100644 --- a/docs/api/md/-internal-/classes/DataType.md +++ b/docs/api/md/-internal-/classes/DataType.md @@ -34,7 +34,7 @@ • **opts.dataStore**: `TDataStore` -• **opts.db**: `BetterSQLite3Database`\<`Record`\<`string`, `never`\>\> +• **opts.db**: `BetterSQLite3Database`\<`Record`\<`string`, `never`\>, `any`\> • **opts.getDeviceIdForVersionId** @@ -116,11 +116,11 @@ only used internally to skip the checkExisting check when creating a document wi ### \[kSelect\]() -> **\[kSelect\]**(): `Promise`\<`Omit`\<`SQLiteSelectBase`\<`GetSelectTableName`\<`TTable`\>, `"sync"`, `RunResult`, `GetSelectTableSelection`\<`TTable`\>, `"single"`, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`, `false`, `never`, `{ [K in string]: { [Key in string]: SelectResultField[Key], true> }[K] }`[], `BuildSubquerySelection`\<`GetSelectTableSelection`\<`TTable`\>, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`\>\>, `"then"` \| `"catch"` \| `"finally"`\> & `object`\> +> **\[kSelect\]**(): `Promise`\<`Omit`\<`SQLiteSelectBase`\<`GetSelectTableName`\<`TTable`\>, `"sync"`, `RunResult`, `GetSelectTableSelection`\<`TTable`\>, `"single"`, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`, `false`, `never`, \{ \[K in string \| number \| symbol\]: \{ \[Key in string \| number \| symbol\]: SelectResultField\\[Key\], true\> \}\[K\] \}[], `BuildSubquerySelection`\<`GetSelectTableSelection`\<`TTable`\>, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`\>\>, `"then"` \| `"catch"` \| `"finally"`\> & `object`\> #### Returns -`Promise`\<`Omit`\<`SQLiteSelectBase`\<`GetSelectTableName`\<`TTable`\>, `"sync"`, `RunResult`, `GetSelectTableSelection`\<`TTable`\>, `"single"`, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`, `false`, `never`, `{ [K in string]: { [Key in string]: SelectResultField[Key], true> }[K] }`[], `BuildSubquerySelection`\<`GetSelectTableSelection`\<`TTable`\>, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`\>\>, `"then"` \| `"catch"` \| `"finally"`\> & `object`\> +`Promise`\<`Omit`\<`SQLiteSelectBase`\<`GetSelectTableName`\<`TTable`\>, `"sync"`, `RunResult`, `GetSelectTableSelection`\<`TTable`\>, `"single"`, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`, `false`, `never`, \{ \[K in string \| number \| symbol\]: \{ \[Key in string \| number \| symbol\]: SelectResultField\\[Key\], true\> \}\[K\] \}[], `BuildSubquerySelection`\<`GetSelectTableSelection`\<`TTable`\>, `GetSelectTableName`\<`TTable`\> *extends* `string` ? `Record`\<`string` & `GetSelectTableName`\<`TTable`\>, `"not-null"`\> : `object`\>\>, `"then"` \| `"catch"` \| `"finally"`\> & `object`\> *** diff --git a/docs/api/md/-internal-/classes/Downloader.md b/docs/api/md/-internal-/classes/Downloader.md index 93aea1509..21ff7c609 100644 --- a/docs/api/md/-internal-/classes/Downloader.md +++ b/docs/api/md/-internal-/classes/Downloader.md @@ -39,7 +39,7 @@ downloading deleted and previous versions may be desirable behavior anyway • **options?** = `{}` -• **options.filter?**: `undefined` \| `null` \| [`BlobFilter`](../type-aliases/BlobFilter.md) +• **options.filter?**: `undefined` \| `null` \| `_RequireAtLeastOne`\<`object`, `"photo"` \| `"video"` \| `"audio"`\> Filter blobs of specific types and/or sizes to download diff --git a/docs/api/md/-internal-/classes/IconApi.md b/docs/api/md/-internal-/classes/IconApi.md index 44140505d..c81b0afb3 100644 --- a/docs/api/md/-internal-/classes/IconApi.md +++ b/docs/api/md/-internal-/classes/IconApi.md @@ -20,7 +20,7 @@ • **opts.iconDataStore**: [`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\> -• **opts.iconDataType**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"icon"`, `object`, `object`\> +• **opts.iconDataType**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"icon"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"icon"`, `object`, `object`\> #### Returns diff --git a/docs/api/md/-internal-/classes/MapeoProject.md b/docs/api/md/-internal-/classes/MapeoProject.md index 781252a72..5f5446d78 100644 --- a/docs/api/md/-internal-/classes/MapeoProject.md +++ b/docs/api/md/-internal-/classes/MapeoProject.md @@ -32,6 +32,8 @@ Path to store project sqlite db. Use `:memory:` for memory storage Encryption keys for each namespace +• **opts.getFallbackProjectInfo** + • **opts.getMediaBaseUrl** • **opts.isArchiveDevice**: `boolean` @@ -60,7 +62,7 @@ path for drizzle migration folder for project 32-byte secret key of the project creator core -• **opts.sharedDb**: `BetterSQLite3Database`\<`Record`\<`string`, `never`\>\> +• **opts.sharedDb**: `BetterSQLite3Database`\<`Record`\<`string`, `never`\>, `any`\> • **opts.sharedIndexWriter**: [`IndexWriter`](IndexWriter.md)\<[`MapeoDocTables`](../type-aliases/MapeoDocTables.md)\> @@ -84,6 +86,12 @@ path for drizzle migration folder for project > `static` **EMPTY\_PROJECT\_SETTINGS**: `Readonly`\<`object`\> +#### Type declaration + +##### sendStats + +> **sendStats**: `false` = `false` + ## Accessors ### \[kBlobStore\] @@ -132,47 +140,47 @@ DataTypes object mappings, used for tests ##### coreOwnership -> **coreOwnership**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, `SQLiteTableWithColumns`\<`object`\>, `"coreOwnership"`, `object`, `object`\> +> **coreOwnership**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"coreOwnership"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"coreOwnership"`, `object`, `object`\> ##### deviceInfo -> **deviceInfo**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"deviceInfo"`, `object`, `object`\> +> **deviceInfo**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"deviceInfo"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"deviceInfo"`, `object`, `object`\> ##### field -> **field**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"field"`, `object`, `object`\> +> **field**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"field"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"field"`, `object`, `object`\> ##### icon -> **icon**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"icon"`, `object`, `object`\> +> **icon**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"icon"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"icon"`, `object`, `object`\> ##### observation -> **observation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\> +> **observation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"observation"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"observation"`, `object`, `object`\> ##### preset -> **preset**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"preset"`, `object`, `object`\> +> **preset**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"preset"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"preset"`, `object`, `object`\> ##### projectSettings -> **projectSettings**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"projectSettings"`, `object`, `object`\> +> **projectSettings**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"projectSettings"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"projectSettings"`, `object`, `object`\> ##### remoteDetectionAlert -> **remoteDetectionAlert**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"remoteDetectionAlert"`, `object`, `object`\> +> **remoteDetectionAlert**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"remoteDetectionAlert"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"remoteDetectionAlert"`, `object`, `object`\> ##### role -> **role**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, `SQLiteTableWithColumns`\<`object`\>, `"role"`, `object`, `object`\> +> **role**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"role"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"role"`, `object`, `object`\> ##### track -> **track**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\> +> **track**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"track"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"track"`, `object`, `object`\> ##### translation -> **translation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"translation"`, `object`, `object`\> +> **translation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"translation"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"translation"`, `object`, `object`\> *** @@ -238,59 +246,59 @@ DataTypes object mappings, used for tests ### field -> `get` **field**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"field"`, `object`, `object`\> +> `get` **field**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"field"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"field"`, `object`, `object`\> #### Returns -[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"field"`, `object`, `object`\> +[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"field"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"field"`, `object`, `object`\> *** ### observation -> `get` **observation**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\> +> `get` **observation**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"observation"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"observation"`, `object`, `object`\> #### Returns -[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\> +[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"observation"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"observation"`, `object`, `object`\> *** ### preset -> `get` **preset**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"preset"`, `object`, `object`\> +> `get` **preset**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"preset"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"preset"`, `object`, `object`\> #### Returns -[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, `SQLiteTableWithColumns`\<`object`\>, `"preset"`, `object`, `object`\> +[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"projectSettings"` \| `"preset"` \| `"icon"` \| `"field"` \| `"deviceInfo"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"preset"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"preset"`, `object`, `object`\> *** ### remoteDetectionAlert -> `get` **remoteDetectionAlert**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"remoteDetectionAlert"`, `object`, `object`\> +> `get` **remoteDetectionAlert**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"remoteDetectionAlert"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"remoteDetectionAlert"`, `object`, `object`\> #### Returns -[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"remoteDetectionAlert"`, `object`, `object`\> +[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"remoteDetectionAlert"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"remoteDetectionAlert"`, `object`, `object`\> *** ### track -> `get` **track**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\> +> `get` **track**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"track"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"track"`, `object`, `object`\> #### Returns -[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\> +[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"track"` \| `"remoteDetectionAlert"` \| `"observation"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"track"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"track"`, `object`, `object`\> ## Methods -### \[kClearDataIfLeft\]() +### \[kClearData\]() -> **\[kClearDataIfLeft\]**(): `Promise`\<`void`\> +> **\[kClearData\]**(): `Promise`\<`void`\> -Clear data if we've left the project. No-op if you're still in the project. +Clear synced data, but keep auth data and own data #### Returns @@ -410,6 +418,22 @@ and only this project will replicate. *** +### $importCategories() + +> **$importCategories**(`opts`): `Promise`\<`void`\> + +#### Parameters + +• **opts** + +• **opts.filePath**: `string` + +#### Returns + +`Promise`\<`void`\> + +*** + ### ~~$originalVersionIdToDeviceId()~~ > **$originalVersionIdToDeviceId**(`originalVersionId`): `Promise`\<`string`\> @@ -526,7 +550,7 @@ The full path that the file was exported at *** -### importConfig() +### ~~importConfig()~~ > **importConfig**(`opts`): `Promise`\<`Error`[]\> @@ -540,6 +564,8 @@ The full path that the file was exported at `Promise`\<`Error`[]\> +#### Deprecated + *** ### ready() diff --git a/docs/api/md/-internal-/classes/Roles.md b/docs/api/md/-internal-/classes/Roles.md index 0dd044dd1..bfa5333d9 100644 --- a/docs/api/md/-internal-/classes/Roles.md +++ b/docs/api/md/-internal-/classes/Roles.md @@ -24,7 +24,7 @@ • **opts.coreOwnership**: [`CoreOwnership`](CoreOwnership.md) -• **opts.dataType**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, `SQLiteTableWithColumns`\<`object`\>, `"role"`, `object`, `object`\> +• **opts.dataType**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"role"` \| `"coreOwnership"`\>, [`JsonSchemaToDrizzleSqliteTable`](../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"role"`, [`AdditionalColumns`](../type-aliases/AdditionalColumns.md), `"docId"`\>, `"role"`, `object`, `object`\> • **opts.deviceKey**: `Buffer` diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/README.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/README.md index 9830200ae..c2efb7e6d 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/README.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/README.md @@ -22,7 +22,7 @@ ### Variables - [kBlobStore](variables/kBlobStore.md) -- [kClearDataIfLeft](variables/kClearDataIfLeft.md) +- [kClearData](variables/kClearData.md) - [kCoreManager](variables/kCoreManager.md) - [kCoreOwnership](variables/kCoreOwnership.md) - [kDataTypes](variables/kDataTypes.md) diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/variables/kClearDataIfLeft.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/variables/kClearData.md similarity index 54% rename from docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/variables/kClearDataIfLeft.md rename to docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/variables/kClearData.md index 29265b00a..ba1bc8b6d 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/variables/kClearDataIfLeft.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_mapeo-project/variables/kClearData.md @@ -2,8 +2,8 @@ *** -[API](../../../../README.md) / [\](../../../README.md) / ["/home/runner/work/comapeo-core/comapeo-core/src/mapeo-project"](../README.md) / kClearDataIfLeft +[API](../../../../README.md) / [\](../../../README.md) / ["/home/runner/work/comapeo-core/comapeo-core/src/mapeo-project"](../README.md) / kClearData -# Variable: kClearDataIfLeft +# Variable: kClearData -> `const` **kClearDataIfLeft**: *typeof* [`kClearDataIfLeft`](kClearDataIfLeft.md) +> `const` **kClearData**: *typeof* [`kClearData`](kClearData.md) diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_client/variables/projectSettingsTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_client/variables/projectSettingsTable.md index af1a3692c..4f8596ab0 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_client/variables/projectSettingsTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_client/variables/projectSettingsTable.md @@ -6,4 +6,4 @@ # Variable: projectSettingsTable -> `const` **projectSettingsTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **projectSettingsTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"projectSettings"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/coreOwnershipTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/coreOwnershipTable.md index 816357797..614faac90 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/coreOwnershipTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/coreOwnershipTable.md @@ -6,4 +6,4 @@ # Variable: coreOwnershipTable -> `const` **coreOwnershipTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **coreOwnershipTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"coreOwnership"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/deviceInfoTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/deviceInfoTable.md index ea763795f..fd6d62ddc 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/deviceInfoTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/deviceInfoTable.md @@ -6,4 +6,4 @@ # Variable: deviceInfoTable -> `const` **deviceInfoTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **deviceInfoTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"deviceInfo"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/fieldTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/fieldTable.md index a4e3ec10d..dc9e17847 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/fieldTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/fieldTable.md @@ -6,4 +6,4 @@ # Variable: fieldTable -> `const` **fieldTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **fieldTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"field"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/iconTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/iconTable.md index ae8e9a971..ae2da5062 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/iconTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/iconTable.md @@ -6,4 +6,4 @@ # Variable: iconTable -> `const` **iconTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **iconTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"icon"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/observationTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/observationTable.md index 662b6a8a3..28a9ba57e 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/observationTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/observationTable.md @@ -6,4 +6,4 @@ # Variable: observationTable -> `const` **observationTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **observationTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"observation"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/presetTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/presetTable.md index 1b65b428e..14d138f7a 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/presetTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/presetTable.md @@ -6,4 +6,4 @@ # Variable: presetTable -> `const` **presetTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **presetTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"preset"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/remoteDetectionAlertTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/remoteDetectionAlertTable.md index 9b55b46a4..52240895e 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/remoteDetectionAlertTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/remoteDetectionAlertTable.md @@ -6,4 +6,4 @@ # Variable: remoteDetectionAlertTable -> `const` **remoteDetectionAlertTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **remoteDetectionAlertTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"remoteDetectionAlert"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/roleTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/roleTable.md index 8e1b058b6..6f94208bd 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/roleTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/roleTable.md @@ -6,4 +6,4 @@ # Variable: roleTable -> `const` **roleTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **roleTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"role"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/trackTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/trackTable.md index 02bedcc03..0f63208f1 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/trackTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/trackTable.md @@ -6,4 +6,4 @@ # Variable: trackTable -> `const` **trackTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **trackTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"track"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/translationTable.md b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/translationTable.md index e9b265b19..5f7358c69 100644 --- a/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/translationTable.md +++ b/docs/api/md/-internal-/namespaces/home_runner_work_comapeo-core_comapeo-core_src_schema_project/variables/translationTable.md @@ -6,4 +6,4 @@ # Variable: translationTable -> `const` **translationTable**: `SQLiteTableWithColumns`\<`object`\> +> `const` **translationTable**: [`JsonSchemaToDrizzleSqliteTable`](../../../type-aliases/JsonSchemaToDrizzleSqliteTable.md)\<`object`, `object`, `"translation"`, [`AdditionalColumns`](../../../type-aliases/AdditionalColumns.md), `"docId"`\> diff --git a/docs/api/md/-internal-/type-aliases/AddJSONSchemaDefaults.md b/docs/api/md/-internal-/type-aliases/AddJSONSchemaDefaults.md new file mode 100644 index 000000000..b6d3333be --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/AddJSONSchemaDefaults.md @@ -0,0 +1,19 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / AddJSONSchemaDefaults + +# Type Alias: AddJSONSchemaDefaults\ + +> **AddJSONSchemaDefaults**\<`TJSONSchema`, `TColumns`, `U`\>: `{ [K in keyof TColumns]: K extends keyof U ? HasJSONSchemaDefault extends true ? HasDefault : TColumns[K] : TColumns[K] }` + +Add `HasDefault` to columns if the JSONSchema has a default for that property + +## Type Parameters + +• **TJSONSchema** *extends* [`JSONSchema7Object`](JSONSchema7Object.md) + +• **TColumns** *extends* `Record`\<`string`, `ColumnBuilderBase`\> + +• **U** *extends* [`JsonSchema7Properties`](JsonSchema7Properties.md) = `TJSONSchema`\[`"properties"`\] diff --git a/docs/api/md/-internal-/type-aliases/AddJSONSchemaRequired.md b/docs/api/md/-internal-/type-aliases/AddJSONSchemaRequired.md new file mode 100644 index 000000000..dddb287f3 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/AddJSONSchemaRequired.md @@ -0,0 +1,17 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / AddJSONSchemaRequired + +# Type Alias: AddJSONSchemaRequired\ + +> **AddJSONSchemaRequired**\<`TJSONSchema`, `TColumns`\>: `{ [K in keyof TColumns]: K extends string ? IsJSONSchemaRequired extends true ? NotNull : TColumns[K] : TColumns[K] }` + +Mark columns as NotNull if they are required in the JSONSchema + +## Type Parameters + +• **TJSONSchema** *extends* [`JSONSchema7Object`](JSONSchema7Object.md) + +• **TColumns** *extends* `Record`\<`string`, `ColumnBuilderBase`\> diff --git a/docs/api/md/-internal-/type-aliases/AdditionalColumns.md b/docs/api/md/-internal-/type-aliases/AdditionalColumns.md new file mode 100644 index 000000000..828670d09 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/AdditionalColumns.md @@ -0,0 +1,17 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / AdditionalColumns + +# Type Alias: AdditionalColumns + +> **AdditionalColumns**\<\>: `object` + +## Type Parameters + +## Type declaration + +### forks + +> **forks**: `$Type`\<`SQLiteTextJsonBuilder`, `string`[]\> diff --git a/docs/api/md/-internal-/type-aliases/BlobFilter.md b/docs/api/md/-internal-/type-aliases/BlobFilter.md deleted file mode 100644 index 07b115fb0..000000000 --- a/docs/api/md/-internal-/type-aliases/BlobFilter.md +++ /dev/null @@ -1,9 +0,0 @@ -[**API**](../../README.md) • **Docs** - -*** - -[API](../../README.md) / [\](../README.md) / BlobFilter - -# Type Alias: BlobFilter - -> **BlobFilter**: `RequireAtLeastOne`\<`{ [KeyType in BlobType]: BlobVariant[] }`\> diff --git a/docs/api/md/-internal-/type-aliases/Enum.md b/docs/api/md/-internal-/type-aliases/Enum.md new file mode 100644 index 000000000..7e299769f --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/Enum.md @@ -0,0 +1,19 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / Enum + +# Type Alias: Enum\ + +> **Enum**\<`T`, `TEnum`\>: `TEnum` *extends* readonly [`string`, `...string[]`] ? [`Writable`](Writable.md)\<`TEnum`\> : `T`\[`"const"`\] *extends* `string` ? [`T`\[`"const"`\]] : [`string`, `...string[]`] + +Get the type of a JSONSchema string: array of constants for an enum, +otherwise string[]. Strangeness is to convert it into the format expected by +drizzle, which results in the correct type for the field from SQLite + +## Type Parameters + +• **T** *extends* [`JSONSchema7`](JSONSchema7.md) + +• **TEnum** *extends* `T`\[`"enum"`\] = `T`\[`"enum"`\] diff --git a/docs/api/md/-internal-/type-aliases/HasJSONSchemaDefault.md b/docs/api/md/-internal-/type-aliases/HasJSONSchemaDefault.md new file mode 100644 index 000000000..f70185fa2 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/HasJSONSchemaDefault.md @@ -0,0 +1,15 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / HasJSONSchemaDefault + +# Type Alias: HasJSONSchemaDefault\ + +> **HasJSONSchemaDefault**\<`T`\>: `T`\[`"default"`\] *extends* `JSONSchema7Type` ? `true` : `false` + +True if JSONSchema object has a default + +## Type Parameters + +• **T** *extends* [`JSONSchema7`](JSONSchema7.md) diff --git a/docs/api/md/-internal-/type-aliases/IsJSONSchemaRequired.md b/docs/api/md/-internal-/type-aliases/IsJSONSchemaRequired.md new file mode 100644 index 000000000..7f55d06b2 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/IsJSONSchemaRequired.md @@ -0,0 +1,19 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / IsJSONSchemaRequired + +# Type Alias: IsJSONSchemaRequired\ + +> **IsJSONSchemaRequired**\<`T`, `U`, `V`\>: `V` *extends* readonly `any`[] ? `Includes`\<`V`, `U`\> : `false` + +True if JSONSchema value is required + +## Type Parameters + +• **T** *extends* [`JSONSchema7Object`](JSONSchema7Object.md) + +• **U** *extends* `string` + +• **V** *extends* [`JSONSchema7`](JSONSchema7.md)\[`"required"`\] = `T`\[`"required"`\] diff --git a/docs/api/md/-internal-/type-aliases/JSONSchema7.md b/docs/api/md/-internal-/type-aliases/JSONSchema7.md new file mode 100644 index 000000000..7169ab8f8 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/JSONSchema7.md @@ -0,0 +1,9 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / JSONSchema7 + +# Type Alias: JSONSchema7 + +> **JSONSchema7**: `ReadonlyDeep`\<`JSONSchema7Writable`\> diff --git a/docs/api/md/-internal-/type-aliases/JSONSchema7Object.md b/docs/api/md/-internal-/type-aliases/JSONSchema7Object.md new file mode 100644 index 000000000..5dc50d385 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/JSONSchema7Object.md @@ -0,0 +1,19 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / JSONSchema7Object + +# Type Alias: JSONSchema7Object + +> **JSONSchema7Object**: `Omit`\<[`JSONSchema7`](JSONSchema7.md), `"properties"` \| `"type"`\> & `object` + +## Type declaration + +### properties + +> `readonly` **properties**: [`JsonSchema7Properties`](JsonSchema7Properties.md) + +### type + +> `readonly` **type**: `"object"` diff --git a/docs/api/md/-internal-/type-aliases/JsonSchema7Properties.md b/docs/api/md/-internal-/type-aliases/JsonSchema7Properties.md new file mode 100644 index 000000000..46d9b6a08 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/JsonSchema7Properties.md @@ -0,0 +1,13 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / JsonSchema7Properties + +# Type Alias: JsonSchema7Properties + +> **JsonSchema7Properties**: `object` + +## Index Signature + + \[`K`: `string`\]: [`JSONSchema7`](JSONSchema7.md) diff --git a/docs/api/md/-internal-/type-aliases/JsonSchemaToDrizzleColumns.md b/docs/api/md/-internal-/type-aliases/JsonSchemaToDrizzleColumns.md new file mode 100644 index 000000000..1b8362310 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/JsonSchemaToDrizzleColumns.md @@ -0,0 +1,26 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / JsonSchemaToDrizzleColumns + +# Type Alias: JsonSchemaToDrizzleColumns\ + +> **JsonSchemaToDrizzleColumns**\<`TObjectType`, `TSchema`, `TPrimaryKey`\>: [`AddJSONSchemaDefaults`](AddJSONSchemaDefaults.md)\<`TSchema`, [`AddJSONSchemaRequired`](AddJSONSchemaRequired.md)\<`TSchema`, [`SchemaToDrizzleColumnsBase`](SchemaToDrizzleColumnsBase.md)\<`TSchema`, `TObjectType`\>\>\> + +Convert a JSONSchema Object Schema to a Drizzle Columns map (e.g. parameter +for `sqliteTable()`). All top-level properties map to SQLite columns, with +`required` properties marked as `NOT NULL`, and JSONSchema `default` will map +to SQLite defaults. + +Any properties that are of type `object` or `array` in the JSONSchema will be +mapped to a text field, which drizzle will parse and stringify. Types for +`object` and `array` properties will be derived from `TObjectType`. + +## Type Parameters + +• **TObjectType** *extends* `{ [K in keyof TSchema["properties"]]?: any }` + +• **TSchema** *extends* [`JSONSchema7Object`](JSONSchema7Object.md) + +• **TPrimaryKey** *extends* keyof `TSchema`\[`"properties"`\] \| `undefined` = `undefined` diff --git a/docs/api/md/-internal-/type-aliases/JsonSchemaToDrizzleSqliteTable.md b/docs/api/md/-internal-/type-aliases/JsonSchemaToDrizzleSqliteTable.md new file mode 100644 index 000000000..c6aba89c7 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/JsonSchemaToDrizzleSqliteTable.md @@ -0,0 +1,47 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / JsonSchemaToDrizzleSqliteTable + +# Type Alias: JsonSchemaToDrizzleSqliteTable\ + +> **JsonSchemaToDrizzleSqliteTable**\<`TObjectType`, `TSchema`, `TTableName`, `TColumnsMap`, `TPrimaryKey`\>: `SQLiteTableWithColumns`\<`object`\> + +Create a Drizzle SQLite table definition from a JSONSchema object. All +top-level properties map to SQLite columns, with `required` properties marked +as `NOT NULL`, and JSONSchema `default` will map to SQLite defaults. + +Any properties that are of type `object` or `array` in the JSONSchema will be +mapped to a text field, which drizzle will parse and stringify. Types for +`object` and `array` properties will be derived from `TObjectType`. + +## Type declaration + +### columns + +> **columns**: `BuildColumns`\<`TTableName`, [`JsonSchemaToDrizzleColumns`](JsonSchemaToDrizzleColumns.md)\<`TObjectType`, `TSchema`, `TPrimaryKey`\> & `TColumnsMap`, `"sqlite"`\> + +### dialect + +> **dialect**: `"sqlite"` + +### name + +> **name**: `TTableName` + +### schema + +> **schema**: `undefined` + +## Type Parameters + +• **TObjectType** *extends* `{ [K in keyof TSchema["properties"]]?: any }` + +• **TSchema** *extends* [`JSONSchema7Object`](JSONSchema7Object.md) + +• **TTableName** *extends* `string` + +• **TColumnsMap** *extends* `Record`\<`string`, `ColumnBuilderBase`\> = `object` + +• **TPrimaryKey** *extends* keyof `TSchema`\[`"properties"`\] \| `undefined` = `undefined` diff --git a/docs/api/md/-internal-/type-aliases/ListedProject.md b/docs/api/md/-internal-/type-aliases/ListedProject.md index 90697be44..50981bab5 100644 --- a/docs/api/md/-internal-/type-aliases/ListedProject.md +++ b/docs/api/md/-internal-/type-aliases/ListedProject.md @@ -6,32 +6,6 @@ # Type Alias: ListedProject -> **ListedProject**\<\>: `object` +> **ListedProject**\<\>: [`ListedProjectSettings`](ListedProjectSettings.md) & `object` \| [`ProjectInfo`](ProjectInfo.md) & `object` ## Type Parameters - -## Type declaration - -### createdAt? - -> `optional` **createdAt**: `string` - -### name? - -> `optional` **name**: `string` - -### projectColor? - -> `optional` **projectColor**: `string` - -### projectDescription? - -> `optional` **projectDescription**: `string` - -### projectId - -> **projectId**: `string` - -### updatedAt? - -> `optional` **updatedAt**: `string` diff --git a/docs/api/md/-internal-/type-aliases/ListedProjectSettings.md b/docs/api/md/-internal-/type-aliases/ListedProjectSettings.md new file mode 100644 index 000000000..48258a7e9 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/ListedProjectSettings.md @@ -0,0 +1,11 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / ListedProjectSettings + +# Type Alias: ListedProjectSettings + +> **ListedProjectSettings**\<\>: `Pick`\<`ProjectSettings`, `"createdAt"` \| `"updatedAt"` \| `"name"` \| `"projectColor"` \| `"projectDescription"` \| `"sendStats"`\> + +## Type Parameters diff --git a/docs/api/md/-internal-/type-aliases/ProjectInfo.md b/docs/api/md/-internal-/type-aliases/ProjectInfo.md index bc9e42362..b056cb9af 100644 --- a/docs/api/md/-internal-/type-aliases/ProjectInfo.md +++ b/docs/api/md/-internal-/type-aliases/ProjectInfo.md @@ -6,6 +6,6 @@ # Type Alias: ProjectInfo -> **ProjectInfo**\<\>: `Pick`\<`ProjectSettings`, `"name"` \| `"projectColor"` \| `"projectDescription"`\> +> **ProjectInfo**\<\>: `Pick`\<`ProjectSettings`, `"name"` \| `"projectColor"` \| `"projectDescription"` \| `"sendStats"`\> ## Type Parameters diff --git a/docs/api/md/-internal-/type-aliases/ProjectToAddDetails.md b/docs/api/md/-internal-/type-aliases/ProjectToAddDetails.md index 9cce8809d..62084913e 100644 --- a/docs/api/md/-internal-/type-aliases/ProjectToAddDetails.md +++ b/docs/api/md/-internal-/type-aliases/ProjectToAddDetails.md @@ -22,4 +22,8 @@ > **projectName**: `string` +### sendStats? + +> `optional` **sendStats**: `boolean` + ## Type Parameters diff --git a/docs/api/md/-internal-/type-aliases/SchemaToDrizzleColumnsBase.md b/docs/api/md/-internal-/type-aliases/SchemaToDrizzleColumnsBase.md new file mode 100644 index 000000000..2592e9703 --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/SchemaToDrizzleColumnsBase.md @@ -0,0 +1,25 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / SchemaToDrizzleColumnsBase + +# Type Alias: SchemaToDrizzleColumnsBase\ + +> **SchemaToDrizzleColumnsBase**\<`TSchema`, `TObjectType`, `U`\>: \{ \[K in keyof U\]: K extends string ? U\[K\]\["type"\] extends "string" ? SQLiteTextBuilder\\> : U\[K\]\["type"\] extends "boolean" ? SQLiteBooleanBuilder : U\[K\]\["type"\] extends "number" ? SQLiteRealBuilder : U\[K\]\["type"\] extends "integer" ? SQLiteIntegerBuilder : U\[K\]\["type"\] extends "array" \| "object" ? $Type\ : never : never \} & `object` + +Map JSONSchema object properties to Drizzle column types. + +## Type declaration + +### forks + +> **forks**: `$Type`\<`SQLiteTextJsonBuilder`, `string`[]\> + +## Type Parameters + +• **TSchema** *extends* [`JSONSchema7Object`](JSONSchema7Object.md) + +• **TObjectType** *extends* `{ [K in keyof U]?: any }` + +• **U** *extends* [`JsonSchema7Properties`](JsonSchema7Properties.md) = `TSchema`\[`"properties"`\] diff --git a/docs/api/md/-internal-/type-aliases/Writable.md b/docs/api/md/-internal-/type-aliases/Writable.md new file mode 100644 index 000000000..ea784d26a --- /dev/null +++ b/docs/api/md/-internal-/type-aliases/Writable.md @@ -0,0 +1,15 @@ +[**API**](../../README.md) • **Docs** + +*** + +[API](../../README.md) / [\](../README.md) / Writable + +# Type Alias: Writable\ + +> **Writable**\<`T`\>: `{ -readonly [P in keyof T]: T[P] }` + +Convert a readonly array/object to writeable + +## Type Parameters + +• **T** diff --git a/docs/api/md/classes/MapeoManager.md b/docs/api/md/classes/MapeoManager.md index f8a8aceea..022c0bfdd 100644 --- a/docs/api/md/classes/MapeoManager.md +++ b/docs/api/md/classes/MapeoManager.md @@ -240,7 +240,13 @@ isArchiveDevice ### listProjects() -> **listProjects**(): `Promise`\<[`ListedProject`](../-internal-/type-aliases/ListedProject.md)[]\> +> **listProjects**(`opts`?): `Promise`\<[`ListedProject`](../-internal-/type-aliases/ListedProject.md)[]\> + +#### Parameters + +• **opts?** = `{}` + +• **opts.includeLeft?**: `boolean` = `false` #### Returns diff --git a/package-lock.json b/package-lock.json index 57af1d6c8..67d72fd5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@comapeo/core", - "version": "4.4.0", + "version": "5.0.0-next.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@comapeo/core", - "version": "4.4.0", + "version": "5.0.0-next.0", "license": "MIT", "dependencies": { "@comapeo/fallback-smp": "^1.0.0", diff --git a/package.json b/package.json index 1c65e961f..f14e9dad7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@comapeo/core", - "version": "4.4.0", + "version": "5.0.0-next.0", "description": "Offline p2p mapping library", "main": "src/index.js", "types": "dist/index.d.ts",