0.6.2 • Published 10 years ago

markscript-uservices v0.6.2

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

MarkScript uServices runtime Library

Overview

Deploy remote proxies of uServices from Marklogic.

Usage

Install:

npm install markscript-uservices

Basic Usage:

To use this as part of a MarkScript build, add this property to the root of your build options:

import {UServicesPlugin} from 'markscript-uservices'

let buildOptions = {
  plugins: {
    uservices: [UServicesPlugin, {}]
  }
  // etc
}

For a uService on Marklogic:

import * as mu from 'markscript-uservices'
import {Observable} from 'uservices'
import {Message} from '../common/models/message'
import {ChatService} from '../common/services/chatService'

@mu.mlService()
export class ChatService extends extends mu.AbstractMLService {
  @mu.mlMethod({
    method: 'put'
  })
  sendMessage(message: Message): Promise<boolean> {
    xdmp.documentInsert('/chatMessages/' + message.timestamp, message)
    resolve(true)
  }

  @mu.mlEvent({
    states: ['create', 'modify'],
    scope: '/chatMessages/'
  })
  messageBroadcast(): Observable<Message> {
    return this.observableFactory().map(function(doc: Doc<Message>{
      return doc.value
    })
  }
}

Then to proxy that to another tier:

import {createRemoteProxy} from 'markscript-uservices'
import * as RxRouter from 'koa-rx-router'

let router = new RxRouter()
let chatService = createRemoteProxy(chatSpec, client, router)
0.6.2

10 years ago

0.6.1

10 years ago

0.6.0

10 years ago

0.5.3

10 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.4.1

10 years ago

0.4.0

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago