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.
Files changed (102) hide show
  1. package/dist/index.browser.d.ts +35 -29
  2. package/dist/index.browser.d.ts.map +1 -1
  3. package/dist/index.browser.js +82 -122
  4. package/dist/index.browser.js.map +1 -1
  5. package/dist/index.common.d.ts +14 -9
  6. package/dist/index.common.d.ts.map +1 -1
  7. package/dist/index.common.js +34 -24
  8. package/dist/index.common.js.map +1 -1
  9. package/dist/index.d.ts +42 -30
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +90 -124
  12. package/dist/index.js.map +1 -1
  13. package/dist/narou-fetch.d.ts +12 -12
  14. package/dist/narou-fetch.js +45 -128
  15. package/dist/narou-fetch.js.map +1 -1
  16. package/dist/narou-jsonp.d.ts +9 -9
  17. package/dist/narou-jsonp.js +23 -100
  18. package/dist/narou-jsonp.js.map +1 -1
  19. package/dist/narou-ranking-results.d.ts +9 -9
  20. package/dist/narou-ranking-results.js +2 -2
  21. package/dist/narou-search-results.d.ts +130 -120
  22. package/dist/narou-search-results.d.ts.map +1 -1
  23. package/dist/narou-search-results.js +62 -65
  24. package/dist/narou-search-results.js.map +1 -1
  25. package/dist/narou.d.ts +25 -24
  26. package/dist/narou.d.ts.map +1 -1
  27. package/dist/narou.js +29 -104
  28. package/dist/narou.js.map +1 -1
  29. package/dist/params.d.ts +323 -282
  30. package/dist/params.d.ts.map +1 -1
  31. package/dist/params.js +246 -229
  32. package/dist/params.js.map +1 -1
  33. package/dist/ranking-history.d.ts +13 -13
  34. package/dist/ranking-history.js +13 -13
  35. package/dist/ranking-history.js.map +1 -1
  36. package/dist/ranking.d.ts +45 -45
  37. package/dist/ranking.js +86 -155
  38. package/dist/ranking.js.map +1 -1
  39. package/dist/search-builder-r18.d.ts +28 -28
  40. package/dist/search-builder-r18.d.ts.map +1 -1
  41. package/dist/search-builder-r18.js +44 -64
  42. package/dist/search-builder-r18.js.map +1 -1
  43. package/dist/search-builder.d.ts +219 -234
  44. package/dist/search-builder.d.ts.map +1 -1
  45. package/dist/search-builder.js +380 -440
  46. package/dist/search-builder.js.map +1 -1
  47. package/dist/user-search.d.ts +63 -0
  48. package/dist/user-search.d.ts.map +1 -0
  49. package/dist/user-search.js +94 -0
  50. package/dist/user-search.js.map +1 -0
  51. package/dist/util/jsonp.d.ts +16 -16
  52. package/dist/util/jsonp.js +45 -47
  53. package/dist/util/jsonp.js.map +1 -1
  54. package/dist/util/type.d.ts +3 -3
  55. package/dist/util/type.js +2 -2
  56. package/dist/util/unzipp.d.ts +3 -3
  57. package/dist/util/unzipp.js +11 -56
  58. package/dist/util/unzipp.js.map +1 -1
  59. package/dist.esm/index.browser.js +86 -0
  60. package/dist.esm/index.browser.js.map +1 -0
  61. package/dist.esm/index.common.js +38 -0
  62. package/dist.esm/index.common.js.map +1 -0
  63. package/dist.esm/index.js +94 -0
  64. package/dist.esm/index.js.map +1 -0
  65. package/dist.esm/narou-fetch.js +49 -0
  66. package/dist.esm/narou-fetch.js.map +1 -0
  67. package/dist.esm/narou-jsonp.js +27 -0
  68. package/dist.esm/narou-jsonp.js.map +1 -0
  69. package/dist.esm/narou-ranking-results.js +3 -0
  70. package/dist.esm/narou-ranking-results.js.map +1 -0
  71. package/dist.esm/narou-search-results.js +63 -0
  72. package/dist.esm/narou-search-results.js.map +1 -0
  73. package/dist.esm/narou.js +33 -0
  74. package/dist.esm/narou.js.map +1 -0
  75. package/dist.esm/params.js +247 -0
  76. package/dist.esm/params.js.map +1 -0
  77. package/dist.esm/ranking-history.js +14 -0
  78. package/dist.esm/ranking-history.js.map +1 -0
  79. package/dist.esm/ranking.js +90 -0
  80. package/dist.esm/ranking.js.map +1 -0
  81. package/dist.esm/search-builder-r18.js +45 -0
  82. package/dist.esm/search-builder-r18.js.map +1 -0
  83. package/dist.esm/search-builder.js +381 -0
  84. package/dist.esm/search-builder.js.map +1 -0
  85. package/dist.esm/user-search.js +94 -0
  86. package/dist.esm/user-search.js.map +1 -0
  87. package/dist.esm/util/jsonp.js +46 -0
  88. package/dist.esm/util/jsonp.js.map +1 -0
  89. package/dist.esm/util/type.js +3 -0
  90. package/dist.esm/util/type.js.map +1 -0
  91. package/dist.esm/util/unzipp.js +12 -0
  92. package/dist.esm/util/unzipp.js.map +1 -0
  93. package/package.json +18 -8
  94. package/src/index.browser.ts +12 -1
  95. package/src/index.common.ts +18 -29
  96. package/src/index.ts +20 -3
  97. package/src/narou-search-results.ts +20 -7
  98. package/src/narou.ts +26 -11
  99. package/src/params.ts +60 -15
  100. package/src/search-builder-r18.ts +9 -9
  101. package/src/search-builder.ts +96 -102
  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,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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"}