narou 0.7.7 → 0.8.1
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/dist/index.browser.d.ts +35 -29
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +82 -122
- package/dist/index.browser.js.map +1 -1
- package/dist/index.common.d.ts +14 -9
- package/dist/index.common.d.ts.map +1 -1
- package/dist/index.common.js +34 -24
- package/dist/index.common.js.map +1 -1
- package/dist/index.d.ts +42 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -124
- package/dist/index.js.map +1 -1
- package/dist/narou-fetch.d.ts +12 -12
- package/dist/narou-fetch.js +45 -128
- package/dist/narou-fetch.js.map +1 -1
- package/dist/narou-jsonp.d.ts +9 -9
- package/dist/narou-jsonp.js +23 -100
- package/dist/narou-jsonp.js.map +1 -1
- package/dist/narou-ranking-results.d.ts +9 -9
- package/dist/narou-ranking-results.js +2 -2
- package/dist/narou-search-results.d.ts +130 -120
- package/dist/narou-search-results.d.ts.map +1 -1
- package/dist/narou-search-results.js +62 -65
- package/dist/narou-search-results.js.map +1 -1
- package/dist/narou.d.ts +25 -24
- package/dist/narou.d.ts.map +1 -1
- package/dist/narou.js +29 -104
- package/dist/narou.js.map +1 -1
- package/dist/params.d.ts +323 -282
- package/dist/params.d.ts.map +1 -1
- package/dist/params.js +246 -229
- package/dist/params.js.map +1 -1
- package/dist/ranking-history.d.ts +13 -13
- package/dist/ranking-history.js +13 -13
- package/dist/ranking-history.js.map +1 -1
- package/dist/ranking.d.ts +45 -45
- package/dist/ranking.js +86 -155
- package/dist/ranking.js.map +1 -1
- package/dist/search-builder-r18.d.ts +28 -28
- package/dist/search-builder-r18.d.ts.map +1 -1
- package/dist/search-builder-r18.js +44 -64
- package/dist/search-builder-r18.js.map +1 -1
- package/dist/search-builder.d.ts +219 -234
- package/dist/search-builder.d.ts.map +1 -1
- package/dist/search-builder.js +380 -440
- package/dist/search-builder.js.map +1 -1
- package/dist/user-search.d.ts +63 -0
- package/dist/user-search.d.ts.map +1 -0
- package/dist/user-search.js +94 -0
- package/dist/user-search.js.map +1 -0
- package/dist/util/jsonp.d.ts +16 -16
- package/dist/util/jsonp.js +45 -47
- package/dist/util/jsonp.js.map +1 -1
- package/dist/util/type.d.ts +3 -3
- package/dist/util/type.js +2 -2
- package/dist/util/unzipp.d.ts +3 -3
- package/dist/util/unzipp.js +11 -56
- package/dist/util/unzipp.js.map +1 -1
- package/dist.esm/index.browser.js +86 -0
- package/dist.esm/index.browser.js.map +1 -0
- package/dist.esm/index.common.js +38 -0
- package/dist.esm/index.common.js.map +1 -0
- package/dist.esm/index.js +94 -0
- package/dist.esm/index.js.map +1 -0
- package/dist.esm/narou-fetch.js +49 -0
- package/dist.esm/narou-fetch.js.map +1 -0
- package/dist.esm/narou-jsonp.js +27 -0
- package/dist.esm/narou-jsonp.js.map +1 -0
- package/dist.esm/narou-ranking-results.js +3 -0
- package/dist.esm/narou-ranking-results.js.map +1 -0
- package/dist.esm/narou-search-results.js +63 -0
- package/dist.esm/narou-search-results.js.map +1 -0
- package/dist.esm/narou.js +33 -0
- package/dist.esm/narou.js.map +1 -0
- package/dist.esm/params.js +247 -0
- package/dist.esm/params.js.map +1 -0
- package/dist.esm/ranking-history.js +14 -0
- package/dist.esm/ranking-history.js.map +1 -0
- package/dist.esm/ranking.js +90 -0
- package/dist.esm/ranking.js.map +1 -0
- package/dist.esm/search-builder-r18.js +45 -0
- package/dist.esm/search-builder-r18.js.map +1 -0
- package/dist.esm/search-builder.js +381 -0
- package/dist.esm/search-builder.js.map +1 -0
- package/dist.esm/user-search.js +94 -0
- package/dist.esm/user-search.js.map +1 -0
- package/dist.esm/util/jsonp.js +46 -0
- package/dist.esm/util/jsonp.js.map +1 -0
- package/dist.esm/util/type.js +3 -0
- package/dist.esm/util/type.js.map +1 -0
- package/dist.esm/util/unzipp.js +12 -0
- package/dist.esm/util/unzipp.js.map +1 -0
- package/package.json +18 -8
- package/src/index.browser.ts +12 -1
- package/src/index.common.ts +18 -29
- package/src/index.ts +20 -3
- package/src/narou-search-results.ts +20 -7
- package/src/narou.ts +26 -11
- package/src/params.ts +60 -15
- package/src/search-builder-r18.ts +9 -9
- package/src/search-builder.ts +96 -102
- package/src/user-search.ts +109 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.rankingHistory = exports.ranking = exports.searchUser = exports.searchR18 = exports.search = exports.NarouNovelJsonp = exports.NarouNovelFetch = void 0;
|
|
21
|
+
const narou_fetch_1 = __importDefault(require("./narou-fetch"));
|
|
22
|
+
exports.NarouNovelFetch = narou_fetch_1.default;
|
|
23
|
+
const narou_jsonp_1 = __importDefault(require("./narou-jsonp"));
|
|
24
|
+
exports.NarouNovelJsonp = narou_jsonp_1.default;
|
|
25
|
+
const ranking_1 = __importDefault(require("./ranking"));
|
|
26
|
+
const ranking_history_1 = require("./ranking-history");
|
|
27
|
+
const search_builder_1 = __importDefault(require("./search-builder"));
|
|
28
|
+
const search_builder_r18_1 = __importDefault(require("./search-builder-r18"));
|
|
29
|
+
const user_search_1 = __importDefault(require("./user-search"));
|
|
30
|
+
__exportStar(require("./index.common"), exports);
|
|
31
|
+
const narouNovelFetch = new narou_fetch_1.default();
|
|
32
|
+
/**
|
|
33
|
+
* なろう小説 API で小説を検索する
|
|
34
|
+
* @param {string} [word] - 検索ワード
|
|
35
|
+
* @returns {SearchBuilder}
|
|
36
|
+
*/
|
|
37
|
+
function search(word = "", api = narouNovelFetch) {
|
|
38
|
+
const builder = new search_builder_1.default({}, api);
|
|
39
|
+
if (word != "")
|
|
40
|
+
builder.word(word);
|
|
41
|
+
return builder;
|
|
42
|
+
}
|
|
43
|
+
exports.search = search;
|
|
44
|
+
/**
|
|
45
|
+
* 18禁小説 API で小説を検索する
|
|
46
|
+
* @param {string} [word] - 検索ワード
|
|
47
|
+
* @returns {SearchBuilder}
|
|
48
|
+
*/
|
|
49
|
+
function searchR18(word = "", api = narouNovelFetch) {
|
|
50
|
+
const builder = new search_builder_r18_1.default({}, api);
|
|
51
|
+
if (word != "")
|
|
52
|
+
builder.word(word);
|
|
53
|
+
return builder;
|
|
54
|
+
}
|
|
55
|
+
exports.searchR18 = searchR18;
|
|
56
|
+
/**
|
|
57
|
+
* なろうユーザ検索 API でユーザを検索する
|
|
58
|
+
*/
|
|
59
|
+
function searchUser(word = "", api = narouNovelFetch) {
|
|
60
|
+
const builder = new user_search_1.default({}, api);
|
|
61
|
+
if (word != "")
|
|
62
|
+
builder.word(word);
|
|
63
|
+
return builder;
|
|
64
|
+
}
|
|
65
|
+
exports.searchUser = searchUser;
|
|
66
|
+
/**
|
|
67
|
+
* なろう小説ランキング API でランキングを取得する
|
|
68
|
+
*/
|
|
69
|
+
function ranking(api = narouNovelFetch) {
|
|
70
|
+
const builder = new ranking_1.default({}, api);
|
|
71
|
+
return builder;
|
|
72
|
+
}
|
|
73
|
+
exports.ranking = ranking;
|
|
74
|
+
/**
|
|
75
|
+
* なろう殿堂入り API でランキング履歴を取得する
|
|
76
|
+
*/
|
|
77
|
+
async function rankingHistory(ncode, api = narouNovelFetch) {
|
|
78
|
+
const result = await api.executeRankingHistory({ ncode });
|
|
79
|
+
if (Array.isArray(result)) {
|
|
80
|
+
return result.map(ranking_history_1.formatRankingHistory);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new Error(result);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.rankingHistory = rankingHistory;
|
|
87
|
+
exports.default = {
|
|
88
|
+
search,
|
|
89
|
+
searchR18,
|
|
90
|
+
searchUser,
|
|
91
|
+
ranking,
|
|
92
|
+
rankingHistory,
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,gEAA4C;AASnC,0BATF,qBAAe,CASE;AARxB,gEAA4C;AAQlB,0BARnB,qBAAe,CAQmB;AAPzC,wDAAuC;AACvC,uDAA+E;AAC/E,sEAA6C;AAC7C,8EAAoD;AACpD,gEAA8C;AAE9C,iDAA+B;AAG/B,MAAM,eAAe,GAAG,IAAI,qBAAe,EAAE,CAAC;AAE9C;;;;GAIG;AACH,SAAgB,MAAM,CACpB,IAAI,GAAG,EAAE,EACT,MAAkB,eAAe;IAEjC,MAAM,OAAO,GAAG,IAAI,wBAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAPD,wBAOC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CACvB,IAAI,GAAG,EAAE,EACT,MAAkB,eAAe;IAEjC,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAPD,8BAOC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,MAAkB,eAAe;IACrE,MAAM,OAAO,GAAG,IAAI,qBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,MAAkB,eAAe;IACvD,MAAM,OAAO,GAAG,IAAI,iBAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,0BAGC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,MAAkB,eAAe;IAEjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,sCAAoB,CAAC,CAAC;KACzC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;KACzB;AACH,CAAC;AAVD,wCAUC;AAED,kBAAe;IACb,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,cAAc;CACf,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
7
|
+
const unzipp_1 = require("./util/unzipp");
|
|
8
|
+
const narou_1 = __importDefault(require("./narou"));
|
|
9
|
+
/**
|
|
10
|
+
* なろう小説APIへのリクエストを実行する
|
|
11
|
+
* @class NarouNovel
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
class NarouNovelFetch extends narou_1.default {
|
|
15
|
+
constructor(fetch = node_fetch_1.default) {
|
|
16
|
+
super();
|
|
17
|
+
this.fetch = fetch;
|
|
18
|
+
}
|
|
19
|
+
async execute(params, endpoint) {
|
|
20
|
+
const query = { ...params, out: "json" };
|
|
21
|
+
if (query.gzip === undefined) {
|
|
22
|
+
query.gzip = 5;
|
|
23
|
+
}
|
|
24
|
+
const url = new URL(endpoint);
|
|
25
|
+
Object.entries(query).forEach(([key, value]) => {
|
|
26
|
+
if (value) {
|
|
27
|
+
url.searchParams.append(key, value.toString());
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const res = await this.fetch(url);
|
|
31
|
+
if (query.gzip === 0) {
|
|
32
|
+
return await res.json();
|
|
33
|
+
}
|
|
34
|
+
const buffer = await res.buffer();
|
|
35
|
+
try {
|
|
36
|
+
return await (0, unzipp_1.unzipp)(buffer);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
try {
|
|
40
|
+
throw JSON.stringify(buffer.toString());
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
throw buffer.toString();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = NarouNovelFetch;
|
|
49
|
+
//# sourceMappingURL=narou-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narou-fetch.js","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,0CAAuC;AACvC,oDAAkD;AAElD;;;;GAIG;AACH,MAAqB,eAAgB,SAAQ,eAAU;IACrD,YAAoB,QAAQ,oBAAS;QACnC,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAY;IAErC,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,MAAmB,EACnB,QAAgB;QAEhB,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAEzC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;SAChB;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,EAAE;gBACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;YACpB,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;SACzB;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI;YACF,OAAO,MAAM,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;SAC7B;QAAC,MAAM;YACN,IAAI;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;aACzC;YAAC,MAAM;gBACN,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;aACzB;SACF;IACH,CAAC;CACF;AAvCD,kCAuCC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const narou_1 = __importDefault(require("./narou"));
|
|
7
|
+
const jsonp_1 = require("./util/jsonp");
|
|
8
|
+
/**
|
|
9
|
+
* なろう小説APIへのリクエストを実行する
|
|
10
|
+
* @class NarouNovel
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
class NarouNovelJsonp extends narou_1.default {
|
|
14
|
+
async execute(params, endpoint) {
|
|
15
|
+
const query = { ...params, out: "jsonp" };
|
|
16
|
+
query.gzip = 0;
|
|
17
|
+
const url = new URL(endpoint);
|
|
18
|
+
Object.entries(query).forEach(([key, value]) => {
|
|
19
|
+
if (value) {
|
|
20
|
+
url.searchParams.append(key, value.toString());
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return await (0, jsonp_1.jsonp)(url.toString());
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.default = NarouNovelJsonp;
|
|
27
|
+
//# sourceMappingURL=narou-jsonp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narou-jsonp.js","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,wCAAqC;AAErC;;;;GAIG;AACH,MAAqB,eAAgB,SAAQ,eAAU;IAC3C,KAAK,CAAC,OAAO,CACrB,MAAmB,EACnB,QAAgB;QAEhB,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAEf,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,EAAE;gBACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,IAAA,aAAK,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAlBD,kCAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narou-ranking-results.js","sourceRoot":"","sources":["../src/narou-ranking-results.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.End = exports.NovelType = exports.PcOrK = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* なろう小説API検索結果
|
|
6
|
+
* @class NarouSearchResults
|
|
7
|
+
*/
|
|
8
|
+
class NarouSearchResults {
|
|
9
|
+
/**
|
|
10
|
+
* @constractor
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
constructor([header, ...result], params) {
|
|
14
|
+
const count = header.allcount;
|
|
15
|
+
const limit = params.lim ?? 20;
|
|
16
|
+
const start = params.st ?? 0;
|
|
17
|
+
/**
|
|
18
|
+
* 検索結果数
|
|
19
|
+
* @type {number}
|
|
20
|
+
*/
|
|
21
|
+
this.allcount = count;
|
|
22
|
+
/**
|
|
23
|
+
* 結果表示上限数
|
|
24
|
+
* @type {number}
|
|
25
|
+
*/
|
|
26
|
+
this.limit = limit;
|
|
27
|
+
/**
|
|
28
|
+
* 結果表示開始数
|
|
29
|
+
* @type {number}
|
|
30
|
+
*/
|
|
31
|
+
this.start = start;
|
|
32
|
+
/**
|
|
33
|
+
* 結果表示ページ数
|
|
34
|
+
* @type {number}
|
|
35
|
+
*/
|
|
36
|
+
this.page = start / limit;
|
|
37
|
+
/**
|
|
38
|
+
* 結果数
|
|
39
|
+
* @type {number}
|
|
40
|
+
*/
|
|
41
|
+
this.length = result.length;
|
|
42
|
+
/**
|
|
43
|
+
* 検索結果
|
|
44
|
+
* @type {PickedNarouSearchResult<T>[]}
|
|
45
|
+
*/
|
|
46
|
+
this.values = result;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.default = NarouSearchResults;
|
|
50
|
+
exports.PcOrK = {
|
|
51
|
+
Ketai: 1,
|
|
52
|
+
Pc: 2,
|
|
53
|
+
PcAndKetai: 3,
|
|
54
|
+
};
|
|
55
|
+
exports.NovelType = {
|
|
56
|
+
Rensai: 1,
|
|
57
|
+
Tanpen: 2,
|
|
58
|
+
};
|
|
59
|
+
exports.End = {
|
|
60
|
+
KanketsuOrTanpen: 0,
|
|
61
|
+
Rensai: 1,
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=narou-search-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narou-search-results.js","sourceRoot":"","sources":["../src/narou-search-results.ts"],"names":[],"mappings":";;;AAYA;;;GAGG;AACH,MAAqB,kBAAkB;IAQrC;;;OAGG;IACH,YACE,CAAC,MAAM,EAAE,GAAG,MAAM,CAA6C,EAC/D,MAAoB;QAEpB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAE7B;;;WAGG;QACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB;;;WAGG;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB;;;WAGG;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB;;;WAGG;QACH,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;QAC1B;;;WAGG;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B;;;WAGG;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAnDD,qCAmDC;AAsFY,QAAA,KAAK,GAAG;IACnB,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,UAAU,EAAE,CAAC;CACL,CAAC;AAGE,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACD,CAAC;AAGE,QAAA,GAAG,GAAG;IACjB,gBAAgB,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const narou_search_results_1 = __importDefault(require("./narou-search-results"));
|
|
7
|
+
/**
|
|
8
|
+
* なろう小説APIへのリクエストを実行する
|
|
9
|
+
* @class NarouNovel
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
class NarouNovel {
|
|
13
|
+
async executeSearch(params, endpoint = "https://api.syosetu.com/novelapi/api/") {
|
|
14
|
+
return new narou_search_results_1.default(await this.execute(params, endpoint), params);
|
|
15
|
+
}
|
|
16
|
+
async executeNovel(params) {
|
|
17
|
+
return await this.executeSearch(params, "https://api.syosetu.com/novelapi/api/");
|
|
18
|
+
}
|
|
19
|
+
async executeNovel18(params) {
|
|
20
|
+
return await this.executeSearch(params, "https://api.syosetu.com/novel18api/api/");
|
|
21
|
+
}
|
|
22
|
+
async executeRanking(params) {
|
|
23
|
+
return await this.execute(params, "https://api.syosetu.com/rank/rankget/");
|
|
24
|
+
}
|
|
25
|
+
async executeRankingHistory(params) {
|
|
26
|
+
return await this.execute(params, "https://api.syosetu.com/rank/rankin/");
|
|
27
|
+
}
|
|
28
|
+
async executeUserSearch(params) {
|
|
29
|
+
return await this.execute(params, "https://api.syosetu.com/userapi/api/");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.default = NarouNovel;
|
|
33
|
+
//# sourceMappingURL=narou.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narou.js","sourceRoot":"","sources":["../src/narou.ts"],"names":[],"mappings":";;;;;AACA,kFAGgC;AAehC;;;;GAIG;AACH,MAA8B,UAAU;IAYtC,KAAK,CAAC,aAAa,CACjB,MAAoB,EACpB,QAAQ,GAAG,uCAAuC;QAElD,OAAO,IAAI,8BAAkB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,aAAa,CAC7B,MAAM,EACN,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,aAAa,CAC7B,MAAM,EACN,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAqB;QACxC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;IAC5E,CAAC;CACF;AApDD,6BAoDC"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserOrder = exports.NovelTypeParam = exports.StopParam = exports.BuntaiParam = exports.GenreNotation = exports.Genre = exports.BigGenreNotation = exports.BigGenre = exports.R18SiteNotation = exports.R18Site = exports.Order = exports.OptionalFields = exports.UserFields = exports.R18Fields = exports.Fields = exports.BooleanNumber = exports.RankingType = void 0;
|
|
4
|
+
exports.RankingType = {
|
|
5
|
+
Daily: "d",
|
|
6
|
+
Weekly: "w",
|
|
7
|
+
Monthly: "m",
|
|
8
|
+
Quarterly: "q",
|
|
9
|
+
};
|
|
10
|
+
exports.BooleanNumber = {
|
|
11
|
+
True: 1,
|
|
12
|
+
False: 0,
|
|
13
|
+
};
|
|
14
|
+
exports.Fields = {
|
|
15
|
+
title: "t",
|
|
16
|
+
ncode: "n",
|
|
17
|
+
userid: "u",
|
|
18
|
+
writer: "w",
|
|
19
|
+
story: "s",
|
|
20
|
+
biggenre: "bg",
|
|
21
|
+
genre: "g",
|
|
22
|
+
nocgenre: "ng",
|
|
23
|
+
keyword: "k",
|
|
24
|
+
general_firstup: "gf",
|
|
25
|
+
general_lastup: "gl",
|
|
26
|
+
noveltype: "nt",
|
|
27
|
+
end: "e",
|
|
28
|
+
general_all_no: "ga",
|
|
29
|
+
length: "l",
|
|
30
|
+
time: "ti",
|
|
31
|
+
isstop: "i",
|
|
32
|
+
isr15: "isr",
|
|
33
|
+
isbl: "ibl",
|
|
34
|
+
isgl: "igl",
|
|
35
|
+
iszankoku: "izk",
|
|
36
|
+
istensei: "its",
|
|
37
|
+
istenni: "iti",
|
|
38
|
+
pc_or_k: "p",
|
|
39
|
+
global_point: "gp",
|
|
40
|
+
daily_point: "dp",
|
|
41
|
+
weekly_point: "wp",
|
|
42
|
+
monthly_point: "mp",
|
|
43
|
+
quarter_point: "qp",
|
|
44
|
+
yearly_point: "yp",
|
|
45
|
+
fav_novel_cnt: "f",
|
|
46
|
+
impression_cnt: "imp",
|
|
47
|
+
review_cnt: "r",
|
|
48
|
+
all_point: "a",
|
|
49
|
+
all_hyoka_cnt: "ah",
|
|
50
|
+
sasie_cnt: "sa",
|
|
51
|
+
kaiwaritu: "ka",
|
|
52
|
+
novelupdated_at: "nu",
|
|
53
|
+
updated_at: "ua",
|
|
54
|
+
};
|
|
55
|
+
exports.R18Fields = {
|
|
56
|
+
title: "t",
|
|
57
|
+
ncode: "n",
|
|
58
|
+
userid: "u",
|
|
59
|
+
writer: "w",
|
|
60
|
+
story: "s",
|
|
61
|
+
nocgenre: "ng",
|
|
62
|
+
keyword: "k",
|
|
63
|
+
general_firstup: "gf",
|
|
64
|
+
general_lastup: "gl",
|
|
65
|
+
noveltype: "nt",
|
|
66
|
+
end: "e",
|
|
67
|
+
general_all_no: "ga",
|
|
68
|
+
length: "l",
|
|
69
|
+
time: "ti",
|
|
70
|
+
isstop: "i",
|
|
71
|
+
isr15: "isr",
|
|
72
|
+
isbl: "ibl",
|
|
73
|
+
isgl: "igl",
|
|
74
|
+
iszankoku: "izk",
|
|
75
|
+
istensei: "its",
|
|
76
|
+
istenni: "iti",
|
|
77
|
+
pc_or_k: "p",
|
|
78
|
+
global_point: "gp",
|
|
79
|
+
daily_point: "dp",
|
|
80
|
+
weekly_point: "wp",
|
|
81
|
+
monthly_point: "mp",
|
|
82
|
+
quarter_point: "qp",
|
|
83
|
+
yearly_point: "yp",
|
|
84
|
+
fav_novel_cnt: "f",
|
|
85
|
+
impression_cnt: "imp",
|
|
86
|
+
review_cnt: "r",
|
|
87
|
+
all_point: "a",
|
|
88
|
+
all_hyoka_cnt: "ah",
|
|
89
|
+
sasie_cnt: "sa",
|
|
90
|
+
kaiwaritu: "ka",
|
|
91
|
+
novelupdated_at: "nu",
|
|
92
|
+
updated_at: "ua",
|
|
93
|
+
};
|
|
94
|
+
exports.UserFields = {
|
|
95
|
+
userid: "u",
|
|
96
|
+
name: "n",
|
|
97
|
+
yomikata: "y",
|
|
98
|
+
name1st: "1",
|
|
99
|
+
novel_cnt: "nc",
|
|
100
|
+
review_cnt: "rc",
|
|
101
|
+
novel_length: "nl",
|
|
102
|
+
sum_global_point: "sg",
|
|
103
|
+
};
|
|
104
|
+
exports.OptionalFields = {
|
|
105
|
+
weekly_unique: "weekly",
|
|
106
|
+
};
|
|
107
|
+
/*
|
|
108
|
+
* new 新着更新順
|
|
109
|
+
* favnovelcnt ブックマーク数の多い順
|
|
110
|
+
* reviewcnt レビュー数の多い順
|
|
111
|
+
* hyoka 総合ポイントの高い順
|
|
112
|
+
* hyokaasc 総合ポイントの低い順
|
|
113
|
+
* dailypoint 日間ポイントの高い順
|
|
114
|
+
* weeklypoint 週間ポイントの高い順
|
|
115
|
+
* monthlypoint 月間ポイントの高い順
|
|
116
|
+
* quarterpoint 四半期ポイントの高い順
|
|
117
|
+
* yearlypoint 年間ポイントの高い順
|
|
118
|
+
* impressioncnt 感想の多い順
|
|
119
|
+
* hyokacnt 評価者数の多い順
|
|
120
|
+
* hyokacntasc 評価者数の少ない順
|
|
121
|
+
* weekly 週間ユニークユーザの多い順 毎週火曜日早朝リセット
|
|
122
|
+
* (前週の日曜日から土曜日分)
|
|
123
|
+
* lengthdesc 小説本文の文字数が多い順
|
|
124
|
+
* lengthasc 小説本文の文字数が少ない順
|
|
125
|
+
* ncodedesc Nコードが新しい順
|
|
126
|
+
* old 古い順
|
|
127
|
+
*/
|
|
128
|
+
exports.Order = {
|
|
129
|
+
FavoriteNovelCount: "favnovelcnt",
|
|
130
|
+
ReviewCount: "favnovelcnt",
|
|
131
|
+
HyokaDesc: "hyoka",
|
|
132
|
+
HyokaAsc: "hyokaasc",
|
|
133
|
+
ImpressionCount: "impressioncnt",
|
|
134
|
+
HyokaCountDesc: "hyokacnt",
|
|
135
|
+
HyokaCountAsc: "hyokacntasc",
|
|
136
|
+
Weekly: "weekly",
|
|
137
|
+
LengthDesc: "lengthdesc",
|
|
138
|
+
LengthAsc: "lengthasc",
|
|
139
|
+
NCodeDesc: "ncodedesc",
|
|
140
|
+
New: "new",
|
|
141
|
+
Old: "old",
|
|
142
|
+
DailyPoint: "dailypoint",
|
|
143
|
+
WeeklyPoint: "weeklypoint",
|
|
144
|
+
MonthlyPoint: "monthlypoint",
|
|
145
|
+
QuarterPoint: "quarterpoint",
|
|
146
|
+
YearlyPoint: "yearlypoint",
|
|
147
|
+
};
|
|
148
|
+
exports.R18Site = {
|
|
149
|
+
Nocturne: 1,
|
|
150
|
+
MoonLight: 2,
|
|
151
|
+
MoonLightBL: 3,
|
|
152
|
+
Midnight: 4,
|
|
153
|
+
};
|
|
154
|
+
exports.R18SiteNotation = {
|
|
155
|
+
[exports.R18Site.Nocturne]: "ノクターンノベルズ(男性向け)",
|
|
156
|
+
[exports.R18Site.MoonLight]: "ムーンライトノベルズ(女性向け)",
|
|
157
|
+
[exports.R18Site.MoonLightBL]: "ムーンライトノベルズ(BL)",
|
|
158
|
+
[exports.R18Site.Midnight]: "ミッドナイトノベルズ(大人向け)",
|
|
159
|
+
};
|
|
160
|
+
exports.BigGenre = {
|
|
161
|
+
Renai: 1,
|
|
162
|
+
Fantasy: 2,
|
|
163
|
+
Bungei: 3,
|
|
164
|
+
Sf: 4,
|
|
165
|
+
Sonota: 99,
|
|
166
|
+
NonGenre: 98,
|
|
167
|
+
};
|
|
168
|
+
exports.BigGenreNotation = {
|
|
169
|
+
[exports.BigGenre.Renai]: "恋愛",
|
|
170
|
+
[exports.BigGenre.Fantasy]: "ファンタジー",
|
|
171
|
+
[exports.BigGenre.Bungei]: "文芸",
|
|
172
|
+
[exports.BigGenre.Sf]: "SF",
|
|
173
|
+
[exports.BigGenre.Sonota]: "その他",
|
|
174
|
+
[exports.BigGenre.NonGenre]: "ノンジャンル",
|
|
175
|
+
};
|
|
176
|
+
exports.Genre = {
|
|
177
|
+
RenaiIsekai: 101,
|
|
178
|
+
RenaiGenjitsusekai: 102,
|
|
179
|
+
FantasyHigh: 201,
|
|
180
|
+
FantasyLow: 202,
|
|
181
|
+
BungeiJyunbungei: 301,
|
|
182
|
+
BungeiHumanDrama: 302,
|
|
183
|
+
BungeiHistory: 303,
|
|
184
|
+
BungeiSuiri: 304,
|
|
185
|
+
BungeiHorror: 305,
|
|
186
|
+
BungeiAction: 306,
|
|
187
|
+
BungeiComedy: 307,
|
|
188
|
+
SfVrgame: 401,
|
|
189
|
+
SfSpace: 402,
|
|
190
|
+
SfKuusoukagaku: 403,
|
|
191
|
+
SfPanic: 404,
|
|
192
|
+
SonotaDouwa: 9901,
|
|
193
|
+
SonotaShi: 9902,
|
|
194
|
+
SonotaEssei: 9903,
|
|
195
|
+
SonotaReplay: 9904,
|
|
196
|
+
SonotaSonota: 9999,
|
|
197
|
+
NonGenre: 9801,
|
|
198
|
+
};
|
|
199
|
+
exports.GenreNotation = {
|
|
200
|
+
[exports.Genre.RenaiIsekai]: "異世界〔恋愛〕",
|
|
201
|
+
[exports.Genre.RenaiGenjitsusekai]: "現実世界〔恋愛〕",
|
|
202
|
+
[exports.Genre.FantasyHigh]: "ハイファンタジー〔ファンタジー〕",
|
|
203
|
+
[exports.Genre.FantasyLow]: "ローファンタジー〔ファンタジー〕",
|
|
204
|
+
[exports.Genre.BungeiJyunbungei]: "純文学〔文芸〕",
|
|
205
|
+
[exports.Genre.BungeiHumanDrama]: "ヒューマンドラマ〔文芸〕",
|
|
206
|
+
[exports.Genre.BungeiHistory]: "歴史〔文芸〕",
|
|
207
|
+
[exports.Genre.BungeiSuiri]: "推理〔文芸〕",
|
|
208
|
+
[exports.Genre.BungeiHorror]: "ホラー〔文芸〕",
|
|
209
|
+
[exports.Genre.BungeiAction]: "アクション〔文芸〕",
|
|
210
|
+
[exports.Genre.BungeiComedy]: "コメディー〔文芸〕",
|
|
211
|
+
[exports.Genre.SfVrgame]: "VRゲーム〔SF〕",
|
|
212
|
+
[exports.Genre.SfSpace]: "宇宙〔SF〕",
|
|
213
|
+
[exports.Genre.SfKuusoukagaku]: "空想科学〔SF〕",
|
|
214
|
+
[exports.Genre.SfPanic]: "パニック〔SF〕",
|
|
215
|
+
[exports.Genre.SonotaDouwa]: "童話〔その他〕",
|
|
216
|
+
[exports.Genre.SonotaShi]: "詩〔その他〕",
|
|
217
|
+
[exports.Genre.SonotaEssei]: "エッセイ〔その他〕",
|
|
218
|
+
[exports.Genre.SonotaReplay]: "リプレイ〔その他〕",
|
|
219
|
+
[exports.Genre.SonotaSonota]: "その他〔その他〕",
|
|
220
|
+
[exports.Genre.NonGenre]: "ノンジャンル〔ノンジャンル〕",
|
|
221
|
+
};
|
|
222
|
+
exports.BuntaiParam = {
|
|
223
|
+
NoJisageKaigyouOoi: 1,
|
|
224
|
+
NoJisageKaigyoHutsuu: 2,
|
|
225
|
+
JisageKaigyoOoi: 4,
|
|
226
|
+
JisageKaigyoHutsuu: 6,
|
|
227
|
+
};
|
|
228
|
+
exports.StopParam = {
|
|
229
|
+
NoStopping: 1,
|
|
230
|
+
Stopping: 2,
|
|
231
|
+
};
|
|
232
|
+
exports.NovelTypeParam = {
|
|
233
|
+
Short: "t",
|
|
234
|
+
RensaiNow: "r",
|
|
235
|
+
RensaiEnd: "er",
|
|
236
|
+
Rensai: "re",
|
|
237
|
+
ShortAndRensai: "ter",
|
|
238
|
+
};
|
|
239
|
+
exports.UserOrder = {
|
|
240
|
+
New: "new",
|
|
241
|
+
NovelCount: "novelcnt",
|
|
242
|
+
ReviewCount: "reviewcnt",
|
|
243
|
+
NovelLength: "novellength",
|
|
244
|
+
SumGlobalPoint: "sumglobalpoint",
|
|
245
|
+
Old: "old",
|
|
246
|
+
};
|
|
247
|
+
//# sourceMappingURL=params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatRankingHistory = void 0;
|
|
4
|
+
const date_fns_1 = require("date-fns");
|
|
5
|
+
const dateFormat = "yyyyMMdd";
|
|
6
|
+
function formatRankingHistory(rankin) {
|
|
7
|
+
const { rtype, pt, rank } = rankin;
|
|
8
|
+
const [_date, _type] = rtype.split("-");
|
|
9
|
+
const date = (0, date_fns_1.parse)(_date, dateFormat, new Date());
|
|
10
|
+
const type = _type;
|
|
11
|
+
return { type, date, pt, rank };
|
|
12
|
+
}
|
|
13
|
+
exports.formatRankingHistory = formatRankingHistory;
|
|
14
|
+
//# sourceMappingURL=ranking-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ranking-history.js","sourceRoot":"","sources":["../src/ranking-history.ts"],"names":[],"mappings":";;;AAAA,uCAAiC;AAGjC,MAAM,UAAU,GAAG,UAAU,CAAC;AAe9B,SAAgB,oBAAoB,CAClC,MAA+B;IAE/B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAoB,CAAC;IAElC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AATD,oDASC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const search_builder_1 = __importDefault(require("./search-builder"));
|
|
7
|
+
const date_fns_1 = require("date-fns");
|
|
8
|
+
const params_1 = require("./params");
|
|
9
|
+
const dateFormat = "yyyyMMdd";
|
|
10
|
+
/**
|
|
11
|
+
* ランキングヘルパー
|
|
12
|
+
* @class Ranking
|
|
13
|
+
*/
|
|
14
|
+
class RankingBuilder {
|
|
15
|
+
/**
|
|
16
|
+
* constructor
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
constructor(params = {}, api) {
|
|
20
|
+
this.params = params;
|
|
21
|
+
this.api = api;
|
|
22
|
+
/**
|
|
23
|
+
* クエリパラメータ
|
|
24
|
+
* @protected
|
|
25
|
+
*/
|
|
26
|
+
this.date$ = (0, date_fns_1.addDays)(Date.now(), -1);
|
|
27
|
+
this.type$ = params_1.RankingType.Daily;
|
|
28
|
+
}
|
|
29
|
+
date(date) {
|
|
30
|
+
this.date$ = date;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
type(type) {
|
|
34
|
+
this.type$ = type;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* gzip圧縮する。
|
|
39
|
+
*
|
|
40
|
+
* 転送量上限を減らすためにも推奨
|
|
41
|
+
* @param {GzipLevel} level gzip圧縮レベル(1~5)
|
|
42
|
+
* @return {RankingBuilder} this
|
|
43
|
+
*/
|
|
44
|
+
gzip(level) {
|
|
45
|
+
this.set({ gzip: level });
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* クエリパラメータをセットする
|
|
50
|
+
* @private
|
|
51
|
+
* @return {RankingBuilder} this
|
|
52
|
+
*/
|
|
53
|
+
set(obj) {
|
|
54
|
+
Object.assign(this.params, obj);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* なろう小説APIへのリクエストを実行する
|
|
59
|
+
* @returns ランキング
|
|
60
|
+
*/
|
|
61
|
+
execute() {
|
|
62
|
+
const date = (0, date_fns_1.format)(this.date$, dateFormat);
|
|
63
|
+
this.set({ rtype: `${date}-${this.type$}` });
|
|
64
|
+
return this.api.executeRanking(this.params);
|
|
65
|
+
}
|
|
66
|
+
async executeWithFields(fields = [], opt) {
|
|
67
|
+
const ranking = await this.execute();
|
|
68
|
+
const fields$ = Array.isArray(fields)
|
|
69
|
+
? fields.length == 0
|
|
70
|
+
? []
|
|
71
|
+
: [...fields, params_1.Fields.ncode]
|
|
72
|
+
: [fields, params_1.Fields.ncode];
|
|
73
|
+
const rankingNcodes = ranking.map(({ ncode }) => ncode);
|
|
74
|
+
const builder = new search_builder_1.default({}, this.api);
|
|
75
|
+
builder.fields(fields$);
|
|
76
|
+
if (opt) {
|
|
77
|
+
builder.opt(opt);
|
|
78
|
+
}
|
|
79
|
+
builder.ncode(rankingNcodes);
|
|
80
|
+
builder.limit(ranking.length);
|
|
81
|
+
const result = await builder.execute();
|
|
82
|
+
return ranking.map((r) => ({
|
|
83
|
+
...r,
|
|
84
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
|
+
...result.values.find((novel) => novel.ncode == r.ncode),
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.default = RankingBuilder;
|
|
90
|
+
//# sourceMappingURL=ranking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ranking.js","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"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"}
|