npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

parse-comcigan

v0.3.0

Published

컴시간 알리미에서 시간표를 가져오는 라이브러리입니다.

Downloads

155

Readme

parse-comcigan

컴시간을 파싱하는 라이브러리입니다.
안드로이드 컴시간알리미 앱에서 파싱합니다.
아직 학생 시간표밖에 지원하지 않습니다.

경고

본 라이브러리는 비공식적으로 컴시간알리미의 데이터를 파싱합니다.
상업적으로 사용하다 문제가 발생할경우, 제작자는 책임을 지지 않습니다.

설치

npm install parse-comcigan

개발

Comcigan

Comcigan 클래스의 인스턴스를 생성하여 사용합니다.
인스턴스를 생성할 때 옵션을 지정할 수 있습니다.

|옵션|타입|기본값|설명| |------|------|------|-----------| |cacheMs|number|0|캐시될 시간(밀리초)입니다. 0일때 캐시를 비활성화합니다.| |doNotThrow|boolean|true|Axios에서 validateStatus를 항상 true로 반환할 지에 대한 여부입니다.| |debug|(msg: string) => any|undefined|디버그 메시지를 처리하는 콜백입니다. 이 콜백은 주로 컴시간과 통신할 때 호출됩니다.| |appVersion|string|2.11|컴시간알리미 안드로이드 앱의 버전입니다.|

import Comcigan from 'parse-comcigan';

const comci = new Comcigan({
    "cacheMs": 10000, // 10초동안 캐시됩니다.
    "doNotThrow": false, // false일때, status가 4 또는 5로 시작하면 throw 됩니다.
    "debug": (msg) => console.log(msg) // 모듈에서 디버그 메시지를 보내면 콘솔에 출력합니다.
});

SearchSchool

학교를 검색합니다.
마지막 "없으면 추가 검색 하세요." 문구는 자동으로 빠져서 나옵니다.
당연하지만 컴시간을 사용하는 학교만 검색됩니다.

|파라메터|타입|필수|설명| |------|------|------|-----------| |query|string|Yes|검색어|

comci.SearchSchool("서울").then(data => {
    console.log(data);
});

다음을 Promise 형태로 리턴합니다.

|키|타입|설명| |-----|----|-----| |region|string|학교의 지역| |name|string|학교 이름| |code|number|학교 코드|


GetTimetable

시간표를 가져옵니다.

|파라메터|타입|필수|설명| |------|------|------|-----------| |options|GetTimetableOptions|Yes|옵션|

comci.GetTimetable({
    "schoolCode": 96211,
    "criteria": "period",
    "grade": 3,
    "classN": 5,
    "without8th": false,
    "nextWeek": true // 다음 주 시간표 가져오기 (등록된 일자가 1개이면 이번 주 시간표를 가져옵니다.)
}).then(data => {
    console.log(data.timetable[0][7]); // [요일][교시] 다음주 월요일 8교시
});
comci.GetTimetable({
    "schoolCode": 96211,
    "criteria": "weekday",
    "grade": 3,
    "classN": 5,
    "without8th": true
}).then(data => {
    console.log(data.timetable[4][0]); // [교시][요일] 월요일 5교시
});

다음을 Promise 형태로 리턴합니다.

|키|타입|설명| |-----|----|-----| |latestVersion|string|컴시간 앱 최신버전| |changed|string|수정된 날짜 시간| |timetable|ComciganTimetableObject[][]|시간표|


GetClassList

학급 리스트를 가져옵니다.

|파라메터|타입|필수|설명| |------|------|------|-----------| |schoolCode|number|Yes|학교 코드|

comci.GetClassList(96211).then(data => {
    console.log(data[0]); // 1-1
});

리턴 타입: Promise<string>

타입

ComciganTimetableObject

|키|타입|설명|필수| |-----|----|-----|-----| |subject|string|과목|Yes| |changed|string|교사|Yes| |original|여기서 original만 빠진 오브젝트|원래 시간표|No|

GetTimetableOptions

|파라메터|타입|필수|설명| |------|------|------|-----------| |schoolCode|number|Yes|학교 코드| |criteria|"weekday" or "period"|Yes|리스트 반환을 어떻게 할지 여부입니다.| |grade|number|Yes|학년| |classN|number|Yes|반| |without8th|boolean|No|8교시를 빼고 리턴할지에 대한 여부입니다.| |nextWeek|boolean|No|다음 주 시간표를 반환할지에 대한 여부입니다.|

업데이트 로그

0.3.0

  • 다음 주 시간표 보기
  • 디버그 메시지 수정

0.2.0

  • 버전 넘버링 수정
  • 앱 버전 수정 기능 추가
  • 시간표 버그 수정

0.0.6

  • 모듈이 불러와지지 않던 버그 수정

0.0.5

  • 문서의 많은 오류 수정
  • 8교시 제외 추가

0.0.4

  • 모듈이 불러와지지 않던 버그 수정

0.0.3

  • undefined 참조 버그 수정
  • 문서 잘못되어있던 버그 수정

0.0.2

  • package.json 수정

0.0.1

  • 첫번째 릴리즈