Sha256: 6adb7eb85a74f55ec1f3e1162018a81f8b4f2310737bbc81203ae4c12d3a3f82

Contents?: true

Size: 1.45 KB

Versions: 9

Compression:

Stored size: 1.45 KB

Contents

module Prism
  module Pack
    type variant = :pack | :unpack

    def self.parse: (Symbol version, variant variant, String source) -> Format

    class Directive
      type directive_type = :SPACE | :COMMENT | :INTEGER | :UTF8 | :BER | :FLOAT | :STRING_SPACE_PADDED |
                            :STRING_NULL_PADDED | :STRING_NULL_TERMINATED | :STRING_MSB | :STRING_LSB |
                            :STRING_HEX_HIGH | :STRING_HEX_LOW | :STRING_UU | :STRING_MIME | :STRING_BASE64 |
                            :STRING_FIXED | :STRING_POINTER | :MOVE | :BACK | :NULL

      type signness = :UNSIGNED | :SIGNED | :SIGNED_NA

      type endianness = :AGNOSTIC_ENDIAN | :LITTLE_ENDIAN | :BIG_ENDIAN | :NATIVE_ENDIAN | :ENDIAN_NA

      type size = :SIZE_SHORT | :SIZE_INT | :SIZE_LONG | :SIZE_LONG_LONG | :SIZE_8 | :SIZE_16 | :SIZE_32 |
                  :SIZE_64 | :SIZE_P | :SIZE_NA

      type length_type = :LENGTH_FIXED | :LENGTH_MAX | :LENGTH_RELATIVE | :LENGTH_NA


      attr_reader version: Symbol
      attr_reader variant: variant
      attr_reader source: String
      attr_reader type: directive_type
      attr_reader signed: signness
      attr_reader endian: endianness
      attr_reader size: size
      attr_reader length_type: length_type
      attr_reader length: Integer

      def describe: () -> String
    end

    class Format
      attr_reader directives: Array[Directive]
      attr_reader encoding: Encoding

      def describe: () -> String
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
prism-1.3.0 sig/prism/pack.rbs
prism-1.2.0 sig/prism/pack.rbs
prism-1.1.0 sig/prism/pack.rbs
prism-1.0.0 sig/prism/pack.rbs
prism-0.30.0 sig/prism/pack.rbs
prism-0.28.0 sig/prism/pack.rbs
prism-0.27.0 sig/prism/pack.rbs
prism-0.26.0 sig/prism/pack.rbs
prism-0.25.0 sig/prism/pack.rbs