braid-text 0.2.9 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +4 -36
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -9,8 +9,7 @@ let braid_text = {
|
|
|
9
9
|
verbose: false,
|
|
10
10
|
db_folder: './braid-text-db',
|
|
11
11
|
length_cache_size: 10,
|
|
12
|
-
cache: {}
|
|
13
|
-
delete_cache: {}
|
|
12
|
+
cache: {}
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
let waiting_puts = 0
|
|
@@ -596,8 +595,6 @@ braid_text.list = async () => {
|
|
|
596
595
|
}
|
|
597
596
|
|
|
598
597
|
async function get_resource(key) {
|
|
599
|
-
if (braid_text.delete_cache[key]) await braid_text.delete_cache[key]
|
|
600
|
-
|
|
601
598
|
let cache = braid_text.cache
|
|
602
599
|
if (!cache[key]) cache[key] = new Promise(async done => {
|
|
603
600
|
let resource = {key}
|
|
@@ -606,11 +603,11 @@ async function get_resource(key) {
|
|
|
606
603
|
|
|
607
604
|
resource.doc = new Doc("server")
|
|
608
605
|
|
|
609
|
-
let { change
|
|
606
|
+
let { change } = braid_text.db_folder
|
|
610
607
|
? await file_sync(key,
|
|
611
608
|
(bytes) => resource.doc.mergeBytes(bytes),
|
|
612
609
|
() => resource.doc.toBytes())
|
|
613
|
-
: { change: () => { }
|
|
610
|
+
: { change: () => { } }
|
|
614
611
|
|
|
615
612
|
resource.db_delta = change
|
|
616
613
|
|
|
@@ -625,11 +622,6 @@ async function get_resource(key) {
|
|
|
625
622
|
resource.actor_seqs[v[0]] = Math.max(v[1], resource.actor_seqs[v[0]] ?? -1)
|
|
626
623
|
}
|
|
627
624
|
|
|
628
|
-
resource.delete_me = async () => {
|
|
629
|
-
delete cache[key]
|
|
630
|
-
await (braid_text.delete_cache[key] = delete_me())
|
|
631
|
-
}
|
|
632
|
-
|
|
633
625
|
resource.val = resource.doc.get()
|
|
634
626
|
|
|
635
627
|
resource.length_cache = createSimpleCache(braid_text.length_cache_size)
|
|
@@ -745,11 +737,9 @@ async function file_sync(key, process_delta, get_init) {
|
|
|
745
737
|
}
|
|
746
738
|
}
|
|
747
739
|
|
|
748
|
-
let deleted = false
|
|
749
740
|
let chain = Promise.resolve()
|
|
750
741
|
return {
|
|
751
742
|
change: async (bytes) => {
|
|
752
|
-
if (deleted) return
|
|
753
743
|
await (chain = chain.then(async () => {
|
|
754
744
|
currentSize += bytes.length + 4 // we account for the extra 4 bytes for uint32
|
|
755
745
|
const filename = `${braid_text.db_folder}/${encoded}.${currentNumber}`
|
|
@@ -787,29 +777,7 @@ async function file_sync(key, process_delta, get_init) {
|
|
|
787
777
|
}
|
|
788
778
|
}
|
|
789
779
|
}))
|
|
790
|
-
}
|
|
791
|
-
delete_me: async () => {
|
|
792
|
-
deleted = true
|
|
793
|
-
await (chain = chain.then(async () => {
|
|
794
|
-
await Promise.all(
|
|
795
|
-
(
|
|
796
|
-
await get_files_for_key(key)
|
|
797
|
-
).map((file) => {
|
|
798
|
-
return new Promise((resolve, reject) => {
|
|
799
|
-
fs.unlink(file, (err) => {
|
|
800
|
-
if (err) {
|
|
801
|
-
console.error(`Error deleting file: ${file}`)
|
|
802
|
-
reject(err)
|
|
803
|
-
} else {
|
|
804
|
-
if (braid_text.verbose) console.log(`Deleted file: ${file}`)
|
|
805
|
-
resolve()
|
|
806
|
-
}
|
|
807
|
-
})
|
|
808
|
-
})
|
|
809
|
-
})
|
|
810
|
-
)
|
|
811
|
-
}))
|
|
812
|
-
},
|
|
780
|
+
}
|
|
813
781
|
}
|
|
814
782
|
}
|
|
815
783
|
|