コンテンツにスキップ
UniKVS
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

@unikvs/core

全パッケージで共有される型とエラーの基盤。役割、インストール、公開値の一覧と各ドキュメントへの案内です。

概要

@unikvs/core 共有 はすべてのパッケージとプラグインで共有される基盤です。ストレージやミドルウェアなどのプラグインが実装すべきインターフェース (IStorage・IMiddleware) と、操作ごとに受け渡されるコンテキスト、そして共通のエラー基盤を提供します。

最大の特徴は実行時の値としてエラークラスのみを提供し、それ以外はすべて型のみである点です。バンドルに余計な実行コードを持ち込まず、プラグイン間の契約を型で固定します。

インストール

npm install @unikvs/core
pnpm add @unikvs/core
yarn add @unikvs/core
bun add @unikvs/core
nub add @unikvs/core
aube add @unikvs/core

言語切り替えのために valibot を使います。メッセージの多言語化を利用する場合のみ、使う側が別途インストールします。詳しくはエラー › 言語切り替えを参照してください。

ESM 専用 (sideEffects: false) です。依存は i18n-error-base と maypromise のみで、いずれも軽量です。

公開値と型

エントリーポイント (@unikvs/core) から公開される実行時の値は 9 個だけです。

実行時の値 種類 説明 詳しい説明
ErrorBase クラス すべての共通エラーの基底 エラー
InvalidUsageErrorBase クラス 使い方の誤りを示すエラーの基底 エラー
KeyNotFoundError クラス キーが見つからない エラー
UnsupportedRuntimeError クラス 対応ランタイム外で使用した エラー
InvalidPartSizeError クラス 不正なパートサイズ エラー
StorageAbortedError クラス 開始前に中断シグナルが発火済み エラー
RepairNotAllowedError クラス 書き戻しが拒否された エラー
ReadonlyVariableError クラス 読み取り専用変数への書き込み エラー
setErrorMessage 関数 言語ごとのメッセージを登録する エラー

それ以外はすべて型のみです。ソース上はファイルごとに分かれています。

ソース 内容 実行時の値 詳しい説明
errors.ts エラークラスと setErrorMessage あり エラー
pipeline-context.types.ts 操作ごとのコンテキスト なし パイプラインコンテキスト
storage.types.ts 保存先プラグインのインターフェース なし ストレージ
middleware.types.ts 中間処理プラグインのインターフェース なし ミドルウェア
stream.types.ts Web 標準ストリームのエイリアス なし ストリーム
import {
  type ErrorMeta,
  type IStorage,
  type IMiddleware,
  type IPipelineContext,
  type IGetContext,
  type ISetContext,
  type IReadableStream,
  KeyNotFoundError,
} from "@unikvs/core";

ドキュメント案内

目的ごとに読み進めます。

プラグインを自作する場合は、ストレージやミドルウェアの実装例から入ると全体像をつかめます。

このページは役に立ちましたか?