- 
                Notifications
    
You must be signed in to change notification settings  - Fork 13.1k
 
Closed
Labels
DuplicateAn existing issue was already createdAn existing issue was already created
Description
We are using string enums a lot. The following example is what gets pretty close:
/**
 * Allowed directions.
 */
export declare type FlexDirection = "row" | "column";
export namespace FlexDirection {
    /**
     * Align items in a row.
     */
    export const ROW: "row" = "row";
    /**
     * Align items in a column.
     */
    export const COLUMN: "column" = "column";
}
declare function go(direction: FlexDirection); // Hover "FlexDirection to see docs.
go(FlexDirection.ROW); // Hover "ROW" to see docs.
go("row");Is there a better way to add documentation to a string literal type? Sometimes the meaning of the values is not all that visible, or requires examples. The only thing I miss in a literal type such as "row" | "column" at the moment is I can not easily associate docs with the 2 values.
Does it sound feasible to add a shorthand syntax for this similar to:
/**
 * Allowed directions.
 */
export literal /* whatever the keywords */ enum FlexDirection {
    /**
     * Align items in a row.
     */
    ROW = "row",
    /**
     * Align items in a column.
     */
    COLUMN = "column"
}Metadata
Metadata
Assignees
Labels
DuplicateAn existing issue was already createdAn existing issue was already created