🛠️ ユーティリティ
NodeBlocks SDKは、堅牢で保守可能なバックエンドサービスを構築するのに役立つ包括的なユーティリティ関数のセットを提供します。これらのユーティリティはカテゴリ別に整理されており、SDK全体で使用される関数型プログラミングパターンとシームレスに連携するように設計されています。
🔐 認証ユーティリティ
安全なAPIエンドポイントのための包括的な認証とトークン管理ユーティリティ:
getBearerTokenInfo
: AuthorizationヘッダーからのデフォルトBearerトークン認証getCookieTokenInfo
: Webアプリケーション用のCookieベーストークン認証generateUserAccessToken
: セキュリティ検証付きユーザーアクセストークンの作成generateAppAccessToken
: サービス間通信用のアプリアクセストークンの作成generateRefreshToken
: セッション管理用のリフレッシュトークンの作成generateOnetimeToken
: 一時アクセスのためのワンタイムトークンの作成decryptAndVerifyJWT
: 暗号化されたJWTの復号化と検証tokenPassesSecurityCheck
: トークンに対するフィンガープリント/IP/ユーザーエージェントの検証defaultRefreshTokenBodyAuth
: リクエストボディからのリフレッシュトークンの検証defaultRefreshTokenCookieAuth
: Cookieからのリフレッシュトークンの検証
🆔 エンティティユーティリティ
自動フィールド生成によるデータベースエンティティの作成と管理のための必須ユーティリティ:
createBaseEntity
: 自動生成されたid
、createdAt
、updatedAt
フィールドを持つエンティティを作成updateBaseEntity
: 自動updatedAt
タイムスタンプでエンティティを更新- UUID生成: エンティティIDのための自動UUID v4生成
🔧 合成ユーティリティ
ハンドラーの合成、非同期操作の処理、複雑なビジネスロジックパイプラインの構築のための必須ユーティリティ:
compose
: 複数の関数を単一のパイプラインに組み合わせるlift
: 通常の関数をResult型で動作するように変換flatMap
: Resultを返す同期操作をチェーンflatMapAsync
: Resultを返す非同期操作をチェーンapplyPayloadArgs
: ペイロードから引数を抽出し、純粋関数に適用orThrow
: エラータイプをHTTPコードにマッピングし、成功データを抽出match
: ネストされたパスチェックのための述語ヘルパーifElse
: 分岐のための関数型条件hasValue
: 非空述語(null/undefined/空ではない)
🎭 ハンドラーラッパー
任意のハンドラーに適用できる横断的関心事とミドルウェアのようなユーティリティ:
withLogging
: 任意の関数に包括的なロギングを追加withPagination
: データベース操作に自動ページネーションを追加
🔧 共通 Utilities
一般的な操作のための汎用ユーティリティ関数:
generateUUID
: UUID v4文字列を生成isObject
: 値がオブジェクト型かどうかをチェック- Type Guards: 型チェックと検証のためのヘルパー関数
📝 ロギングユーティリティ
構造化ロギングのためのPinoによる事前設定ロギング:
nodeblocksLogger
: プリティフォーマット付きの事前設定PinoロガーnodeblocksHTTPLogger
: HTTPリクエスト/レスポンスロギングミドルウェア- Logger Type: ロガー統合のためのTypeScript型
🔄 近日公開
さらに多くのユーティリティカテゴリがここに追加されます:
- Validation Utilities: 一般的な検証パターンのヘルパー関数
- HTTP Utilities: リクエスト/レスポンスヘルパーおよびミドルウェアユーティリティ
- Database Utilities: 一般的なデータベース操作ヘルパー
➡️ 次のステップ
- 基盤となる原則についてはConceptsをチェック
- 詳細な認証パターンについてはAuthenticationを探索