// Generated code. Do not modify. import Foundation import Serialization import VGSL public final class DivBorder: Sendable { public let cornerRadius: Expression? // constraint: number >= 0 public let cornersRadius: DivCornersRadius? public let hasShadow: Expression // default value: false public let shadow: DivShadow? public let stroke: DivStroke? public func resolveCornerRadius(_ resolver: ExpressionResolver) -> Int? { resolver.resolveNumeric(cornerRadius) } public func resolveHasShadow(_ resolver: ExpressionResolver) -> Bool { resolver.resolveNumeric(hasShadow) ?? false } static let cornerRadiusValidator: AnyValueValidator = makeValueValidator(valueValidator: { $0 >= 0 }) public convenience init(dictionary: [String: Any], context: ParsingContext) throws { self.init( cornerRadius: try dictionary.getOptionalExpressionField("corner_radius", validator: Self.cornerRadiusValidator, context: context), cornersRadius: try dictionary.getOptionalField("corners_radius", transform: { (dict: [String: Any]) in try DivCornersRadius(dictionary: dict, context: context) }), hasShadow: try dictionary.getOptionalExpressionField("has_shadow", context: context), shadow: try dictionary.getOptionalField("shadow", transform: { (dict: [String: Any]) in try DivShadow(dictionary: dict, context: context) }), stroke: try dictionary.getOptionalField("stroke", transform: { (dict: [String: Any]) in try DivStroke(dictionary: dict, context: context) }) ) } init( cornerRadius: Expression? = nil, cornersRadius: DivCornersRadius? = nil, hasShadow: Expression? = nil, shadow: DivShadow? = nil, stroke: DivStroke? = nil ) { self.cornerRadius = cornerRadius self.cornersRadius = cornersRadius self.hasShadow = hasShadow ?? .value(false) self.shadow = shadow self.stroke = stroke } } #if DEBUG extension DivBorder: Equatable { public static func ==(lhs: DivBorder, rhs: DivBorder) -> Bool { guard lhs.cornerRadius == rhs.cornerRadius, lhs.cornersRadius == rhs.cornersRadius, lhs.hasShadow == rhs.hasShadow else { return false } guard lhs.shadow == rhs.shadow, lhs.stroke == rhs.stroke else { return false } return true } } #endif extension DivBorder: Serializable { @_optimize(size) public func toDictionary() -> [String: ValidSerializationValue] { var result: [String: ValidSerializationValue] = [:] result["corner_radius"] = cornerRadius?.toValidSerializationValue() result["corners_radius"] = cornersRadius?.toDictionary() result["has_shadow"] = hasShadow.toValidSerializationValue() result["shadow"] = shadow?.toDictionary() result["stroke"] = stroke?.toDictionary() return result } }