mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 23:24:32 +00:00
Something in the way
This commit is contained in:
parent
018050081d
commit
9bd445986d
19 changed files with 2395 additions and 1 deletions
|
|
@ -0,0 +1,33 @@
|
|||
import Foundation
|
||||
import AtollExtensionKit
|
||||
|
||||
struct ExtensionDescriptorValidator {
|
||||
static func validate(_ descriptor: AtollLiveActivityDescriptor) throws {
|
||||
guard descriptor.isValid else {
|
||||
throw ExtensionValidationError.invalidDescriptor("Missing mandatory fields")
|
||||
}
|
||||
guard descriptor.leadingIcon.isValid else {
|
||||
throw ExtensionValidationError.invalidDescriptor("Invalid leading icon data")
|
||||
}
|
||||
if let badge = descriptor.badgeIcon {
|
||||
guard badge.isValid else {
|
||||
throw ExtensionValidationError.invalidDescriptor("Invalid badge icon data")
|
||||
}
|
||||
}
|
||||
if descriptor.metadata.count > 32 {
|
||||
throw ExtensionValidationError.invalidDescriptor("Metadata keys must be ≤ 32")
|
||||
}
|
||||
}
|
||||
|
||||
static func validate(_ descriptor: AtollLockScreenWidgetDescriptor) throws {
|
||||
guard descriptor.isValid else {
|
||||
throw ExtensionValidationError.invalidDescriptor("Missing mandatory fields")
|
||||
}
|
||||
guard descriptor.content.count <= 12 else {
|
||||
throw ExtensionValidationError.invalidDescriptor("Too many content elements")
|
||||
}
|
||||
guard descriptor.size.width <= 480, descriptor.size.height <= 280 else {
|
||||
throw ExtensionValidationError.invalidDescriptor("Widget exceeds size limits")
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue