'How to extend NSwag liquid templates with data from custom attributes to generate Typescript files?

Is there a way to add customization to NSwag's Typescript Enum luquid templates so that I can access custom attributes applied to the Enum and its members?

I've tried accessing ExtensionData, but there is literally no output from this:

{% for ed in ExtensionData -%}
    {{ ed.Key }} = {{ ed.Value }},
{% endfor -%}

Desired behavior for an enum with a decorated member would be like this:

public enum EmailQueueState
{
    /// <summary>
    /// Added to queue
    /// </summary>
    [Display(Name = "Added to queue")]
    [Id("3D73B02D-41D7-4114-ADA1-CC19530F9977")]
    Queued = 39000001,
}

Current output:

export enum EmailQueueState {
    Queued = 39000001
}

Desired output:

import * as uuid from "uuid-tool";

export enum EmailQueueState {
    Queued = 39000001
}
export default EmailQueueState;

const valueIds = {
    Queued: new uuid.Uuid("3D73B02D-41D7-4114-ADA1-CC19530F9977")
};
const displayNames = {
    Queued: "Added to queue"
};

export { valueIds as ValueIds, displayNames as DisplayNames };


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source