UNPKG

hyperns-service

Version:
71 lines (62 loc) 1.3 kB
const path = require('path') const HyperDB = require('hyperdb/builder') const Hyperschema = require('hyperschema') const SCHEMA_DIR = path.join(__dirname, 'hyperschema') const DB_DIR = path.join(__dirname, 'hyperdb') const schema = Hyperschema.from(SCHEMA_DIR) const hypernsOpsNs = schema.namespace('hyperns') hypernsOpsNs.register({ name: 'name-entry', fields: [ { name: 'publicKey', type: 'fixed32', required: true }, { name: 'name', type: 'string', required: true }, { name: 'blindPeers', type: 'fixed32', array: true, required: true // Can be empty of course } ] }) hypernsOpsNs.register({ name: 'op', fields: [ { name: 'op', // command id type: 'uint', required: true }, { name: 'blindPeerKey', type: 'fixed32', required: false }, { name: 'writerKey', type: 'fixed32', required: false }, { name: 'record', type: '@hyperns/name-entry', required: false } ] }) Hyperschema.toDisk(schema) const db = HyperDB.from(SCHEMA_DIR, DB_DIR) const hypernsOpsDb = db.namespace('hyperns') hypernsOpsDb.collections.register({ name: 'op', schema: '@hyperns/op', key: ['op'] }) HyperDB.toDisk(db)