2.3.0 • Published 2 years ago

twinte-parser v2.3.0

Weekly downloads
31
License
MIT
Repository
github
Last release
2 years ago

npm version NPM

twinte-parser

Twinte内部で利用するために開発された KdB(筑波大学教育課程編成支援システム 開設科目一覧) のパーサー。

構成

KdBDownloader

KDBからCSVファイルをダウンロードする。

import { donwloadKDB } from 'twinte-parser'

const csv = await downloadKDB()

Parser

KdBから取得したcsvをオブジェクトに変換する。

import parseKDB from 'twinte-parser'
// or
import { parseKDB } from 'twinte-parser'

const courses = parseKDB(csv)

Module

enum Module {
  SpringA = '春A',
  SpringB = '春B',
  SpringC = '春C',
  FallA = '秋A',
  FallB = '秋B',
  FallC = '秋C',
  SummerVacation = '夏季休業中',
  SpringVacation = '春季休業中',
  Annual = '通年',
  Unknown = '不明'
}

Day

enum Day {
  Sun = '日',
  Mon = '月',
  Tue = '火',
  Wed = '水',
  Thu = '木',
  Fri = '金',
  Sat = '土',
  Intensive = '集中',
  Appointment = '応談',
  AnyTime = '随時',
  Unknown = '不明'
}

Course

interface Course {
  code: string
  name: string
  credits: number
  overview: string
  remarks: string
  type: number
  recommendedGrade: number[]
  schedules: {
    module: Module
    day: Day
    period: number
    room: string
  }[]
  instructor: string
  lastUpdate: Date
  error: boolean
}

ここでschedulesが配列になっていることに注意。

例えば春AB・月曜1限・3A201の授業があった場合、

{
  code: 'XXXXXXX',
  name: "名前",
  schedules: [
      {
        module: "春A",
        day: "月",
        period: 1,
        room: "3A201"
      },
      {
        module: "春B",
        day: "月",
        period: 1,
        room: "3A201"
      }
  ]
}

のようになる。これはモジュールごとに教室や開講時間が変更になる場合に対応するためである。

ライセンス

MIT

2.3.0

2 years ago

2.2.0

3 years ago

2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.0

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.1

5 years ago