-
-
Notifications
You must be signed in to change notification settings - Fork 516
/
ITypeNameGenerator.cs
23 lines (21 loc) · 1.06 KB
/
ITypeNameGenerator.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//-----------------------------------------------------------------------
// <copyright file="ITypeNameGenerator.cs" company="NJsonSchema">
// Copyright (c) Rico Suter. All rights reserved.
// </copyright>
// <license>https://github.com/RicoSuter/NJsonSchema/blob/master/LICENSE.md</license>
// <author>Rico Suter, mail@rsuter.com</author>
//-----------------------------------------------------------------------
using System.Collections.Generic;
namespace NJsonSchema
{
/// <summary>Generates the type name for a given <see cref="JsonSchema"/>.</summary>
public interface ITypeNameGenerator
{
/// <summary>Generates the type name.</summary>
/// <param name="schema">The property.</param>
/// <param name="typeNameHint">The type name hint (the property name or definition key).</param>
/// <param name="reservedTypeNames">The reserved type names.</param>
/// <returns>The new name.</returns>
string Generate(JsonSchema schema, string? typeNameHint, IEnumerable<string> reservedTypeNames);
}
}