Skip to content

Commit 38b814b

Browse files
committed
fix: パースが科目番号が空の行で終了する
1 parent 08ac23a commit 38b814b

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "twinte-parser",
3-
"version": "2.1.2",
3+
"version": "2.1.3",
44
"description": "Twinte内部で使用するために開発されたKdBパーサ",
55
"private": false,
66
"main": "dist/index.js",

src/parser.ts

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { Course, Day, Module } from './types'
2-
import { read as readXLSX, utils } from 'xlsx'
1+
import {Course, Day, Module} from './types'
2+
import {read as readXLSX, utils} from 'xlsx'
33
import * as assert from 'assert'
44

55
/**
@@ -63,7 +63,7 @@ const analyzeDayAndPeriod = (str: string): { day: Day; period: number }[] => {
6363

6464
//どのテストにも合格しなかったが空文字でなければ仮にunknownとする
6565
if (str !== '' && result.length === 0)
66-
result.push({ day: Day.Unknown, period: 0 })
66+
result.push({day: Day.Unknown, period: 0})
6767

6868
return result
6969
}
@@ -142,7 +142,7 @@ const analyzeRow = (columns: string[]) => {
142142
const courseData: Course = {
143143
code: columns[0],
144144
name: columns[1],
145-
credits: Number(columns[3]),
145+
credits: !Number.isNaN(parseInt(columns[3])) ? Number(columns[3]) : 0,
146146
type: Number(columns[2]),
147147
overview: columns[9],
148148
remarks: columns[10],
@@ -208,10 +208,15 @@ export default (data: Buffer): Course[] => {
208208
const courses: Course[] = []
209209

210210
for (let r = 5; ; r++) {
211+
// sheetの終端で終了
212+
if (typeof sheet[utils.encode_cell({r, c: 0})] === 'undefined') break
213+
211214
const columns: string[] = []
212215
for (let c = 0; c <= 16; c++)
213-
columns.push(sheet[utils.encode_cell({ r, c })].v)
214-
if (columns[0] === '') break
216+
columns.push(sheet[utils.encode_cell({r, c})].v)
217+
218+
// 科目番号が空の行はスキップ
219+
if (columns[0] === '') continue
215220
courses.push(analyzeRow(columns))
216221
}
217222
return courses

0 commit comments

Comments
 (0)