Skip to content

Commit f3a0799

Browse files
resolve property 'config' in closure requires explicit use of 'self' to make capture semantics explicit
1 parent 1d44bbb commit f3a0799

File tree

2 files changed

+9
-79
lines changed

2 files changed

+9
-79
lines changed

swift-sdk/Internal/InternalIterableAPI.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -147,21 +147,21 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider {
147147
self._email = email
148148
self._userId = nil
149149

150-
self.onLogin(authToken) { [weak self]() -> Void in
151-
guard let self = self else {
150+
self.onLogin(authToken) { [weak self] in
151+
guard let config = self?.config else {
152152
return
153153
}
154154
let merge = identityResolution?.mergeOnAnonymousToKnown ?? config.identityResolution.mergeOnAnonymousToKnown
155155
let replay = identityResolution?.replayOnVisitorToKnown ?? config.identityResolution.replayOnVisitorToKnown
156156
if config.enableAnonTracking, let email = email {
157-
attemptAndProcessMerge(
157+
self?.attemptAndProcessMerge(
158158
merge: merge ?? true,
159159
replay: replay ?? true,
160160
destinationUser: email,
161161
isEmail: true,
162162
failureHandler: failureHandler
163163
)
164-
self.localStorage.userIdAnnon = nil
164+
self?.localStorage.userIdAnnon = nil
165165
}
166166
}
167167

@@ -188,15 +188,15 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider {
188188
self._email = nil
189189
self._userId = userId
190190

191-
self.onLogin(authToken) { [weak self]() -> Void in
192-
guard let self = self else {
191+
self.onLogin(authToken) { [weak self] in
192+
guard let config = self?.config else {
193193
return
194194
}
195195
if config.enableAnonTracking {
196-
if let userId = userId, userId != localStorage.userIdAnnon {
196+
if let userId = userId, userId != (self?.localStorage.userIdAnnon ?? "") {
197197
let merge = identityResolution?.mergeOnAnonymousToKnown ?? config.identityResolution.mergeOnAnonymousToKnown
198198
let replay = identityResolution?.replayOnVisitorToKnown ?? config.identityResolution.replayOnVisitorToKnown
199-
attemptAndProcessMerge(
199+
self?.attemptAndProcessMerge(
200200
merge: merge ?? true,
201201
replay: replay ?? true,
202202
destinationUser: userId,
@@ -206,7 +206,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider {
206206
}
207207

208208
if !isAnon {
209-
localStorage.userIdAnnon = nil
209+
self?.localStorage.userIdAnnon = nil
210210
}
211211
}
212212
}

tests/unit-tests/ComparatorTypeDoesNotEqualMatchTest.swift

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -254,75 +254,5 @@ final class ComparatorTypeDoesNotEqualMatchTest: XCTestCase {
254254
XCTAssertEqual(matchedCriteriaId, nil)
255255
}
256256

257-
258-
private let modeDataDoesNot467 = """
259-
{
260-
"count": 1,
261-
"criteriaSets": [
262-
{
263-
"criteriaId": "467",
264-
"name": "Custom event - single primitive",
265-
"createdAt": 1728166585122,
266-
"updatedAt": 1729581351423,
267-
"searchQuery": {
268-
"combinator": "And",
269-
"searchQueries": [
270-
{
271-
"combinator": "And",
272-
"searchQueries": [
273-
{
274-
"dataType": "customEvent",
275-
"searchCombo": {
276-
"combinator": "And",
277-
"searchQueries": [
278-
{
279-
"dataType": "customEvent",
280-
"field": "eventName",
281-
"comparatorType": "Equals",
282-
"value": "animal_found",
283-
"fieldType": "string"
284-
},
285-
{
286-
"dataType": "customEvent",
287-
"field": "animal_found.count",
288-
"comparatorType": "DoesNotEqual",
289-
"value": "4",
290-
"fieldType": "string"
291-
}
292-
]
293-
}
294-
}
295-
]
296-
}
297-
]
298-
}
299-
}
300-
]
301-
}
302-
"""
303-
304-
func testCompareDataSuccess467ForLong() {
305-
306-
let eventItems: [[AnyHashable: Any]] = [[
307-
"dataType": "customEvent",
308-
"eventName": "animal_found",
309-
"dataFields":["count": [5,8,9]
310-
]]]
311-
let expectedCriteriaId = "467"
312-
let matchedCriteriaId = CriteriaCompletionChecker(anonymousCriteria: data(from: modeDataDoesNot467)!, anonymousEvents: eventItems).getMatchedCriteria()
313-
XCTAssertEqual(matchedCriteriaId, expectedCriteriaId)
314-
}
315-
316-
func testCompareDataFailed467ForLong() {
317-
318-
let eventItems: [[AnyHashable: Any]] = [[
319-
"dataType": "customEvent",
320-
"eventName": "animal_found",
321-
"dataFields":["count": 4
322-
]]]
323-
let matchedCriteriaId = CriteriaCompletionChecker(anonymousCriteria: data(from: modeDataDoesNot467)!, anonymousEvents: eventItems).getMatchedCriteria()
324-
XCTAssertEqual(matchedCriteriaId, nil)
325-
}
326-
327257
}
328258

0 commit comments

Comments
 (0)