UNPKG

node-heremaps

Version:
61 lines (40 loc) 1.91 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (target) { target.prototype.matrixRouting = matrixRouting; }; var _checkTypes = require('check-types'); var _checkTypes2 = _interopRequireDefault(_checkTypes); var _make_request = require('./utils/make_request'); var _make_request2 = _interopRequireDefault(_make_request); var _assign_params = require('./utils/assign_params'); var _assign_params2 = _interopRequireDefault(_assign_params); var _json_parser = require('./utils/json_parser'); var _json_parser2 = _interopRequireDefault(_json_parser); var _constants2 = require('./config/constants'); var _constants3 = _interopRequireDefault(_constants2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ACCEPTED_PARAMS = _constants3.default.ACCEPTED_PARAMS; var HEREMAPS_ENDPOINTS = _constants3.default.HEREMAPS_ENDPOINTS; var DEFAULT_MODE = "fastest;car;traffic:enabled;"; var DEFAULT_SUMMARY_ATTRS = "traveltime,distance"; function matrixRouting(params, callback) { if (typeof callback !== 'function') { throw new TypeError('callback must be present'); } if (!_checkTypes2.default.object(params)) { return callback(new TypeError('params must be an object')); } params.mode = params.mode || DEFAULT_MODE; params.summaryAttributes = params.summaryAttributes || DEFAULT_SUMMARY_ATTRS; var args = (0, _assign_params2.default)({}, params, ACCEPTED_PARAMS.matrixRouting); if (!_checkTypes2.default.assigned(args.start0)) { return callback(new Error('params.start0 is required')); } if (!_checkTypes2.default.assigned(args.destination0)) { return callback(new Error('params.destination0 is required')); } return (0, _make_request2.default)(this.request, this.config, args, HEREMAPS_ENDPOINTS.matrixRouting, (0, _json_parser2.default)(callback)); }