メインコンテンツまでスキップ
バージョン: 0.9.0 (最新)

🔧 ユーティリティ

Nodeblocks SDKは、堅牢で保守可能なバックエンドサービスを構築するのに役立つ包括的なユーティリティ関数セットを提供します。これらのユーティリティはカテゴリごとに整理され、SDK全体で使用される関数型プログラミングパターンとシームレスに連携するように設計されています。


🔐 認証ユーティリティ

セキュアなAPIエンドポイントのための包括的な認証とトークン管理ユーティリティ:

  • getBearerTokenInfo: Authorizationヘッダーからのデフォルトのベアラートークン認証
  • getCookieTokenInfo: Webアプリケーション用のCookieベースのトークン認証
  • generateUserAccessToken: セキュリティバリデーション付きのユーザーアクセストークンを作成
  • generateAppAccessToken: サービス間通信用のアプリケーションアクセストークンを作成
  • generateRefreshToken: セッション管理用のリフレッシュトークンを作成
  • generateOnetimeToken: 一時的なアクセス用のワンタイムトークンを作成
  • decryptAndVerifyJWT: 暗号化されたJWTを復号化して検証
  • tokenPassesSecurityCheck: トークンに対してフィンガープリント/IP/ユーザーエージェントを検証
  • defaultRefreshTokenBodyAuth: リクエストボディからリフレッシュトークンを検証
  • defaultRefreshTokenCookieAuth: Cookieからリフレッシュトークンを検証

認証ユーティリティを学習 →


🆔 エンティティユーティリティ

自動フィールド生成を使用してデータベースエンティティを作成および管理するための必須ユーティリティ:

  • createBaseEntity: 自動生成されたidcreatedAtupdatedAtフィールドを持つエンティティを作成
  • updateBaseEntity: 自動updatedAtタイムスタンプでエンティティを更新
  • UUID生成: エンティティID用の自動UUID v4生成

エンティティユーティリティを学習 →


🔧 合成ユーティリティ

ハンドラーを合成し、非同期操作を処理し、複雑なビジネスロジックパイプラインを構築するための必須ユーティリティ:

  • compose: 複数の関数を単一のパイプラインに結合
  • lift: 通常の関数をResult型で動作するように変換
  • flatMap: Resultを返す同期操作をチェーン
  • flatMapAsync: Resultを返す非同期操作をチェーン
  • applyPayloadArgs: ペイロードから引数を抽出し、純粋関数に適用
  • orThrow: エラータイプをHTTPコードにマッピングし、成功データを抽出
  • match: ネストされたパスチェック用の述語ヘルパー
  • ifElse: 分岐用の関数型条件
  • hasValue: 非空述語(null/undefined/空でない)

合成ユーティリティを学習 →


🎭 ハンドラーラッパー

任意のハンドラーに適用できる横断的関心事とミドルウェアのようなユーティリティ:

  • withLogging: 任意の関数に包括的なロギングを追加
  • withPagination: データベース操作に自動ページネーションを追加

ハンドラーラッパーを学習 →


🔧 共通ユーティリティ

一般的な操作のための汎用ユーティリティ関数:

  • generateUUID: UUID v4文字列を生成
  • isObject: 値がオブジェクト型かどうかをチェック
  • 型ガード: 型チェックとバリデーション用のヘルパー関数

共通ユーティリティを学習 →


📝 ロギングユーティリティ

構造化ロギング用のPinoによる事前設定されたロギングセットアップ:

  • nodeblocksLogger: きれいなフォーマット付きの事前設定されたPinoロガー
  • nodeblocksHTTPLogger: HTTPリクエスト/レスポンスロギングミドルウェア
  • Logger Type: ロガー統合用のTypeScript型

ロギングユーティリティを学習 →


🔄 近日公開

さらに多くのユーティリティカテゴリがここに追加されます:

  • バリデーションユーティリティ: 一般的なバリデーションパターン用のヘルパー関数
  • HTTPユーティリティ: リクエスト/レスポンスヘルパーとミドルウェアユーティリティ
  • データベースユーティリティ: 一般的なデータベース操作ヘルパー

➡️ 次のステップ

  • 基礎となる原則についてはConceptsを確認してください
  • 詳細な認証パターンについてはAuthenticationを探索してください