Skip to content

Commit 131080f

Browse files
committed
refactor: streamline GraphQL fragments and improve structure
- Consolidated and optimized GraphQL fragments across anime, manga, character, media, staff, studio, and user files. - Replaced redundant fields with fragment references to enhance maintainability and reduce code duplication. - Improved import statements for better clarity and organization of fragment dependencies.
1 parent 291dd52 commit 131080f

28 files changed

+5289
-6374
lines changed

src/__generated__/anilist-sdk.ts

Lines changed: 4428 additions & 6170 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/fragments/anime.ts

Lines changed: 29 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,41 @@
11
import { gql } from "graphql-request";
2+
import { CHARACTER_CONNECTION_FRAGMENT } from "./connections/character";
3+
import { MEDIA_RELATION_CONNECTION_FRAGMENT } from "./connections/media.js";
4+
import { STAFF_CONNECTION_FRAGMENT } from "./connections/staff";
5+
import { STUDIO_CONNECTION_FRAGMENT } from "./connections/studio.js";
6+
import { MEDIA_DETAILED_FRAGMENT } from "./media/core.js";
7+
import {
8+
AIRING_SCHEDULE_FRAGMENT,
9+
MEDIA_STREAMING_EPISODE_FRAGMENT,
10+
} from "./media/streaming.js";
211

312
export const ANIME_FRAGMENT = gql`
13+
${MEDIA_DETAILED_FRAGMENT}
14+
${STUDIO_CONNECTION_FRAGMENT}
15+
${MEDIA_RELATION_CONNECTION_FRAGMENT}
16+
${CHARACTER_CONNECTION_FRAGMENT}
17+
${STAFF_CONNECTION_FRAGMENT}
18+
${MEDIA_STREAMING_EPISODE_FRAGMENT}
19+
${AIRING_SCHEDULE_FRAGMENT}
420
fragment AnimeFragment on Media {
5-
id
6-
title {
7-
romaji
8-
english
9-
native
21+
...MediaDetailedFragment
22+
nextAiringEpisode {
23+
...AiringScheduleFragment
1024
}
11-
coverImage {
12-
large
13-
medium
14-
}
15-
description
16-
episodes
17-
duration
18-
genres
19-
averageScore
20-
status
21-
format
22-
season
23-
seasonYear
24-
startDate {
25-
year
26-
month
27-
day
28-
}
29-
endDate {
30-
year
31-
month
32-
day
25+
streamingEpisodes {
26+
...MediaStreamingEpisodeFragment
3327
}
3428
studios {
35-
edges {
36-
isMain
37-
node {
38-
id
39-
name
40-
}
41-
}
29+
...StudioConnectionFragment
4230
}
4331
relations {
44-
edges {
45-
relationType
46-
node {
47-
id
48-
title {
49-
romaji
50-
}
51-
}
52-
}
32+
...MediaRelationConnectionFragment
33+
}
34+
characters {
35+
...CharacterConnectionFragment
36+
}
37+
staff {
38+
...StaffConnectionFragment
5339
}
5440
}
5541
`;

src/fragments/character.ts

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,9 @@
11
import { gql } from "graphql-request";
2-
3-
const CHARACTER_NAME_FRAGMENT = gql`
4-
fragment CharacterNameFragment on CharacterName {
5-
alternative
6-
alternativeSpoiler
7-
first
8-
full
9-
last
10-
middle
11-
native
12-
userPreferred
13-
}
14-
`;
2+
import { CHARACTER_BASIC_FRAGMENT } from "./entities/character.js";
153

164
export const CHARACTER_FRAGMENT = gql`
17-
${CHARACTER_NAME_FRAGMENT}
5+
${CHARACTER_BASIC_FRAGMENT}
186
fragment CharacterFragment on Character {
19-
id
20-
name {
21-
...CharacterNameFragment
22-
}
23-
image {
24-
large
25-
medium
26-
}
27-
description
28-
gender
29-
dateOfBirth {
30-
year
31-
month
32-
day
33-
}
34-
age
35-
bloodType
36-
siteUrl
7+
...CharacterBasicFragment
378
}
389
`;

src/fragments/common/coverImage.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { gql } from "graphql-request";
2+
3+
export const COVER_IMAGE_FRAGMENT = gql`
4+
fragment CoverImageFragment on MediaCoverImage {
5+
large
6+
medium
7+
extraLarge
8+
color
9+
}
10+
`;

