@weshell/chess.js 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +87 -2
  3. package/dist/attack.d.ts +32 -0
  4. package/dist/attack.d.ts.map +1 -0
  5. package/dist/attack.js +103 -0
  6. package/dist/attack.js.map +1 -0
  7. package/dist/board.d.ts +33 -0
  8. package/dist/board.d.ts.map +1 -0
  9. package/dist/board.js +49 -0
  10. package/dist/board.js.map +1 -0
  11. package/dist/chess.d.ts +232 -0
  12. package/dist/chess.d.ts.map +1 -0
  13. package/dist/chess.js +1335 -0
  14. package/dist/chess.js.map +1 -0
  15. package/dist/fen.d.ts +38 -0
  16. package/dist/fen.d.ts.map +1 -0
  17. package/dist/fen.js +308 -0
  18. package/dist/fen.js.map +1 -0
  19. package/dist/hash.d.ts +34 -0
  20. package/dist/hash.d.ts.map +1 -0
  21. package/dist/hash.js +98 -0
  22. package/dist/hash.js.map +1 -0
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/move.d.ts +55 -0
  28. package/dist/move.d.ts.map +1 -0
  29. package/dist/move.js +79 -0
  30. package/dist/move.js.map +1 -0
  31. package/dist/movegen.d.ts +34 -0
  32. package/dist/movegen.d.ts.map +1 -0
  33. package/dist/movegen.js +242 -0
  34. package/dist/movegen.js.map +1 -0
  35. package/dist/node.d.ts +8 -0
  36. package/dist/node.d.ts.map +1 -0
  37. package/dist/node.js +2 -0
  38. package/dist/node.js.map +1 -0
  39. package/dist/notation.d.ts +33 -0
  40. package/dist/notation.d.ts.map +1 -0
  41. package/dist/notation.js +257 -0
  42. package/dist/notation.js.map +1 -0
  43. package/dist/pgn.d.ts +12 -0
  44. package/dist/pgn.d.ts.map +1 -0
  45. package/dist/pgn.js +1347 -0
  46. package/dist/pgn.js.map +1 -0
  47. package/dist/types.d.ts +118 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +237 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +45 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pgn.js","sourceRoot":"","sources":["../src/pgn.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2025, Jeff Hlywa (jhlywa@gmail.com)
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * 1. Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ * this list of conditions and the following disclaimer in the documentation
13
+ * and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
+ * POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+ export declare const WHITE = "w";
28
+ export declare const BLACK = "b";
29
+ export declare const PAWN = "p";
30
+ export declare const KNIGHT = "n";
31
+ export declare const BISHOP = "b";
32
+ export declare const ROOK = "r";
33
+ export declare const QUEEN = "q";
34
+ export declare const KING = "k";
35
+ export type Color = 'w' | 'b';
36
+ export type PieceSymbol = 'p' | 'n' | 'b' | 'r' | 'q' | 'k';
37
+ export type Square = 'a8' | 'b8' | 'c8' | 'd8' | 'e8' | 'f8' | 'g8' | 'h8' | 'a7' | 'b7' | 'c7' | 'd7' | 'e7' | 'f7' | 'g7' | 'h7' | 'a6' | 'b6' | 'c6' | 'd6' | 'e6' | 'f6' | 'g6' | 'h6' | 'a5' | 'b5' | 'c5' | 'd5' | 'e5' | 'f5' | 'g5' | 'h5' | 'a4' | 'b4' | 'c4' | 'd4' | 'e4' | 'f4' | 'g4' | 'h4' | 'a3' | 'b3' | 'c3' | 'd3' | 'e3' | 'f3' | 'g3' | 'h3' | 'a2' | 'b2' | 'c2' | 'd2' | 'e2' | 'f2' | 'g2' | 'h2' | 'a1' | 'b1' | 'c1' | 'd1' | 'e1' | 'f1' | 'g1' | 'h1';
38
+ export declare const DEFAULT_POSITION = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
39
+ export type Piece = {
40
+ color: Color;
41
+ type: PieceSymbol;
42
+ };
43
+ export type InternalMove = {
44
+ color: Color;
45
+ from: number;
46
+ to: number;
47
+ piece: PieceSymbol;
48
+ captured?: PieceSymbol;
49
+ promotion?: PieceSymbol;
50
+ flags: number;
51
+ rookFrom?: number;
52
+ };
53
+ export interface CastlingRookSquares {
54
+ kside: number;
55
+ qside: number;
56
+ }
57
+ export interface History {
58
+ move: InternalMove;
59
+ kings: Record<Color, number>;
60
+ turn: Color;
61
+ castling: Record<Color, number>;
62
+ castlingRooks: Record<Color, CastlingRookSquares>;
63
+ epSquare: number;
64
+ halfMoves: number;
65
+ moveNumber: number;
66
+ }
67
+ export declare const EMPTY = -1;
68
+ export declare const FLAGS: Record<string, string>;
69
+ export declare const SQUARES: Square[];
70
+ export declare const BITS: Record<string, number>;
71
+ export declare const SEVEN_TAG_ROSTER: Record<string, string>;
72
+ /**
73
+ * These nulls are placeholders to fix the order of tags (as they appear in PGN spec); null values will be
74
+ * eliminated in getHeaders()
75
+ */
76
+ export declare const SUPLEMENTAL_TAGS: Record<string, string | null>;
77
+ export declare const HEADER_TEMPLATE: {
78
+ [x: string]: string | null;
79
+ };
80
+ export declare const Ox88: Record<Square, number>;
81
+ export declare const PAWN_OFFSETS: {
82
+ b: number[];
83
+ w: number[];
84
+ };
85
+ export declare const PIECE_OFFSETS: {
86
+ n: number[];
87
+ b: number[];
88
+ r: number[];
89
+ q: number[];
90
+ k: number[];
91
+ };
92
+ export declare const ATTACKS: number[];
93
+ export declare const RAYS: number[];
94
+ export declare const PIECE_MASKS: {
95
+ p: number;
96
+ n: number;
97
+ b: number;
98
+ r: number;
99
+ q: number;
100
+ k: number;
101
+ };
102
+ export declare const SYMBOLS = "pnbrqkPNBRQK";
103
+ export declare const PROMOTIONS: PieceSymbol[];
104
+ export declare const RANK_1 = 7;
105
+ export declare const RANK_2 = 6;
106
+ export declare const RANK_7 = 1;
107
+ export declare const RANK_8 = 0;
108
+ export declare const SIDES: {
109
+ k: number;
110
+ q: number;
111
+ };
112
+ export declare const SECOND_RANK: {
113
+ b: number;
114
+ w: number;
115
+ };
116
+ export declare const TERMINATION_MARKERS: string[];
117
+ export declare const SAN_NULLMOVE = "--";
118
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,237 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2025, Jeff Hlywa (jhlywa@gmail.com)
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * 1. Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ * this list of conditions and the following disclaimer in the documentation
13
+ * and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
+ * POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+ export const WHITE = 'w';
28
+ export const BLACK = 'b';
29
+ export const PAWN = 'p';
30
+ export const KNIGHT = 'n';
31
+ export const BISHOP = 'b';
32
+ export const ROOK = 'r';
33
+ export const QUEEN = 'q';
34
+ export const KING = 'k';
35
+ export const DEFAULT_POSITION = 'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1';
36
+ export const EMPTY = -1;
37
+ export const FLAGS = {
38
+ NORMAL: 'n',
39
+ CAPTURE: 'c',
40
+ BIG_PAWN: 'b',
41
+ EP_CAPTURE: 'e',
42
+ PROMOTION: 'p',
43
+ KSIDE_CASTLE: 'k',
44
+ QSIDE_CASTLE: 'q',
45
+ NULL_MOVE: '-',
46
+ };
47
+ // prettier-ignore
48
+ export const SQUARES = [
49
+ 'a8', 'b8', 'c8', 'd8', 'e8', 'f8', 'g8', 'h8',
50
+ 'a7', 'b7', 'c7', 'd7', 'e7', 'f7', 'g7', 'h7',
51
+ 'a6', 'b6', 'c6', 'd6', 'e6', 'f6', 'g6', 'h6',
52
+ 'a5', 'b5', 'c5', 'd5', 'e5', 'f5', 'g5', 'h5',
53
+ 'a4', 'b4', 'c4', 'd4', 'e4', 'f4', 'g4', 'h4',
54
+ 'a3', 'b3', 'c3', 'd3', 'e3', 'f3', 'g3', 'h3',
55
+ 'a2', 'b2', 'c2', 'd2', 'e2', 'f2', 'g2', 'h2',
56
+ 'a1', 'b1', 'c1', 'd1', 'e1', 'f1', 'g1', 'h1'
57
+ ];
58
+ export const BITS = {
59
+ NORMAL: 1,
60
+ CAPTURE: 2,
61
+ BIG_PAWN: 4,
62
+ EP_CAPTURE: 8,
63
+ PROMOTION: 16,
64
+ KSIDE_CASTLE: 32,
65
+ QSIDE_CASTLE: 64,
66
+ NULL_MOVE: 128,
67
+ };
68
+ /* eslint-disable @typescript-eslint/naming-convention */
69
+ // these are required, according to spec
70
+ export const SEVEN_TAG_ROSTER = {
71
+ Event: '?',
72
+ Site: '?',
73
+ Date: '????.??.??',
74
+ Round: '?',
75
+ White: '?',
76
+ Black: '?',
77
+ Result: '*',
78
+ };
79
+ /**
80
+ * These nulls are placeholders to fix the order of tags (as they appear in PGN spec); null values will be
81
+ * eliminated in getHeaders()
82
+ */
83
+ export const SUPLEMENTAL_TAGS = {
84
+ WhiteTitle: null,
85
+ BlackTitle: null,
86
+ WhiteElo: null,
87
+ BlackElo: null,
88
+ WhiteUSCF: null,
89
+ BlackUSCF: null,
90
+ WhiteNA: null,
91
+ BlackNA: null,
92
+ WhiteType: null,
93
+ BlackType: null,
94
+ EventDate: null,
95
+ EventSponsor: null,
96
+ Section: null,
97
+ Stage: null,
98
+ Board: null,
99
+ Opening: null,
100
+ Variation: null,
101
+ SubVariation: null,
102
+ ECO: null,
103
+ NIC: null,
104
+ Time: null,
105
+ UTCTime: null,
106
+ UTCDate: null,
107
+ TimeControl: null,
108
+ SetUp: null,
109
+ FEN: null,
110
+ Termination: null,
111
+ Annotator: null,
112
+ Mode: null,
113
+ PlyCount: null,
114
+ };
115
+ export const HEADER_TEMPLATE = {
116
+ ...SEVEN_TAG_ROSTER,
117
+ ...SUPLEMENTAL_TAGS,
118
+ };
119
+ /* eslint-enable @typescript-eslint/naming-convention */
120
+ /*
121
+ * NOTES ABOUT 0x88 MOVE GENERATION ALGORITHM
122
+ * ----------------------------------------------------------------------------
123
+ * From https://github.com/jhlywa/chess.js/issues/230
124
+ *
125
+ * A lot of people are confused when they first see the internal representation
126
+ * of chess.js. It uses the 0x88 Move Generation Algorithm which internally
127
+ * stores the board as an 8x16 array. This is purely for efficiency but has a
128
+ * couple of interesting benefits:
129
+ *
130
+ * 1. 0x88 offers a very inexpensive "off the board" check. Bitwise AND (&) any
131
+ * square with 0x88, if the result is non-zero then the square is off the
132
+ * board. For example, assuming a knight square A8 (0 in 0x88 notation),
133
+ * there are 8 possible directions in which the knight can move. These
134
+ * directions are relative to the 8x16 board and are stored in the
135
+ * PIECE_OFFSETS map. One possible move is A8 - 18 (up one square, and two
136
+ * squares to the left - which is off the board). 0 - 18 = -18 & 0x88 = 0x88
137
+ * (because of two-complement representation of -18). The non-zero result
138
+ * means the square is off the board and the move is illegal. Take the
139
+ * opposite move (from A8 to C7), 0 + 18 = 18 & 0x88 = 0. A result of zero
140
+ * means the square is on the board.
141
+ *
142
+ * 2. The relative distance (or difference) between two squares on a 8x16 board
143
+ * is unique and can be used to inexpensively determine if a piece on a
144
+ * square can attack any other arbitrary square. For example, let's see if a
145
+ * pawn on E7 can attack E2. The difference between E7 (20) - E2 (100) is
146
+ * -80. We add 119 to make the ATTACKS array index non-negative (because the
147
+ * worst case difference is A8 - H1 = -119). The ATTACKS array contains a
148
+ * bitmask of pieces that can attack from that distance and direction.
149
+ * ATTACKS[-80 + 119=39] gives us 24 or 0b11000 in binary. Look at the
150
+ * PIECE_MASKS map to determine the mask for a given piece type. In our pawn
151
+ * example, we would check to see if 24 & 0x1 is non-zero, which it is
152
+ * not. So, naturally, a pawn on E7 can't attack a piece on E2. However, a
153
+ * rook can since 24 & 0x8 is non-zero. The only thing left to check is that
154
+ * there are no blocking pieces between E7 and E2. That's where the RAYS
155
+ * array comes in. It provides an offset (in this case 16) to add to E7 (20)
156
+ * to check for blocking pieces. E7 (20) + 16 = E6 (36) + 16 = E5 (52) etc.
157
+ */
158
+ // prettier-ignore
159
+ // eslint-disable-next-line
160
+ export const Ox88 = {
161
+ a8: 0, b8: 1, c8: 2, d8: 3, e8: 4, f8: 5, g8: 6, h8: 7,
162
+ a7: 16, b7: 17, c7: 18, d7: 19, e7: 20, f7: 21, g7: 22, h7: 23,
163
+ a6: 32, b6: 33, c6: 34, d6: 35, e6: 36, f6: 37, g6: 38, h6: 39,
164
+ a5: 48, b5: 49, c5: 50, d5: 51, e5: 52, f5: 53, g5: 54, h5: 55,
165
+ a4: 64, b4: 65, c4: 66, d4: 67, e4: 68, f4: 69, g4: 70, h4: 71,
166
+ a3: 80, b3: 81, c3: 82, d3: 83, e3: 84, f3: 85, g3: 86, h3: 87,
167
+ a2: 96, b2: 97, c2: 98, d2: 99, e2: 100, f2: 101, g2: 102, h2: 103,
168
+ a1: 112, b1: 113, c1: 114, d1: 115, e1: 116, f1: 117, g1: 118, h1: 119
169
+ };
170
+ export const PAWN_OFFSETS = {
171
+ b: [16, 32, 17, 15],
172
+ w: [-16, -32, -17, -15],
173
+ };
174
+ export const PIECE_OFFSETS = {
175
+ n: [-18, -33, -31, -14, 18, 33, 31, 14],
176
+ b: [-17, -15, 17, 15],
177
+ r: [-16, 1, 16, -1],
178
+ q: [-17, -16, -15, 1, 17, 16, 15, -1],
179
+ k: [-17, -16, -15, 1, 17, 16, 15, -1],
180
+ };
181
+ // prettier-ignore
182
+ export const ATTACKS = [
183
+ 20, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 20, 0,
184
+ 0, 20, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 20, 0, 0,
185
+ 0, 0, 20, 0, 0, 0, 0, 24, 0, 0, 0, 0, 20, 0, 0, 0,
186
+ 0, 0, 0, 20, 0, 0, 0, 24, 0, 0, 0, 20, 0, 0, 0, 0,
187
+ 0, 0, 0, 0, 20, 0, 0, 24, 0, 0, 20, 0, 0, 0, 0, 0,
188
+ 0, 0, 0, 0, 0, 20, 2, 24, 2, 20, 0, 0, 0, 0, 0, 0,
189
+ 0, 0, 0, 0, 0, 2, 53, 56, 53, 2, 0, 0, 0, 0, 0, 0,
190
+ 24, 24, 24, 24, 24, 24, 56, 0, 56, 24, 24, 24, 24, 24, 24, 0,
191
+ 0, 0, 0, 0, 0, 2, 53, 56, 53, 2, 0, 0, 0, 0, 0, 0,
192
+ 0, 0, 0, 0, 0, 20, 2, 24, 2, 20, 0, 0, 0, 0, 0, 0,
193
+ 0, 0, 0, 0, 20, 0, 0, 24, 0, 0, 20, 0, 0, 0, 0, 0,
194
+ 0, 0, 0, 20, 0, 0, 0, 24, 0, 0, 0, 20, 0, 0, 0, 0,
195
+ 0, 0, 20, 0, 0, 0, 0, 24, 0, 0, 0, 0, 20, 0, 0, 0,
196
+ 0, 20, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 20, 0, 0,
197
+ 20, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 20
198
+ ];
199
+ // prettier-ignore
200
+ export const RAYS = [
201
+ 17, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 15, 0,
202
+ 0, 17, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 15, 0, 0,
203
+ 0, 0, 17, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0,
204
+ 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0,
205
+ 0, 0, 0, 0, 17, 0, 0, 16, 0, 0, 15, 0, 0, 0, 0, 0,
206
+ 0, 0, 0, 0, 0, 17, 0, 16, 0, 15, 0, 0, 0, 0, 0, 0,
207
+ 0, 0, 0, 0, 0, 0, 17, 16, 15, 0, 0, 0, 0, 0, 0, 0,
208
+ 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, 0,
209
+ 0, 0, 0, 0, 0, 0, -15, -16, -17, 0, 0, 0, 0, 0, 0, 0,
210
+ 0, 0, 0, 0, 0, -15, 0, -16, 0, -17, 0, 0, 0, 0, 0, 0,
211
+ 0, 0, 0, 0, -15, 0, 0, -16, 0, 0, -17, 0, 0, 0, 0, 0,
212
+ 0, 0, 0, -15, 0, 0, 0, -16, 0, 0, 0, -17, 0, 0, 0, 0,
213
+ 0, 0, -15, 0, 0, 0, 0, -16, 0, 0, 0, 0, -17, 0, 0, 0,
214
+ 0, -15, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, -17, 0, 0,
215
+ -15, 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, -17
216
+ ];
217
+ export const PIECE_MASKS = { p: 0x1, n: 0x2, b: 0x4, r: 0x8, q: 0x10, k: 0x20 };
218
+ export const SYMBOLS = 'pnbrqkPNBRQK';
219
+ export const PROMOTIONS = [KNIGHT, BISHOP, ROOK, QUEEN];
220
+ export const RANK_1 = 7;
221
+ export const RANK_2 = 6;
222
+ /*
223
+ * const RANK_3 = 5
224
+ * const RANK_4 = 4
225
+ * const RANK_5 = 3
226
+ * const RANK_6 = 2
227
+ */
228
+ export const RANK_7 = 1;
229
+ export const RANK_8 = 0;
230
+ export const SIDES = {
231
+ [KING]: BITS.KSIDE_CASTLE,
232
+ [QUEEN]: BITS.QSIDE_CASTLE,
233
+ };
234
+ export const SECOND_RANK = { b: RANK_7, w: RANK_2 };
235
+ export const TERMINATION_MARKERS = ['1-0', '0-1', '1/2-1/2', '*'];
236
+ export const SAN_NULLMOVE = '--';
237
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC;IAChD,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACjD,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAG,CAAC,EAAE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACjD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE;CAC/C,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,IAAI,GAAG;IACjB,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAE,CAAC;IAC9D,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;AAE/E,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAA;AAErC,MAAM,CAAC,MAAM,UAAU,GAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;AACvB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;AAEvB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;IACzB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY;CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,47 @@
1
1
  {
2
2
  "name": "@weshell/chess.js",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0",
4
+ "description": "chess.js fork with Chess960 (Fischer Random) support: X-FEN/Shredder castling rights, king-takes-rook move input, and stationary-king castling",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "LICENSE",
18
+ "README.md"
19
+ ],
20
+ "sideEffects": false,
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "scripts": {
25
+ "build": "tsc -p tsconfig.json",
26
+ "test": "node test/smoke.mjs",
27
+ "prepublishOnly": "npm run build && npm test"
28
+ },
29
+ "keywords": [
30
+ "chess",
31
+ "chess960",
32
+ "fischer-random",
33
+ "frc",
34
+ "fen",
35
+ "pgn",
36
+ "x-fen",
37
+ "shredder"
38
+ ],
39
+ "author": "weshell",
40
+ "license": "BSD-2-Clause",
41
+ "devDependencies": {
42
+ "typescript": "~5.9.3"
43
+ },
44
+ "engines": {
45
+ "node": ">=18"
46
+ }
47
+ }