Skip to content

[FME-4221] - New MetadataType #681

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Split.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,8 @@
59FB7C3C2203795F00ECC96A /* LocalhostSplitsParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FB7C3B2203795F00ECC96A /* LocalhostSplitsParser.swift */; };
59FB7C3E22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FB7C3D22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift */; };
5B48D8172DEA2CED00351925 /* PrerequisitesMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF52DF52DE0B60300FEDAFE /* PrerequisitesMatcher.swift */; };
5B48D8192DF360D000351925 /* EventMetadataType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B48D8182DF360CB00351925 /* EventMetadataType.swift */; };
5B48D81A2DF360D000351925 /* EventMetadataType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B48D8182DF360CB00351925 /* EventMetadataType.swift */; };
5B91B8392DDE4A3B000510F0 /* SplitDTOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B91B8382DDE4A30000510F0 /* SplitDTOTests.swift */; };
5BF52DF72DE0B60700FEDAFE /* PrerequisitesMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF52DF52DE0B60300FEDAFE /* PrerequisitesMatcher.swift */; };
5BF52DF92DE4B8D400FEDAFE /* PrerequisitesMatcherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF52DF82DE4B8CA00FEDAFE /* PrerequisitesMatcherTest.swift */; };
Expand Down Expand Up @@ -1557,6 +1559,7 @@
59FB7C34220329B900ECC96A /* SplitFactoryBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitFactoryBuilderTests.swift; sourceTree = "<group>"; };
59FB7C3B2203795F00ECC96A /* LocalhostSplitsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalhostSplitsParser.swift; sourceTree = "<group>"; };
59FB7C3D22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpaceDelimitedLocalhostSplitsParser.swift; sourceTree = "<group>"; };
5B48D8182DF360CB00351925 /* EventMetadataType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventMetadataType.swift; sourceTree = "<group>"; };
5B91B8382DDE4A30000510F0 /* SplitDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitDTOTests.swift; sourceTree = "<group>"; };
5BF52DF52DE0B60300FEDAFE /* PrerequisitesMatcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrerequisitesMatcher.swift; sourceTree = "<group>"; };
5BF52DF82DE4B8CA00FEDAFE /* PrerequisitesMatcherTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrerequisitesMatcherTest.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2408,6 +2411,7 @@
3B6DEEBE20EA6AE20067435E /* Events */ = {
isa = PBXGroup;
children = (
5B48D8182DF360CB00351925 /* EventMetadataType.swift */,
3B6DEEC420EA6AE20067435E /* SplitEvent.swift */,
3B6DEEC520EA6AE20067435E /* SplitEventsManager.swift */,
9530FD7927F24306005027AA /* EventsManagerCoordinator.swift */,
Expand Down Expand Up @@ -4285,6 +4289,7 @@
598EDE84224CE2C4005D4762 /* SplitResult.swift in Sources */,
3B6DEF4120EA6AE50067435E /* DependencyMatcherData.swift in Sources */,
595AD24B24E30C0C00A7B750 /* Base64Utils.swift in Sources */,
5B48D8192DF360D000351925 /* EventMetadataType.swift in Sources */,
3B6DEF4520EA6AE50067435E /* Matcher.swift in Sources */,
59FB7C0D21F6099500ECC96A /* EventValidator.swift in Sources */,
95B341B026136B42002F57F6 /* KeyValueStorage.swift in Sources */,
Expand Down Expand Up @@ -5027,6 +5032,7 @@
95B02D5F28D0BDC20030EC8B /* LessThanOrEqualToMatcher.swift in Sources */,
95B02D6028D0BDC20030EC8B /* MatchesStringMatcher.swift in Sources */,
952FA1312A31DCE400264AB5 /* SplitComponentCatalog.swift in Sources */,
5B48D81A2DF360D000351925 /* EventMetadataType.swift in Sources */,
95B02D6128D0BDC20030EC8B /* PartOfSetMatcher.swift in Sources */,
95B02D6228D0BDC20030EC8B /* StartWithMatcher.swift in Sources */,
95880CFB2AEFF177000498A0 /* FlagSetsValidator.swift in Sources */,
Expand Down
31 changes: 31 additions & 0 deletions Split/Events/EventMetadataType.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Created by Martin Cardozo on 06/06/2025

import Foundation

@objc public class EventMetadata: NSObject {
var type: EventMetadataType
var data: String = ""

init(type: EventMetadataType, data: String) {
self.type = type
self.data = data
}
}

@objc enum EventMetadataType: Int {
case FLAGS_UPDATED
case FLAGS_KILLED
case SEGMENTS_UPDATED
case LARGE_SEGMENTS_UPDATED
case RULE_BASED_SEGMENTS_UPDATED

public func toString() -> String {
switch self {
case .FLAGS_UPDATED: "FLAGS_UPDATED"
case .FLAGS_KILLED: "FLAGS_KILLED"
case .SEGMENTS_UPDATED: "SEGMENTS_UPDATED"
case .LARGE_SEGMENTS_UPDATED: "LARGE_SEGMENTS_UPDATED"
case .RULE_BASED_SEGMENTS_UPDATED: "RULE_BASED_SEGMENTS_UPDATED"
}
}
}
Loading