@digitalasset/daml-ledger
Version:
DAML Ledger API Node.js bindings
51 lines • 2.33 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.ExercisedEventCodec = void 0;
const ValueCodec_1 = require("./ValueCodec");
const IdentifierCodec_1 = require("./IdentifierCodec");
const event_pb_1 = require("../generated/com/daml/ledger/api/v1/event_pb");
exports.ExercisedEventCodec = {
deserialize(message) {
const event = {
eventType: "exercised",
actingParties: message.getActingPartiesList(),
choice: message.getChoice(),
argument: ValueCodec_1.ValueCodec.deserialize(message.getChoiceArgument()),
consuming: message.getConsuming(),
contractId: message.getContractId(),
eventId: message.getEventId(),
templateId: IdentifierCodec_1.IdentifierCodec.deserialize(message.getTemplateId()),
witnessParties: message.getWitnessPartiesList()
};
const childEventIds = message.getChildEventIdsList();
if (childEventIds.length > 0) {
event.childEventIds = [...childEventIds];
}
const exerciseResult = message.getExerciseResult();
if (exerciseResult) {
event.exerciseResult = ValueCodec_1.ValueCodec.deserialize(exerciseResult);
}
return event;
},
serialize(object) {
const message = new event_pb_1.ExercisedEvent();
message.setActingPartiesList(object.actingParties);
message.setChoice(object.choice);
message.setChoiceArgument(ValueCodec_1.ValueCodec.serialize(object.argument));
message.setConsuming(object.consuming);
message.setContractId(object.contractId);
message.setEventId(object.eventId);
message.setTemplateId(IdentifierCodec_1.IdentifierCodec.serialize(object.templateId));
message.setWitnessPartiesList(object.witnessParties);
if (object.childEventIds) {
message.setChildEventIdsList([...object.childEventIds]);
}
if (object.exerciseResult) {
message.setExerciseResult(ValueCodec_1.ValueCodec.serialize(object.exerciseResult));
}
return message;
}
};
//# sourceMappingURL=ExercisedEventCodec.js.map