From a084077543c4b1176d3910afc749949647083756 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 6 Jul 2019 15:31:08 -0400 Subject: [PATCH 01/17] Update card definition --- src/classes/ability.ts | 2 +- src/classes/ancientAbility.ts | 8 ----- src/classes/attack.ts | 4 +-- src/classes/card.ts | 50 +++++++++++++++----------------- src/classes/subType.ts | 20 ------------- src/classes/superType.ts | 19 ------------ src/classes/type.ts | 2 +- src/index.ts | 12 -------- src/interfaces/ancientAbility.ts | 4 --- src/interfaces/attack.ts | 6 ++-- src/interfaces/card.ts | 44 ++++++++++++++-------------- src/interfaces/resistance.ts | 4 +++ src/interfaces/subType.ts | 3 -- src/interfaces/superType.ts | 3 -- src/interfaces/weakness.ts | 4 +++ 15 files changed, 60 insertions(+), 125 deletions(-) delete mode 100644 src/classes/ancientAbility.ts delete mode 100644 src/classes/subType.ts delete mode 100644 src/classes/superType.ts delete mode 100644 src/interfaces/ancientAbility.ts create mode 100644 src/interfaces/resistance.ts delete mode 100644 src/interfaces/subType.ts delete mode 100644 src/interfaces/superType.ts create mode 100644 src/interfaces/weakness.ts diff --git a/src/classes/ability.ts b/src/classes/ability.ts index 19fecac..7a40035 100644 --- a/src/classes/ability.ts +++ b/src/classes/ability.ts @@ -4,6 +4,6 @@ export class Ability implements IAbility { name: string; text: string; type: string; - + constructor() {} } \ No newline at end of file diff --git a/src/classes/ancientAbility.ts b/src/classes/ancientAbility.ts deleted file mode 100644 index 4017e3d..0000000 --- a/src/classes/ancientAbility.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { IAncientAbility } from '../interfaces/ancientAbility'; - -export class AncientAbility implements IAncientAbility { - name: string; - text: string; - - constructor() {} -} \ No newline at end of file diff --git a/src/classes/attack.ts b/src/classes/attack.ts index c37acd5..e3f4723 100644 --- a/src/classes/attack.ts +++ b/src/classes/attack.ts @@ -1,11 +1,11 @@ import { IAttack } from '../interfaces/attack'; export class Attack implements IAttack { - cost: string; + cost: string[]; name: string; text: string; damage: string; convertedEnergyCost: string; - + constructor() {} } \ No newline at end of file diff --git a/src/classes/card.ts b/src/classes/card.ts index f4ea3e6..48504ab 100644 --- a/src/classes/card.ts +++ b/src/classes/card.ts @@ -1,40 +1,38 @@ -import { ICard } from '../interfaces/card'; -import { ISubType } from '../interfaces/subType'; -import { ISuperType } from '../interfaces/superType'; import { IAbility } from '../interfaces/ability'; -import { ISet } from '../interfaces/set'; -import { IType } from '../interfaces/type'; import { IAttack } from '../interfaces/attack'; -import { QueryBuilder } from '../queryBuilder'; +import { ICard } from '../interfaces/card'; import { IQuery } from '../interfaces/query'; +import { IResistance } from '../interfaces/resistance'; +import { IWeakness } from '../interfaces/weakness'; +import { QueryBuilder } from '../queryBuilder'; export class Card implements ICard { - id: number; - name: string; - imageUrl: string; - imageUrlHighRes: string; - subType: ISubType; - superType: ISuperType; ability: IAbility; - hp: number; - number: number; artist: string; - rarity: string; - series: string; - set: ISet; - setCode: string; - retreatCost: string; - text: string; - types: IType[]; attacks: IAttack[]; - weaknesses: string[]; - resistances: string[]; - nationalPokedexNumber: number; - ancientTrait: string; + convertedRetreatCost: number; evolvesFrom: string; + hp: string; + id: string; + imageUrl: string; + imageUrlHiRes: string; + name: string; + nationalPokedexNumber: number; + number: string; + rarity: string; + resistances: IResistance[]; + retreatCost: string[]; + series: string; + set: string; + setCode: string; + subtype: string; + supertype: string; + text: string[]; + types: string[]; + weaknesses: IWeakness[]; constructor() {} - + resource(): string { return 'cards'; } diff --git a/src/classes/subType.ts b/src/classes/subType.ts deleted file mode 100644 index 68406c9..0000000 --- a/src/classes/subType.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ISubType } from '../interfaces/subType'; -import { QueryBuilder } from '../queryBuilder'; - -export class SubType implements ISubType { - type: string; - - constructor() {} - - resource(): string { - return 'subtypes'; - } - - static all(): Promise { - return QueryBuilder.all(this) - .then(response => { - return response; - }); - } - -} \ No newline at end of file diff --git a/src/classes/superType.ts b/src/classes/superType.ts deleted file mode 100644 index ba8af4b..0000000 --- a/src/classes/superType.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ISuperType } from '../interfaces/superType'; -import { QueryBuilder } from '../queryBuilder'; - -export class SuperType implements ISuperType { - type: string; - - constructor () {} - - resource(): string { - return 'supertypes'; - } - - static all(): Promise { - return QueryBuilder.all(this) - .then(response => { - return response; - }); - } -} \ No newline at end of file diff --git a/src/classes/type.ts b/src/classes/type.ts index 7c2d1f0..4238371 100644 --- a/src/classes/type.ts +++ b/src/classes/type.ts @@ -15,5 +15,5 @@ export class Type implements IType { .then(response => { return response; }); - } + } } \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 7ed86cc..e5409a8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,7 @@ import { Card as BaseCard } from './classes/card'; import { Ability as BaseAbility } from './classes/ability'; -import { AncientAbility as BaseAncientAbility } from './classes/ancientAbility'; import { Attack as BaseAttack } from './classes/attack'; import { Set as BaseSet } from './classes/set'; -import { SubType as BaseSubType } from './classes/subType'; -import { SuperType as BaseSuperType } from './classes/superType'; import { Type as BaseType } from './classes/type'; export namespace PokemonTCG { @@ -19,21 +16,12 @@ export namespace PokemonTCG { export const Ability = BaseAbility; export type Ability = BaseAbility; - export const AncientAbility = BaseAncientAbility; - export type AncientAbility = BaseAncientAbility; - export const Attack = BaseAttack; export type Attack = BaseAttack; export const Set = BaseSet; export type Set = BaseSet; - export const SubType = BaseSubType; - export type SubType = BaseSubType; - - export const SuperType = BaseSuperType; - export type SuperType = BaseSuperType; - export const Type = BaseType; export type Type = BaseType; } \ No newline at end of file diff --git a/src/interfaces/ancientAbility.ts b/src/interfaces/ancientAbility.ts deleted file mode 100644 index 9e98422..0000000 --- a/src/interfaces/ancientAbility.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface IAncientAbility { - name: string; - text: string; -} \ No newline at end of file diff --git a/src/interfaces/attack.ts b/src/interfaces/attack.ts index 3312c6f..0d303ad 100644 --- a/src/interfaces/attack.ts +++ b/src/interfaces/attack.ts @@ -1,7 +1,7 @@ export interface IAttack { - cost: string; + convertedEnergyCost: string; + cost: string[]; + damage: string; name: string; text: string; - damage: string; - convertedEnergyCost: string; } \ No newline at end of file diff --git a/src/interfaces/card.ts b/src/interfaces/card.ts index 37a8e45..53cc45d 100644 --- a/src/interfaces/card.ts +++ b/src/interfaces/card.ts @@ -1,32 +1,30 @@ import { IAbility } from '../interfaces/ability'; import { IAttack } from '../interfaces/attack'; -import { ISet } from '../interfaces/set'; -import { ISubType } from '../interfaces/subType'; -import { ISuperType } from '../interfaces/superType'; -import { IType } from '../interfaces/type'; +import { IResistance } from '../interfaces/resistance'; +import { IWeakness } from '../interfaces/weakness'; export interface ICard { - id: number; - name: string; - imageUrl: string; - imageUrlHighRes: string; - subType: ISubType; - superType: ISuperType; ability: IAbility; - hp: number; - number: number; artist: string; - rarity: string; - series: string; - set: ISet; - setCode: string; - retreatCost: string; - text: string; - types: IType[]; attacks: IAttack[]; - weaknesses: string[]; - resistances: string[]; - nationalPokedexNumber: number; - ancientTrait: string; + convertedRetreatCost: number; evolvesFrom: string; + hp: string; + id: string; + imageUrl: string; + imageUrlHiRes: string; + name: string; + nationalPokedexNumber: number; + number: string; + rarity: string; + resistances: IResistance[]; + retreatCost: string[]; + series: string; + set: string; + setCode: string; + subtype: string; + supertype: string; + text: string[]; + types: string[]; + weaknesses: IWeakness[]; } \ No newline at end of file diff --git a/src/interfaces/resistance.ts b/src/interfaces/resistance.ts new file mode 100644 index 0000000..22c86fd --- /dev/null +++ b/src/interfaces/resistance.ts @@ -0,0 +1,4 @@ +export interface IResistance { + type: string; + value: string; +} \ No newline at end of file diff --git a/src/interfaces/subType.ts b/src/interfaces/subType.ts deleted file mode 100644 index 658a891..0000000 --- a/src/interfaces/subType.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ISubType { - type: string; -} \ No newline at end of file diff --git a/src/interfaces/superType.ts b/src/interfaces/superType.ts deleted file mode 100644 index 92ba927..0000000 --- a/src/interfaces/superType.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ISuperType { - type: string; -} \ No newline at end of file diff --git a/src/interfaces/weakness.ts b/src/interfaces/weakness.ts new file mode 100644 index 0000000..fd25195 --- /dev/null +++ b/src/interfaces/weakness.ts @@ -0,0 +1,4 @@ +export interface IWeakness { + type: string; + value: string; +} \ No newline at end of file From 0de4a8384d5c358354ab5b7a1b468bf0a881f21b Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 6 Jul 2019 15:45:24 -0400 Subject: [PATCH 02/17] Update set definition --- src/classes/set.ts | 15 ++++++++------- src/interfaces/set.ts | 14 ++++++++------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/classes/set.ts b/src/classes/set.ts index 8f11fda..473987d 100644 --- a/src/classes/set.ts +++ b/src/classes/set.ts @@ -4,14 +4,16 @@ import { IQuery } from '../interfaces/query'; export class Set implements ISet { code: string; - name: string; - series: string; - totalCards: number; - standardLegal: boolean; expandedLegal: boolean; - releaseDate: string; - symbolUrl: string; + logoUrl: string; + name: string; ptcgoCode: string; + releaseDate: string; + series: string; + standardLegal: boolean; + symbolUrl: string; + totalCards: number; + updatedAt: string; constructor() {} @@ -39,5 +41,4 @@ export class Set implements ISet { return response; }); } - } \ No newline at end of file diff --git a/src/interfaces/set.ts b/src/interfaces/set.ts index dd4f24e..5af706d 100644 --- a/src/interfaces/set.ts +++ b/src/interfaces/set.ts @@ -1,11 +1,13 @@ export interface ISet { code: string; - name: string; - series: string; - totalCards: number; - standardLegal: boolean; expandedLegal: boolean; - releaseDate: string; - symbolUrl: string; + logoUrl: string; + name: string; ptcgoCode: string; + releaseDate: string; + series: string; + standardLegal: boolean; + symbolUrl: string; + totalCards: number; + updatedAt: string; } \ No newline at end of file From 415e3f1f949edcccb0112eaf7ddbd57b413f1c85 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 6 Jul 2019 16:01:30 -0400 Subject: [PATCH 03/17] Update README --- README.md | 101 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index c0d3456..c72f0be 100644 --- a/README.md +++ b/README.md @@ -2,60 +2,85 @@ This is the TypeScript SDK for the [Pokemon TCG API](https://pokemontcg.io). -## Installation +## Installation -``` -npm install --save pokemon-tcg-sdk-typescript -``` +**npm** + + npm install --save pokemon-tcg-sdk-typescript + +**yarn** + + yarn add pokemon-tcg-sdk-typescript ## Class Definitions ### Card ```typescript -id: number; -name: string; -imageUrl: string; -imageUrlHighRes: string; -subType: ISubType; -superType: ISuperType; ability: IAbility; -hp: number; -number: number; artist: string; -rarity: string; -series: string; -set: ISet; -setCode: string; -retreatCost: string; -text: string; -types: IType[]; attacks: IAttack[]; -weaknesses: string[]; -resistances: string[]; -nationalPokedexNumber: number; -ancientTrait: string; +convertedRetreatCost: number; evolvesFrom: string; +hp: string; +id: string; +imageUrl: string; +imageUrlHiRes: string; +name: string; +nationalPokedexNumber: number; +number: string; +rarity: string; +resistances: IResistance[]; +retreatCost: string[]; +series: string; +set: string; +setCode: string; +subtype: string; +supertype: string; +text: string[]; +types: string[]; +weaknesses: IWeakness[]; +``` + +### IAbility + +```typescript +name: string; +text: string; +type: string; +``` + +### IAttack + +```typescript +cost: string[]; +name: string; +text: string; +damage: string; +convertedEnergyCost: string; +``` + +### IResistance, IWeakness + +```typescript +type: string; +value: string; ``` ### Set ```typescript code: string; -name: string; -series: string; -totalCards: number; -standardLegal: boolean; expandedLegal: boolean; -releaseDate: string; -symbolUrl: string; +logoUrl: string; +name: string; ptcgoCode: string; -``` - -### Type, SubType, SuperType - -```typescript -type: string; +releaseDate: string; +series: string; +standardLegal: boolean; +symbolUrl: string; +totalCards: number; +updatedAt: string; ``` ### IQuery @@ -71,13 +96,11 @@ Card.find(id: string): Promise Card.where(params: IQuery[]): Promise Card.all(): Promise -Set.find(id: string): Promise +Set.find(name: string): Promise Set.where(params: IQuery[]): Promise Set.all(): Promise -Type.all(): Promise -SuperType.all(): Promise -SubType.all(): Promise +Type.all(): Promise // TODO ``` ## Usage From 26dce235a62dbf63096965d29180af07995daba0 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 6 Jul 2019 16:59:29 -0400 Subject: [PATCH 04/17] Update package --- README.md | 2 +- package-lock.json | 434 +++++++++++++++++++++++++++++++++++++++-- package.json | 2 +- src/classes/ability.ts | 9 - src/classes/attack.ts | 11 -- src/classes/meta.ts | 17 ++ src/classes/set.ts | 2 +- src/classes/type.ts | 19 -- src/client.ts | 5 - src/index.ts | 48 +++-- src/interfaces/type.ts | 3 - src/queryBuilder.ts | 17 +- yarn.lock | 315 ------------------------------ 13 files changed, 478 insertions(+), 406 deletions(-) delete mode 100644 src/classes/ability.ts delete mode 100644 src/classes/attack.ts create mode 100644 src/classes/meta.ts delete mode 100644 src/classes/type.ts delete mode 100644 src/interfaces/type.ts delete mode 100644 yarn.lock diff --git a/README.md b/README.md index c72f0be..198f034 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ Card.find(id: string): Promise Card.where(params: IQuery[]): Promise Card.all(): Promise -Set.find(name: string): Promise +Set.find(id: string): Promise Set.where(params: IQuery[]): Promise Set.all(): Promise diff --git a/package-lock.json b/package-lock.json index d57c317..882b140 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,149 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "0.0.1", + "version": "1.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { - "axios": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", - "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", + "@types/chai": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", + "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "dev": true + }, + "@types/mocha": { + "version": "2.2.48", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.48.tgz", + "integrity": "sha512-nlK/iyETgafGli8Zh9zJVCTicvU3iajSkRwOh3Hhiva598CMqNJ4NcVCGMTGKpGpTYj/9R8RLzS9NAykSSCqGw==", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { - "follow-redirects": "1.3.0", - "is-buffer": "1.1.6" + "color-convert": "^1.9.0" } }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -21,23 +152,296 @@ "ms": "2.0.0" } }, - "follow-redirects": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.3.0.tgz", - "integrity": "sha1-9oSHH8EW0uMp/aVe9naH9Pq8kFw=", + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, "requires": { - "debug": "3.1.0" + "type-detect": "^4.0.0" } }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + }, + "make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "ts-node": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-4.1.0.tgz", + "integrity": "sha512-xcZH12oVg9PShKhy3UHyDmuDLV3y7iKwX25aMVPt1SIXSuAfWkFiGPEkg+th8R4YKW/QCxDoW7lJdb15lx6QWg==", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "chalk": "^2.3.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.0", + "tsconfig": "^7.0.0", + "v8flags": "^3.0.0", + "yn": "^2.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" + }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true } } } diff --git a/package.json b/package.json index 3e7569d..4f943a8 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "author": "Bradyn Glines", "license": "MIT", "dependencies": { - "axios": "^0.17.1", + "axios": "^0.19.0", "typescript": "^2.6.2" }, "devDependencies": { diff --git a/src/classes/ability.ts b/src/classes/ability.ts deleted file mode 100644 index 7a40035..0000000 --- a/src/classes/ability.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { IAbility } from '../interfaces/ability'; - -export class Ability implements IAbility { - name: string; - text: string; - type: string; - - constructor() {} -} \ No newline at end of file diff --git a/src/classes/attack.ts b/src/classes/attack.ts deleted file mode 100644 index e3f4723..0000000 --- a/src/classes/attack.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { IAttack } from '../interfaces/attack'; - -export class Attack implements IAttack { - cost: string[]; - name: string; - text: string; - damage: string; - convertedEnergyCost: string; - - constructor() {} -} \ No newline at end of file diff --git a/src/classes/meta.ts b/src/classes/meta.ts new file mode 100644 index 0000000..9aad76f --- /dev/null +++ b/src/classes/meta.ts @@ -0,0 +1,17 @@ +import { Client } from '../client'; + +export class Meta { + constructor() {} + + static allTypes(): Promise { + return Client.get('types'); + } + + static allSubtypes(): Promise { + return Client.get('subtypes'); + } + + static allSupertypes(): Promise { + return Client.get('supertypes'); + } +} \ No newline at end of file diff --git a/src/classes/set.ts b/src/classes/set.ts index 473987d..6f88c9a 100644 --- a/src/classes/set.ts +++ b/src/classes/set.ts @@ -1,6 +1,6 @@ import { ISet } from '../interfaces/set'; -import { QueryBuilder } from '../queryBuilder'; import { IQuery } from '../interfaces/query'; +import { QueryBuilder } from '../queryBuilder'; export class Set implements ISet { code: string; diff --git a/src/classes/type.ts b/src/classes/type.ts deleted file mode 100644 index 4238371..0000000 --- a/src/classes/type.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { IType } from '../interfaces/type'; -import { QueryBuilder } from '../queryBuilder'; - -export class Type implements IType { - type: string; - - constructor() {} - - resource(): string { - return 'types'; - } - - static all(): Promise { - return QueryBuilder.all(this) - .then(response => { - return response; - }); - } -} \ No newline at end of file diff --git a/src/client.ts b/src/client.ts index a116a07..779f22f 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,11 +1,6 @@ import * as axios from 'axios'; import { PokemonTCG } from './sdk'; import { IQuery } from './interfaces/query'; -import { ICard } from './interfaces/card'; -import { IType } from './interfaces/type'; -import { ISuperType } from './interfaces/superType'; -import { ISubType } from './interfaces/subType'; -import { ISet } from './interfaces/set'; export class Client { static apiUrl: string = `${PokemonTCG.API_URL}/v${PokemonTCG.version}`; diff --git a/src/index.ts b/src/index.ts index e5409a8..561e90c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,27 +1,43 @@ import { Card as BaseCard } from './classes/card'; -import { Ability as BaseAbility } from './classes/ability'; -import { Attack as BaseAttack } from './classes/attack'; +import { Meta as BaseMeta } from './classes/meta'; import { Set as BaseSet } from './classes/set'; -import { Type as BaseType } from './classes/type'; export namespace PokemonTCG { + export const Card = BaseCard; + export type Card = BaseCard; + + export const Meta = BaseMeta; + export type Meta = BaseMeta; + + export const Set = BaseSet; + export type Set = BaseSet; + + export interface IAbility { + name: string; + text: string; + type: string; + } + + export interface IAttack { + convertedEnergyCost: string; + cost: string[]; + damage: string; + name: string; + text: string; + } + export interface IQuery { name: string; value: string | number; } - export const Card = BaseCard; - export type Card = BaseCard; + export interface IResistance { + type: string; + value: string; + } - export const Ability = BaseAbility; - export type Ability = BaseAbility; - - export const Attack = BaseAttack; - export type Attack = BaseAttack; - - export const Set = BaseSet; - export type Set = BaseSet; - - export const Type = BaseType; - export type Type = BaseType; + export interface IWeakness { + type: string; + value: string; + } } \ No newline at end of file diff --git a/src/interfaces/type.ts b/src/interfaces/type.ts deleted file mode 100644 index 5d94739..0000000 --- a/src/interfaces/type.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface IType { - type: string; -} \ No newline at end of file diff --git a/src/queryBuilder.ts b/src/queryBuilder.ts index b70700d..d0bb5e1 100644 --- a/src/queryBuilder.ts +++ b/src/queryBuilder.ts @@ -1,24 +1,21 @@ import { Client } from './client'; import { Card } from "./classes/card"; import { Set } from "./classes/set"; -import { Type } from "./classes/type"; -import { SubType } from "./classes/subType"; -import { SuperType } from "./classes/superType"; import { IQuery } from './interfaces/query'; import { AxiosResponse } from 'axios'; export class QueryBuilder { - static all(type: (new() => T)): Promise { + static all(type: (new() => T)): Promise { let t = new type(); let params: IQuery[] = [{ name: 'pageSize', value: 1000 }]; - return this.returnResponse(t.resource(), params); + return this.returnResponse(t.resource(), params); } - - static find(type: (new() => T), id: string): Promise { + + static find(type: (new() => T), id: string): Promise { let t = new type(); let params: IQuery[] = [{ name: 'id', @@ -28,13 +25,13 @@ export class QueryBuilder { return this.returnResponse(t.resource(), params, true); } - static where(type: (new() => T), params: IQuery[]): Promise { + static where(type: (new() => T), params: IQuery[]): Promise { let t = new type(); - + return this.returnResponse(t.resource(), params); } - private static returnResponse(resource: string, params: IQuery[], single?: boolean): Promise { + public static returnResponse(resource: string, params: IQuery[], single?: boolean): Promise { return Client.get(resource, params) .then(response => { if (single) { diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 2d3bb80..0000000 --- a/yarn.lock +++ /dev/null @@ -1,315 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@types/chai@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.1.tgz#15f1257fab17b7acb9c413f9f88d3d87f834d11e" - -"@types/mocha@^2.2.46": - version "2.2.46" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.46.tgz#b04713f7759d1cf752effdaae7b3969e285ebc16" - -"@types/strip-bom@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" - -"@types/strip-json-comments@0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -assertion-error@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - -axios@^0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.17.1.tgz#2d8e3e5d0bdbd7327f91bc814f5c57660f81824d" - dependencies: - follow-redirects "^1.2.5" - is-buffer "^1.1.5" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - -chai@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" - dependencies: - assertion-error "^1.0.1" - check-error "^1.0.1" - deep-eql "^3.0.0" - get-func-name "^2.0.0" - pathval "^1.0.0" - type-detect "^4.0.0" - -chalk@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -check-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - -color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" - dependencies: - color-name "^1.1.1" - -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -commander@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -debug@3.1.0, debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -deep-eql@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - dependencies: - type-detect "^4.0.0" - -diff@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" - -diff@^3.1.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -follow-redirects@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.3.0.tgz#f684871fc116d2e329fda55ef67687f4fabc905c" - dependencies: - debug "^3.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -growl@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - -homedir-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -make-error@^1.1.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.2.tgz#8762ffad2444dd8ff1f7c819629fa28e24fea1c4" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@0.5.1, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -mocha@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.0.0.tgz#cccac988b0bc5477119cba0e43de7af6d6ad8f4e" - dependencies: - browser-stdout "1.3.0" - commander "2.11.0" - debug "3.1.0" - diff "3.3.1" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.3" - he "1.1.1" - mkdirp "0.5.1" - supports-color "4.4.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -pathval@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - -source-map-support@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.2.tgz#1a6297fd5b2e762b39688c7fc91233b60984f0a5" - dependencies: - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-json-comments@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -supports-color@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - dependencies: - has-flag "^2.0.0" - -supports-color@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - dependencies: - has-flag "^2.0.0" - -ts-node@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-4.1.0.tgz#36d9529c7b90bb993306c408cd07f7743de20712" - dependencies: - arrify "^1.0.0" - chalk "^2.3.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.5.0" - tsconfig "^7.0.0" - v8flags "^3.0.0" - yn "^2.0.0" - -tsconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" - dependencies: - "@types/strip-bom" "^3.0.0" - "@types/strip-json-comments" "0.0.30" - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -type-detect@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.7.tgz#862bd2cf6058ad92799ff5a5b8cf7b6cec726198" - -typescript@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" - -v8flags@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b" - dependencies: - homedir-polyfill "^1.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" From 8ef559df0f3973eb3d441bf474ae44af726e4c1c Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 6 Jul 2019 17:02:58 -0400 Subject: [PATCH 05/17] Update README again --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 198f034..eaf4a00 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,9 @@ Set.find(id: string): Promise Set.where(params: IQuery[]): Promise Set.all(): Promise -Type.all(): Promise // TODO +Meta.allTypes(): Promise +Meta.allSubtypes(): Promise +Meta.allSupertypes(): Promise ``` ## Usage From f03103dcfa69991ba9b452e7586bd41be19fd9a1 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 6 Jul 2019 17:22:55 -0400 Subject: [PATCH 06/17] Update package.json --- package-lock.json | 2 +- package.json | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 882b140..83d83f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "1.0.3", + "version": "1.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4f943a8..d87717f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "1.0.3", + "version": "1.1.0", "description": "Typescript SDK for the PokemonTCG API (https://pokemontcg.io)", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -11,9 +11,13 @@ "SDK" ], "scripts": { - "test": "mocha --reporter spec --require ts-node/register 'src/**/*.test.ts'" + "test": "mocha --reporter spec --require ts-node/register 'src/**/*.test.ts'", + "build" : "tsc" }, "author": "Bradyn Glines", + "contributors": [ + "CptSpaceToaster" + ], "license": "MIT", "dependencies": { "axios": "^0.19.0", From 6b39166105348c3202693cd18d0b4a5673ee248f Mon Sep 17 00:00:00 2001 From: Bradyn Glines Date: Sun, 7 Jul 2019 21:21:16 -0500 Subject: [PATCH 07/17] Changing static public function for QueryBuilder to private --- src/queryBuilder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/queryBuilder.ts b/src/queryBuilder.ts index d0bb5e1..b929c75 100644 --- a/src/queryBuilder.ts +++ b/src/queryBuilder.ts @@ -31,7 +31,7 @@ export class QueryBuilder { return this.returnResponse(t.resource(), params); } - public static returnResponse(resource: string, params: IQuery[], single?: boolean): Promise { + private static returnResponse(resource: string, params: IQuery[], single?: boolean): Promise { return Client.get(resource, params) .then(response => { if (single) { From 609f583c4e52e040fe6cd19238f9e4683dfdac92 Mon Sep 17 00:00:00 2001 From: "Ryan Munro (Monbrey)" Date: Fri, 2 Aug 2019 13:21:44 +1000 Subject: [PATCH 08/17] Test SDK without the "single" parameter --- src/client.ts | 2 +- src/queryBuilder.ts | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/client.ts b/src/client.ts index 779f22f..840a879 100644 --- a/src/client.ts +++ b/src/client.ts @@ -28,7 +28,7 @@ export class Client { if (params) { params.map(param => { - if (resource === 'sets' && param.name === 'id') { + if (param.name === 'id') { url = `/${param.value}`; } }); diff --git a/src/queryBuilder.ts b/src/queryBuilder.ts index b929c75..80a90cc 100644 --- a/src/queryBuilder.ts +++ b/src/queryBuilder.ts @@ -22,7 +22,7 @@ export class QueryBuilder { value: id }]; - return this.returnResponse(t.resource(), params, true); + return this.returnResponse(t.resource(), params); } static where(type: (new() => T), params: IQuery[]): Promise { @@ -31,13 +31,9 @@ export class QueryBuilder { return this.returnResponse(t.resource(), params); } - private static returnResponse(resource: string, params: IQuery[], single?: boolean): Promise { + private static returnResponse(resource: string, params: IQuery[]): Promise { return Client.get(resource, params) .then(response => { - if (single) { - return response[0]; - } - return response; }) .catch(error => console.error(error)); From 93535ff9ad6d91830b457788b3f4402b9cafc077 Mon Sep 17 00:00:00 2001 From: "Ryan Munro (Monbrey)" Date: Fri, 2 Aug 2019 19:06:59 +1000 Subject: [PATCH 09/17] Small cleanup --- src/queryBuilder.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/queryBuilder.ts b/src/queryBuilder.ts index 80a90cc..ee8f353 100644 --- a/src/queryBuilder.ts +++ b/src/queryBuilder.ts @@ -32,10 +32,6 @@ export class QueryBuilder { } private static returnResponse(resource: string, params: IQuery[]): Promise { - return Client.get(resource, params) - .then(response => { - return response; - }) - .catch(error => console.error(error)); + return Client.get(resource, params).catch(error => console.error(error)); } } \ No newline at end of file From 682f90c49a42d5e5c05471e177f2ab8068cf5ad7 Mon Sep 17 00:00:00 2001 From: "Ryan Munro (Monbrey)" Date: Sat, 3 Aug 2019 09:22:35 +1000 Subject: [PATCH 10/17] Allow Client.get to accept a string for ID path parameter --- src/client.ts | 23 ++++------------------- src/queryBuilder.ts | 40 ++++++++++++++++------------------------ 2 files changed, 20 insertions(+), 43 deletions(-) diff --git a/src/client.ts b/src/client.ts index 840a879..61c541e 100644 --- a/src/client.ts +++ b/src/client.ts @@ -5,7 +5,7 @@ import { IQuery } from './interfaces/query'; export class Client { static apiUrl: string = `${PokemonTCG.API_URL}/v${PokemonTCG.version}`; - static get(resource: string, params?: IQuery[]): Promise { + static get(resource: string, params?: IQuery[] | string): Promise { let url: string = `${this.apiUrl}/${resource}`; let config: axios.AxiosRequestConfig = { headers: { @@ -13,30 +13,15 @@ export class Client { } }; - // This is needed because the /sets endpoint doesn't take - // an id as a parameter so we need to append it to the url - url += this.checkForId(resource, params); + if(typeof params === 'string') url += `/${params}`; + else url += `?${this.paramsToQuery(params)}`; - return axios.default.get(`${url}?${this.paramsToQuery(params)}`, config) + return axios.default.get(url, config) .then(response => { return response.data[Object.keys(response.data)[0]]; }) } - private static checkForId(resource: string, params?: IQuery[]): string { - let url: string = ''; - - if (params) { - params.map(param => { - if (param.name === 'id') { - url = `/${param.value}`; - } - }); - } - - return url; - } - private static paramsToQuery(params?: IQuery[]): string { let query: string = ''; diff --git a/src/queryBuilder.ts b/src/queryBuilder.ts index ee8f353..09b65d7 100644 --- a/src/queryBuilder.ts +++ b/src/queryBuilder.ts @@ -5,33 +5,25 @@ import { IQuery } from './interfaces/query'; import { AxiosResponse } from 'axios'; export class QueryBuilder { - static all(type: (new() => T)): Promise { - let t = new type(); - let params: IQuery[] = [{ - name: 'pageSize', - value: 1000 - }]; + static all(type: (new () => T)): Promise { + let t = new type(); + let params: IQuery[] = [{ + name: 'pageSize', + value: 1000 + }]; - return this.returnResponse(t.resource(), params); - } + return Client.get(t.resource(), params).catch(error => console.error(error)); + } - static find(type: (new() => T), id: string): Promise { - let t = new type(); - let params: IQuery[] = [{ - name: 'id', - value: id - }]; + static find(type: (new () => T), id: string): Promise { + let t = new type(); - return this.returnResponse(t.resource(), params); - } + return Client.get(t.resource(), id).catch(error => console.error(error)); + } - static where(type: (new() => T), params: IQuery[]): Promise { - let t = new type(); + static where(type: (new () => T), params: IQuery[]): Promise { + let t = new type(); - return this.returnResponse(t.resource(), params); - } - - private static returnResponse(resource: string, params: IQuery[]): Promise { - return Client.get(resource, params).catch(error => console.error(error)); - } + return Client.get(t.resource(), params).catch(error => console.error(error)); + } } \ No newline at end of file From a53c9615063ad0b94df9c546d9fc4da111a1fba5 Mon Sep 17 00:00:00 2001 From: Bradyn Glines Date: Wed, 7 Aug 2019 19:27:24 -0500 Subject: [PATCH 11/17] Test SDK without the "single" parameter; Small cleanup; Allow Client.get to accept a string for ID path parameter --- package.json | 5 +++-- src/coverage/client.test.ts | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d87717f..e0dcae3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "1.1.0", + "version": "1.2.0", "description": "Typescript SDK for the PokemonTCG API (https://pokemontcg.io)", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -16,7 +16,8 @@ }, "author": "Bradyn Glines", "contributors": [ - "CptSpaceToaster" + "CptSpaceToaster", + "Monbrey" ], "license": "MIT", "dependencies": { diff --git a/src/coverage/client.test.ts b/src/coverage/client.test.ts index 7e2c98c..f8ed1ec 100644 --- a/src/coverage/client.test.ts +++ b/src/coverage/client.test.ts @@ -50,8 +50,8 @@ describe('Client', () => { Client.get('sets', params) .then(response => { - expect(response).to.be.a('object'); - expect(response.name).to.equal('Base'); + expect(response).to.be.a('array'); + expect(response[0].name).to.equal('Base'); }) .catch(error => console.error(error)); }); From fa35c57f91a512cc284a3ab878bd164cf4499eee Mon Sep 17 00:00:00 2001 From: Bradyn Glines Date: Wed, 7 Aug 2019 19:35:21 -0500 Subject: [PATCH 12/17] Added git repo to package.json --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index e0dcae3..a225c26 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,10 @@ "build" : "tsc" }, "author": "Bradyn Glines", + "repository": { + "type": "git", + "url": "https://github.com/PokemonTCG/pokemon-tcg-sdk-typescript" + }, "contributors": [ "CptSpaceToaster", "Monbrey" From 94299bee6e650965b91db9de625f4e80907eeb88 Mon Sep 17 00:00:00 2001 From: Bradyn Glines Date: Wed, 7 Aug 2019 19:36:02 -0500 Subject: [PATCH 13/17] Patch version bump for npm publish --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a225c26..403ab35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "1.2.0", + "version": "1.2.1", "description": "Typescript SDK for the PokemonTCG API (https://pokemontcg.io)", "main": "dist/index.js", "types": "dist/index.d.ts", From 795aa22ec266336c31cd0c7437c7306fe83964b4 Mon Sep 17 00:00:00 2001 From: Monbrey Date: Wed, 2 Oct 2019 13:51:43 +1000 Subject: [PATCH 14/17] fix(5): Cant search for terms containing ampersand --- src/client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client.ts b/src/client.ts index 61c541e..0ad1445 100644 --- a/src/client.ts +++ b/src/client.ts @@ -27,7 +27,7 @@ export class Client { if (params) { params.map((q: IQuery) => { - query += `${q.name}=${encodeURI(q.value.toString())}`.concat('&'); + query += `${q.name}=${encodeURIComponent(q.value.toString())}`.concat('&'); }); } From 94cfed900d3d6c43b0fca1217d9d640421c39fe9 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 12 Oct 2019 13:42:55 -0400 Subject: [PATCH 15/17] Update package name for easier use --- .gitignore | 3 ++- .npmignore | 4 +++- README.md | 1 - npm-debug.log | 28 ---------------------------- package-lock.json | 2 +- package.json | 4 ++-- src/classes/card.ts | 2 -- src/classes/meta.ts | 2 -- src/classes/set.ts | 2 -- src/client.ts | 4 ++-- src/index.ts | 45 ++------------------------------------------- src/queryBuilder.ts | 1 - src/sdk.ts | 20 ++++++++++++++++---- 13 files changed, 28 insertions(+), 90 deletions(-) delete mode 100644 npm-debug.log diff --git a/.gitignore b/.gitignore index 76add87..69694e4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules -dist \ No newline at end of file +dist +*.tgz diff --git a/.npmignore b/.npmignore index 3e00276..aceb1cd 100644 --- a/.npmignore +++ b/.npmignore @@ -1,2 +1,4 @@ +src tsconfig.json -src \ No newline at end of file +dist/coverage +*.tgz diff --git a/README.md b/README.md index eaf4a00..c1520c9 100644 --- a/README.md +++ b/README.md @@ -147,4 +147,3 @@ PokemonTCG.Card.all() ## TODO * Add more testing? -* Update package name for easier use? \ No newline at end of file diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index a8cc2c9..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,28 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'version', 'patch' ] -2 info using npm@3.5.2 -3 info using node@v6.11.4 -4 info git [ 'status', '--porcelain' ] -5 verbose stack Error: Git working directory not clean. -5 verbose stack M README.md -5 verbose stack M src/index.ts -5 verbose stack at /usr/share/npm/lib/version.js:172:21 -5 verbose stack at ChildProcess.exithandler (child_process.js:189:7) -5 verbose stack at emitTwo (events.js:106:13) -5 verbose stack at ChildProcess.emit (events.js:191:7) -5 verbose stack at maybeClose (internal/child_process.js:920:16) -5 verbose stack at Socket. (internal/child_process.js:351:11) -5 verbose stack at emitOne (events.js:96:13) -5 verbose stack at Socket.emit (events.js:188:7) -5 verbose stack at Pipe._handle.close [as _onclose] (net.js:497:12) -6 verbose cwd /home/bradyn/Projects/pokemon-tcg-sdk-typescript -7 error Linux 4.13.0-21-generic -8 error argv "/usr/bin/node" "/usr/bin/npm" "version" "patch" -9 error node v6.11.4 -10 error npm v3.5.2 -11 error Git working directory not clean. -11 error M README.md -11 error M src/index.ts -12 error If you need help, you may report this error at: -12 error -13 verbose exit [ 1, true ] diff --git a/package-lock.json b/package-lock.json index 83d83f0..7fb778e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "1.1.0", + "version": "1.2.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 403ab35..161b7bb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pokemon-tcg-sdk-typescript", - "version": "1.2.1", + "version": "1.2.2", "description": "Typescript SDK for the PokemonTCG API (https://pokemontcg.io)", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -12,7 +12,7 @@ ], "scripts": { "test": "mocha --reporter spec --require ts-node/register 'src/**/*.test.ts'", - "build" : "tsc" + "build": "tsc" }, "author": "Bradyn Glines", "repository": { diff --git a/src/classes/card.ts b/src/classes/card.ts index 48504ab..a2a2185 100644 --- a/src/classes/card.ts +++ b/src/classes/card.ts @@ -31,8 +31,6 @@ export class Card implements ICard { types: string[]; weaknesses: IWeakness[]; - constructor() {} - resource(): string { return 'cards'; } diff --git a/src/classes/meta.ts b/src/classes/meta.ts index 9aad76f..8e3d3c2 100644 --- a/src/classes/meta.ts +++ b/src/classes/meta.ts @@ -1,8 +1,6 @@ import { Client } from '../client'; export class Meta { - constructor() {} - static allTypes(): Promise { return Client.get('types'); } diff --git a/src/classes/set.ts b/src/classes/set.ts index 6f88c9a..dd5b941 100644 --- a/src/classes/set.ts +++ b/src/classes/set.ts @@ -15,8 +15,6 @@ export class Set implements ISet { totalCards: number; updatedAt: string; - constructor() {} - resource(): string { return 'sets'; } diff --git a/src/client.ts b/src/client.ts index 0ad1445..24524d3 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,9 +1,9 @@ import * as axios from 'axios'; -import { PokemonTCG } from './sdk'; +import { API_URL, API_VERSION } from './sdk'; import { IQuery } from './interfaces/query'; export class Client { - static apiUrl: string = `${PokemonTCG.API_URL}/v${PokemonTCG.version}`; + static apiUrl: string = `${API_URL}/v${API_VERSION}`; static get(resource: string, params?: IQuery[] | string): Promise { let url: string = `${this.apiUrl}/${resource}`; diff --git a/src/index.ts b/src/index.ts index 561e90c..af5ff41 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,43 +1,2 @@ -import { Card as BaseCard } from './classes/card'; -import { Meta as BaseMeta } from './classes/meta'; -import { Set as BaseSet } from './classes/set'; - -export namespace PokemonTCG { - export const Card = BaseCard; - export type Card = BaseCard; - - export const Meta = BaseMeta; - export type Meta = BaseMeta; - - export const Set = BaseSet; - export type Set = BaseSet; - - export interface IAbility { - name: string; - text: string; - type: string; - } - - export interface IAttack { - convertedEnergyCost: string; - cost: string[]; - damage: string; - name: string; - text: string; - } - - export interface IQuery { - name: string; - value: string | number; - } - - export interface IResistance { - type: string; - value: string; - } - - export interface IWeakness { - type: string; - value: string; - } -} \ No newline at end of file +import * as PokemonTCG from './sdk'; +export { PokemonTCG }; diff --git a/src/queryBuilder.ts b/src/queryBuilder.ts index 09b65d7..53f48cc 100644 --- a/src/queryBuilder.ts +++ b/src/queryBuilder.ts @@ -2,7 +2,6 @@ import { Client } from './client'; import { Card } from "./classes/card"; import { Set } from "./classes/set"; import { IQuery } from './interfaces/query'; -import { AxiosResponse } from 'axios'; export class QueryBuilder { static all(type: (new () => T)): Promise { diff --git a/src/sdk.ts b/src/sdk.ts index 12159d1..24df52b 100644 --- a/src/sdk.ts +++ b/src/sdk.ts @@ -1,4 +1,16 @@ -export namespace PokemonTCG { - export const API_URL: string = 'https://api.pokemontcg.io'; - export const version: string = '1'; -} \ No newline at end of file +// Constants +export const API_URL: string = 'https://api.pokemontcg.io'; +export const API_VERSION: string = '1'; + +// Classes +export * from './classes/card'; +export * from './classes/set'; +export * from './classes/meta'; + +// Interfaces +export * from './interfaces/ability'; +export * from './interfaces/attack'; +export * from './interfaces/card'; +export * from './interfaces/query'; +export * from './interfaces/resistance'; +export * from './interfaces/weakness'; From d10386b7faec7016e14b4487450b3fe7066c1eb5 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 12 Oct 2019 14:35:59 -0400 Subject: [PATCH 16/17] Update contributors --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 161b7bb..9e49118 100644 --- a/package.json +++ b/package.json @@ -14,14 +14,14 @@ "test": "mocha --reporter spec --require ts-node/register 'src/**/*.test.ts'", "build": "tsc" }, - "author": "Bradyn Glines", "repository": { "type": "git", "url": "https://github.com/PokemonTCG/pokemon-tcg-sdk-typescript" }, "contributors": [ - "CptSpaceToaster", - "Monbrey" + "Bradyn Glines (https://github.com/glinesbdev)", + "CptSpaceToaster (https://github.com/CptSpaceToaster)", + "Monbrey (https://github.com/Monbrey)" ], "license": "MIT", "dependencies": { From 60a05a0e408b09d654a9154424ef12464a904055 Mon Sep 17 00:00:00 2001 From: CptSpaceToaster Date: Sat, 12 Oct 2019 14:45:58 -0400 Subject: [PATCH 17/17] Update contributing instructions --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index eaf4a00..836f5dc 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,12 @@ PokemonTCG.Card.all() ## Contributing * Fork it (click the Fork button at the top of the page) * Create your feature branch (git checkout -b my-new-feature) + * Make some changes and fix some bugs! + * Run the tests `npm run-script test` + * Test your changes in a project of yours: + * Create a link with (npm)[https://docs.npmjs.com/cli/link.html] or (yarn)[https://yarnpkg.com/lang/en/docs/cli/link/] (depending on what tool you installed this SDK with) + * In your project that **uses** the SDK, install the linked package with `yarn/npm link pokemon-tcg-sdk-typescript` + * Verify the SDK behaves as expected, and your changes took effect * Commit your changes (git commit -am 'Add some feature') * Push to the branch (git push origin my-new-feature) * Create a new Pull Request