diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index b20823b..8a1d5be 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -5,7 +5,7 @@ on: - main env: - PNPM_VERSION: 8.10.3 + PNPM_VERSION: 8.10.4 jobs: lint: diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c57fdc2..7a92984 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -5,7 +5,7 @@ on: - main env: - PNPM_VERSION: 8.10.3 + PNPM_VERSION: 8.10.4 jobs: lint: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bcc6d93..ce9c902 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -23,7 +23,7 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@v2.4.0 with: - version: 8.10.3 + version: 8.10.4 - name: Setup Node uses: actions/setup-node@v4.0.0 diff --git a/docs/api/thetvdb.md b/docs/api/thetvdb.md index a2118d6..1849a27 100644 --- a/docs/api/thetvdb.md +++ b/docs/api/thetvdb.md @@ -357,6 +357,103 @@ await client.getEpisodesByPage(); await client.getEpisodesByPage('11890'); ``` +## getLists + +Returns a list of lists records + +| params | type | Required | Description | +| ------ | -------- | :------: | ------------------------------ | +| page | `string` | Optional | Get lists for a specific page. | + +### Supports the following endpoints + +- `/lists` + +### Get lists + +```js +await client.getLists(); +``` + +### Get lists from a specific page + +```js +await client.getLists('7'); +``` + +## getListById + +Returns a single list record + +| params | type | Required | Description | +| ------ | -------- | :------: | --------------------- | +| id | `string` | Yes | The `id` of the list. | + +### Supports the following endpoints + +- `/lists/:id` + +### Single record + +```js +await client.getListById('1'); +``` + +## getListByIdExtended + +Returns a single list extended record + +| params | type | Required | Description | +| ------ | -------- | :------: | --------------------- | +| id | `string` | Yes | The `id` of the list. | + +### Supports the following endpoints + +- `/lists/:id/extended` + +### Single record + +```js +await client.getListByIdExtended('1'); +``` + +## getListByLanguage + +Returns a single list with translation record + +| params | type | Required | Description | +| -------- | -------- | :------: | --------------------------- | +| id | `string` | Yes | The `id` of the list. | +| language | `string` | Yes | The `language` of the list. | + +### Supports the following endpoints + +- `/lists/:id/translations/:language` + +### Single record + +```js +await client.getListByLanguage('17', 'spa'); +``` + +## getListBySlug + +Returns a single list record by slug + +| params | type | Required | Description | +| ------ | -------- | :------: | ----------------------- | +| slug | `string` | Yes | The `slug` of the list. | + +### Supports the following endpoints + +- `/lists/slug/:slug` + +### Single record + +```js +await client.getListBySlug('1001'); +``` + ## getMovie Returns a movie base or extended record @@ -782,3 +879,138 @@ await client.getSeriesByPage(); ```js await client.getSeriesByPage('7'); ``` + +## getSerieArtworks + +Returns a serie record with artworks + +| params | type | Required | Description | +| -------- | -------- | :------: | ---------------------------- | +| id | `string` | Yes | The `id` of the serie. | +| language | `string` | Yes | The `language` of the serie. | +| type | `string` | Yes | The type of artwork. | + +### Supports the following endpoints + +- `/series/:id/artworks` + +### Single record + +```js +await client.getSerieArtworks('78878', 'jpn', '3'); +``` + +## getSerieBySlug + +Returns a single serie record by slug + +| params | type | Required | Description | +| ------ | -------- | :------: | ------------------------ | +| slug | `string` | Yes | The `slug` of the serie. | + +### Supports the following endpoints + +- `/series/slug/:slug` + +### Single record + +```js +await client.getSerieBySlug('flcl'); +``` + +## getSerieByLanguage + +Returns a single serie translation record + +| params | type | Required | Description | +| -------- | -------- | :------: | ---------------------------- | +| id | `string` | Yes | The `id` of the serie. | +| language | `string` | Yes | The `language` of the serie. | + +### Supports the following endpoints + +- `/series/:id/translations/:language` + +### Single record + +```js +await client.getSerieByLanguage('78878', 'eng'); +``` + +## getSerieEpisodes + +Returns a serie episodes from the specified season type. + +| params | type | Required | Description | +| --------------------- | -------- | :------: | --------------------------------------------------------- | +| options | `object` | Yes | An object containing the parameters for the query. | +| options.id | `string` | Yes | The serie `id`. | +| options.type | `string` | Yes | The serie `type`. | +| options.airDate | `string` | Optional | The `airDate` of the episode (yyyy-mm-dd). | +| options.episodeNumber | `string` | Optional | Restrict results to a specific episode (requires season). | +| options.page | `string` | Optional | Restrict results to a specific page. | +| options.season | `string` | Optional | Restrict results to a specific season. | + +### Supports the following endpoints + +- `/series/:id/episodes/:season-type` + +### Single record + +```js +await client.getSerieEpisodes({ id: '75978', type: 'default', airDate: '2006-05-21' }); +``` + +## getSerieEpisodesWithLanguage + +Returns a serie record with episodes from the specified season type and language. + +| params | type | Required | Description | +| ---------------- | -------- | :------: | -------------------------------------------------- | +| options | `object` | Yes | An object containing the parameters for the query. | +| options.id | `string` | Yes | The serie `id`. | +| options.type | `string` | Yes | The serie `type`. | +| options.language | `string` | Yes | The serie `language`. | +| options.page | `string` | Optional | Restrict results to a specific page. | + +### Supports the following endpoints + +- `/series/:id/episodes/:season-type/:language` + +### Single record + +```js +await client.getSerieEpisodesWithLanguage({ id: '78878', type: 'official', language: 'eng' }); +``` + +## getSerieNextAired + +Returns a single serie record including the nextAired field. + +| params | type | Required | Description | +| ------ | -------- | :------: | ---------------------- | +| id | `string` | Yes | The `id` of the serie. | + +### Supports the following endpoints + +- `/series/:id/nextAired` + +### Single record + +```js +await client.getSerieNextAired('78878'); +``` + +## getSerieStatus + +Returns a list of series status and does not require any parameters. + +### Supports the following endpoints + +- `/series/statuses` + +### Single record + +```js +await client.getSerieStatus(); +``` diff --git a/package.json b/package.json index 5014bdd..d318dea 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,8 @@ "@swc/jest": "^0.2.29", "@types/jest": "^29.5.8", "@types/node": "^20.9.0", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", + "@typescript-eslint/eslint-plugin": "^6.11.0", + "@typescript-eslint/parser": "^6.11.0", "dotenv": "^16.3.1", "eslint": "^8.53.0", "eslint-config-prettier": "^9.0.0", @@ -55,7 +55,7 @@ "eslint-plugin-promise": "^6.1.1", "jest": "^29.7.0", "msw": "^2.0.6", - "prettier": "^3.0.3", + "prettier": "^3.1.0", "tsx": "^4.1.1", "typescript": "^5.2.2", "vitepress": "1.0.0-rc.25" @@ -71,5 +71,5 @@ "bugs": { "url": "https://github.com/falsepopsky/thetvdb/issues" }, - "packageManager": "pnpm@8.10.3" + "packageManager": "pnpm@8.10.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29520f4..273d64c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,11 +21,11 @@ devDependencies: specifier: ^20.9.0 version: 20.9.0 '@typescript-eslint/eslint-plugin': - specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(eslint@8.53.0)(typescript@5.2.2) dotenv: specifier: ^16.3.1 version: 16.3.1 @@ -37,13 +37,13 @@ devDependencies: version: 9.0.0(eslint@8.53.0) eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@6.10.0)(eslint-plugin-import@2.29.0)(eslint@8.53.0) + version: 3.6.1(@typescript-eslint/parser@6.11.0)(eslint-plugin-import@2.29.0)(eslint@8.53.0) eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) + version: 2.29.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) eslint-plugin-jest: specifier: ^27.6.0 - version: 27.6.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(jest@29.7.0)(typescript@5.2.2) + version: 27.6.0(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.53.0)(jest@29.7.0)(typescript@5.2.2) eslint-plugin-n: specifier: ^16.3.1 version: 16.3.1(eslint@8.53.0) @@ -57,8 +57,8 @@ devDependencies: specifier: ^2.0.6 version: 2.0.6(typescript@5.2.2) prettier: - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^3.1.0 + version: 3.1.0 tsx: specifier: ^4.1.1 version: 4.1.1 @@ -1700,8 +1700,8 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} + /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1712,11 +1712,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/parser': 6.11.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4 eslint: 8.53.0 graphemer: 1.4.0 @@ -1729,8 +1729,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} + /@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1739,10 +1739,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4 eslint: 8.53.0 typescript: 5.2.2 @@ -1758,16 +1758,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.10.0: - resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} + /@typescript-eslint/scope-manager@6.11.0: + resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/visitor-keys': 6.11.0 dev: true - /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} + /@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1776,8 +1776,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.53.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -1791,8 +1791,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.10.0: - resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} + /@typescript-eslint/types@6.11.0: + resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1817,8 +1817,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): - resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} + /@typescript-eslint/typescript-estree@6.11.0(typescript@5.2.2): + resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1826,8 +1826,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1858,8 +1858,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} + /@typescript-eslint/utils@6.11.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1867,9 +1867,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.5 - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: @@ -1885,11 +1885,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.10.0: - resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} + /@typescript-eslint/visitor-keys@6.11.0: + resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/types': 6.11.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1995,20 +1995,20 @@ packages: resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} dev: true - /@vueuse/core@10.6.0(vue@3.3.8): - resolution: {integrity: sha512-+Yee+g9+9BEbvkyGdn4Bf4yZx9EfocAytpV2ZlrlP7xcz+qznLmZIDqDroTvc5vtMkWZicisgEv8dt3+jL+HQg==} + /@vueuse/core@10.6.1(vue@3.3.8): + resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.6.0 - '@vueuse/shared': 10.6.0(vue@3.3.8) + '@vueuse/metadata': 10.6.1 + '@vueuse/shared': 10.6.1(vue@3.3.8) vue-demi: 0.14.6(vue@3.3.8) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.6.0(focus-trap@7.5.4)(vue@3.3.8): - resolution: {integrity: sha512-4RsM5+HF2IUOCFngdyQyvhDEFjus2gzOnPR2FbX4l+pQ4KPMMqzic1AFIq4bMYaVp32p/HF+pidTXwLJIZSQtA==} + /@vueuse/integrations@10.6.1(focus-trap@7.5.4)(vue@3.3.8): + resolution: {integrity: sha512-mPDupuofMJ4DPmtX/FfP1MajmWRzYDv8WSaTCo8LQ5kFznjWgmUQ16ApjYqgMquqffNY6+IRMdMgosLDRZOSZA==} peerDependencies: async-validator: '*' axios: '*' @@ -2048,8 +2048,8 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.6.0(vue@3.3.8) - '@vueuse/shared': 10.6.0(vue@3.3.8) + '@vueuse/core': 10.6.1(vue@3.3.8) + '@vueuse/shared': 10.6.1(vue@3.3.8) focus-trap: 7.5.4 vue-demi: 0.14.6(vue@3.3.8) transitivePeerDependencies: @@ -2057,12 +2057,12 @@ packages: - vue dev: true - /@vueuse/metadata@10.6.0: - resolution: {integrity: sha512-mzKHkHoiK6xVz01VzQjM2l6ofUanEaofgEGPgDHcAzlvOTccPRTIdEuzneOUTYxgfm1vkDikS6rtrEw/NYlaTQ==} + /@vueuse/metadata@10.6.1: + resolution: {integrity: sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==} dev: true - /@vueuse/shared@10.6.0(vue@3.3.8): - resolution: {integrity: sha512-0t4MVE18sO+/4Gh0jfeOXBTjKeV4606N9kIrDOLPjFl8Rwnlodn+QC5A4LfJuysK7aOsTMjF3KnzNeueaI0xlQ==} + /@vueuse/shared@10.6.1(vue@3.3.8): + resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} dependencies: vue-demi: 0.14.6(vue@3.3.8) transitivePeerDependencies: @@ -2373,7 +2373,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001561 - electron-to-chromium: 1.4.581 + electron-to-chromium: 1.4.582 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -2755,8 +2755,8 @@ packages: engines: {node: '>=12'} dev: true - /electron-to-chromium@1.4.581: - resolution: {integrity: sha512-6uhqWBIapTJUxgPTCHH9sqdbxIMPt7oXl0VcAL1kOtlU6aECdcMncCrX5Z7sHQ/invtrC9jUQUef7+HhO8vVFw==} + /electron-to-chromium@1.4.582: + resolution: {integrity: sha512-89o0MGoocwYbzqUUjc+VNpeOFSOK9nIdC5wY4N+PVUarUK0MtjyTjks75AZS2bW4Kl8MdewdFsWaH0jLy+JNoA==} dev: true /emittery@0.13.1: @@ -2928,7 +2928,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.10.0)(eslint-plugin-import@2.29.0)(eslint@8.53.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.11.0)(eslint-plugin-import@2.29.0)(eslint@8.53.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2938,8 +2938,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.53.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -2951,7 +2951,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2972,11 +2972,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.53.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.10.0)(eslint-plugin-import@2.29.0)(eslint@8.53.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.11.0)(eslint-plugin-import@2.29.0)(eslint@8.53.0) transitivePeerDependencies: - supports-color dev: true @@ -2992,7 +2992,7 @@ packages: eslint: 8.53.0 dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -3002,7 +3002,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.53.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -3011,7 +3011,7 @@ packages: doctrine: 2.1.0 eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -3027,7 +3027,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(jest@29.7.0)(typescript@5.2.2): + /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.53.0)(jest@29.7.0)(typescript@5.2.2): resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -3040,7 +3040,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2) '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) eslint: 8.53.0 jest: 29.7.0(@types/node@20.9.0) @@ -4955,8 +4955,8 @@ packages: hasBin: true dev: true - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true dev: true @@ -5803,8 +5803,8 @@ packages: '@types/markdown-it': 13.0.6 '@vitejs/plugin-vue': 4.3.1(vite@4.5.0)(vue@3.3.8) '@vue/devtools-api': 6.5.1 - '@vueuse/core': 10.6.0(vue@3.3.8) - '@vueuse/integrations': 10.6.0(focus-trap@7.5.4)(vue@3.3.8) + '@vueuse/core': 10.6.1(vue@3.3.8) + '@vueuse/integrations': 10.6.1(focus-trap@7.5.4)(vue@3.3.8) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.2.0 diff --git a/src/main.ts b/src/main.ts index 6e1df87..71e79be 100644 --- a/src/main.ts +++ b/src/main.ts @@ -523,8 +523,8 @@ type GetMovie = O['extended'] extends true ? Data : Data : O['short'] extends true - ? Data - : Data + ? Data + : Data : Data; type GetMoviesByPage = DataLink; @@ -563,16 +563,16 @@ type GetSerie = O['extended'] extends true ? Data : Data : O['meta'] extends 'episodes' - ? O['short'] extends true - ? Data - : Data - : O['short'] extends true - ? Data - : Data + ? O['short'] extends true + ? Data + : Data + : O['short'] extends true + ? Data + : Data : Data; -type getSerieEpisodes = DataLink; -type getSerieEpisodesWithLanguage = DataLink; +type GetSerieEpisodes = DataLink; +type GetSerieEpisodesWithLanguage = DataLink; type GetSerieArtworks = Data; type GetSerieNextAired = Data; type GetSeriesByPage = DataLink; @@ -853,6 +853,7 @@ export class TheTVDB extends Base { return await this.fetcher(endpoint); } + // TODO: in version 1.0.0, make language and type optional public async getSerieArtworks(id: string, language: string, type: string): Promise { this.validateInput(id, 'Required id serie'); this.validateInput(language, 'Required language'); @@ -876,7 +877,7 @@ export class TheTVDB extends Base { return await this.fetcher(this.api + '/v4/series/' + id + '/translations/' + language); } - public async getSerieEpisodes(options: SerieEpisodes): Promise { + public async getSerieEpisodes(options: SerieEpisodes): Promise { this.validateInput(options?.id, 'Required serie id'); this.validateInput(options?.type, 'Required season type'); @@ -895,10 +896,10 @@ export class TheTVDB extends Base { endpoint.searchParams.set('airDate', options.airDate); } - return await this.fetcher(endpoint.href); + return await this.fetcher(endpoint.href); } - public async getSerieEpisodesWithLanguage(options: SerieEpisodesLanguage): Promise { + public async getSerieEpisodesWithLanguage(options: SerieEpisodesLanguage): Promise { this.validateInput(options?.id, 'Required serie id'); this.validateInput(options?.type, 'Required season type'); this.validateInput(options?.language, 'Required language'); @@ -908,7 +909,7 @@ export class TheTVDB extends Base { endpoint += `?page=${options.page}`; } - return await this.fetcher(endpoint); + return await this.fetcher(endpoint); } public async getSerieNextAired(id: string): Promise { diff --git a/tsconfig.build.json b/tsconfig.build.json index cc34600..9e68955 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,6 +1,6 @@ { "extends": "./tsconfig.json", - "compilerOptions": { "rootDir": "./src", "outDir": "./dist", "noEmit": false }, + "compilerOptions": { "rootDir": "./src", "outDir": "./dist", "noEmit": false, "removeComments": true }, "include": ["src"], "exclude": ["node_modules", "tests", "**/*.test.ts", "./src/environment.d.ts", "./src/playground.ts"] }