@yanqirenshi/types
v0.1.2
Published
Shared base types (Point / Size / Position / Name / Color / Font / Stroke / Border / Background / Padding / Image / Label) for the @yanqirenshi/d3.* packages
Maintainers
Readme
@yanqirenshi/types
@yanqirenshi/d3.* 全体で共有する基本型(TypeScript 型定義のみ)の
パッケージです。実行時コードは持ちません(index.js は空)。
提供する型
| 型 | 形 | 用途 |
|---|---|---|
| Point | { x, y } | 2D 座標 |
| Size | { w, h } | サイズ |
| Position | { x, y, z? } | 位置(z はレイヤ順など) |
| Name | { logical?, physical?, description? } | 名称ペア(論理名/物理名) |
| Color | string | 色(CSS の色指定文字列) |
| Font | { size?, color?, weight? } | フォント |
| Stroke | { color?, width?, type? } | 線(色・太さ・線種) |
| Border | Stroke + { r? } | 枠線(角丸半径 r 付き。ノードの外枠など) |
| Background | { color?, opacity? } | 背景 |
| Padding | number | 内側の余白(全辺共通) |
| Image | { url, size? } | 画像(URL + 表示サイズ。size は Size。アイコン・画像ノード用) |
| Label | { text, font?, link? } | ラベル(文字列 + フォント + リンク。font は Font) |
使い方
import type { Point, Size, Name } from '@yanqirenshi/types';- 共有側は最大公約数として全フィールド任意にしてあります。
必須にしたいパッケージは
Required<Name>のように絞ってエイリアスします (例: d3.classes のName)。 - 各パッケージの公開 API 名(
TerName等)はエイリアスで維持します。
開発
npm test -w @yanqirenshi/types # tsc --noEmit(正しい利用が通り、誤用がエラーになること)