将导入的类附加到命名空间



我有一个传单插件,我正在写,我想附加到全局L对象。它将一个对象MyPlugin附加到全局的L上,并且在L.MyPlugin上可以使用各种属性和方法。其中一个属性实际上是一个类,称为SpecialLayer。我正在为插件编写我的类型声明文件,我不确定如何包含它。

import L from 'leaflet';
import { ConfigOptions } from './types';
import SpecialLayer from './SpecialLayer';
declare module 'leaflet' {
export namespace MyPlugin {
function someFunction(something: string): string;
function anotherFunction(userConfig: Partial<ConfigOptions>): ConfigOptions;
const _config: ConfigOptions;
const _cache: {};
}
}

我不知道如何在这些函数和const之间附加一个类,这就变成了typeof SpecialLayer。以下是我尝试过的一些不奏效的方法。export namespace MyPlugin块内:

class SpecialLayer = SpecialLayer; // error: '{' expected.
class SpecialLayer {} // doesn't bring type definitions from SpecialLayer into namespace?

我如何把SpecialLayer到L.MyPlugin命名空间,同时重用所有现有的typescript定义从外部定义的SpecialLayer类?

import { foo as _foo } from "./foo";
export namespace abc {
export let foo=_foo;
export type foo=_foo;
}

相关内容

  • 没有找到相关文章

最新更新