Skip to content

Library to transform Pokemon TCG Online decklists to Javascript objects with PokemonTCG.io API compatible ids

License

Notifications You must be signed in to change notification settings

Hamatti/ptcgo-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PTCGO Parser

npm

Javascript library to transform Pokemon TCG Online decklist exports into Javascript objects with PokemonTCG.io API compatible ids to help you building tools that PTCGO players can use.

Installing

Install from npm with

npm install ptcgo-parser

Usage

After installing, you can import it to your Javascript file

const PTCGOParser = require('ptcgo-parser')

and use it like this

const ptcgoExportedDecklist = `
****** Pokémon Trading Card Game Deck List ******

##Pokémon - 13

* 1 Oranguru SUM 113
* 3 Darkrai-EX BKP 74
* 4 Dratini SUM 94
* 3 Dragonair SUM 95
* 1 Dragonite ROS 51
* 1 Mew FAC 29
`

const decklist = PTCGOParser.parse(ptcgoExportedDecklist)

console.log(decklist)

/*
  {
    cards: [
        {
            name: 'Oranguru',
            amount: 1,
            set: 'SUM',
            code: 113,
            ptcgoio: {
                id: 'sm1-113'
            }
        },
        ...
    ]
  }
*/

Note!

Since basic energies sometimes come with a set code and sometimes not, the parser defaults basic energy cards to ptcgo.io ids from Sun & Moon Base Set.

Development

Running the tests

This library comes with unit tests that live in spec/ folder. To add a new file to be run, simply add a file into spec/ and name it with .spec.js suffix.

To run all the tests, run

npm test

in terminal.

Code style

This repository uses Prettier with .prettierrc for maintaining style.

Deployment

To publish a new version in npm, run

npm publish [version_bump]

where [version_bump] is either

Version Description
Patch For updates in documentation or PTCGO/ptcgo.io content updates (new sets, new exceptions etc)
Minor For small functionality updates and bug fixes
Major For major new functionality and any backward-breaking changes to API

Contributing

All forms of contributions are welcomed!

  • Did you notice a bug? Open an issue!
  • Is there a mistake in PTCGO -> PokemonTCG.io id mapping? Open an issue (functionality to fix these directly upcoming!).
  • New functionality? Feel free to open an issue (and optionally start developing the solution and create a PR).

Versioning

We use SemVer for versioning.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • https://pokemontcg.io/ is a wonderful API that I use daily to build small tools for myself to improve as a player

About

Library to transform Pokemon TCG Online decklists to Javascript objects with PokemonTCG.io API compatible ids

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published