braid-text 0.2.8 → 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.
Files changed (3) hide show
  1. package/index.js +5 -38
  2. package/package.json +1 -1
  3. package/test.html +5 -18
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
@@ -207,8 +206,7 @@ braid_text.serve = async (req, res, options = {}) => {
207
206
  }
208
207
 
209
208
  braid_text.delete = async (key) => {
210
- let resource = (typeof key == 'string') ? await get_resource(key) : key
211
- await resource.delete_me()
209
+ await braid_text.put(key, {body: ''})
212
210
  }
213
211
 
214
212
  braid_text.get = async (key, options) => {
@@ -597,8 +595,6 @@ braid_text.list = async () => {
597
595
  }
598
596
 
599
597
  async function get_resource(key) {
600
- if (braid_text.delete_cache[key]) await braid_text.delete_cache[key]
601
-
602
598
  let cache = braid_text.cache
603
599
  if (!cache[key]) cache[key] = new Promise(async done => {
604
600
  let resource = {key}
@@ -607,11 +603,11 @@ async function get_resource(key) {
607
603
 
608
604
  resource.doc = new Doc("server")
609
605
 
610
- let { change, delete_me } = braid_text.db_folder
606
+ let { change } = braid_text.db_folder
611
607
  ? await file_sync(key,
612
608
  (bytes) => resource.doc.mergeBytes(bytes),
613
609
  () => resource.doc.toBytes())
614
- : { change: () => { }, delete_me: () => { } }
610
+ : { change: () => { } }
615
611
 
616
612
  resource.db_delta = change
617
613
 
@@ -626,11 +622,6 @@ async function get_resource(key) {
626
622
  resource.actor_seqs[v[0]] = Math.max(v[1], resource.actor_seqs[v[0]] ?? -1)
627
623
  }
628
624
 
629
- resource.delete_me = async () => {
630
- delete cache[key]
631
- await (braid_text.delete_cache[key] = delete_me())
632
- }
633
-
634
625
  resource.val = resource.doc.get()
635
626
 
636
627
  resource.length_cache = createSimpleCache(braid_text.length_cache_size)
@@ -746,11 +737,9 @@ async function file_sync(key, process_delta, get_init) {
746
737
  }
747
738
  }
748
739
 
749
- let deleted = false
750
740
  let chain = Promise.resolve()
751
741
  return {
752
742
  change: async (bytes) => {
753
- if (deleted) return
754
743
  await (chain = chain.then(async () => {
755
744
  currentSize += bytes.length + 4 // we account for the extra 4 bytes for uint32
756
745
  const filename = `${braid_text.db_folder}/${encoded}.${currentNumber}`
@@ -788,29 +777,7 @@ async function file_sync(key, process_delta, get_init) {
788
777
  }
789
778
  }
790
779
  }))
791
- },
792
- delete_me: async () => {
793
- deleted = true
794
- await (chain = chain.then(async () => {
795
- await Promise.all(
796
- (
797
- await get_files_for_key(key)
798
- ).map((file) => {
799
- return new Promise((resolve, reject) => {
800
- fs.unlink(file, (err) => {
801
- if (err) {
802
- console.error(`Error deleting file: ${file}`)
803
- reject(err)
804
- } else {
805
- if (braid_text.verbose) console.log(`Deleted file: ${file}`)
806
- resolve()
807
- }
808
- })
809
- })
810
- })
811
- )
812
- }))
813
- },
780
+ }
814
781
  }
815
782
  }
816
783
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braid-text",
3
- "version": "0.2.8",
3
+ "version": "0.2.10",
4
4
  "description": "Library for collaborative text over http using braid.",
5
5
  "author": "Braid Working Group",
6
6
  "repository": "braid-org/braidjs",
package/test.html CHANGED
@@ -110,31 +110,18 @@ runTest(
110
110
  async () => {
111
111
  let key = 'test-' + Math.random().toString(36).slice(2)
112
112
 
113
- let r0 = (await (await fetch(`/test.html?check=/${key}`)).json()).result
114
-
115
113
  await fetch(`/${key}`, {
116
114
  method: 'PUT',
117
- body: JSON.stringify({a: 5, b: 6}, null, 4)
118
- })
119
-
120
- let r1 = (await (await fetch(`/test.html?check=/${key}`)).json()).result
121
-
122
- await fetch(`/${key}`, {
123
- method: 'DELETE'
115
+ body: 'hi'
124
116
  })
125
117
 
126
- let r2 = (await (await fetch(`/test.html?check=/${key}`)).json()).result
118
+ await fetch(`/${key}`, {method: 'DELETE'})
127
119
 
128
- await fetch(`/${key}`, {
129
- method: 'PUT',
130
- body: JSON.stringify({a: 5, b: 7}, null, 4)
131
- })
132
-
133
- let r3 = (await (await fetch(`/test.html?check=/${key}`)).json()).result
120
+ let r = await fetch(`/${key}`)
134
121
 
135
- return JSON.stringify([r0, r1, r2, r3])
122
+ return await r.text()
136
123
  },
137
- JSON.stringify([false, true, false, true])
124
+ ''
138
125
  )
139
126
 
140
127
  runTest(