UNPKG

780 BJavaScriptView Raw
1/**
2 * @class ApClient
3 */
4'use strict'
5
6const { RFuncClient } = require('rfunc-client')
7const { spinalcase } = require('stringcase')
8const eventSource = require('./events/event_source')
9
10/** @lends ApClient */
11class ApClient extends RFuncClient {
12 /**
13 * Get scoped client
14 */
15 of (scope) {
16 const s = this
17 let pathname = spinalcase(scope.replace(/^@/, ''))
18 return new ApClient(s.resolve('scoped', pathname))
19 }
20
21 /**
22 * Access to event source
23 * @param {string} moduleName - Name of module
24 * @param {string} methodName - Name of method
25 * @returns {EventSource}
26 */
27 eventSource (moduleName, methodName = 'default') {
28 const s = this
29 let url = s.resolve(moduleName, methodName)
30 return eventSource(url)
31 }
32}
33
34module.exports = ApClient