rename updateOperation fn to operationParser
This commit is contained in:
parent
4f3913814d
commit
69041caa68
|
@ -50,7 +50,7 @@ import {
|
|||
QueryThreadCommentArgs,
|
||||
QueryUserArgs,
|
||||
} from "./types/generated/graphql.ts"
|
||||
import { Fetch, Fields, Fn, UpdateOperation } from "./types/Anilist.ts"
|
||||
import { Fetch, Fields, Fn, OperationParser } from "./types/Anilist.ts"
|
||||
import type { AtLeastOne } from "./types/AtLeastOne.ts"
|
||||
import { Media } from "./queries/Media.ts"
|
||||
import { MediaTrend } from "./queries/MediaTrend.ts"
|
||||
|
@ -107,7 +107,7 @@ const replaceLast = (str: string, pattern: string | RegExp, replacement: string)
|
|||
return last !== -1 ? `${str.slice(0, last)}${replacement}${str.slice(last + match.length)}` : str
|
||||
}
|
||||
|
||||
const updateOperation: UpdateOperation = (
|
||||
const operationParser: OperationParser = (
|
||||
{ query, variables, fields, level, hasSubField, isUnion },
|
||||
) => {
|
||||
if (!query) query = `${fields[level]} {\n\t%${fields[level]}\n}`
|
||||
|
@ -136,7 +136,7 @@ const updateOperation: UpdateOperation = (
|
|||
fields.splice(level, 0, subField)
|
||||
while (fields.length - 1 > level) fields.pop()
|
||||
|
||||
return updateOperation({ query, variables, level, fields, hasSubField, isUnion })
|
||||
return operationParser({ query, variables, level, fields, hasSubField, isUnion })
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ const fetch: Fetch = async (init) => {
|
|||
return await res.json()
|
||||
}
|
||||
|
||||
export const FuzzyDate = ({ query, level }: Fields<typeof updateOperation>) => ({
|
||||
export const FuzzyDate = ({ query, level }: Fields<typeof operationParser>) => ({
|
||||
withDay() {
|
||||
query[0] = query[0].set({ subField: "day", level })
|
||||
return this
|
||||
|
@ -202,7 +202,7 @@ export const FuzzyDate = ({ query, level }: Fields<typeof updateOperation>) => (
|
|||
},
|
||||
})
|
||||
|
||||
export const Deleted = ({ query, level }: Fields<typeof updateOperation>) => ({
|
||||
export const Deleted = ({ query, level }: Fields<typeof operationParser>) => ({
|
||||
/** If an item has been successfully deleted */
|
||||
withDeleted() {
|
||||
query[0] = query[0].set({ subField: "deleted", level })
|
||||
|
@ -212,7 +212,7 @@ export const Deleted = ({ query, level }: Fields<typeof updateOperation>) => ({
|
|||
})
|
||||
|
||||
export const Client = function (auth?: { token: string }) {
|
||||
let operation: ReturnType<typeof updateOperation>
|
||||
let operation: ReturnType<typeof operationParser>
|
||||
return {
|
||||
get auth() {
|
||||
return {
|
||||
|
@ -227,7 +227,7 @@ export const Client = function (auth?: { token: string }) {
|
|||
}
|
||||
},
|
||||
get query() {
|
||||
operation = updateOperation({
|
||||
operation = operationParser({
|
||||
fields: ["query"],
|
||||
level: 0,
|
||||
})
|
||||
|
@ -644,7 +644,7 @@ export const Client = function (auth?: { token: string }) {
|
|||
}
|
||||
},
|
||||
get mutation() {
|
||||
operation = updateOperation({
|
||||
operation = operationParser({
|
||||
fields: ["mutation"],
|
||||
level: 0,
|
||||
})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
export const ActivityReply = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const ActivityReply = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the reply */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { ActivityReply } from "./ActivityReply.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
export const TextActivity = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const TextActivity = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the activity */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -93,7 +93,7 @@ export const TextActivity = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const ListActivity = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const ListActivity = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the activity */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -197,7 +197,7 @@ export const ListActivity = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const MessageActivity = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MessageActivity = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the activity */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -301,7 +301,7 @@ export const MessageActivity = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const ActivityUnion = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const ActivityUnion = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withTextActivity(fn?: Fn<typeof TextActivity>) {
|
||||
query[0] = query[0].set({ subField: "TextActivity", level, hasSubField: true, isUnion: true })
|
||||
let tmpQuery
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
|
||||
const AiringScheduleEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const AiringScheduleEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn: Fn<typeof AiringSchedule>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -17,7 +17,7 @@ const AiringScheduleEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const AiringScheduleConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const AiringScheduleConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn: Fn<typeof AiringScheduleEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -42,7 +42,7 @@ export const AiringScheduleConnection = ({ query, level }: Fields<UpdateOperatio
|
|||
},
|
||||
})
|
||||
|
||||
export const AiringSchedule = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const AiringSchedule = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the airing schedule item */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
export const AniChartUser = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const AniChartUser = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withUser(fn?: Fn<typeof User>) {
|
||||
query[0] = query[0].set({ subField: "user", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
|
|
@ -3,14 +3,14 @@ import {
|
|||
CharacterEdgeVoiceActorsArgs,
|
||||
CharacterMediaArgs,
|
||||
} from "../types/generated/graphql.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
import { FuzzyDate } from "../anilist.ts"
|
||||
import { Media, MediaConnection } from "./Media.ts"
|
||||
import { Staff, StaffRoleType } from "./Staff.ts"
|
||||
import { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
|
||||
const CharacterName = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const CharacterName = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The person's given name */
|
||||
withFirst() {
|
||||
query[0] = query[0].set({ subField: "first", level })
|
||||
|
@ -48,7 +48,7 @@ const CharacterName = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const CharacterImage = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const CharacterImage = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The person's image of media at its largest size */
|
||||
withLarge() {
|
||||
query[0] = query[0].set({ subField: "large", level })
|
||||
|
@ -61,7 +61,7 @@ const CharacterImage = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const CharacterEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const CharacterEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn: Fn<typeof Character>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -130,7 +130,7 @@ const CharacterEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const CharacterConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const CharacterConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof CharacterEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -157,7 +157,7 @@ export const CharacterConnection = ({ query, level }: Fields<UpdateOperation>) =
|
|||
},
|
||||
})
|
||||
|
||||
export const Character = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Character = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the character */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Fields, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, OperationParser } from "../types/Anilist.ts"
|
||||
|
||||
export const ExternalLinkSourceCollection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const ExternalLinkSourceCollection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the external link */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
import {
|
||||
FavouritesAnimeArgs,
|
||||
|
@ -12,7 +12,7 @@ import { MediaConnection } from "./Media.ts"
|
|||
import { StaffConnection } from "./Staff.ts"
|
||||
import { StudioConnection } from "./Studio.ts"
|
||||
|
||||
export const Favourites = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Favourites = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** Favourite anime */
|
||||
withAnime(op: { args?: AtLeastOne<FavouritesAnimeArgs>; fn: Fn<typeof MediaConnection> }) {
|
||||
query[0] = query[0].set({ subField: "anime", level, variables: op?.args })
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { ActivityReply } from "./ActivityReply.ts"
|
||||
import { ListActivity, MessageActivity, TextActivity } from "./ActivityUnion.ts"
|
||||
import { Thread } from "./Thread.ts"
|
||||
import { ThreadComment } from "./ThreadComment.ts"
|
||||
|
||||
export const LikeableUnion = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const LikeableUnion = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withListActivity(fn?: Fn<typeof ListActivity>) {
|
||||
query[0] = query[0].set({ subField: "ListActivity", level, hasSubField: true, isUnion: true })
|
||||
let tmpQuery
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Fields, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, OperationParser } from "../types/Anilist.ts"
|
||||
|
||||
export const Markdown = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Markdown = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The parsed markdown as html */
|
||||
withHtml() {
|
||||
query[0] = query[0].set({ subField: "html", level })
|
||||
|
|
|
@ -13,7 +13,7 @@ import {
|
|||
MediaStudiosArgs,
|
||||
MediaTrendsArgs,
|
||||
} from "../types/generated/graphql.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import type { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
import { FuzzyDate } from "../anilist.ts"
|
||||
|
@ -27,7 +27,7 @@ import { RecommendationConnection } from "./Recommendation.ts"
|
|||
import { ReviewConnection } from "./Review.ts"
|
||||
import { StudioConnection } from "./Studio.ts"
|
||||
|
||||
export const MediaListGroup = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaListGroup = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** Media list entries */
|
||||
withEntries(fn: Fn<typeof MediaList>) {
|
||||
query[0] = query[0].set({ subField: "entries", level, hasSubField: true })
|
||||
|
@ -54,7 +54,7 @@ export const MediaListGroup = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaTitle = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaTitle = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The romanization of the native language title */
|
||||
romaji(args?: { stylised: boolean }) {
|
||||
query[0] = query[0].set({ subField: "romaji", level, variables: args })
|
||||
|
@ -77,7 +77,7 @@ const MediaTitle = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaTrailer = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaTrailer = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The trailer video id */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -95,7 +95,7 @@ const MediaTrailer = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaCoverImage = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaCoverImage = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The cover image url of the media at its largest size. If this size isn't available, large will be provided instead. */
|
||||
withExtraLarge() {
|
||||
query[0] = query[0].set({ subField: "extraLarge", level })
|
||||
|
@ -118,7 +118,7 @@ const MediaCoverImage = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaExternalLink = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaExternalLink = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the external link */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -167,7 +167,7 @@ const MediaExternalLink = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaStreamingEpisode = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaStreamingEpisode = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** Title of the episode */
|
||||
withTitle() {
|
||||
query[0] = query[0].set({ subField: "title", level })
|
||||
|
@ -190,7 +190,7 @@ const MediaStreamingEpisode = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaRank = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaRank = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the rank */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -233,7 +233,7 @@ const MediaRank = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaStats = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaStats = ({ query, level }: Fields<OperationParser>) => ({
|
||||
scoreDistribution(fn: Fn<typeof ScoreDistribution>) {
|
||||
query[0] = query[0].set({ subField: "scoreDistribution", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -250,7 +250,7 @@ const MediaStats = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const StatusDistribution = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const StatusDistribution = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withStatus() {
|
||||
query[0] = query[0].set({ subField: "status", level })
|
||||
return this
|
||||
|
@ -261,7 +261,7 @@ const StatusDistribution = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const ScoreDistribution = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ScoreDistribution = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withScore() {
|
||||
query[0] = query[0].set({ subField: "score", level })
|
||||
return this
|
||||
|
@ -272,7 +272,7 @@ const ScoreDistribution = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn?: Fn<typeof Media>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -366,7 +366,7 @@ const MediaEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const MediaConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof MediaEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -393,7 +393,7 @@ export const MediaConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const Media = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Media = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the media */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { FuzzyDate } from "../anilist.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
export const MediaListTypeOptions = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaListTypeOptions = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The order each list should be displayed in */
|
||||
withSectionOrder() {
|
||||
query[0] = query[0].set({ subField: "sectionOrder", level })
|
||||
|
@ -31,7 +31,7 @@ export const MediaListTypeOptions = ({ query, level }: Fields<UpdateOperation>)
|
|||
},
|
||||
})
|
||||
|
||||
export const MediaListOptions = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaListOptions = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The score format the user is using for media lists */
|
||||
withScoreFormat() {
|
||||
query[0] = query[0].set({ subField: "scoreFormat", level })
|
||||
|
@ -60,7 +60,7 @@ export const MediaListOptions = ({ query, level }: Fields<UpdateOperation>) => (
|
|||
},
|
||||
})
|
||||
|
||||
export const MediaList = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaList = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCompletedAt(fn: Fn<typeof FuzzyDate>) {
|
||||
query[0] = query[0].set({
|
||||
subField: "completedAt",
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { MediaListGroup } from "./Media.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
export const MediaListCollection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaListCollection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** Grouped media list entries */
|
||||
withLists(fn: Fn<typeof MediaListGroup>) {
|
||||
query[0] = query[0].set({ subField: "lists", level, hasSubField: true })
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Fields, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, OperationParser } from "../types/Anilist.ts"
|
||||
|
||||
export const MediaTag = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaTag = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the tag */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
|
||||
const MediaTrendEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaTrendEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn?: Fn<typeof MediaTrend>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -13,7 +13,7 @@ const MediaTrendEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const MediaTrendConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaTrendConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof MediaTrendEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -40,7 +40,7 @@ export const MediaTrendConnection = ({ query, level }: Fields<UpdateOperation>)
|
|||
},
|
||||
})
|
||||
|
||||
export const MediaTrend = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const MediaTrend = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the tag */
|
||||
withMediaId() {
|
||||
query[0] = query[0].set({ subField: "mediaId", level })
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { ActivityUnion, MessageActivity } from "./ActivityUnion.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { Thread } from "./Thread.ts"
|
||||
import { ThreadComment } from "./ThreadComment.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
const AiringNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const AiringNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -46,7 +46,7 @@ const AiringNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const FollowingNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const FollowingNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -83,7 +83,7 @@ const FollowingNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const ActivityMessageNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ActivityMessageNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -134,7 +134,7 @@ const ActivityMessageNotification = ({ query, level }: Fields<UpdateOperation>)
|
|||
},
|
||||
})
|
||||
|
||||
const ActivityNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ActivityNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -190,7 +190,7 @@ const ActivityNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const ThreadCommentNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ThreadCommentNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -250,7 +250,7 @@ const ThreadCommentNotification = ({ query, level }: Fields<UpdateOperation>) =>
|
|||
},
|
||||
})
|
||||
|
||||
const ThreadLikeNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ThreadLikeNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -310,7 +310,7 @@ const ThreadLikeNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const RelatedMediaAdditionNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const RelatedMediaAdditionNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -347,7 +347,7 @@ const RelatedMediaAdditionNotification = ({ query, level }: Fields<UpdateOperati
|
|||
},
|
||||
})
|
||||
|
||||
const MediaDataChangeNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaDataChangeNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -389,7 +389,7 @@ const MediaDataChangeNotification = ({ query, level }: Fields<UpdateOperation>)
|
|||
},
|
||||
})
|
||||
|
||||
const MediaMergeNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaMergeNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -436,7 +436,7 @@ const MediaMergeNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const MediaDeletionNotification = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const MediaDeletionNotification = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the Notification */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -469,7 +469,7 @@ const MediaDeletionNotification = ({ query, level }: Fields<UpdateOperation>) =>
|
|||
},
|
||||
})
|
||||
|
||||
export const NotificationUnion = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const NotificationUnion = ({ query, level }: Fields<OperationParser>) => ({
|
||||
AiringNotification(fn?: Fn<typeof AiringNotification>) {
|
||||
query[0] = query[0].set({
|
||||
subField: "AiringNotification",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
import {
|
||||
PageActivitiesArgs,
|
||||
|
@ -37,7 +37,7 @@ import { Thread } from "./Thread.ts"
|
|||
import { ThreadComment } from "./ThreadComment.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
export const PageInfo = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const PageInfo = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The total number of items. Note: This value is not guaranteed to be accurate, do not rely on this for logic */
|
||||
withTotal() {
|
||||
query[0] = query[0].set({ subField: "total", level })
|
||||
|
@ -65,7 +65,7 @@ export const PageInfo = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const Page = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Page = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The pagination information */
|
||||
withPageInfo(fn: Fn<typeof PageInfo>) {
|
||||
query[0] = query[0].set({ subField: "pageInfo", level, hasSubField: true })
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { User } from "./User.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
|
||||
const RecommendationEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const RecommendationEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn?: Fn<typeof Recommendation>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -13,7 +13,7 @@ const RecommendationEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
return this
|
||||
},
|
||||
})
|
||||
export const RecommendationConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const RecommendationConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof RecommendationEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -40,7 +40,7 @@ export const RecommendationConnection = ({ query, level }: Fields<UpdateOperatio
|
|||
},
|
||||
})
|
||||
|
||||
export const Recommendation = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Recommendation = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the recommendation */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { PageInfo } from "./Page.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
const ReviewEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ReviewEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn?: Fn<typeof Review>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -14,7 +14,7 @@ const ReviewEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const ReviewConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const ReviewConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof ReviewEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -41,7 +41,7 @@ export const ReviewConnection = ({ query, level }: Fields<UpdateOperation>) => (
|
|||
},
|
||||
})
|
||||
|
||||
export const Review = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Review = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the review */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -7,11 +7,11 @@ import {
|
|||
SiteStatisticsStudiosArgs,
|
||||
SiteStatisticsUsersArgs,
|
||||
} from "../types/generated/graphql.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import type { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
import { SiteTrendConnection } from "./SiteTrend.ts"
|
||||
|
||||
export const SiteStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const SiteStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withUsers(
|
||||
op: { args?: AtLeastOne<SiteStatisticsUsersArgs>; fn: Fn<typeof SiteTrendConnection> },
|
||||
) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
|
||||
const SiteTrend = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const SiteTrend = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The day the data was recorded (timestamp) */
|
||||
withDate() {
|
||||
query[0] = query[0].set({ subField: "date", level })
|
||||
|
@ -19,7 +19,7 @@ const SiteTrend = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const SiteTrendEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const SiteTrendEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn: Fn<typeof SiteTrend>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -29,7 +29,7 @@ const SiteTrendEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const SiteTrendConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const SiteTrendConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn: Fn<typeof SiteTrendEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
|
|
@ -3,7 +3,7 @@ import {
|
|||
StaffCharactersArgs,
|
||||
StaffStaffMediaArgs,
|
||||
} from "../types/generated/graphql.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { FuzzyDate } from "../anilist.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
@ -11,7 +11,7 @@ import { CharacterConnection } from "./Character.ts"
|
|||
import { MediaConnection } from "./Media.ts"
|
||||
import { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
|
||||
export const StaffRoleType = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const StaffRoleType = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The voice actors of the character */
|
||||
withVoiceActor(fn: Fn<typeof Staff>) {
|
||||
query[0] = query[0].set({ subField: "voiceActor", level, hasSubField: true })
|
||||
|
@ -32,7 +32,7 @@ export const StaffRoleType = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const StaffEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const StaffEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn?: Fn<typeof Staff>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -58,7 +58,7 @@ const StaffEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const StaffConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const StaffConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof StaffEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -85,7 +85,7 @@ export const StaffConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const StaffName = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const StaffName = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The person's given name */
|
||||
withFirst() {
|
||||
query[0] = query[0].set({ subField: "first", level })
|
||||
|
@ -123,7 +123,7 @@ const StaffName = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const StaffImage = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const StaffImage = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The person's image of media at its largest size */
|
||||
withLarge() {
|
||||
query[0] = query[0].set({ subField: "large", level })
|
||||
|
@ -136,7 +136,7 @@ const StaffImage = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const Staff = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Staff = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the staff member */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { StudioMediaArgs } from "../types/generated/graphql.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { PageInfo } from "./Page.ts"
|
||||
import { MediaConnection } from "./Media.ts"
|
||||
import { AtLeastOne } from "../types/AtLeastOne.ts"
|
||||
|
||||
const StudioEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const StudioEdge = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withNode(fn?: Fn<typeof Studio>) {
|
||||
query[0] = query[0].set({ subField: "node", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -30,7 +30,7 @@ const StudioEdge = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const StudioConnection = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const StudioConnection = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEdges(fn?: Fn<typeof StudioEdge>) {
|
||||
query[0] = query[0].set({ subField: "edges", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
@ -57,7 +57,7 @@ export const StudioConnection = ({ query, level }: Fields<UpdateOperation>) => (
|
|||
},
|
||||
})
|
||||
|
||||
export const Studio = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Studio = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the studio */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Media } from "./Media.ts"
|
||||
import { User } from "./User.ts"
|
||||
|
||||
const ThreadCategory = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ThreadCategory = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the category */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
@ -15,7 +15,7 @@ const ThreadCategory = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const Thread = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const Thread = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the thread */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { User } from "./User.ts"
|
||||
import { Thread } from "./Thread.ts"
|
||||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
|
||||
export const ThreadComment = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const ThreadComment = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the comment */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import { Favourites } from "./Favourites.ts"
|
||||
import { MediaListOptions } from "./MediaList.ts"
|
||||
import { UserStatisticTypes } from "./UserStatistics.ts"
|
||||
|
||||
const NotificationOption = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const NotificationOption = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withEnabled() {
|
||||
query[0] = query[0].set({ subField: "enabled", level })
|
||||
return this
|
||||
|
@ -14,7 +14,7 @@ const NotificationOption = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const ListActivityOption = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const ListActivityOption = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withDisabled() {
|
||||
query[0] = query[0].set({ subField: "disabled", level })
|
||||
return this
|
||||
|
@ -25,7 +25,7 @@ const ListActivityOption = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const UserPreviousName = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const UserPreviousName = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** A previous name of the user. */
|
||||
withName() {
|
||||
query[0] = query[0].set({ subField: "name", level })
|
||||
|
@ -43,7 +43,7 @@ export const UserPreviousName = ({ query, level }: Fields<UpdateOperation>) => (
|
|||
},
|
||||
})
|
||||
|
||||
export const UserOptions = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const UserOptions = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The language the user wants to see media titles in */
|
||||
withTitleLanguage() {
|
||||
query[0] = query[0].set({ subField: "titleLanguage", level })
|
||||
|
@ -115,7 +115,7 @@ export const UserOptions = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const UserAvatar = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const UserAvatar = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The avatar of user at its largest size */
|
||||
withLarge() {
|
||||
query[0] = query[0].set({ subField: "large", level })
|
||||
|
@ -128,7 +128,7 @@ export const UserAvatar = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const User = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const User = ({ query, level }: Fields<OperationParser>) => ({
|
||||
/** The id of the user */
|
||||
withId() {
|
||||
query[0] = query[0].set({ subField: "id", level })
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Fields, Fn, UpdateOperation } from "../types/Anilist.ts"
|
||||
import { Fields, Fn, OperationParser } from "../types/Anilist.ts"
|
||||
import {
|
||||
UserStatisticsCountriesArgs,
|
||||
UserStatisticsFormatsArgs,
|
||||
|
@ -16,7 +16,7 @@ import {
|
|||
import { Staff } from "./Staff.ts"
|
||||
import { Studio } from "./Studio.ts"
|
||||
|
||||
const UserFormatStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserFormatStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -43,7 +43,7 @@ const UserFormatStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserStatusStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserStatusStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -70,7 +70,7 @@ const UserStatusStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserScoreStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserScoreStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -97,7 +97,7 @@ const UserScoreStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserLengthStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserLengthStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -124,7 +124,7 @@ const UserLengthStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserReleaseYearStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserReleaseYearStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -151,7 +151,7 @@ const UserReleaseYearStatistics = ({ query, level }: Fields<UpdateOperation>) =>
|
|||
},
|
||||
})
|
||||
|
||||
const UserStartYearStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserStartYearStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -178,7 +178,7 @@ const UserStartYearStatistics = ({ query, level }: Fields<UpdateOperation>) => (
|
|||
},
|
||||
})
|
||||
|
||||
const UserGenreStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserGenreStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -205,7 +205,7 @@ const UserGenreStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserTagStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserTagStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -232,7 +232,7 @@ const UserTagStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserCountryStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserCountryStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -259,7 +259,7 @@ const UserCountryStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserVoiceActorStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserVoiceActorStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -294,7 +294,7 @@ const UserVoiceActorStatistics = ({ query, level }: Fields<UpdateOperation>) =>
|
|||
},
|
||||
})
|
||||
|
||||
const UserStaffStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserStaffStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -325,7 +325,7 @@ const UserStaffStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
const UserStudioStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
const UserStudioStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -356,7 +356,7 @@ const UserStudioStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const UserStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const UserStatistics = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withCount() {
|
||||
query[0] = query[0].set({ subField: "count", level })
|
||||
return this
|
||||
|
@ -479,7 +479,7 @@ export const UserStatistics = ({ query, level }: Fields<UpdateOperation>) => ({
|
|||
},
|
||||
})
|
||||
|
||||
export const UserStatisticTypes = ({ query, level }: Fields<UpdateOperation>) => ({
|
||||
export const UserStatisticTypes = ({ query, level }: Fields<OperationParser>) => ({
|
||||
withAnime(fn: Fn<typeof UserStatistics>) {
|
||||
query[0] = query[0].set({ subField: "anime", level, hasSubField: true })
|
||||
let tmpQuery
|
||||
|
|
|
@ -11,22 +11,20 @@ export type Fn<F extends (...args: any) => any> = (
|
|||
|
||||
export type Variables = { [arg: string]: string | number | boolean | string[] }
|
||||
|
||||
export type UpdateOperation = {
|
||||
(opts: {
|
||||
query?: string
|
||||
variables?: any
|
||||
fields: string[]
|
||||
level: number
|
||||
hasSubField?: true
|
||||
isUnion?: true
|
||||
}): {
|
||||
get(): string
|
||||
set(
|
||||
{ subField, variables, hasSubField, level }:
|
||||
& Omit<Parameters<UpdateOperation>[0], "query" | "fields">
|
||||
& { subField: string },
|
||||
): ReturnType<UpdateOperation>
|
||||
}
|
||||
export type OperationParser = (opts: {
|
||||
query?: string
|
||||
variables?: any
|
||||
fields: string[]
|
||||
level: number
|
||||
hasSubField?: true
|
||||
isUnion?: true
|
||||
}) => {
|
||||
get(): string
|
||||
set(
|
||||
{ subField, variables, hasSubField, level }:
|
||||
& Omit<Parameters<OperationParser>[0], "query" | "fields">
|
||||
& { subField: string },
|
||||
): ReturnType<OperationParser>
|
||||
}
|
||||
|
||||
export type Authorization = {
|
||||
|
|
Loading…
Reference in New Issue