@digitalasset/daml-ledger
Version:
DAML Ledger API Node.js bindings
47 lines • 2.81 kB
JavaScript
;
// 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.NodeJsPackageManagementClient = void 0;
const package_management_service_pb_1 = require("../generated/com/daml/ledger/api/v1/admin/package_management_service_pb");
const ListKnownPackageResponseCodec_1 = require("../codec/ListKnownPackageResponseCodec");
const UploadDarFileRequestCodec_1 = require("../codec/UploadDarFileRequestCodec");
const Callback_1 = require("../util/Callback");
const ClientCancellableCall_1 = require("../call/ClientCancellableCall");
const UploadDarFileRequestValidation_1 = require("../validation/UploadDarFileRequestValidation");
const Validation_1 = require("../validation/Validation");
class NodeJsPackageManagementClient {
constructor(client, reporter) {
this.listKnownPackagesPromise = Callback_1.promisify(this.listKnownPackagesCallback);
this.uploadDarFilePromise = Callback_1.promisify(this.uploadDarFileCallback);
this.client = client;
this.reporter = reporter;
}
listKnownPackagesCallback(callback) {
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.listKnownPackages(NodeJsPackageManagementClient.listKnownPackageRequest, (error, response) => {
Callback_1.forward(callback, error, response, ListKnownPackageResponseCodec_1.ListKnownPackageResponseCodec.deserialize);
}));
}
listKnownPackages(callback) {
return callback ? this.listKnownPackagesCallback(callback) : this.listKnownPackagesPromise();
}
uploadDarFileCallback(requestObj, callback) {
const validation = UploadDarFileRequestValidation_1.UploadDarFileRequestValidation.validate(requestObj);
if (Validation_1.isValid(validation)) {
const request = UploadDarFileRequestCodec_1.UploadDarFileRequestCodec.serialize(requestObj);
return ClientCancellableCall_1.ClientCancellableCall.accept(this.client.uploadDarFile(request, (error, _) => {
Callback_1.forwardVoidResponse(callback, error);
}));
}
else {
setImmediate(() => callback(new Error(this.reporter.render(validation))));
return ClientCancellableCall_1.ClientCancellableCall.rejected;
}
}
uploadDarFile(requestObj, callback) {
return callback ? this.uploadDarFileCallback(requestObj, callback) : this.uploadDarFilePromise(requestObj);
}
}
exports.NodeJsPackageManagementClient = NodeJsPackageManagementClient;
NodeJsPackageManagementClient.listKnownPackageRequest = new package_management_service_pb_1.ListKnownPackagesRequest();
//# sourceMappingURL=NodeJsPackageManagementClient.js.map