All files / approval-engine/mappers asset-state.mapper.ts

0% Statements 0/6
100% Branches 0/0
0% Functions 0/4
0% Lines 0/6

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                                         
import { AssetState } from "../../tr8-script/domain/eval.js";
import { Amount } from "../../tr8-script/domain/value.js";
import { AssetStateDto } from "../dtos/book-creation-event.dto.js";
import { AmountDto } from "../dtos/value.dto.js";
import { AmountValueMapper } from "./value.mapper.js";
 
export class AssetStateMapper {
  static fromMessage(assetStateDto: AssetStateDto): AssetState {
    return Object.keys(assetStateDto).reduce((acc, key) => {
      acc[key] = AmountValueMapper.fromMessage(assetStateDto[key] as AmountDto);
      return acc;
    }, {} as AssetState);
  }
  static toMessage(assetState: AssetState): AssetStateDto {
    return Object.keys(assetState).reduce((acc, key) => {
      acc[key] = AmountValueMapper.toMessage(assetState[key] as Amount);
      return acc;
    }, {} as AssetStateDto);
  }
}