Files
swift-manual-s/Sources/Models/FurnaceInterpolation.swift
Michael Housh 5f6d2a7b6c
All checks were successful
CI / Ubuntu (push) Successful in 11m23s
feat: Adds furnace heating interpolations.
2025-03-13 11:49:32 -04:00

54 lines
1.5 KiB
Swift

public enum FurnaceInterpolation {
public struct Request: Codable, Equatable, Sendable {
public let elevation: Int?
public let winterDesignTemperature: Int
public let heatLoss: Int
public let inputRating: Int
public let afue: Double
public init(
elevation: Int? = nil,
winterDesignTemperature: Int,
heatLoss: Int,
inputRating: Int,
afue: Double
) {
self.elevation = elevation
self.winterDesignTemperature = winterDesignTemperature
self.heatLoss = heatLoss
self.inputRating = inputRating
self.afue = afue
}
}
public struct Response: Codable, Equatable, Sendable {
public let failed: Bool
public let failures: [String]?
public let altitudeAdjustmentMultiplier: Double?
public let capacityAsPercentOfLoad: Int
public let oversizingLimit: Int
public let undersizingLimit: Int
public let outputCapacity: Int
public init(
failures: [String]? = nil,
altitudeAdjustmentMultiplier: Double? = nil,
capacityAsPercentOfLoad: Int,
oversizingLimit: Int,
undersizingLimit: Int,
outputCapacity: Int
) {
self.failed = failures == nil ? false : !failures!.isEmpty
self.failures = failures
self.altitudeAdjustmentMultiplier = altitudeAdjustmentMultiplier
self.capacityAsPercentOfLoad = capacityAsPercentOfLoad
self.oversizingLimit = oversizingLimit
self.undersizingLimit = undersizingLimit
self.outputCapacity = outputCapacity
}
}
}