raiden-api-sdk
Version:
SDK for interacting with the Raiden API
71 lines (70 loc) • 2.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var node_1 = require("./node");
var channels_1 = require("./channels");
var tokens_1 = require("./tokens");
var pendingTransfers_1 = require("./pendingTransfers");
var token_networks_1 = require("./token-networks");
var payments_1 = require("./payments");
var apis_1 = require("./apis");
var snakecaseKeys = require("snakecase-keys");
var camelcase_keys_1 = __importDefault(require("camelcase-keys"));
/**
* @public
*/
var Raiden = /** @class */ (function () {
function Raiden(_a) {
var node = _a.node, channels = _a.channels, tokens = _a.tokens, pendingTransfers = _a.pendingTransfers, tokenNetworks = _a.tokenNetworks, payments = _a.payments;
this.node = node;
this.channels = channels;
this.tokens = tokens;
this.pendingTransfers = pendingTransfers;
this.tokenNetworks = tokenNetworks;
this.payments = payments;
}
Raiden.create = function (config) {
var middleware = config ? config.middleware : [];
middleware.push({
pre: function (ctx) {
var body = ctx.options.body;
if (body) {
var bodySC = snakecaseKeys(JSON.parse(body));
ctx.options.body = JSON.stringify(bodySC);
}
return ctx;
},
post: function (res) {
var body = res.response.response;
res.response.response = camelcase_keys_1.default(body);
return res.response;
},
});
var newConf = new apis_1.Configuration({
basePath: config ? config.basePath : undefined,
username: config ? config.username : undefined,
password: config ? config.password : undefined,
apiKey: config ? config.apiKey : undefined,
accessToken: config ? config.accessToken : undefined,
middleware: middleware,
});
var node = node_1.Node.create(newConf);
var channels = channels_1.Channels.create(newConf);
var tokens = tokens_1.Tokens.create(newConf);
var pendingTransfers = pendingTransfers_1.PendingTransfers.create(newConf);
var tokenNetworks = token_networks_1.TokenNetworks.create(newConf);
var payments = payments_1.Payments.create(newConf);
return new Raiden({
node: node,
channels: channels,
tokens: tokens,
pendingTransfers: pendingTransfers,
tokenNetworks: tokenNetworks,
payments: payments,
});
};
return Raiden;
}());
exports.Raiden = Raiden;