mirror of
https://github.com/LukeHagar/plexruby.git
synced 2025-12-06 12:47:44 +00:00
60 lines
1.0 KiB
Ruby
60 lines
1.0 KiB
Ruby
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
|
|
# typed: true
|
|
# frozen_string_literal: true
|
|
|
|
module T
|
|
def self.arr?(t)
|
|
if t.respond_to? :underlying_class
|
|
return t.underlying_class == ::Array
|
|
end
|
|
false
|
|
end
|
|
|
|
def self.arr_of(t)
|
|
get_raw_type(t.type)
|
|
end
|
|
|
|
def self.hash?(t)
|
|
if t.respond_to? :underlying_class
|
|
return t.underlying_class == ::Hash
|
|
end
|
|
false
|
|
end
|
|
|
|
def self.hash_of(t)
|
|
get_raw_type(t.values)
|
|
end
|
|
|
|
def self.nilable?(t)
|
|
t.respond_to? :unwrap_nilable
|
|
end
|
|
|
|
def self.nilable_of(t)
|
|
if t.respond_to? :unwrap_nilable
|
|
return simplify_type t.unwrap_nilable
|
|
end
|
|
nil
|
|
end
|
|
|
|
def self.simplifiable?(t)
|
|
return t.is_a? T::Types::Simple
|
|
end
|
|
|
|
def self.simplify_type(t)
|
|
if t.is_a? T::Types::Simple
|
|
return t.raw_type
|
|
end
|
|
t
|
|
end
|
|
|
|
def self.get_raw_type(t)
|
|
if t.respond_to? :raw_type
|
|
return t.raw_type
|
|
elsif t.respond_to? :raw_a
|
|
return T::Boolean if t.raw_a in [TrueClass, FalseClass]
|
|
end
|
|
t
|
|
end
|
|
end
|