narou 0.7.6 → 0.7.7

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 (88) hide show
  1. package/README.md +97 -4
  2. package/dist/narou-fetch.d.ts.map +1 -1
  3. package/dist/narou-fetch.js +1 -2
  4. package/dist/narou-fetch.js.map +1 -1
  5. package/dist/narou-jsonp.d.ts.map +1 -1
  6. package/dist/narou-jsonp.js +1 -2
  7. package/dist/narou-jsonp.js.map +1 -1
  8. package/dist/util/jsonp.d.ts +3 -0
  9. package/dist/util/jsonp.d.ts.map +1 -1
  10. package/dist/util/jsonp.js +3 -4
  11. package/dist/util/jsonp.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/narou-fetch.ts +1 -2
  14. package/src/narou-jsonp.ts +1 -3
  15. package/src/util/jsonp.ts +1 -2
  16. package/dist/util/url.d.ts +0 -10
  17. package/dist/util/url.d.ts.map +0 -1
  18. package/dist/util/url.js +0 -9
  19. package/dist/util/url.js.map +0 -1
  20. package/dist.es2015/index.browser.js +0 -50
  21. package/dist.es2015/index.browser.js.map +0 -1
  22. package/dist.es2015/index.common.js +0 -6
  23. package/dist.es2015/index.common.js.map +0 -1
  24. package/dist.es2015/index.js +0 -51
  25. package/dist.es2015/index.js.map +0 -1
  26. package/dist.es2015/narou-fetch.js +0 -44
  27. package/dist.es2015/narou-fetch.js.map +0 -1
  28. package/dist.es2015/narou-jsonp.js +0 -22
  29. package/dist.es2015/narou-jsonp.js.map +0 -1
  30. package/dist.es2015/narou-ranking-results.js +0 -2
  31. package/dist.es2015/narou-ranking-results.js.map +0 -1
  32. package/dist.es2015/narou-search-results.js +0 -60
  33. package/dist.es2015/narou-search-results.js.map +0 -1
  34. package/dist.es2015/narou.js +0 -24
  35. package/dist.es2015/narou.js.map +0 -1
  36. package/dist.es2015/params.js +0 -226
  37. package/dist.es2015/params.js.map +0 -1
  38. package/dist.es2015/ranking-history.js +0 -10
  39. package/dist.es2015/ranking-history.js.map +0 -1
  40. package/dist.es2015/ranking.js +0 -80
  41. package/dist.es2015/ranking.js.map +0 -1
  42. package/dist.es2015/search-builder-r18.js +0 -42
  43. package/dist.es2015/search-builder-r18.js.map +0 -1
  44. package/dist.es2015/search-builder.js +0 -390
  45. package/dist.es2015/search-builder.js.map +0 -1
  46. package/dist.es2015/util/jsonp.js +0 -44
  47. package/dist.es2015/util/jsonp.js.map +0 -1
  48. package/dist.es2015/util/type.js +0 -2
  49. package/dist.es2015/util/type.js.map +0 -1
  50. package/dist.es2015/util/unzipp.js +0 -8
  51. package/dist.es2015/util/unzipp.js.map +0 -1
  52. package/dist.es2015/util/url.js +0 -7
  53. package/dist.es2015/util/url.js.map +0 -1
  54. package/dist.esm/index.browser.js +0 -102
  55. package/dist.esm/index.browser.js.map +0 -1
  56. package/dist.esm/index.common.js +0 -6
  57. package/dist.esm/index.common.js.map +0 -1
  58. package/dist.esm/index.js +0 -103
  59. package/dist.esm/index.js.map +0 -1
  60. package/dist.esm/narou-fetch.js +0 -128
  61. package/dist.esm/narou-fetch.js.map +0 -1
  62. package/dist.esm/narou-jsonp.js +0 -100
  63. package/dist.esm/narou-jsonp.js.map +0 -1
  64. package/dist.esm/narou-ranking-results.js +0 -2
  65. package/dist.esm/narou-ranking-results.js.map +0 -1
  66. package/dist.esm/narou-search-results.js +0 -63
  67. package/dist.esm/narou-search-results.js.map +0 -1
  68. package/dist.esm/narou.js +0 -103
  69. package/dist.esm/narou.js.map +0 -1
  70. package/dist.esm/params.js +0 -227
  71. package/dist.esm/params.js.map +0 -1
  72. package/dist.esm/ranking-history.js +0 -10
  73. package/dist.esm/ranking-history.js.map +0 -1
  74. package/dist.esm/ranking.js +0 -154
  75. package/dist.esm/ranking.js.map +0 -1
  76. package/dist.esm/search-builder-r18.js +0 -63
  77. package/dist.esm/search-builder-r18.js.map +0 -1
  78. package/dist.esm/search-builder.js +0 -438
  79. package/dist.esm/search-builder.js.map +0 -1
  80. package/dist.esm/util/jsonp.js +0 -45
  81. package/dist.esm/util/jsonp.js.map +0 -1
  82. package/dist.esm/util/type.js +0 -2
  83. package/dist.esm/util/type.js.map +0 -1
  84. package/dist.esm/util/unzipp.js +0 -53
  85. package/dist.esm/util/unzipp.js.map +0 -1
  86. package/dist.esm/util/url.js +0 -7
  87. package/dist.esm/util/url.js.map +0 -1
  88. package/src/util/url.ts +0 -7
