@miketmoore/maze-generator
Version:
This is a javascript library, written in TypeScript that generates a maze data structure.
29 lines (28 loc) • 948 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mazeGenerator = void 0;
const carve_maze_1 = require("./carve-maze");
const isObject = (obj) => {
var type = typeof obj;
return type === 'function' || (type === 'object' && !!obj);
};
const mazeGenerator = (params, strategy = 'iterative') => {
if (Array.isArray(params) || !isObject(params)) {
throw new Error('params must be an object');
}
const { rows, columns } = params;
if (typeof rows !== 'number') {
throw new Error('rows is required');
}
if (rows < 0) {
throw new Error('rows must be a positive integer');
}
if (typeof columns !== 'number') {
throw new Error('columns is required');
}
if (columns < 0) {
throw new Error('columns must be a positive integer');
}
return carve_maze_1.carveMaze(rows, columns, strategy);
};
exports.mazeGenerator = mazeGenerator;