JavaScript

ディ◯ニーランドの待ち時間をJSで取得する「themeparks」

みなさん、ディ◯ニーランド好きですよね、僕も好きです。ディ◯ニーランドにいるとき、アトラクションの待ち時間が気になりますよね。でも例えば、すぐにスマホを取り出せない状況だったらどうしますか?待ち時間チェックアプリが開けません。そこでthemeparksというライブラリを使えばJavascriptで待ち時間を取得できるので、いちいちスマホを取り出す必要はありません。

インストール

いつもどおりnpm installthemeparksをインストールできます。

npm install --save themeparks

使ってみる

// ライブラリをrequireします。
var Themeparks = require("themeparks");

// 取得可能なテーマパークの一覧を表示します。
for (var park in Themeparks.Parks) {
    console.log("* " + new Themeparks.Parks[park]().Name + " (DisneyAPI." + park + ")");
}

// 特定のパークにアクセスします。この例では東京ディ◯ニーシー。
var disneySea = new Themeparks.Parks.TokyoDisneyResortDisneySea();

// Promiseを使ってディ◯ニーシーの待ち時間を取得します。
disneySea.GetWaitTimes().then(function(rides) {
    // print each wait time
    for(var i=0, ride; ride=rides[i++];) {
        console.log(ride.name + ": " + ride.waitTime + " minutes wait");
    }
}, console.error);

// オープニング時間を取得します。
disneySea.GetOpeningTimes().then(function(times) {
    for(var i=0, time; time=times[i++];) {
        if (time.type == "Operating") {
            console.log("[" + time.date + "] Open from " + time.openingTime + " until " + time.closingTime);
        }
    }
}, console.error);

感想

これは結構楽しいですね。ライブラリのソースコードを読んで初めて知ったんですが、ディ◯ニーって公にしてるのかどうかはわかりませんが、待ち時間のためのWebAPIを提供しているみたいですね。