UNPKG

@terrazzo/parser

Version:

Parser/validator for the Design Tokens Community Group (DTCG) standard.

63 lines 3.92 kB
import { type AnyNode, type MemberNode, type ValueNode } from '@humanwhocodes/momoa'; import { type Token, type TokenNormalized } from '@terrazzo/token-tools'; import type Logger from '../logger.js'; import type { ConfigInit } from '../types.js'; export interface ValidateOptions { filename?: URL; src: string; logger: Logger; } export declare const VALID_COLORSPACES: Set<string>; export declare const FONT_WEIGHT_VALUES: Set<string>; export declare const STROKE_STYLE_VALUES: Set<string>; export declare const STROKE_STYLE_LINE_CAP_VALUES: Set<string>; /** Verify an Alias $value is formatted correctly */ export declare function validateAliasSyntax($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Border token is valid */ export declare function validateBorder($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Color token is valid */ export declare function validateColor($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Cubic Bézier token is valid */ export declare function validateCubicBezier($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Dimension token is valid */ export declare function validateDimension($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Duration token is valid */ export declare function validateDuration($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Font Family token is valid */ export declare function validateFontFamily($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Font Weight token is valid */ export declare function validateFontWeight($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Gradient token is valid */ export declare function validateGradient($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Number token is valid */ export declare function validateNumber($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Boolean token is valid */ export declare function validateBoolean($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Shadow token’s value is valid */ export declare function validateShadowLayer($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Stroke Style token is valid. */ export declare function validateStrokeStyle($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** Verify a Transition token is valid */ export declare function validateTransition($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void; /** * Validate a MemberNode (the entire token object, plus its key in the parent * object) to see if it’s a valid DTCG token or not. Keeping the parent key * really helps in debug messages. */ export declare function validateTokenMemberNode(node: MemberNode, { filename, src, logger }: ValidateOptions): void; export interface ValidateTokenNodeOptions { subpath: string[]; src: string; filename: URL; config: ConfigInit; logger: Logger; parent?: AnyNode; $typeInheritance?: Record<string, Token['$type']>; } /** * Validate does a little more than validate; it also converts to TokenNormalized * and sets up the basic data structure. But aliases are unresolved, and we need * a 2nd normalization pass afterward. */ export default function validateTokenNode(node: MemberNode, { config, filename, logger, parent, src, subpath, $typeInheritance }: ValidateTokenNodeOptions): TokenNormalized | undefined; //# sourceMappingURL=validate.d.ts.map