Files
divkit/client/ios/DivKit/Views/DivViewSource.swift
T
denlvovich e001d74afe Update to VGSL6.0
4f8b5f480ade3f347d5f0a2d01a1618069bcb846
2024-07-12 20:33:42 +03:00

41 lines
918 B
Swift

import Foundation
/// A representation of the source from which a ``DivView`` can load content.
public struct DivViewSource {
/// Specifies the type of the source for the `DivView`.
public enum Kind {
case json([String: Any])
case data(Data)
case divData(DivData)
}
let id: DivViewId
let kind: Kind
/// Initializes a new ``DivViewSource``.
///
/// - Parameters:
/// - kind: The kind of data source, represented by the ``Kind`` enum.
/// - cardId: A unique identifier for the associated `DivKit` card.
public init(
kind: Kind,
cardId: DivCardID
) {
self.init(kind: kind, cardId: cardId, additionalId: nil)
}
init(
kind: Kind,
cardId: DivCardID,
additionalId: String?
) {
id = DivViewId(cardId: cardId, additionalId: additionalId)
self.kind = kind
}
}
struct DivViewId: Hashable {
let cardId: DivCardID
let additionalId: String?
}