駅時刻表の作成ソフト WinDIATimetable で出力される、WDTT 形式のファイルを解析して JavaScript オブジェクトに変換できるパーサです。
- CommonJS 形式での出力の廃止
- ES Module のみサポートに変更
- テストフレームワークの Jest への切り替え
- Node 16.x 以上を必須化
- ES 2015+ に対応しているブラウザ
- 最新の LTS
WDTT 形式のファイルは Shift_JIS でエンコードされているため、 事前に UTF-8 に文字コードを変換するか、JavaScript のコード内で UTF-8 のテキストに変換する必要があります。
<!DOCTYPE html>
<html>
<head>
<script type="module">
import wdttParse from './wdtt-parser.js';
fetch('./test.wtt')
.then(
(result) => {
return result.arrayBuffer();
}
).then(
(buffer) => {
// Convert from buffer to utf8 string.
const sjisDecoder = new TextDecoder('shift_jis');
const wdttText = sjisDecoder.decode(buffer);
const wdtt = wdttParse(wdttText);
console.log(wdtt);
}
);
</script>
</head>
</html>
const wdttParse = require('@tom-konda/wdtt-parser');
const iconvLite = require('iconv-lite');
const fs = require('fs');
const file = fs.readFileSync(`PATH_TO_WDTTFILE/test.wtt`);
// Convert from buffer to utf8 string.
const wdttText = iconvLite.decode(file, 'SHIFT_JIS');
const wdtt = wdttParse(wdttText);
console.log(wdtt);
ライセンスは MIT になります。
git clone https://github.com/tom-konda/wdtt_parser.git
を実行し、レポジトリをクローンしますcd wdtt_parser
でカレントディレクトリを変更しますnpm install
を実行しますnpm run build
を実行します