{"version":3,"sources":["../src/params.ts"],"sourcesContent":["import type {\n  NarouSearchResult,\n  UserSearchResult,\n} from \"./narou-search-results.js\";\nimport type { Join } from \"./util/type.js\";\n\nexport const RankingType = {\n  Daily: \"d\",\n  Weekly: \"w\",\n  Monthly: \"m\",\n  Quarterly: \"q\",\n} as const;\nexport type RankingType = (typeof RankingType)[keyof typeof RankingType];\n\n/**\n * すべてのAPIで共通のクエリパラメータ\n */\nexport interface ParamsBase {\n  /**\n   * gzip圧縮してgzipファイルとして返します。\n   * gzip圧縮レベルを1～5で指定できます。\n   * 転送量上限を減らすためにも推奨\n   */\n  gzip?: GzipLevel;\n  /**\n   * 出力形式を指定\n   * 本ライブラリはJSONとJSONPのみ対応\n   */\n  out?: \"json\" | \"jsonp\";\n}\n\n/**\n * 検索APIで共通のクエリパラメータ\n */\nexport interface ParamsBaseWithOrder<TOrder extends string> extends ParamsBase {\n  /**\n   * 出力する項目を個別に指定できます。未指定時は全項目出力されます。\n   * 転送量軽減のため、このパラメータの使用が推奨されます。\n   */\n  of?: string;\n  /**\n   * 最大出力数を指定できます。指定しない場合は20件になります。\n   */\n  lim?: number;\n  /**\t表示開始位置の指定です。 */\n  st?: number;\n  /** 出力順序を指定できます。 */\n  order?: TOrder;\n}\n\n/**\n * メソッドにパラメータを指定する際のヘルパー。\n * @see https://dev.syosetu.com/man/api/\n * @see https://dev.syosetu.com/xman/atom/\n */\nexport interface SearchParams extends ParamsBaseWithOrder<Order> {\n  word?: string;\n  notword?: string;\n  title?: BooleanNumber;\n  ex?: BooleanNumber;\n  keyword?: BooleanNumber;\n  wname?: BooleanNumber;\n\n  biggenre?: Join<BigGenre> | BigGenre;\n  notbiggenre?: Join<BigGenre> | BigGenre;\n  genre?: Join<Genre> | Genre;\n  notgenre?: Join<Genre> | Genre;\n  userid?: Join<number> | number;\n\n  nocgenre?: Join<R18Site> | R18Site;\n  notnocgenre?: Join<R18Site> | R18Site;\n  xid?: Join<number> | number;\n\n  isr15?: BooleanNumber;\n  isbl?: BooleanNumber;\n  isgl?: BooleanNumber;\n  iszankoku?: BooleanNumber;\n  istensei?: BooleanNumber;\n  istenni?: BooleanNumber;\n  istt?: BooleanNumber;\n\n  notr15?: BooleanNumber;\n  notbl?: BooleanNumber;\n  notgl?: BooleanNumber;\n  notzankoku?: BooleanNumber;\n  nottensei?: BooleanNumber;\n  nottenni?: BooleanNumber;\n\n  minlen?: number;\n  maxlen?: number;\n  length?: number | Join<number | \"\">;\n\n  kaiwaritu?: number | string;\n  sasie?: number | string;\n\n  mintime?: number;\n  maxtime?: number;\n  time?: number | string;\n\n  ncode?: string | Join<string>;\n\n  type?: NovelTypeParam;\n\n  buntai?: BuntaiParam | Join<BuntaiParam>;\n\n  stop?: StopParam;\n\n  ispickup?: typeof BooleanNumber.True;\n  lastup?: string;\n  lastupdate?: string;\n\n  opt?: Join<OptionalFields>;\n}\n\nexport interface RankingParams extends ParamsBase {\n  rtype: `${string}-${RankingType}`;\n}\n\nexport interface RankingHistoryParams extends ParamsBase {\n  ncode: string;\n}\n\n/**\n * ユーザー検索パラメータ\n */\nexport interface UserSearchParams extends ParamsBaseWithOrder<UserOrder> {\n  /** 単語を指定できます。半角または全角スペースで区切るとAND抽出になります。部分一致でHITします。検索の対象はユーザ名とユーザ名のフリガナです。 */\n  word?: string;\n  /** 含みたくない単語を指定できます。スペースで区切ることにより含ませない単語を増やせます。部分一致で除外されます。除外の対象はユーザ名とユーザ名のフリガナです。 */\n  notword?: string;\n  /** ユーザIDで抽出可能。 */\n  userid?: number;\n  /** 抽出するユーザのユーザ名のフリガナの頭文字を指定できます。頭文字はユーザ名のフリガナをひらがなに変換し、最初の1文字が「ぁ」～「ん」の場合に対象となります。 */\n  name1st?: string;\n  /** 抽出するユーザの小説投稿数の下限を指定できます。小説投稿件数が指定された数値以上のユーザを抽出します。 */\n  minnovel?: number;\n  /** 抽出するユーザの小説投稿数の上限を指定できます。小説投稿件数が指定された数値以下のユーザを抽出します。 */\n  maxnovel?: number;\n  /** 抽出するユーザのレビュー投稿数の下限を指定できます。レビュー投稿件数が指定された数値以上のユーザを抽出します。 */\n  minreview?: number;\n  /** 抽出するユーザのレビュー投稿数の上限を指定できます。レビュー投稿件数が指定された数値以下のユーザを抽出します。 */\n  maxreview?: number;\n}\n\nexport const BooleanNumber = {\n  True: 1,\n  False: 0,\n} as const;\nexport type BooleanNumber = (typeof BooleanNumber)[keyof typeof BooleanNumber];\n\nexport type SearchResultFieldNames = keyof NarouSearchResult;\n\n/**\n * なろう小説APIのofパラメータに指定できる出力する項目\n * @see https://dev.syosetu.com/man/api/#output\n */\nexport const Fields = {\n  /** 小説名 */\n  title: \"t\",\n  /** Nコード */\n  ncode: \"n\",\n  /** 作者のユーザID(数値) */\n  userid: \"u\",\n  /** 作者名 */\n  writer: \"w\",\n  /** 小説のあらすじ */\n  story: \"s\",\n  /** 大ジャンル */\n  biggenre: \"bg\",\n  /** ジャンル */\n  genre: \"g\",\n  /** キーワード */\n  keyword: \"k\",\n  /** 初回掲載日 */\n  general_firstup: \"gf\",\n  /** 最終掲載日 */\n  general_lastup: \"gl\",\n  /** 連載の場合は1、短編の場合は2 */\n  noveltype: \"nt\",\n  /** 短編小説と完結済小説は0となっています。連載中は1です。 */\n  end: \"e\",\n  /** 全掲載部分数 */\n  general_all_no: \"ga\",\n  /** 小説文字数 */\n  length: \"l\",\n  /** 読了時間(分単位) */\n  time: \"ti\",\n  /** 長期連載停止中 */\n  isstop: \"i\",\n  /** 登録必須キーワードに「R15」が含まれる場合は1、それ以外は0です。 */\n  isr15: \"isr\",\n  /** 登録必須キーワードに「ボーイズラブ」が含まれる場合は1、それ以外は0です。 */\n  isbl: \"ibl\",\n  /** 登録必須キーワードに「ガールズラブ」が含まれる場合は1、それ以外は0です。 */\n  isgl: \"igl\",\n  /** 登録必須キーワードに「残酷な描写あり」が含まれる場合は1、それ以外は0です。 */\n  iszankoku: \"izk\",\n  /** 登録必須キーワードに「異世界転生」が含まれる場合は1、それ以外は0です。 */\n  istensei: \"its\",\n  /** 登録必須キーワードに「異世界転移」が含まれる場合は1、それ以外は0です。 */\n  istenni: \"iti\",\n  /** 総合評価ポイント */\n  global_point: \"gp\",\n  /** 日間ポイント */\n  daily_point: \"dp\",\n  /** 週間ポイント */\n  weekly_point: \"wp\",\n  /** 月間ポイント */\n  monthly_point: \"mp\",\n  /** 四半期ポイント */\n  quarter_point: \"qp\",\n  /** 年間ポイント */\n  yearly_point: \"yp\",\n  /** ブックマーク数 */\n  fav_novel_cnt: \"f\",\n  /** 感想数 */\n  impression_cnt: \"imp\",\n  /** レビュー数 */\n  review_cnt: \"r\",\n  /** 評価ポイント */\n  all_point: \"a\",\n  /** 評価者数 */\n  all_hyoka_cnt: \"ah\",\n  /** 挿絵の数 */\n  sasie_cnt: \"sa\",\n  /** 会話率 */\n  kaiwaritu: \"ka\",\n  /** 小説の更新日時 */\n  novelupdated_at: \"nu\",\n  /**\n   * 最終更新日時\n   * システム用で小説更新時とは関係ありません\n   */\n  updated_at: \"ua\",\n} as const;\n\nexport type Fields = (typeof Fields)[keyof Omit<\n  NarouSearchResult,\n  \"novel_type\" | \"weekly_unique\" | \"nocgenre\"\n>];\n\n/**\n * なろうR18小説APIのofパラメータに指定できる出力する項目\n * @see https://dev.syosetu.com/xman/api/#output\n */\nexport const R18Fields = {\n  /** 小説名 */\n  title: \"t\",\n  /** Nコード */\n  ncode: \"n\",\n  /** 作者のユーザID(数値) */\n  userid: \"u\",\n  /** 作者名 */\n  writer: \"w\",\n  /** 小説のあらすじ */\n  story: \"s\",\n  /** 掲載サイト */\n  nocgenre: \"ng\",\n  /** キーワード */\n  keyword: \"k\",\n  /** 初回掲載日 */\n  general_firstup: \"gf\",\n  /** 最終掲載日 */\n  general_lastup: \"gl\",\n  /** 連載の場合は1、短編の場合は2 */\n  noveltype: \"nt\",\n  /** 短編小説と完結済小説は0となっています。連載中は1です。 */\n  end: \"e\",\n  /** 全掲載部分数 */\n  general_all_no: \"ga\",\n  /** 小説文字数 */\n  length: \"l\",\n  /** 読了時間(分単位) */\n  time: \"ti\",\n  /** 長期連載停止中 */\n  isstop: \"i\",\n  /** 登録必須キーワードに「ボーイズラブ」が含まれる場合は1、それ以外は0です。 */\n  isbl: \"ibl\",\n  /** 登録必須キーワードに「ガールズラブ」が含まれる場合は1、それ以外は0です。 */\n  isgl: \"igl\",\n  /** 登録必須キーワードに「残酷な描写あり」が含まれる場合は1、それ以外は0です。 */\n  iszankoku: \"izk\",\n  /** 登録必須キーワードに「異世界転生」が含まれる場合は1、それ以外は0です。 */\n  istensei: \"its\",\n  /** 登録必須キーワードに「異世界転移」が含まれる場合は1、それ以外は0です。 */\n  istenni: \"iti\",\n  /** 総合評価ポイント */\n  global_point: \"gp\",\n  /** 日間ポイント */\n  daily_point: \"dp\",\n  /** 週間ポイント */\n  weekly_point: \"wp\",\n  /** 月間ポイント */\n  monthly_point: \"mp\",\n  /** 四半期ポイント */\n  quarter_point: \"qp\",\n  /** 年間ポイント */\n  yearly_point: \"yp\",\n  /** R18ブックマーク数 */\n  fav_novel_cnt: \"f\",\n  /** 感想数 */\n  impression_cnt: \"imp\",\n  /** レビュー数 */\n  review_cnt: \"r\",\n  /** 評価ポイント */\n  all_point: \"a\",\n  /** 評価者数 */\n  all_hyoka_cnt: \"ah\",\n  /** 挿絵の数 */\n  sasie_cnt: \"sa\",\n  /** 会話率 */\n  kaiwaritu: \"ka\",\n  /** 小説の更新日時 */\n  novelupdated_at: \"nu\",\n  /**\n   * 最終更新日時\n   * システム用で小説更新時とは関係ありません\n   */\n  updated_at: \"ua\",\n} as const;\n\nexport type R18Fields = (typeof R18Fields)[keyof Omit<\n  NarouSearchResult,\n  \"novel_type\" | \"weekly_unique\" | \"biggenre\" | \"genre\" | \"isr15\"\n>];\n\n/**\n * オプション項目\n */\nexport const OptionalFields = {\n  /**\n   * 週間ユニークユーザ[項目名:weekly_unique]が追加されます。\n   * 週間ユニークユーザは前週の日曜日から土曜日分のユニークの合計です。\n   * 毎週火曜日早朝に更新されます。\n   */\n  weekly_unique: \"weekly\",\n} as const;\n\nexport type OptionalFields = (typeof OptionalFields)[keyof Pick<\n  NarouSearchResult,\n  \"weekly_unique\"\n>];\n\n/**\n * ユーザ検索APIのofパラメータに指定できる出力する項目\n * @see https://dev.syosetu.com/man/userapi/#output\n */\nexport const UserFields = {\n  /** ユーザID */\n  userid: \"u\",\n  /** ユーザ名 */\n  name: \"n\",\n  /** ユーザ名のフリガナ */\n  yomikata: \"y\",\n  /** ユーザ名のフリガナの頭文字 */\n  name1st: \"1\",\n  /** 小説投稿数 */\n  novel_cnt: \"nc\",\n  /** レビュー投稿数 */\n  review_cnt: \"rc\",\n  /** 小説累計文字数 */\n  novel_length: \"nl\",\n  /** 総合評価ポイントの合計 */\n  sum_global_point: \"sg\",\n} as const;\nexport type UserFields = (typeof UserFields)[keyof UserSearchResult];\n\n/**\n * 出力順序\n */\nexport const Order = {\n  /** ブックマーク数の多い順 */\n  FavoriteNovelCount: \"favnovelcnt\",\n  /** レビュー数の多い順 */\n  ReviewCount: \"favnovelcnt\",\n  /** 総合ポイントの高い順 */\n  HyokaDesc: \"hyoka\",\n  /** 総合ポイントの低い順 */\n  HyokaAsc: \"hyokaasc\",\n  /** 感想の多い順 */\n  ImpressionCount: \"impressioncnt\",\n  /** 評価者数の多い順 */\n  HyokaCountDesc: \"hyokacnt\",\n  /** 評価者数の少ない順 */\n  HyokaCountAsc: \"hyokacntasc\",\n  /** 週間ユニークユーザの多い順 */\n  Weekly: \"weekly\",\n  /** 小説本文の文字数が多い順 */\n  LengthDesc: \"lengthdesc\",\n  /** 小説本文の文字数が少ない順 */\n  LengthAsc: \"lengthasc\",\n  /** Nコードが新しい順 */\n  NCodeDesc: \"ncodedesc\",\n  /** 新着更新順 */\n  New: \"new\",\n  /** 古い順 */\n  Old: \"old\",\n  /** 日間ポイントの高い順 */\n  DailyPoint: \"dailypoint\",\n  /** 週間ポイントの高い順 */\n  WeeklyPoint: \"weeklypoint\",\n  /** 月間ポイントの高い順 */\n  MonthlyPoint: \"monthlypoint\",\n  /** 四半期ポイントの高い順 */\n  QuarterPoint: \"quarterpoint\",\n  /** 年間ポイントの高い順 */\n  YearlyPoint: \"yearlypoint\",\n  /** 初回掲載順 */\n  GeneralFirstUp: \"generalfirstup\",\n} as const;\n\nexport type Order = (typeof Order)[keyof typeof Order];\n\n/** R18掲載サイト */\nexport const R18Site = {\n  /** ノクターンノベルズ(男性向け) */\n  Nocturne: 1,\n  /** ムーンライトノベルズ(女性向け) */\n  MoonLight: 2,\n  /** ムーンライトノベルズ(BL) */\n  MoonLightBL: 3,\n  /** ミッドナイトノベルズ(大人向け) */\n  Midnight: 4,\n} as const;\n\nexport type R18Site = (typeof R18Site)[keyof typeof R18Site];\n\n/** R18掲載サイト表記ヘルパー */\nexport const R18SiteNotation: { readonly [K in R18Site]: string } = {\n  [R18Site.Nocturne]: \"ノクターンノベルズ(男性向け)\",\n  [R18Site.MoonLight]: \"ムーンライトノベルズ(女性向け)\",\n  [R18Site.MoonLightBL]: \"ムーンライトノベルズ(BL)\",\n  [R18Site.Midnight]: \"ミッドナイトノベルズ(大人向け)\",\n} as const;\n\n/** 大ジャンル */\nexport const BigGenre = {\n  /** 恋愛 */\n  Renai: 1,\n  /** ファンタジー */\n  Fantasy: 2,\n  /** 文芸 */\n  Bungei: 3,\n  /** SF */\n  Sf: 4,\n  /** その他 */\n  Sonota: 99,\n  /** ノンジャンル */\n  NonGenre: 98,\n} as const;\n\nexport type BigGenre = (typeof BigGenre)[keyof typeof BigGenre];\n\n/** 大ジャンル表記ヘルパー */\nexport const BigGenreNotation: { readonly [K in BigGenre]: string } = {\n  [BigGenre.Renai]: \"恋愛\",\n  [BigGenre.Fantasy]: \"ファンタジー\",\n  [BigGenre.Bungei]: \"文芸\",\n  [BigGenre.Sf]: \"SF\",\n  [BigGenre.Sonota]: \"その他\",\n  [BigGenre.NonGenre]: \"ノンジャンル\",\n} as const;\n\n/** ジャンル */\nexport const Genre = {\n  /** 異世界〔恋愛〕*/\n  RenaiIsekai: 101,\n  /** 現実世界〔恋愛〕*/\n  RenaiGenjitsusekai: 102,\n  /** ハイファンタジー〔ファンタジー〕*/\n  FantasyHigh: 201,\n  /** ローファンタジー〔ファンタジー〕*/\n  FantasyLow: 202,\n  /** 純文学〔文芸〕*/\n  BungeiJyunbungei: 301,\n  /** ヒューマンドラマ〔文芸〕*/\n  BungeiHumanDrama: 302,\n  /** 歴史〔文芸〕*/\n  BungeiHistory: 303,\n  /** 推理〔文芸〕*/\n  BungeiSuiri: 304,\n  /** ホラー〔文芸〕*/\n  BungeiHorror: 305,\n  /** アクション〔文芸〕*/\n  BungeiAction: 306,\n  /** コメディー〔文芸〕*/\n  BungeiComedy: 307,\n  /** VRゲーム〔SF〕*/\n  SfVrgame: 401,\n  /** 宇宙〔SF〕*/\n  SfSpace: 402,\n  /** 空想科学〔SF〕*/\n  SfKuusoukagaku: 403,\n  /** パニック〔SF〕*/\n  SfPanic: 404,\n  /** 童話〔その他〕*/\n  SonotaDouwa: 9901,\n  /** 詩〔その他〕*/\n  SonotaShi: 9902,\n  /** エッセイ〔その他〕*/\n  SonotaEssei: 9903,\n  /** リプレイ〔その他〕*/\n  SonotaReplay: 9904,\n  /** その他〔その他〕 */\n  SonotaSonota: 9999,\n  /** ノンジャンル〔ノンジャンル〕*/\n  NonGenre: 9801,\n} as const;\nexport type Genre = (typeof Genre)[keyof typeof Genre];\n\n/** ジャンル表記ヘルパー */\nexport const GenreNotation: { readonly [K in Genre]: string } = {\n  [Genre.RenaiIsekai]: \"異世界〔恋愛〕\",\n  [Genre.RenaiGenjitsusekai]: \"現実世界〔恋愛〕\",\n  [Genre.FantasyHigh]: \"ハイファンタジー〔ファンタジー〕\",\n  [Genre.FantasyLow]: \"ローファンタジー〔ファンタジー〕\",\n  [Genre.BungeiJyunbungei]: \"純文学〔文芸〕\",\n  [Genre.BungeiHumanDrama]: \"ヒューマンドラマ〔文芸〕\",\n  [Genre.BungeiHistory]: \"歴史〔文芸〕\",\n  [Genre.BungeiSuiri]: \"推理〔文芸〕\",\n  [Genre.BungeiHorror]: \"ホラー〔文芸〕\",\n  [Genre.BungeiAction]: \"アクション〔文芸〕\",\n  [Genre.BungeiComedy]: \"コメディー〔文芸〕\",\n  [Genre.SfVrgame]: \"VRゲーム〔SF〕\",\n  [Genre.SfSpace]: \"宇宙〔SF〕\",\n  [Genre.SfKuusoukagaku]: \"空想科学〔SF〕\",\n  [Genre.SfPanic]: \"パニック〔SF〕\",\n  [Genre.SonotaDouwa]: \"童話〔その他〕\",\n  [Genre.SonotaShi]: \"詩〔その他〕\",\n  [Genre.SonotaEssei]: \"エッセイ〔その他〕\",\n  [Genre.SonotaReplay]: \"リプレイ〔その他〕\",\n  [Genre.SonotaSonota]: \"その他〔その他〕\",\n  [Genre.NonGenre]: \"ノンジャンル〔ノンジャンル〕\",\n} as const;\n\n/** 文体指定 */\nexport const BuntaiParam = {\n  /** 字下げされておらず、連続改行が多い作品 */\n  NoJisageKaigyouOoi: 1,\n  /** 字下げされていないが、改行数は平均な作品 */\n  NoJisageKaigyoHutsuu: 2,\n  /** 字下げが適切だが、連続改行が多い作品 */\n  JisageKaigyoOoi: 4,\n  /** 字下げが適切でかつ改行数も平均な作品 */\n  JisageKaigyoHutsuu: 6,\n} as const;\n\nexport type BuntaiParam = (typeof BuntaiParam)[keyof typeof BuntaiParam];\n\n/** 連載停止中指定 */\nexport const StopParam = {\n  /** 長期連載停止中を除きます */\n  NoStopping: 1,\n  /** 長期連載停止中のみ取得します */\n  Stopping: 2,\n} as const;\n\nexport type StopParam = (typeof StopParam)[keyof typeof StopParam];\n\n/** 小説タイプ指定 */\nexport const NovelTypeParam = {\n  /** 短編 */\n  Short: \"t\",\n  /** 連載中 */\n  RensaiNow: \"r\",\n  /** 完結済連載小説 */\n  RensaiEnd: \"er\",\n  /** すべての連載小説(連載中および完結済) */\n  Rensai: \"re\",\n  /** 短編と完結済連載小説 */\n  ShortAndRensai: \"ter\",\n} as const;\nexport type NovelTypeParam =\n  (typeof NovelTypeParam)[keyof typeof NovelTypeParam];\n\n/** 日付指定パラメータ */\nexport const DateParam = {\n  ThisWeek: \"thisweek\",\n  LastWeek: \"lastweek\",\n  SevenDays: \"sevenday\",\n  ThisMonth: \"thismonth\",\n  LastMonth: \"lastmonth\",\n};\nexport type DateParam = (typeof DateParam)[keyof typeof DateParam];\n\nexport const UserOrder = {\n  /** ユーザIDの新しい順 */\n  New: \"new\",\n  /** 小説投稿数の多い順 */\n  NovelCount: \"novelcnt\",\n  /** レビュー投稿数の多い順 */\n  ReviewCount: \"reviewcnt\",\n  /** 小説累計文字数の多い順 */\n  NovelLength: \"novellength\",\n  /** 総合評価ポイントの合計の多い順 */\n  SumGlobalPoint: \"sumglobalpoint\",\n  /** ユーザIDの古い順 */\n  Old: \"old\",\n} as const;\nexport type UserOrder = (typeof UserOrder)[keyof typeof UserOrder];\n\nexport type GzipLevel = 0 | 1 | 2 | 3 | 4 | 5;\n"],"mappings":"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","names":[]}