// Favour PARENT-CONTEXTUALIZED, CONCATENATED naming when there are duplicates //public override string Generate(JsonSchema4 schema, string typeNameHint, IEnumerable<string> reservedTypeNames) public virtual string Generatev2(JsonSchema4 schema, string typeNameHint, IEnumerable <string> reservedTypeNames) { var typeName = base.Generate(schema, typeNameHint, reservedTypeNames); if (AnonymousTypeNamePattern.IsMatch(typeName)) { typeNameHint = GenerateNameFromFirstNamedParent(schema); typeName = base.Generate(schema, typeNameHint, reservedTypeNames); } Debug.WriteLine($"{typeName}\t{typeNameHint}"); return(typeName); }
// This gives us very long, SNAKE-CASED type names... //public override string Generate(JsonSchema4 schema, string typeNameHint, IEnumerable<string> reservedTypeNames) public virtual string GenerateV1(JsonSchema4 schema, string typeNameHint, IEnumerable <string> reservedTypeNames) { var typeName = base.Generate(schema, typeNameHint, reservedTypeNames); if (!AnonymousTypeNamePattern.IsMatch(typeName)) { return(typeName); } var nameFromParents = GenerateNameFromParents(schema); Debug.WriteLine(nameFromParents); return(nameFromParents); }