prettier-plugin-organize-attributes
Version:
Organize your HTML attributes autmatically with Prettier 🧼
26 lines (25 loc) • 1.27 kB
TypeScript
export declare const DEFAULT_GROUP = "$DEFAULT";
export type GroupQuery = string | RegExp;
export type GroupKey<TPresets extends Presets> = keyof TPresets | string | typeof DEFAULT_GROUP;
export type Presets = Record<string, GroupQuery | GroupQuery[]>;
export type OrganizedGroup<TValue> = {
values: TValue[];
query: GroupQuery;
};
export type OrganizedResult<TValue> = {
groups: OrganizedGroup<TValue>[];
flat: TValue[];
};
export interface BaseOrganizeOptions<TPresets extends Presets> {
presets?: TPresets;
groups: GroupKey<TPresets>[];
sort?: OrganizeOptionsSort;
ignoreCase?: boolean;
}
export type OrganizeOptionsSort = "ASC" | "DESC" | boolean;
export interface MapOrganizeOptions<TPresets extends Presets, TValue> extends BaseOrganizeOptions<TPresets> {
map: (value: TValue) => string;
}
export type OrganizeOptions<TPresets extends Presets, TValue> = BaseOrganizeOptions<TPresets> | MapOrganizeOptions<TPresets, TValue>;
export declare function miniorganize<TPresets extends Presets>(values: string[], options: BaseOrganizeOptions<TPresets>): OrganizedResult<string>;
export declare function miniorganize<TPresets extends Presets, TValue>(values: TValue[], options: MapOrganizeOptions<TPresets, TValue>): OrganizedResult<TValue>;