// SPDX-FileCopyrightText: 2025 The Project Pterodactyl Developers // // SPDX-License-Identifier: MPL-2.0 import Foundation import llbuild2fx import PterodactylSyntax extension Keys.Blob { struct ParseImports: BuildKey { let blobId: LLBDataID typealias ValueType = [UnitName] static let versionDependencies: [any FXVersioning.Type] = [ReadContents.self] func computeValue(_ ctx: BuildContext) async throws -> [UnitName] { let code = try await ctx.request(ReadContents(blobId: blobId)) var importParser = ImportParser(input: code) importParser.parseHeader() return importParser.imports.map { name in UnitName(basename: name) } } } }