@bem-plus/class-generator
Version:
The `@bem-plus/class-generator` allows you to generate boilerplate JavaScript or TypeScript code from your Stylesheets.
169 lines (168 loc) • 7.33 kB
TypeScript
import { z } from 'zod';
import { EStrategy } from './types';
declare const defaults: {
strategy: EStrategy;
input: {
include: string[];
templates: string[];
exclude: string[];
excludeBlocks: string[];
rootMixinSuffix: string;
separators: {
element: string;
modifier: string;
mixinElement: string;
};
};
output: {
autoloader: boolean;
language: "ts" | "js";
mode: "relative" | "absolute";
path: string;
filename: (blockName: string, fileType: string) => string;
prefix: string;
suffix: string;
elementClass: (elementName: string) => string;
moduleClass: (moduleClass: string) => string;
onComplete: () => void;
};
};
export declare const BemPlusClassGeneratorConfig: z.ZodArray<z.ZodObject<{
strategy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"plus">, z.ZodLiteral<"dist">]>>;
input: z.ZodOptional<z.ZodObject<{
include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
excludeBlocks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
rootMixinSuffix: z.ZodOptional<z.ZodString>;
separators: z.ZodOptional<z.ZodObject<{
element: z.ZodOptional<z.ZodString>;
modifier: z.ZodOptional<z.ZodString>;
mixinElement: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
element?: string | undefined;
modifier?: string | undefined;
mixinElement?: string | undefined;
}, {
element?: string | undefined;
modifier?: string | undefined;
mixinElement?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
include?: string[] | undefined;
exclude?: string[] | undefined;
templates?: string[] | undefined;
excludeBlocks?: string[] | undefined;
rootMixinSuffix?: string | undefined;
separators?: {
element?: string | undefined;
modifier?: string | undefined;
mixinElement?: string | undefined;
} | undefined;
}, {
include?: string[] | undefined;
exclude?: string[] | undefined;
templates?: string[] | undefined;
excludeBlocks?: string[] | undefined;
rootMixinSuffix?: string | undefined;
separators?: {
element?: string | undefined;
modifier?: string | undefined;
mixinElement?: string | undefined;
} | undefined;
}>>;
output: z.ZodOptional<z.ZodObject<{
autoloader: z.ZodOptional<z.ZodBoolean>;
language: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"js">, z.ZodLiteral<"ts">]>>;
mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"relative">, z.ZodLiteral<"absolute">]>>;
path: z.ZodOptional<z.ZodString>;
filename: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodString], z.ZodUnknown>, z.ZodString>>;
prefix: z.ZodOptional<z.ZodString>;
suffix: z.ZodOptional<z.ZodString>;
elementClass: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodString>>;
moduleClass: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodString>>;
onComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
filename?: ((args_0: string, args_1: string, ...args_2: unknown[]) => string) | undefined;
path?: string | undefined;
prefix?: string | undefined;
language?: "js" | "ts" | undefined;
autoloader?: boolean | undefined;
mode?: "absolute" | "relative" | undefined;
suffix?: string | undefined;
elementClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
moduleClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
onComplete?: ((...args: unknown[]) => unknown) | undefined;
}, {
filename?: ((args_0: string, args_1: string, ...args_2: unknown[]) => string) | undefined;
path?: string | undefined;
prefix?: string | undefined;
language?: "js" | "ts" | undefined;
autoloader?: boolean | undefined;
mode?: "absolute" | "relative" | undefined;
suffix?: string | undefined;
elementClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
moduleClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
onComplete?: ((...args: unknown[]) => unknown) | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
input?: {
include?: string[] | undefined;
exclude?: string[] | undefined;
templates?: string[] | undefined;
excludeBlocks?: string[] | undefined;
rootMixinSuffix?: string | undefined;
separators?: {
element?: string | undefined;
modifier?: string | undefined;
mixinElement?: string | undefined;
} | undefined;
} | undefined;
output?: {
filename?: ((args_0: string, args_1: string, ...args_2: unknown[]) => string) | undefined;
path?: string | undefined;
prefix?: string | undefined;
language?: "js" | "ts" | undefined;
autoloader?: boolean | undefined;
mode?: "absolute" | "relative" | undefined;
suffix?: string | undefined;
elementClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
moduleClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
onComplete?: ((...args: unknown[]) => unknown) | undefined;
} | undefined;
strategy?: "dist" | "plus" | undefined;
}, {
input?: {
include?: string[] | undefined;
exclude?: string[] | undefined;
templates?: string[] | undefined;
excludeBlocks?: string[] | undefined;
rootMixinSuffix?: string | undefined;
separators?: {
element?: string | undefined;
modifier?: string | undefined;
mixinElement?: string | undefined;
} | undefined;
} | undefined;
output?: {
filename?: ((args_0: string, args_1: string, ...args_2: unknown[]) => string) | undefined;
path?: string | undefined;
prefix?: string | undefined;
language?: "js" | "ts" | undefined;
autoloader?: boolean | undefined;
mode?: "absolute" | "relative" | undefined;
suffix?: string | undefined;
elementClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
moduleClass?: ((args_0: string, ...args_1: unknown[]) => string) | undefined;
onComplete?: ((...args: unknown[]) => unknown) | undefined;
} | undefined;
strategy?: "dist" | "plus" | undefined;
}>, "many">;
export type TBemPlusClassGeneratorInputConfig = z.input<typeof BemPlusClassGeneratorConfig>;
export type TBemPlusClassGeneratorProjectConfig = {
strategy: typeof defaults.strategy;
input: typeof defaults.input;
output: typeof defaults.output;
};
export declare const parseConfig: (config: unknown) => TBemPlusClassGeneratorProjectConfig[];
export {};