Socket
Socket
Sign inDemoInstall

ampersand-chess-state

Package Overview
Dependencies
3
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.4 to 0.1.5

23

ampersand-chess-state.js

@@ -402,16 +402,17 @@ var raf = require('raf');

var finalPgn = this._finalPgn;
var previous = this.previous('pgn');
var valid = pgn && previous && pgn !== previous;
// The new pgn is a substring of the previous
if (valid && previous.indexOf(pgn) === 0) {
if (!finalPgn) {
return previous;
if (!pgn) {
return finalPgn;
}
// There already is a final pgn
if (finalPgn) {
if (finalPgn.indexOf(pgn) === 0) {
return finalPgn;
}
else if (pgn.indexOf(finalPgn) === 0) {
return pgn;
}
else {
if (finalPgn.indexOf(pgn) === 0) {
return finalPgn;
} else {
return pgn;
}
return pgn;
}

@@ -418,0 +419,0 @@ } else {

{
"name": "ampersand-chess-state",
"description": "An evented chess library for movement, validation and result detection built on Ampersand.js.",
"version": "0.1.4",
"version": "0.1.5",
"author": "Luke Karrys <luke@lukekarrys.com>",

@@ -6,0 +6,0 @@ "bugs": "https://github.com/lukekarrys/ampersand-chess-state/issues",

@@ -522,2 +522,7 @@ var test = require('tape');

chess.undo();
chess.undo();
t.equal(chess.pgn, pgn.replace(' c6 4. a3 a6', ''));
t.equal(chess._finalPgn, pgn);
chess.redo();
t.equal(chess.pgn, pgn.replace(' 4. a3 a6', ''));

@@ -536,2 +541,10 @@ t.equal(chess._finalPgn, pgn);

chess.first();
t.equal(chess.pgn, '');
t.equal(chess._finalPgn, pgn + ' 5. b4 e5');
chess.last();
t.equal(chess.pgn, pgn + ' 5. b4 e5');
t.equal(chess._finalPgn, pgn + ' 5. b4 e5');
chess.pgn = '1. a4 a5 2. b4 b5';

@@ -541,3 +554,18 @@ t.equal(chess.pgn, '1. a4 a5 2. b4 b5');

chess.undo();
chess.undo();
t.equal(chess.pgn, '1. a4 a5');
t.equal(chess._finalPgn, '1. a4 a5 2. b4 b5');
chess.undo();
chess.undo();
t.equal(chess.pgn, '');
t.equal(chess._finalPgn, '1. a4 a5 2. b4 b5');
chess.redo();
chess.redo();
t.equal(chess.pgn, '1. a4 a5');
t.equal(chess._finalPgn, '1. a4 a5 2. b4 b5');
t.end();
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc