メインコンテンツへ移動
AIチュートリアル

jevを使ってjev-leftpadでJavaScriptの値を左詰めする

このチュートリアルでは、jev-leftpadのインストール、TypeSafe APIキーの設定、非同期の左詰めAPIの呼び出し、0~10個のスペース制限の理解、モックテストスイートの実行方法を説明します。

jevを使ってjev-leftpadでJavaScriptの値を左詰めする

jev-leftpadの機能

jev-leftpadは、追加するスペースの数をJevに選択させることで、値を左詰めします。意図的に一般的ではない設計で、JavaScript組み込みのpadStart()ならネットワーク要求なしで解決できる処理ですが、このパッケージではTypeSafeのネイティブ@typesafe-ai/sdkを通じてjev-latestを使用します。

呼び出しごとにTypeSafe APIリクエストを1回行います。Jevはspace_0からspace_10までの名前が付いた選択肢から選び、JavaScriptが選択結果をスペースに変換して、元の値の前に配置します。

前提条件

Node.js 20以降とTypeSafe APIキーが必要です。パッケージを使用する前に、TYPESAFE_API_KEY環境変数を設定してください。

export TYPESAFE_API_KEY="your-api-key"

Windows PowerShellでは、次のようにして現在のセッション用の変数を設定できます。

$env:TYPESAFE_API_KEY="your-api-key"

インストール

Node.jsプロジェクトを作成または開き、npmでパッケージをインストールします。

npm install jev-leftpad

ドキュメントの例ではECMAScriptモジュール構文を使用しているため、プロジェクトがimport文に対応するよう設定してください。

基本的な使い方

デフォルトエクスポートをインポートし、値と目標長を指定してleftPadを呼び出します。パッケージはAPIリクエストを行うため、この関数は非同期であり、awaitが必要です。

import leftPad from 'jev-leftpad';

const result = await leftPad('jev', 8);

console.log(JSON.stringify(result));
// "     jev"(おそらく)

目標長は、返される値全体の希望する長さです。この例ではjevは3文字で、目標長は8なので、Jevはspace_5を選ぶはずです。JavaScriptは5個のスペースを作成し、その後ろにjevを配置します。

APIの理解

leftPad(value, targetLength)

  • value:パディングの後ろに配置する値。
  • targetLength:要求する目標長を表す、0以上の安全な整数。

このパッケージでは、0~10個のスペースを追加できます。11個以上のスペースが必要な場合、Jevには正しい選択肢がありません。READMEでは、この制限をプロジェクト設計の意図的な一部として説明しています。

運用上の考慮事項

呼び出しのたびにTypeSafe APIリクエストを1回行い、リトライは無効になっています。リクエストが失敗したり、Jevが誤った選択肢を選んだりする可能性があります。また、JavaScriptネイティブのpadStart()よりもコストが高くなります。

本番環境や重要な処理ではjev-leftpadを使用しないでください。

通常のアプリケーションコードでは、代わりにString.prototype.padStart()を使用してください。jev-leftpadは、単純な処理をAIで実装する実験またはデモンストレーションとして扱うのが適しています。

テストと開発

プロジェクトを開発したりテストを実行したりするには、開発依存関係をインストールしてテストコマンドを実行します。

npm install
npm test

テストではJevをモックするため、TypeSafe APIキーは必要なく、TypeSafeのクレジットも消費しません。そのため、実際のAPIリクエストを行わずにローカル開発でテストスイートを実行できます。

まとめ

jev-leftpadは、JevとTypeSafeを利用した非同期の左詰め関数を提供します。npmでインストールし、TYPESAFE_API_KEYを設定してleftPad(value, targetLength)を呼び出してください。また、0~10個という厳格なスペース範囲と、リトライがないことを覚えておきましょう。信頼性が求められる本番環境のパディングには、組み込みのpadStart()を使用してください。