Options
All
  • Public
  • Public/Protected
  • All
Menu

ros-typescript-generator

Index

Type aliases

IConfig

IConfig: { input: readonly IConfigDirectory[]; output: string; rosVersion?: 1 | 2; smartEnums?: undefined | false | true; typePrefix: string; useNamespaces?: undefined | false | true }

Type declaration

  • Readonly input: readonly IConfigDirectory[]
  • Readonly output: string
  • Optional Readonly rosVersion?: 1 | 2
  • Optional Readonly smartEnums?: undefined | false | true
  • Readonly typePrefix: string
  • Optional Readonly useNamespaces?: undefined | false | true

IConfigDirectory

IConfigDirectory: { namespace: string; path: string }

Type declaration

  • Readonly namespace: string
  • Readonly path: string

Variables

Const SUPPORTED_ROS_VERSIONS

SUPPORTED_ROS_VERSIONS: number[] = [1, 2]

Functions

Const generateFromRosMsg

  • generateFromRosMsg(rosDefinition: string, typePrefix?: string, rosVersion?: IConfig["rosVersion"], useNamespaces?: boolean, smartEnums?: boolean): string
  • Take in a ros definition string and generates a typescript interface

    Parameters

    • rosDefinition: string
    • Default value typePrefix: string = ""
    • Default value rosVersion: IConfig["rosVersion"] = 2
    • Default value useNamespaces: boolean = false
    • Default value smartEnums: boolean = false

    Returns string

Const generateMsgsFromActionsFiles

  • generateMsgsFromActionsFiles(inputFilePath: string, tmpDir: string): Promise<string[]>

Const generateMsgsFromSrvFiles

  • generateMsgsFromSrvFiles(inputFilePath: string, tmpDir: string): Promise<string[]>
  • Parameters

    • inputFilePath: string
    • tmpDir: string

    Returns Promise<string[]>

Const getMsgFiles

  • getMsgFiles(dir: string, tmpDir: string): Promise<string[]>

Const getMsgFilesData

  • getMsgFilesData(dir: string, namespace: string, tmpDir: string): Promise<{ data: string; name: string; namespace: string; path: string }[]>
  • Parameters

    • dir: string
    • namespace: string
    • tmpDir: string

    Returns Promise<{ data: string; name: string; namespace: string; path: string }[]>

Const indent

  • indent(str: string, width: number): string

Const pascalCase

  • pascalCase(str: string): string

processEntries

  • processEntries(entries: Dirent[], dir: string): Promise<Dirent[]>

Const rosNameToTypeName

  • rosNameToTypeName(rosName: string, prefix?: string, includePackageName?: boolean): string
  • Parameters

    • rosName: string
    • Default value prefix: string = ""
    • Default value includePackageName: boolean = true

    Returns string

Const rosTypescriptGenerator

  • rosTypescriptGenerator(config: IConfig): Promise<string>

Object literals

Const common

common: object

Common types between ROS 1 & 2

bool

bool: string = "boolean"

byte

byte: string = "Int8Array"

char

char: string = "string"

float32

float32: string = "number"

float64

float64: string = "number"

int16

int16: string = "number"

int32

int32: string = "number"

int64

int64: string = "number"

int8

int8: string = "number"

string

string: string = "string"

uint16

uint16: string = "number"

uint32

uint32: string = "number"

uint64

uint64: string = "number"

uint8

uint8: string = "number"

wchar

wchar: string = "string"

wstring

wstring: string = "string"

Const primitives1

primitives1: object

ROS 1

duration

duration: string = "{ secs: number, nsecs: number }"

time

time: string = "{ secs: number, nsecs: number }"

Const primitives2

primitives2: object

Map all ROS 2 primitives to a ts type https://design.ros2.org/articles/interface_definition.html

duration

duration: string = "{ sec: number, nanosec: number }"

time

time: string = "{ sec: number, nanosec: number }"

Generated using TypeDoc