Расширение объявления переменных машинописного текста
Я хочу использовать плагин nconf-yaml с моим проектом Typescript, но я не знаю, как добавить его в свои наборы. В @types/nconf formats
переменная объявлена как показано ниже:
export declare var formats: {
json: IFormat;
ini: IFormat;
};
Как использовать объявление слияния, чтобы добавить yaml, чтобы он стал:
export declare var formats: {
json: IFormat;
ini: IFormat;
yaml: IFormat
};
1 ответ
Решение
Я не думаю, что вы можете сделать это. Вы не можете изменить тип этой переменной, потому что она встроена! Если бы интерфейс был объявлен отдельно, это было бы возможно. Таким образом, вы можете подать запрос на получение репо, если хотите:D
Если nconf
Типы были определены следующим образом:
export interface IFormats {
json: IFormat;
ini: IFormat;
}
export declare var formats: IFormats;
Вы бы создали файл index.d.ts
содержащий:
import * as nconf from "nconf";
declare module "nconf" {
export interface IFormats {
json: nconf.IFormat;
ini: nconf.IFormat;
yaml: nconf.IFormat;
}
}
Это решило бы вашу проблему.
Тем временем вы все еще можете привести свою переменную перед тем, как использовать ее для игнорирования типа:
(nconf.formats as any).yaml