TypeScript声明文件:命名空间中的函数

时间:2016-09-19 08:28:02

标签: typescript openlayers-3

我在我的一个项目中使用OpenLayers 3并从DefinitelyTyped(Definition File)检索TypeScript定义文件,但是缺少一些函数,我必须在声明文件中手动添加。其中之一是ol.inherits - 函数(OpenLayers 3 API Reference)。

我很难定义这个函数,因为 ol 关键字用作命名空间标识符,我无法将函数直接放在命名空间中。

我也尝试添加类似的东西,但显然它会说重复的标识符

interface olStatic {
   inherits(childCtor: () => any, parentCtor: () => any);
}
declare var ol: olStatic;

1 个答案:

答案 0 :(得分:0)

我为ol3制作了自己的定义文件。我不确定这是否有帮助,但在我自己的文件中,我确实如此定义ol.inherits:

int switch1 = 2;
int motorled1 = 3;
int switch2 = 4;
int motorled2 = 5;
int d1=2; 
int d2=3; 
int reset1 = 0;
int reset2= 0;


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(2, INPUT);
  pinMode(4, INPUT);
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  d1=digitalRead(2);
  d2=digitalRead(4);

  if (d1==1)
  {
    digitalWrite(3, HIGH);
    digitalWrite(5, LOW);

    if (Serial.available() > 0)
    {
      Serial.write(1);
    }
    if (Serial.available() > 0)
    {
      reset1 = (Serial.read());

      digitalWrite(motorled1, LOW);
      digitalWrite(motorled2, LOW);
    }
  }
  else if (d2==1)
  {
    digitalWrite(3, LOW);
    digitalWrite(5, HIGH);

    if (Serial.available() > 0)
    { 
      Serial.write(2);
    }
    if (Serial.available() > 0)
    {
      reset2 = (Serial.read());

      digitalWrite(motorled1, LOW);
      digitalWrite(motorled2, LOW);
    }
  }
}