Skip to main content

ValueDefinition

ValueDefinition API

public struct ValueDefinition : Codable, Hashable {

public var type: String?

public var constraints: DSSDK.DataTypeConstraints?

public var multivalued: Bool

public var multiValueConstraints: DSSDK.MultiValueConstraints?

public var enumerated: Bool

public var enumeratedValues: [DSSDK.EnumeratedValue]?

public var enumeratedValueConstraints: DSSDK.EnumeratedValueConstraints?

/// Returns a Boolean value indicating whether two values are equal.
///
/// Equality is the inverse of inequality. For any values `a` and `b`,
/// `a == b` implies that `a != b` is `false`.
///
/// - Parameters:
/// - lhs: A value to compare.
/// - rhs: Another value to compare.
public static func == (lhs: DSSDK.ValueDefinition, rhs: DSSDK.ValueDefinition) -> Bool

public func getValueDefinitionDataType() -> DSSDK.DataType?

/// Hashes the essential components of this value by feeding them into the
/// given hasher.
///
/// Implement this method to conform to the `Hashable` protocol. The
/// components used for hashing must be the same as the components compared
/// in your type's `==` operator implementation. Call `hasher.combine(_:)`
/// with each of these components.
///
/// - Important: In your implementation of `hash(into:)`,
/// don't call `finalize()` on the `hasher` instance provided,
/// or replace it with a different instance.
/// Doing so may become a compile-time error in the future.
///
/// - Parameter hasher: The hasher to use when combining the components
/// of this instance.
public func hash(into hasher: inout Hasher)

/// Encodes this value into the given encoder.
///
/// If the value fails to encode anything, `encoder` will encode an empty
/// keyed container in its place.
///
/// This function throws an error if any values are invalid for the given
/// encoder's format.
///
/// - Parameter encoder: The encoder to write data to.
public func encode(to encoder: any Encoder) throws

/// The hash value.
///
/// Hash values are not guaranteed to be equal across different executions of
/// your program. Do not save hash values to use during a future execution.
///
/// - Important: `hashValue` is deprecated as a `Hashable` requirement. To
/// conform to `Hashable`, implement the `hash(into:)` requirement instead.
/// The compiler provides an implementation for `hashValue` for you.
public var hashValue: Int { get }

/// Creates a new instance by decoding from the given decoder.
///
/// This initializer throws an error if reading from the decoder fails, or
/// if the data read is corrupted or otherwise invalid.
///
/// - Parameter decoder: The decoder to read data from.
public init(from decoder: any Decoder) throws
}

Public Functions

  • public func getValueDefinitionDataType() -> DSSDK.DataType?
  • public func hash(into hasher: inout Hasher)
  • public func encode(to encoder: any Encoder) throws