gilly/openapi/schema

Types

pub type ArraySchema {
  ArraySchema(
    min_items: option.Option(Int),
    max_items: option.Option(Int),
    items: Schema,
  )
}

Constructors

pub type BaseSchema {
  BaseSchema(
    type_name: TypeName,
    title: option.Option(String),
    description: option.Option(String),
    nullable: Bool,
  )
}

Constructors

pub type IntegerSchema {
  IntegerSchema(
    minimum: option.Option(Int),
    maximum: option.Option(Int),
    format: option.Option(String),
  )
}

Constructors

pub type ObjectSchema {
  ObjectSchema(
    required: List(String),
    properties: List(#(String, Schema)),
  )
}

Constructors

  • ObjectSchema(
      required: List(String),
      properties: List(#(String, Schema)),
    )
pub type Schema {
  Ref(ref: String)
  String(BaseSchema, StringSchema)
  Integer(BaseSchema, IntegerSchema)
  Number(BaseSchema)
  Array(BaseSchema, ArraySchema)
  Object(BaseSchema, ObjectSchema)
  Boolean(BaseSchema)
}

Constructors

pub type StringSchema {
  StringSchema(
    min_length: option.Option(Int),
    max_length: option.Option(Int),
    enum: option.Option(List(String)),
    format: option.Option(String),
  )
}

Constructors

pub type TypeName {
  StringType
  IntegerType
  NumberType
  ArrayType
  ObjectType
  BooleanType
}

Constructors

  • StringType
  • IntegerType
  • NumberType
  • ArrayType
  • ObjectType
  • BooleanType

Values

pub fn schema_decoder() -> decode.Decoder(Schema)
Search Document