@digitalasset/daml-ledger
Version:
DAML Ledger API Node.js bindings
141 lines • 9.04 kB
JavaScript
"use strict";
// Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeJsTransactionClient = void 0;
const ClientCancellableCall_1 = require("../call/ClientCancellableCall");
const transaction_service_pb_1 = require("../generated/com/daml/ledger/api/v1/transaction_service_pb");
const Callback_1 = require("../util/Callback");
const GetLedgerEndResponseCodec_1 = require("../codec/GetLedgerEndResponseCodec");
const GetTransactionByEventIdRequestValidation_1 = require("../validation/GetTransactionByEventIdRequestValidation");
const Validation_1 = require("../validation/Validation");
const GetTransactionByEventIdRequestCodec_1 = require("../codec/GetTransactionByEventIdRequestCodec");
const GetTransactionResponseCodec_1 = require("../codec/GetTransactionResponseCodec");
const GetTransactionByIdRequestCodec_1 = require("../codec/GetTransactionByIdRequestCodec");
const GetTransactionsRequestValidation_1 = require("../validation/GetTransactionsRequestValidation");
const ClientReadableObjectStream_1 = require("../call/ClientReadableObjectStream");
const GetTransactionsRequestCodec_1 = require("../codec/GetTransactionsRequestCodec");
const GetTransactionsResponseCodec_1 = require("../codec/GetTransactionsResponseCodec");
const GetTransactionTreesResponseCodec_1 = require("../codec/GetTransactionTreesResponseCodec");
const GetFlatTransactionResponseCodec_1 = require("../codec/GetFlatTransactionResponseCodec");
const GetTransactionByIdRequestValidation_1 = require("../validation/GetTransactionByIdRequestValidation");
class NodeJsTransactionClient {
constructor(ledgerId, client, reporter) {
this.getLedgerEndPromise = Callback_1.promisify(this.getLedgerEndCallback);
this.getTransactionByEventIdPromise = Callback_1.promisify(this.getTransactionByEventIdCallback);
this.getFlatTransactionByEventIdPromise = Callback_1.promisify(this.getFlatTransactionByEventIdCallback);
this.getTransactionByIdPromise = Callback_1.promisify(this.getTransactionByIdCallback);
this.getFlatTransactionByIdPromise = Callback_1.promisify(this.getFlatTransactionByIdCallback);
this.ledgerId = ledgerId;
this.client = client;
this.reporter = reporter;
}
getLedgerEndCallback(callback) {
const request = new transaction_service_pb_1.GetLedgerEndRequest();
request.setLedgerId(this.ledgerId);
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.getLedgerEnd(request, (error, response) => {
Callback_1.forward(callback, error, response, GetLedgerEndResponseCodec_1.GetLedgerEndResponseCodec.deserialize);
}));
}
getLedgerEnd(callback) {
return callback ? this.getLedgerEndCallback(callback) : this.getLedgerEndPromise();
}
getTransactionByEventIdCallback(requestObject, callback) {
const tree = GetTransactionByEventIdRequestValidation_1.GetTransactionByEventIdRequestValidation.validate(requestObject);
if (Validation_1.isValid(tree)) {
const request = GetTransactionByEventIdRequestCodec_1.GetTransactionByEventIdRequestCodec.serialize(requestObject);
request.setLedgerId(this.ledgerId);
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.getTransactionByEventId(request, (error, response) => {
Callback_1.forward(callback, error, response, GetTransactionResponseCodec_1.GetTransactionResponseCodec.deserialize);
}));
}
else {
setImmediate(() => callback(new Error(this.reporter.render(tree))));
return ClientCancellableCall_1.ClientCancellableCall.rejected;
}
}
getTransactionByEventId(requestObject, callback) {
return callback ? this.getTransactionByEventIdCallback(requestObject, callback) : this.getTransactionByEventIdPromise(requestObject);
}
getFlatTransactionByEventIdCallback(requestObject, callback) {
const tree = GetTransactionByEventIdRequestValidation_1.GetTransactionByEventIdRequestValidation.validate(requestObject);
if (Validation_1.isValid(tree)) {
const request = GetTransactionByEventIdRequestCodec_1.GetTransactionByEventIdRequestCodec.serialize(requestObject);
request.setLedgerId(this.ledgerId);
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.getFlatTransactionByEventId(request, (error, response) => {
Callback_1.forward(callback, error, response, GetFlatTransactionResponseCodec_1.GetFlatTransactionResponseCodec.deserialize);
}));
}
else {
setImmediate(() => callback(new Error(this.reporter.render(tree))));
return ClientCancellableCall_1.ClientCancellableCall.rejected;
}
}
getFlatTransactionByEventId(requestObject, callback) {
return callback ? this.getFlatTransactionByEventIdCallback(requestObject, callback) : this.getFlatTransactionByEventIdPromise(requestObject);
}
getTransactionByIdCallback(requestObject, callback) {
const tree = GetTransactionByIdRequestValidation_1.GetTransactionByIdRequestValidation.validate(requestObject);
if (Validation_1.isValid(tree)) {
const request = GetTransactionByIdRequestCodec_1.GetTransactionByIdRequestCodec.serialize(requestObject);
request.setLedgerId(this.ledgerId);
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.getTransactionById(request, (error, response) => {
Callback_1.forward(callback, error, response, GetTransactionResponseCodec_1.GetTransactionResponseCodec.deserialize);
}));
}
else {
setImmediate(() => callback(new Error(this.reporter.render(tree))));
return ClientCancellableCall_1.ClientCancellableCall.rejected;
}
}
getTransactionById(requestObject, callback) {
return callback ? this.getTransactionByIdCallback(requestObject, callback) : this.getTransactionByIdPromise(requestObject);
}
getFlatTransactionByIdCallback(requestObject, callback) {
const tree = GetTransactionByIdRequestValidation_1.GetTransactionByIdRequestValidation.validate(requestObject);
if (Validation_1.isValid(tree)) {
const request = GetTransactionByIdRequestCodec_1.GetTransactionByIdRequestCodec.serialize(requestObject);
request.setLedgerId(this.ledgerId);
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.getFlatTransactionById(request, (error, response) => {
Callback_1.forward(callback, error, response, GetFlatTransactionResponseCodec_1.GetFlatTransactionResponseCodec.deserialize);
}));
}
else {
setImmediate(() => callback(new Error(this.reporter.render(tree))));
return ClientCancellableCall_1.ClientCancellableCall.rejected;
}
}
getFlatTransactionById(requestObject, callback) {
return callback ? this.getFlatTransactionByIdCallback(requestObject, callback) : this.getFlatTransactionByIdPromise(requestObject);
}
getTransactions(requestObject) {
const tree = GetTransactionsRequestValidation_1.GetTransactionsRequestValidation.validate(requestObject);
if (Validation_1.isValid(tree)) {
const request = GetTransactionsRequestCodec_1.GetTransactionsRequestCodec.serialize(requestObject);
request.setLedgerId(this.ledgerId);
if (requestObject.verbose === undefined) {
request.setVerbose(true);
}
return ClientReadableObjectStream_1.ClientReadableObjectStream.from(this.client.getTransactions(request), GetTransactionsResponseCodec_1.GetTransactionsResponseCodec);
}
else {
return ClientReadableObjectStream_1.ClientReadableObjectStream.from(new Error(this.reporter.render(tree)));
}
}
getTransactionTrees(requestObject) {
const tree = GetTransactionsRequestValidation_1.GetTransactionsRequestValidation.validate(requestObject);
if (Validation_1.isValid(tree)) {
const request = GetTransactionsRequestCodec_1.GetTransactionsRequestCodec.serialize(requestObject);
request.setLedgerId(this.ledgerId);
if (requestObject.verbose === undefined) {
request.setVerbose(true);
}
return ClientReadableObjectStream_1.ClientReadableObjectStream.from(this.client.getTransactionTrees(request), GetTransactionTreesResponseCodec_1.GetTransactionTreesResponseCodec);
}
else {
return ClientReadableObjectStream_1.ClientReadableObjectStream.from(new Error(this.reporter.render(tree)));
}
}
}
exports.NodeJsTransactionClient = NodeJsTransactionClient;
//# sourceMappingURL=NodeJsTransactionClient.js.map