ndb: switch to computed property for tags
this will allows us to change less code on the switchover
This commit is contained in:
@@ -60,7 +60,7 @@ func parse_note_content_ndb(note: NdbNote) -> Blocks {
|
|||||||
while (i < bs.num_blocks) {
|
while (i < bs.num_blocks) {
|
||||||
let block = bs.blocks[i]
|
let block = bs.blocks[i]
|
||||||
|
|
||||||
if let converted = convert_block_ndb(block, tags: note.tags()) {
|
if let converted = convert_block_ndb(block, tags: note.tags) {
|
||||||
out.append(converted)
|
out.append(converted)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ class NdbNote {
|
|||||||
ndb_note_kind(note)
|
ndb_note_kind(note)
|
||||||
}
|
}
|
||||||
|
|
||||||
func tags() -> TagsSequence {
|
var tags: TagsSequence {
|
||||||
return .init(note: self)
|
.init(note: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
@@ -169,18 +169,18 @@ extension NdbNote {
|
|||||||
|
|
||||||
// TODO: References iterator
|
// TODO: References iterator
|
||||||
public var referenced_ids: LazyFilterSequence<References> {
|
public var referenced_ids: LazyFilterSequence<References> {
|
||||||
References.ids(tags: self.tags())
|
References.ids(tags: self.tags)
|
||||||
}
|
}
|
||||||
|
|
||||||
public var referenced_pubkeys: LazyFilterSequence<References> {
|
public var referenced_pubkeys: LazyFilterSequence<References> {
|
||||||
References.pubkeys(tags: self.tags())
|
References.pubkeys(tags: self.tags)
|
||||||
}
|
}
|
||||||
|
|
||||||
func event_refs(_ privkey: String?) -> [EventRef] {
|
func event_refs(_ privkey: String?) -> [EventRef] {
|
||||||
if let rs = _event_refs {
|
if let rs = _event_refs {
|
||||||
return rs
|
return rs
|
||||||
}
|
}
|
||||||
let refs = interpret_event_refs_ndb(blocks: self.blocks(privkey).blocks, tags: self.tags())
|
let refs = interpret_event_refs_ndb(blocks: self.blocks(privkey).blocks, tags: self.tags)
|
||||||
self._event_refs = refs
|
self._event_refs = refs
|
||||||
return refs
|
return refs
|
||||||
}
|
}
|
||||||
@@ -271,7 +271,7 @@ extension NdbNote {
|
|||||||
|
|
||||||
// NDBTODO: id -> data
|
// NDBTODO: id -> data
|
||||||
public func references(id: String, key: AsciiCharacter) -> Bool {
|
public func references(id: String, key: AsciiCharacter) -> Bool {
|
||||||
for ref in References(tags: self.tags()) {
|
for ref in References(tags: self.tags) {
|
||||||
if ref.key == key && ref.id.string() == id {
|
if ref.key == key && ref.id.string() == id {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,14 +33,14 @@ final class NdbTests: XCTestCase {
|
|||||||
XCTAssertEqual(note.created_at, 1689904312)
|
XCTAssertEqual(note.created_at, 1689904312)
|
||||||
|
|
||||||
let expected_count: UInt16 = 786
|
let expected_count: UInt16 = 786
|
||||||
XCTAssertEqual(note.tags().count, expected_count)
|
XCTAssertEqual(note.tags.count, expected_count)
|
||||||
XCTAssertEqual(note.tags().reduce(0, { sum, _ in sum + 1 }), expected_count)
|
XCTAssertEqual(note.tags.reduce(0, { sum, _ in sum + 1 }), expected_count)
|
||||||
|
|
||||||
var tags = 0
|
var tags = 0
|
||||||
var total_count_stored = 0
|
var total_count_stored = 0
|
||||||
var total_count_iter = 0
|
var total_count_iter = 0
|
||||||
//let tags = note.tags()
|
//let tags = note.tags()
|
||||||
for tag in note.tags() {
|
for tag in note.tags {
|
||||||
total_count_stored += Int(tag.count)
|
total_count_stored += Int(tag.count)
|
||||||
|
|
||||||
if tags == 0 || tags == 1 || tags == 2 {
|
if tags == 0 || tags == 1 || tags == 2 {
|
||||||
@@ -111,7 +111,7 @@ final class NdbTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
self.measure(options: longer_iter()) {
|
self.measure(options: longer_iter()) {
|
||||||
let blocks = note.blocks(nil).blocks
|
let blocks = note.blocks(nil).blocks
|
||||||
let xs = interpret_event_refs_ndb(blocks: blocks, tags: note.tags())
|
let xs = interpret_event_refs_ndb(blocks: blocks, tags: note.tags)
|
||||||
XCTAssertEqual(xs.count, 1)
|
XCTAssertEqual(xs.count, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -135,7 +135,7 @@ final class NdbTests: XCTestCase {
|
|||||||
XCTAssertEqual(ev_blocks, note_blocks)
|
XCTAssertEqual(ev_blocks, note_blocks)
|
||||||
|
|
||||||
let event_refs = interpret_event_refs(blocks: ev_blocks.blocks, tags: event.tags)
|
let event_refs = interpret_event_refs(blocks: ev_blocks.blocks, tags: event.tags)
|
||||||
let note_refs = interpret_event_refs_ndb(blocks: note_blocks.blocks, tags: note.tags())
|
let note_refs = interpret_event_refs_ndb(blocks: note_blocks.blocks, tags: note.tags)
|
||||||
|
|
||||||
XCTAssertEqual(event_refs, note_refs)
|
XCTAssertEqual(event_refs, note_refs)
|
||||||
}
|
}
|
||||||
@@ -151,7 +151,7 @@ final class NdbTests: XCTestCase {
|
|||||||
var count = 0
|
var count = 0
|
||||||
var char_count = 0
|
var char_count = 0
|
||||||
|
|
||||||
for tag in note.tags() {
|
for tag in note.tags {
|
||||||
for elem in tag {
|
for elem in tag {
|
||||||
print("iter_elem \(elem.string())")
|
print("iter_elem \(elem.string())")
|
||||||
for c in elem {
|
for c in elem {
|
||||||
|
|||||||
Reference in New Issue
Block a user