
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
caju-connector
Advanced tools
A JavaScript library to interface with CAJU API, it works in Node.js
This library covers all your needs for Caju integration, providing:
To know more about all endpoints check the API Reference.
First, install it:
yarn add caju-connector
Or using npm:
npm install caju-connector
CAJU JavaScript library can be used in two ways:
Using import:
import cajuConnector from 'caju-connector'
it also works with require
:
const cajuConnector = require('caju-connector')
All of CAJU REST API endpoints are covered in the client
object. Every
function call issued to client
will return a Promise
which represents and
manages the result's lifecycle.
connect
When you call connect
, a Promise
which resolves to a client
or an
error will be thrown. If an authentication error happens, you can catch
the error with the Promise
interface:
import cajuConnector from 'caju-connector'
cajuConnector.client.connect()
.then(client => client.settlement.all())
.then(console.log)
.catch(console.error)
As the entire library is based on promises, you can also use ES6 generators to make code more procedural:
import cajuConnector from 'caju-connector'
let client
try {
client = yield cajuConnector.client.connect()
} catch (err) {
console.log(err)
}
try {
const settlements = yield client.settlement.all()
console.log(settlements)
} catch (err) {
console.log(err)
}
The downside of this approach is that you need to handle errors using try/catch.
If your method doesn't require any parameter, you can just call it without them:
client.settlement
.all() // https://url/settlements
.then((response) => console.log(response.data()))
.catch((response) => console.error(response.data()))
Every parameter that doesn't match a pattern {parameter-name}
in path will be sent as part of the query string:
client.settlement.all({ amount: 10 }) // https://url/settlements?amount=10
When a method requires a parameters and the method is called without it, Mappersmith will raise an error:
client.settlement.byId(/* missing id */)
// throw '[Mappersmith] required parameter missing (id), "/settlements/{id}" cannot be resolved'
To send values in the request body (usually for POST, PUT or PATCH methods) you will use the special parameter body
:
client.settlement.create({
body: payload
}
})
Mappersmith will provide an instance of its own Response
object to the promises. This object has the methods:
request()
- Returns the original Requeststatus()
- Returns the status numbersuccess()
- Returns true for status greater than 200 and lower than 400headers()
- Returns an object with all headers, keys in lower caseheader(name)
- Returns the value of the headerdata()
- Returns the response data, if Content-Type
is application/json
it parses the response and returns an objectTo build the library, use yarn build:commonjs
.
dist
directory.To run the library tests, use yarn test:all
.
The MIT License (MIT)
Copyright (c) 2018 Pagar.me Pagamentos S/A
FAQs
A JavaScript library to interface with CAJU
The npm package caju-connector receives a total of 0 weekly downloads. As such, caju-connector popularity was classified as not popular.
We found that caju-connector demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.