term-kit-backend/Sources/TermKitBackend/Model/TermKitApp.swift
2024-07-20 09:15:47 +02:00

42 lines
1.0 KiB
Swift

//
// TermKitSceneElement.swift
// TermKitBackend
//
// Created by david-swift on 01.07.2024.
//
@_exported import Meta
import TermKit
/// The Meta app storage for the TermKit backend.
public class TermKitApp: AppStorage {
/// The scene element type of the TermKit backend.
public typealias SceneElementType = TermKitSceneElement
/// The widget type of the TermKit backend.
public typealias WidgetType = TermKitWidget
/// The wrapper type of the TermKit backend.
public typealias WrapperType = VStack
/// The app storage.
public var storage: StandardAppStorage = .init()
/// Initialize the app storage.
/// - Parameter id: The identifier.
public required init(id: String) { }
/// Execute the app.
/// - Parameter setup: Set the scene elements up.
public func run(setup: @escaping () -> Void) {
Application.prepare()
setup()
Application.run()
}
/// Quit the app.
public func quit() {
Application.shutdown()
}
}