UNPKG

@digitalasset/daml-ledger

Version:
39 lines 1.93 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.NodeJsCommandSubmissionClient = void 0; const SubmitRequestValidation_1 = require("../validation/SubmitRequestValidation"); const ClientCancellableCall_1 = require("../call/ClientCancellableCall"); const Callback_1 = require("../util/Callback"); const Validation_1 = require("../validation/Validation"); const SubmitRequestCodec_1 = require("../codec/SubmitRequestCodec"); class NodeJsCommandSubmissionClient { constructor(ledgerId, client, reporter) { this.submitPromise = Callback_1.promisify(this.submitCallback); this.ledgerId = ledgerId; this.client = client; this.reporter = reporter; } submitCallback(requestObject, callback) { const tree = SubmitRequestValidation_1.SubmitRequestValidation.validate(requestObject); if (Validation_1.isValid(tree)) { const request = SubmitRequestCodec_1.SubmitRequestCodec.serialize(requestObject); if (request.hasCommands()) { request.getCommands().setLedgerId(this.ledgerId); } return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.submit(request, (error, _) => { Callback_1.forwardVoidResponse(callback, error); })); } else { setImmediate(() => callback(new Error(this.reporter.render(tree)))); return ClientCancellableCall_1.ClientCancellableCall.rejected; } } submit(requestObject, callback) { return callback ? this.submitCallback(requestObject, callback) : this.submitPromise(requestObject); } } exports.NodeJsCommandSubmissionClient = NodeJsCommandSubmissionClient; //# sourceMappingURL=NodeJsCommandSubmissionClient.js.map