hyperns-service
Version:
HyperNS service, based on autobase
84 lines (74 loc) • 1.94 kB
JavaScript
// This file is autogenerated by the hyperdb compiler
/* eslint-disable camelcase */
const { IndexEncoder, c } = require('hyperdb/runtime')
const { version, resolveStruct } = require('./messages.js')
// '@hyperns/op' collection key
const collection0_key = new IndexEncoder([
IndexEncoder.UINT
], { prefix: 0 })
function collection0_indexify (record) {
const a = record.op
return a === undefined ? [] : [a]
}
// '@hyperns/op' reconstruction function
function collection0_reconstruct (version, keyBuf, valueBuf) {
const key = collection0_key.decode(keyBuf)
const value = c.decode(resolveStruct('@hyperns/op/value', version), valueBuf)
// TODO: This should be fully code generated
return {
op: key[0],
...value
}
}
// '@hyperns/op' key reconstruction function
function collection0_reconstruct_key (keyBuf) {
const key = collection0_key.decode(keyBuf)
return {
op: key[0]
}
}
// '@hyperns/op'
const collection0 = {
name: '@hyperns/op',
id: 0,
encodeKey (record) {
const key = [record.op]
return collection0_key.encode(key)
},
encodeKeyRange ({ gt, lt, gte, lte } = {}) {
return collection0_key.encodeRange({
gt: gt ? collection0_indexify(gt) : null,
lt: lt ? collection0_indexify(lt) : null,
gte: gte ? collection0_indexify(gte) : null,
lte: lte ? collection0_indexify(lte) : null
})
},
encodeValue (version, record) {
return c.encode(resolveStruct('@hyperns/op/value', version), record)
},
trigger: null,
reconstruct: collection0_reconstruct,
reconstructKey: collection0_reconstruct_key,
indexes: []
}
module.exports = {
version,
collections: [
collection0
],
indexes: [
],
resolveCollection,
resolveIndex
}
function resolveCollection (name) {
switch (name) {
case '@hyperns/op': return collection0
default: return null
}
}
function resolveIndex (name) {
switch (name) {
default: return null
}
}