Compare commits

..

1 Commits

Author SHA1 Message Date
3cd1d2eb06 build: bump @babel/traverse from 7.20.12 to 7.25.9
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.12 to 7.25.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.25.9/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 23:41:42 +00:00
6 changed files with 258 additions and 3017 deletions

View File

@ -1,19 +1,18 @@
import { expect, test, vi } from 'vitest' /// <reference types="jest" />
import TCGdex, { Query } from '../src/tcgdex'
// change timeout of execution const { default: TCGdex, Query } = require("../src/tcgdex")
vi.setConfig({ testTimeout: 120000 }) import fetch from 'node-fetch'
const fakeFetch = (response: any, status = 200) => vi.fn(() => const fakeFetch = (response, status = 200) => jest.fn(() =>
Promise.resolve({ Promise.resolve({
status: status, status: status,
json: () => Promise.resolve(response) json: () => Promise.resolve(response),
}) })
) );
test('Basic test', async () => { test('Basic test', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fakeFetch({ ok: true }) as any TCGdex.fetch = fakeFetch({ ok: true })
const res = await tcgdex.fetch('cards', 'basic-test') const res = await tcgdex.fetch('cards', 'basic-test')
expect(res).toEqual({ ok: true }) expect(res).toEqual({ ok: true })
expect(TCGdex.fetch).toHaveBeenCalledTimes(1) expect(TCGdex.fetch).toHaveBeenCalledTimes(1)
@ -21,7 +20,7 @@ test('Basic test', async () => {
test('endpoint errors', async () => { test('endpoint errors', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fakeFetch({ ok: 'a' }) as any TCGdex.fetch = fakeFetch({ ok: 'a' })
await expect(tcgdex.fetch('non existing endpoint')).rejects.toThrow() await expect(tcgdex.fetch('non existing endpoint')).rejects.toThrow()
await expect(tcgdex.fetch()).rejects.toThrow() await expect(tcgdex.fetch()).rejects.toThrow()
}) })
@ -68,7 +67,7 @@ test(`test get set from card`, async () => {
TCGdex.fetch = fetch TCGdex.fetch = fetch
expect( expect(
await (await tcgdex.card.get('swsh1-136'))!.getSet() await (await tcgdex.card.get('swsh1-136')).getSet()
).toBeTruthy() ).toBeTruthy()
}) })
@ -77,7 +76,7 @@ test(`test get serie from set`, async () => {
TCGdex.fetch = fetch TCGdex.fetch = fetch
expect( expect(
await (await tcgdex.set.get('swsh1'))!.getSerie() await (await tcgdex.set.get('swsh1')).getSerie()
).toBeTruthy() ).toBeTruthy()
}) })

View File

