trufflesuite/truffle

View on GitHub
packages/codec-components/src/react/components/codec/constructor-decoding.tsx

Summary

Maintainability
C
1 day
Test Coverage
import React from "react";
import type * as Codec from "@truffle/codec";
import { createCodecComponent } from "../../utils/create-codec-component";
import { NextBracketDepth } from "../providers/next-bracket-depth";
import { Container } from "../common/container";
import { Code } from "../common/code";
import { AbiArguments } from "../common/abi-arguments";

export const { ConstructorDecoding } = createCodecComponent(
  "ConstructorDecoding",
  (data: Codec.ConstructorDecoding) => {
    return (
      <Container
        prefix={
          <>
            <Code type="new-keyword">new&nbsp;</Code>
            <Code type="contract">{data.class.typeName}</Code>
            <Code type="bracket">(</Code>
          </>
        }
        suffix={<Code type="bracket">)</Code>}
        empty={data.arguments.length === 0}
      >
        <NextBracketDepth>
          <AbiArguments data={data.arguments} />
        </NextBracketDepth>
      </Container>
    );
  }
);