メインコンテンツへスキップ

このセクションでは、DID Space コンポーネントライブラリ全体で使用されるコア TypeScript の型とインターフェースの詳細なリファレンスを提供します。これらのデータ構造を理解することは、コンポーネントのプロパティを正しく型付けし、アプリケーションの状態を管理するために不可欠です。

DIDSpaceStatus

DID Space のさまざまな接続状態を表す列挙型です。これは DIDSpaceConnection のようなコンポーネントで現在のステータスを視覚的に表示するために使用されます。

DIDSpaceStatus Enum

typescript
export enum DIDSpaceStatus {
  LOADING = 'loading',
  CONNECTED = 'connected',
  DISCONNECTED = 'disconnected',
  /** 利用不可、サブスクリプションステータスに関連(例:期限切れ、支払い遅延、使用量不足など) */
  UNAVAILABLE = 'unavailable',
}

メンバー説明
LOADING'loading'コンポーネントは現在、接続またはスペースのステータスの取得を試みています。
CONNECTED'connected'DID Space への正常でアクティブな接続が確立されています。
DISCONNECTED'disconnected'コンポーネントは DID Space に接続されていません。
UNAVAILABLE'unavailable'サブスクリプションの期限切れや使用量不足などの問題により、DID Space にアクセスできません。

DIDSpaceGateway

このインターフェースは、DID Space ゲートウェイに関するすべての必要な情報を含むオブジェクトの構造を定義します。これは DIDSpaceConnection のようなコンポーネントがスペースの詳細をレンダリングするためのキープロパティです。

DIDSpaceGateway Interface

typescript
export interface DIDSpaceGateway {
  did: string;
  name: string;
  url: string;
  endpoint: string;
  ownerDid: string;
  protected?: boolean;
  loading?: boolean;
}
  • did string (required) — スペースの一意の分散型識別子(DID)。
  • name string (required) — スペースの表示名。
  • url string (required) — スペースのウェブインターフェースのベースURL(例:https://spaces.arcblock.io/app)。
  • endpoint string (required) — スペースと対話するためのAPIエンドポイントURL。
  • ownerDid string (required) — スペースの所有者のDID。
  • protected boolean — スペースへのアクセスに認証が必要かどうかを示します。
  • loading boolean — スペースのデータが現在取得中であることを示すフラグ。

AuthorizeConnect

このインターフェースは、ユーザーが接続を開始したときに表示される認証モーダルの設定オプションを定義します。

AuthorizeConnect Interface

typescript
export interface AuthorizeConnect {
  open: boolean;
  action: string;
  checkFn: Function;
  messages: {
    title: string;
    scan: string;
    confirm: string;
    success: React.ReactNode;
  };
  prefix?: string;
  baseUrl?: string;
  webWalletUrl?: string;
  maxIdleTime?: number;
  checkTimeout?: number;
  extraParams?: Record<string, any>;
}
  • open boolean (required) — 接続モーダルの表示/非表示を制御します。
  • action string (required) — 認証リクエストのアクションタイプ(例:「connect」)。
  • checkFn Function (required) — 認証ステータスをポーリングまたは検証するために使用される関数。
  • messages object (required) — 認証モーダルに表示するカスタムテキストとコンテンツ。
    • title string (required) — モーダルのタイトル。
    • scan string (required) — スキャンステップの手順。
    • confirm string (required) — 確認ステップの手順。
    • success React.ReactNode (required) — 接続成功時に表示するコンテンツ。
  • prefix string — DID Connect エンドポイントのURLプレフィックス。
  • baseUrl string — DID Connect サービスのベースURL。
  • webWalletUrl string — 接続に使用するウェブウォレットのURL。
  • maxIdleTime number — セッションがタイムアウトするまでの最大アイドル時間(ミリ秒)。
  • checkTimeout number — ステータスチェック関数のタイムアウト(ミリ秒)。
  • extraParams Record<string, any> — 認証リクエストに含める追加パラメータ。

認証オプション

これらのインターフェースは、DID Space に接続する際の認証プロセスをカスタマイズするために利用可能なオプションを定義します。

BaseAuthOptions

あらゆる認証リクエストに共通のオプションセットを提供し、コールバックとセッションパラメータの設定に使用されます。

BaseAuthOptions Interface

typescript
export interface BaseAuthOptions {
  action?: string;
  checkFn?: Function;
  extraParams?: Record<string, string>;
  checkTimeout?: number;
  onSuccess?: (response: Record<string, string>, decrypt: Function) => Promise<void>;
  onClose?: () => void;
}
  • action string — 認証リクエストの特定のアクション(例:「login」)。
  • checkFn Function — 認証ステータスをポーリングまたは検証するためのカスタム関数。
  • extraParams Record<string, string> — 認証リクエストに含める追加パラメータ。
  • checkTimeout number — ステータスチェック関数のタイムアウト(ミリ秒)。
  • onSuccess Function — 認証成功時に実行されるコールバック関数。
  • onClose Function — 認証ダイアログが閉じられたときに実行されるコールバック関数。

GatewayAuthOptions

BaseAuthOptions を拡張し、DID Space ゲートウェイに特化して接続するために必要な追加プロパティを含みます。

GatewayAuthOptions Interface

typescript
export interface GatewayAuthOptions extends BaseAuthOptions {
  spaceDid?: string;
  spaceGatewayUrl?: string;
}
  • spaceDid string — ターゲット DID Space の DID。
  • spaceGatewayUrl string — DID Space のゲートウェイのURL。

このインターフェースは BaseAuthOptions のすべてのプロパティを継承します。

型エイリアス

利便性と後方互換性のために、以下の型エイリアスが提供されています。新しいコードではプライマリ型を使用することをお勧めします。

Compatibility Aliases

typescript
// 互換性のため
export type SpaceGateway = DIDSpaceGateway;
export const SpaceStatus = DIDSpaceStatus;
  • SpaceGatewayDIDSpaceGateway のエイリアスです。
  • SpaceStatusDIDSpaceStatus 列挙型のエイリアスです。

次のステップ

コアデータ構造に慣れたところで、それらが主要なコンポーネントでプロパティとしてどのように使用されるかを探ってみましょう。