/// <summary> /// Initializes a new instance of the <see cref="SchemaRegistry"/> class. /// </summary> /// <param name="originalRegistry"><see cref="ISchemaRegistry"/> for holding schemas.</param> /// <param name="providers"><see cref="IInstancesOf{T}"/> of <see cref="ICanProvideSwaggerSchemas"/>.</param> /// <param name="idManager"><see cref="SchemaIdManager"/> for managing schemaa identifiers.</param> public SchemaRegistry( ISchemaRegistry originalRegistry, IInstancesOf <ICanProvideSwaggerSchemas> providers, SchemaIdManager idManager) { _originalRegistry = originalRegistry; _providers = providers; _idManager = idManager; }
public AsyncApiSchemaRegistry( JsonSerializerSettings jsonSerializerSettings, SchemaRegistryOptions options = null) { this._jsonSerializerSettings = jsonSerializerSettings; this._jsonContractResolver = this._jsonSerializerSettings.ContractResolver ?? (IContractResolver) new DefaultContractResolver(); this._options = options ?? new SchemaRegistryOptions(); this._schemaIdManager = new SchemaIdManager(this._options.SchemaIdSelector); this.Definitions = (IDictionary <string, Schema>) new Dictionary <string, Schema>(); }
/// <inheritdoc/> public Schema ProvideFor(Type type, ISchemaRegistry registry, SchemaIdManager idManager) { return(registry.GetOrRegister(type.GetConceptValueType())); }