MoEngageStorage

LegacySession

  • Declaration

    Swift

    public extension MoEngageStorage.Network

Default resume actions

AsyncReadOnlyLocation

  • Declaration

    Swift

    extension MoEngageStorage.AsyncDynamicStorage: MoEngageStorage.AsyncReadOnlyLocation
    where Base: MoEngageStorage.AsyncReadOnlyLocation, Base.Input == BaseInput
    extension MoEngageStorage.AsyncDynamicStorage: MoEngageStorage.AsyncWriteOnlyLocation
    where Base: MoEngageStorage.AsyncWriteOnlyLocation, Base.Saved == BaseInput

ReadOnlyLocation

  • Declaration

    Swift

    extension MoEngageStorage.DefaultValueStorage: MoEngageStorage.ReadOnlyLocation
    where Wrapped: MoEngageStorage.ReadOnlyLocation,
          Wrapped: MoEngageStorage.WriteOnlyLocation,
          Wrapped.Stored == Default?,
          Wrapped.Saved == Default?
    extension MoEngageStorage.DefaultValueStorage: MoEngageStorage.WriteOnlyLocation
    where Wrapped: MoEngageStorage.ReadOnlyLocation,
          Wrapped: MoEngageStorage.WriteOnlyLocation,
          Wrapped.Stored == Default?,
          Wrapped.Saved == Default?,
          Wrapped.Input == Void,
          Wrapped.Output == Void
    extension MoEngageStorage.DefaultValueStorage: MoEngageStorage.MigratableLocation
    where Wrapped: MoEngageStorage.MigratableLocation
  • Declaration

    Swift

    extension MoEngageStorage.DynamicStorage: MoEngageStorage.ReadOnlyLocation
    where Base: MoEngageStorage.ReadOnlyLocation, Base.Input == BaseInput
    extension MoEngageStorage.DynamicStorage: MoEngageStorage.WriteOnlyLocation
    where Base: MoEngageStorage.WriteOnlyLocation

WriteOnlyLocation

ReadOnlyLocation

  • Declaration

    Swift

    extension MoEngageStorage.ErrorErasedStorage: MoEngageStorage.ReadOnlyLocation
    extension MoEngageStorage.ErrorErasedStorage: MoEngageStorage.WriteOnlyLocation
    extension MoEngageStorage.ErrorErasedStorage: MoEngageStorage.MigratableLocation
  • Declaration

    Swift

    extension MoEngageStorage.KeyPathStorage: MoEngageStorage.ReadOnlyLocation
    extension MoEngageStorage.KeyPathStorage: @unchecked Sendable
    extension MoEngageStorage.KeyPathStorage: MoEngageStorage.WriteOnlyLocation
    where
        Location: MoEngageStorage.WriteOnlyLocation,
        Path: WritableKeyPath<Location.Stored, Value>,
        Location.Input == Void,
        Location.Stored == Location.Saved
    extension MoEngageStorage.KeyPathStorage: MoEngageStorage.MigratableLocation
    where
        Self: MoEngageStorage.WriteOnlyLocation,
        Value: MoEngageStorage.ResettableValue
    extension MoEngageStorage.KeyPathStorage: Equatable where Location: Equatable
    extension MoEngageStorage.KeyPathStorage: Hashable where Location: Hashable

Convenience builders

  • Declaration

    Swift

    extension MoEngageStorage.WritableOptional: Sendable where Wrapped: Sendable

