Compare commits
4 Commits
abb7c8f8c8
...
f0131e0828
Author | SHA1 | Date | |
---|---|---|---|
f0131e0828 | |||
3d675a5663 | |||
92d0a51116 | |||
3bcae91725 |
@ -1,7 +1,7 @@
|
||||
// Generated by ResgenSwift.Analytics 1.2
|
||||
|
||||
import MatomoTracker
|
||||
import FirebaseAnalytics
|
||||
import Firebase
|
||||
|
||||
// MARK: - Protocol
|
||||
|
||||
@ -181,7 +181,7 @@ class AnalyticsManager {
|
||||
name: "s1 def two",
|
||||
action: "test",
|
||||
category: "test",
|
||||
params: [:]
|
||||
params: []
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -34,9 +34,6 @@ struct Analytics: ParsableCommand {
|
||||
print("[\(Self.toolName)] Will use inputFile \(options.inputFile) to generate analytics for target: \(options.target)")
|
||||
print("[\(Self.toolName)] Will generate analytics")
|
||||
|
||||
// Check requirements
|
||||
guard checkRequirements() else { return }
|
||||
|
||||
// Parse input file
|
||||
let sections = AnalyticsFileParser.parse(options.inputFile, target: options.target)
|
||||
|
||||
@ -50,29 +47,6 @@ struct Analytics: ParsableCommand {
|
||||
|
||||
print("[\(Self.toolName)] Analytics generated")
|
||||
}
|
||||
|
||||
// MARK: - Requirements
|
||||
|
||||
private func checkRequirements() -> Bool {
|
||||
let fileManager = FileManager()
|
||||
|
||||
// Input file
|
||||
guard fileManager.fileExists(atPath: options.inputFile) else {
|
||||
let error = AnalyticsError.fileNotExists(options.inputFile)
|
||||
print(error.description)
|
||||
Analytics.exit(withError: error)
|
||||
}
|
||||
|
||||
// Check if needed to regenerate
|
||||
guard GeneratorChecker.shouldGenerate(force: options.forceGeneration,
|
||||
inputFilePath: options.inputFile,
|
||||
extensionFilePath: options.extensionFilePath) else {
|
||||
print("[\(Self.toolName)] Analytics are already up to date :) ")
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
extension Analytics {
|
||||
|
@ -1,32 +0,0 @@
|
||||
//
|
||||
// AnalyticsError.swift
|
||||
//
|
||||
//
|
||||
// Created by Loris Perret on 11/12/2023.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
enum AnalyticsError: Error {
|
||||
case fileNotExists(String)
|
||||
case missingElement(String)
|
||||
case invalidParameter(String)
|
||||
|
||||
case writeFile(String, String)
|
||||
|
||||
var description: String {
|
||||
switch self {
|
||||
case .fileNotExists(let filename):
|
||||
return "error: [\(Analytics.toolName)] File \(filename) does not exists "
|
||||
|
||||
case .missingElement(let element):
|
||||
return "error: [\(Analytics.toolName)] Missing \(element) for Matomo"
|
||||
|
||||
case .invalidParameter(let reason):
|
||||
return "error: [\(Analytics.toolName)] Invalid parameter \(reason)"
|
||||
|
||||
case .writeFile(let subErrorDescription, let filename):
|
||||
return "error: [\(Analytics.toolName)] An error occured while writing content to \(filename): \(subErrorDescription)"
|
||||
}
|
||||
}
|
||||
}
|
@ -32,10 +32,10 @@ class AnalyticsGenerator {
|
||||
let extensionFilePathURL = URL(fileURLWithPath: extensionFilePath)
|
||||
do {
|
||||
try extensionFileContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
|
||||
} catch (let error) {
|
||||
let error = AnalyticsError.writeFile(extensionFilePath, error.localizedDescription)
|
||||
} catch let error {
|
||||
let error = StringiumError.writeFile(extensionFilePath, error.localizedDescription)
|
||||
print(error.description)
|
||||
Analytics.exit(withError: error)
|
||||
Stringium.exit(withError: error)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,15 +14,15 @@ class AnalyticsFileParser {
|
||||
|
||||
private static func parseYaml() -> AnalyticsFile {
|
||||
guard let data = FileManager().contents(atPath: inputFile) else {
|
||||
let error = AnalyticsError.fileNotExists(inputFile)
|
||||
Analytics.exit(withError: error)
|
||||
let error = GenerateError.fileNotExists(inputFile)
|
||||
Generate.exit(withError: error)
|
||||
}
|
||||
|
||||
do {
|
||||
let tagFile = try YAMLDecoder().decode(AnalyticsFile.self, from: data)
|
||||
return tagFile
|
||||
} catch let error {
|
||||
Analytics.exit(withError: error)
|
||||
Generate.exit(withError: error)
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,8 +40,8 @@ class AnalyticsFileParser {
|
||||
type == "Double" ||
|
||||
type == "Bool"
|
||||
else {
|
||||
let error = AnalyticsError.invalidParameter("type of \(value.name)")
|
||||
Analytics.exit(withError: error)
|
||||
let error = GenerateError.invalidParameter("type of \(value.name)")
|
||||
Generate.exit(withError: error)
|
||||
}
|
||||
|
||||
let parameter: AnalyticsParameter = AnalyticsParameter(name: value.name, type: type)
|
||||
@ -95,8 +95,8 @@ class AnalyticsFileParser {
|
||||
// Path
|
||||
|
||||
guard let path = screen.path else {
|
||||
let error = AnalyticsError.missingElement("screen path")
|
||||
Analytics.exit(withError: error)
|
||||
let error = GenerateError.missingElement("screen path")
|
||||
Generate.exit(withError: error)
|
||||
}
|
||||
|
||||
definition.path = path
|
||||
@ -125,8 +125,8 @@ class AnalyticsFileParser {
|
||||
// Category
|
||||
|
||||
guard let category = event.category else {
|
||||
let error = AnalyticsError.missingElement("event category")
|
||||
Analytics.exit(withError: error)
|
||||
let error = GenerateError.missingElement("event category")
|
||||
Generate.exit(withError: error)
|
||||
}
|
||||
|
||||
definition.category = category
|
||||
@ -134,8 +134,8 @@ class AnalyticsFileParser {
|
||||
// Action
|
||||
|
||||
guard let action = event.action else {
|
||||
let error = AnalyticsError.missingElement("event action")
|
||||
Analytics.exit(withError: error)
|
||||
let error = GenerateError.missingElement("event action")
|
||||
Generate.exit(withError: error)
|
||||
}
|
||||
|
||||
definition.action = action
|
||||
|
@ -13,6 +13,11 @@ enum GenerateError: Error {
|
||||
case commandError([String], String)
|
||||
case writeFile(String, String)
|
||||
|
||||
// Analytics
|
||||
|
||||
case missingElement(String)
|
||||
case invalidParameter(String)
|
||||
|
||||
var description: String {
|
||||
switch self {
|
||||
case .fileNotExists(let filename):
|
||||
@ -29,6 +34,12 @@ enum GenerateError: Error {
|
||||
|
||||
case .writeFile(let filename, let info):
|
||||
return "error: [\(Generate.toolName)] An error occured while writing file in \(filename): \(info)"
|
||||
|
||||
case .missingElement(let element):
|
||||
return "error: [\(Generate.toolName)] Missing \(element) for Matomo"
|
||||
|
||||
case .invalidParameter(let reason):
|
||||
return "error: [\(Generate.toolName)] Invalid parameter \(reason)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user