新增处理器类型的定义

This commit is contained in:
xief 2025-07-03 10:26:03 +08:00
parent 4473a9af41
commit 1954f8d612
2 changed files with 81 additions and 5 deletions

View File

@ -1,8 +1,45 @@
/**
* ,线
*/
export class ConfigBase {
name: string = '';
version:string = '1.0.0';
enable:boolean = true;
[key: string]: any;
/**
* json方法
* @returns
*/
toJson(){
return JSON.stringify(this,(k,v)=>k[0]=='_'?undefined:v);
}
}
/**
*
*/
export abstract class ProcessorContext<TInput,TOutput,TConfig extends ConfigBase>{
/**
*
*/
public Input?:TInput;
/**
*
*/
public params?:TConfig;
/**
*
*/
public Ouput?:TOutput;
}
/**
*
*/
export abstract class ProcessorBase<TInput,TOutput,TConfig extends ConfigBase> {
public readonly name: string = '';
public readonly version: string = '1.0.0';
public abstract exec(context:ProcessorContext<TInput,TOutput,TConfig>):Promise<void>|void
}
export interface FileOptions {

View File

@ -1,7 +1,46 @@
export abstract class ProcessorBase {
public readonly name: string = '';
public readonly version: string = '1.0.0';
public abstract exec(...args: any[]): any
import { ConfigBase, FileInfo, ProcessorBase } from "./base";
// todo: 类型参数待补完
export class BlockInfo{
}
export class BlockProcessorConfig extends ConfigBase{
}
/**
*
*/
export abstract class BlockProcessor extends ProcessorBase<BlockInfo[],BlockInfo[],BlockProcessorConfig>{
}
export class LayoutInput {
}
export class LayoutOutput{
}
export class LyaoutProcessorConfig extends ConfigBase{
}
export abstract class LayoutProcessor extends ProcessorBase<LayoutInput,LayoutOutput,LyaoutProcessorConfig>{
}
export class ExporterInput{
}
export class ExporterProcessorConfig extends ConfigBase{
}
export abstract class ExporterProcessor extends ProcessorBase<ExporterInput,FileInfo,ExporterProcessorConfig>{
}