ReadOnlyLocation

  • Declaration

    Swift

    extension MoEngageStorage.MappingStorage: MoEngageStorage.ReadOnlyLocation
    where Location: MoEngageStorage.ReadOnlyLocation, Location.Stored == MappingFrom
    extension MoEngageStorage.MappingStorage: MoEngageStorage.WriteOnlyLocation
    where Location: MoEngageStorage.WriteOnlyLocation, Location.Saved == MappingTo
    extension MoEngageStorage.MappingStorage: MoEngageStorage.MigratableLocation
    where Location: MoEngageStorage.MigratableLocation
  • Declaration

    Swift

    extension MoEngageStorage.SDKInstanceProperty: MoEngageStorage.ReadOnlyLocation
    extension MoEngageStorage.SDKInstanceProperty: MoEngageStorage.WriteOnlyLocation
    extension MoEngageStorage.SDKInstanceProperty: MoEngageStorage.MigratableLocation
    where Value: MoEngageStorage.ResettableValue
  • Declaration

    Swift

    extension MoEngageStorage.SynchronizedStorage: MoEngageStorage.ReadOnlyLocation
    where Location: MoEngageStorage.ReadOnlyLocation
    extension MoEngageStorage.SynchronizedStorage: MoEngageStorage.WriteOnlyLocation
    where Location: MoEngageStorage.WriteOnlyLocation
    extension MoEngageStorage.SynchronizedStorage: MoEngageStorage.MigratableLocation
    where Location: MoEngageStorage.MigratableLocation
    extension MoEngageStorage.SynchronizedStorage: Equatable where Location: Equatable
    extension MoEngageStorage.SynchronizedStorage: Hashable where Location: Hashable

FileStorage.State

FileStorage: Hashable

ReadOnlyLocation

  • Declaration

    Swift

    extension MoEngageStorage.MigratingStorage: MoEngageStorage.ReadOnlyLocation
    extension MoEngageStorage.MigratingStorage: MoEngageStorage.MigratableLocation
    extension MoEngageStorage.MigratingStorage: MoEngageStorage.WriteOnlyLocation where ReadInput == Void
  • Declaration

    Swift

    extension MoEngageStorage.MirroredStorage: MoEngageStorage.ReadOnlyLocation
    where
        Primary: MoEngageStorage.ReadOnlyLocation & MoEngageStorage.WriteOnlyLocation,
        Mirror: MoEngageStorage.ReadOnlyLocation & MoEngageStorage.WriteOnlyLocation,
        Primary.Input == Mirror.Input,
        PrimaryStored == Primary.Stored,
        MirrorStored == Mirror.Stored,
        Primary.Stored == Mirror.Stored,
        Primary.Stored == Primary.Saved,
        Mirror.Stored == Mirror.Saved
    extension MoEngageStorage.MirroredStorage: MoEngageStorage.WriteOnlyLocation
    where
        Primary: MoEngageStorage.WriteOnlyLocation,
        Mirror: MoEngageStorage.WriteOnlyLocation,
        Primary.Saved == Mirror.Saved,
        Primary.Output == Mirror.Output,
        Primary.Output == Void
    extension MoEngageStorage.MirroredStorage: MoEngageStorage.MigratableLocation
    where
        Primary: MoEngageStorage.MigratableLocation,
        Mirror: MoEngageStorage.MigratableLocation

MoEngageStorage.Flushable

  • A type that can flush its in-memory state to a backing store.

    Conforming types perform a deferred or scheduled write when flush(inInstance:) is called. The exact timing and behaviour is implementation-defined; use ForceFlushable when an immediate, synchronous flush is required.

    See more

    Declaration

    Swift

    public protocol Flushable

MoEngageStorage.Cancellable

  • A type that can cancel a pending deferred operation.

    Conforming types hold a scheduled unit of work (e.g. a delayed flush task) that can be abandoned without side effects by calling cancel().

    See more

    Declaration

    Swift

    public protocol Cancellable

MoEngageStorage.ForceFlushable

  • A type that supports both a deferred flush and an immediate force-flush.

    Extends Flushable with a flush(force:inInstance:) variant that can bypass the normal scheduling delay and write to the backing store right away. Typically conformed to by cache types (e.g. MoEngageStorage/FileStorage/State) that schedule deferred writes but must also support urgent persistence before app suspension or logout.

    See more

    Declaration

    Swift

    public protocol ForceFlushable : MoEngageStorage.Flushable

MoEngageStorage.FlushScheduling

  • A type that manages a deferred flush and can cancel it.

    FlushScheduling composes Flushable and Cancellable: conforming types both hold an in-memory value that can be flushed to a backing store and expose a way to abandon a pending scheduled write.

    Use ForceFlushable when the conformer also needs to support immediate force-flush in addition to the standard deferred behaviour.

    Declaration

    Swift

    public typealias FlushScheduling = Flushable & Cancellable
  • Declaration

    Swift

    extension MoEngageStorage.State: Sendable

UserDefaultProcessor