plugify-plugins-types-generator
Version:
tool to generate d.ts for plugify plugins by pplugin file (ESM)
84 lines (73 loc) • 2 kB
text/typescript
export interface PlugifyPluginMetadata {
fileVersion: number
version: string
versionName: string
friendlyName: string
description: string
createdBy: string
createdByURL: string
docsURL: string
downloadURL: string
updateURL: string
entryPoint: string
supportedPlatforms: string[]
resourceDirectories: string[]
languageModule: LanguageModule
dependencies: Dependency[]
exportedMethods: ExportedMethod[]
}
export interface LanguageModule {
name: string
}
export interface Dependency {
name: string
}
export interface ExportedMethod {
name: string
group: string
description: string
funcName: string
paramTypes: ParamType[]
retType: RetType
}
export interface ParamType {
name: string
type: string
ref: boolean
description: string
enum?: Enum
prototype?: Prototype
}
export interface Enum {
name: string
description: string
values: EnumValue[]
}
export interface EnumValue {
name: string
value: number
description: string
}
export interface Prototype {
name: string
description: string
paramTypes: ParamType[]
retType: RetType
}
export interface RetType {
type: string
description?: string
enum?: Enum
}
export type PlugifyType = "void" | "bool" | "char8" | "char16" | "int8" | "int16" | "int32" | "int64" | "uint8" | "uint16" | "uint32" | "uint64" | "ptr64" | "float" | "double" | "function" | "string" | "any" | "vec2" | "vec3" | "vec4" | "mat4x4"
export type PlugifyArrayType = "bool[]" | "char8[]" | "char16[]" | "int8[]" | "int16[]" | "int32[]" | "int64[]" | "uint8[]" | "uint16[]" | "uint32[]" | "uint64[]" | "ptr64[]" | "float[]" | "double[]" | "string[]" | "any[]" | "vec2[]" | "vec3[]" | "vec4[]" | "mat4x4[]"
export interface PlugifyEnum {
name: string;
description: string;
values: PlugifyEnumValue[]
}
export interface PlugifyEnumValue {
value: any;
name: string;
description: string;
}