Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | import { InvalidSchemaError } from "../../commons/errors/invalid-schema-error.js";
import { LedgerEvent } from "../../tr8-script/domain/ledger-event.js";
import { ApprovalEvent } from "../domain/approval-event.js";
import { AssetStateChangeLogEvent } from "../domain/asset-change-log.js";
import { BookCreationEvent } from "../domain/book-creation-event.js";
import { SuspensionEvent } from "../domain/suspend-event.js";
import { ApprovalEventDto } from "../dtos/approval-event-message.dto.js";
import { AssetStateChangeLogEventMapper } from "./asset-state-change-log-event.mapper.js";
import { BookCreationEventMapper } from "./book-creation-event.mapper.js";
import { LedgerEventMapper } from "./ledger-event.mapper.js";
export class ApprovalEventMapper {
static fromMessage(dto: ApprovalEventDto): ApprovalEvent {
let event:
| BookCreationEvent
| AssetStateChangeLogEvent
| LedgerEvent
| SuspensionEvent
| null = null;
if (dto.bookCreationEvent != null) {
event = BookCreationEventMapper.fromMessage(dto.bookCreationEvent);
} else if (dto.ledgerEvent != null) {
event = LedgerEventMapper.fromMessage(dto.ledgerEvent);
} else if (dto.assetStateChangeLogEvent != null) {
event = AssetStateChangeLogEventMapper.fromMessage(
dto.assetStateChangeLogEvent,
);
} else if (dto.suspensionEvent) {
event = dto.suspensionEvent;
}
if (event == null) {
throw new InvalidSchemaError(
"approvalEventMapperSchema",
"Schema is missing required fields",
);
}
return {
event: event,
};
}
static toMessage(value: ApprovalEvent): ApprovalEventDto {
const dto: ApprovalEventDto = {
bookCreationEvent: null,
assetStateChangeLogEvent: null,
ledgerEvent: null,
suspensionEvent: null,
};
if ("txs" in value.event) {
dto.ledgerEvent = LedgerEventMapper.toMessage(value.event);
} else if ("createAssetState" in value.event) {
dto.bookCreationEvent = BookCreationEventMapper.toMessage(value.event);
} else if ("assetStateChangeLog" in value.event) {
dto.assetStateChangeLogEvent = AssetStateChangeLogEventMapper.toMessage(
value.event,
);
} else if ("suspensions" in value.event) {
dto.suspensionEvent = value.event;
}
return dto;
}
}
|