2020-10-09 19:35:46 +02:00
|
|
|
import { ExportContext } from '../plugins/api/types';
|
|
|
|
import InteropService_Exporter_Base from './InteropService_Exporter_Base';
|
|
|
|
import { ExportOptions, Module } from './types';
|
|
|
|
|
|
|
|
export default class InteropService_Exporter_Custom extends InteropService_Exporter_Base {
|
|
|
|
|
2020-11-12 21:13:28 +02:00
|
|
|
private customContext_: ExportContext;
|
|
|
|
private module_: Module = null;
|
2020-10-09 19:35:46 +02:00
|
|
|
|
2020-11-12 21:13:28 +02:00
|
|
|
constructor(module: Module) {
|
2020-10-09 19:35:46 +02:00
|
|
|
super();
|
|
|
|
this.module_ = module;
|
|
|
|
}
|
|
|
|
|
2020-11-12 21:13:28 +02:00
|
|
|
async init(destPath: string, options: ExportOptions) {
|
2020-10-09 19:35:46 +02:00
|
|
|
this.customContext_ = {
|
|
|
|
destPath: destPath,
|
|
|
|
options: options,
|
|
|
|
};
|
|
|
|
|
|
|
|
return this.module_.onInit(this.customContext_);
|
|
|
|
}
|
|
|
|
|
2020-11-12 21:13:28 +02:00
|
|
|
async processItem(itemType: number, item: any) {
|
2020-10-09 19:35:46 +02:00
|
|
|
return this.module_.onProcessItem(this.customContext_, itemType, item);
|
|
|
|
}
|
|
|
|
|
2020-11-12 21:13:28 +02:00
|
|
|
async processResource(resource: any, filePath: string) {
|
2020-10-09 19:35:46 +02:00
|
|
|
return this.module_.onProcessResource(this.customContext_, resource, filePath);
|
|
|
|
}
|
|
|
|
|
|
|
|
async close() {
|
|
|
|
return this.module_.onClose(this.customContext_);
|
|
|
|
}
|
|
|
|
}
|