V3
enginev3
new DendronEngine3(
fileStore = new NodeJSFileStore()
noteStore: new NoteStore(
fileStore,
new NoteMetadataStore(),
URI.file(wsRoot)
),
)
init {
initSchema
initNotes
}
initNotes {
vaults.map vault {
maybeFiles = _fileStore.readDir vault
notesCache = new NotesFileSystemCache
// 953
notesDict = new NoteParserV2.parseFiles maybeFiles
}
addBacklinks
}
parseFiles {
...
unseenKeys
rootProps :=
// root hierarchies
asyncLoopOneAtATime(fileMetaDict).forEach ent {
parseNoteProps(ent)
}
// 203
// parse everything else
...
// 266
domains.map {
SchemaUtils.matchDomain
}
unseenKeys.forEach {
cache.drop(unseenKey)
}
if cache.numCacheMisses > 0 {
cache.writeToFileSystem
}
}
parseNoteProps note {
file2NoteWithCache note
}
file2NoteWithCache {
cacheEntry :=
if matchHash {
return
} else {
cache.set
incrementCacheMiss
}
}
Backlinks