ml-uservices
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

Marklogic uServices Library

Overview

Deploy remote proxies of uServices from Marklogic.

Usage

Install:

npm install ml-uservices

Basic Usage:

For a uService on Marklogic:

import * as mlu from 'ml-uservices'
import {Observable} from 'uservices'
import {Message} from '../common/models/message'
import {ChatService} from '../common/services/chatService'
 
export class MessageBroadcast extends mlu.AlertObservable<Message, Message> {
  transform(uri: string, content: any) {
    return content
  }
}
 
@mlu.mlService()
export class ChatServiceML implements ChatService {
  private contentSearch = new ContentSearch()
 
  @mlu.mlMethod({
    method: 'put'
  })
  sendMessage(message: Message) {
    xdmp.documentInsert('/chatMessages/' + message.timestamp, message)
  }
 
  @mlu.mlEvent({
    states: ['create', 'modify'],
    scope: '/chatMessages/'
  })
  messageBroadcast() {
    return new MessageBroadcast()
  }
}
 

Then to proxy that to another tier:

import {createRemoteProxy} from 'ml-uservices'
import * as RxRouter from 'koa-rx-router'
 
let router = new RxRouter({
    prefix: '/mlListener'
})
let chatService = createRemoteProxy(chatSpec, client, router)
 

Package Sidebar

Install

npm i ml-uservices

Weekly Downloads

1

Version

0.2.3

License

MIT

Last publish

Collaborators

  • christyharagan