braid-text 0.2.17 → 0.2.18
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 -1
- package/package.json +1 -1
- package/test/test.js +6 -3
package/index.js
CHANGED
|
@@ -577,9 +577,12 @@ braid_text.put = async (key, options) => {
|
|
|
577
577
|
await resource.db_delta(resource.doc.getPatchSince(v_before))
|
|
578
578
|
}
|
|
579
579
|
|
|
580
|
-
|
|
580
|
+
// currently version must be an array with exactly one element, e.g. ["abc-1"]
|
|
581
|
+
braid_text.revert = async (key, version) => {
|
|
581
582
|
var resource = (typeof key == 'string') ? await get_resource(key) : key
|
|
582
583
|
|
|
584
|
+
var [actor, seq] = decode_version(version[0])
|
|
585
|
+
|
|
583
586
|
// get version without actor-seq,
|
|
584
587
|
// and update actor_seqs
|
|
585
588
|
var v = []
|
package/package.json
CHANGED
package/test/test.js
CHANGED
|
@@ -17,7 +17,7 @@ async function test_revert() {
|
|
|
17
17
|
var key = Math.random().toString(36).slice(2)
|
|
18
18
|
await braid_text.put(key, {version: ['a-0'], body: 'A'})
|
|
19
19
|
await braid_text.put(key, {version: ['a-1'], parents: ['a-0'], patches: [{range: '[1:1]', content: 'B'}]})
|
|
20
|
-
await braid_text.revert(key, 'a'
|
|
20
|
+
await braid_text.revert(key, ['a-1'])
|
|
21
21
|
delete braid_text.cache[key]
|
|
22
22
|
var {version, body} = await braid_text.get(key, {})
|
|
23
23
|
if (version[0] != 'a-0') throw new Error('revert error: wrong version')
|
|
@@ -25,7 +25,7 @@ async function test_revert() {
|
|
|
25
25
|
|
|
26
26
|
await braid_text.put(key, {version: ['b-0'], parents: ['a-0'], patches: [{range: '[1:1]', content: 'C'}]})
|
|
27
27
|
if ('AC' !== await braid_text.get(key)) throw new Error('revert error: wrong text')
|
|
28
|
-
await braid_text.revert(key, 'b'
|
|
28
|
+
await braid_text.revert(key, ['b-0'])
|
|
29
29
|
if ('A' !== await braid_text.get(key)) throw new Error('revert error: wrong text')
|
|
30
30
|
delete braid_text.cache[key]
|
|
31
31
|
var {version, body} = await braid_text.get(key, {})
|
|
@@ -99,7 +99,7 @@ async function main() {
|
|
|
99
99
|
await braid_text.put(key, y)
|
|
100
100
|
|
|
101
101
|
// test revert
|
|
102
|
-
await braid_text.revert(key, actor
|
|
102
|
+
await braid_text.revert(key, [`${actor}-${(pre_seq ?? -1) + 1}`])
|
|
103
103
|
var new_text = await braid_text.get(key)
|
|
104
104
|
if (old_text !== new_text) throw new Error('revert failed!')
|
|
105
105
|
await braid_text.put(key, y)
|
|
@@ -171,6 +171,9 @@ function make_random_edit(doc) {
|
|
|
171
171
|
}
|
|
172
172
|
base_seq++
|
|
173
173
|
|
|
174
|
+
// try skipping some seqs.. to see if it breaks..
|
|
175
|
+
base_seq += Math.floor(Math.random() * 5)
|
|
176
|
+
|
|
174
177
|
console.log({agents, versions, include_versions})
|
|
175
178
|
|
|
176
179
|
let parent_doc = dt_get(doc, include_versions)
|