| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- import { Types } from './../../ast/types';
 
- import { StoreObject } from './storeObject';
 
- export class StoreObjectArray extends StoreObject {
 
-   constructor (subtype, lines, columns, value, readOnly) {
 
-     super(Types.ARRAY, value, readOnly);
 
-     this._lines = lines;
 
-     this._columns = columns;
 
-     this._subtype = subtype;
 
-   }
 
-   get lines () {
 
-     return this._lines;
 
-   }
 
-   get columns () {
 
-     return this._columns;
 
-   }
 
-   get subtype () {
 
-     return this._subtype;
 
-   }
 
-   isCompatible (another) {
 
-     if(another instanceof StoreObjectArray) {
 
-       if(this.lines === another.lines &&
 
-         this.columns === another.columns &&
 
-         this.subtype === another.subtype) {
 
-           return super.isCompatible(another);
 
-         }
 
-     }
 
-     return false;
 
-   }
 
-   get isVector () {
 
-     return this.columns === null;
 
-   }
 
-   get isValid () {
 
-     if (this.value !== null) {
 
-       if( this.isVector) {
 
-         if(this.value.length !== this.lines) {
 
-           return false;
 
-         }
 
-         const mustBeNull = this.value.find(v => v.type !== this.subtype);
 
-         if(!!mustBeNull) {
 
-           return false;
 
-         }
 
-       }
 
-       return true;
 
-     } else {
 
-     if(this.lines !== this.value.length) {
 
-       return false;
 
-     }
 
-     for (let i = 0; i < this.lines; i++) {
 
-       for (let j = 0; j < this.columns; j++) {
 
-         const arr = this.value[i];
 
-         if(arr.length !== this.columns) {
 
-           return false;
 
-         }
 
-         const mustBeNull = arr.find(v => v.type !== this.subtype);
 
-         if(!!mustBeNull) {
 
-           return false;
 
-         }            
 
-       }
 
-     }
 
-       return true;
 
-     }
 
-   }
 
- }
 
 
  |