caniemail
Version:
HTML and CSS Feature Support for Email Clients from caniemail.com
40 lines • 1.18 kB
TypeScript
import { type EmailClient, type SupportTypeResult } from './clients.js';
import { type RawFeatureData, caniEmailJson } from './json.cjs';
export { caniEmailJson as rawData };
interface PositionPoint {
line: number;
column: number;
}
export interface Position {
start: PositionPoint;
end: PositionPoint;
source?: string;
}
export interface FeatureIssue {
notes: string[];
title: string;
position?: Position;
support: SupportTypeResult['type'];
}
export interface FeatureInfo extends FeatureIssue {
url: string;
}
export interface FeatureIssues {
errors: FeatureMap<FeatureIssue>;
warnings: FeatureMap<FeatureIssue>;
}
type FeatureSet = Map<string, RawFeatureData>;
interface GetFeaturesResult {
all: FeatureSet;
css: FeatureSet;
html: FeatureSet;
}
export declare class FeatureMap<TValue> extends Map<EmailClient, TValue[]> {
set(key: EmailClient, value: TValue): this;
}
export declare const getFeatures: () => GetFeaturesResult;
export declare const getAllFeatures: (clients: EmailClient[]) => {
supported: FeatureMap<FeatureInfo>;
unsupported: FeatureMap<FeatureInfo>;
};
//# sourceMappingURL=features.d.ts.map