TypeScriptでjoiと@types/joiを使用しています。 Joiにはextendというメソッドがあり、元のjoiライブラリを変更せずに新しいインスタンスを返すことでjoiを拡張することができます。私はそれを使って拡張インスタンスを作成しました。この拡張されたインスタンスの定義を作成するTypeScriptを使用してnpmからモジュールを拡張するには?
は、私は以下のコードを用いて説明hereようModule Augmentation
を試みた:
declare module 'joi' {
// Add a new Schema type which has noChildren() method.
interface CustomSchema extends ObjectSchema {
noChildren(): this;
}
}
をしかし、予想通り、これはそれを増強することにより、元の定義を変更します。私が望むのは、元のものから変更せずにすべてを継承する拡張インスタンスの定義を作成することです。
もJoi
を拡張し、以下のように作成されます。
import * as Joi from 'joi';
const JoiExtended = Joi.extend({...some implementation...})
// How to export?
// export * from 'Joi' ---> In this case, original non-extended Joi is exported
// export default JoiExtended ---> Imported `Joi` reports: Cannot find namespace 'Joi'
- どのように拡張された定義を作成することができますか?
- 拡張子をエクスポートする方法
Joi
?
P.私はTypeScriptを勉強していますが、この質問の答えを探しましたが、多分、私はタイプコピーの用語と間違った用語を検索するのに慣れていないので、答えを見つけることができませんでした。