src/fragments/common/date.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { gql } from "graphql-request";
2+
3+
export const DATE_FRAGMENT = gql`
4+
fragment DateFragment on FuzzyDate {
5+
year
6+
month
7+
day
8+
}
9+
`;

src/fragments/common/image.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { gql } from "graphql-request";
2+
3+
export const CHARACTER_IMAGE_FRAGMENT = gql`
4+
fragment CharacterImageFragment on CharacterImage {
5+
large
6+
medium
7+
}
8+
`;
9+
10+
export const STAFF_IMAGE_FRAGMENT = gql`
11+
fragment StaffImageFragment on StaffImage {
12+
large
13+
medium
14+
}
15+
`;
16+
17+
export const USER_AVATAR_FRAGMENT = gql`
18+
fragment UserAvatarFragment on UserAvatar {
19+
large
20+
medium
21+
}
22+
`;

src/fragments/common/title.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { gql } from "graphql-request";
2+
3+
export const TITLE_FRAGMENT = gql`
4+
fragment TitleFragment on MediaTitle {
5+
romaji
6+
english
7+
native
8+
}
9+
`;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { gql } from "graphql-request";
2+
import { CHARACTER_BASIC_FRAGMENT } from "../entities/character";
3+
4+
export const CHARACTER_EDGE_FRAGMENT = gql`
5+
${CHARACTER_BASIC_FRAGMENT}
6+
fragment CharacterEdgeFragment on CharacterEdge {
7+
id
8+
role
9+
name
10+
voiceActors {
11+
id
12+
name {
13+
full
14+
native
15+
}
16+
image {
17+
large
18+
medium
19+
}
20+
languageV2
21+
}
22+
node {
23+
...CharacterBasicFragment
24+
}
25+
}
26+
`;
27+
28+
export const CHARACTER_CONNECTION_FRAGMENT = gql`
29+
${CHARACTER_EDGE_FRAGMENT}
30+
fragment CharacterConnectionFragment on CharacterConnection {
31+
edges {
32+
...CharacterEdgeFragment
33+
}
34+
nodes {
35+
...CharacterBasicFragment
36+
}
37+
}
38+
`;

src/fragments/connections/media.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { gql } from "graphql-request";
2+
import { TITLE_FRAGMENT } from "../common/title.js";
3+
4+
export const MEDIA_RELATION_NODE_FRAGMENT = gql`
5+
${TITLE_FRAGMENT}
6+
fragment MediaRelationNodeFragment on Media {
7+
id
8+
title {
9+
...TitleFragment
10+
}
11+
}
12+
`;
13+
14+
export const MEDIA_RELATION_EDGE_FRAGMENT = gql`
15+
${MEDIA_RELATION_NODE_FRAGMENT}
16+
fragment MediaRelationEdgeFragment on MediaEdge {
17+
relationType
18+
node {
19+
...MediaRelationNodeFragment
20+
}
21+
}
22+
`;
23+
24+
export const MEDIA_RELATION_CONNECTION_FRAGMENT = gql`
25+
${MEDIA_RELATION_EDGE_FRAGMENT}
26+
fragment MediaRelationConnectionFragment on MediaConnection {
27+
edges {
28+
...MediaRelationEdgeFragment
29+
}
30+
}
31+
`;

src/fragments/connections/staff.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { gql } from "graphql-request";
2+
import { STAFF_BASIC_FRAGMENT } from "../entities/staff";
3+
4+
export const STAFF_EDGE_FRAGMENT = gql`
5+
${STAFF_BASIC_FRAGMENT}
6+
fragment StaffEdgeFragment on StaffEdge {
7+
id
8+
role
9+
node {
10+
...StaffBasicFragment
11+
}
12+
}
13+
`;
14+
15+
export const STAFF_CONNECTION_FRAGMENT = gql`
16+
${STAFF_EDGE_FRAGMENT}
17+
fragment StaffConnectionFragment on StaffConnection {
18+
edges {
19+
...StaffEdgeFragment
20+
}
21+
nodes {
22+
...StaffBasicFragment
23+
}
24+
}
25+
`;

0 commit comments

Comments
 (0)