🛠️ ユーティリティ
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を探索