UNPKG

autobase-discovery

Version:

Automatic service discovery with self-registering services, using autobase

131 lines (113 loc) 3.37 kB
// This file is autogenerated by the hyperdb compiler /* eslint-disable camelcase */ const { IndexEncoder, c } = require('hyperdb/runtime') const { version, getEncoding, setVersion } = require('./messages.js') // '@autodiscovery/service-entry' collection key const collection0_key = new IndexEncoder([IndexEncoder.BUFFER], { prefix: 0 }) function collection0_indexify(record) { const a = record.publicKey return a === undefined ? [] : [a] } // '@autodiscovery/service-entry' value encoding const collection0_enc = getEncoding('@autodiscovery/service-entry/hyperdb#0') // '@autodiscovery/service-entry' reconstruction function function collection0_reconstruct(version, keyBuf, valueBuf) { const key = collection0_key.decode(keyBuf) setVersion(version) const record = c.decode(collection0_enc, valueBuf) record.publicKey = key[0] return record } // '@autodiscovery/service-entry' key reconstruction function function collection0_reconstruct_key(keyBuf) { const key = collection0_key.decode(keyBuf) return { publicKey: key[0] } } // '@autodiscovery/service-entry' const collection0 = { name: '@autodiscovery/service-entry', id: 0, encodeKey(record) { const key = [record.publicKey] 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) { setVersion(version) return c.encode(collection0_enc, record) }, trigger: null, reconstruct: collection0_reconstruct, reconstructKey: collection0_reconstruct_key, indexes: [] } // '@autodiscovery/services' collection key const index1_key = new IndexEncoder([IndexEncoder.STRING, IndexEncoder.BUFFER], { prefix: 1 }) function index1_indexify(record) { const arr = [] const a0 = record.service if (a0 === undefined) return arr arr.push(a0) const a1 = record.publicKey if (a1 === undefined) return arr arr.push(a1) return arr } // '@autodiscovery/services' const index1 = { name: '@autodiscovery/services', id: 1, encodeKey(record) { return index1_key.encode(index1_indexify(record)) }, encodeKeyRange({ gt, lt, gte, lte } = {}) { return index1_key.encodeRange({ gt: gt ? index1_indexify(gt) : null, lt: lt ? index1_indexify(lt) : null, gte: gte ? index1_indexify(gte) : null, lte: lte ? index1_indexify(lte) : null }) }, encodeValue: (doc) => index1.collection.encodeKey(doc), encodeIndexKeys(record, context) { return [index1_key.encode([record.service, record.publicKey])] }, reconstruct: (keyBuf, valueBuf) => valueBuf, offset: collection0.indexes.length, collection: collection0 } collection0.indexes.push(index1) const collections = [collection0] const indexes = [index1] module.exports = { version, collections, indexes, resolveCollection, resolveIndex } function resolveCollection(name) { switch (name) { case '@autodiscovery/service-entry': return collection0 default: return null } } function resolveIndex(name) { switch (name) { case '@autodiscovery/services': return index1 default: return null } }