@ -1,44 +1,43 @@
import { expect, test, vi } from 'vitest' const TCGdex = require("../src/tcgdex").default
import TCGdex from '../src/tcgdex' const fetch = require('node-fetch')
// change timeout of execution const fakeFetch = (response, status = 200) => jest.fn(() =>
vi.setConfig({ testTimeout: 120000 })
const fakeFetch = (response, status = 200) => vi.fn(() =>
Promise.resolve({ Promise.resolve({
status: status, status: status,
json: () => Promise.resolve(response), json: () => Promise.resolve(response),
}) })
) );
test('Basic test', async () => { test('Basic test', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fakeFetch({ ok: true }) as any TCGdex.fetch = fakeFetch({ok: true})
const res = await tcgdex.fetch('cards', 'basic-test') const res = await tcgdex.fetch('cards', 'basic-test')
expect(res).toEqual({ ok: true }) expect(res).toEqual({ok: true})
expect(TCGdex.fetch).toHaveBeenCalledTimes(1) expect(TCGdex.fetch).toHaveBeenCalledTimes(1)
}) })
test('Cache test', async () => { test('Cache test', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fakeFetch({ ok: 'a' }) as any TCGdex.fetch = fakeFetch({ok: 'a'})
const res1 = await tcgdex.fetch('cards', 'cache-test') const res1 = await tcgdex.fetch('cards', 'cache-test')
expect(res1).toEqual({ ok: 'a' }) expect(res1).toEqual({ok: 'a'})
TCGdex.fetch = fakeFetch({ ok: 'b' }) as any TCGdex.fetch = fakeFetch({ok: 'b'})
const res2 = await tcgdex.fetch('cards', 'cache-test') const res2 = await tcgdex.fetch('cards', 'cache-test')
expect(res2).toEqual({ ok: 'a' }) expect(res2).toEqual({ok: 'a'})
}) })
test('endpoint errors', async () => { test('endpoint errors', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fakeFetch({ ok: 'a' }) as any TCGdex.fetch = fakeFetch({ok: 'a'})
await expect(tcgdex.fetch('non existing endpoint')).rejects.toThrow() await expect(tcgdex.fetch('non existing endpoint')).rejects.toThrow()
await expect(tcgdex.fetch()).rejects.toThrow() await expect(tcgdex.fetch()).rejects.toThrow()
}) })
test('404 test', async () => { test('404 test', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fakeFetch(undefined, 404) as any TCGdex.fetch = fakeFetch(undefined, 404)
expect( expect(
await tcgdex.fetch('cards', '404-test') await tcgdex.fetch('cards', '404-test')
).not.toBeDefined() ).not.toBeDefined()
@ -48,15 +47,15 @@ test('test real endpoints', async () => {
const tcgdex = new TCGdex('en') const tcgdex = new TCGdex('en')
TCGdex.fetch = fetch TCGdex.fetch = fetch
const endpoints = [ const endpoints = [
{ endpoint: 'fetchCard', params: ['swsh1-1'] }, {endpoint: 'fetchCard', params: ['swsh1-1']},
{ endpoint: 'fetchCard', params: ['1', 'Sword & Shield'] }, {endpoint: 'fetchCard', params: ['1', 'Sword & Shield']},
{ endpoint: 'fetchCards', params: ['swsh1'] }, {endpoint: 'fetchCards', params: ['swsh1']},
{ endpoint: 'fetchCards', params: [] }, {endpoint: 'fetchCards', params: []},
{ endpoint: 'fetchSet', params: ['swsh1'] }, {endpoint: 'fetchSet', params: ['swsh1']},
{ endpoint: 'fetchSets', params: ['swsh'] }, {endpoint: 'fetchSets', params: ['swsh']},
{ endpoint: 'fetchSets', params: [] }, {endpoint: 'fetchSets', params: []},
{ endpoint: 'fetchSeries', params: [] }, {endpoint: 'fetchSeries', params: []},
{ endpoint: 'fetchSerie', params: ['swsh'] }, {endpoint: 'fetchSerie', params: ['swsh']},
] ]
for await (const item of endpoints) { for await (const item of endpoints) {

3185
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@tcgdex/sdk", "name": "@tcgdex/sdk",
"version": "2.6.0", "version": "2.6.0-beta.4",
"main": "./dist/tcgdex.node.js", "main": "./dist/tcgdex.node.js",
"module": "./dist/tcgdex.node.mjs", "module": "./dist/tcgdex.node.mjs",
"types": "./dist/tcgdex.node.d.ts", "types": "./dist/tcgdex.node.d.ts",
@ -44,12 +44,10 @@
"@types/node-fetch": "^2", "@types/node-fetch": "^2",
"@typescript-eslint/eslint-plugin": "^5", "@typescript-eslint/eslint-plugin": "^5",
"@typescript-eslint/parser": "^5", "@typescript-eslint/parser": "^5",
"@vitest/coverage-v8": "^2.1.8",
"eslint": "^8", "eslint": "^8",
"jest": "^29", "jest": "^29",
"tsup": "^7", "tsup": "^7",
"typescript": "^5", "typescript": "^5"
"vitest": "^2"
}, },
"engines": { "engines": {
"node": ">=12" "node": ">=12"
@ -65,7 +63,7 @@
"build": "rm -rf dist && tsup ./src/tcgdex.node.ts --format cjs,esm --dts --clean && tsup ./src/tcgdex.browser.ts --format iife --global-name TCGdex --sourcemap", "build": "rm -rf dist && tsup ./src/tcgdex.node.ts --format cjs,esm --dts --clean && tsup ./src/tcgdex.browser.ts --format iife --global-name TCGdex --sourcemap",
"prepublishOnly": "npm run build", "prepublishOnly": "npm run build",
"lint": "eslint", "lint": "eslint",
"test": "vitest run --coverage" "test": "jest --coverage"
}, },
"files": [ "files": [
"dist" "dist"

View File

@ -1,6 +1,6 @@
import type CacheInterface from '@cachex/core' import type CacheInterface from '@cachex/core'
import MemoryCache from '@cachex/memory'
import LocalStorageCache from '@cachex/web-storage' import LocalStorageCache from '@cachex/web-storage'
import MemoryCache from '@cachex/memory'
import Query from './Query' import Query from './Query'
import Endpoint from './endpoints/Endpoint' import Endpoint from './endpoints/Endpoint'
import SimpleEndpoint from './endpoints/SimpleEndpoint' import SimpleEndpoint from './endpoints/SimpleEndpoint'
@ -372,7 +372,6 @@ export default class TCGdex {
// parse, put to cache and return // parse, put to cache and return
const json = await resp.json() const json = await resp.json()
this.cache.set(path, json, this.cacheTTL) this.cache.set(path, json, this.cacheTTL)
return json as T return json as T
} }
@ -398,13 +397,8 @@ export default class TCGdex {
} }
} }
// export the old interfaces
export type * from './interfaces.d.ts'
// export the new models items and the Query export * from './models/Card'
export { export {
CardModel, CardResumeModel, Endpoint, Model, Query, SerieModel, Query
SerieResume as SerieResumeModel,
SetModel,
SetResumeModel, SimpleEndpoint
} }

View File

@ -12,7 +12,7 @@ export function detectContext(): 'browser' | 'server' {
} }
} }
export const ENDPOINTS: ReadonlyArray<Endpoints> = [ export const ENDPOINTS: Array<Endpoints> = [
'cards', 'categories', 'dex-ids', 'energy-types', 'cards', 'categories', 'dex-ids', 'energy-types',
'hp', 'illustrators', 'rarities', 'regulation-marks', 'hp', 'illustrators', 'rarities', 'regulation-marks',
'retreats', 'series', 'sets', 'stages', 'suffixes', 'retreats', 'series', 'sets', 'stages', 'suffixes',