website-validator
Version:
Comprehensive website validation
103 lines (102 loc) • 3.74 kB
TypeScript
import crypto from "node:crypto";
import { EpubcheckError, FoundPageFetchResult, VnuReportedError } from ".";
import { DeepReadonly } from "ts-essentials";
export declare const sha: (x: crypto.BinaryLike) => string;
export declare const addFileCache: <F extends (...args: any[]) => any>(fn: F, { calcCacheKey, serialize, deserialize }: {
calcCacheKey: (...params: Parameters<F>) => import("ts-essentials").AsyncOrSync<Array<import("ts-essentials").AsyncOrSync<string | number | Buffer | (() => import("ts-essentials").AsyncOrSync<string | number | Buffer>)>> | (string | number | Buffer | (() => import("ts-essentials").AsyncOrSync<string | number | Buffer>))>;
serialize?: undefined;
deserialize?: undefined;
} | {
calcCacheKey: (...params: Parameters<F>) => import("ts-essentials").AsyncOrSync<Array<import("ts-essentials").AsyncOrSync<string | number | Buffer | (() => import("ts-essentials").AsyncOrSync<string | number | Buffer>)>> | (string | number | Buffer | (() => import("ts-essentials").AsyncOrSync<string | number | Buffer>))>;
serialize: (result: Awaited<ReturnType<F>>, writeable: import("stream/web").WritableStream) => Promise<unknown>;
deserialize: (stream: import("stream/web").ReadableStream) => Awaited<ReturnType<F>> | Promise<Awaited<ReturnType<F>>>;
}) => (...args: Parameters<F>) => Promise<Awaited<ReturnType<F>>>;
export declare const withTempDir: <T>(fn: (dir: string) => T) => Promise<T>;
export declare const getElementLocation: (element: Element) => string;
export declare const extractAllUrlsFromCss: (css: string) => Promise<{
url: string;
parent: string | undefined;
prop?: string;
position: string;
}[]>;
export declare const getInterestingPageElements: (page: {
path: string;
mtime: number;
}) => Promise<{
ids: {
outerHTML: string;
id: string;
selector: string;
}[];
tagCollections: {
img: {
attrs: {
[k: string]: string | undefined;
};
outerHTML: string;
selector: string;
innerHTML: string;
}[];
link: {
attrs: {
[k: string]: string | undefined;
};
outerHTML: string;
selector: string;
innerHTML: string;
}[];
meta: {
attrs: {
[k: string]: string | undefined;
};
outerHTML: string;
selector: string;
innerHTML: string;
}[];
script: {
attrs: {
[k: string]: string | undefined;
};
outerHTML: string;
selector: string;
innerHTML: string;
}[];
video: {
attrs: {
[k: string]: string | undefined;
};
outerHTML: string;
selector: string;
innerHTML: string;
}[];
a: {
attrs: {
[k: string]: string | undefined;
};
outerHTML: string;
selector: string;
innerHTML: string;
}[];
};
}>;
export declare const vnuValidates: (files: DeepReadonly<Array<{
data: FoundPageFetchResult["data"];
type: "html" | "css" | "svg";
}>>) => Promise<{
[url: string]: VnuReportedError[];
}>;
export declare const validateEpub: (data: {
path: string;
mtime: number;
}) => Promise<EpubcheckError[]>;
export declare const validatePdf: (data: {
path: string;
mtime: number;
}) => Promise<any[]>;
export declare const getImageDimensions: (data: {
path: string;
mtime: number;
}) => Promise<{
width: number | undefined;
height: number | undefined;
}>;