UNPKG

@airgap/serializer

Version:

The @airgap/serializer provides serializers used in AirGap applications.

51 lines 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Payload = void 0; var interfaces_1 = require("./interfaces"); var message_1 = require("./message"); var serializer_1 = require("./serializer"); var Payload = /** @class */ (function () { function Payload(messages) { this.messages = messages; } Payload.fromDecoded = function (object) { return new Payload(object); }; // public static fromEncoded(encoded: MessageDefinitionArray[], serializer: SerializerV3 = SerializerV3.getInstance()): Payload { // const messages: IACMessageDefinitionObjectV3[] = encoded.map((message) => Message.fromEncoded(message, serializer).asJson()) // return new Payload(messages) // } Payload.fromEncoded = function (encoded, serializer) { if (serializer === void 0) { serializer = serializer_1.SerializerV3.getInstance(); } var messages = []; var errors = []; for (var _i = 0, encoded_1 = encoded; _i < encoded_1.length; _i++) { var message = encoded_1[_i]; try { var result = message_1.Message.fromEncoded(message, serializer); if (result.ok) { messages.push((0, interfaces_1.success)(result.value.asJson())); } else { errors.push((0, interfaces_1.failure)(result.error)); } } catch (error) { errors.push((0, interfaces_1.failure)(error)); } } return { payload: new Payload(messages), skippedPayload: errors }; }; Payload.prototype.asJson = function () { return this.messages; }; Payload.prototype.asArray = function (serializer) { if (serializer === void 0) { serializer = serializer_1.SerializerV3.getInstance(); } return this.messages.map(function (message) { return message.ok ? (0, interfaces_1.success)(message_1.Message.fromDecoded(message.value).asArray(serializer)) : (0, interfaces_1.failure)(message.error); }); }; return Payload; }()); exports.Payload = Payload; //# sourceMappingURL=payload.js.map