OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-deps / @holepunchto / keet-media / shared / spec / build.js

53 lines · javascript ref:
import HRPCBuilder from 'hrpc'
import Hyperschema from 'hyperschema'

import { schema } from './schema'
import { SCHEMA_DIR, HRPC_DIR } from './constants'

// Schema

Hyperschema.toDisk(schema)

// HRPC

const builder = HRPCBuilder.from(SCHEMA_DIR, HRPC_DIR)
const ns = builder.namespace('media')

ns.register({
  name: 'create-chat-image-preview',
  request: { name: '@media/create-chat-image-preview-request', stream: false },
  response: { name: '@media/create-chat-image-preview-response', stream: false }
})

ns.register({
  name: 'create-chat-video-preview',
  request: { name: '@media/create-chat-video-preview-request', stream: false },
  response: { name: '@media/create-chat-video-preview-response', stream: false }
})

ns.register({
  name: 'create-chat-link-preview',
  request: { name: '@media/create-chat-link-preview-request', stream: false },
  response: { name: '@media/create-chat-link-preview-response', stream: false }
})

ns.register({
  name: 'create-profile-avatar',
  request: { name: '@media/create-profile-avatar-request', stream: false },
  response: { name: '@media/create-profile-avatar-response', stream: false }
})

ns.register({
  name: 'create-room-avatar',
  request: { name: '@media/create-room-avatar-request', stream: false },
  response: { name: '@media/create-room-avatar-response', stream: false }
})

ns.register({
  name: 'decode-image',
  request: { name: '@media/decode-image-request', stream: false },
  response: { name: '@media/decode-image-response', stream: false }
})

HRPCBuilder.toDisk(builder)