ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js 用に新しい UUID パッケージを作成した理由

Node.js 用に新しい UUID パッケージを作成した理由

Susan Sarandon
リリース: 2024-11-15 16:53:03
オリジナル
562 人が閲覧しました

Why I created a new UUID package for Node.js

私は長い間 Node.js を使ってきましたが、プロジェクト内で UUID を生成するために常に uuid パッケージを使用してきました。これは素晴らしいパッケージで、うまく機能しますが、いくつかの点で改善の余地があると常に感じていました。

問題点

シンプルな API

uuid パッケージに関して私が常に気になっていたことの 1 つは、デフォルト形式での単純な UUID 生成に制限されていることです。さまざまな形式に変換する方法を知る必要があるため、初心者にとっては少し混乱する可能性があります。

長い UUID 文字列

UUID 文字列は標準形式ですが、base64 など、よりコンパクトな表現が必要な URL やその他のコンテキストにはあまり適していません。これにより、UUID 文字列を解析して別の形式に変換する必要があり、少し面倒になる可能性があります。

ストレージ効率

また、UUID の文字列形式は、ストレージ領域の点であまり効率的ではありません。 16 バイトの値を表すのに 36 文字を使用しますが、これはストレージやネットワーク上での送信、またデータベース ストレージにとってもあまり効率的ではありません。

解決

これらの問題を解決するために、よりユーザーフレンドリーな API とさまざまな形式の UUID の自動解析を提供する @uuid-ts/uuid という新しいパッケージを作成することにしました。また、UUID を別の形式に変換し、UUID を検証するユーティリティ関数も含まれています。

これは、Node.js 環境とブラウザー環境の両方で使用できる、UUID バージョン 7 をサポートする単純な TypeScript クラスです。これは同型であり、追加の構成なしで最新の JavaScript および TypeScript で使用できます。

特徴

  • 16 進数、base64、またはバッファーからの UUID の自動解析
  • UUID の自動生成 (デフォルトは v7)
  • UUID を 16 進数、base64、またはバッファーに簡単に変換
  • 既存の文字列またはバッファを検証するユーティリティ メソッド

使用法

既存の UUID を文字列として解析します:

const uuidString = '01932c07-209c-7401-9658-4e7a759e7bf7';

const uuid = new Uuid(uuidString);

// methods
uuid.toHex(); // '01932c07-209c-7401-9658-4e7a759e7bf7';
uuid.toBase64(); // 'AZMsByCcdAGWWAAATnp1ng';
uuid.toBuffer(); // [Buffer]
uuid.toInstance<Binary>(Binary); // [Binary]
ログイン後にコピー

新しい UUID を生成しています:

const uuid = new Uuid();

uuid.toString(); // '01932c0a-235b-7da6-8153-aee356735b58'
ログイン後にコピー

Node.js バッファからの UUID の解析:

const uuid = new Uuid(buffer);

uuid.toString(); // '01932c0b-e834-7b5a-9bae-2964245fc0b6'
ログイン後にコピー

次のユーティリティ関数も付属しています:

Uuid.bufferToUuidHex(バッファ: バッファ): 文字列
Uuid.uuidBufferFromHex(uuidHexString: string): バッファ
Uuid.isUuidHexString(uuid: string | Buffer): boolean
Uuid.isUuidBase64String(uuid: 文字列 | バッファ): バッファ | null
Uuid.fromHex(hexString: string): Uuid
Uuid.fromBase64(base64String: string): Uuid
Uuid.fromBuffer(バッファ: バッファ): Uuid

結論

このパッケージが皆さんにとって役に立ち、より効率的でユーザーフレンドリーな方法で UUID を扱うのに役立つことを願っています。フィードバックや提案がありましたら、お知らせください。

パッケージは npm の https://www.npmjs.com/package/@uuid-ts/uuid で見つけることができます。

以上がNode.js 用に新しい UUID パッケージを作成した理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート