148 lines
2.6 KiB
TypeScript
148 lines
2.6 KiB
TypeScript
![]() |
import { IsArray, IsString, ValidateNested } from "class-validator";
|
||
|
import { Type } from "class-transformer";
|
||
|
|
||
|
export interface SkillPoseEstimation {
|
||
|
SkillPackage: ISkillPackage;
|
||
|
Module: IModule;
|
||
|
Launch: ILaunch;
|
||
|
ROS2: IRos2;
|
||
|
BTAction: IBTAction[];
|
||
|
Interface: IInterface;
|
||
|
Settings: ISetting[];
|
||
|
xxx: IXxx;
|
||
|
}
|
||
|
|
||
|
export interface IBTAction {
|
||
|
name: string;
|
||
|
format: string;
|
||
|
type: string;
|
||
|
param: string[];
|
||
|
result: string[];
|
||
|
}
|
||
|
|
||
|
export interface IInterface {
|
||
|
Input: IPut[];
|
||
|
Output: IPut[];
|
||
|
}
|
||
|
|
||
|
export interface IPut {
|
||
|
name: string;
|
||
|
type: string;
|
||
|
}
|
||
|
|
||
|
export interface ILaunch {
|
||
|
executable: string;
|
||
|
}
|
||
|
|
||
|
export interface IModule {
|
||
|
name: string;
|
||
|
description: string;
|
||
|
}
|
||
|
|
||
|
export interface IRos2 {
|
||
|
node_name: string;
|
||
|
}
|
||
|
|
||
|
export interface ISetting {
|
||
|
name: string;
|
||
|
value: number | string;
|
||
|
}
|
||
|
|
||
|
export interface ISkillPackage {
|
||
|
name: string;
|
||
|
version: string;
|
||
|
format: string;
|
||
|
}
|
||
|
|
||
|
export interface IXxx {
|
||
|
cameraLink: string;
|
||
|
topicImage: string;
|
||
|
topicCameraInfo: string;
|
||
|
}
|
||
|
|
||
|
export class SkillPackage implements ISkillPackage {
|
||
|
@IsString()
|
||
|
name: string;
|
||
|
@IsString()
|
||
|
version: string;
|
||
|
@IsString()
|
||
|
format: string;
|
||
|
}
|
||
|
export class Module implements IModule {
|
||
|
@IsString()
|
||
|
name: string;
|
||
|
@IsString()
|
||
|
description: string;
|
||
|
}
|
||
|
export class BTAction implements IBTAction {
|
||
|
@IsString()
|
||
|
name: string;
|
||
|
@IsString()
|
||
|
format: string;
|
||
|
@IsString()
|
||
|
type: string;
|
||
|
@IsArray()
|
||
|
param: string[];
|
||
|
@IsArray()
|
||
|
result: string[];
|
||
|
}
|
||
|
export class Launch implements ILaunch {
|
||
|
@IsString()
|
||
|
executable: string;
|
||
|
}
|
||
|
export class Ros2 implements IRos2 {
|
||
|
@IsString()
|
||
|
node_name: string;
|
||
|
}
|
||
|
export class Put implements IPut {
|
||
|
@IsString()
|
||
|
name: string;
|
||
|
@IsString()
|
||
|
type: string;
|
||
|
}
|
||
|
export class Interface implements IInterface {
|
||
|
@ValidateNested()
|
||
|
@Type(() => Put)
|
||
|
Input: IPut[];
|
||
|
@ValidateNested()
|
||
|
@Type(() => Put)
|
||
|
Output: IPut[];
|
||
|
}
|
||
|
export class Setting implements ISetting {
|
||
|
name: string;
|
||
|
value: string | number;
|
||
|
}
|
||
|
export class Xxx implements IXxx {
|
||
|
cameraLink: string;
|
||
|
topicImage: string;
|
||
|
topicCameraInfo: string;
|
||
|
}
|
||
|
export class SkillModelPoseEstimation implements SkillPoseEstimation {
|
||
|
@ValidateNested()
|
||
|
@Type(() => SkillPackage)
|
||
|
SkillPackage: ISkillPackage;
|
||
|
@ValidateNested()
|
||
|
@Type(() => Module)
|
||
|
Module: IModule;
|
||
|
@ValidateNested()
|
||
|
@Type(() => Launch)
|
||
|
Launch: ILaunch;
|
||
|
@ValidateNested()
|
||
|
@Type(() => Ros2)
|
||
|
ROS2: IRos2;
|
||
|
@ValidateNested()
|
||
|
@IsArray()
|
||
|
@Type(() => BTAction)
|
||
|
BTAction: IBTAction[];
|
||
|
@ValidateNested()
|
||
|
@Type(() => Interface)
|
||
|
Interface: IInterface;
|
||
|
@ValidateNested()
|
||
|
@IsArray()
|
||
|
@Type(() => Setting)
|
||
|
Settings: ISetting[];
|
||
|
@ValidateNested()
|
||
|
@Type(() => Xxx)
|
||
|
xxx: IXxx;
|
||
|
}
|