UNPKG

node-dijkstra

Version:

A NodeJS implementation of Dijkstra's algorithm

24 lines (20 loc) 601 B
/** * Validate a map to ensure all it's values are either a number or a map * * @param {Map} map - Map to valiadte */ function validateDeep(map) { if (!(map instanceof Map)) { throw new Error(`Invalid graph: Expected Map instead found ${typeof map}`); } map.forEach((value, key) => { if (typeof value === 'object' && value instanceof Map) { validateDeep(value); return; } if (typeof value !== 'number' || value <= 0) { throw new Error(`Values must be numbers greater than 0. Found value ${value} at ${key}`); } }); } module.exports = validateDeep;