Class: Anchor::TypeScript::FileStructure::FileUtils

Inherits:
Object
  • Object
show all
Defined in:
lib/anchor/type_script/file_structure.rb

Class Method Summary collapse

Class Method Details

.def_to_code(identifier, object) ⇒ Object



17
18
19
20
# File 'lib/anchor/type_script/file_structure.rb', line 17

def self.def_to_code(identifier, object)
  expression = Anchor::TypeScript::Serializer.type_string(object)
  "type #{identifier} = #{expression};" + "\n"
end

.export_code(identifier) ⇒ Object



22
23
24
# File 'lib/anchor/type_script/file_structure.rb', line 22

def self.export_code(identifier)
  "export { type #{identifier} };" + "\n"
end

.imports_to_code(imports) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/anchor/type_script/file_structure.rb', line 7

def self.imports_to_code(imports)
  imports.group_by(&:file_name).map do |file_name, file_imports|
    named_imports = file_imports.map do |import|
      import.type.try(:anchor_schema_name) || import.type.name
    end.join(",")

    "import type { #{named_imports} } from \"./#{file_name[..-4]}\";"
  end.join("\n") + "\n"
end