1 | #!/usr/bin/env node
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | var sublevel = require('subleveldown');
|
10 | var memdb = require('memdb');
|
11 |
|
12 | var rawdb = memdb();
|
13 | var db = sublevel(rawdb, 'd', {valueEncoding: 'json'});
|
14 | var idb = sublevel(rawdb, 'i');
|
15 | var treeIndexer = require('../index.js');
|
16 |
|
17 | var tree = treeIndexer(db, idb, {
|
18 | sep: '.'
|
19 | });
|
20 |
|
21 | function cleanup() {
|
22 | console.log("done");
|
23 | }
|
24 |
|
25 |
|
26 | function base(cb) {
|
27 | tree.put('1', {name: "foo"}, function(err) {
|
28 | if(err) return cb(err);
|
29 |
|
30 |
|
31 | tree.put('2', {parentKey: '1', name: "bar.lol"}, function(err) {
|
32 | if(err) return cb(err);
|
33 |
|
34 | tree.put('3', {parentKey: '2', name: "baz"}, function(err) {
|
35 | if(err) return cb(err);
|
36 |
|
37 | tree.put('4', {parentKey: '1', name: "cat"}, function(err) {
|
38 | if(err) return cb(err);
|
39 |
|
40 | cb(err, db, tree, cleanup);
|
41 |
|
42 | });
|
43 | });
|
44 | });
|
45 | })
|
46 | };
|
47 |
|
48 |
|
49 |
|
50 | base(function(err, db, tree, cb) {
|
51 | if(err) return cb(err);
|
52 |
|
53 |
|
54 | tree.children('foo', function(err, children) {
|
55 | if(err) return cb(err);
|
56 |
|
57 | console.log('before move:', children);
|
58 |
|
59 | tree.put('2', {parentKey: '1', name: "bar.moved"}, function(err) {
|
60 | if(err) return cb(err);
|
61 |
|
62 |
|
63 | tree.children('foo', function(err, children) {
|
64 | if(err) return cb(err);
|
65 |
|
66 | console.log('after move:', children);
|
67 |
|
68 | cb();
|
69 | });
|
70 |
|
71 | });
|
72 |
|
73 | });
|
74 | })
|
75 |
|