aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/pages/documentation/enum.tsx
blob: 9364a5d31e1667bc42080100998bffc9da932cc8 (plain) (blame)
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
import * as _ from 'lodash';
import * as React from 'react';
import {utils} from 'ts/utils/utils';
import {TypeDocNode, EnumValue} from 'ts/types';

const STRING_ENUM_CODE_PREFIX = ' strEnum(';

interface EnumProps {
    values: EnumValue[];
}

export function Enum(props: EnumProps) {
    const values = _.map(props.values, (value, i) => {
        const isLast = i === props.values.length - 1;
        const defaultValueIfAny = !_.isUndefined(value.defaultValue) ? ` = ${value.defaultValue}` : '';
        return `\n\t${value.name}${defaultValueIfAny},`;
    });
    return (
        <span>
            {`{`}
                {values}
                <br />
            {`}`}
        </span>
    );
}