atcoder-userscript-libs

AtCoderのページ上で動作するスクリプト用のライブラリです。

2019-07-07 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://updategreasyfork.deno.dev/scripts/386712/715478/atcoder-userscript-libs.js을(를) 사용하여 포함하는 라이브러리입니다.

작성자
keymoon
버전
0.0.1.20190705171646
생성일
2019-06-23
갱신일
2019-07-07
크기
24KB
라이선스
해당 없음

## 概要
AtCoder上で動くUserScriptを補助するライブラリです。


## ソースについて
このライブラリは複数ファイルを1つにまとめたものです。ソースの詳細は[GitHub](https://github.com/key-moon/atcoder-userscript-libs)を参照してください。一行目以外同一のものをビルド可能なソースコードを公開しています。(一行目はグローバルへエクスポートするために改変を行っています。)

## 使い方
まず、UserScriptのHeaderに以下のような行を追加してください。
``` JS
// @require https://gf.zukizuki.org/scripts/386712-atcoder-userscript-libs/code/atcoder-userscript-libs.js?version=715082
```
### 素のJavaScriptで開発する場合
ツールなどを用いずにこのライブラリを使用する場合は、グローバルに存在しているusLibsオブジェクトの中に格納されているライブラリ内にあるオブジェクトやクラスを用いることになります。
例えば、以下のようなコードを実行するとalertでdiverta2019-2のコンテスト情報を表示します。
``` JavaScript
var contestInformation = await usLibs.contestInformation.fetchContestInformation("diverta2019-2");
alert(JSON.stringify(contestInformation));
```

### モジュールバンドラを用いる場合
WebPack等のモジュールバンドラを用いる場合は、[公開しているパッケージ](https://www.npmjs.com/package/atcoder-userscript-libs)をプロジェクトにインストールすることをお勧めします。
インストールした後、`webpack.config.js`でexternalの記述を以下のようにしてください。:
``` JSON
externals: {
"atcoder-userscript-libs": "usLibs",
"atcoder-userscript-libs/src/libs/data": "usLibs.data",
"atcoder-userscript-libs/src/libs/rating": "usLibs.rating",
"atcoder-userscript-libs/src/libs/global": "usLibs.global",
"atcoder-userscript-libs/src/libs/contestInformation": "usLibs.contestInformation"
}
```
そうすることで依存関係の中にuserscript-libsを取り込め、
``` JavaScript
import { fetchContestInformation } from "atcoder-userscript-libs/src/libs/contestInformation";
var contestInformation = await fetchContestInformation("diverta2019-2");
alert(JSON.stringify(contestInformation));
```
と書けるようになります。