UNPKG

@digitalasset/daml-ledger

Version:
95 lines 6.05 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.NodeJsCommandClient = void 0; const Callback_1 = require("../util/Callback"); const ClientCancellableCall_1 = require("../call/ClientCancellableCall"); const SubmitAndWaitRequestValidation_1 = require("../validation/SubmitAndWaitRequestValidation"); const Validation_1 = require("../validation/Validation"); const SubmitAndWaitRequestCodec_1 = require("../codec/SubmitAndWaitRequestCodec"); const SubmitAndWaitForTransactionResponseCodec_1 = require("../codec/SubmitAndWaitForTransactionResponseCodec"); const SubmitAndWaitForTransactionIdResponseCodec_1 = require("../codec/SubmitAndWaitForTransactionIdResponseCodec"); const SubmitAndWaitForTransactionTreeResponseCodec_1 = require("../codec/SubmitAndWaitForTransactionTreeResponseCodec"); class NodeJsCommandClient { constructor(ledgerId, client, reporter) { this.submitAndWaitPromise = Callback_1.promisify(this.submitAndWaitCallback); this.submitAndWaitForTransactionPromise = Callback_1.promisify(this.submitAndWaitForTransactionCallback); this.submitAndWaitForTransactionIdPromise = Callback_1.promisify(this.submitAndWaitForTransactionIdCallback); this.submitAndWaitForTransactionTreePromise = Callback_1.promisify(this.submitAndWaitForTransactionTreeCallback); this.ledgerId = ledgerId; this.client = client; this.reporter = reporter; } submitAndWaitCallback(requestObject, callback) { const tree = SubmitAndWaitRequestValidation_1.SubmitAndWaitRequestValidation.validate(requestObject); if (Validation_1.isValid(tree)) { const request = SubmitAndWaitRequestCodec_1.SubmitAndWaitRequestCodec.serialize(requestObject); request.getCommands().setLedgerId(this.ledgerId); return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.submitAndWait(request, (error, _) => { Callback_1.forwardVoidResponse(callback, error); })); } else { setImmediate(() => callback(new Error(this.reporter.render(tree)))); return ClientCancellableCall_1.ClientCancellableCall.rejected; } } ; submitAndWait(requestObject, callback) { return callback ? this.submitAndWaitCallback(requestObject, callback) : this.submitAndWaitPromise(requestObject); } submitAndWaitForTransactionCallback(requestObject, callback) { const tree = SubmitAndWaitRequestValidation_1.SubmitAndWaitRequestValidation.validate(requestObject); if (Validation_1.isValid(tree)) { const request = SubmitAndWaitRequestCodec_1.SubmitAndWaitRequestCodec.serialize(requestObject); request.getCommands().setLedgerId(this.ledgerId); return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.submitAndWaitForTransaction(request, (error, response) => { Callback_1.forward(callback, error, response, SubmitAndWaitForTransactionResponseCodec_1.SubmitAndWaitForTransactionResponseCodec.deserialize); })); } else { setImmediate(() => callback(new Error(this.reporter.render(tree)))); return ClientCancellableCall_1.ClientCancellableCall.rejected; } } submitAndWaitForTransaction(requestObject, callback) { return callback ? this.submitAndWaitForTransactionCallback(requestObject, callback) : this.submitAndWaitForTransactionPromise(requestObject); } submitAndWaitForTransactionIdCallback(requestObject, callback) { const tree = SubmitAndWaitRequestValidation_1.SubmitAndWaitRequestValidation.validate(requestObject); if (Validation_1.isValid(tree)) { const request = SubmitAndWaitRequestCodec_1.SubmitAndWaitRequestCodec.serialize(requestObject); request.getCommands().setLedgerId(this.ledgerId); return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.submitAndWaitForTransactionId(request, (error, response) => { Callback_1.forward(callback, error, response, SubmitAndWaitForTransactionIdResponseCodec_1.SubmitAndWaitForTransactionIdResponseCodec.deserialize); })); } else { setImmediate(() => callback(new Error(this.reporter.render(tree)))); return ClientCancellableCall_1.ClientCancellableCall.rejected; } } submitAndWaitForTransactionId(requestObject, callback) { return callback ? this.submitAndWaitForTransactionIdCallback(requestObject, callback) : this.submitAndWaitForTransactionIdPromise(requestObject); } submitAndWaitForTransactionTreeCallback(requestObject, callback) { const tree = SubmitAndWaitRequestValidation_1.SubmitAndWaitRequestValidation.validate(requestObject); if (Validation_1.isValid(tree)) { const request = SubmitAndWaitRequestCodec_1.SubmitAndWaitRequestCodec.serialize(requestObject); request.getCommands().setLedgerId(this.ledgerId); return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.submitAndWaitForTransactionTree(request, (error, response) => { Callback_1.forward(callback, error, response, SubmitAndWaitForTransactionTreeResponseCodec_1.SubmitAndWaitForTransactionTreeResponseCodec.deserialize); })); } else { setImmediate(() => callback(new Error(this.reporter.render(tree)))); return ClientCancellableCall_1.ClientCancellableCall.rejected; } } submitAndWaitForTransactionTree(requestObject, callback) { return callback ? this.submitAndWaitForTransactionTreeCallback(requestObject, callback) : this.submitAndWaitForTransactionTreePromise(requestObject); } } exports.NodeJsCommandClient = NodeJsCommandClient; //# sourceMappingURL=NodeJsCommandClient.js.map