Tighten TypeScript definitions for shape configs

This commit is contained in:
Jason O'Neill 2021-06-01 00:48:02 -07:00
parent 501c73bf57
commit 87c4f1f332
6 changed files with 12 additions and 12 deletions

View File

@ -6,7 +6,7 @@ import { _registerNode } from '../Global';
import { Path } from './Path';
export interface ArrowConfig extends LineConfig {
points: number[];
points: [number, number, number, number, number, number];
tension?: number;
closed?: boolean;
pointerLength?: number;

View File

@ -176,10 +176,10 @@ Label.prototype.className = 'Label';
_registerNode(Label);
export interface TagConfig extends ShapeConfig {
pointerDirection?: string;
pointerDirection?: "up" | "right" | "left" | "down" | "none";
pointerWidth?: number;
pointerHeight?: number;
cornerRadius?: number | Array<number>;
cornerRadius?: number | [number] | [number, number] | [number, number, number] | [number, number, number, number];
}
/**

View File

@ -51,7 +51,7 @@ function expandPoints(p, tension) {
}
export interface LineConfig extends ShapeConfig {
points?: number[];
points?: [number, number, number, number, number, number];
tension?: number;
closed?: boolean;
bezier?: boolean;

View File

@ -5,7 +5,7 @@ import { _registerNode } from '../Global';
import { GetSet } from '../types';
import { getNumberOrArrayOfNumbersValidator } from '../Validators';
export interface RectConfig extends ShapeConfig {
cornerRadius?: number | number[];
cornerRadius?: number | [number] | [number, number] | [number, number, number] | [number, number, number, number];
}
/**

View File

@ -24,15 +24,15 @@ export interface TextConfig extends ShapeConfig {
text?: string;
fontFamily?: string;
fontSize?: number;
fontStyle?: string;
fontVariant?: string;
textDecoration?: string;
align?: string;
verticalAlign?: string;
fontStyle?: "normal" | "bold" | "italic" | "italic bold" | "bold italic";
fontVariant?: "normal" | "small-caps";
textDecoration?: "line-through" | "underline" | "line-through underline" | "underline line-through";
align?: "left" | "center" | "right";
verticalAlign?: "top" | "middle" | "bottom";
padding?: number;
lineHeight?: number;
letterSpacing?: number;
wrap?: string;
wrap?: "word" | "char" | "none";
ellipsis?: boolean;
}

View File

@ -13,7 +13,7 @@ export interface TextPathConfig extends ShapeConfig {
data?: string;
fontFamily?: string;
fontSize?: number;
fontStyle?: string;
fontStyle?: "normal" | "bold" | "italic" | "italic bold" | "bold italic";
letterSpacing?: number;
}