@digitalasset/daml-ledger
Version:
DAML Ledger API Node.js bindings
35 lines • 1.44 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.EventCodec = void 0;
const ArchivedEventCodec_1 = require("./ArchivedEventCodec");
const CreatedEventCodec_1 = require("./CreatedEventCodec");
const event_pb_1 = require("../generated/com/daml/ledger/api/v1/event_pb");
const ErrorMessages_1 = require("../util/ErrorMessages");
exports.EventCodec = {
deserialize(message) {
if (message.hasArchived()) {
return ArchivedEventCodec_1.ArchivedEventCodec.deserialize(message.getArchived());
}
else if (message.hasCreated()) {
return CreatedEventCodec_1.CreatedEventCodec.deserialize(message.getCreated());
}
else {
throw new Error(ErrorMessages_1.ErrorMessages.unknownDeserialization('Event'));
}
},
serialize(object) {
const message = new event_pb_1.Event();
switch (object.eventType) {
case "archived":
message.setArchived(ArchivedEventCodec_1.ArchivedEventCodec.serialize(object));
break;
case "created":
message.setCreated(CreatedEventCodec_1.CreatedEventCodec.serialize(object));
break;
}
return message;
}
};
//# sourceMappingURL=EventCodec.js.map