narou 1.0.0 → 1.2.0
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 +7 -0
- package/dist/{chunk-RITMMCZE.js → chunk-3A5MHPWL.js} +1 -1
- package/dist/chunk-3A5MHPWL.js.map +1 -0
- package/dist/{chunk-6RIDVTFQ.js → chunk-5UDKQCPJ.js} +12 -2
- package/dist/chunk-5UDKQCPJ.js.map +1 -0
- package/dist/{chunk-UN3W2CT3.js → chunk-6BZWV4ZC.js} +6 -3
- package/dist/{chunk-UN3W2CT3.js.map → chunk-6BZWV4ZC.js.map} +1 -1
- package/dist/chunk-BQLSW236.js +117 -0
- package/dist/chunk-BQLSW236.js.map +1 -0
- package/dist/{chunk-DBCAWGIX.js → chunk-DEQICAN3.js} +2 -2
- package/dist/chunk-E2H3AJSQ.js +57 -0
- package/dist/chunk-E2H3AJSQ.js.map +1 -0
- package/dist/chunk-HOBLKBZ6.js +452 -0
- package/dist/chunk-HOBLKBZ6.js.map +1 -0
- package/dist/{chunk-TNDGN3EF.js → chunk-IPDEGCWU.js} +1 -1
- package/dist/chunk-IPDEGCWU.js.map +1 -0
- package/dist/{chunk-GAEL5UWA.js → chunk-LQLNWSWV.js} +4 -4
- package/dist/{chunk-GAEL5UWA.js.map → chunk-LQLNWSWV.js.map} +1 -1
- package/dist/{chunk-NP5NZV5Q.js → chunk-PLEM2AOH.js} +8 -5
- package/dist/chunk-PLEM2AOH.js.map +1 -0
- package/dist/chunk-RNHRR56W.js +25 -0
- package/dist/chunk-RNHRR56W.js.map +1 -0
- package/dist/{chunk-JMTNQTNC.js → chunk-VUZIISP2.js} +2 -3
- package/dist/chunk-VUZIISP2.js.map +1 -0
- package/dist/{chunk-XAUB42TO.js → chunk-VZVUANDN.js} +6 -4
- package/dist/chunk-VZVUANDN.js.map +1 -0
- package/dist/index.browser.cjs +245 -94
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.d.cts +24 -9
- package/dist/index.browser.d.ts +24 -9
- package/dist/index.browser.js +16 -16
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +256 -103
- package/dist/index.cjs.map +1 -1
- package/dist/index.common.cjs +241 -87
- package/dist/index.common.cjs.map +1 -1
- package/dist/index.common.d.cts +2 -2
- package/dist/index.common.d.ts +2 -2
- package/dist/index.common.js +11 -8
- package/dist/index.d.cts +15 -6
- package/dist/index.d.ts +15 -6
- package/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/dist/narou-DBa12V_l.d.ts +404 -0
- package/dist/narou-DCp4aGfA.d.cts +404 -0
- package/dist/narou-fetch.cjs +10 -5
- package/dist/narou-fetch.cjs.map +1 -1
- package/dist/narou-fetch.d.cts +4 -3
- package/dist/narou-fetch.d.ts +4 -3
- package/dist/narou-fetch.js +4 -4
- package/dist/narou-jsonp.cjs +5 -2
- package/dist/narou-jsonp.cjs.map +1 -1
- package/dist/narou-jsonp.d.cts +2 -2
- package/dist/narou-jsonp.d.ts +2 -2
- package/dist/narou-jsonp.js +4 -4
- package/dist/narou-ranking-results.d.cts +2 -2
- package/dist/narou-ranking-results.d.ts +2 -2
- package/dist/{narou-search-results-D_vbjc_I.d.cts → narou-search-results-C21hWrnL.d.cts} +30 -19
- package/dist/{narou-search-results-CvMcnYqe.d.ts → narou-search-results-DT0YdaBn.d.ts} +30 -19
- package/dist/narou-search-results.cjs.map +1 -1
- package/dist/narou-search-results.d.cts +1 -1
- package/dist/narou-search-results.d.ts +1 -1
- package/dist/narou-search-results.js +1 -1
- package/dist/narou.cjs +4 -1
- package/dist/narou.cjs.map +1 -1
- package/dist/narou.d.cts +2 -2
- package/dist/narou.d.ts +2 -2
- package/dist/narou.js +2 -2
- package/dist/params.cjs +12 -1
- package/dist/params.cjs.map +1 -1
- package/dist/params.d.cts +1 -1
- package/dist/params.d.ts +1 -1
- package/dist/params.js +3 -1
- package/dist/ranking-history.cjs +11 -3
- package/dist/ranking-history.cjs.map +1 -1
- package/dist/ranking-history.d.cts +12 -1
- package/dist/ranking-history.d.ts +12 -1
- package/dist/ranking-history.js +2 -1
- package/dist/ranking.cjs +201 -78
- package/dist/ranking.cjs.map +1 -1
- package/dist/ranking.d.cts +70 -9
- package/dist/ranking.d.ts +70 -9
- package/dist/ranking.js +4 -3
- package/dist/search-builder-r18.cjs +133 -60
- package/dist/search-builder-r18.cjs.map +1 -1
- package/dist/search-builder-r18.d.cts +19 -6
- package/dist/search-builder-r18.d.ts +19 -6
- package/dist/search-builder-r18.js +3 -3
- package/dist/search-builder.cjs +150 -70
- package/dist/search-builder.cjs.map +1 -1
- package/dist/search-builder.d.cts +2 -2
- package/dist/search-builder.d.ts +2 -2
- package/dist/search-builder.js +2 -2
- package/dist/user-search.cjs +37 -13
- package/dist/user-search.cjs.map +1 -1
- package/dist/user-search.d.cts +2 -2
- package/dist/user-search.d.ts +2 -2
- package/dist/user-search.js +3 -3
- package/dist/util/date.cjs +51 -0
- package/dist/util/date.cjs.map +1 -0
- package/dist/util/date.d.cts +21 -0
- package/dist/util/date.d.ts +21 -0
- package/dist/util/date.js +11 -0
- package/dist/util/date.js.map +1 -0
- package/dist/util/jsonp.cjs.map +1 -1
- package/dist/util/jsonp.d.cts +36 -0
- package/dist/util/jsonp.d.ts +36 -0
- package/dist/util/jsonp.js +1 -1
- package/dist/util/type.cjs.map +1 -1
- package/dist/util/type.d.cts +23 -0
- package/dist/util/type.d.ts +23 -0
- package/dist/util/unzipp.cjs +1 -2
- package/dist/util/unzipp.cjs.map +1 -1
- package/dist/util/unzipp.d.cts +9 -0
- package/dist/util/unzipp.d.ts +9 -0
- package/dist/util/unzipp.js +1 -1
- package/package.json +47 -46
- package/pnpm-lock.yaml +3041 -0
- package/src/index.browser.ts +21 -5
- package/src/index.ts +11 -2
- package/src/narou-fetch.ts +5 -2
- package/src/narou-jsonp.ts +1 -1
- package/src/narou-search-results.ts +2 -1
- package/src/narou.ts +4 -1
- package/src/params.ts +34 -18
- package/src/ranking-history.ts +13 -4
- package/src/ranking.ts +79 -15
- package/src/search-builder-r18.ts +17 -4
- package/src/search-builder.ts +203 -79
- package/src/util/date.ts +38 -0
- package/src/util/jsonp.ts +61 -6
- package/src/util/type.ts +23 -0
- package/src/util/unzipp.ts +9 -0
- package/dist/chunk-6RIDVTFQ.js.map +0 -1
- package/dist/chunk-JMTNQTNC.js.map +0 -1
- package/dist/chunk-NP5NZV5Q.js.map +0 -1
- package/dist/chunk-OJGRUQEQ.js +0 -372
- package/dist/chunk-OJGRUQEQ.js.map +0 -1
- package/dist/chunk-QQYQ4GQF.js +0 -83
- package/dist/chunk-QQYQ4GQF.js.map +0 -1
- package/dist/chunk-RITMMCZE.js.map +0 -1
- package/dist/chunk-TNDGN3EF.js.map +0 -1
- package/dist/chunk-XAUB42TO.js.map +0 -1
- package/dist/chunk-YJQXIVFD.js +0 -44
- package/dist/chunk-YJQXIVFD.js.map +0 -1
- package/dist/narou-CosGR0J9.d.cts +0 -298
- package/dist/narou-CutsOEgk.d.ts +0 -298
- /package/dist/{chunk-DBCAWGIX.js.map → chunk-DEQICAN3.js.map} +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/util/date.ts
|
|
21
|
+
var date_exports = {};
|
|
22
|
+
__export(date_exports, {
|
|
23
|
+
addDays: () => addDays,
|
|
24
|
+
formatDate: () => formatDate,
|
|
25
|
+
parseDate: () => parseDate
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(date_exports);
|
|
28
|
+
function parseDate(dateStr) {
|
|
29
|
+
const year = parseInt(dateStr.substring(0, 4), 10);
|
|
30
|
+
const month = parseInt(dateStr.substring(4, 6), 10) - 1;
|
|
31
|
+
const day = parseInt(dateStr.substring(6, 8), 10);
|
|
32
|
+
return new Date(year, month, day, 0, 0, 0, 0);
|
|
33
|
+
}
|
|
34
|
+
function formatDate(date) {
|
|
35
|
+
const year = date.getFullYear();
|
|
36
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
37
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
38
|
+
return `${year}${month}${day}`;
|
|
39
|
+
}
|
|
40
|
+
function addDays(date, days) {
|
|
41
|
+
const result = new Date(date);
|
|
42
|
+
result.setDate(result.getDate() + days);
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
addDays,
|
|
48
|
+
formatDate,
|
|
49
|
+
parseDate
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=date.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/util/date.ts"],"sourcesContent":["// 日付関連のユーティリティ関数\n\n/**\n * 文字列の日付(yyyyMMdd形式)をDateオブジェクトに変換する\n * @param dateStr yyyyMMdd形式の日付文字列\n * @returns Dateオブジェクト\n */\nexport function parseDate(dateStr: string): Date {\n const year = parseInt(dateStr.substring(0, 4), 10);\n const month = parseInt(dateStr.substring(4, 6), 10) - 1; // JavaScriptの月は0から始まる\n const day = parseInt(dateStr.substring(6, 8), 10);\n\n return new Date(year, month, day, 0, 0, 0, 0);\n}\n\n/**\n * 日付をyyyyMMdd形式の文字列に変換する\n * @param date 日付\n * @returns yyyyMMdd形式の文字列\n */\nexport function formatDate(date: Date): string {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n return `${year}${month}${day}`;\n}\n\n/**\n * 指定された日数を加算した新しい日付を返す\n * @param date 元の日付\n * @param days 加算する日数\n * @returns 新しい日付\n */\nexport function addDays(date: Date, days: number): Date {\n const result = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,SAAS,UAAU,SAAuB;AAC/C,QAAM,OAAO,SAAS,QAAQ,UAAU,GAAG,CAAC,GAAG,EAAE;AACjD,QAAM,QAAQ,SAAS,QAAQ,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI;AACtD,QAAM,MAAM,SAAS,QAAQ,UAAU,GAAG,CAAC,GAAG,EAAE;AAEhD,SAAO,IAAI,KAAK,MAAM,OAAO,KAAK,GAAG,GAAG,GAAG,CAAC;AAC9C;AAOO,SAAS,WAAW,MAAoB;AAC7C,QAAM,OAAO,KAAK,YAAY;AAC9B,QAAM,QAAQ,OAAO,KAAK,SAAS,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG;AACzD,QAAM,MAAM,OAAO,KAAK,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAClD,SAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG;AAC9B;AAQO,SAAS,QAAQ,MAAY,MAAoB;AACtD,QAAM,SAAS,IAAI,KAAK,IAAI;AAC5B,SAAO,QAAQ,OAAO,QAAQ,IAAI,IAAI;AACtC,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文字列の日付(yyyyMMdd形式)をDateオブジェクトに変換する
|
|
3
|
+
* @param dateStr yyyyMMdd形式の日付文字列
|
|
4
|
+
* @returns Dateオブジェクト
|
|
5
|
+
*/
|
|
6
|
+
declare function parseDate(dateStr: string): Date;
|
|
7
|
+
/**
|
|
8
|
+
* 日付をyyyyMMdd形式の文字列に変換する
|
|
9
|
+
* @param date 日付
|
|
10
|
+
* @returns yyyyMMdd形式の文字列
|
|
11
|
+
*/
|
|
12
|
+
declare function formatDate(date: Date): string;
|
|
13
|
+
/**
|
|
14
|
+
* 指定された日数を加算した新しい日付を返す
|
|
15
|
+
* @param date 元の日付
|
|
16
|
+
* @param days 加算する日数
|
|
17
|
+
* @returns 新しい日付
|
|
18
|
+
*/
|
|
19
|
+
declare function addDays(date: Date, days: number): Date;
|
|
20
|
+
|
|
21
|
+
export { addDays, formatDate, parseDate };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文字列の日付(yyyyMMdd形式)をDateオブジェクトに変換する
|
|
3
|
+
* @param dateStr yyyyMMdd形式の日付文字列
|
|
4
|
+
* @returns Dateオブジェクト
|
|
5
|
+
*/
|
|
6
|
+
declare function parseDate(dateStr: string): Date;
|
|
7
|
+
/**
|
|
8
|
+
* 日付をyyyyMMdd形式の文字列に変換する
|
|
9
|
+
* @param date 日付
|
|
10
|
+
* @returns yyyyMMdd形式の文字列
|
|
11
|
+
*/
|
|
12
|
+
declare function formatDate(date: Date): string;
|
|
13
|
+
/**
|
|
14
|
+
* 指定された日数を加算した新しい日付を返す
|
|
15
|
+
* @param date 元の日付
|
|
16
|
+
* @param days 加算する日数
|
|
17
|
+
* @returns 新しい日付
|
|
18
|
+
*/
|
|
19
|
+
declare function addDays(date: Date, days: number): Date;
|
|
20
|
+
|
|
21
|
+
export { addDays, formatDate, parseDate };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/util/jsonp.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/jsonp.ts"],"sourcesContent":["/**\n * MIT license\n */\n\n// Callback index.\nlet count = 0;\n\ntype CallbackId<Prefix extends string = string> = `${Prefix}${number}`;\n\ndeclare global {\n interface Window {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: CallbackId]: (data: any) => void;\n }\n}\nexport type JsonpOption = {\n prefix?: string;\n param?: string;\n timeout?: number;\n};\n\n
|
|
1
|
+
{"version":3,"sources":["../../src/util/jsonp.ts"],"sourcesContent":["/**\n * MIT license\n */\n\n// Callback index.\nlet count = 0;\n\ntype CallbackId<Prefix extends string = string> = `${Prefix}${number}`;\n\ndeclare global {\n interface Window {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: CallbackId]: (data: any) => void;\n }\n}\n\n/**\n * JSONP呼び出しのオプション設定\n */\nexport type JsonpOption = {\n /**\n * コールバック関数名のプレフィックス\n * @default \"__jp\"\n */\n prefix?: string;\n \n /**\n * コールバック関数名を指定するURLパラメータ名\n * @default \"callback\"\n */\n param?: string;\n \n /**\n * タイムアウト時間(ミリ秒)\n * @default 15000\n */\n timeout?: number;\n};\n\nconst noop = function () { };\n\n/**\n * JSONPリクエストを実行してデータを取得します。\n * \n * @param url - リクエスト先のURL\n * @param options - JSONP呼び出しのオプション設定\n * @returns JSONPリクエストの結果をPromiseで返します\n * @throws {Error} タイムアウトが発生した場合、\"Timeout\"メッセージのエラーをスローします\n * \n * @example\n * ```typescript\n * // 基本的な使用方法\n * const data = await jsonp<ResponseType>('https://example.com/api');\n * \n * // オプション指定\n * const data = await jsonp<ResponseType>('https://example.com/api', {\n * prefix: 'customPrefix',\n * param: 'callbackParam',\n * timeout: 10000\n * });\n * ```\n */\nexport function jsonp<T>(\n url: string,\n { prefix = \"__jp\", param = \"callback\", timeout = 15000 }: JsonpOption = {}\n): Promise<T> {\n return new Promise(function (resolve, reject) {\n // 最初のscriptタグを取得し、そのタグの直前に新しいscriptタグを挿入するための参照を取得\n // これにより、ページの構造を大きく変えることなくscriptを追加できる\n const targetChild = document.getElementsByTagName(\"script\").item(0);\n const target = targetChild?.parentNode ?? document.head;\n\n // ユニークなコールバック関数名を生成\n const id: CallbackId = `${prefix}${count++}`;\n \n // リソース解放用の関数を定義\n // スクリプトタグの削除、コールバック関数のクリーンアップ、タイマーのクリアを行う\n const cleanup = function () {\n // Remove the script tag.\n if (script && script.parentNode) {\n script.parentNode.removeChild(script);\n }\n\n // コールバック関数を空の関数に置き換えてメモリリークを防止\n window[id] = noop;\n\n if (timer) {\n clearTimeout(timer);\n }\n };\n\n // タイムアウト処理の設定\n // 指定された時間内にレスポンスがない場合はエラーとして処理\n const timer =\n timeout > 0\n ? setTimeout(() => {\n cleanup();\n reject(new Error(\"Timeout\"));\n }, timeout)\n : undefined;\n\n // サーバーからのレスポンスを処理するコールバック関数\n const callback = (data: T) => {\n cleanup();\n resolve(data);\n };\n \n // グローバルスコープにコールバック関数を登録\n // これによりJSONPのレスポンスから関数が呼び出せるようになる\n window[id] = callback;\n\n // JSONPリクエスト用のscriptタグを作成\n const script = document.createElement(\"script\");\n const urlObj = new URL(url);\n \n // URLにコールバック関数名をパラメータとして追加\n urlObj.searchParams.set(param, id);\n script.setAttribute(\"src\", urlObj.toString());\n \n // DOMにscriptタグを挿入し、リクエストを開始\n target.insertBefore(script, targetChild);\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAI,QAAQ;AAkCZ,IAAM,OAAO,WAAY;AAAE;AAuBpB,SAAS,MACd,KACA,EAAE,SAAS,QAAQ,QAAQ,YAAY,UAAU,KAAM,IAAiB,CAAC,GAC7D;AACZ,SAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAG5C,UAAM,cAAc,SAAS,qBAAqB,QAAQ,EAAE,KAAK,CAAC;AAClE,UAAM,SAAS,aAAa,cAAc,SAAS;AAGnD,UAAM,KAAiB,GAAG,MAAM,GAAG,OAAO;AAI1C,UAAM,UAAU,WAAY;AAE1B,UAAI,UAAU,OAAO,YAAY;AAC/B,eAAO,WAAW,YAAY,MAAM;AAAA,MACtC;AAGA,aAAO,EAAE,IAAI;AAEb,UAAI,OAAO;AACT,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAIA,UAAM,QACJ,UAAU,IACN,WAAW,MAAM;AACjB,cAAQ;AACR,aAAO,IAAI,MAAM,SAAS,CAAC;AAAA,IAC7B,GAAG,OAAO,IACR;AAGN,UAAM,WAAW,CAAC,SAAY;AAC5B,cAAQ;AACR,cAAQ,IAAI;AAAA,IACd;AAIA,WAAO,EAAE,IAAI;AAGb,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,UAAM,SAAS,IAAI,IAAI,GAAG;AAG1B,WAAO,aAAa,IAAI,OAAO,EAAE;AACjC,WAAO,aAAa,OAAO,OAAO,SAAS,CAAC;AAG5C,WAAO,aAAa,QAAQ,WAAW;AAAA,EACzC,CAAC;AACH;","names":[]}
|
package/dist/util/jsonp.d.cts
CHANGED
|
@@ -3,11 +3,47 @@ declare global {
|
|
|
3
3
|
[key: CallbackId]: (data: any) => void;
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* JSONP呼び出しのオプション設定
|
|
8
|
+
*/
|
|
6
9
|
type JsonpOption = {
|
|
10
|
+
/**
|
|
11
|
+
* コールバック関数名のプレフィックス
|
|
12
|
+
* @default "__jp"
|
|
13
|
+
*/
|
|
7
14
|
prefix?: string;
|
|
15
|
+
/**
|
|
16
|
+
* コールバック関数名を指定するURLパラメータ名
|
|
17
|
+
* @default "callback"
|
|
18
|
+
*/
|
|
8
19
|
param?: string;
|
|
20
|
+
/**
|
|
21
|
+
* タイムアウト時間(ミリ秒)
|
|
22
|
+
* @default 15000
|
|
23
|
+
*/
|
|
9
24
|
timeout?: number;
|
|
10
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* JSONPリクエストを実行してデータを取得します。
|
|
28
|
+
*
|
|
29
|
+
* @param url - リクエスト先のURL
|
|
30
|
+
* @param options - JSONP呼び出しのオプション設定
|
|
31
|
+
* @returns JSONPリクエストの結果をPromiseで返します
|
|
32
|
+
* @throws {Error} タイムアウトが発生した場合、"Timeout"メッセージのエラーをスローします
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // 基本的な使用方法
|
|
37
|
+
* const data = await jsonp<ResponseType>('https://example.com/api');
|
|
38
|
+
*
|
|
39
|
+
* // オプション指定
|
|
40
|
+
* const data = await jsonp<ResponseType>('https://example.com/api', {
|
|
41
|
+
* prefix: 'customPrefix',
|
|
42
|
+
* param: 'callbackParam',
|
|
43
|
+
* timeout: 10000
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
11
47
|
declare function jsonp<T>(url: string, { prefix, param, timeout }?: JsonpOption): Promise<T>;
|
|
12
48
|
|
|
13
49
|
export { type JsonpOption, jsonp };
|
package/dist/util/jsonp.d.ts
CHANGED
|
@@ -3,11 +3,47 @@ declare global {
|
|
|
3
3
|
[key: CallbackId]: (data: any) => void;
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* JSONP呼び出しのオプション設定
|
|
8
|
+
*/
|
|
6
9
|
type JsonpOption = {
|
|
10
|
+
/**
|
|
11
|
+
* コールバック関数名のプレフィックス
|
|
12
|
+
* @default "__jp"
|
|
13
|
+
*/
|
|
7
14
|
prefix?: string;
|
|
15
|
+
/**
|
|
16
|
+
* コールバック関数名を指定するURLパラメータ名
|
|
17
|
+
* @default "callback"
|
|
18
|
+
*/
|
|
8
19
|
param?: string;
|
|
20
|
+
/**
|
|
21
|
+
* タイムアウト時間(ミリ秒)
|
|
22
|
+
* @default 15000
|
|
23
|
+
*/
|
|
9
24
|
timeout?: number;
|
|
10
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* JSONPリクエストを実行してデータを取得します。
|
|
28
|
+
*
|
|
29
|
+
* @param url - リクエスト先のURL
|
|
30
|
+
* @param options - JSONP呼び出しのオプション設定
|
|
31
|
+
* @returns JSONPリクエストの結果をPromiseで返します
|
|
32
|
+
* @throws {Error} タイムアウトが発生した場合、"Timeout"メッセージのエラーをスローします
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // 基本的な使用方法
|
|
37
|
+
* const data = await jsonp<ResponseType>('https://example.com/api');
|
|
38
|
+
*
|
|
39
|
+
* // オプション指定
|
|
40
|
+
* const data = await jsonp<ResponseType>('https://example.com/api', {
|
|
41
|
+
* prefix: 'customPrefix',
|
|
42
|
+
* param: 'callbackParam',
|
|
43
|
+
* timeout: 10000
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
11
47
|
declare function jsonp<T>(url: string, { prefix, param, timeout }?: JsonpOption): Promise<T>;
|
|
12
48
|
|
|
13
49
|
export { type JsonpOption, jsonp };
|
package/dist/util/jsonp.js
CHANGED
package/dist/util/type.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/type.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/util/type.ts"],"sourcesContent":["/**\n * 文字列に変換可能な型を表します。\n * \n * このタイプには以下が含まれます:\n * - `string`: 文字列プリミティブ\n * - `number`: 数値\n * - `bigint`: 任意精度の整数\n * - `boolean`: 真/偽の値\n * - `null`: null値\n * - `undefined`: undefined値\n * \n * これらの型はすべて、文字列連結や文字列変換可能な値を期待する関数で安全に使用できます。\n */\ntype Stringable = string | number | bigint | boolean | null | undefined;\n\n/**\n * ハイフンで結合された2つの文字列変換可能な値、または単一の値を表すユーティリティタイプ。\n * \n * @template T - 文字列に変換可能な型\n * @returns `${T}-${T}` (ハイフンで結合された2つの値) または `${T}` (単一の値)\n * \n * @example\n * type Numbers = 1 | 2 | 3;\n * type JoinedNumbers = Join<Numbers>; // '1' | '2' | '3' | '1-1' | '1-2' | '1-3' | '2-1' | '2-2' | '2-3' | '3-1' | '3-2' | '3-3'\n */\nexport type Join<T extends Stringable> = `${T}-${T}` | `${T}`;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
package/dist/util/type.d.cts
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文字列に変換可能な型を表します。
|
|
3
|
+
*
|
|
4
|
+
* このタイプには以下が含まれます:
|
|
5
|
+
* - `string`: 文字列プリミティブ
|
|
6
|
+
* - `number`: 数値
|
|
7
|
+
* - `bigint`: 任意精度の整数
|
|
8
|
+
* - `boolean`: 真/偽の値
|
|
9
|
+
* - `null`: null値
|
|
10
|
+
* - `undefined`: undefined値
|
|
11
|
+
*
|
|
12
|
+
* これらの型はすべて、文字列連結や文字列変換可能な値を期待する関数で安全に使用できます。
|
|
13
|
+
*/
|
|
1
14
|
type Stringable = string | number | bigint | boolean | null | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* ハイフンで結合された2つの文字列変換可能な値、または単一の値を表すユーティリティタイプ。
|
|
17
|
+
*
|
|
18
|
+
* @template T - 文字列に変換可能な型
|
|
19
|
+
* @returns `${T}-${T}` (ハイフンで結合された2つの値) または `${T}` (単一の値)
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* type Numbers = 1 | 2 | 3;
|
|
23
|
+
* type JoinedNumbers = Join<Numbers>; // '1' | '2' | '3' | '1-1' | '1-2' | '1-3' | '2-1' | '2-2' | '2-3' | '3-1' | '3-2' | '3-3'
|
|
24
|
+
*/
|
|
2
25
|
type Join<T extends Stringable> = `${T}-${T}` | `${T}`;
|
|
3
26
|
|
|
4
27
|
export type { Join };
|
package/dist/util/type.d.ts
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文字列に変換可能な型を表します。
|
|
3
|
+
*
|
|
4
|
+
* このタイプには以下が含まれます:
|
|
5
|
+
* - `string`: 文字列プリミティブ
|
|
6
|
+
* - `number`: 数値
|
|
7
|
+
* - `bigint`: 任意精度の整数
|
|
8
|
+
* - `boolean`: 真/偽の値
|
|
9
|
+
* - `null`: null値
|
|
10
|
+
* - `undefined`: undefined値
|
|
11
|
+
*
|
|
12
|
+
* これらの型はすべて、文字列連結や文字列変換可能な値を期待する関数で安全に使用できます。
|
|
13
|
+
*/
|
|
1
14
|
type Stringable = string | number | bigint | boolean | null | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* ハイフンで結合された2つの文字列変換可能な値、または単一の値を表すユーティリティタイプ。
|
|
17
|
+
*
|
|
18
|
+
* @template T - 文字列に変換可能な型
|
|
19
|
+
* @returns `${T}-${T}` (ハイフンで結合された2つの値) または `${T}` (単一の値)
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* type Numbers = 1 | 2 | 3;
|
|
23
|
+
* type JoinedNumbers = Join<Numbers>; // '1' | '2' | '3' | '1-1' | '1-2' | '1-3' | '2-1' | '2-2' | '2-3' | '3-1' | '3-2' | '3-3'
|
|
24
|
+
*/
|
|
2
25
|
type Join<T extends Stringable> = `${T}-${T}` | `${T}`;
|
|
3
26
|
|
|
4
27
|
export type { Join };
|
package/dist/util/unzipp.cjs
CHANGED
package/dist/util/unzipp.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/unzipp.ts"],"sourcesContent":["import { gunzip, InputType } from \"zlib\";\nimport { promisify } from \"util\";\n\nconst gunzipAsync = promisify<InputType, Buffer>(gunzip);\n\nconst decoder = new TextDecoder()\nexport async function unzipp(data: ArrayBuffer) {\n try {\n const buffer = await gunzipAsync(data);\n try {\n return JSON.parse(decoder.decode(buffer));\n } catch {\n throw decoder.decode(buffer);\n }\n } catch (e) {\n if (typeof e === \"string\") throw e;\n throw decoder.decode(data);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAkC;AAClC,kBAA0B;AAE1B,IAAM,kBAAc,uBAA6B,kBAAM;AAEvD,IAAM,UAAU,IAAI,YAAY;
|
|
1
|
+
{"version":3,"sources":["../../src/util/unzipp.ts"],"sourcesContent":["import { gunzip, InputType } from \"zlib\";\nimport { promisify } from \"util\";\n\nconst gunzipAsync = promisify<InputType, Buffer>(gunzip);\n\nconst decoder = new TextDecoder()\n/**\n * 圧縮されたJSONデータを解凍して解析します。\n * \n * @param data - ArrayBuffer形式の圧縮データ\n * @returns 解凍されたデータからパースされたJSONオブジェクト\n * @throws {string} データが解凍できない、または解凍されたデータが有効なJSONでない場合、\n * 解凍されたデータの文字列表現をスローします。\n * @throws {string} 解凍中にエラーが発生した場合、元のデータの文字列表現をスローします。\n */\nexport async function unzipp(data: ArrayBuffer) {\n try {\n const buffer = await gunzipAsync(data);\n try {\n return JSON.parse(decoder.decode(buffer));\n } catch {\n throw decoder.decode(buffer);\n }\n } catch (e) {\n if (typeof e === \"string\") throw e;\n throw decoder.decode(data);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAkC;AAClC,kBAA0B;AAE1B,IAAM,kBAAc,uBAA6B,kBAAM;AAEvD,IAAM,UAAU,IAAI,YAAY;AAUhC,eAAsB,OAAO,MAAmB;AAC9C,MAAI;AACF,UAAM,SAAS,MAAM,YAAY,IAAI;AACrC,QAAI;AACF,aAAO,KAAK,MAAM,QAAQ,OAAO,MAAM,CAAC;AAAA,IAC1C,QAAQ;AACN,YAAM,QAAQ,OAAO,MAAM;AAAA,IAC7B;AAAA,EACF,SAAS,GAAG;AACV,QAAI,OAAO,MAAM,SAAU,OAAM;AACjC,UAAM,QAAQ,OAAO,IAAI;AAAA,EAC3B;AACF;","names":[]}
|
package/dist/util/unzipp.d.cts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 圧縮されたJSONデータを解凍して解析します。
|
|
3
|
+
*
|
|
4
|
+
* @param data - ArrayBuffer形式の圧縮データ
|
|
5
|
+
* @returns 解凍されたデータからパースされたJSONオブジェクト
|
|
6
|
+
* @throws {string} データが解凍できない、または解凍されたデータが有効なJSONでない場合、
|
|
7
|
+
* 解凍されたデータの文字列表現をスローします。
|
|
8
|
+
* @throws {string} 解凍中にエラーが発生した場合、元のデータの文字列表現をスローします。
|
|
9
|
+
*/
|
|
1
10
|
declare function unzipp(data: ArrayBuffer): Promise<any>;
|
|
2
11
|
|
|
3
12
|
export { unzipp };
|
package/dist/util/unzipp.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 圧縮されたJSONデータを解凍して解析します。
|
|
3
|
+
*
|
|
4
|
+
* @param data - ArrayBuffer形式の圧縮データ
|
|
5
|
+
* @returns 解凍されたデータからパースされたJSONオブジェクト
|
|
6
|
+
* @throws {string} データが解凍できない、または解凍されたデータが有効なJSONでない場合、
|
|
7
|
+
* 解凍されたデータの文字列表現をスローします。
|
|
8
|
+
* @throws {string} 解凍中にエラーが発生した場合、元のデータの文字列表現をスローします。
|
|
9
|
+
*/
|
|
1
10
|
declare function unzipp(data: ArrayBuffer): Promise<any>;
|
|
2
11
|
|
|
3
12
|
export { unzipp };
|
package/dist/util/unzipp.js
CHANGED
package/package.json
CHANGED
|
@@ -1,76 +1,77 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "narou",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Narou API Wrapper",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/deflis/node-narou.git"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"author": "deflis <deflis@gmail.com>",
|
|
5
11
|
"type": "module",
|
|
6
|
-
"main": "dist/index.cjs",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"module": "dist/index.js",
|
|
9
12
|
"exports": {
|
|
10
13
|
".": {
|
|
11
|
-
"default": "./dist/index.js",
|
|
12
|
-
"require": "./dist/index.cjs",
|
|
13
|
-
"import": "./dist/index.js",
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
|
+
"node": {
|
|
16
|
+
"import": "./dist/index.js",
|
|
17
|
+
"require": "./dist/index.cjs"
|
|
18
|
+
},
|
|
15
19
|
"browser": {
|
|
16
|
-
"require": "./dist/index.browser.cjs",
|
|
17
20
|
"import": "./dist/index.browser.js",
|
|
18
|
-
"
|
|
19
|
-
}
|
|
21
|
+
"require": "./dist/index.browser.cjs"
|
|
22
|
+
},
|
|
23
|
+
"default": "./dist/index.js"
|
|
20
24
|
},
|
|
21
25
|
"./browser": {
|
|
22
|
-
"
|
|
23
|
-
"require": "./dist/index.browser.cjs",
|
|
26
|
+
"types": "./dist/index.browser.d.ts",
|
|
24
27
|
"import": "./dist/index.browser.js",
|
|
25
|
-
"
|
|
28
|
+
"require": "./dist/index.browser.cjs",
|
|
29
|
+
"default": "./dist/index.browser.js"
|
|
30
|
+
},
|
|
31
|
+
"./utils/*": {
|
|
32
|
+
"types": "./dist/utils/*.d.ts",
|
|
33
|
+
"import": "./dist/utils/*.js",
|
|
34
|
+
"require": "./dist/utils/*.cjs",
|
|
35
|
+
"default": "./dist/utils/*.js"
|
|
26
36
|
},
|
|
27
37
|
"./*": {
|
|
28
|
-
"
|
|
29
|
-
"require": "./dist/*.cjs",
|
|
38
|
+
"types": "./dist/*.d.ts",
|
|
30
39
|
"import": "./dist/*.js",
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
"./utils": {
|
|
34
|
-
"default": "./dist/utils/*.js",
|
|
35
|
-
"require": "./dist/utils/*.cjs",
|
|
36
|
-
"import": "./dist/utils/*.js",
|
|
37
|
-
"types": "./dist/utils/*.d.ts"
|
|
40
|
+
"require": "./dist/*.cjs",
|
|
41
|
+
"default": "./dist/*.js"
|
|
38
42
|
}
|
|
39
43
|
},
|
|
44
|
+
"main": "dist/index.cjs",
|
|
45
|
+
"types": "dist/index.d.ts",
|
|
40
46
|
"files": [
|
|
41
47
|
"dist",
|
|
42
48
|
"src",
|
|
43
49
|
"package.json",
|
|
44
|
-
"
|
|
50
|
+
"pnpm-lock.yaml",
|
|
45
51
|
"README.md"
|
|
46
52
|
],
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/node": "^22.15.3",
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "^8.31.1",
|
|
56
|
+
"@typescript-eslint/parser": "^8.31.1",
|
|
57
|
+
"@vitest/coverage-v8": "^3.1.2",
|
|
58
|
+
"date-fns": "^4.1.0",
|
|
59
|
+
"eslint": "^9.25.1",
|
|
60
|
+
"eslint-config-prettier": "^10.1.2",
|
|
61
|
+
"eslint-plugin-prettier": "^5.2.6",
|
|
62
|
+
"globals": "^16.0.0",
|
|
63
|
+
"msw": "^2.7.5",
|
|
64
|
+
"prettier": "^3.5.3",
|
|
65
|
+
"run-z": "^2.1.0",
|
|
66
|
+
"tsup": "^8.4.0",
|
|
67
|
+
"typescript": "^5.8.3",
|
|
68
|
+
"vitest": "^3.1.2"
|
|
69
|
+
},
|
|
47
70
|
"engines": {
|
|
48
71
|
"node": ">=16.0.0",
|
|
49
72
|
"pnpm": ">=8"
|
|
50
73
|
},
|
|
51
|
-
"
|
|
52
|
-
"license": "MIT",
|
|
53
|
-
"repository": {
|
|
54
|
-
"type": "git",
|
|
55
|
-
"url": "https://github.com/deflis/node-narou.git"
|
|
56
|
-
},
|
|
57
|
-
"dependencies": {
|
|
58
|
-
"date-fns": "^3.3.1"
|
|
59
|
-
},
|
|
60
|
-
"devDependencies": {
|
|
61
|
-
"@types/node": "^20.11.20",
|
|
62
|
-
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
|
63
|
-
"@typescript-eslint/parser": "^7.1.0",
|
|
64
|
-
"@vitest/coverage-v8": "^1.3.1",
|
|
65
|
-
"eslint": "^8.57.0",
|
|
66
|
-
"eslint-config-prettier": "^9.1.0",
|
|
67
|
-
"eslint-plugin-prettier": "^5.1.3",
|
|
68
|
-
"prettier": "^3.2.5",
|
|
69
|
-
"run-z": "^2.0.0",
|
|
70
|
-
"tsup": "^8.0.2",
|
|
71
|
-
"typescript": "^5.3.3",
|
|
72
|
-
"vitest": "^1.3.1"
|
|
73
|
-
},
|
|
74
|
+
"module": "dist/index.js",
|
|
74
75
|
"scripts": {
|
|
75
76
|
"build": "run-z check build:tsc",
|
|
76
77
|
"build:tsc": "tsup ./src",
|