32 lines
828 B
TypeScript

import type { Span } from '../../trace';
import { AdGuardHome } from '../writing-strategy/adguardhome';
import type { BaseWriteStrategy } from '../writing-strategy/base';
import { ClashDomainSet } from '../writing-strategy/clash';
import { SingboxSource } from '../writing-strategy/singbox';
import { SurgeDomainSet } from '../writing-strategy/surge';
import { FileOutput } from './base';
export class DomainsetOutput extends FileOutput {
strategies: BaseWriteStrategy[] = [
new SurgeDomainSet(),
new ClashDomainSet(),
new SingboxSource('domainset')
];
}
export class AdGuardHomeOutput extends FileOutput {
strategies: BaseWriteStrategy[];
constructor(
span: Span,
id: string,
outputDir: string
) {
super(span, id);
this.strategies = [
new AdGuardHome(outputDir)
];
}
}