2017-04-07 10 views
0

これはバグかどうか分かりませんので、バグレポートを送信するのではなく、ここで質問しています。 server.lookupについてはhapijs(16.1.1)の最新版のドキュメントで hapijs - route config 'id'属性 - 文字列値を受け付けません

https://hapijs.com/api#serverlookupid

は、それは明らかに 'ID' プロパティが文字列であり得ることを示しています。文字列は表情豊かに実際の実装コードによって禁止されているが

const route = server.lookup('root'); 

https://github.com/hapijs/hapi/blob/master/lib/connection.js#L340

Hoek.assert(id && typeof id === 'string', 'Invalid route id:', id); 

私はここで何かが足りないのですか?これはバグですか、ドキュメントのエラーですか、単に私は何かを誤解していますか?

強制するのは奇妙な制限のようです。文字列は、ルートIDの方がはるかに論理的です。

もう1つの問題は、index.d.tsでは、文字列パラメータを強制的に使用することです。

この機能は完全に壊れているようです。ルートを作成するときに数値IDを使用する必要があり、それを取得しようとするときに文字列を使用する必要がある場合、どのように使用するのですか?

答えて

1

あなたはアサートを逆方向に読んでいます。エラーメッセージは、アサーションが失敗した場合にのみ表示されます。 idが指定されている場合は、string型でなければなりません。

+0

ありがとうございます。問題は古い型定義であることが判明しました。 @ types/hapiはバージョン16.0.0であると主張していましたが、以前のバージョンのhapijsに対してのみ有効でした。 – user1751825

関連する問題