// Copyright 2021 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

namespace serial;

enum Encoding : uint8 {
  // fixed width
  Null       = 0,
  Int8       = 1,
  Uint8      = 2,
  Int16      = 3,
  Uint16     = 4,
  Int32      = 7,
  Uint32     = 8,
  Int64      = 9,
  Uint64     = 10,
  Float32    = 11,
  Float64    = 12,
  Bit64      = 13,
  Hash128    = 14,
  Year       = 15,
  Date       = 16,
  Time       = 17,
  Datetime   = 18,
  Enum       = 19,
  Set        = 20,
  BytesAddr  = 21,
  CommitAddr = 22,
  StringAddr = 23,
  JSONAddr   = 24,
  Cell       = 25,

  // variable width
  String   = 128,
  Bytes    = 129,
  Decimal  = 130,
  JSON     = 131,
  Geometry = 133,
}
