BETA

deno v0.31.0の変更点

投稿日:2020-01-25
最終更新:2020-01-25

概要

https://github.com/denoland/deno/releases/tag/v0.31.0

denoのv0.31.0がリリースされたため、変更点をまとめます。

新機能

denoでシグナルハンドリングができるようになりました

Promise API

Deno.signal(Deno.Signal.SIGINT)  
  .then(handleSIGINT);  

Stream API

for await (const _ of Deno.signal(Deno.Signal.SIGINT)) {  
  handleSIGINT();  
}  

disposeメソッドを呼ぶと、ストリームを破棄できます。

const stream = Deno.signal(Deno.Signal.SIGINT);  

setTimeout(() => stream.dispose(), 2000);  

for await (const _ of stream) {  
  handleSIGINT();  
}  

参考

https://github.com/denoland/deno/pull/3757

主要な変更点

TCP/TLS接続に関するAPIのリネーム・型定義の変更

以下の関数がリネームされました。

  • Deno.dial => Deno.connect
  • Deno.dialTLS => Deno.connectTLS

Deno.Conninterfaceの変更点

Deno.ConnDeno.connect/connectTLSから返却されるデータ型です。

localAddr及びremoteAddrプロパティが文字列からDeno.Addr型へ変更されています。

interface Addr {  
  hostname: string;  
  port: number;  
  transport: "tcp";  
}  

Deno.Listenerinterfaceの変更点

Deno.ListenerDeno.listen/listenTLSから返却されるデータ型です。

addrプロパティが関数からAddr型のプロパティへ変更されています。

参考

https://github.com/denoland/deno/pull/3710
https://github.com/denoland/deno/pull/3709

Deno.openにオブジェクトを渡せるようになりました

v0.30.0以前では下記のように文字列で指定していました。

const file = await Deno.open('hoge.txt', 'w');  

v0.31.0以降は、オブジェクトを渡すことで挙動を制御できます。

const file = await Deno.open('hoge.txt', {  
  write: true,  
  truncate: true,  
  create: true  
});  

https://github.com/denoland/deno/pull/3119

その他の変更点

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@uki00aの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう