@piyoraik/ffxiv-lodestone-character-lookup 1.0.2 → 1.0.4
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 +6 -8
- package/dist/lodestone.d.ts +2 -2
- package/dist/lodestone.d.ts.map +1 -1
- package/dist/lodestone.js +6 -12
- package/dist/lodestone.js.map +1 -1
- package/package.json +3 -3
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
|
|
|
@@ -17,8 +17,7 @@ FFXIV の Lodestone を使って、以下を行うための共通ライブラリ
|
|
|
17
17
|
yarn add @piyoraik/ffxiv-lodestone-character-lookup
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
##
|
|
21
|
-
|
|
20
|
+
## 使い方
|
|
22
21
|
```ts
|
|
23
22
|
import {
|
|
24
23
|
parseCreator,
|
|
@@ -29,9 +28,8 @@ import {
|
|
|
29
28
|
parseUltimateClearsFromAchievementHtml
|
|
30
29
|
} from "@piyoraik/ffxiv-lodestone-character-lookup";
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!creator) throw new Error("募集者の形式が不正です");
|
|
31
|
+
const creator = parseCreator("Hoge Fuga", "World");
|
|
32
|
+
if (!creator) throw new Error("キャラクター名/ワールド名が不正です");
|
|
35
33
|
|
|
36
34
|
// 1) Lodestoneの検索URLを作る
|
|
37
35
|
const searchUrl = buildLodestoneSearchUrl(creator);
|
|
@@ -56,10 +54,10 @@ console.log(result);
|
|
|
56
54
|
|
|
57
55
|
| 関数 | 返り値 | 用途 |
|
|
58
56
|
|---|---|---|
|
|
59
|
-
| `parseCreator(
|
|
57
|
+
| `parseCreator(name, world)` | `{ name, world } \| undefined` | `name` と `world` を正規化 |
|
|
60
58
|
| `buildLodestoneSearchUrl(info)` | `string` | キャラクター検索URLを生成 |
|
|
61
59
|
| `fetchTopCharacterUrl(searchUrl)` | `Promise<string \| undefined>` | 検索結果の先頭ヒットのキャラURLを取得 |
|
|
62
|
-
| `buildAchievementCategoryUrl(characterUrl)` | `string \| undefined` | カテゴリ4のアチーブURLを生成 |
|
|
60
|
+
| `buildAchievementCategoryUrl(characterUrl)` | `string \| undefined` | カテゴリ4(レイド)のアチーブURLを生成 |
|
|
63
61
|
| `fetchAchievementCategoryHtml(url)` | `Promise<string>` | アチーブHTMLを取得 |
|
|
64
62
|
| `parseUltimateClearsFromAchievementHtml(html)` | `{ status, clears }` | 高難度(絶/零式)達成状況を抽出 |
|
|
65
63
|
| `getHighEndAchievements()` | `HighEndAchievementDefinition[]` | 同梱定義(正式名/略称/種別)を取得 |
|
package/dist/lodestone.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ export type CreatorInfo = {
|
|
|
3
3
|
world: string;
|
|
4
4
|
};
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* キャラクター名とワールド名から、検索用の情報を作ります。
|
|
7
7
|
*/
|
|
8
|
-
export declare function parseCreator(
|
|
8
|
+
export declare function parseCreator(name: string, world: string): CreatorInfo | undefined;
|
|
9
9
|
/**
|
|
10
10
|
* Lodestone のキャラクター検索URLを生成します。
|
|
11
11
|
* 例:
|
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;;GAEG;AACH,wBAAgB,YAAY,CAAC,
|
|
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;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAMjF;AAED;;;;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
|
@@ -44,20 +44,14 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
44
44
|
const cheerio = __importStar(require("cheerio"));
|
|
45
45
|
const LODESTONE_BASE_URL = "https://jp.finalfantasyxiv.com";
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* キャラクター名とワールド名から、検索用の情報を作ります。
|
|
48
48
|
*/
|
|
49
|
-
function parseCreator(
|
|
50
|
-
const
|
|
51
|
-
|
|
49
|
+
function parseCreator(name, world) {
|
|
50
|
+
const normalizedName = name.trim();
|
|
51
|
+
const normalizedWorld = world.trim();
|
|
52
|
+
if (!normalizedName || !normalizedWorld)
|
|
52
53
|
return undefined;
|
|
53
|
-
|
|
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 };
|
|
54
|
+
return { name: normalizedName, world: normalizedWorld };
|
|
61
55
|
}
|
|
62
56
|
/**
|
|
63
57
|
* Lodestone のキャラクター検索URLを生成します。
|
package/dist/lodestone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestone.js","sourceRoot":"","sources":["../src/lodestone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,
|
|
1
|
+
{"version":3,"file":"lodestone.js","sourceRoot":"","sources":["../src/lodestone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oCAMC;AAOD,0DAsBC;AAKD,gFAKC;AAKD,oDAYC;AA3ED,kDAA0B;AAC1B,iDAAmC;AAEnC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAO5D;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,KAAa;IACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAE1D,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC1D,CAAC;AAED;;;;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
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@piyoraik/ffxiv-lodestone-character-lookup",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "FFXIV Lodestone character lookup (search → character URL) and high-end achievement checks",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "",
|
|
7
|
-
"homepage": "",
|
|
7
|
+
"homepage": "https://github.com/piyoraik/ffxiv-lodestone-character-lookup",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": ""
|
|
10
|
+
"url": "git+https://github.com/piyoraik/ffxiv-lodestone-character-lookup.git"
|
|
11
11
|
},
|
|
12
12
|
"type": "commonjs",
|
|
13
13
|
"main": "dist/index.js",
|