Add asDataDict, add filter for varnames with _
This commit is contained in:
parent
b5a7dda2ea
commit
a2e274276b
|
@ -29,7 +29,7 @@ open class StORM {
|
|||
guard let key = child.label else {
|
||||
continue
|
||||
}
|
||||
if count >= offset && !key.hasPrefix("internal_") {
|
||||
if count >= offset && !key.hasPrefix("internal_") && !key.hasPrefix("_") {
|
||||
c.append((key, type(of:child.value)))
|
||||
//c[key] = type(of:child.value)
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ open class StORM {
|
|||
var count = 0
|
||||
let mirror = Mirror(reflecting: self)
|
||||
for case let (label?, value) in mirror.children {
|
||||
if count >= offset && !label.hasPrefix("internal_") {
|
||||
if count >= offset && !label.hasPrefix("internal_") && !label.hasPrefix("_") {
|
||||
if value is [String:Any] {
|
||||
c.append((label, try! (value as! [String:Any]).jsonEncodedString()))
|
||||
} else {
|
||||
|
@ -55,6 +55,23 @@ open class StORM {
|
|||
return c
|
||||
}
|
||||
|
||||
public func asDataDict(_ offset: Int = 0) -> [String: Any] {
|
||||
var c = [String: Any]()
|
||||
var count = 0
|
||||
let mirror = Mirror(reflecting: self)
|
||||
for case let (label?, value) in mirror.children {
|
||||
if count >= offset && !label.hasPrefix("internal_") && !label.hasPrefix("_") {
|
||||
if value is [String:Any] {
|
||||
c[label] = try! (value as! [String:Any]).jsonEncodedString()
|
||||
} else {
|
||||
c[label] = value
|
||||
}
|
||||
}
|
||||
count += 1
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
public func firstAsKey() -> (String, Any) {
|
||||
let mirror = Mirror(reflecting: self)
|
||||
for case let (label?, value) in mirror.children {
|
||||
|
|
Loading…
Reference in New Issue