{"version":3,"file":"index.browser.mjs","names":[],"sources":["../src/index.browser.ts"],"sourcesContent":["import type NarouNovel from \"./narou.js\";\nimport type { ExecuteOptions } from \"./narou.js\";\nimport NarouNovelJsonp from \"./narou-jsonp.js\";\nimport SearchBuilder from \"./search-builder.js\";\nimport SearchBuilderR18 from \"./search-builder-r18.js\";\nimport RankingBuilder from \"./ranking.js\";\nimport { formatRankingHistory, RankingHistoryResult } from \"./ranking-history.js\";\nimport UserSearchBuilder from \"./user-search.js\";\n\nexport * from \"./index.common.js\";\nexport { NarouNovelJsonp };\n\nconst narouNovelJsonp = new NarouNovelJsonp();\n\n/**\n * なろう小説 API で小説を検索する\n * @param {string} [word] 検索ワード\n * @returns {SearchBuilder}\n * @see https://dev.syosetu.com/man/api/\n */\nexport function search(\n  word = \"\",\n  api: NarouNovel = narouNovelJsonp\n): SearchBuilder {\n  const builder = new SearchBuilder({}, api);\n  if (word != \"\") builder.word(word);\n  return builder;\n}\n\n/**\n * 18禁小説 API で小説を検索する\n * @param {string} [word] 検索ワード\n * @returns {SearchBuilder}\n * @see https://dev.syosetu.com/xman/api/\n */\nexport function searchR18(\n  word = \"\",\n  api: NarouNovel = narouNovelJsonp\n): SearchBuilderR18 {\n  const builder = new SearchBuilderR18({}, api);\n  if (word != \"\") builder.word(word);\n  return builder;\n}\n\n/**\n * なろうユーザ検索 API でユーザを検索する\n * @param {string} [word] - 検索ワード\n * @returns {UserSearchBuilder}\n * @see https://dev.syosetu.com/man/userapi/\n */\nexport function searchUser(word = \"\", api: NarouNovel = narouNovelJsonp) {\n  const builder = new UserSearchBuilder({}, api);\n  if (word != \"\") builder.word(word);\n  return builder;\n}\n\n\n/**\n * なろう小説ランキング API でランキングを取得する\n * @returns {RankingBuilder}\n * @see https://dev.syosetu.com/man/rankapi/\n */\nexport function ranking(api: NarouNovel = narouNovelJsonp): RankingBuilder {\n  const builder = new RankingBuilder({}, api);\n  return builder;\n}\n\n/**\n * なろう殿堂入り API でランキング履歴を取得する\n * @param {string} ncode 小説のNコード\n * @param {ExecuteOptions} [options] 実行オプション\n * @param {NarouNovel} [api] API実行クラスのインスタンス\n * @see https://dev.syosetu.com/man/rankinapi/\n */\nexport async function rankingHistory(\n  ncode: string,\n  options?: ExecuteOptions,\n  api: NarouNovel = narouNovelJsonp\n): Promise<RankingHistoryResult[]> {\n  const result = await api.executeRankingHistory({ ncode }, options);\n  if (Array.isArray(result)) {\n    return result.map(formatRankingHistory);\n  } else {\n    throw new Error(result);\n  }\n}\n\nexport default {\n  search,\n  searchR18,\n  searchUser,\n  ranking,\n  rankingHistory,\n};\n"],"mappings":";;;AAYA,MAAM,kBAAkB,IAAI,iBAAiB;;;;;;;AAQ7C,SAAgB,OACd,OAAO,IACP,MAAkB,iBACH;CACf,MAAM,UAAU,IAAI,cAAc,EAAE,EAAE,IAAI;AAC1C,KAAI,QAAQ,GAAI,SAAQ,KAAK,KAAK;AAClC,QAAO;;;;;;;;AAST,SAAgB,UACd,OAAO,IACP,MAAkB,iBACA;CAClB,MAAM,UAAU,IAAI,iBAAiB,EAAE,EAAE,IAAI;AAC7C,KAAI,QAAQ,GAAI,SAAQ,KAAK,KAAK;AAClC,QAAO;;;;;;;;AAST,SAAgB,WAAW,OAAO,IAAI,MAAkB,iBAAiB;CACvE,MAAM,UAAU,IAAI,kBAAkB,EAAE,EAAE,IAAI;AAC9C,KAAI,QAAQ,GAAI,SAAQ,KAAK,KAAK;AAClC,QAAO;;;;;;;AAST,SAAgB,QAAQ,MAAkB,iBAAiC;AAEzE,QADgB,IAAI,eAAe,EAAE,EAAE,IAAI;;;;;;;;;AAW7C,eAAsB,eACpB,OACA,SACA,MAAkB,iBACe;CACjC,MAAM,SAAS,MAAM,IAAI,sBAAsB,EAAE,OAAO,EAAE,QAAQ;AAClE,KAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,OAAO,IAAI,qBAAqB;KAEvC,OAAM,IAAI,MAAM,OAAO;;AAI3B,4BAAe;CACb;CACA;CACA;CACA;CACA;CACD"}