Module: ReactOnRails::TypeScriptResponseTypes

Defined in:
lib/react_on_rails/typescript_response_types.rb,
lib/react_on_rails/typescript_response_types/generated_file_writer.rb,
sig/react_on_rails.rbs,
sig/react_on_rails/typescript_response_types.rbs,
sig/react_on_rails/typescript_response_types/generated_file_writer.rbs

Defined Under Namespace

Modules: TypeSpecHelpers Classes: Emitter, Registry

Constant Summary collapse

DEFAULT_OUTPUT_PATH =

Returns:

  • (String)
"app/javascript/types/react_on_rails_response_types.d.ts"
GENERATED_HEADER =

Returns:

  • (String)
"// Generated by react_on_rails:generate_response_types. Do not edit by hand."
BOOLEAN_MODIFIER_VALUES =
[true, false].freeze
IDENTIFIER_PATTERN =

Returns:

  • (Regexp)
/\A[$A-Z_a-z][$0-9A-Z_a-z]*\z/
OPTION_KEYS =

Returns:

%i[array fields nullable optional raw type].freeze
RAW_TYPE_GROUP_CLOSES =
{ "(" => ")", "[" => "]", "{" => "}", "<" => ">" }.freeze
RAW_TYPE_GROUP_ENDS =
RAW_TYPE_GROUP_CLOSES.values.freeze
RAW_TYPE_STRING_LITERAL_PATTERN =
/'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|`(?:\\.|[^`\\])*`/
RAW_TYPE_STRAY_QUOTE_PATTERN =
/['"`]/
RAW_TYPE_TEMPLATE_INTERPOLATION_PATTERN =

Returns:

  • (Regexp)
/\$\{/
RAW_TYPE_NESTING_TOKEN_PATTERN =
/#{RAW_TYPE_STRING_LITERAL_PATTERN.source}|=>|[({\[<]|[)}\]>]|,/
RAW_TYPE_UNSAFE_LINE_BREAK_PATTERN =
/[\r\n\u2028\u2029]/
RAW_TYPE_UNSAFE_NON_STRING_PATTERN =
%r{;|//|/\*|\*/}
WRAPPER_TYPE_KEYS =

Returns:

%i[array fields raw type].freeze
RESERVED_TYPE_NAMES =

Returns:

%w[
  abstract accessor any as asserts await bigint boolean break case catch class const continue debugger declare
  default delete do else enum export extends false finally for function global if implements import in infer
  instanceof interface is keyof let module namespace never new null number object override package private protected
  public
  readonly return satisfies static string super switch symbol this throw true try type typeof undefined unique
  unknown using var void while with yield
  AbortController Array ArrayBuffer ArrayBufferLike Awaited Blob Boolean Capitalize ConstructorParameters DataView
  Date Error EvalError Event EventTarget Exclude Extract File Float32Array Float64Array FormData Function Headers
  InstanceType Int8Array Int16Array Int32Array JSON Lowercase Map Math NonNullable Number Object Omit
  OmitThisParameter Parameters Partial Pick Promise RangeError Readonly ReadonlyArray Record ReferenceError RegExp
  Request Required Response ReturnType Set String SyntaxError ThisParameterType ThisType TypeError Uint8Array
  Uint8ClampedArray Uint16Array Uint32Array Uncapitalize URIError URL URLSearchParams Uppercase WeakMap WeakSet
].freeze
GENERATED_TYPE_NAMES =

Returns:

%w[
  JsonValue RailsResponseTypes RailsResponseTypeName RailsResponseType
].freeze
JSON_VALUE_DEFINITION =
"export type JsonValue = " \
"string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };"
SCALAR_TYPES =

Returns:

  • (Hash[Symbol, String])
{
  any: "any",
  bool: "boolean",
  boolean: "boolean",
  # JSON responses serialize dates as strings; use raw: "Date" only for non-JSON values.
  date: "string",
  float: "number",
  integer: "number",
  json: "JsonValue",
  null: "null",
  number: "number",
  string: "string",
  unknown: "unknown"
}.freeze

Class Method Summary collapse

Class Method Details

.define_response(response_key, type_name:, fields:) ⇒ Object

Parameters:

  • response_key (Object)
  • type_name: (Object)
  • fields: (Hash[untyped, untyped])

Returns:

  • (Object)


14
# File 'sig/react_on_rails/typescript_response_types.rbs', line 14

def self.define_response: (untyped response_key, type_name: untyped, fields: Hash[untyped, untyped]) -> untyped

.define_type(type_name, fields:) ⇒ Object

Parameters:

  • type_name (Object)
  • fields: (Hash[untyped, untyped])

Returns:

  • (Object)


13
# File 'sig/react_on_rails/typescript_response_types.rbs', line 13

def self.define_type: (untyped type_name, fields: Hash[untyped, untyped]) -> untyped

.generate(output_path: nil) ⇒ String

Parameters:

  • output_path: (String, nil) (defaults to: nil)

Returns:

  • (String)


15
# File 'sig/react_on_rails/typescript_response_types.rbs', line 15

def self.generate: (?output_path: String?) -> String

.registryRegistry

Returns:



18
# File 'sig/react_on_rails/typescript_response_types.rbs', line 18

def self.registry: () -> Registry

.reset!Registry

Returns:



17
# File 'sig/react_on_rails/typescript_response_types.rbs', line 17

def self.reset!: () -> Registry

.to_d_tsString

Returns:

  • (String)


16
# File 'sig/react_on_rails/typescript_response_types.rbs', line 16

def self.to_d_ts: () -> String