Skip to content

Repository files navigation

PTN file parser

npm version Build Status Coverage Status

This package can parse PTN files as they are defined by the US Tak assosiation.

Usage

const PtnFileParser = require("ptn-file-parser");
let ptnFile = `[Site "PlayTak.com"]
[Event "Online Play"]
[Date "2018.10.28"]
[Time "16:10:44"]
[Player1 "NohatCoder"]
[Player2 "fwwwwibib"]
[Clock "10:0 +20"]
[Size "6"]

1. a6 f6
2. d4 c4
3. d3 c3
4. d5 c5
5. d2 Ce4
6. c2 e3
7. e2 b2
8. Cb3 1e4<1
9. 1d3<1 Sd1
10. a3 1d1+1`;
let result = PtnFileParser.parsePtnFile(ptnFile);

result:

{
  tags: {
    'Site': "PlayTak.com",
    'Event': "Online Play",
    'Date': "2018.10.28",
    'Time': "16:10:44",
    'Player1': "NohatCoder",
    'Player2': "fwwwwibib",
    'Clock': "10:0 +20",
    'Result': "R-0",
    'Size': "6"
  },
  moves: [
    "1. a6 f6",
    "2. d4 c4",
    "3. d3 c3",
    "4. d5 c5",
    "5. d2 Ce4",
    "6. c2 e3",
    "7. e2 b2",
    "8. Cb3 1e4<1",
    "9. 1d3<1 Sd1",
    "10. a3 1d1+1"
  ],
  whiteMoves: [
    "a6", "d4",
    "d3", "d5",
    "d2", "c2",
    "e2", "Cb3",
    "1d3<1", "a3"
  ],
  blackMoves: [
    "f6", "c4",
    "c3", "c5",
    "Ce4", "e3",
    "b2", "1e4<1",
    "Sd1", "1d1+1"
  ]
}

About

Parse PTN (Portable Tak Notation) files

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages