UNPKG

@digitalasset/daml-ledger

Version:
141 lines 9.04 kB
"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