Add node_osrm support for skip_waypoints parameter (#6060)
This commit is contained in:
parent
928867c520
commit
32fb8607e4
@ -4,6 +4,8 @@
|
|||||||
- CHANGED: Add `data_version` field to responses of all services. [#5387](https://github.com/Project-OSRM/osrm-backend/pull/5387)
|
- CHANGED: Add `data_version` field to responses of all services. [#5387](https://github.com/Project-OSRM/osrm-backend/pull/5387)
|
||||||
- FIXED: Use Boost.Beast to parse HTTP request. [#6294](https://github.com/Project-OSRM/osrm-backend/pull/6294)
|
- FIXED: Use Boost.Beast to parse HTTP request. [#6294](https://github.com/Project-OSRM/osrm-backend/pull/6294)
|
||||||
- FIXED: Fix inefficient osrm-routed connection handling [#6113](https://github.com/Project-OSRM/osrm-backend/pull/6113)
|
- FIXED: Fix inefficient osrm-routed connection handling [#6113](https://github.com/Project-OSRM/osrm-backend/pull/6113)
|
||||||
|
- NodeJS:
|
||||||
|
- FIXED: Support `skip_waypoints` in Node bindings [#6060](https://github.com/Project-OSRM/osrm-backend/pull/6060)
|
||||||
- Misc:
|
- Misc:
|
||||||
- CHANGED: missing files list is included in exception message. [#5360](https://github.com/Project-OSRM/osrm-backend/pull/5360)
|
- CHANGED: missing files list is included in exception message. [#5360](https://github.com/Project-OSRM/osrm-backend/pull/5360)
|
||||||
- CHANGED: Do not use deprecated Callback::Call overload in Node bindings. [#6318](https://github.com/Project-OSRM/osrm-backend/pull/6318)
|
- CHANGED: Do not use deprecated Callback::Call overload in Node bindings. [#6318](https://github.com/Project-OSRM/osrm-backend/pull/6318)
|
||||||
|
@ -675,6 +675,22 @@ inline bool argumentsToParameter(const Nan::FunctionCallbackInfo<v8::Value> &arg
|
|||||||
params->generate_hints = Nan::To<bool>(generate_hints).FromJust();
|
params->generate_hints = Nan::To<bool>(generate_hints).FromJust();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Nan::Has(obj, Nan::New("skip_waypoints").ToLocalChecked()).FromJust())
|
||||||
|
{
|
||||||
|
v8::Local<v8::Value> skip_waypoints =
|
||||||
|
Nan::Get(obj, Nan::New("skip_waypoints").ToLocalChecked()).ToLocalChecked();
|
||||||
|
if (skip_waypoints.IsEmpty())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!skip_waypoints->IsBoolean())
|
||||||
|
{
|
||||||
|
Nan::ThrowError("skip_waypoints must be of type Boolean");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
params->skip_waypoints = Nan::To<bool>(skip_waypoints).FromJust();
|
||||||
|
}
|
||||||
|
|
||||||
if (Nan::Has(obj, Nan::New("exclude").ToLocalChecked()).FromJust())
|
if (Nan::Has(obj, Nan::New("exclude").ToLocalChecked()).FromJust())
|
||||||
{
|
{
|
||||||
v8::Local<v8::Value> exclude =
|
v8::Local<v8::Value> exclude =
|
||||||
|
@ -130,7 +130,7 @@ tables.forEach(function(annotation) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('table: ' + annotation + ' throws on invalid arguments', function(assert) {
|
test('table: ' + annotation + ' throws on invalid arguments', function(assert) {
|
||||||
assert.plan(17);
|
assert.plan(18);
|
||||||
var osrm = new OSRM(data_path);
|
var osrm = new OSRM(data_path);
|
||||||
var options = {annotations: [annotation.slice(0,-1)]};
|
var options = {annotations: [annotation.slice(0,-1)]};
|
||||||
assert.throws(function() { osrm.table(options); },
|
assert.throws(function() { osrm.table(options); },
|
||||||
@ -190,6 +190,8 @@ tables.forEach(function(annotation) {
|
|||||||
|
|
||||||
assert.throws(function() { osrm.route({coordinates: two_test_coordinates, generate_hints: null}, function(err, route) {}) },
|
assert.throws(function() { osrm.route({coordinates: two_test_coordinates, generate_hints: null}, function(err, route) {}) },
|
||||||
/generate_hints must be of type Boolean/);
|
/generate_hints must be of type Boolean/);
|
||||||
|
assert.throws(function() { osrm.route({coordinates: two_test_coordinates, skip_waypoints: null}, function(err, route) {}) },
|
||||||
|
/skip_waypoints must be of type Boolean/);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('table: throws on invalid arguments', function(assert) {
|
test('table: throws on invalid arguments', function(assert) {
|
||||||
@ -239,6 +241,20 @@ tables.forEach(function(annotation) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('table: ' + annotation + ' table in Monaco without waypoints', function(assert) {
|
||||||
|
assert.plan(2);
|
||||||
|
var osrm = new OSRM(data_path);
|
||||||
|
var options = {
|
||||||
|
coordinates: two_test_coordinates,
|
||||||
|
skip_waypoints: true, // false is default
|
||||||
|
annotations: [annotation.slice(0,-1)]
|
||||||
|
};
|
||||||
|
osrm.table(options, function(err, table) {
|
||||||
|
assert.strictEqual(table.sources, undefined);
|
||||||
|
assert.strictEqual(table.destinations, undefined);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
test('table: ' + annotation + ' table in Monaco without motorways', function(assert) {
|
test('table: ' + annotation + ' table in Monaco without motorways', function(assert) {
|
||||||
assert.plan(2);
|
assert.plan(2);
|
||||||
var osrm = new OSRM({path: mld_data_path, algorithm: 'MLD'});
|
var osrm = new OSRM({path: mld_data_path, algorithm: 'MLD'});
|
||||||
|
Loading…
Reference in New Issue
Block a user