@piyoraik/ffxiv-lodestone-character-lookup 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -6
- package/dist/lodestone.d.ts +0 -4
- package/dist/lodestone.d.ts.map +1 -1
- package/dist/lodestone.js +0 -17
- package/dist/lodestone.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
FFXIV の Lodestone を使って、以下を行うための共通ライブラリです。
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- `キャラクター名` と `サーバー名` から検索パラメータを作る
|
|
6
6
|
- キャラクター検索の先頭ヒットから「キャラクターURL(/lodestone/character/.../)」を取得する
|
|
7
7
|
- キャラクターの「アチーブメント(カテゴリ4)」ページから、高難度(絶/零式)の達成状況を判定する
|
|
8
8
|
|
|
@@ -20,7 +20,6 @@ yarn add @piyoraik/ffxiv-lodestone-character-lookup
|
|
|
20
20
|
## 使い方
|
|
21
21
|
```ts
|
|
22
22
|
import {
|
|
23
|
-
parseCreator,
|
|
24
23
|
buildLodestoneSearchUrl,
|
|
25
24
|
fetchTopCharacterUrl,
|
|
26
25
|
buildAchievementCategoryUrl,
|
|
@@ -28,9 +27,7 @@ import {
|
|
|
28
27
|
parseUltimateClearsFromAchievementHtml
|
|
29
28
|
} from "@piyoraik/ffxiv-lodestone-character-lookup";
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
const creator = parseCreator("Hoge Fuga @ World");
|
|
33
|
-
if (!creator) throw new Error("募集者の形式が不正です");
|
|
30
|
+
const creator = { name: "Hoge Fuga", world: "World" };
|
|
34
31
|
|
|
35
32
|
// 1) Lodestoneの検索URLを作る
|
|
36
33
|
const searchUrl = buildLodestoneSearchUrl(creator);
|
|
@@ -55,7 +52,6 @@ console.log(result);
|
|
|
55
52
|
|
|
56
53
|
| 関数 | 返り値 | 用途 |
|
|
57
54
|
|---|---|---|
|
|
58
|
-
| `parseCreator(creator)` | `{ name, world } \| undefined` | `Name @ World` を分解 |
|
|
59
55
|
| `buildLodestoneSearchUrl(info)` | `string` | キャラクター検索URLを生成 |
|
|
60
56
|
| `fetchTopCharacterUrl(searchUrl)` | `Promise<string \| undefined>` | 検索結果の先頭ヒットのキャラURLを取得 |
|
|
61
57
|
| `buildAchievementCategoryUrl(characterUrl)` | `string \| undefined` | カテゴリ4(レイド)のアチーブURLを生成 |
|
package/dist/lodestone.d.ts
CHANGED
package/dist/lodestone.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestone.d.ts","sourceRoot":"","sources":["../src/lodestone.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"lodestone.d.ts","sourceRoot":"","sources":["../src/lodestone.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAsBjE;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAYzF"}
|
package/dist/lodestone.js
CHANGED
|
@@ -36,29 +36,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.parseCreator = parseCreator;
|
|
40
39
|
exports.buildLodestoneSearchUrl = buildLodestoneSearchUrl;
|
|
41
40
|
exports.parseTopCharacterUrlFromSearchHtml = parseTopCharacterUrlFromSearchHtml;
|
|
42
41
|
exports.fetchTopCharacterUrl = fetchTopCharacterUrl;
|
|
43
42
|
const axios_1 = __importDefault(require("axios"));
|
|
44
43
|
const cheerio = __importStar(require("cheerio"));
|
|
45
44
|
const LODESTONE_BASE_URL = "https://jp.finalfantasyxiv.com";
|
|
46
|
-
/**
|
|
47
|
-
* `募集者: キャラクター名 @ サーバー名` 形式の文字列から、名前/ワールドを取り出します。
|
|
48
|
-
*/
|
|
49
|
-
function parseCreator(creator) {
|
|
50
|
-
const raw = creator.trim();
|
|
51
|
-
if (!raw)
|
|
52
|
-
return undefined;
|
|
53
|
-
const at = raw.lastIndexOf("@");
|
|
54
|
-
if (at === -1)
|
|
55
|
-
return undefined;
|
|
56
|
-
const name = raw.slice(0, at).trim();
|
|
57
|
-
const world = raw.slice(at + 1).trim();
|
|
58
|
-
if (!name || !world)
|
|
59
|
-
return undefined;
|
|
60
|
-
return { name, world };
|
|
61
|
-
}
|
|
62
45
|
/**
|
|
63
46
|
* Lodestone のキャラクター検索URLを生成します。
|
|
64
47
|
* 例:
|
package/dist/lodestone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestone.js","sourceRoot":"","sources":["../src/lodestone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"lodestone.js","sourceRoot":"","sources":["../src/lodestone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,0DAsBC;AAKD,gFAKC;AAKD,oDAYC;AAhED,kDAA0B;AAC1B,iDAAmC;AAEnC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAO5D;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,IAAiB;IACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;IAEhC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE7B,qCAAqC;IACrC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAEjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,kCAAkC,CAAC,IAAY;IAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,SAAS,EAAE;QAClD,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE;YACP,MAAM,EAAE,iCAAiC;YACzC,iBAAiB,EAAE,aAAa;YAChC,YAAY,EAAE,wEAAwE;SACvF;QACD,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,OAAO,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
|
package/package.json
CHANGED