blog.bouzuya.net

2016-07-28 雑記 -- TypeScript の import 他

bouzuya/bbn-api を進めている。

bbn-api では TypeScript 2.0 beta を採用している。これは前からなのか分からないのだけど、import * as ns の挙動が変わっている気がする。

import * as ns from 'foo';

するときに必要な型定義は

declare module 'foo' {
  function ns(): any;
  export = ns;
}

くらいなものだと思っていたのだけど、

declare module 'foo' {
  function ns(): any;
  namespace ns { } // この行が異なる
  export = ns;
}

namespace として明示しないと動かなくなっているような。ES Modules 的な観点で import しているのは ns なので間違いないのだけど、型の上でも namespace にしないといけないのか……。よく分からない。

話題を変える。

『ザ・シューター/極大射程』を地上波の録画で観た。ネタバレする。

狙撃の得意な強い主人公が大統領暗殺の犯人扱いされるも最後は気に食わない奴を皆殺しする映画。銃で撃たれても自分で応急処置しちゃう系の主人公が、自分を襲う隊員を皆殺しにしたり、黒幕を皆殺しする場面が見どころかな。