UNPKG

@digitalasset/daml-ledger

Version:
53 lines 2.35 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.LedgerOffsetCodec = void 0; const LedgerOffset_1 = require("../model/LedgerOffset"); const ledger_offset_pb_1 = require("../generated/com/daml/ledger/api/v1/ledger_offset_pb"); const ErrorMessages_1 = require("../util/ErrorMessages"); exports.LedgerOffsetCodec = { deserialize(message) { if (message.hasAbsolute()) { return { offsetType: 'absolute', absolute: message.getAbsolute() }; } else if (message.hasBoundary()) { const boundary = message.getBoundary(); switch (boundary) { case ledger_offset_pb_1.LedgerOffset.LedgerBoundary.LEDGER_BEGIN: { return { offsetType: 'boundary', boundary: LedgerOffset_1.LedgerOffsetBoundaryValue.BEGIN }; } case ledger_offset_pb_1.LedgerOffset.LedgerBoundary.LEDGER_END: { return { offsetType: 'boundary', boundary: LedgerOffset_1.LedgerOffsetBoundaryValue.END }; } default: throw new Error(ErrorMessages_1.ErrorMessages.unknownDeserialization('Ledger Boundary')); } } else { throw new Error(ErrorMessages_1.ErrorMessages.unknownDeserialization('Ledger Offset')); } }, serialize(object) { const result = new ledger_offset_pb_1.LedgerOffset(); switch (object.offsetType) { case "absolute": result.setAbsolute(object.absolute); break; case "boundary": switch (object.boundary) { case LedgerOffset_1.LedgerOffsetBoundaryValue.BEGIN: result.setBoundary(ledger_offset_pb_1.LedgerOffset.LedgerBoundary.LEDGER_BEGIN); break; case LedgerOffset_1.LedgerOffsetBoundaryValue.END: result.setBoundary(ledger_offset_pb_1.LedgerOffset.LedgerBoundary.LEDGER_END); break; } } return result; } }; //# sourceMappingURL=LedgerOffsetCodec.js.map