Dictionary
extension Dictionary: DataInput where Key == String, Value == DataInput
extension Dictionary: DataInputConvertible where Key == String, Value: DataInputConvertible
public extension Dictionary where Key == String
public extension Dictionary where Key == String, Value == DataInput?
extension Dictionary: DataItemExtractor, JSONPathExtractable where Key == String, Value == DataItem
-
toDataInput()From TealiumPrismCoreDeclaration
Swift
public func toDataInput() -> DataInput
-
asDataDictionary()From TealiumPrismCoreConverts a dictionary of optional
DataInput-conforming values dictionary to[String: DataItem], preserving all keys by replacing eachnilvalue with.null(i.e.NSNull).Use this when you want to keep
nilvalues as explicit nulls in a DataObject, for example:let attrs: [String: String?] = ["name": "Alice", "email": nil] let dataObject: DataObject = ["user": attrs.asDataDictionary()] // → ["user": ["name": "Alice", "email": NSNull()]]If you want to drop keys with
nilvalues instead, usecompactMapValues:let dataObject: DataObject = ["user": attrs.compactMapValues { $0 }] // → ["user": ["name": "Alice"]]
-
asDataDictionary()From TealiumPrismCoreConverts a
[String: DataInput?](existential optional) dictionary to[String: DataItem], preserving all keys by replacing eachnilvalue with.null(i.e.NSNull).Use this when you want to keep
nilvalues as explicit nulls in a DataObject, for example:let attrs: [String: DataInput?] = ["name": "Alice", "email": nil, "age": 25] let dataObject: DataObject = ["user": attrs.asDataDictionary()] // → ["user": ["name": "Alice", "email": NSNull(), "age": 25]]If you want to drop keys with
nilvalues instead, usecompactMapValues:let dataObject: DataObject = ["user": attrs.compactMapValues { $0 }] // → ["user": ["name": "Alice", "age": 25]]Declaration
Swift
func asDataDictionary() -> [String : DataItem]
-
getDataItem(key:From TealiumPrismCore) Declaration
Swift
public func getDataItem(key: String) -> DataItem?
View on GitHub