atcoder-userscript-libs

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

Version vom 07.07.2019. Aktuellste Version

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://updategreasyfork.deno.dev/scripts/386712/715478/atcoder-userscript-libs.js

Autor
keymoon
Version
0.0.1.20190705171646
Erstellt am
23.06.2019
Letzte Aktualisierung
07.07.2019
Größe
24 KB
Lizenz
n/a

## 概要
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));
```
と書けるようになります。