github.com/confluentinc/confluent-kafka-go@v1.9.2/schemaregistry/serde/jsonschema/config.go (about)

     1  /**
     2   * Copyright 2022 Confluent Inc.
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   * http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  package jsonschema
    18  
    19  import "github.com/confluentinc/confluent-kafka-go/schemaregistry/serde"
    20  
    21  // SerializerConfig is used to pass multiple configuration options to the serializers.
    22  type SerializerConfig struct {
    23  	serde.SerializerConfig
    24  	// EnableValidation enables validation of the JSON against the schema.
    25  	EnableValidation bool
    26  }
    27  
    28  // NewSerializerConfig returns a new configuration instance with sane defaults.
    29  func NewSerializerConfig() *SerializerConfig {
    30  	c := &SerializerConfig{
    31  		SerializerConfig: *serde.NewSerializerConfig(),
    32  		EnableValidation: false,
    33  	}
    34  
    35  	return c
    36  }
    37  
    38  // DeserializerConfig is used to pass multiple configuration options to the deserializers.
    39  type DeserializerConfig struct {
    40  	serde.DeserializerConfig
    41  	EnableValidation bool
    42  }
    43  
    44  // NewDeserializerConfig returns a new configuration instance with sane defaults.
    45  func NewDeserializerConfig() *DeserializerConfig {
    46  	c := &DeserializerConfig{
    47  		DeserializerConfig: *serde.NewDeserializerConfig(),
    48  		EnableValidation:   false,
    49  	}
    50  
    51  	return c
    52  }