UNPKG

plugify-plugins-types-generator

Version:

tool to generate d.ts for plugify plugins by pplugin file (ESM)

84 lines (73 loc) 2 kB
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; }