package/README.md CHANGED
@@ -1,30 +1,123 @@
1
1
  # node-narou
2
2
 
3
- なろう小説APIのラッパーライブラリです。
3
+ [なろうデベロッパー](https://dev.syosetu.com/)の API を fluent interface で利用できるラッパーライブラリです。
4
+ ブラウザでの JSONP の利用も可能です。
5
+
6
+ 以下の API をラップしています。
7
+
8
+ - [なろう小説 API](https://dev.syosetu.com/man/api/)
9
+ - [なろう小説ランキング API](https://dev.syosetu.com/man/rankapi/)
10
+ - [なろう殿堂入り API](https://dev.syosetu.com/man/rankinapi/)
11
+ - [なろう R18 小説 API](https://dev.syosetu.com/xman/api/)
4
12
 
5
13
  ## Installation
6
14
 
15
+ 以下のコマンドでインストールできます。
16
+
7
17
  ```
8
18
  npm install narou
9
19
  ```
10
20
 
11
21
  ## Usage - API
12
22
 
13
- 準備中
23
+ https://deflis.github.io/node-narou/ を参照してください。
14
24
 
15
25
  ## Example
16
26
 
17
- 準備中
27
+ ```typescript
28
+ import { search, ranking, rankingHistory, searchR18 } from "narou";
29
+ import {
30
+ Genre,
31
+ GenreNotation,
32
+ Order,
33
+ NovelTypeParam,
34
+ RankingType,
35
+ R18Site,
36
+ R18SiteNotation,
37
+ } from "narou";
38
+
39
+ // なろう小説 API
40
+ const searchResult = await search("word")
41
+ .genre(Genre.RenaiIsekai) // 異世界〔恋愛〕
42
+ .order(Order.FavoriteNovelCount) // ブックマーク数の多い順
43
+ .type(NovelTypeParam.RensaiNow) // 連載中
44
+ .execute();
45
+
46
+ console.log(searchResult.allcount);
47
+
48
+ for (const novel of searchResult.values) {
49
+ console.log(novel.title);
50
+ console.log(novel.ncode);
51
+ console.log(GenreNotation[novel.genre]); // 値から名前を取得できるヘルパーもあります
52
+ }
53
+
54
+ // なろう小説ランキング API
55
+ const rankingResult = await ranking()
56
+ .date(new Date("2023-04-01"))
57
+ .type(RankingType.Daily)
58
+ .execute();
59
+
60
+ for (const novel of rankingResult) {
61
+ console.log(novel.ncode);
62
+ console.log(novel.rank);
63
+ console.log(novel.pt);
64
+ }
65
+
66
+ // なろう小説ランキング API となろう小説 API を組み合わせたヘルパーもあります
67
+ const rankingResultWithDetail = await ranking()
68
+ .date(new Date("2023-04-01"))
69
+ .type(RankingType.Daily)
70
+ .executeWithFields();
71
+
72
+ for (const novel of rankingResultWithDetail) {
73
+ console.log(novel.ncode);
74
+ console.log(novel.rank);
75
+ console.log(novel.pt);
76
+ console.log(novel.title);
77
+ }
78
+
79
+ // なろう殿堂入り API
80
+ const rankingHistoryResult = await rankingHistory("**NCODE**");
81
+
82
+ for (const history of rankingHistoryResult) {
83
+ console.log(history.type);
84
+ console.log(history.date);
85
+ console.log(history.pt);
86
+ console.log(history.rank);
87
+ }
88
+
89
+ // 18禁小説 API
90
+ const searchR18Result = await searchR18("word")
91
+ .r18Site(R18Site.Nocturne) // ノクターン
92
+ .order(Order.FavoriteNovelCount) // ブックマーク数の多い順
93
+ .type(NovelTypeParam.RensaiNow) // 連載中
94
+ .execute();
95
+
96
+ console.log(searchR18Result.allcount);
97
+
98
+ for (const novel of searchR18Result.values) {
99
+ console.log(novel.title);
100
+ console.log(novel.ncode);
101
+ console.log(R18SiteNotation[novel.nocgenre]); // 値から名前を取得できるヘルパーもあります
102
+ }
103
+ ```
18
104
 
19
105
  ## Development
20
106
 
21
107
  ```
108
+
22
109
  # watch
110
+
23
111
  npm run watch
112
+
24
113
  # build
114
+
25
115
  npm run build
116
+
26
117
  # test
118
+
27
119
  npm run test
120
+
28
121
  ```
29
122
 
30
123
  ## Contributing
@@ -37,4 +130,4 @@ npm run test
37
130
 
38
131
  ## License
39
132
 
40
- MIT
133
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"narou-fetch.d.ts","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,OAAO,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IACzC,OAAO,CAAC,KAAK;gBAAL,KAAK,mBAAY;cAIrB,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CA+Bd"}
1
+ {"version":3,"file":"narou-fetch.d.ts","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,OAAO,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IACzC,OAAO,CAAC,KAAK;gBAAL,KAAK,mBAAY;cAIrB,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CA+Bd"}
@@ -63,7 +63,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
63
63
  };
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
65
  var node_fetch_1 = require("node-fetch");
66
- var url_1 = require("./util/url");
67
66
  var unzipp_1 = require("./util/unzipp");
68
67
  var narou_1 = require("./narou");
69
68
  /**
@@ -89,7 +88,7 @@ var NarouNovelFetch = /** @class */ (function (_super) {
89
88
  if (query.gzip === undefined) {
90
89
  query.gzip = 5;
91
90
  }
92
- url = new url_1.default(endpoint);
91
+ url = new URL(endpoint);
93
92
  Object.entries(query).forEach(function (_a) {
94
93
  var key = _a[0], value = _a[1];
95
94
  if (value) {
@@ -1 +1 @@
1
- {"version":3,"file":"narou-fetch.js","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;AACnC,kCAAiC;AAEjC,wCAAuC;AACvC,iCAAkD;AAElD;;;;GAIG;AACH;IAA6C,mCAAU;IACrD,yBAAoB,KAAiB;QAAjB,sBAAA,EAAA,QAAQ,oBAAS;QAArC,YACE,iBAAO,SACR;QAFmB,WAAK,GAAL,KAAK,CAAY;;IAErC,CAAC;IAEe,iCAAO,GAAvB,UACE,MAAmB,EACnB,QAAgB;;;;;;wBAEV,KAAK,yBAAQ,MAAM,KAAE,GAAG,EAAE,MAAM,GAAE,CAAC;wBAEzC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;4BAC5B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;yBAChB;wBACK,GAAG,GAAG,IAAI,aAAO,CAAC,QAAQ,CAAC,CAAC;wBAElC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;gCAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BACxC,IAAI,KAAK,EAAE;gCACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;6BAChD;wBACH,CAAC,CAAC,CAAC;wBAES,qBAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA;;wBAA3B,GAAG,GAAG,SAAqB;6BAE7B,CAAA,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA,EAAhB,wBAAgB;wBACX,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;4BAAvB,sBAAO,SAAgB,EAAC;4BAGX,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA3B,MAAM,GAAG,SAAkB;;;;wBAExB,qBAAM,IAAA,eAAM,EAAC,MAAM,CAAC,EAAA;4BAA3B,sBAAO,SAAoB,EAAC;;;wBAE5B,IAAI;4BACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;yBACzC;wBAAC,WAAM;4BACN,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;yBACzB;;;;;;KAEJ;IACH,sBAAC;AAAD,CAAC,AAvCD,CAA6C,eAAU,GAuCtD"}
1
+ {"version":3,"file":"narou-fetch.js","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;AAEnC,wCAAuC;AACvC,iCAAkD;AAElD;;;;GAIG;AACH;IAA6C,mCAAU;IACrD,yBAAoB,KAAiB;QAAjB,sBAAA,EAAA,QAAQ,oBAAS;QAArC,YACE,iBAAO,SACR;QAFmB,WAAK,GAAL,KAAK,CAAY;;IAErC,CAAC;IAEe,iCAAO,GAAvB,UACE,MAAmB,EACnB,QAAgB;;;;;;wBAEV,KAAK,yBAAQ,MAAM,KAAE,GAAG,EAAE,MAAM,GAAE,CAAC;wBAEzC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;4BAC5B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;yBAChB;wBACK,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAE9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;gCAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BACxC,IAAI,KAAK,EAAE;gCACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;6BAChD;wBACH,CAAC,CAAC,CAAC;wBAES,qBAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA;;wBAA3B,GAAG,GAAG,SAAqB;6BAE7B,CAAA,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA,EAAhB,wBAAgB;wBACX,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;4BAAvB,sBAAO,SAAgB,EAAC;4BAGX,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA3B,MAAM,GAAG,SAAkB;;;;wBAExB,qBAAM,IAAA,eAAM,EAAC,MAAM,CAAC,EAAA;4BAA3B,sBAAO,SAAoB,EAAC;;;wBAE5B,IAAI;4BACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;yBACzC;wBAAC,WAAM;4BACN,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;yBACzB;;;;;;KAEJ;IACH,sBAAC;AAAD,CAAC,AAvCD,CAA6C,eAAU,GAuCtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"narou-jsonp.d.ts","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;cACrC,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CAcd"}
1
+ {"version":3,"file":"narou-jsonp.d.ts","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;cACrC,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CAcd"}
@@ -62,7 +62,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
62
62
  }
63
63
  };
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
- var url_1 = require("./util/url");
66
65
  var narou_1 = require("./narou");
67
66
  var jsonp_1 = require("./util/jsonp");
68
67
  /**
@@ -83,7 +82,7 @@ var NarouNovelJsonp = /** @class */ (function (_super) {
83
82
  case 0:
84
83
  query = __assign(__assign({}, params), { out: "jsonp" });
85
84
  query.gzip = 0;
86
- url = new url_1.default(endpoint);
85
+ url = new URL(endpoint);
87
86
  Object.entries(query).forEach(function (_a) {
88
87
  var key = _a[0], value = _a[1];
89
88
  if (value) {
@@ -1 +1 @@
1
- {"version":3,"file":"narou-jsonp.js","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAiC;AAEjC,iCAAkD;AAClD,sCAAqC;AAErC;;;;GAIG;AACH;IAA6C,mCAAU;IAAvD;;IAkBA,CAAC;IAjBiB,iCAAO,GAAvB,UACE,MAAmB,EACnB,QAAgB;;;;;;wBAEV,KAAK,yBAAQ,MAAM,KAAE,GAAG,EAAE,OAAO,GAAE,CAAC;wBAC1C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;wBAET,GAAG,GAAG,IAAI,aAAO,CAAC,QAAQ,CAAC,CAAC;wBAElC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;gCAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BACxC,IAAI,KAAK,EAAE;gCACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;6BAChD;wBACH,CAAC,CAAC,CAAC;wBAEI,qBAAM,IAAA,aAAK,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAA;4BAAlC,sBAAO,SAA2B,EAAC;;;;KACpC;IACH,sBAAC;AAAD,CAAC,AAlBD,CAA6C,eAAU,GAkBtD"}
1
+ {"version":3,"file":"narou-jsonp.js","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAkD;AAClD,sCAAqC;AAErC;;;;GAIG;AACH;IAA6C,mCAAU;IAAvD;;IAkBA,CAAC;IAjBiB,iCAAO,GAAvB,UACE,MAAmB,EACnB,QAAgB;;;;;;wBAEV,KAAK,yBAAQ,MAAM,KAAE,GAAG,EAAE,OAAO,GAAE,CAAC;wBAC1C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;wBAET,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAE9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;gCAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BACxC,IAAI,KAAK,EAAE;gCACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;6BAChD;wBACH,CAAC,CAAC,CAAC;wBAEI,qBAAM,IAAA,aAAK,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAA;4BAAlC,sBAAO,SAA2B,EAAC;;;;KACpC;IACH,sBAAC;AAAD,CAAC,AAlBD,CAA6C,eAAU,GAkBtD"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * MIT license
3
+ */
1
4
  declare type CallbackId<Prefix extends string = string> = `${Prefix}${number}`;
2
5
  declare global {
3
6
  interface Window {
@@ -1 +1 @@
1
- {"version":3,"file":"jsonp.d.ts","sourceRoot":"","sources":["../../src/util/jsonp.ts"],"names":[],"mappings":"AAQA,aAAK,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEvE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QAEd,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;KACxC;CACF;AACD,oBAAY,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,wBAAgB,KAAK,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,EACX,EAAE,MAAe,EAAE,KAAkB,EAAE,OAAe,EAAE,GAAE,WAAgB,GACzE,OAAO,CAAC,CAAC,CAAC,CAwCZ"}
1
+ {"version":3,"file":"jsonp.d.ts","sourceRoot":"","sources":["../../src/util/jsonp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,aAAK,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEvE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QAEd,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;KACxC;CACF;AACD,oBAAY,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,wBAAgB,KAAK,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,EACX,EAAE,MAAe,EAAE,KAAkB,EAAE,OAAe,EAAE,GAAE,WAAgB,GACzE,OAAO,CAAC,CAAC,CAAC,CAwCZ"}
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsonp = void 0;
4
2
  /**
5
3
  * MIT license
6
4
  */
7
- var url_1 = require("./url");
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.jsonp = void 0;
8
7
  // Callback index.
9
8
  var count = 0;
10
9
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -39,7 +38,7 @@ function jsonp(url, _a) {
39
38
  window[id] = callback;
40
39
  // Create script.
41
40
  var script = document.createElement("script");
42
- var urlObj = new url_1.default(url);
41
+ var urlObj = new URL(url);
43
42
  urlObj.searchParams.set(param, id);
44
43
  script.setAttribute("src", urlObj.toString());
45
44
  target.insertBefore(script, targetChild);
@@ -1 +1 @@
1
- {"version":3,"file":"jsonp.js","sourceRoot":"","sources":["../../src/util/jsonp.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,6BAA4B;AAE5B,kBAAkB;AAClB,IAAI,KAAK,GAAG,CAAC,CAAC;AAgBd,gEAAgE;AAChE,IAAM,IAAI,GAAG,cAAa,CAAC,CAAC;AAE5B,SAAgB,KAAK,CACnB,GAAW,EACX,EAA0E;QAA1E,qBAAwE,EAAE,KAAA,EAAxE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAE,aAAkB,EAAlB,KAAK,mBAAG,UAAU,KAAA,EAAE,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA;IAEtD,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;;QAC1C,IAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAM,MAAM,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,mCAAI,QAAQ,CAAC,IAAI,CAAC;QAExD,IAAM,EAAE,GAAe,UAAG,MAAM,SAAG,KAAK,EAAE,CAAE,CAAC;QAC7C,IAAM,OAAO,GAAG;YACd,yBAAyB;YACzB,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACvC;YAED,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAElB,IAAI,KAAK,EAAE;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QAEF,IAAM,KAAK,GACT,OAAO,GAAG,CAAC;YACT,CAAC,CAAC,UAAU,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,OAAO,CAAC;YACb,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAM,QAAQ,GAAG,UAAC,IAAO;YACvB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAEtB,iBAAiB;QACjB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,MAAM,GAAG,IAAI,aAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AA3CD,sBA2CC"}
1
+ {"version":3,"file":"jsonp.js","sourceRoot":"","sources":["../../src/util/jsonp.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,kBAAkB;AAClB,IAAI,KAAK,GAAG,CAAC,CAAC;AAgBd,gEAAgE;AAChE,IAAM,IAAI,GAAG,cAAa,CAAC,CAAC;AAE5B,SAAgB,KAAK,CACnB,GAAW,EACX,EAA0E;QAA1E,qBAAwE,EAAE,KAAA,EAAxE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAE,aAAkB,EAAlB,KAAK,mBAAG,UAAU,KAAA,EAAE,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA;IAEtD,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;;QAC1C,IAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAM,MAAM,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,mCAAI,QAAQ,CAAC,IAAI,CAAC;QAExD,IAAM,EAAE,GAAe,UAAG,MAAM,SAAG,KAAK,EAAE,CAAE,CAAC;QAC7C,IAAM,OAAO,GAAG;YACd,yBAAyB;YACzB,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACvC;YAED,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAElB,IAAI,KAAK,EAAE;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QAEF,IAAM,KAAK,GACT,OAAO,GAAG,CAAC;YACT,CAAC,CAAC,UAAU,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,OAAO,CAAC;YACb,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAM,QAAQ,GAAG,UAAC,IAAO;YACvB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAEtB,iBAAiB;QACjB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AA3CD,sBA2CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "narou",
3
- "version": "0.7.6",
3
+ "version": "0.7.7",
4
4
  "description": "Narou API Wrapper",
5
5
  "main": "dist/index.js",
6
6
  "browser": "dist/index.browser.js",
@@ -1,5 +1,4 @@
1
1
  import nodeFetch from "node-fetch";
2
- import nodeURL from "./util/url";
3
2
 
4
3
  import { unzipp } from "./util/unzipp";
5
4
  import NarouNovel, { NarouParams } from "./narou";
@@ -23,7 +22,7 @@ export default class NarouNovelFetch extends NarouNovel {
23
22
  if (query.gzip === undefined) {
24
23
  query.gzip = 5;
25
24
  }
26
- const url = new nodeURL(endpoint);
25
+ const url = new URL(endpoint);
27
26
 
28
27
  Object.entries(query).forEach(([key, value]) => {
29
28
  if (value) {
@@ -1,5 +1,3 @@
1
- import nodeURL from "./util/url";
2
-
3
1
  import NarouNovel, { NarouParams } from "./narou";
4
2
  import { jsonp } from "./util/jsonp";
5
3
 
@@ -16,7 +14,7 @@ export default class NarouNovelJsonp extends NarouNovel {
16
14
  const query = { ...params, out: "jsonp" };
17
15
  query.gzip = 0;
18
16
 
19
- const url = new nodeURL(endpoint);
17
+ const url = new URL(endpoint);
20
18
 
21
19
  Object.entries(query).forEach(([key, value]) => {
22
20
  if (value) {
package/src/util/jsonp.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * MIT license
3
3
  */
4
- import nodeURL from "./url";
5
4
 
6
5
  // Callback index.
7
6
  let count = 0;
@@ -61,7 +60,7 @@ export function jsonp<T>(
61
60
 
62
61
  // Create script.
63
62
  const script = document.createElement("script");
64
- const urlObj = new nodeURL(url);
63
+ const urlObj = new URL(url);
65
64
  urlObj.searchParams.set(param, id);
66
65
  script.setAttribute("src", urlObj.toString());
67
66
  target.insertBefore(script, targetChild);
@@ -1,10 +0,0 @@
1
- /// <reference types="node" />
2
- import { URL as nodeURL } from "url";
3
- declare const _default: {
4
- new (url: string | URL, base?: string | URL | undefined): URL;
5
- prototype: URL;
6
- createObjectURL(obj: Blob | MediaSource): string;
7
- revokeObjectURL(url: string): void;
8
- } | typeof nodeURL;
9
- export default _default;
10
- //# sourceMappingURL=url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/util/url.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,KAAK,CAAC;;;;;;;AAMrC,wBAAoC"}
package/dist/util/url.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var url_1 = require("url");
4
- var windowURL = null;
5
- if (typeof window !== "undefined") {
6
- windowURL = window.URL;
7
- }
8
- exports.default = windowURL !== null && windowURL !== void 0 ? windowURL : url_1.URL;
9
- //# sourceMappingURL=url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/util/url.ts"],"names":[],"mappings":";;AAAA,2BAAqC;AACrC,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;CACxB;AAED,kBAAe,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAO,CAAC"}
@@ -1,50 +0,0 @@
1
- import NarouNovelJsonp from "./narou-jsonp";
2
- import SearchBuilder from "./search-builder";
3
- import SearchBuilderR18 from "./search-builder-r18";
4
- import RankingBuilder from "./ranking";
5
- import { formatRankingHistory } from "./ranking-history";
6
- export * from "./index.common";
7
- export { NarouNovelJsonp };
8
- const narouNovelJsonp = new NarouNovelJsonp();
9
- /**
10
- * 検索
11
- * @param {string} [word] - 検索ワード
12
- * @returns {SearchBuilder}
13
- */
14
- export function search(word = "", api = narouNovelJsonp) {
15
- const builder = new SearchBuilder({}, api);
16
- if (word != "")
17
- builder.word(word);
18
- return builder;
19
- }
20
- /**
21
- * 検索
22
- * @param {string} [word] - 検索ワード
23
- * @returns {SearchBuilder}
24
- */
25
- export function searchR18(word = "", api = narouNovelJsonp) {
26
- const builder = new SearchBuilderR18({}, api);
27
- if (word != "")
28
- builder.word(word);
29
- return builder;
30
- }
31
- export function ranking(api = narouNovelJsonp) {
32
- const builder = new RankingBuilder({}, api);
33
- return builder;
34
- }
35
- export async function rankingHistory(ncode, api = narouNovelJsonp) {
36
- const result = await api.executeRankingHistory({ ncode });
37
- if (Array.isArray(result)) {
38
- return result.map(formatRankingHistory);
39
- }
40
- else {
41
- throw new Error(result);
42
- }
43
- }
44
- export default {
45
- search,
46
- ranking,
47
- searchR18,
48
- rankingHistory,
49
- };
50
- //# sourceMappingURL=index.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,eAAe,CAAC;AAE5C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,cAAc,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAC;AAE/E,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CACpB,IAAI,GAAG,EAAE,EACT,MAAkB,eAAe;IAEjC,MAAM,OAAO,GAAG,IAAI,aAAa,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;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,IAAI,GAAG,EAAE,EACT,MAAkB,eAAe;IAEjC,MAAM,OAAO,GAAG,IAAI,gBAAgB,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;AAED,MAAM,UAAU,OAAO,CAAC,MAAkB,eAAe;IACvD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,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,oBAAoB,CAAC,CAAC;KACzC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;KACzB;AACH,CAAC;AAED,eAAe;IACb,MAAM;IACN,OAAO;IACP,SAAS;IACT,cAAc;CACf,CAAC"}
@@ -1,6 +0,0 @@
1
- import NarouNovel from "./narou";
2
- import NarouSearchResults from "./narou-search-results";
3
- export { NarouNovel, NarouSearchResults };
4
- export { RankingType, Fields, Order, BigGenre, BigGenreNotation, Genre, GenreNotation, R18Site, R18SiteNotation, BuntaiParam, NovelTypeParam, BooleanNumber, } from "./params";
5
- export { PcOrK, NovelType, End, } from "./narou-search-results";
6
- //# sourceMappingURL=index.common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.common.js","sourceRoot":"","sources":["../src/index.common.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,SAAS,CAAC;AACjC,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,MAAM,EAEN,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,OAAO,EACP,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAKL,KAAK,EACL,SAAS,EACT,GAAG,GACJ,MAAM,wBAAwB,CAAC"}
@@ -1,51 +0,0 @@
1
- import NarouNovelFetch from "./narou-fetch";
2
- import NarouNovelJsonp from "./narou-jsonp";
3
- import RankingBuilder from "./ranking";
4
- import { formatRankingHistory } from "./ranking-history";
5
- import SearchBuilder from "./search-builder";
6
- import SearchBuilderR18 from "./search-builder-r18";
7
- export * from "./index.common";
8
- export { NarouNovelFetch, NarouNovelJsonp };
9
- const narouNovelFetch = new NarouNovelFetch();
10
- /**
11
- * 検索
12
- * @param {string} [word] - 検索ワード
13
- * @returns {SearchBuilder}
14
- */
15
- export function search(word = "", api = narouNovelFetch) {
16
- const builder = new SearchBuilder({}, api);
17
- if (word != "")
18
- builder.word(word);
19
- return builder;
20
- }
21
- /**
22
- * 検索
23
- * @param {string} [word] - 検索ワード
24
- * @returns {SearchBuilder}
25
- */
26
- export function searchR18(word = "", api = narouNovelFetch) {
27
- const builder = new SearchBuilderR18({}, api);
28
- if (word != "")
29
- builder.word(word);
30
- return builder;
31
- }
32
- export function ranking(api = narouNovelFetch) {
33
- const builder = new RankingBuilder({}, api);
34
- return builder;
35
- }
36
- export async function rankingHistory(ncode, api = narouNovelFetch) {
37
- const result = await api.executeRankingHistory({ ncode });
38
- if (Array.isArray(result)) {
39
- return result.map(formatRankingHistory);
40
- }
41
- else {
42
- throw new Error(result);
43
- }
44
- }
45
- export default {
46
- search,
47
- ranking,
48
- searchR18,
49
- rankingHistory,
50
- };
51
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,cAAc,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAEpD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAE5C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CACpB,IAAI,GAAG,EAAE,EACT,MAAkB,eAAe;IAEjC,MAAM,OAAO,GAAG,IAAI,aAAa,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;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,IAAI,GAAG,EAAE,EACT,MAAkB,eAAe;IAEjC,MAAM,OAAO,GAAG,IAAI,gBAAgB,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;AAED,MAAM,UAAU,OAAO,CAAC,MAAkB,eAAe;IACvD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,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,oBAAoB,CAAC,CAAC;KACzC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;KACzB;AACH,CAAC;AAED,eAAe;IACb,MAAM;IACN,OAAO;IACP,SAAS;IACT,cAAc;CACf,CAAC"}
@@ -1,44 +0,0 @@
1
- import nodeFetch from "node-fetch";
2
- import nodeURL from "./util/url";
3
- import { unzipp } from "./util/unzipp";
4
- import NarouNovel from "./narou";
5
- /**
6
- * なろう小説APIへのリクエストを実行する
7
- * @class NarouNovel
8
- * @private
9
- */
10
- export default class NarouNovelFetch extends NarouNovel {
11
- constructor(fetch = nodeFetch) {
12
- super();
13
- this.fetch = fetch;
14
- }
15
- async execute(params, endpoint) {
16
- const query = Object.assign(Object.assign({}, params), { out: "json" });
17
- if (query.gzip === undefined) {
18
- query.gzip = 5;
19
- }
20
- const url = new nodeURL(endpoint);
21
- Object.entries(query).forEach(([key, value]) => {
22
- if (value) {
23
- url.searchParams.append(key, value.toString());
24
- }
25
- });
26
- const res = await this.fetch(url);
27
- if (query.gzip === 0) {
28
- return await res.json();
29
- }
30
- const buffer = await res.buffer();
31
- try {
32
- return await unzipp(buffer);
33
- }
34
- catch (_a) {
35
- try {
36
- throw JSON.stringify(buffer.toString());
37
- }
38
- catch (_b) {
39
- throw buffer.toString();
40
- }
41
- }
42
- }
43
- }
44
- //# sourceMappingURL=narou-fetch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narou-fetch.js","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,UAA2B,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IACrD,YAAoB,QAAQ,SAAS;QACnC,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAY;IAErC,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,MAAmB,EACnB,QAAgB;QAEhB,MAAM,KAAK,mCAAQ,MAAM,KAAE,GAAG,EAAE,MAAM,GAAE,CAAC;QAEzC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;SAChB;QACD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElC,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,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7B;QAAC,WAAM;YACN,IAAI;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;aACzC;YAAC,WAAM;gBACN,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;aACzB;SACF;IACH,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- import nodeURL from "./util/url";
2
- import NarouNovel from "./narou";
3
- import { jsonp } from "./util/jsonp";
4
- /**
5
- * なろう小説APIへのリクエストを実行する
6
- * @class NarouNovel
7
- * @private
8
- */
9
- export default class NarouNovelJsonp extends NarouNovel {
10
- async execute(params, endpoint) {
11
- const query = Object.assign(Object.assign({}, params), { out: "jsonp" });
12
- query.gzip = 0;
13
- const url = new nodeURL(endpoint);
14
- Object.entries(query).forEach(([key, value]) => {
15
- if (value) {
16
- url.searchParams.append(key, value.toString());
17
- }
18
- });
19
- return await jsonp(url.toString());
20
- }
21
- }
22
- //# sourceMappingURL=narou-jsonp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narou-jsonp.js","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,UAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IAC3C,KAAK,CAAC,OAAO,CACrB,MAAmB,EACnB,QAAgB;QAEhB,MAAM,KAAK,mCAAQ,MAAM,KAAE,GAAG,EAAE,OAAO,GAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAEf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElC,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,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=narou-ranking-results.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narou-ranking-results.js","sourceRoot":"","sources":["../src/narou-ranking-results.ts"],"names":[],"mappings":""}
@@ -1,60 +0,0 @@
1
- /**
2
- * なろう小説API検索結果
3
- * @class NarouSearchResults
4
- */
5
- export default class NarouSearchResults {
6
- /**
7
- * @constractor
8
- * @private
9
- */
10
- constructor([header, ...result], params) {
11
- var _a, _b;
12
- const count = header.allcount;
13
- const limit = (_a = params.lim) !== null && _a !== void 0 ? _a : 20;
14
- const start = (_b = params.st) !== null && _b !== void 0 ? _b : 0;
15
- /**
16
- * 検索結果数
17
- * @type {number}
18
- */
19
- this.allcount = count;
20
- /**
21
- * 結果表示上限数
22
- * @type {number}
23
- */
24
- this.limit = limit;
25
- /**
26
- * 結果表示開始数
27
- * @type {number}
28
- */
29
- this.start = start;
30
- /**
31
- * 結果表示ページ数
32
- * @type {number}
33
- */
34
- this.page = start / limit;
35
- /**
36
- * 結果数
37
- * @type {number}
38
- */
39
- this.length = result.length;
40
- /**
41
- * 検索結果
42
- * @type {PickedNarouSearchResult<T>[]}
43
- */
44
- this.values = result;
45
- }
46
- }
47
- export const PcOrK = {
48
- Ketai: 1,
49
- Pc: 2,
50
- PcAndKetai: 3,
51
- };
52
- export const NovelType = {
53
- Rensai: 1,
54
- Tanpen: 2,
55
- };
56
- export const End = {
57
- KanketsuOrTanpen: 0,
58
- Rensai: 1,
59
- };
60
- //# sourceMappingURL=narou-search-results.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narou-search-results.js","sourceRoot":"","sources":["../src/narou-search-results.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAQrC;;;OAGG;IACH,YACE,CAAC,MAAM,EAAE,GAAG,MAAM,CAGjB,EACD,MAAoB;;QAEpB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,GAAG,mCAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,EAAE,mCAAI,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;AA2ED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,UAAU,EAAE,CAAC;CACL,CAAC;AAGX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,gBAAgB,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC;CACD,CAAC"}
@@ -1,24 +0,0 @@
1
- import NarouSearchResults from "./narou-search-results";
2
- /**
3
- * なろう小説APIへのリクエストを実行する
4
- * @class NarouNovel
5
- * @private
6
- */
7
- export default class NarouNovel {
8
- async executeSearch(params, endpoint = "https://api.syosetu.com/novelapi/api/") {
9
- return new NarouSearchResults(await this.execute(params, endpoint), params);
10
- }
11
- async executeNovel(params) {
12
- return await this.executeSearch(params, "https://api.syosetu.com/novelapi/api/");
13
- }
14
- async executeNovel18(params) {
15
- return await this.executeSearch(params, "https://api.syosetu.com/novel18api/api/");
16
- }
17
- async executeRanking(params) {
18
- return await this.execute(params, "https://api.syosetu.com/rank/rankget/");
19
- }
20
- async executeRankingHistory(params) {
21
- return await this.execute(params, "https://api.syosetu.com/rank/rankin/");
22
- }
23
- }
24
- //# sourceMappingURL=narou.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narou.js","sourceRoot":"","sources":["../src/narou.ts"],"names":[],"mappings":"AACA,OAAO,kBAAyC,MAAM,wBAAwB,CAAC;AAM/E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAgB,UAAU;IAYtC,KAAK,CAAC,aAAa,CACjB,MAAmB,EACnB,QAAQ,GAAG,uCAAuC;QAElD,OAAO,IAAI,kBAAkB,CAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,MAAM,CACP,CAAC;IACJ,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;CACF"}