1.0.1 • Published 5 years ago

@bladedancer/api-builder-plugin-gm-ejs v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

api-builder-plugin-gm-ejs

About

This module installs the EJS flow-node to be used within Axway API Builder's flow editor.

The EJS flow-node allows the evaluation of EJS templates using values from the flow.

Format string

The Format string method evaluates the template given with the data supplied. This allows complex values to be constructed from values that exist in the flow's context.

ParamTypeRequiredDescription
dataobjectyThe data to evaluate the template with. Use $ to access the entire context.
templatestringyThe template being evaluated.

Format object

The Format object method is similar to the Format string method. It evaluates the template given with the data supplied. However the resulting string value is then JSON parsed. This allows the creation of JavaScript values and objects from the evaluated template.

ParamTypeRequiredDescription
dataobjectyThe data to evaluate the template with. Use $ to access the entire context.
templatestringyThe doT template being evaluated.

EJS Templates

For details on the EJS templates see http://ejs.co/.

Example

In the examples the Flow is going to be attached to an API that has three parameters, firstname, lastname and gender.

Basic interpolation <%= %>

The template can be used to quickly concatenate values.

Requesthttp://localhost:8080/api/example?firstname=Clark&lastname=Kent&gender=m
data$.params
template<%=firstname%> <%=lastname%>
OutputClark Kent
Conditionals <% condition %>

The template evaluation is plain javascript so you can have any conditional you like here. For this example it is a ternary operator.

Requesthttp://localhost:8080/api/example?firstname=Clark&lastname=Kent&male=true
data$
templateHello <%= male ? 'Mr' : 'Ms'%> <%=surname%>
OutputHello Mr Kent
Requesthttp://localhost:8080/api/example?firstname=Lois&lastname=Lane
data$.params
templateHello <%= male ? 'Mr' : 'Ms'%> <%=surname%>
OutputHello Ms Lane
Array Iteration <%= array funcs. %>

Again as the template is javascript you can iterate over the array however you like.

Requesthttp://localhost:8080/api/example?names=Tom,Dick,Harry
data$.params
template<%=names.join(' ');%>
OutputTom Dick Harry

Getting started

  1. Go to platform.axway.com and create an account
  2. Install API Builder
  3. Follow the Getting Started Guide

Install

After creating your API Builder project (appc new -t arrow), you can install this flow-node handler using npm:

npm install --save api-builder-plugin-gm-ejs

The "EJS" flow-node will then be available in the tools panel when creating or editing Flows.