narou 0.8.0 → 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.
Files changed (70) hide show
  1. package/dist/index.browser.d.ts +35 -35
  2. package/dist/index.browser.js +82 -82
  3. package/dist/index.common.d.ts +14 -14
  4. package/dist/index.common.js +34 -34
  5. package/dist/index.d.ts +42 -42
  6. package/dist/index.js +90 -90
  7. package/dist/narou-fetch.d.ts +12 -12
  8. package/dist/narou-fetch.js +45 -45
  9. package/dist/narou-jsonp.d.ts +9 -9
  10. package/dist/narou-jsonp.js +23 -23
  11. package/dist/narou-ranking-results.d.ts +9 -9
  12. package/dist/narou-ranking-results.js +2 -2
  13. package/dist/narou-search-results.d.ts +130 -130
  14. package/dist/narou-search-results.js +62 -62
  15. package/dist/narou.d.ts +25 -25
  16. package/dist/narou.js +29 -29
  17. package/dist/params.d.ts +323 -323
  18. package/dist/params.js +246 -246
  19. package/dist/ranking-history.d.ts +13 -13
  20. package/dist/ranking-history.js +13 -13
  21. package/dist/ranking.d.ts +45 -45
  22. package/dist/ranking.js +86 -86
  23. package/dist/search-builder-r18.d.ts +28 -28
  24. package/dist/search-builder-r18.js +44 -44
  25. package/dist/search-builder.d.ts +219 -219
  26. package/dist/search-builder.js +380 -380
  27. package/dist/user-search.d.ts +62 -62
  28. package/dist/user-search.js +93 -93
  29. package/dist/util/jsonp.d.ts +16 -16
  30. package/dist/util/jsonp.js +45 -45
  31. package/dist/util/type.d.ts +3 -3
  32. package/dist/util/type.js +2 -2
  33. package/dist/util/unzipp.d.ts +3 -3
  34. package/dist/util/unzipp.js +11 -11
  35. package/dist.esm/index.browser.js +86 -0
  36. package/dist.esm/index.browser.js.map +1 -0
  37. package/dist.esm/index.common.js +38 -0
  38. package/dist.esm/index.common.js.map +1 -0
  39. package/dist.esm/index.js +94 -0
  40. package/dist.esm/index.js.map +1 -0
  41. package/dist.esm/narou-fetch.js +49 -0
  42. package/dist.esm/narou-fetch.js.map +1 -0
  43. package/dist.esm/narou-jsonp.js +27 -0
  44. package/dist.esm/narou-jsonp.js.map +1 -0
  45. package/dist.esm/narou-ranking-results.js +3 -0
  46. package/dist.esm/narou-ranking-results.js.map +1 -0
  47. package/dist.esm/narou-search-results.js +63 -0
  48. package/dist.esm/narou-search-results.js.map +1 -0
  49. package/dist.esm/narou.js +33 -0
  50. package/dist.esm/narou.js.map +1 -0
  51. package/dist.esm/params.js +247 -0
  52. package/dist.esm/params.js.map +1 -0
  53. package/dist.esm/ranking-history.js +14 -0
  54. package/dist.esm/ranking-history.js.map +1 -0
  55. package/dist.esm/ranking.js +90 -0
  56. package/dist.esm/ranking.js.map +1 -0
  57. package/dist.esm/search-builder-r18.js +45 -0
  58. package/dist.esm/search-builder-r18.js.map +1 -0
  59. package/dist.esm/search-builder.js +381 -0
  60. package/dist.esm/search-builder.js.map +1 -0
  61. package/dist.esm/user-search.js +94 -0
  62. package/dist.esm/user-search.js.map +1 -0
  63. package/dist.esm/util/jsonp.js +46 -0
  64. package/dist.esm/util/jsonp.js.map +1 -0
  65. package/dist.esm/util/type.js +3 -0
  66. package/dist.esm/util/type.js.map +1 -0
  67. package/dist.esm/util/unzipp.js +12 -0
  68. package/dist.esm/util/unzipp.js.map +1 -0
  69. package/package.json +1 -1
  70. package/src/user-search.ts +109 -109
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=narou-ranking-results.js.map
@@ -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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"}