Skip to content

Commit aeb9979

Browse files
committed
moved StoregeCore from base class to field
1 parent aac2ec9 commit aeb9979

File tree

4 files changed

+28
-13
lines changed

4 files changed

+28
-13
lines changed

Sources/SQLiteORM/SafeStorage/SafeStorage+CRUD.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@ import Foundation
22

33
extension SafeStorage {
44
public func delete<T>(_ object: T) -> Result<Void, Error> {
5-
return self.deleteInternal(object)
5+
return self.storageCore.deleteInternal(object)
66
}
77

88
public func update<T>(_ object: T) -> Result<Void, Error> {
9-
return self.updateInternal(object)
9+
return self.storageCore.updateInternal(object)
1010
}
1111

1212
public func get<T>(of: T.Type, id: Bindable...) -> Result<T?, Error> where T: Initializable {
13-
return self.getInternal(id: id)
13+
return self.storageCore.getInternal(id: id)
1414
}
1515

1616
public func insert<T>(_ object: T) -> Result<Int64, Error> {
17-
return self.insertInternal(object)
17+
return self.storageCore.insertInternal(object)
1818
}
1919

2020
public func replace<T>(_ object: T) -> Result<Void, Error> {
21-
return self.replaceInternal(object)
21+
return self.storageCore.replaceInternal(object)
2222
}
2323
}
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
import Foundation
22

3-
public class SafeStorage: StorageCore {
3+
public class SafeStorage {
4+
let storageCore: StorageCore
45

6+
public convenience init(filename: String, tables: AnyTable...) throws {
7+
try self.init(filename: filename, apiProvider: SQLiteApiProviderImpl.shared, tables: tables)
8+
}
9+
10+
convenience init(filename: String, apiProvider: SQLiteApiProvider, tables: [AnyTable]) throws {
11+
try self.init(filename: filename,
12+
apiProvider: apiProvider,
13+
connection: ConnectionHolderImpl(filename: filename, apiProvider: apiProvider),
14+
tables: tables)
15+
}
16+
17+
init(filename: String, apiProvider: SQLiteApiProvider, connection: ConnectionHolder, tables: [AnyTable]) throws {
18+
storageCore = try .init(filename: filename, apiProvider: apiProvider, connection: connection, tables: tables)
19+
}
520
}

Sources/SQLiteORM/Storage/Storage.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ public class Storage {
1111
try self.init(filename: filename, apiProvider: SQLiteApiProviderImpl.shared, tables: tables)
1212
}
1313

14-
init(filename: String, apiProvider: SQLiteApiProvider, tables: [AnyTable]) throws {
15-
storageCore = try .init(filename: filename,
16-
apiProvider: apiProvider,
17-
connection: ConnectionHolderImpl(filename: filename, apiProvider: apiProvider),
18-
tables: tables)
14+
convenience init(filename: String, apiProvider: SQLiteApiProvider, tables: [AnyTable]) throws {
15+
try self.init(filename: filename,
16+
apiProvider: apiProvider,
17+
connection: ConnectionHolderImpl(filename: filename, apiProvider: apiProvider),
18+
tables: tables)
1919
}
2020

2121
init(filename: String, apiProvider: SQLiteApiProvider, connection: ConnectionHolder, tables: [AnyTable]) throws {

Sources/SQLiteORM/StorageCore/StorageCore+CRUD.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,12 +283,12 @@ extension StorageCore {
283283
let bindResult = table.bind(columnBinder: statement, object: object, apiProvider: self.apiProvider)
284284
switch bindResult {
285285
case .success(var resultCode):
286-
guard resultCode == apiProvider.SQLITE_OK else {
286+
guard resultCode == self.apiProvider.SQLITE_OK else {
287287
let errorString = connectionRef.errorMessage
288288
return .failure(Error.sqliteError(code: resultCode, text: errorString))
289289
}
290290
resultCode = statement.step()
291-
guard apiProvider.SQLITE_DONE == resultCode else {
291+
guard self.apiProvider.SQLITE_DONE == resultCode else {
292292
let errorString = connectionRef.errorMessage
293293
return .failure(Error.sqliteError(code: resultCode, text: errorString))
294294
}

0 commit comments

Comments
 (0)