UNPKG

butter-lib

Version:

BuTTER Library は、ストレージ上に細分化した状態で保存されているGTFSを基にした時刻表情報を集め、ブラウザ内で必要な情報に加工するライブラリです。DBを使わずにデータ処理をブラウザ内とする

106 lines (89 loc) 4.06 kB
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <h1>Test</h1> <script type="module"> import Butter from './dist.js'; const assertEqual = (actual, expected, message) => { if (JSON.stringify(actual) !== JSON.stringify(expected)) { throw new Error(message || `Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`); } }; const main = async () => { await Butter.init('https://s-ogawa.app.takoyaki3.com/v0.0.0/root.json'); // getHostDataListの検証 const hostList = await Butter.getHostDataList(); console.log({ "getHostDataList": hostList }); assertEqual(hostList[0].VehiclePosition_url, 'https://api-public.odpt.org/api/v4/gtfs/realtime/ToeiBus') assertEqual(hostList[0].gtfs_id, 'ToeiBus') assertEqual(hostList[0].license, 'CC BY 4.0公開元:東京都交通局・公共交通オープンデータ協議会') assertEqual(hostList[0].name, '東京都交通局') assertEqual(hostList[0].providerUrl, 'https://api-public.odpt.org/api/v4/files/Toei/data/ToeiBus-GTFS.zip') assertEqual(hostList[0].updatedAt, '2023-12-28T00_00_00+09_00') // getAgencyInfoの検証 const agencyInfo = await Butter.getAgencyInfo('ToeiBus'); console.log({ "GetInfo": agencyInfo }); assertEqual(agencyInfo, [{ version_id: '2023-12-28T15_11_54+09_00', by_stop_hash_value_size: 2, by_trip_hash_value_size: 2 }], "Agency info should match expected data"); // getBusStopsの検証 const stops = await Butter.getBusStops('ToeiBus'); console.log({ "getBusStops": stops }); // stopsの詳細な検証(例:stops[0]の構造など) // getTripsの検証 const trips = await Butter.getTrips('ToeiBus'); console.log({ "getTrips": trips }); // tripsの詳細な検証(例:trips[0]の構造など) // getVersionInfoの検証 const versionInfo = await Butter.getVersionInfo('ToeiBus'); console.log({ "getVersionInfo": versionInfo }); // versionInfoの詳細な検証 // getStopsBySubstringの検証 const substring = "東京国際"; const stopsBySubstring = await Butter.getStopsBySubstring(substring); console.log({ "getStopsBySubstring": stopsBySubstring }); // stopsBySubstringの詳細な検証 // getStopsWithinRadiusの検証 const lat = 35.693906; const lon = 139.701504; const radius = 100; const aroundStops = await Butter.getStopsWithinRadius(lat, lon, radius); console.log({ "getStopsWithinRadius": aroundStops }); // aroundStopsの詳細な検証 // getBusInfoの検証 const busInfo = await Butter.getBusInfo(lat, lon); console.log({ "getBusInfo": busInfo }); // busInfoの詳細な検証 // fetchTimeTableV1の検証 const queryParams = { date: "20231231", stop_ids: ['0605-07'] }; const tt = await Butter.fetchTimeTableV1('ToeiBus', queryParams); console.log({ "fetchTimeTableV1": tt },tt.stop_times.length); assertEqual(tt.stop_times.length,18) // getComsumedOpの検証 const consumedOps = Butter.getComsumedOp(); console.log({ "getComsumedOp": consumedOps }); // assertEqual(consumedOps, 11) // getDataInfoの検証 const dataInfo = await Butter.getDataInfo('ToeiBus'); console.log({ "getDataInfo": dataInfo }); // dataInfoの詳細な検証 // getHostUpdatedの検証 const hostUpdated = await Butter.getHostUpdated(); console.log({ "getHostUpdated": hostUpdated }); // hostUpdatedの詳細な検証 const busStop = await Butter.getStopsForBusPassingThrough('ToeiBus','0955-01') console.log({ "getStopsForBusPassingThrough": busStop }); }; main().catch(error => console.error(error)); </script> </body> </html>