@publicodes/api
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-beta.77 • Public • Published

@publicodes/api

This package allows you to create a REST API, which follows OpenAPI 3.0 specifications, from your Publicodes rules.

It consists of Koa middleware that adds routes to your router:

  • POST /evaluate Evaluate one or more expressions with a given situation
  • GET /rules Returns the list of all your rules
  • GET /rules/{rule} Returns a specific rule

Installation

npm install @publicodes/api

Utilisation

import Router from '@koa/router'
import Koa from 'koa'
import Engine from 'publicodes'
import { koaMiddleware as publicodesAPI } from '@publicodes/api'

const app = new Koa()
const router = new Router()

// Create middleware with your Engine
const apiRoutes = publicodesAPI(new Engine('coucou: 0'))

// Basic routes usage (/evaluate, /rules, etc.)
router.use(apiRoutes)

// Or use with specific route prefix (/v1/evaluate, /v1/rules, etc.)
router.use('/v1', apiRoutes)

app.use(router.routes()).listen(3000)

// ...

A complete example file is in the sources if needed : example.ts.

Documentation

Projets phares

Readme

Keywords

none

Package Sidebar

Install

npm i @publicodes/api

Weekly Downloads

0

Version

1.0.0-beta.77

License

MIT

Unpacked Size

111 kB

Total Files

25

Last publish

Collaborators

  • clemog
  • emilerolley
  • johangirod
  • wiinxt