This repository has been archived on 2026-02-12. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
swift-duct-calc/Sources/PdfClient/Interface.swift

48 lines
1.3 KiB
Swift

import Dependencies
import DependenciesMacros
import ManualDCore
@DependencyClient
public struct PdfClient: Sendable {
public var markdown: @Sendable (Request) async throws -> String
}
extension PdfClient: TestDependencyKey {
public static let testValue = Self()
}
extension PdfClient {
public struct Request: Codable, Equatable, Sendable {
public let project: Project
public let componentLosses: [ComponentPressureLoss]
public let ductSizes: DuctSizes
public let equipmentInfo: EquipmentInfo
public let maxSupplyTEL: EffectiveLength
public let maxReturnTEL: EffectiveLength
public let designFrictionRate: FrictionRate
public let projectSHR: Double
public init(
project: Project,
componentLosses: [ComponentPressureLoss],
ductSizes: DuctSizes,
equipmentInfo: EquipmentInfo,
maxSupplyTEL: EffectiveLength,
maxReturnTEL: EffectiveLength,
designFrictionRate: FrictionRate,
projectSHR: Double
) {
self.project = project
self.componentLosses = componentLosses
self.ductSizes = ductSizes
self.equipmentInfo = equipmentInfo
self.maxSupplyTEL = maxSupplyTEL
self.maxReturnTEL = maxReturnTEL
self.designFrictionRate = designFrictionRate
self.projectSHR = projectSHR
}
}
}