Classes

The following classes are available globally.

  • Configuration for the database backend that DittoStore uses. Currently this is LMDB.

    See more

    Declaration

    Swift

    public class DittoDBConfig
  • DittoKit is the entry point for accessing Ditto-related functionality.

    See more

    Declaration

    Swift

    public class DittoKit
  • Represents an attachment and can be used to insert the associated attachment into a document at a specific key.

    See more

    Declaration

    Swift

    public class DittoAttachment : CBOREncodable, Hashable
  • These objects are returned by calls to fetchAttachment on DittoCollections. They must be kept alive for the fetching of the attachment to proceed and for you to be notified once the status of the fetch request has changed.

    See more

    Declaration

    Swift

    public class DittoAttachmentFetcher
  • Serves as a token for a specific attachment that you can pass to a call to fetchAttachment on a DittoCollection.

    See more

    Declaration

    Swift

    public class DittoAttachmentToken : Equatable
  • A reference to a collection in a DittoStore.

    See more

    Declaration

    Swift

    public class DittoCollection
  • A document belonging to a DittoCollection with an inner value.

    See more

    Declaration

    Swift

    public class DittoDocument
    extension DittoDocument: CustomStringConvertible, CustomDebugStringConvertible
    extension DittoDocument: Identifiable
  • The type that is returned when calling when calling observe or observeLocal on a DittoPendingCursorOperation object. It handles the logic for calling the event handler that is provided to observe or observeLocal calls. DittoLiveQuery objects must be kept in scope for as long as you with to have your event handler be called when there is an update to a document matching the query you provide.

    See more

    Declaration

    Swift

    public class DittoLiveQuery
  • This is used as part of update operations for documents. It provides access to updating a document through a subscript-based API. A subscript operation returns a DittoMutableDocumentPath that you can then use to chain further subscript operations to in order to access nested values in a document. Once you’ve defined the path to a key in a document that you’d like to update, by using subscripts, then you can use the functionality defined on DittoMutableDocumentPath to perform the desired document update(s). Note that objects of this type should only be used within the scope of the update closure that they are provided in.

    See more

    Declaration

    Swift

    public class DittoMutableDocument
  • These objects are returned when using find-like functionality on DittoCollections. They allow chaining of further query-related functions to do things like add a limit to the number of documents you want returned or specify how you want the documents to be sorted and ordered. You can either call exec on the object to get an array of DittoDocuments as an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by calling observe, will notify you every time there’s an update to a document that matches the query you provided in the preceding find-like call. A subscription, established by calling subscribe, will act as a signal to other peers that the device connects to that you would like to receive updates from them about documents that match the query you provided in the preceding find-like call. Calling observe will generate both a subscription and a live query at the same time. If you’d like to only observe local changes then you can call observeLocal. Update and remove functionality is also exposed through this object.

    See more

    Declaration

    Swift

    public class DittoPendingCursorOperation
  • These objects are returned when using findByID functionality on DittoCollections. You can either call exec on the object to get an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by calling observe, will notify you every time there’s an update to the document with the ID you provided in the preceding findByID call. A subscription, established by calling subscribe, will act as a signal to other peers that you would like to receive updates from them about the document with the ID you provided in the preceding findByID call. Calling observe will generate both a subscription and a live query at the same time. If you’d like to only observe local changes then you can call observeLocal. Update and remove functionality is also exposed through this object.

    See more

    Declaration

    Swift

    public class DittoPendingIDSpecificOperation
  • DittoScopedWriteTransaction exposes functionality that allows you to perform multiple operations on the store within a single write transaction.

    See more

    Declaration

    Swift

    public class DittoScopedWriteTransaction
  • DittoStore provides access to DittoCollections and a write transaction API.

    See more

    Declaration

    Swift

    public class DittoStore
  • Used to subscribe to receive updates from remote peers about matching documents.

    While DITSubscription objects remain in scope they ensure that documents in the collection specified and that match the query provided will try to be kept up-to-date with the latest changes from remote peers.

    See more

    Declaration

    Swift

    public class DittoSubscription
  • A document belonging to a DittoCollection with an inner typed value.

    See more

    Declaration

    Swift

    public class DittoTypedDocument<T> where T : Decodable
  • DittoWriteTransaction exposes functionality that allows you to perform multiple operations on the store within a single write transaction. You must use the scoped function to get collection-scoped access to the write transaction object, which will then allow you to perform insert, update, remove or evict operations using the write transaction.

    See more

    Declaration

    Swift

    public class DittoWriteTransaction
  • These objects are returned when using find and findAll functionality on DittoScopedWriteTransactions. You can use them to perform updates on documents and remove or evict documents.

    See more

    Declaration

    Swift

    public class DittoWriteTransactionPendingCursorOperation
  • These objects are returned when using findByID functionality on DittoScopedWriteTransactions. You can use them to perform updates on a document and remove or evict a document.

    See more

    Declaration

    Swift

    public class DittoWriteTransactionPendingIDSpecificOperation
  • Undocumented

    See more

    Declaration

    Swift

    public class DittoTransportDiagnostics
  • Undocumented

    See more

    Declaration

    Swift

    public class DittoTransportSnapshot