aboutsummaryrefslogtreecommitdiff
path: root/Captura/Data/CapturaURLDecoder.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:07:46 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:07:46 +0200
commit505c1e620497828ffb914e05dd76d9ab124f144a (patch)
tree0d93162c4228dbee9e29c35e9f97f58daa5e3eef /Captura/Data/CapturaURLDecoder.swift
parent5802c153cae64142d84e3cd5f762939501ee7e53 (diff)
Format the code
Diffstat (limited to 'Captura/Data/CapturaURLDecoder.swift')
-rw-r--r--Captura/Data/CapturaURLDecoder.swift137
1 files changed, 70 insertions, 67 deletions
diff --git a/Captura/Data/CapturaURLDecoder.swift b/Captura/Data/CapturaURLDecoder.swift
index cbb8a05..a325dbe 100644
--- a/Captura/Data/CapturaURLDecoder.swift
+++ b/Captura/Data/CapturaURLDecoder.swift
@@ -27,7 +27,7 @@ protocol ConfigureActionProtocol {
protocol RecordActionProtocol {
var action: String { get }
-
+
var x: Int? { get }
var y: Int? { get }
var width: Int? { get }
@@ -73,45 +73,47 @@ struct RecordAction: RecordActionProtocol {
}
enum CapturaAction {
- case record(RecordAction)
- case configure(ConfigureAction)
+ case record(RecordAction)
+ case configure(ConfigureAction)
}
struct CapturaURLDecoder {
-
+
static func decodeParams(url: URL) -> CapturaAction? {
- guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
- let params = components.queryItems else {
- return nil
- }
+ guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
+ let params = components.queryItems
+ else {
+ return nil
+ }
+
+ var paramsDict = [String: Any]()
+
+ params.forEach { item in
+ paramsDict[item.name] = item.value
+ }
+
+ guard let action = paramsDict["action"] as? String else {
+ return nil
+ }
- var paramsDict = [String: Any]()
+ switch action {
+ case "configure":
+ var fps = Int(paramsDict["fps"] as? String ?? "")
+ let backend = URL(string: paramsDict["backend"] as? String ?? "")
+ let keepLocalFiles = Bool(paramsDict["keep_local_files"] as? String ?? "")
+ let outputs = OutputFormatSetting(paramsDict["outputs"] as? String ?? "")
+ var backendOutput = OutputFormatSetting(paramsDict["backend_output"] as? String ?? "")
- params.forEach { item in
- paramsDict[item.name] = item.value
+ if fps != nil {
+ fps = min(10, max(4, fps!))
}
- guard let action = paramsDict["action"] as? String else {
- return nil
+ if backendOutput == .all {
+ backendOutput = .gifOnly
}
- switch action {
- case "configure":
- var fps = Int(paramsDict["fps"] as? String ?? "")
- let backend = URL(string: paramsDict["backend"] as? String ?? "")
- let keepLocalFiles = Bool(paramsDict["keep_local_files"] as? String ?? "")
- let outputs = OutputFormatSetting(paramsDict["outputs"] as? String ?? "")
- var backendOutput = OutputFormatSetting(paramsDict["backend_output"] as? String ?? "")
-
- if fps != nil {
- fps = min(10, max(4, fps!))
- }
-
- if backendOutput == .all {
- backendOutput = .gifOnly
- }
-
- return .configure(ConfigureAction(
+ return .configure(
+ ConfigureAction(
action: action,
fps: fps,
outputs: outputs,
@@ -120,41 +122,42 @@ struct CapturaURLDecoder {
keepLocalFiles: keepLocalFiles
))
- case "record":
- let x = Int(paramsDict["x"] as? String ?? "")
- let y = Int(paramsDict["y"] as? String ?? "")
- let width = Int(paramsDict["width"] as? String ?? "")
- let height = Int(paramsDict["height"] as? String ?? "")
- let preventResize = Bool(paramsDict["prevent_resize"] as? String ?? "")
- let preventMove = Bool(paramsDict["prevent_move"] as? String ?? "")
- var fps = Int(paramsDict["fps"] as? String ?? "")
- let backend = URL(string: paramsDict["backend"] as? String ?? "")
- let keepLocalFiles = Bool(paramsDict["keep_local_files"] as? String ?? "")
- let outputs = OutputFormatSetting(paramsDict["outputs"] as? String ?? "")
- var backendOutput = OutputFormatSetting(paramsDict["backend_output"] as? String ?? "")
- let autoStart = Bool(paramsDict["auto_start"] as? String ?? "")
- var maxLength = Int(paramsDict["max_length"] as? String ?? "")
-
- if fps != nil {
- fps = min(10, max(4, fps!))
- }
-
- if maxLength != nil {
- maxLength = min(300, max(1, fps!))
- }
-
- if backendOutput == .all {
- backendOutput = .gifOnly
- }
-
- var skipBackend = false
- if let backendString = paramsDict["backend"] as? String {
- if backendString == "" {
- skipBackend = true
- }
+ case "record":
+ let x = Int(paramsDict["x"] as? String ?? "")
+ let y = Int(paramsDict["y"] as? String ?? "")
+ let width = Int(paramsDict["width"] as? String ?? "")
+ let height = Int(paramsDict["height"] as? String ?? "")
+ let preventResize = Bool(paramsDict["prevent_resize"] as? String ?? "")
+ let preventMove = Bool(paramsDict["prevent_move"] as? String ?? "")
+ var fps = Int(paramsDict["fps"] as? String ?? "")
+ let backend = URL(string: paramsDict["backend"] as? String ?? "")
+ let keepLocalFiles = Bool(paramsDict["keep_local_files"] as? String ?? "")
+ let outputs = OutputFormatSetting(paramsDict["outputs"] as? String ?? "")
+ var backendOutput = OutputFormatSetting(paramsDict["backend_output"] as? String ?? "")
+ let autoStart = Bool(paramsDict["auto_start"] as? String ?? "")
+ var maxLength = Int(paramsDict["max_length"] as? String ?? "")
+
+ if fps != nil {
+ fps = min(10, max(4, fps!))
+ }
+
+ if maxLength != nil {
+ maxLength = min(300, max(1, fps!))
+ }
+
+ if backendOutput == .all {
+ backendOutput = .gifOnly
+ }
+
+ var skipBackend = false
+ if let backendString = paramsDict["backend"] as? String {
+ if backendString == "" {
+ skipBackend = true
}
-
- return .record(RecordAction(
+ }
+
+ return .record(
+ RecordAction(
action: action,
x: x,
y: y,
@@ -172,8 +175,8 @@ struct CapturaURLDecoder {
maxLength: maxLength
))
- default:
- return nil
- }
+ default:
+ return nil
+ }
}
}