TypeScriptリファレンス Ver.1.0対応のサンプルコードで--noImplicitAnyをつけて(略

備忘。TypeScriptリファレンス Ver.1.0対応のコールシグネチャのリスト6.56で--noImplicitAnyをつけてる場合。

function db(operation: string, key: string, value?: any): any {
  if (!db.data) {
    db.data = {};
  }
  var data = db.data;
  var oldValue: any; //追加
  if (operation === "update") {
    oldValue = data[key];
    data[key] = value;
    return oldValue;
  } else if (operation === "read") {
    return data[key];
  }
}
module db {
  export var data: any;

  export function update(key: string, value: any) { //追加
    return db("update", key, value);
  }
  
  export function read(key: string) { //追加
    return db("read",key);
  }
}

db.update("str", "string");
console.log(db.read("str"));

db("update", "str", "文字列");
console.log(db("read", "str"));