@terrazzo/plugin-js
Version:
Use DTCG tokens in Node.js for server-rendered applications.
56 lines (55 loc) • 1.88 kB
TypeScript
import { Logger, Plugin, Resolver as Resolver$1, Token, TokenNormalized, TokenNormalizedSet } from "@terrazzo/parser";
//#region src/lib.d.ts
declare const FORMAT_ID = "js";
declare const DEFAULT_PROPERTIES: Set<keyof TokenNormalized>;
interface JSPluginOptions<T extends Record<string, string> = Record<string, string>> {
/**
* Change the output filename
* @default "index.js"
*/
filename?: string;
/** Only generate permutations for the specified modifiers (by default, generate all permutations) */
contexts?: { [key in keyof T]: T[keyof T][] };
/** Only include specified properties as part of token output. */
properties?: (keyof TokenNormalized)[];
}
type Resolver<T extends Record<string, string>> = (input: T) => TokenNormalizedSet;
declare const FILE_HEADER = "/** ------------------------------------------\n * Autogenerated by \u26CB Terrazzo. DO NOT EDIT!\n * ------------------------------------------- */";
declare const TYPE_MAP: Record<Token['$type'], string>;
//#endregion
//#region src/build.d.ts
declare function buildJS({
resolver,
properties,
logger,
contexts
}: {
resolver: Resolver$1;
properties: Set<keyof TokenNormalized>;
contexts?: Record<string, string[]>;
logger: Logger;
}): {
code: string;
typeMap: Record<string, Token['$type']>;
};
declare function buildDTS({
resolver,
contexts,
properties,
typeMap
}: {
resolver: Resolver$1;
contexts?: Record<string, string[]>;
properties: Set<keyof TokenNormalized>;
typeMap: Record<string, Token['$type']>;
}): string;
//#endregion
//#region src/index.d.ts
declare function pluginJS({
filename,
properties: userProperties,
contexts
}?: JSPluginOptions): Plugin;
//#endregion
export { DEFAULT_PROPERTIES, FILE_HEADER, FORMAT_ID, JSPluginOptions, Resolver, TYPE_MAP, buildDTS, buildJS, pluginJS as default };
//# sourceMappingURL=index.d.ts.map