From 5cc071b82b8916a9c6fc213599a3714612b5cfcb Mon Sep 17 00:00:00 2001
From: Holden Rohrer
Date: Thu, 16 Jul 2020 12:40:56 -0400
Subject: improved space correctness
Subsections have valid locs, and built-in assumptions are asserted like
a valid loc in a towrite() or the structure of a subsection() call
---
space.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/space.js b/space.js
index 1828dda..65b5355 100644
--- a/space.js
+++ b/space.js
@@ -53,6 +53,7 @@ function Space(){
}
this.towrite = function(){ // Does no splitting or anything like that. Just returns a list of triplets for the write function
+ if (this.loc[0] === undefined) throw "Space.towrite() requires valid loc";
let writes = [];
for (let line = 0; line < this.data.length; line++) for (let chr = 0; chr < this.data[line].length; chr++){
if (this.data[line][chr] == '') continue; // Internal coding for "do not write"
@@ -138,6 +139,7 @@ function Space(){
}
this.subsection = function(range){ // range is a coordinate pair
+ if (range.length !== 2 || range[0].length !== 2) throw "not subsecting a coord pair";
// Similarly excludes this.loc
newspace = new Space();
for (let line=range[0][0]; line