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.
- package/README.md +97 -4
- package/dist/narou-fetch.d.ts.map +1 -1
- package/dist/narou-fetch.js +1 -2
- package/dist/narou-fetch.js.map +1 -1
- package/dist/narou-jsonp.d.ts.map +1 -1
- package/dist/narou-jsonp.js +1 -2
- package/dist/narou-jsonp.js.map +1 -1
- package/dist/util/jsonp.d.ts +3 -0
- package/dist/util/jsonp.d.ts.map +1 -1
- package/dist/util/jsonp.js +3 -4
- package/dist/util/jsonp.js.map +1 -1
- package/package.json +1 -1
- package/src/narou-fetch.ts +1 -2
- package/src/narou-jsonp.ts +1 -3
- package/src/util/jsonp.ts +1 -2
- package/dist/util/url.d.ts +0 -10
- package/dist/util/url.d.ts.map +0 -1
- package/dist/util/url.js +0 -9
- package/dist/util/url.js.map +0 -1
- package/dist.es2015/index.browser.js +0 -50
- package/dist.es2015/index.browser.js.map +0 -1
- package/dist.es2015/index.common.js +0 -6
- package/dist.es2015/index.common.js.map +0 -1
- package/dist.es2015/index.js +0 -51
- package/dist.es2015/index.js.map +0 -1
- package/dist.es2015/narou-fetch.js +0 -44
- package/dist.es2015/narou-fetch.js.map +0 -1
- package/dist.es2015/narou-jsonp.js +0 -22
- package/dist.es2015/narou-jsonp.js.map +0 -1
- package/dist.es2015/narou-ranking-results.js +0 -2
- package/dist.es2015/narou-ranking-results.js.map +0 -1
- package/dist.es2015/narou-search-results.js +0 -60
- package/dist.es2015/narou-search-results.js.map +0 -1
- package/dist.es2015/narou.js +0 -24
- package/dist.es2015/narou.js.map +0 -1
- package/dist.es2015/params.js +0 -226
- package/dist.es2015/params.js.map +0 -1
- package/dist.es2015/ranking-history.js +0 -10
- package/dist.es2015/ranking-history.js.map +0 -1
- package/dist.es2015/ranking.js +0 -80
- package/dist.es2015/ranking.js.map +0 -1
- package/dist.es2015/search-builder-r18.js +0 -42
- package/dist.es2015/search-builder-r18.js.map +0 -1
- package/dist.es2015/search-builder.js +0 -390
- package/dist.es2015/search-builder.js.map +0 -1
- package/dist.es2015/util/jsonp.js +0 -44
- package/dist.es2015/util/jsonp.js.map +0 -1
- package/dist.es2015/util/type.js +0 -2
- package/dist.es2015/util/type.js.map +0 -1
- package/dist.es2015/util/unzipp.js +0 -8
- package/dist.es2015/util/unzipp.js.map +0 -1
- package/dist.es2015/util/url.js +0 -7
- package/dist.es2015/util/url.js.map +0 -1
- package/dist.esm/index.browser.js +0 -102
- package/dist.esm/index.browser.js.map +0 -1
- package/dist.esm/index.common.js +0 -6
- package/dist.esm/index.common.js.map +0 -1
- package/dist.esm/index.js +0 -103
- package/dist.esm/index.js.map +0 -1
- package/dist.esm/narou-fetch.js +0 -128
- package/dist.esm/narou-fetch.js.map +0 -1
- package/dist.esm/narou-jsonp.js +0 -100
- package/dist.esm/narou-jsonp.js.map +0 -1
- package/dist.esm/narou-ranking-results.js +0 -2
- package/dist.esm/narou-ranking-results.js.map +0 -1
- package/dist.esm/narou-search-results.js +0 -63
- package/dist.esm/narou-search-results.js.map +0 -1
- package/dist.esm/narou.js +0 -103
- package/dist.esm/narou.js.map +0 -1
- package/dist.esm/params.js +0 -227
- package/dist.esm/params.js.map +0 -1
- package/dist.esm/ranking-history.js +0 -10
- package/dist.esm/ranking-history.js.map +0 -1
- package/dist.esm/ranking.js +0 -154
- package/dist.esm/ranking.js.map +0 -1
- package/dist.esm/search-builder-r18.js +0 -63
- package/dist.esm/search-builder-r18.js.map +0 -1
- package/dist.esm/search-builder.js +0 -438
- package/dist.esm/search-builder.js.map +0 -1
- package/dist.esm/util/jsonp.js +0 -45
- package/dist.esm/util/jsonp.js.map +0 -1
- package/dist.esm/util/type.js +0 -2
- package/dist.esm/util/type.js.map +0 -1
- package/dist.esm/util/unzipp.js +0 -53
- package/dist.esm/util/unzipp.js.map +0 -1
- package/dist.esm/util/url.js +0 -7
- package/dist.esm/util/url.js.map +0 -1
- package/src/util/url.ts +0 -7
package/README.md
CHANGED
|
@@ -1,30 +1,123 @@
|
|
|
1
1
|
# node-narou
|
|
2
2
|
|
|
3
|
-
|
|
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;
|
|
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"}
|
package/dist/narou-fetch.js
CHANGED
|
@@ -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
|
|
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) {
|
package/dist/narou-fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narou-fetch.js","sourceRoot":"","sources":["../src/narou-fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;
|
|
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":"
|
|
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"}
|
package/dist/narou-jsonp.js
CHANGED
|
@@ -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
|
|
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) {
|
package/dist/narou-jsonp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narou-jsonp.js","sourceRoot":"","sources":["../src/narou-jsonp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
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"}
|
package/dist/util/jsonp.d.ts
CHANGED
package/dist/util/jsonp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonp.d.ts","sourceRoot":"","sources":["../../src/util/jsonp.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/util/jsonp.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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);
|
package/dist/util/jsonp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonp.js","sourceRoot":"","sources":["../../src/util/jsonp.ts"],"names":[],"mappings":"
|
|
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
package/src/narou-fetch.ts
CHANGED
|
@@ -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
|
|
25
|
+
const url = new URL(endpoint);
|
|
27
26
|
|
|
28
27
|
Object.entries(query).forEach(([key, value]) => {
|
|
29
28
|
if (value) {
|
package/src/narou-jsonp.ts
CHANGED
|
@@ -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
|
|
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
|
|
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);
|
package/dist/util/url.d.ts
DELETED
|
@@ -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
|
package/dist/util/url.d.ts.map
DELETED
|
@@ -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
|
package/dist/util/url.js.map
DELETED
|
@@ -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"}
|
package/dist.es2015/index.js
DELETED
|
@@ -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
|
package/dist.es2015/index.js.map
DELETED
|
@@ -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 +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"}
|
package/dist.es2015/narou.js
DELETED
|
@@ -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
|
package/dist.es2015/narou.js.map
DELETED
|
@@ -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"}
|