尝试为 proj4 创建打字稿定义,如何声明匿名静态?
Trying to create a typescript definition for proj4, how to declare anonymous static?
下面的 transormer 方法实际上应该是匿名的,但打字稿中不允许这样做:
class Proj {
static (a, b): {
forward: (p: Point) => Point;
inverse: (p: Point) => Point;
};
static defs(name: string): any;
static defs(name: string, def: string): void;
static transform(from: any, to: any, pt: Point);
static parse(sr: string): any;
}
那么如何定义才能使以下内容成为可能?
import proj = require("proj");
proj("EPSG:3857", "EPSG:4326").forward([0,0]);
您正在寻找类似下面的内容吗?
当你声明一个函数和一个具有相同名称的模块时(函数需要在模块之前声明,否则你会得到一个错误)它们合并。
下面是你的代码,做了一些小改动(我删除了一些功能)。
interface Item {
forward: (p: Point) => Point;
inverse: (p: Point) => Point;
}
function Proj(a, b): Item {
return null;
}
module Proj {
export function defs(name: string): any {
return null
}
}
Proj.defs("");
Proj(1 ,3).forward(null);
下面的 transormer 方法实际上应该是匿名的,但打字稿中不允许这样做:
class Proj {
static (a, b): {
forward: (p: Point) => Point;
inverse: (p: Point) => Point;
};
static defs(name: string): any;
static defs(name: string, def: string): void;
static transform(from: any, to: any, pt: Point);
static parse(sr: string): any;
}
那么如何定义才能使以下内容成为可能?
import proj = require("proj");
proj("EPSG:3857", "EPSG:4326").forward([0,0]);
您正在寻找类似下面的内容吗? 当你声明一个函数和一个具有相同名称的模块时(函数需要在模块之前声明,否则你会得到一个错误)它们合并。
下面是你的代码,做了一些小改动(我删除了一些功能)。
interface Item {
forward: (p: Point) => Point;
inverse: (p: Point) => Point;
}
function Proj(a, b): Item {
return null;
}
module Proj {
export function defs(name: string): any {
return null
}
}
Proj.defs("");
Proj(1 ,3).forward(null);