Sha256: 3f0a9e9fd42bec8a0b30006eddabf0a8cc4be3c236227ef114eb919c558d05aa

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

module Cborb::Decoding
  # IB = Initial Byte
  # @see https://tools.ietf.org/html/rfc7049#appendix-B
  IB_JUMP_TABLE =
    Array.new(256) do |ib|
      case ib
      when 0x00..0x1B
        Types::Integer
      when 0x20..0x3B
        Types::NegativeInteger
      when 0x40..0x5B
        Types::ByteString
      when 0x5F
        Types::IndefiniteByteString
      when 0x60..0x7B
        Types::TextString
      when 0x7F
        Types::IndefiniteTextString
      when 0x80..0x9B
        Types::Array
      when 0x9F
        Types::IndefiniteArray
      when 0xA0..0xBB
        Types::Map
      when 0xBF
        Types::IndefiniteMap
      when 0xC0..0xDB
        Types::Tag
      when 0xE0..0xF3
        Types::UnassignedSimpleValue
      when 0xF4..0xF7
        Types::SimpleValue
      when 0xF8
        Types::UnassignedSimpleValue
      when 0xF9
        Types::HalfPrecisionFloatingPoint
      when 0xFA, 0xFB
        Types::FloatingPoint
      when 0xFC..0xFE
        Types::UnassignedSimpleValue
      when 0xFF
        Types::Break
      else
        Types::Unknown
      end
    end.freeze
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cborb-0.3.0 lib/cborb/decoding/ib_jump_table.rb
cborb-0.2.0 lib/cborb/decoding/ib_jump_table.rb
cborb-0.1.0 lib/cborb/decoding/ib_jump_table.rb