wmod-proxy
Version:
Website Modification Proxy
49 lines (48 loc) • 1.81 kB
TypeScript
import { HTTPMethod } from 'http-method-enum';
export declare type Manifest = {
name: string;
version?: string;
description?: string;
homepage?: string;
scripts: ManifestScript[];
rules: ManifestRule[];
};
export declare type ManifestRuleAction = ManifestRuleActionResponse | ManifestRuleActionScripts | ManifestRuleActionClose;
export declare type ManifestRule = {
url?: string | RegExp;
hostname?: string | RegExp;
path?: string | RegExp;
method?: HTTPMethod;
action: ManifestRuleAction;
};
export declare type ManifestRuleActionResponse = {
response: number;
};
export declare type ManifestRuleActionScripts = {
scripts: string[];
};
export declare type ManifestRuleActionClose = {
close: boolean;
};
export declare type ManifestScript = {
name: string;
files: ScriptFile[];
};
export declare type ScriptFile = {
path: string;
inject?: boolean;
};
export declare type ResolvedManifest = Omit<Manifest, 'rules'> & {
rules: ResolvedManifestRule[];
};
export declare type ResolvedManifestRule = Omit<ManifestRule, 'action'> & {
action: ResolvedManifestRuleAction;
};
export declare type ResolvedManifestRuleAction = Exclude<ManifestRuleAction, 'ManifestRuleActionScripts'> | ResolvedManifestRuleActionScripts;
export declare type ResolvedManifestRuleActionScripts = Omit<ManifestRuleActionScripts, 'scripts'> & {
files: ScriptFile[];
};
export declare function isManifestRuleActionResponse(a: any): a is ManifestRuleActionResponse;
export declare function isManifestRuleActionScripts(a: any): a is ManifestRuleActionScripts;
export declare function isManifestRuleActionClose(a: any): a is ManifestRuleActionClose;
export declare function isResolvedManifestRuleActionScripts(a: any): a is ResolvedManifestRuleActionScripts;