@digitalasset/daml-ledger
Version:
DAML Ledger API Node.js bindings
41 lines • 1.91 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.CommandCodec = void 0;
const commands_pb_1 = require("../generated/com/daml/ledger/api/v1/commands_pb");
const CreateCommandCodec_1 = require("./CreateCommandCodec");
const ExerciseCommandCodec_1 = require("./ExerciseCommandCodec");
const CreateAndExerciseCommandCodec_1 = require("./CreateAndExerciseCommandCodec");
const ErrorMessages_1 = require("../util/ErrorMessages");
exports.CommandCodec = {
deserialize(message) {
if (message.hasCreate()) {
return CreateCommandCodec_1.CreateCommandCodec.deserialize(message.getCreate());
}
else if (message.hasExercise()) {
return ExerciseCommandCodec_1.ExerciseCommandCodec.deserialize(message.getExercise());
}
else if (message.hasCreateandexercise()) {
return CreateAndExerciseCommandCodec_1.CreateAndExerciseCommandCodec.deserialize(message.getCreateandexercise());
}
else {
throw new Error(ErrorMessages_1.ErrorMessages.unknownDeserialization('Command'));
}
},
serialize(object) {
const message = new commands_pb_1.Command();
switch (object.commandType) {
case "exercise":
message.setExercise(ExerciseCommandCodec_1.ExerciseCommandCodec.serialize(object));
break;
case "create":
message.setCreate(CreateCommandCodec_1.CreateCommandCodec.serialize(object));
break;
case "createAndExercise":
message.setCreateandexercise(CreateAndExerciseCommandCodec_1.CreateAndExerciseCommandCodec.serialize(object));
}
return message;
}
};
//# sourceMappingURL=CommandCodec.js.map