@connectorvol/chessops 1.0.0 → 2.0.1
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.
- package/dist/{esm/attacks.js → attacks.js} +2 -3
- package/dist/{esm/board.js → board.js} +25 -9
- package/dist/{esm/chess.js → chess.js} +24 -18
- package/dist/{esm/compat.js → compat.js} +1 -2
- package/dist/{esm/debug.js → debug.js} +0 -1
- package/dist/{esm/fen.js → fen.js} +1 -2
- package/dist/{types/index.d.ts → index.d.ts} +6 -3
- package/dist/{esm/index.js → index.js} +1 -2
- package/dist/{esm/pgn.js → pgn.js} +54 -34
- package/dist/pgnOps.svelte.d.ts +31 -0
- package/dist/pgnOps.svelte.js +122 -0
- package/dist/{esm/san.js → san.js} +2 -5
- package/dist/{esm/setup.js → setup.js} +29 -26
- package/dist/{esm/squareSet.js → squareSet.js} +17 -16
- package/dist/{esm/transform.js → transform.js} +10 -14
- package/dist/{esm/types.js → types.js} +0 -1
- package/dist/{esm/util.js → util.js} +0 -1
- package/dist/{types/variant.d.ts → variant.d.ts} +2 -1
- package/dist/{esm/variant.js → variant.js} +21 -26
- package/package.json +31 -59
- package/dist/cjs/attacks.js +0 -152
- package/dist/cjs/attacks.js.map +0 -1
- package/dist/cjs/board.js +0 -143
- package/dist/cjs/board.js.map +0 -1
- package/dist/cjs/chess.js +0 -638
- package/dist/cjs/chess.js.map +0 -1
- package/dist/cjs/compat.js +0 -89
- package/dist/cjs/compat.js.map +0 -1
- package/dist/cjs/debug.js +0 -103
- package/dist/cjs/debug.js.map +0 -1
- package/dist/cjs/fen.js +0 -325
- package/dist/cjs/fen.js.map +0 -1
- package/dist/cjs/index.js +0 -94
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/pgn.js +0 -796
- package/dist/cjs/pgn.js.map +0 -1
- package/dist/cjs/san.js +0 -174
- package/dist/cjs/san.js.map +0 -1
- package/dist/cjs/setup.js +0 -167
- package/dist/cjs/setup.js.map +0 -1
- package/dist/cjs/squareSet.js +0 -206
- package/dist/cjs/squareSet.js.map +0 -1
- package/dist/cjs/transform.js +0 -57
- package/dist/cjs/transform.js.map +0 -1
- package/dist/cjs/types.js +0 -24
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/util.js +0 -104
- package/dist/cjs/util.js.map +0 -1
- package/dist/cjs/variant.js +0 -833
- package/dist/cjs/variant.js.map +0 -1
- package/dist/esm/attacks.js.map +0 -1
- package/dist/esm/board.js.map +0 -1
- package/dist/esm/chess.js.map +0 -1
- package/dist/esm/compat.js.map +0 -1
- package/dist/esm/debug.js.map +0 -1
- package/dist/esm/fen.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/pgn.js.map +0 -1
- package/dist/esm/san.js.map +0 -1
- package/dist/esm/setup.js.map +0 -1
- package/dist/esm/squareSet.js.map +0 -1
- package/dist/esm/transform.js.map +0 -1
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/util.js.map +0 -1
- package/dist/esm/variant.js.map +0 -1
- package/src/attacks.ts +0 -160
- package/src/board.ts +0 -168
- package/src/chess.ts +0 -687
- package/src/compat.ts +0 -120
- package/src/debug.ts +0 -100
- package/src/fen.ts +0 -328
- package/src/index.ts +0 -85
- package/src/pgn.ts +0 -876
- package/src/san.ts +0 -190
- package/src/setup.ts +0 -203
- package/src/squareSet.ts +0 -243
- package/src/transform.ts +0 -49
- package/src/types.ts +0 -93
- package/src/util.ts +0 -116
- package/src/variant.ts +0 -939
- /package/dist/{types/attacks.d.ts → attacks.d.ts} +0 -0
- /package/dist/{types/board.d.ts → board.d.ts} +0 -0
- /package/dist/{types/chess.d.ts → chess.d.ts} +0 -0
- /package/dist/{types/compat.d.ts → compat.d.ts} +0 -0
- /package/dist/{types/debug.d.ts → debug.d.ts} +0 -0
- /package/dist/{types/fen.d.ts → fen.d.ts} +0 -0
- /package/dist/{types/pgn.d.ts → pgn.d.ts} +0 -0
- /package/dist/{types/san.d.ts → san.d.ts} +0 -0
- /package/dist/{types/setup.d.ts → setup.d.ts} +0 -0
- /package/dist/{types/squareSet.d.ts → squareSet.d.ts} +0 -0
- /package/dist/{types/transform.d.ts → transform.d.ts} +0 -0
- /package/dist/{types/types.d.ts → types.d.ts} +0 -0
- /package/dist/{types/util.d.ts → util.d.ts} +0 -0
package/dist/cjs/board.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.boardEquals = exports.Board = void 0;
|
|
4
|
-
const squareSet_js_1 = require("./squareSet.js");
|
|
5
|
-
const types_js_1 = require("./types.js");
|
|
6
|
-
/**
|
|
7
|
-
* Piece positions on a board.
|
|
8
|
-
*
|
|
9
|
-
* Properties are sets of squares, like `board.occupied` for all occupied
|
|
10
|
-
* squares, `board[color]` for all pieces of that color, and `board[role]`
|
|
11
|
-
* for all pieces of that role. When modifying the properties directly, take
|
|
12
|
-
* care to keep them consistent.
|
|
13
|
-
*/
|
|
14
|
-
class Board {
|
|
15
|
-
constructor() { }
|
|
16
|
-
static default() {
|
|
17
|
-
const board = new Board();
|
|
18
|
-
board.reset();
|
|
19
|
-
return board;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Resets all pieces to the default starting position for standard chess.
|
|
23
|
-
*/
|
|
24
|
-
reset() {
|
|
25
|
-
this.occupied = new squareSet_js_1.SquareSet(0xffff, 4294901760);
|
|
26
|
-
this.promoted = squareSet_js_1.SquareSet.empty();
|
|
27
|
-
this.white = new squareSet_js_1.SquareSet(0xffff, 0);
|
|
28
|
-
this.black = new squareSet_js_1.SquareSet(0, 4294901760);
|
|
29
|
-
this.pawn = new squareSet_js_1.SquareSet(0xff00, 16711680);
|
|
30
|
-
this.knight = new squareSet_js_1.SquareSet(0x42, 1107296256);
|
|
31
|
-
this.bishop = new squareSet_js_1.SquareSet(0x24, 603979776);
|
|
32
|
-
this.rook = new squareSet_js_1.SquareSet(0x81, 2164260864);
|
|
33
|
-
this.queen = new squareSet_js_1.SquareSet(0x8, 134217728);
|
|
34
|
-
this.king = new squareSet_js_1.SquareSet(0x10, 268435456);
|
|
35
|
-
}
|
|
36
|
-
static empty() {
|
|
37
|
-
const board = new Board();
|
|
38
|
-
board.clear();
|
|
39
|
-
return board;
|
|
40
|
-
}
|
|
41
|
-
clear() {
|
|
42
|
-
this.occupied = squareSet_js_1.SquareSet.empty();
|
|
43
|
-
this.promoted = squareSet_js_1.SquareSet.empty();
|
|
44
|
-
for (const color of types_js_1.COLORS)
|
|
45
|
-
this[color] = squareSet_js_1.SquareSet.empty();
|
|
46
|
-
for (const role of types_js_1.ROLES)
|
|
47
|
-
this[role] = squareSet_js_1.SquareSet.empty();
|
|
48
|
-
}
|
|
49
|
-
clone() {
|
|
50
|
-
const board = new Board();
|
|
51
|
-
board.occupied = this.occupied;
|
|
52
|
-
board.promoted = this.promoted;
|
|
53
|
-
for (const color of types_js_1.COLORS)
|
|
54
|
-
board[color] = this[color];
|
|
55
|
-
for (const role of types_js_1.ROLES)
|
|
56
|
-
board[role] = this[role];
|
|
57
|
-
return board;
|
|
58
|
-
}
|
|
59
|
-
getColor(square) {
|
|
60
|
-
if (this.white.has(square))
|
|
61
|
-
return "white";
|
|
62
|
-
if (this.black.has(square))
|
|
63
|
-
return "black";
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
getRole(square) {
|
|
67
|
-
for (const role of types_js_1.ROLES) {
|
|
68
|
-
if (this[role].has(square))
|
|
69
|
-
return role;
|
|
70
|
-
}
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
get(square) {
|
|
74
|
-
const color = this.getColor(square);
|
|
75
|
-
if (!color)
|
|
76
|
-
return;
|
|
77
|
-
const role = this.getRole(square);
|
|
78
|
-
const promoted = this.promoted.has(square);
|
|
79
|
-
return { color, role, promoted };
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Removes and returns the piece from the given `square`, if any.
|
|
83
|
-
*/
|
|
84
|
-
take(square) {
|
|
85
|
-
const piece = this.get(square);
|
|
86
|
-
if (piece) {
|
|
87
|
-
this.occupied = this.occupied.without(square);
|
|
88
|
-
this[piece.color] = this[piece.color].without(square);
|
|
89
|
-
this[piece.role] = this[piece.role].without(square);
|
|
90
|
-
if (piece.promoted)
|
|
91
|
-
this.promoted = this.promoted.without(square);
|
|
92
|
-
}
|
|
93
|
-
return piece;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Put `piece` onto `square`, potentially replacing an existing piece.
|
|
97
|
-
* Returns the existing piece, if any.
|
|
98
|
-
*/
|
|
99
|
-
set(square, piece) {
|
|
100
|
-
const old = this.take(square);
|
|
101
|
-
this.occupied = this.occupied.with(square);
|
|
102
|
-
this[piece.color] = this[piece.color].with(square);
|
|
103
|
-
this[piece.role] = this[piece.role].with(square);
|
|
104
|
-
if (piece.promoted)
|
|
105
|
-
this.promoted = this.promoted.with(square);
|
|
106
|
-
return old;
|
|
107
|
-
}
|
|
108
|
-
has(square) {
|
|
109
|
-
return this.occupied.has(square);
|
|
110
|
-
}
|
|
111
|
-
*[Symbol.iterator]() {
|
|
112
|
-
for (const square of this.occupied) {
|
|
113
|
-
yield [square, this.get(square)];
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
pieces(color, role) {
|
|
117
|
-
return this[color].intersect(this[role]);
|
|
118
|
-
}
|
|
119
|
-
rooksAndQueens() {
|
|
120
|
-
return this.rook.union(this.queen);
|
|
121
|
-
}
|
|
122
|
-
bishopsAndQueens() {
|
|
123
|
-
return this.bishop.union(this.queen);
|
|
124
|
-
}
|
|
125
|
-
steppers() {
|
|
126
|
-
return this.knight.union(this.pawn).union(this.king);
|
|
127
|
-
}
|
|
128
|
-
sliders() {
|
|
129
|
-
return this.bishop.union(this.rook).union(this.queen);
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Finds the unique king of the given `color`, if any.
|
|
133
|
-
*/
|
|
134
|
-
kingOf(color) {
|
|
135
|
-
return this.pieces(color, "king").singleSquare();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
exports.Board = Board;
|
|
139
|
-
const boardEquals = (left, right) => left.white.equals(right.white) &&
|
|
140
|
-
left.promoted.equals(right.promoted) &&
|
|
141
|
-
types_js_1.ROLES.every((role) => left[role].equals(right[role]));
|
|
142
|
-
exports.boardEquals = boardEquals;
|
|
143
|
-
//# sourceMappingURL=board.js.map
|
package/dist/cjs/board.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/board.ts"],"names":[],"mappings":"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"}
|