hyperbee2 0.0.0

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.
@@ -0,0 +1,248 @@
1
+ // This file is autogenerated by the hyperschema compiler
2
+ // Schema Version: 1
3
+ /* eslint-disable camelcase */
4
+ /* eslint-disable quotes */
5
+ /* eslint-disable space-before-function-paren */
6
+
7
+ const { c } = require('hyperschema/runtime')
8
+
9
+ const VERSION = 1
10
+
11
+ // eslint-disable-next-line no-unused-vars
12
+ let version = VERSION
13
+
14
+ // @bee/tree-pointer
15
+ const encoding0 = {
16
+ preencode(state, m) {
17
+ c.uint.preencode(state, m.core)
18
+ c.uint.preencode(state, m.seq)
19
+ c.uint.preencode(state, m.offset)
20
+ },
21
+ encode(state, m) {
22
+ c.uint.encode(state, m.core)
23
+ c.uint.encode(state, m.seq)
24
+ c.uint.encode(state, m.offset)
25
+ },
26
+ decode(state) {
27
+ const r0 = c.uint.decode(state)
28
+ const r1 = c.uint.decode(state)
29
+ const r2 = c.uint.decode(state)
30
+
31
+ return {
32
+ core: r0,
33
+ seq: r1,
34
+ offset: r2
35
+ }
36
+ }
37
+ }
38
+
39
+ // @bee/block-pointer
40
+ const encoding1 = {
41
+ preencode(state, m) {
42
+ c.uint.preencode(state, m.core)
43
+ c.uint.preencode(state, m.seq)
44
+ },
45
+ encode(state, m) {
46
+ c.uint.encode(state, m.core)
47
+ c.uint.encode(state, m.seq)
48
+ },
49
+ decode(state) {
50
+ const r0 = c.uint.decode(state)
51
+ const r1 = c.uint.decode(state)
52
+
53
+ return {
54
+ core: r0,
55
+ seq: r1
56
+ }
57
+ }
58
+ }
59
+
60
+ // @bee/batch-pointer
61
+ const encoding2 = {
62
+ preencode(state, m) {
63
+ c.uint.preencode(state, m.start)
64
+ c.uint.preencode(state, m.end)
65
+ },
66
+ encode(state, m) {
67
+ c.uint.encode(state, m.start)
68
+ c.uint.encode(state, m.end)
69
+ },
70
+ decode(state) {
71
+ const r0 = c.uint.decode(state)
72
+ const r1 = c.uint.decode(state)
73
+
74
+ return {
75
+ start: r0,
76
+ end: r1
77
+ }
78
+ }
79
+ }
80
+
81
+ // @bee/tree.keys
82
+ const encoding3_0 = c.array(encoding0)
83
+ // @bee/tree.children
84
+ const encoding3_1 = encoding3_0
85
+
86
+ // @bee/tree
87
+ const encoding3 = {
88
+ preencode(state, m) {
89
+ encoding3_0.preencode(state, m.keys)
90
+ encoding3_1.preencode(state, m.children)
91
+ },
92
+ encode(state, m) {
93
+ encoding3_0.encode(state, m.keys)
94
+ encoding3_1.encode(state, m.children)
95
+ },
96
+ decode(state) {
97
+ const r0 = encoding3_0.decode(state)
98
+ const r1 = encoding3_1.decode(state)
99
+
100
+ return {
101
+ keys: r0,
102
+ children: r1
103
+ }
104
+ }
105
+ }
106
+
107
+ // @bee/data
108
+ const encoding4 = {
109
+ preencode(state, m) {
110
+ c.buffer.preencode(state, m.key)
111
+ c.buffer.preencode(state, m.value)
112
+ },
113
+ encode(state, m) {
114
+ c.buffer.encode(state, m.key)
115
+ c.buffer.encode(state, m.value)
116
+ },
117
+ decode(state) {
118
+ const r0 = c.buffer.decode(state)
119
+ const r1 = c.buffer.decode(state)
120
+
121
+ return {
122
+ key: r0,
123
+ value: r1
124
+ }
125
+ }
126
+ }
127
+
128
+ // @bee/block.tree
129
+ const encoding5_4 = c.array(encoding3)
130
+ // @bee/block.data
131
+ const encoding5_5 = c.array(encoding4)
132
+ // @bee/block.cores
133
+ const encoding5_6 = c.array(c.fixed32)
134
+
135
+ // @bee/block
136
+ const encoding5 = {
137
+ preencode(state, m) {
138
+ c.uint.preencode(state, m.type)
139
+ c.uint.preencode(state, m.checkpoint)
140
+ encoding2.preencode(state, m.batch)
141
+ state.end++ // max flag is 8 so always one byte
142
+
143
+ if (m.previous) encoding1.preencode(state, m.previous)
144
+ if (m.tree) encoding5_4.preencode(state, m.tree)
145
+ if (m.data) encoding5_5.preencode(state, m.data)
146
+ if (m.cores) encoding5_6.preencode(state, m.cores)
147
+ },
148
+ encode(state, m) {
149
+ const flags = (m.previous ? 1 : 0) | (m.tree ? 2 : 0) | (m.data ? 4 : 0) | (m.cores ? 8 : 0)
150
+
151
+ c.uint.encode(state, m.type)
152
+ c.uint.encode(state, m.checkpoint)
153
+ encoding2.encode(state, m.batch)
154
+ c.uint.encode(state, flags)
155
+
156
+ if (m.previous) encoding1.encode(state, m.previous)
157
+ if (m.tree) encoding5_4.encode(state, m.tree)
158
+ if (m.data) encoding5_5.encode(state, m.data)
159
+ if (m.cores) encoding5_6.encode(state, m.cores)
160
+ },
161
+ decode(state) {
162
+ const r0 = c.uint.decode(state)
163
+ const r1 = c.uint.decode(state)
164
+ const r2 = encoding2.decode(state)
165
+ const flags = c.uint.decode(state)
166
+
167
+ return {
168
+ type: r0,
169
+ checkpoint: r1,
170
+ batch: r2,
171
+ previous: (flags & 1) !== 0 ? encoding1.decode(state) : null,
172
+ tree: (flags & 2) !== 0 ? encoding5_4.decode(state) : null,
173
+ data: (flags & 4) !== 0 ? encoding5_5.decode(state) : null,
174
+ cores: (flags & 8) !== 0 ? encoding5_6.decode(state) : null
175
+ }
176
+ }
177
+ }
178
+
179
+ function setVersion(v) {
180
+ version = v
181
+ }
182
+
183
+ function encode(name, value, v = VERSION) {
184
+ version = v
185
+ return c.encode(getEncoding(name), value)
186
+ }
187
+
188
+ function decode(name, buffer, v = VERSION) {
189
+ version = v
190
+ return c.decode(getEncoding(name), buffer)
191
+ }
192
+
193
+ function getEnum(name) {
194
+ switch (name) {
195
+ default:
196
+ throw new Error('Enum not found ' + name)
197
+ }
198
+ }
199
+
200
+ function getEncoding(name) {
201
+ switch (name) {
202
+ case '@bee/tree-pointer':
203
+ return encoding0
204
+ case '@bee/block-pointer':
205
+ return encoding1
206
+ case '@bee/batch-pointer':
207
+ return encoding2
208
+ case '@bee/tree':
209
+ return encoding3
210
+ case '@bee/data':
211
+ return encoding4
212
+ case '@bee/block':
213
+ return encoding5
214
+ default:
215
+ throw new Error('Encoder not found ' + name)
216
+ }
217
+ }
218
+
219
+ function getStruct(name, v = VERSION) {
220
+ const enc = getEncoding(name)
221
+ return {
222
+ preencode(state, m) {
223
+ version = v
224
+ enc.preencode(state, m)
225
+ },
226
+ encode(state, m) {
227
+ version = v
228
+ enc.encode(state, m)
229
+ },
230
+ decode(state) {
231
+ version = v
232
+ return enc.decode(state)
233
+ }
234
+ }
235
+ }
236
+
237
+ const resolveStruct = getStruct // compat
238
+
239
+ module.exports = {
240
+ resolveStruct,
241
+ getStruct,
242
+ getEnum,
243
+ getEncoding,
244
+ encode,
245
+ decode,
246
+ setVersion,
247
+ version
248
+ }
@@ -0,0 +1,162 @@
1
+ {
2
+ "version": 1,
3
+ "schema": [
4
+ {
5
+ "name": "tree-pointer",
6
+ "namespace": "bee",
7
+ "compact": true,
8
+ "flagsPosition": -1,
9
+ "fields": [
10
+ {
11
+ "name": "core",
12
+ "required": true,
13
+ "type": "uint",
14
+ "version": 1
15
+ },
16
+ {
17
+ "name": "seq",
18
+ "required": true,
19
+ "type": "uint",
20
+ "version": 1
21
+ },
22
+ {
23
+ "name": "offset",
24
+ "required": true,
25
+ "type": "uint",
26
+ "version": 1
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "name": "block-pointer",
32
+ "namespace": "bee",
33
+ "compact": true,
34
+ "flagsPosition": -1,
35
+ "fields": [
36
+ {
37
+ "name": "core",
38
+ "required": true,
39
+ "type": "uint",
40
+ "version": 1
41
+ },
42
+ {
43
+ "name": "seq",
44
+ "required": true,
45
+ "type": "uint",
46
+ "version": 1
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "name": "batch-pointer",
52
+ "namespace": "bee",
53
+ "compact": true,
54
+ "flagsPosition": -1,
55
+ "fields": [
56
+ {
57
+ "name": "start",
58
+ "required": true,
59
+ "type": "uint",
60
+ "version": 1
61
+ },
62
+ {
63
+ "name": "end",
64
+ "required": true,
65
+ "type": "uint",
66
+ "version": 1
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "name": "tree",
72
+ "namespace": "bee",
73
+ "compact": true,
74
+ "flagsPosition": -1,
75
+ "fields": [
76
+ {
77
+ "name": "keys",
78
+ "required": true,
79
+ "array": true,
80
+ "type": "@bee/tree-pointer",
81
+ "version": 1
82
+ },
83
+ {
84
+ "name": "children",
85
+ "required": true,
86
+ "array": true,
87
+ "type": "@bee/tree-pointer",
88
+ "version": 1
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "name": "data",
94
+ "namespace": "bee",
95
+ "compact": true,
96
+ "flagsPosition": -1,
97
+ "fields": [
98
+ {
99
+ "name": "key",
100
+ "required": true,
101
+ "type": "buffer",
102
+ "version": 1
103
+ },
104
+ {
105
+ "name": "value",
106
+ "required": true,
107
+ "type": "buffer",
108
+ "version": 1
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "name": "block",
114
+ "namespace": "bee",
115
+ "compact": false,
116
+ "flagsPosition": 3,
117
+ "fields": [
118
+ {
119
+ "name": "type",
120
+ "required": true,
121
+ "type": "uint",
122
+ "version": 1
123
+ },
124
+ {
125
+ "name": "checkpoint",
126
+ "required": true,
127
+ "type": "uint",
128
+ "version": 1
129
+ },
130
+ {
131
+ "name": "batch",
132
+ "required": true,
133
+ "type": "@bee/batch-pointer",
134
+ "version": 1
135
+ },
136
+ {
137
+ "name": "previous",
138
+ "type": "@bee/block-pointer",
139
+ "version": 1
140
+ },
141
+ {
142
+ "name": "tree",
143
+ "array": true,
144
+ "type": "@bee/tree",
145
+ "version": 1
146
+ },
147
+ {
148
+ "name": "data",
149
+ "array": true,
150
+ "type": "@bee/data",
151
+ "version": 1
152
+ },
153
+ {
154
+ "name": "cores",
155
+ "array": true,
156
+ "type": "fixed32",
157
+ "version": 1
158
+ }
159
+ ]
160
+ }
161
+ ]
162
+ }