@digitalasset/daml-ledger
Version:
DAML Ledger API Node.js bindings
53 lines • 2.35 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.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